Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Downsampling — Aliasing

Este ejemplo muestra cómo evitar el alias al reducir el muestreo de una señal. Si el soporte espectral de banda base de una señal de tiempo discreto no se limita a un intervalo de anchura $2\pi/M$ radianes, reducción de muestreo por $M$ da como resultado el alias. El alias es la distorsión que se produce cuando se agregan copias superpuestas del espectro de la señal. Cuanto más supere el soporte espectral de banda base de la señal $2\pi/M$ radianes, cuanto más grave sea el alias. Demostrar el alias en una señal reducida por dos. El soporte espectral de banda base de la señal supera $\pi$ radianes de ancho.

Cree una señal con soporte espectral de banda base igual a $3\pi/2$ Radianes. Se utiliza para diseñar la señal.fir2 Trazar el espectro de la señal.

F = [0 0.2500 0.5000 0.7500 1.0000]; A = [1.00 0.6667 0.3333 0 0]; Order = 511; B1 = fir2(Order,F,A); [Hx,W] = freqz(B1,1,8192,'whole'); Hx = [Hx(4098:end) ; Hx(1:4097)]; omega = -pi+(2*pi/8192):(2*pi)/8192:pi;  plot(omega,abs(Hx)) xlim([-pi pi]) grid title('Magnitude Spectrum') xlabel('Radians/Sample') ylabel('Magnitude') 

Usted ve que el soporte espectral de banda base de la señal excede $[-\pi/2,\pi/2]$.

Reducir la muestra de la señal por un factor de 2 y trazar el espectro de la señal reducida con el espectro de la señal original.

y = downsample(B1,2,0); [Hy,W] = freqz(y,1,8192,'whole'); Hy = [Hy(4098:end) ; Hy(1:4097)];  hold on plot(omega,abs(Hy),'r','linewidth',2) legend('Original Signal','Downsampled Signal') text(-2.5,0.35,'\downarrow aliasing','HorizontalAlignment','center') text(2.5,0.35,'aliasing \downarrow','HorizontalAlignment','center') hold off 

Además de una escala de amplitud del espectro, la superposición de réplicas espectrales superpuestas provoca la distorsión del espectro original para $\left|\omega\right|>\pi/2$.

Aumentar el soporte espectral de la banda base de la señal para $[-7\pi/8,7\pi/8]$ y reducir la muestra de la señal en 2. Trazar el espectro original junto con el espectro de la señal reducida.

F = [0 0.2500 0.5000 0.7500 7/8 1.0000]; A = [1.00 0.7143 0.4286 0.1429 0 0]; Order = 511; B2 = fir2(Order,F,A);  [Hx,W] = freqz(B2,1,8192,'whole'); Hx = [Hx(4098:end) ; Hx(1:4097)]; omega = -pi+(2*pi/8192):(2*pi)/8192:pi;  plot(omega,abs(Hx)) xlim([-pi pi])  y = downsample(B2,2,0); [Hy,W] = freqz(y,1,8192,'whole'); Hy = [Hy(4098:end) ; Hy(1:4097)];  hold on plot(omega,abs(Hy),'r','linewidth',2) grid legend('Original Signal','Downsampled Signal') xlabel('Radians/Sample') ylabel('Magnitude') hold off 

El aumento de la anchura espectral da como resultado un alias más pronunciado en el espectro de la señal reducida porque hay más energía de la señal fuera $[-\pi/2,\pi/2]$.

Finalmente, construir una señal con soporte espectral de banda base limitado a $[-\pi/2,\pi/2]$. Reducir la muestra de la señal por un factor de 2 y trazar el espectro de las señales originales y reducidas. La señal reducida es de banda completa, pero la forma del espectro se conserva porque las copias espectrales no se superponen. No hay alias.

F = [0 0.250 0.500 0.7500 1]; A = [1.0000 0.5000 0 0 0]; Order = 511; B3 = fir2(Order,F,A); [Hx,W] = freqz(B3,1,8192,'whole'); Hx = [Hx(4098:end) ; Hx(1:4097)]; omega = -pi+(2*pi/8192):(2*pi)/8192:pi;  plot(omega,abs(Hx)) xlim([-pi pi])  y = downsample(B3,2,0); [Hy,W] = freqz(y,1,8192,'whole'); Hy = [Hy(4098:end) ; Hy(1:4097)];  plot(omega,abs(Hx)) hold on plot(omega,abs(Hy),'r','linewidth',2) grid legend('Original Signal','Downsampled Signal') xlabel('Radians/Sample') ylabel('Magnitude') hold off 

Verá en la figura anterior que se conserva la forma del espectro. El espectro de la señal reducida es una versión estirada y escalada del espectro de la señal original, pero no hay alias.

Consulte también

| |