匹配滤波的matlab性能仿真
匹配滤波器是一种常用的滤波器,它通过与目标信号进行互相关,能够将信号的噪声降低、增加信噪比,在雷达测距、信号恢复等领域中有广泛的应用。
例如在信号与系统的信号矢量空间一章中,例6-7提到了匹配滤波器在测距系统中的应用。本文将对该例题进行matlab性能仿真。
例题中有两种可供选择的发送信号s(t),如图6-22(a)和(b)所示。这两段信号均为线性调频(LFM)信号,但由于其中心频率不同,其特性也不同。我们需要设计一个匹配滤波器,接收回波信号,并根据滤波器输出信号峰值出现的时间折算目标距离。
我们可以借助matlab自带的函数matched-filter来实现匹配滤波功能。该函数需要输入既定的发送信号和接收信号,返回滤波后的信号及其时域。
下面是完整的matlab代码实现:
% 信号长度定义
signal_length = 1024;
% 采样频率定义
sampling_frequency = 1000;
% 两个发送信号
s1 = chirp(linspace(0, 20, signal_length), 0, 20, 200);
s2 = chirp(linspace(0, 20, signal_length), 0, 10, 100);
% 接收信号,分别与两个发送信号进行匹配滤波
r1 = awgn(conv(s1, flipud(s1)), 10, 'measured'