首页 > 编程知识 正文

神经网络匹配滤波器,脉冲成型和匹配滤波

时间:2023-05-05 03:51:18 阅读:58417 作者:2656

[TOC]

匹配滤波器原理匹配滤波器(match filter )是一种最佳线性滤波器,该滤波器的判据是输出信噪比最大,常用于通信、雷达等系统的接收机。 下面,导出其冲激响应/系统函数。 该滤波器传递函数为h(f ),脉冲响应为h ) t ),输入信号为

r(t )=s (t ) r(t ) )。

这里,s(t )是输入信号,s(t )是高斯白噪声。 将输入信号频谱密度函数设为s[f],

高斯白噪声的单边功率谱为n0/2,其中n0为高斯白噪声的单边功率谱密度。 图1.1表示该信号通过匹配滤波器的输出

图1.1匹配滤波器

这里s0(t )是信号的输出,其大小为

s0(t )=h ) f ) s ) f ) ej2ftdf

另外,输出高斯白噪声功率谱密度是将输入白噪声的功率谱密度乘以系统传递函数的模式值的平方而得到的值,即输出噪声功率

n0=n02|h(f )|2df

因此,在采样时刻t0,输出信号瞬时功率与噪声平均功率之比

R0=|S0(T0 )|2N0=|H(F ) s ) f ) EJ2ftdf|2N02|H ) f ) 2df

利用施瓦茨不等式

|F1(x ) F2 ) x ) dx|2|F1 ) x )|2dx|F2 ) x ) 2dx

该等式仅在f1(x )=KF2 ) x )时取最大值。 其中k是任意常数。

那么,我们假设f1(x )=h ) f )、f1(x )=h ) f ) ej2ft0。 有

r0|h(f )|2df|s(f )|2dfn02|h ) f ) 2df=|s ) f )|2dfn02=2En0

其中,e是信号的能量。 而且不碍事

h(f )=ks ) f ) e2ft0

时,r0获取最大值。

如果对h(f )执行逆FFT变换,则获得滤波器的冲激响应

h(t )=ks ) t0t ) )。

从以上方程可以看出,匹配滤波器的冲激响应是信号s[t]的镜像,并且仅仅存在一个t0的延迟。

也可以把匹配滤波器的过程看作求相关性的过程。 当信号在时间t0处输入到滤波器时,执行滤波器系数和卷积相当于确定自相关,明显大于白噪声与滤波器系数之间的互相关,此时信噪比最大。 匹配滤波器的仿真

匹配滤波器在通信和雷达等系统中有很多应用,其中以雷达系统中的脉冲压缩为典型,本文以雷达系统中的脉冲压缩(pulse compress )为例进行仿真。

在雷达目标检测中,希望距离分辨率和检测威力足够大。 另一方面,距离分辨率与发送波形的时宽成反比,检测威力(能量)与发送波形的时宽成正比。 如果发送波形为方形波,则宽度和带宽b的积约为1,表示距离分辨率和检测威力矛盾。 如果此时使用线性调频信号,就可以很好地解决这个矛盾。 公式如下。

s(t )=AEJ[) b/) T2 ) t]

这里,a是振幅,b是线性调频信号带宽,是线性调频信号时宽。 (t )是回波携带的目标、噪声、噪声的相位。

利用上一节对匹配滤波器的冲激响应的导出,令k=1、t0=0,匹配滤波器的系数为

h(t )=s (t ) )。

接着,对脉冲压缩进行仿真。 模拟参数设定以下参数取值。 在信号带宽4MHz信号的情况下,宽度200s的脉冲周期2ms的采样频率20MHz的信噪比20dB的目标距离Tfs/2的目标被放置在回波中间距离单元中

下图为下变频后线性调频信号的实虚部。

图2.1线性调频信号

下图模拟回波,在回波距离中段添加目标,添加高斯白噪声。

图2.2回波信号

接下来生成匹配滤波器的系数,根据上面的理论获得的滤波系数幅度特性和相位特性如下。

图2.3滤波器振幅/相位频率特性

从表达式可以看出,滤波器的幅度特性必须与线性调频信号的幅度特性一致,相位特性也满足平方律,并且相位与线性调频信号相反。

下图为过滤后的结果。

