匹配滤波器是在中频放大器中实现的,在混频器之后,检波器之前。
匹配的概念是指滤波器的性能与信号 s ( t ) s(t) s(t)的特性取得某种一致,使滤波器的输出端的信号瞬时功率与噪声平均功率之比值为最大。
此滤波器的作用在于增强信号分量而同时减弱噪声分量,以满足在某一瞬间使输出端信号幅度与噪声幅度之比增至最大。
设滤波器的输入信号为 s ( t ) + n ( t ) s(t)+n(t) s(t)+n(t),其中 s ( t ) s(t) s(t)是有用信号脉冲, n ( t ) n(t) n(t)是信道噪声,滤波器的输出信号为 s o ( t ) + n o ( t ) s_o(t)+n_o(t) so(t)+no(t),其中 s o ( t ) s_o(t) so(t)是有用信号分量, n o ( t ) n_o(t) no(t)是噪声分量,如下图
设滤波器的转移函数为 H ( j ω ) H(j\omega) H(jω)。希望在某一时刻 t = t m t=t_m t=tm使信噪比最大,取 s o 2 ( t m ) s_o^2(t_m) so2(tm)与 n o 2 ( t m ) n_o^2(t_m) no2(tm)之比以 ρ \rho ρ表示
ρ = s o 2 ( t m ) n o 2 ( t m ) \rho = \frac{s_o^2(t_m)}{n_o^2(t_m)} ρ=no2(tm)so2(tm)
若 s ( t ) s(t) s(t)的傅里叶变换为 S ( j ω ) = F ( s ( t ) ) S(j\omega)=F(s(t)) S(jω)=F(s(t)),则 s o ( t ) s_o(t) so(t)可由下式给出:
s o ( t ) = F − 1 [ S ( j ω ) H ( j ω ) ] = 1 2 π ∫ − ∞ ∞ S ( j ω ) H ( j ω ) e j ω t d ω s_o(t)=F^{-1}[S(j\omega)H(j\omega)]=\frac{1}{2\pi}\int_{-\infty}^{\infty}S(j\omega)H(j\omega)e^{j\omega t}d\omega so(t)=F−1[S(jω)H(jω)]=2π1∫−∞∞S(jω)H(jω)ejωtdω
在
t
m
t_m
tm时刻
s
o
(
t
m
)
=
1
2
π
∫
−
∞
∞
S
(
j
ω
)
H
(
j
ω
)
e
j
ω
t
m
d
ω
s_o(t_m)=\frac{1}{2\pi}\int_{-\infty}^{\infty}S(j\omega)H(j\omega)e^{j\omega t_m}d\omega
so(tm)=2π1∫−∞∞S(jω)H(jω)ejωtmdω
若 n ( t ) n(t) n(t)为白噪声,其功率谱为常数 N N N,输出噪声 n o ( t ) n_o(t) no(t)的功率谱为 ∣ H ( j ω ) ∣ 2 N |H(j\omega)|^2N ∣H(jω)∣2N,由此求出 n o 2 ( t ) ‾ \overline {n_o^2 (t)} no2(t)
n o 2 ( t ) ‾ = = 1 2 π ∫ − ∞ ∞ N ∣ H ( j ω ) ∣ 2 d ω \overline {n_o^2 (t)} = =\frac{1}{2\pi}\int_{-\infty}^{\infty}N|H(j\omega)|^2d\omega no2(t)==2π1∫−∞∞N∣H(jω)∣2dω
因无法确知 n o 2 ( t ) n_o^2 (t) no2(t),以 n o 2 ( t ) ‾ \overline {n_o^2 (t)} no2(t)取代 n o 2 ( t ) n_o^2 (t) no2(t),得到
n o 2 ( t ) ‾ = = N 2 π ∫ − ∞ ∞ ∣ H ( j ω ) ∣ 2 d ω \overline {n_o^2 (t)} = =\frac{N}{2\pi}\int_{-\infty}^{\infty}|H(j\omega)|^2d\omega no2(t)==2πN∫−∞∞∣H(jω)∣2dω
因此得到
ρ = s o 2 ( t m ) n o 2 ( t m ) = ∣ ∫ − ∞ ∞ S ( j ω ) H ( j ω ) e j ω t m d ω ∣ 2 2 π N ∫ − ∞ ∞ ∣ H ( j ω ) ∣ 2 d ω \rho = \frac{s_o^2(t_m)}{n_o^2(t_m)} = \frac{|\int_{-\infty}^{\infty}S(j\omega)H(j\omega)e^{j\omega t_m}d\omega|^2}{2\pi N \int_{-\infty}^{\infty}|H(j\omega)|^2d\omega} ρ=no2(tm)so2(tm)=2πN∫−∞∞∣H(jω)∣2dω∣∫−∞∞S(jω)H(jω)ejωtmdω∣2
式中 s o ( t ) s_o(t) so(t)是实数,所以 s o 2 ( t ) = ∣ s o ( t ) ∣ 2 s^2_o(t)=|s_o(t)|^2 so2(t)=∣so(t)∣2
使用柯西-施瓦茨不等式,借助此式可以给出
∣ ∫ − ∞ ∞ S ( j ω ) H ( j ω ) e j ω t m d ω ∣ 2 ≤ ∫ − ∞ ∞ ∣ S ( j ω ) ∣ 2 d ω ∫ − ∞ ∞ ∣ H ( j ω ) ∣ 2 d ω |\int_{-\infty}^{\infty}S(j\omega)H(j\omega)e^{j\omega t_m}d\omega|^2 \le \int_{-\infty}^{\infty}|S(j\omega)|^2d\omega \int_{-\infty}^{\infty}|H(j\omega)|^2d\omega ∣∫−∞∞S(jω)H(jω)ejωtmdω∣2≤∫−∞∞∣S(jω)∣2dω∫−∞∞∣H(jω)∣2dω
式中等号仅满足以下条件成立
H ( j ω ) = k [ S ( j ω ) e j ω t m ] ∗ H(j\omega) = k[S(j\omega)e^{j\omega t_m}]^* H(jω)=k[S(jω)ejωtm]∗
式中, k k k为任意常数。代入可得到下式:
ρ = s o 2 ( t m ) n o 2 ( t m ) ≤ 1 2 π N ∫ − ∞ ∞ ∣ S ( j ω ) ∣ 2 d ω \rho = \frac{s_o^2(t_m)}{n_o^2(t_m)} \le \frac{1}{2\pi N} \int_{-\infty}^{\infty}|S(j\omega)|^2d\omega ρ=no2(tm)so2(tm)≤2πN1∫−∞∞∣S(jω)∣2dω
滤波器输出端信噪比的最大可能值为
ρ m a x = s o 2 ( t m ) n o 2 ( t m ) ∣ m a x = 1 2 π N ∫ − ∞ ∞ ∣ S ( j ω ) ∣ 2 d ω \rho_{max} = \frac{s_o^2(t_m)}{n_o^2(t_m)}|_{max}=\frac{1}{2\pi N} \int_{-\infty}^{\infty}|S(j\omega)|^2d\omega ρmax=no2(tm)so2(tm)∣max=2πN1∫−∞∞∣S(jω)∣2dω
为取得最大值, H ( j ω ) H(j\omega) H(jω)与 S ( j ω ) S(j\omega) S(jω)之间需要满足等号成立的条件,也即将此式改写为
H ( j ω ) = k S ( − j ω ) e − j ω t m H(j\omega)=kS(-j\omega)e^{-j\omega t_m} H(jω)=kS(−jω)e−jωtm
至此,求出匹配滤波器的冲激响应 h ( t ) h(t) h(t)为
h ( t ) = F − 1 [ H ( j ω ) ] = F − 1 [ k S ( − j ω ) e − j ω t m ] h(t)=F^{-1}[H(j\omega)]=F^{-1}[kS(-j\omega)e^{-j\omega t_m}] h(t)=F−1[H(jω)]=F−1[kS(−jω)e−jωtm]
注意到 S ( − j ω ) S(-j\omega) S(−jω)的傅里叶变换为 s ( − t ) s(-t) s(−t),而 e − j ω t m e^{-j\omega t_m} e−jωtm项表示 t m t_m tm的时移,因此
h ( t ) = k s ( t m − t ) h(t)=ks(t_m-t) h(t)=ks(tm−t)
有用信号 s ( t ) s(t) s(t)的持续时间是受限的。设 s ( t ) s(t) s(t)在区间 ( 0 , T ) (0,T) (0,T)之外为零,如下图(a)所示, s ( t m − t ) s(t_m-t) s(tm−t)可由 s ( t ) s(t) s(t)沿垂直轴反褶并向右平移 t m t_m tm得到,下图(b)-(e)分别给出了 s ( − t ) s(-t) s(−t)以及 s ( t m − t ) s(t_m-t) s(tm−t)的三种情况,即 t m < T t_m < T tm<T, t m = T t_m=T tm=T, t m > T t_m>T tm>T。下图©的波形具有非因果性,为匹配滤波器的物理实现,应选取(d)或(e)的 h ( t ) h(t) h(t)波形。希望观察时间尽可能小,以使判决迅速,因而取 t m = T t_m=T tm=T比 t m > T t_m>T tm>T更合适。同时,系数取 k = 1 k=1 k=1
h ( t ) = s ( T − t ) h(t)=s(T-t) h(t)=s(T−t)
至此,可以得出结论:匹配滤波器的冲激响应使所需信号 s ( t ) s(t) s(t)对垂直轴镜像并向右平移T。这样的线性系统称为匹配滤波器或匹配接收机。从改善系统输出端信噪比的角度考虑,匹配滤波器是线性系统的最佳滤波器。所谓"最佳"仅限于线性系统。
当输入端只加入有用信号 s ( t ) s(t) s(t)时,匹配滤波器输出信号可由下式求出
s o ( t ) = s ( t ) ∗ h ( t ) = s ( t ) ∗ s ( T − t ) = ∫ − ∞ ∞ s ( t − τ ) s ( T − τ ) d τ = R s s ( t − T ) s_o(t)=s(t)*h(t)=s(t)*s(T-t)=\int_{-\infty}^{\infty}s(t-\tau)s(T-\tau)d\tau=R_{ss}(t-T) so(t)=s(t)∗h(t)=s(t)∗s(T−t)=∫−∞∞s(t−τ)s(T−τ)dτ=Rss(t−T)
式中, R s s ( t − T ) R_{ss}(t-T) Rss(t−T)为 s ( t ) s(t) s(t)的自相关函数。可见,匹配滤波器的功能相当于对 s ( t ) s(t) s(t)进行自相关运算,在 t = T t=T t=T时刻取得自相关函数的峰值,而噪声通过滤波器所完成的互相关运算相对于有用信号受到明显抑制。由于上述工作原理,匹配滤波器也称为相关接收机。
可求得在 t = t m = T t=t_m=T t=tm=T时刻输出信号的峰值(取系数 k = 1 k=1 k=1)
s o ( t m ) = s o ( T ) = 1 2 π ∫ − ∞ ∞ ∣ S ( j ω ) ∣ 2 d ω s_o(t_m)=s_o(T)=\frac{1}{2\pi}\int_{-\infty}^{\infty}|S(j\omega)|^2d\omega so(tm)=so(T)=2π1∫−∞∞∣S(jω)∣2dω
也可以求得:
s o ( T ) = ∫ − ∞ ∞ s 2 ( t ) d t s_o(T)=\int_{-\infty}^{\infty}s^2(t)dt so(T)=∫−∞∞s2(t)dt
这一结果与帕塞瓦尔方程完全一致,都等于信号 s ( t ) s(t) s(t)的能量E
s o ( T ) = 1 2 π ∫ − ∞ ∞ ∣ S ( j ω ) ∣ 2 d ω = ∫ − ∞ ∞ s 2 ( t ) d t = E s_o(T)=\frac{1}{2\pi}\int_{-\infty}^{\infty}|S(j\omega)|^2d\omega=\int_{-\infty}^{\infty}s^2(t)dt=E so(T)=2π1∫−∞∞∣S(jω)∣2dω=∫−∞∞s2(t)dt=E
这表明,匹配滤波器输出信号的最大值出现在 t = T t=T t=T时刻,其大小等于信号 s ( t ) s(t) s(t)的能量E。最大值与 s ( t ) s(t) s(t)的波形形状无关,仅与其能量有关。
代码:
代码来源:https://blog.csdn.net/weixin_44618906/article/details/113860107
TimeWidth = 10e-6; %脉冲持续时间10us
BandWidth = 20e6; %线性调频信号的频带宽度20MHz
Fs = 50e6;
Ts = 1/Fs; %采样频率,满足奈奎斯特采样定理
N = fix(TimeWidth/Ts);
f0 = 0; %初始频率
f1 = f0 + BandWidth; %终止频率
t = 0:1/Fs:TimeWidth; %根据结束时间生成时间序列
signal = chirp(t,f0,TimeWidth,f1);
signal = awgn(signal,0,'measured'); %添加白噪声
figure;
plot(t*1e6,signal,'LineWidth',2);
%% 匹配滤波器
% 计算匹配滤波器的冲激响应函数
h = zeros(1,N);
t1 = fix(TimeWidth/Ts);
for tt = 0:N-1
h(tt+1) = signal(t1-tt); %匹配滤波器
end
signal_match = abs(conv(h,signal));
t_match = (0:length(signal_match)-1)/Fs;
figure;
plot(t_match*1e6,signal_match,'LineWidth',2);
%% 求自相关函数
signal_autocorrelation = abs(xcorr(signal));
t_autocorrelation = (0:length(signal_autocorrelation)-1)/Fs;
figure;
plot(t_autocorrelation*1e6,signal_autocorrelation,'LineWidth',2);
运行结果:
参考文献: