匹配滤波的MATLAB仿真。

目录

一、匹配滤波的应用背景

雷达接收机在接受回波信号时,会遇到噪声,同时还会受到各种干扰,例如物体产生的杂波干扰,敌方施加的噪声调制干扰等。为了选择出有用的目标,同时抑制各种噪声和干扰。因此需要对接收机的滤波器进行选择。
滤波器的频带宽度和频率特性影响滤波效果,直接关系到雷达接收机的灵敏度、波形失真等指标。对应于不同的输入信号和噪声干扰,为了使接收机输入端的信号噪声比最大、波形失真最小,滤波器就需要有一个最佳的频带宽度和频率特性,以实现最佳滤波。

二、匹配滤波器的定义

匹配滤波器是在白噪声背景中检测信号的最佳线性滤波器,其输出信噪比可以在某个时刻达到最大。
对于已知的输入信号$S(t)$,其频谱为$S(w)$,匹配滤波器在频域的特性为
$H(w)=kS^{*}(w)exp(-jwt_0)$
其中,$S^{*}(w)$为频谱$S(w)$的共轭值;$k$为滤波器的增益常数,$t_0$是能实现所需的延迟时间,在$t_0$时刻将有信噪比的最大输出。
匹配滤波器在时域的函数为
$h(t)=ks(t_{0}-t)$
其中$s(t_{0}-t)$是输入信号的镜像,与输入信号$s(t)$的波形相同,但从时间$t_0$反转。
在对匹配滤波器进行理论研究时,延时$t_0$和增益常数字$k$可以不予考虑,因此匹配滤波器可以简化为
$H(w)=S^{*}(w)$
$h(t)=s(-t)$
匹配滤波器在输出端给出的最大瞬时信噪比为
$(S/N)_{max}={2E}/{N_{0}}$
其中,$N_0$是输入噪声的谱密度,它是匹配滤波器输入端单位频带的噪声功率;$E$是输入信号能量:
$E=\frac{1}{2\pi}\int_{-\infty}^{\infty}|S(f)|^{2}df=\int_{-\infty }^{\infty }}|S(t)|^{2}$

三、匹配滤波器原理分析

已知的输入信号$S(t)$,其频谱为$S(w)$,根据线性系统分析,输出信号$S_{0}(t)$的频谱$S_{0}(w)$是$S(w)$和$H(w)$的乘积
$S_{0}(w)=S(w)H(w)$ (3.1)
输出信号为
$S_{0}(t)=\frac{1}{2\pi}\int_{-\infty}^{+\infty}S(w)H(w)e^{jwt}dw$ (3.2)
当$t=t_0$时,输出信号达到最大:
$S_{0}(t)_{max}=|\frac{1}{2\pi}\int_{-\infty}^{+\infty}S(w)H(w) dw|$ (3.3)
接收机除了输出信号外,还会输出噪声,噪声功率为
$N=\frac{N_{0}}{2}\int_{-\infty}^{\infty}\frac{1}{2\pi}|H(w)|^{2}dw=\frac{N_{0}}{4\pi}\int_{-\infty}^{\infty}|H(w)|^{2}dw$ (3.4)
其中,$N_0$是输入噪声在正频率轴上的单位带宽噪声功率,积分前的因子1/2是因为积分是从$-\infty$到$\infty$。
因此,在$t=t_0$时,接收机输出的信噪比为
$(\frac{S}{N})_{0}=\frac{|S_{0}(t_{0})|^{2}}{N}$ (3.5)
将3.3和3.4带入3.5,可以得到
$(\frac{S}{N})_{0}=\frac{\int_{-\infty}^{\infty}\frac{1}{2\pi}|H(w)|^{2}dw\frac{1}{2\pi}|S(w)|^{2}dw}{\frac{N_{0}}{4\pi}\int_{-\infty}^{\infty}|H(w)|^{2}dw }$ (3.6)
根据施瓦茨不等式
$|\int_{}^{}P^{*}Qdx|^{2}\leq\int_{}^{}P^{*}Pdx\int_{}^{}Q^{*}Qdx$ (3.7)
只有$P=kQ$时才取到相等,令
$P^{*}=S(t)e^{jwt_{0}}$ (3.8)
$Q=H(w)$ (3.9)
则3.6可写作
$(\frac{S}{N})\leq\frac{\int_{-\infty}^{\infty}\frac{1}{2\pi}|H(w)|^{2}dw\frac{1}{2\pi}|S(w)|^{2}dw}{\frac{N_{0}}{4\pi}\int_{-\infty}^{\infty}|H(w)|^{2}dw }$ (3.10)
约分后得到
$(\frac{S}{N})_{0}\leq\frac{1}{\pi*N_{0}}\int|S(w)|^{2}dw$ (3.11)
因为能量E可表示为
$E=\frac{1}{2\pi}\int|S(w)|^{2}dw=\int|S(t)|^{2}dt$ (3.12)
所以
$(\frac{S}{N})_{max}=\frac{2E}{N_{0}}$ (3.13)
由此可见当一个线性系统的频率响应函数$H(w)$是输入信号的复共轭时(不考虑时域延时),输出信噪比达到最大,这样的滤波器就是匹配滤波器。

