В этом примере показано, как сверхдискретизировать сигнал и применить фильтр интерполяции 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')