匹配滤波器的实验.docx
《匹配滤波器的实验.docx》由会员分享,可在线阅读,更多相关《匹配滤波器的实验.docx(11页珍藏版)》请在冰豆网上搜索。
匹配滤波器的实验
2010年秋季学期研究生课程考核
(阅读报告、研究报告)
考核科目:
科学技术哲学
学生所在院(系):
电气工程及自动化学院
学生所在学科:
仪器科学与技术
学生姓名:
李海洋
学号:
10S001049
学生类别:
工学硕士
考核结果
阅卷人
匹配滤波器的设计与验证实验报告
实验目的:
1、了解匹配滤波器的基本原理;
2、掌握如何设计一个传输系统的匹配滤波器;
3、深刻认识匹配滤波器的一些实际应用;
实验原理:
设线性滤波器输入端输入的信号与噪声的混合波形为
并假定噪声为白噪声,其功率谱密度
,而信号
的频谱函数为
,即
。
我们要求线性滤波器在某时刻
上有最大的信号瞬时功率与噪声平均功率的比值。
现在就来确定在上述最大输出信噪比准则下的最佳线性滤波器的传输特性
。
这就是最佳线性滤波器的传输特性。
式中,
即为
的复共轭。
在白噪声干扰的背景下,按式(8.7-3)设计的线性滤波器,将能在给定时刻
上获得最大的输出信噪比
。
这种滤波器就是最大信噪比意义下的最佳线性滤波器。
由于它的传输特性与信号频谱的复共轭相一致(除相乘因子
外),故又称其为匹配滤波器。
匹配滤波器的传输特性
当然还可用它的冲激响应
来表示,这时有:
由此可见,匹配滤波器的冲激响应便是信号
的镜像信号
在时间上再平移
。
为了获得物理可实现的匹配滤波器,要求当
时有
。
为了满足这个条件,就要满足:
这个条件表明,物理可实现的匹配滤波器,其输入端的信号
必须在它输出最大信噪比的时刻
之前消失(等于零)。
这就是说,若输入信号在
瞬间消失,则只有当
时滤波器才是物理可实现的。
一般总是希望
尽量小些,故通常选择
。
顺便指出,当我们专门关心匹配滤波器的输出信号波形时,它可表示为
由此可见,匹配滤波器的输出信号波形式输入信号的自相关函数的K倍。
至于常数
,实际上它是可以任意选取的,因为
与
无关。
因此,在分析问题时,可令
。
实验过程
1.产生1000点的白噪声nt,所用命令nt=randn(1,1000)(如图一)
2.产生1000点的有用信号st,st的角频率是8000pi,相位是时间的函数0.5*k*t.*t,幅度是1的余弦函数。
具体信号形式st=a*cos(w*t+0.5*k*t.*t);(如图二)
3.产生和信号xt=st+nt(如图三)
图一
图二
图三
4.根据公式
,求出匹配滤波器的数学表示形式。
由于表达式中有共轭计算,而信号的时域函数式无法进行共轭表示,所以要把信号变道频域中,才能出现所要的共轭形式,所以现对信号进行fourier变换,对变换的谱取共轭,再进行fourier反变换,再把反变换的信号即已经取完时域共轭的信号进行时间轴的平移,即可得到匹配滤波器ht111的时域数学表示形式。
这里用到MATLAB指令有fft(离散fourier变换),conj(共轭计算),ifft(离散fourier反变换)
5.用conv(卷积)命令,将xt与ht111进行卷积,看输出结果。
6.对匹配滤波器函数和输出函数分别取fft变换,可得传递函数普,和输出信号频谱。
传递函数
输出函数谱
至此实验完成。
(程序以附录的形式出现)
实验结论
输入混合信号经过匹配滤波器后,输出信号的确在t=0处出现了最大值,且其它点的函数值远小于t=0时刻的值,这便证明了匹配滤波器能给出最大输出信噪比,最有利于信号的检测。
实验讨论
本实验采用的有用信号是st=a*cos(w*t+0.5*k*t.*t),这是一个相位随时间连续变化的余弦信号,若实验采用一个相位不随时间改变的正弦或余弦信号,则会出现下列情况。
以下的实验步骤与上面所述完全相同,故只呈现最后结果。
可见该输出信号也在t=0时刻出现了最大值即最大输出信噪比,所以证明了匹配滤波器的检测能力与输入信号波形无关,只与信号能量有关;或者说,在同样的白噪声干扰条件下,只要信号能量相同,并实现匹配滤波,则任何信号形式都能给出相同的检测能力。
附录(实验源程序)
%随即白噪声(normal)
nt=randn(1,1000);
figure,plot(nt),title('白噪声');
xlabel('n');
ylabel('x(n)');
%s(t)
w=8000*pi;
k=10000000;
a=1;
t=linspace(-0.002,0.002,1000);
st=a*cos(w*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);
stt2=conj(stt1);%¹²éî
st2=ifft(stt2);
N=size(st2,2);
forn=1:
N;
ht(n+1000)=st2(n);
end;
ht111=ht(1,1001:
2000);
yt=conv(ht111,xt);%¾í»ý
t1=0.5*10^(-5)*(-999:
999)/1000;
figure,plot(t1,yt),title('输出信号');
%H(W)
HW=fft(ht111);
f=10^6*(1:
1000)/1000;
figure,plot(f,HW),title('传递函数');
xlabel('f(Hz)');
ylabel('H(W)');
%Y(W)
YW=fft(yt);
f=10^6*(-999:
999)/1000;
Pyy=YW.*conj(YW)/1000;
figure,plot(f,Pyy),title('输出频谱');
xlabel('f(Hz)');
ylabel('Pyy');