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

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

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

F = [0 0.250 0.500 0.7500 1];
A = [1.0000 0.5000 0 0 0];
Order = 511;
B = fir2(Order,F,A);
[Hx,W] = freqz(B,1,8192,'whole');
Hx = [Hx(4098:end) ; Hx(1:4097)];
omega = -pi+(2*pi/8192):(2*pi)/8192:pi;

plot(omega,abs(Hx))
xlim([-pi pi])
xlabel('Radians/Sample')
ylabel('Magnitude')

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

y = interp(B,2);
[Hy,W] = freqz(y,1,8192,'whole');
Hy = [Hy(4098:end) ; Hy(1:4097)];

hold on
plot(omega,abs(Hy),'r','linewidth',2)
legend('Original Signal','Upsampled Signal')

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

Смотрите также

| |