图2.4脉压结果分贝图(无窗) ) ) )。

过滤结果如下

sinc 函数,其主副瓣比为 13.4dB ,而在实际雷达目标检测中,过高的副瓣会导致干扰和杂波对目标提取的影响。故考虑对滤波器系数进行时域加窗,加海明窗,得到如下结果。



图2.4 脉压结果分贝图(加汉明窗)

此时主副比可达到 41.1dB ,但是此时主瓣宽度会有一定的展宽,而且由于加窗的影响,会导致系数失配,造成一定的信噪比损失(标准情况下1.47dB)。

匹配滤波器实现

通常采用FPGA或DSP来实现匹配滤波器,具体有时域和频域两种实现方法。
时域实现通常用于采样率不高,滤波器系数点数较少的情况,利用卷积方式完成滤波。通常FPGA中该种方式使用较多,因为采用该种方式,可以对回波进行连续处理,无需对数据进行存储。在乘累加过程中,采用提升运算时钟频率或以面积换时间的方式,可以较好的完成处理。
而当采样率较高的情况下,为节省运算量,通常采用频域的方式完成滤波运算,具体流程图如下。




图3.1 频域滤波

频域脉压FPGA实现:
首先将滤波器系数量化后存至ROM,调用FFT IP核完成回波的FFT处理,接着将回波FFT结果与滤波器系数进行点乘,最后再次利用FFT IP核完成点乘结果的IFFT运算(配置成逆FFT方式)。在运算过程中注意定点数的动态问题,及时进行截位。
频域脉压DSP实现:
DSP实现流程与FPGA大致一致,首先将滤波器浮点系数存至内存数组中,并利用FFT函数完成回波信号FFT,接着与系数进行点乘,而某些型号DSP函数库不提供IFFT函数,自己编写一方面比较繁杂,要满足不同点数,另一方面自己编写的函数优化程度可能也不及函数库内的函数。此时可考虑复用FFT函数。具体复用方式见如下推导。
DFT定义:

X(k)=∑n=0N−1x(n)e−j2πkn/N
IDFT定义:
x(n)=1N∑k=0N−1X(k)ej2πkn/N=1N[∑k=0N−1X∗(k)e−j2πkn/N]∗=1NDFT(X∗(k))
由上式可知,将点乘结果取共轭,并调用FFT函数完成FFT运算,最后除以FFT点数即可得到滤波结果。

仿真代码附录 %% Pulse Compressclear all; close all; clc;% LFM parameterB = 4e+6; % 4MHz带宽Tao = 200e-6; % 200us时宽T = 2e-3; % 2ms脉冲重复周期 fs = 8e+6; %采样频率SNR = 20; % 信噪比20dBdis = T*fs/2; % 将目标设置在回波中间处% Generate LFMt = -round(Tao*fs/2):1:round(Tao*fs/2)-1; % 脉冲采样点 lfm = (10^(SNR/20))*exp(1i*pi*B/Tao*(t/fs).^2);figure;subplot(2,1,1); plot(real(lfm),'b'); title('线性调频信号实部');subplot(2,1,2); plot(imag(lfm),'r'); title('线性调频信号虚部');% Generate echoecho = zeros(1,T*fs);echo(dis:1:dis+Tao*fs-1) = lfm;noise = normrnd(0,1,1,T*fs) + 1i*normrnd(0,1,1,T*fs);echo = echo + noise;figure;subplot(2,1,1); plot(real(echo),'b'); title('回波信号实部');subplot(2,1,2); plot(imag(echo),'r'); title('回波信号虚部');% Generate filter coeffcoeff = conj(fliplr(lfm)).* hamming(Tao*fs).'; %翻转共轭/加汉明窗figure; freqz(coeff);% pulse compressfft_n = 2^(floor(log2(T*fs)) + 1);pc_res = ifft(fft(echo,fft_n).*fft(coeff,fft_n)); % 未截取不完全滤波点figure;plot(db(abs(pc_res)/max(abs(pc_res))),'r'); title('脉压结果分贝图');

参考文献:
[1] 《通信原理(第七版)》mhdpd,典雅的向日葵编著;
[2] 《现代雷达系统分析与设计》激动的战斗机编著。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。