В этом примере показано, как избежать наложения при понижающей дискретизации сигнала. Если спектральная поддержка сигнала дискретного времени не ограничена интервалом ширины радианах, понижающая дискретизация на приводит к наложению. Наложение - это искажение, возникающее при сложении перекрывающихся копий спектра сигнала. Чем больше спектральная поддержка сигнала в основной полосе превышает радиан, тем сильнее сглаживание. Продемонстрируйте совмещение в сигнале, уменьшенном на два. Спектральная поддержка сигнала в основной полосе превышает радиан в ширину.
Создайте сигнал со спектральной поддержкой основной полосы, равной радиан. Использовать fir2 для проектирования сигнала. Постройте график спектра сигнала. Спектральная поддержка сигнала в полосе модулирующих частот превышает ].
f = [0 0.2500 0.5000 0.7500 1.0000]; a = [1.00 0.6667 0.3333 0 0]; nf = 512; b1 = fir2(nf-1,f,a); Hx = fftshift(freqz(b1,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')

Выполните дискретизацию сигнала с коэффициентом 2 и постройте график спектра сигнала с пониженной выборкой со спектром исходного сигнала. В дополнение к амплитудному масштабированию спектра, наложение перекрывающихся спектральных реплик вызывает искажение исходного спектра для λ/2.
y = downsample(b1,2,0); Hy = fftshift(freqz(y,1,nf,'whole')); hold on plot(omega/pi,abs(Hy)) hold off legend('Original','Downsampled') text(2.5/pi*[-1 1],0.35*[1 1],{'\downarrow Aliasing','Aliasing \downarrow'}, ... 'HorizontalAlignment','center')

Увеличьте спектральную поддержку сигнала в основной полосе до и уменьшите значение сигнала на 2. Постройте график исходного спектра вместе со спектром сигнала с пониженной дискретизацией. Увеличенная спектральная ширина приводит к более выраженному сглаживанию в спектре сигнала с пониженной дискретизацией, потому что больше энергии сигнала находится вне ].
f = [0 0.2500 0.5000 0.7500 7/8 1.0000]; a = [1.00 0.7143 0.4286 0.1429 0 0]; b2 = fir2(nf-1,f,a); Hx = fftshift(freqz(b2,1,nf,'whole')); plot(omega/pi,abs(Hx)) grid xlabel('\times\pi rad/sample') ylabel('Magnitude') y = downsample(b2,2,0); Hy = fftshift(freqz(y,1,nf,'whole')); hold on plot(omega/pi,abs(Hy)) hold off legend('Original','Downsampled')

Наконец, создайте сигнал со спектральной поддержкой основной полосы частот, ограниченной ]. Выполните отсчет сигнала с коэффициентом 2 и постройте график спектра исходного сигнала и сигнала с пониженной дискретизацией. Сигнал с пониженной дискретизацией является полным диапазоном. Спектр сигнала с пониженной дискретизацией является растянутой и масштабированной версией исходного спектра, но форма сохраняется, поскольку спектральные копии не перекрываются. Наложение псевдонимов отсутствует.
f = [0 0.250 0.500 0.7500 1]; a = [1.0000 0.5000 0 0 0]; b3 = fir2(nf-1,f,a); Hx = fftshift(freqz(b3,1,nf,'whole')); plot(omega/pi,abs(Hx)) grid xlabel('\times\pi rad/sample') ylabel('Magnitude') y = downsample(b3,2,0); Hy = fftshift(freqz(y,1,nf,'whole')); hold on plot(omega/pi,abs(Hy)) hold off legend('Original','Downsampled')

downsample | fir2 | freqz