Filtrar señales antes de submuestrearlas
Este ejemplo muestra cómo filtrar antes de submuestrear para mitigar la distorsión que causa el solapamiento. Puede utilizar decimate o resample para filtrar y submuestrear con una función. Como alternativa, puede aplicar un filtro paso bajo a los datos y, después, utilizar downsample. Cree una señal con soporte espectral de banda base mayor que radianes. Utilice decimate para filtrar la señal con un filtro paso bajo Chebyshev tipo I de décimo orden antes de submuestrear.
Cree la señal y represente el espectro de magnitud.
f = [0 0.2500 0.5000 0.7500 1.0000]; a = [1.00 0.6667 0.3333 0 0]; nf = 512; b = fir2(nf-1,f,a); Hx = fftshift(freqz(b,1,nf,"whole")); omega = -pi:2*pi/nf:pi-2*pi/nf; plot(omega/pi,abs(Hx)) grid xlabel("\times\pi rad/sample") ylabel("Magnitude")

Filtre la señal con un filtro paso bajo Chebyshev tipo I de décimo orden y submuestréelo por 2. Represente los espectros de magnitud de la señal original junto con la señal filtrada y submuestreada. El filtro paso bajo reduce la cantidad de distorsión de solapamiento fuera del intervalo .
y = decimate(b,2,10); Hy = fftshift(freqz(y,1,nf,"whole")); hold on plot(omega/pi,abs(Hy)) legend("Original","Downsampled")
