匹配滤波原理讲解

姓名:王岩星;学号:20021210896;学院:电子工程学院

转自:https://blog.csdn.net/weiweiwanye/article/details/53572508

题目:匹配滤波讲解及代码实现

【嵌牛导读】匹配滤波器(match filter)是最佳线性滤波器的一种,也是雷达信号处理中最常用的一种滤波器,本文将对匹配滤波的原理进行讲解并结合matlab代码进行仿真

【嵌牛提问】为什么在信号处理中要使用匹配滤波,它带来了哪些方面的显著提升?

【嵌牛鼻子】匹配滤波(脉冲压缩)

【嵌牛正文】

        设该滤波器传递函数为H(f),冲激响应为h(t),输入信号为

                                                                                            r(t)=s(t)+n(t)

其中 s(t)s(t)为输入信号, n(t)n(t)为高斯白噪声。设输入信号的频谱密度函数为 S(f),而高斯白噪声的单边功率谱为 n_{0} /2,其中 n_{0} 为高斯白噪声单边功率谱密度。 该信号通过匹配滤波器输出如图1所示


图1 匹配滤波器

其中s_{0} (t)为信号的输出,其大小为

                                                                    s_{0} (t)=\int_{−∞}^{+∞} H(f)S(f)exp(j2πft) df

而又已知输出高斯白噪声的功率谱密度等于输入白噪声的功率谱密度乘以系统传递函数模值的平方,即输出噪声功率为

                                                                        N_{0} =\frac{n_{0} }{2} \int_{−∞}^{+∞} \vert H(f) \vert^2   df

        因此,在采样时刻 t0t0上,输出信号瞬时功率和噪声平均功率之比为

                                                        r_{0}=\frac{\vert s_{0} (t_{0} )\vert^2}{N_{0} }  =\frac{ \vert \int_{−∞}^{+∞} H(f)S(f)exp(2πft) df \vert^2 }{\frac{n_{0} }{2} \int_{−∞}^{+∞} \vert H(f) \vert^2   df}

        利用施瓦兹不等式

                                                      \vert \int_{−∞}^{+∞}f_{1}(x) f_{2}(x)  df\vert ≤ \int_{−∞}^{+∞}  \vert f_{1}(x) \vert^2   df \int_{−∞}^{+∞}  \vert f_{2}(x) \vert^2   df

该等式当且仅当 f_{1} (x)=kf_{2}^∗(x)时取最大值,其中 k为任意常数。

        那么我们认为f_{1} (x)=H(f), f_{1} (x)=H(f)exp(j2πft_{0} )。则有

其中 E为信号的能量。而且当且仅当

时,r_{0}取得最大值。

        对H(f)求逆FFT变换,可得滤波器的冲激响应

                                                                                            h(t)=ks^* (t_{0} -t)

由上式可知匹配滤波器的冲激响应就是信号 s (t)的镜像,只不过存在一个 t_{0} 的时延。

        也可以将匹配滤波的过程理解为一个求相关的过程,当t_{0} 时刻信号进入滤波器时,与滤波器系数进行卷积,相当于求自相关,很明显要远大于白噪声和滤波器系数的互相关,此时信噪比可达到最大。


匹配滤波器仿真

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

        在雷达目标检测中,希望距离分辨率和探测威力都足够大。而距离分辨率与发射波形的时宽成反比,探测威力(能量)与发射波形的时宽成正比。若发射波形为方波,其时宽\tau 与带宽B乘积约等于1,说明距离分辨率和探测威力是相互矛盾的。此时采用线性调频信号,可以很好的解决这个矛盾。其表达式如下:

                                                                        s(t)=Aexp[j(π(B/τ)t^2+ϕ(t))]