四、仿真结果及分析

4.1接收信号生成

选择一个相位调制信号作为接收信号,信号方程为:
$s(t)=cos(10^{6}t+5\times10^{9}t^{2})$
时域波形为

图4.1 接收信号时域波形
接收信号的频谱:

图4.2 接收信号的频谱

4.2 产生高斯白噪声并混合

产生高斯白噪声N,噪声时域波形如下:

图4.3 高斯白噪声时域波形
将接收信号s(t)与噪声N叠加,得到带噪声信号,波形如下:

图4.4 带噪声信号时域波形

4.3 匹配滤波器的时频域特性

匹配滤波器的传递函数H(w)频谱如下:

图4.5 传递函数H(w)频谱
从频域上看,传递函数的频谱H(w)和接收信号频谱S(w)波形一直,该性质可以让滤波器对信号进行极好的过滤,保证原有信号最大化的通过滤波器并处理噪声,从频域上保证了信噪比最大的目的。
传递函数的时域波形h(t)如下:

图4.6 匹配滤波器的时域波形图
通过时域的波形特点,可以看出匹配滤波器的时域相位与输入信号相反,该特点使得输出信号在时域某一时刻达到最大。

4.4 输出信号分析

通过匹配滤波器的输出信号时域波形和频谱如图4.7和图4.8所示。从输出信号的时域波形来看,匹配滤波器可以将信号能量集中,通过一个很高的能量,让检测者知道该复合信号中存在有用的信号。说明信号的信噪比在此时达到了最大,该滤波器对白噪声有着很好的抑制作用。

图4.7 输出信号时域波形

图4.8 输出信号频谱

五、总结和感悟

匹配滤波器的目的是极大程度的提高信号的信噪比,让检测者知道要找的信号是存在的,而不是恢复出原信号的波形。所以在输出结果中,输出信号的时域与接收信号并不相同,这是正常现象。在设计匹配滤波器时,只需要将接收信号的频谱做共轭,相当于时域做反转和相移,就可以得到匹配滤波器的传递函数。

附录(Matlab代码)

close all;
clc;
%产生白噪声(normal)
nt=randn(1,1000);
figure,plot(nt),title('白噪声');
xlabel('n');
ylabel('x(n)');

%s(t)
w0=1000000;
a=1;
k=10000000000;
t=linspace(-0.0001, 0.0001, 1000);
st=a*cos(w0*t+0.5*k*t.*t);
figure,plot(t,st),title('信号');
xlabel('t(s)');
ylabel('s(t)');


%x(t)
xt=nt+st;
figure, plot(t, xt), title('带噪声信号');
xlabel('t(s)');
ylabel('x(t)');

%y(t)
stt1=fft(st);
f=10^7*(1:1000)/1000;
figure, plot(f,stt1), title('信号频谱');

stt2=conj(stt1);%共轭
st2=ifft(stt2);
N=size(st2,2);
for n=1:N;
ht(n+1000)=st2(n);
end;
ht111=ht(1,1001:2000);
yt=conv(ht111,xt);%卷积
t1=10^(-6)*(-999:999)/1000;
figure, plot(t1,yt), title('输出信号');
figure, plot(ht111), title('传递函数时域');
xlabel('t(s)');
ylabel('y(t)');

%H(W)
HW=ifft(ht111);
f=10^7*(1:1000)/1000;
figure, plot(f,HW), title('传递函数');
xlabel('f(Hz)');
ylabel('H(W)');

%Y(W)
YW=ifft(yt);
f=10^7*(-999:999)/1000;
Pyy=YW.* conj(YW) / 1000;
figure, plot(f, Pyy), title('输出频谱');
xlabel('f(Hz)');
ylabel('Pyy');
Last modification:June 5, 2022
If you think my article is useful to you, please feel free to appreciate