exponenta event banner

Фильтрация после повышения дискретизации - интерполяция

В этом примере показано, как увеличить частоту сигнала и применить фильтр интерполяции нижних частот с помощью interp. Повышающая дискретизация по L вставляет L - 1 нулей между каждым элементом исходного сигнала. Повышающая выборка может создавать артефакты визуализации. Фильтрация нижних частот после повышающей дискретизации может удалить эти артефакты изображения. Во временной области фильтрация нижних частот интерполирует нули, вставленные посредством повышающей дискретизации.

Создайте дискретно-временной сигнал, спектральная поддержка основной полосы частот которого равна [-λ/2, λ/2]. Постройте график амплитудного спектра.

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')

Figure contains an axes. The axes contains an object of type line.

Скопируйте сигнал и примените фильтр нижних частот для удаления артефактов изображения. Постройте график амплитудного спектра. Повышающая дискретизация все еще сжимает спектр, но артефакты изображения удаляются фильтром нижних частот.

y = interp(b,2);
Hy = fftshift(freqz(y,1,nf,'whole'));

hold on
plot(omega/pi,abs(Hy))
hold off
legend('Original','Upsampled')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Original, Upsampled.

См. также

| |