Borrar filtros
Borrar filtros

Can analog to digital conversion is implemented in matlab (not simulink)?

4 visualizaciones (últimos 30 días)
clear;
clc;
data_size=100;
M=2;
freq_sep=500;
nsamp=6;
fs=10000;
y=wavread('voice');
partition=[-.8,-.6,-.5,-.4,-.3,-.2,-.1,0,.1,.2,.3,.4,.5,.6,.8];
codebook=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];
% Now optimize, using codebook as an initial guess.
[partition2,codebook2] = lloyds(y,codebook);
[index,quants,distor] = quantiz(y,partition,codebook);
[index2,quant2,distor2] = quantiz(y,partition2,codebook2);
%Compare mean square distortions from initial and optimized
[distor, distor2] % parameters.
quantization=dec2bin(quants,4);
x=str2num(quantization,1);
fsk_mod=fskmod(x,M,freq_sep,nsamp,fs);
noise=awgn(fsk_mod,0);
fsk_demod=fskdemod(noise,M,freq_sep,nsamp,fs);
[num,rate]=biterr(quants,fsk_demod)
%sound(fsk_demod)

Respuesta aceptada

Walter Roberson
Walter Roberson el 8 de Mayo de 2012
Analog to digital conversion requires hardware to do the conversion, and so cannot be done by the MATLAB programming language itself. However, MATLAB offers interfaces to a number of kinds of A/D hardware, anywhere from microphone input to high-speed external-triggered boards. The more complex facilities are part of the Data Acquisition Toolbox.
If you could be more specific about your A/D hardware or about your conversion needs, someone might be able to offer more specific assistance.
  5 comentarios
Walter Roberson
Walter Roberson el 9 de Mayo de 2012
Have you considered reading the file using the 'native' option of wavread() ? You would probably (but not certainly) get an integer data stream as a result instead of a floating point stream. Then if you have the signal processing toolbox (I think it is), de2bi() to get the corresponding numeric bits for each integer.
Mubasher
Mubasher el 9 de Mayo de 2012
thanks. It helped me alot. I should start reading things more.

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 9 de Mayo de 2012
dec2bin() does not produce binary. dec2bin() produces character strings. "binary" as needed for signal processing is always numeric, never character. You must stop using dec2bin() and use something else instead, or you must find a way of converting the output of dec2bin() into numeric binary.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by