Matlab - Filtro de reconstrucción de señal muestreada/cuantificada

   
Vista:

Filtro de reconstrucción de señal muestreada/cuantificada

Publicado por Diego (2 intervenciones) el 18/10/2013 21:05:41
Buenas, tengo ciertos problemas para volver a "recuperar" una señal después de haberla muestreado, y también en el caso después de haberla cualificado uniformemente en X escalones.

¿Es posible un filtro de reconstruccion en matlab, como por ejemplo interpolar con la funcion sinc, para obtener de nuevo la señal original? En el caso de la señal muestreada, propongo un caso sencillo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
%------------------------------------
A = 1; %amplitud
F = 2;  %frecuencia
duracion=1; %duracion de representacion
desfase=0;
t = 0:0.001:duracion;
 
%señal periodica
x=A*sin(2*pi*F*t+desfase);
subplot(2,1,1),plot(t,x,'g');
axis([0 duracion -2*A 2*A]);
hold on
 
%muestreo
Fs= 40;  %%MIN DOS VECES MAYOR QUE LA FRECUENCIA MAX DE LA SEÑAL
Tm= 0:1/Fs:duracion;
h= pulstran(t,Tm,'rectpuls',0.01); %funcion de pulsos unitarios
sampling= h.*x;
 
subplot(2,1,2),plot(t, sampling);
axis([0 duracion -2*A 2*A]);
%-----------------------------------

Mi problema viene aqui:
¿como es posible reconstruir la señal a la original a partir de la señal sampling?


y en el caso de cuantificación de la señal, mi sencillo ejemplo es:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
%------ cuantificacion uniforme---------------
%Partiendo de la señal x de seno del apartado anterior:
 
[I,J]=max(x); %obtiene en I la amplitud maxima
num_niveles=6; %numero de escalones al cuantificar
delta=2*I/num_niveles; %Divide el rango de la señal en escalones uniformes
 
%partition divide el rango de la seÒal en L regiones, porlo que tendra l-1 elementos(los diferentes escalone)
partition=[-1+delta:delta:1-delta];
%asigna un valor a cada region definica con partition(punto medio de cada escalon)
codebook=[-1+(delta/2):delta:1-(delta/2)];
[index,quants,distor]=quantiz(x, partition, codebook);
 
figure,subplot(2,1,1),plot(t,x,'r')
%dibujamos señal original
hold on
plot(t, quants)
%dibujamos los k, correspondiente a lacuantificacion
title('Señal cuantificada');
hold off
 
%------------------------------------------------------

¿como podria recuperar la señal original a partir de la señal quants? ¿ o lo que es lo mismo pasar de digital a analógica discreta en matlab)?


Gracias de antemano, espero que estas dudas sirvan para muchos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Filtro de reconstrucción de señal muestreada/cuantificada

Publicado por manuel (1 intervención) el 09/12/2014 11:30:55
Tu respuesta puedes consultar en: http://utppdiyva.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar