使用带有 Wiener-Hopf 方程的二阶全通滤波器/LMS 进行相位校正

信息处理 过滤器 阶段 全部通过
2022-02-08 01:36:10

我正在研究相位校正算法。谁能帮我理解下图如何用于相位校正:

在此处输入图像描述

此外,对于建议的通道功能如何实际确定信号中的延迟,我尝试了以下方法:

Fs = 306.700*1e+3; % sampling rate 
Fc = 100*1e+3; % central frequency
B = 4*1e+3;  % bandwidth
N = 3072;
T = (N-1)/Fs;
t = 0:1/Fs:T; %time


baseband_signal = chirp(t,-B/2,t(end),B/2)-i*chirp(t,-B/2,t(end),B/2,'linear',90); 

% Modulation
modulated_signal = baseband_signal.*exp(i*2*pi*Fc.*t);
modulated_signal = real(modulated_signal); 
 
% Transmitted signal
tx = modulated_signal.*1.25/max(modulated_signal);
 
% Received signal 
rx = [zeros(1,200) tx]; 
t_received = 0:1/Fs:(length(rx)-1)/Fs;

% Computing equalization filter: rx and tx swapped!
 coeff = channel(rx,tx,20);

% Equalization filtering
 rx_corrected = filter(coeff, 1,  rx);
 
 figure
freqz(coeff)
title('Equalization filter')

figure
plot(t_received,rx,t_received,rx_corrected)
xlabel('Time (s)');
ylabel('Amplitude');
grid on;
legend('initial','corrected')

这里建议的均衡不应该消除相位延迟并使均衡和传输的信号对齐吗?

在此处输入图像描述在此处输入图像描述

1个回答

我实际上看不到下图如何仅用于相位校正,因为它也将具有不可避免的幅度校正。根据定义,全通滤波器将通过所有幅度而不进行修改并且仅改变相位。Time Delay 模块将类似地通过所有幅度而不用线性相位与频率进行修改。输出的最终幅度将是线性相位分量与全通分量的矢量和。由于两者将具有相同的幅度,因此总和将由相位决定(例如,如果有任何频率,其中每个的相位​​与pi弧度将完全取消。结果图可以保持恒定幅度的唯一方法是如果全通滤波器同样具有线性相位(这是微不足道的全通并且进一步不会修改相位以执行相位校正)。

要进行相位校正,您将直接使用全通滤波器(这是它的目的),如上所述,它是一个仅修改相位响应的滤波器。