信号检测实验报告
- 格式:doc
- 大小:107.50 KB
- 文档页数:7
Harbin Institute of Technology
匹配滤波器实验报告课程名称:信号检测理论
院系:电子与信息工程学院
姓名:高亚豪
学号: 14SD05003
授课教师:郑薇
哈尔滨工业大学
1. 实验目的
通过Matlab 编程实现对白噪声条件下的匹配滤波器的仿真,从而加深对匹配滤波器及其实现过程的理解。通过观察输入输出信号波形及频谱图,对匹配处理有一个更加直观的理解,同时验证匹配滤波器具有时间上的适应性。
2. 实验原理
对于一个观测信号()r t ,已知它或是干扰与噪声之和,或是单纯的干扰,即 这里()r t ,()u t ,()n t 都是复包络,其中0a 是信号的复幅度,()u t 是确知的归一化信号的复包络,它们满足如下条件。
其中E 为信号的能量。()n t 是干扰的均值为0,方差为0N 的白噪声干扰。 使该信号通过一个线性滤波系统,有效地滤除干扰,使输出信号的信噪比在某一时刻0t 达到最大,以便判断信号的有无。该线性系统即为匹配滤波器。
以()h t 代表系统的脉冲响应,则在信号存在的条件下,滤波器的输出为 右边的第一项和第二项分别为滤波器输出的信号成分和噪声成分,即 则输出噪声成分的平均功率(统计平均)为
而信号成分在0t 时刻的峰值功率为
输出信号在0t 时刻的总功率为
上式中输出噪声成分的期望值为0,即0E[()]0t ϕ=,因此输出信号的功率成分中只包含信号功率和噪声功率。
则该滤波器的输出信噪比为
根据Schwartz 不等式有
当且仅当*0()()h cu t ττ=-时等号成立,其中c 为任意非零复常数。此时获得最大信噪比,即
对该式进行0t t τ=-的变量置换,得到
因此,()u t 只有在0t t =时刻之前结束,才能使信噪比达到最大值。即观察时刻0t 需设置在输入信号结束之后,此时022|()|d |()|d 1t u t t u t t +∞
-∞-∞==⎰⎰。则最大信噪比为
综上所述,匹配滤波器的单位冲激响应为*0()()m h cu t ττ=-,对其进行傅里叶变换得到它的频率响应为0j2*()()e ft m H f cU f π-=,其中()U f 输入信号()u t 傅里叶变换。从匹配滤波器的频率响应可以看出,滤波处理不仅对信号的幅度进行了匹配,使输入信号较强的频率成分得到较大的加权,而且将输入信号的非线性相位补偿掉,使输出信号具有线性相位。
3. 实验步骤
(1)设定采样频率、噪声功率等仿真参数,产生输入信号的波形()u t 。
(2)根据()u t 得到匹配滤波器的单位冲激响应()h t 。
(3)生成输入信号,它有()u t 及其延迟叠加构成,即输入信号中存在两个回波。
(4)对输入信号和单位脉冲响应分别进行N 点FFT ,其中N 不小于输入信号和冲激响应的点数之和,将它们的结果相乘,在进行FFT 的逆变换,得到滤波器的输出信号。
(5)生成输出信号的波形图即频谱图。检测输出信号的两个峰值,将它们出现的时间与理论值比较,验证滤波器在时间上的适应性。
4. 实验结果与分析
本实验中采用的仿真参数如下:采样频率为100KHz ,载波频率为2KHz ,信号脉冲宽度为0.015s ,第二个回波信号延迟为0.025s 。
首先,在无噪声干扰的条件下,将有限时间的正弦信号及其延迟输入匹配滤波器,得到各部分仿真波形如下所示:
计算得到的延迟结果为0.025s τ=,与仿真设定值相等。
从图像中可以看出,匹配滤波器的输出有两个峰值,分别对应两个输入信号结束的时刻,且它们之间的时间间隔等于输入信号的延迟时间,验证了匹配滤波器具有时间上的适应性。即当信号存在延迟时,不需要改变滤波器的形式,只需将观察时刻延迟相应的时间即可。
输出信号的幅度谱与输入信号相比,有了更强的对比度,即在较大的频率分量上得到了较大加权,并且输出信号具有线性相位,验证了匹配处理对输入信号进行了幅度匹配和相位匹配。
在有噪声干扰的条件下,仿真得到的结果如下所示,其中噪声平均功率为0.3:
τ=。其中滤波器的频率响应与上面的相同,计算得到的延迟结果为0.025s
在此不再列出。
以上结果说明在该噪声环境下仍能够实现信号的匹配滤波。只是输出信号的相位不再是线性的,这是由于滤波器无法对噪声的相位进行补偿。
仍在该噪声条件下,将输入信号改为线性调频信号,得到的仿真结果为:其它条件不变,只将输入信号改为m序列的二相编码,其码元速率为2Kb/s,伪码周期为31,得到如下结果:
可见,当改变信号波形时,进行相应的匹配滤波可以得到相似的结果,与理论推导结果一致,从而验证了匹配滤波器的幅度和相位匹配特性,以及时间适应性。
5.实验仿真程序
clear all;
close all;
clc;
%仿真参数设定
fs = 1e5; %采样频率100kHz
A = 0.3; %设置噪声平均功率
fo = 2e3; %载波频率2kHz
To = 0.015; %调制脉冲长度0.015s
ts = 1 / fs; %采样周期
td = 0.01; %第二个回波的延时
%df = 1e4; %线性调频信号频率变化率
%rb = 2e3; %二相编码的码元速率
tu = 0 : ts : (To - ts);
% mseq = m_sequence([0, 0, 1, 0, 1], 1);
% [u, tu] = wave(mseq, fs, rb); %m序列二相编码
%u = cos(2 * pi * (fo + df * tu) .* tu); %线性调频信号
u = cos(2 * pi * fo * tu); %回波信号为正弦信号