Этот пример показывает, как усилить сигнал и применить lowpass интерполяционный фильтр с interp
. Усиление дискретизации L вставляет L - 1 нули между каждым элементом исходного сигнала. Увеличение дискретизации может создать программные продукты визуализации. Фильтрация Lowpass после увеличения дискретизации может удалить эти программные продукты визуализации. Во временном интервале фильтрация lowpass интерполирует нули, вставленные с помощью увеличения дискретизации.
Создайте сигнал в дискретном времени, чья спектральная поддержка основной полосы частот . Постройте график спектра величин.
f = [0 0.250 0.500 0.7500 1]; a = [1.0000 0.5000 0 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')
Усильте сигнал и примените lowpass фильтр, чтобы удалить программные продукты визуализации. Постройте график спектра величин. Увеличение дискретизации все еще сжимает спектр, но программные продукты изображения удаляются фильтром lowpass.
y = interp(b,2); Hy = fftshift(freqz(y,1,nf,'whole')); hold on plot(omega/pi,abs(Hy)) hold off legend('Original','Upsampled')