其中A为幅度,B为线性调频信号带宽,\tau 为线性调频信号时宽。\phi (t)为回波所携带的目标、杂波和噪声的相位。

        利用上节对匹配滤波器冲激响应的推导,令k=1,t_{0} =0,匹配滤波器的系数为

                                                                                        h(t) = s^* (-t)

        下面对脉冲压缩进行仿真,仿真参数设置如下

                                                                            参数                        取值 

                                                                            信号带宽                 4MHz

                                                                            信号时宽                 200μs

                                                                            脉冲周期                 2ms

                                                                            采样频率                 20MHz

                                                                            信噪比                     20dB

                                                                            目标距离                 T∗f_{s} /2 (目标放置在回波中间距离单元处)

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


图2线性调频信号

        下图对回波进行仿真,将目标添加至回波距离中段,并添加高斯白噪声。


图3 回波信号

        下一步产生匹配滤波器的系数,根据前面理论推导可得滤波器系数幅频特性和相频特性如下。


图4 滤波器幅/相频特性

        由公式可知,滤波器的幅频特性应与线性调频信号幅频特性一致,而相频特性也满足平方律,且相位与线性调频信号相反。

        下图为滤波后结果。


图5 脉压结果分贝图(不加窗)

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


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

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


匹配滤波器实现

        通常采用FPGA或DSP来实现匹配滤波器,具体有时域和频域两种实现方法。

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

图7 频域滤波

频域脉压FPGA实现:

        首先将滤波器系数量化后存至ROM,调用FFT IP核完成回波的FFT处理,接着将回波FFT结果与滤波器系数进行点乘,最后再次利用FFT IP核完成点乘结果的IFFT运算(配置成逆FFT方式)。在运算过程中注意定点数的动态问题,及时进行截位。

频域脉压DSP实现:

        DSP实现流程与FPGA大致一致,首先将滤波器浮点系数存至内存数组中,并利用FFT函数完成回波信号FFT,接着与系数进行点乘,而某些型号DSP函数库不提供IFFT函数,自己编写一方面比较繁杂,要满足不同点数,另一方面自己编写的函数优化程度可能也不及函数库内的函数。此时可考虑复用FFT函数。具体复用方式见如下推导。

DFT定义:

IDFT定义:

        由上式可知,将点乘结果取共轭,并调用FFT函数完成FFT运算,最后除以FFT点数即可得到滤波结果。


仿真代码附录

%% Pulse Compress

clear all; close all; clc;

% LFM parameter

B      =  4e+6;      % 4MHz带宽

Tao    =  200e-6;    % 200us时宽

T      =  2e-3;      % 2ms脉冲重复周期

fs      =  8e+6;      %采样频率

SNR    =  20;        % 信噪比20dB

dis    =  T*fs/2;    % 将目标设置在回波中间处

% Generate LFM

t = -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 echo

echo  = 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 coeff

coeff = conj(fliplr(lfm)).* hamming(Tao*fs).'; %翻转共轭/加汉明窗

figure; freqz(coeff);

% pulse compress

fft_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] 《通信原理(第七版)》樊昌信,曹丽娜编著;

[2] 《现代雷达系统分析与设计》陈伯孝编著

版权声明:本文为CSDN博主「weiweiwanye」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351

推荐阅读更多精彩内容

  • 姓名:何祯 学号:20021210839 学院:电子工程学院 原文链接:https://blog.csdn.ne...
    坠落救赎阅读 5,166评论 0 1
  • 姓名:王铎澎 学号:20000300055 嵌牛导读:系统地介绍了无线电定位技术的相关知识。 转载自:https:...
    王铎澎_5c37阅读 2,686评论 0 0
  • PS:大三上学期学的数字信号处理,Matlab大实验可以自选题,想到老师上课说的IIR、FIR的区别,借助图像观察...
    南工小王子阅读 2,750评论 0 1
  • 在通信技术中需要在噪声中发现或分辨弱信号,一般来说信号通过系统获得的信噪比是系统有效性的一个度量。1943年,诺兹...
    胡言且不语阅读 2,475评论 0 0
  • 问题的提出 这个问题首先是来源于仿真过程中的现象。一个时域N点的LFM信号,对其进行匹配滤波,即相当于与时域滤波器...
    分鱼阅读 946评论 0 0