0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

自适应滤波算法介绍之匹配滤波器的基本原理和应用示例

FPGA技术江湖 来源:FPGA算法工程师 2026-01-07 14:52 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

以下文章来源于FPGA算法工程师,作者18线工程师

概述

自适应滤波理论在统计信号处理中占据非常重要的地位,在通信、控制、雷达等领域获得广泛应用。自适应滤波器的基本目标,是通过某种方式对参数θ(k)进行调整,使滤波器输出尽可能使得包含参考信号的某个特定目标函数达到最小化。

在实时信号处理中,我们希望滤波器在实现滤波、平滑或预测等任务中,能够跟踪和适应系统或环境的动态变化,这需要滤波器的参数可以随时间做简单的变化或更新,因为复杂的运算不符合实施快速处理的要求。

【自适应滤波算法】系列将介绍常用的匹配滤波器、维纳滤波器、Kalman滤波、LMS算法和RLS算法。参考书籍推荐《现代信号处理》和《自适应滤波算法与实现》。

我们从最基础的匹配滤波器开始。

1. 匹配滤波器的概念

在滤波器设计中,遵循两种最优设计准则:

使滤波器的输出达到最大的信噪比,称为匹配滤波器;

使输出滤波器的均方估计误差为最小,称为Wiener滤波器。

考虑接收信号模型:

wKgZO2leA92AFeEcAAAMegHSlBs059.png

dde2edb2-e76a-11f0-8c8f-92fbcf53809c.png

线性连续时间滤波器

从接收机的角度看,接收信号y(t)是已知发送信号s(t)经过信道传播后得到,n(t)为信道传播过程中引入的零均值平稳噪声。在实际系统中,我们希望进入基带的接收信号yo(t)信号质量尽可能好,于是通过设计滤波器的冲击响应函数h(t),使得滤波器输出的信噪比最大。

根据信号与系统的知识,我们可以得到滤波器的输出可以表示为:

wKgZPGleA_GAWZz0AAAPb--hdL0388.png

滤波器在t=To时刻的输出信噪比定义为:

wKgZO2leBEaAJv_DAAAaS-6SJp4984.png

根据Parseval定理:

wKgZO2leBIuAMyeDAAAW42jHRgM871.png

则输出信号可以写作:

wKgZO2leBJeAbnocAAASDUGX7VU687.png

于是输出信号在t=To的瞬时功率:

wKgZO2leBKOAD7GvAAAWGcuSpcQ867.png

输出噪声的平均功率:

wKgZPGleBMKAeLBmAAAXP8Xu-ms692.png

令Pn(w)是加性噪声n(t)的功率谱密度,则输出噪声的功率谱密度为:

wKgZPGleBNCABcMlAAAL8kUVsv4287.png

于是,输出噪声的平均功率可以写成:

wKgZO2leBRWAC0xHAAAeICZRffE705.png

因此,得到信噪比:

wKgZPGleBSCASVOYAAAs1TgRFTc933.png

再应用柯西-施瓦茨不等式:

wKgZO2leBSyAZQqrAAAiH85hYgU157.png

得到:

wKgZO2leBTiAcNJJAAAPudLgOqY952.png

将上式中等号成立时的滤波器传递函数记作Hopt(w),并利用柯西-施瓦茨不等式取等号的条件,则有:

wKgZPGleBUSAejMaAAAQdRXU_os543.png

于是,我们可以得到输出最大信噪比为:

wKgZPGleBWeAVRtbAAAUPG9v07k532.png

在白噪声情况下,其功率谱密度Pn(w)=1,故滤波器传递函数可以简化为:

wKgZO2leBXeAGb7_AAAKNy73Rns972.png

因此有|Ho(w)|=|S*(w)=|S(w)|,当滤波器达到最大输出信噪比时,滤波器的幅频特性|H(w)|与信号s(t)的幅频特性|S(w)|相等。

通过对上式两边做IFFT,得到:

wKgZPGleBa-ANNA_AAAUnRqj5hQ646.png

即:匹配滤波器的冲激响应ho(t)是信号s(t)的一镜像信号。

2. 匹配滤波器的性质

匹配滤波器在很多工程问题中有重要应用,其性质概括如下:

性质1:在所有线性滤波器中,匹配滤波器输出的信噪比最大,且SNRmax=2Es/(No),与输入信号的波形以及加性噪声的分布特性无关。

性质2:匹配滤波器输出信号在t=To时刻的瞬时功率达到最大。

性质3:匹配滤波器输出信噪比达到最大的时刻To,应该选取等于原信号的持续时间T。

性质4:匹配滤波器对波形相同而幅值不同的时延信号具有适应性。

性质5:匹配滤波器对频移信号不具有适应性。

局限性:在匹配滤波器中,接收机必须已知并存储信号的精确结构或功率谱,并且积分区间必须与信号取非零值的区间同步,但显然在实际系统中,原信号在传输过程中发生传播延迟,并伴随相偏和频偏,信号区间和积分区间无法精确同步而造成误差,匹配滤波难以实现。

3. 匹配滤波器示例

MATLAB示例: 在原点放置一个各向同性天线元件(0;0;0)。然后,在距离发射机约7公里处放置一个RCS(雷达截面积)为1平方米、不动的目标,位置为(5000;5000;10)。将工作(载波)频率设置为10 GHz。模拟单基地雷达的发送和接收,计算发射机到目标的距离和角度。

产生一个时长25us、脉冲频率为10 kHz的矩形脉冲波形。利用雷达方程确定探测目标所需的峰值功率。该目标在发射机工作频率和增益的最大不模糊距离下,RCS为1平方米。信噪比基于非相干检测期望的误检率10-6。

在接收端收集回波,并通过匹配滤波器提升信噪比。

matlab示例代码:

```

antenna = phased.IsotropicAntennaElement('FrequencyRange',[5e9 15e9]);

transmitter = phased.Transmitter('Gain',20,'InUseOutputPort',true);

fc = 10e9;

target = phased.RadarTarget('Model','Nonfluctuating',...

'MeanRCS',1,'OperatingFrequency',fc);

txloc = [0;0;0];

tgtloc = [5000;5000;10];

transmitterplatform = phased.Platform('InitialPosition',txloc);

targetplatform = phased.Platform('InitialPosition',tgtloc);

[tgtrng,tgtang] = rangeangle(targetplatform.InitialPosition,...

transmitterplatform.InitialPosition);

waveform = phased.RectangularWaveform('PulseWidth',25e-6,...

'OutputFormat','Pulses','PRF',10e3,'NumPulses',1);

c = physconst('LightSpeed');

maxrange = c/(2*waveform.PRF);

SNR = npwgnthresh(1e-6,1,'noncoherent');

lambda = physconst('LightSpeed')/target.OperatingFrequency;

Ts = 290;

dbterms = db2pow(SNR - 2*transmitter.Gain);

Pt = (4*pi)^3*physconst('Boltzmann')*Ts/waveform.PulseWidth/target.MeanRCS/(lambda^2)*maxrange^4*dbterms;

transmitter.PeakPower = Pt;

radiator = phased.Radiator('PropagationSpeed',c,...

'OperatingFrequency',fc,'Sensor',antenna);

channel = phased.FreeSpace('PropagationSpeed',c,...

'OperatingFrequency',fc,'TwoWayPropagation',false);

collector = phased.Collector('PropagationSpeed',c,...

'OperatingFrequency',fc,'Sensor',antenna);

receiver = phased.ReceiverPreamp('NoiseFigure',0,...

'EnableInputPort',true,'SeedSource','Property','Seed',2e3);

mfilter = phased.MatchedFilter(...

'Coefficients',getMatchedFilter(waveform),...

'GainOutputPort',true);

wf = waveform();

[wf,txstatus] = transmitter(wf);

wf = radiator(wf,tgtang);

wf = channel(wf,txloc,tgtloc,[0;0;0],[0;0;0]);

wf = target(wf);

wf = channel(wf,tgtloc,txloc,[0;0;0],[0;0;0]);

wf = collector(wf,tgtang);

rx_puls = receiver(wf,~txstatus);

[mf_puls,mfgain] = mfilter(rx_puls);

Gd = length(mfilter.Coefficients)-1;

mf_puls=[mf_puls(Gd+1:end); mf_puls(1:Gd)];

subplot(2,1,1)

t = unigrid(0,1e-6,1e-4,'[)');

rangegates = c.*t;

rangegates = rangegates/2;

plot(rangegates,abs(rx_puls))

title('Received Pulse')

ylabel('Amplitude')

hold on

plot([tgtrng, tgtrng], [0 max(abs(rx_puls))],'r')

subplot(2,1,2)

plot(rangegates,abs(mf_puls))

title('With Matched Filtering')

xlabel('Meters')

ylabel('Amplitude')

hold on

plot([tgtrng, tgtrng], [0 max(abs(mf_puls))],'r')

hold off

```

de4075cc-e76a-11f0-8c8f-92fbcf53809c.png

接收脉冲匹配滤波

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 滤波器
    +关注

    关注

    162

    文章

    8459

    浏览量

    186199
  • 模型
    +关注

    关注

    1

    文章

    3810

    浏览量

    52253
  • 滤波算法
    +关注

    关注

    2

    文章

    97

    浏览量

    14451

原文标题:自适应滤波算法(一):匹配滤波器

文章出处:【微信号:HXSLH1010101010,微信公众号:FPGA技术江湖】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于AccelDSP的自适应滤波器设计

    误差(NLMS)和延迟最小均方误差(DLMS)自适应滤波器的工作原理,指出了3种滤波器的区别和联系.详细介绍使用Xil-inx公司的AccelDSP高层次设计工具设计
    发表于 04-24 09:01

    基于粒子群算法自适应LMS滤波器设计及可重构硬件实现

    自适应滤波器设计是典型的多参数组合优化问题,利用一种改进的粒子群优化算法(MPSO)来优化设计自适应LMS滤波器.将
    发表于 04-26 16:13

    用FPGA实现数字匹配滤波器的优化方法

             本文利用Xilinx公司Virtex系列器件的特殊结构,提出了一种比较新颖的数字匹配滤波器设计方法,它在保证了该匹配滤波器与传统匹配滤波器
    发表于 09-15 09:07 22次下载

    扩频通信中匹配滤波器的FPGA设计

    在分析了数字匹配滤波器的捕获原理及折叠匹配滤波器和并行匹配滤波器各自优势的基础上,设计了一种并行折叠数字匹配滤波器结构,该结构在降低资源利用率的同时提高了捕获
    发表于 09-16 09:51 53次下载

    改进的LMS算法自适应滤波器的DSP实现

    分析了变步长LMS算法自适应滤波器基本原理,使用MATLAB对其进行仿真,并应用SZ-EPP5402评估板进行了DSP实现,结果表明,变步长LMS
    发表于 09-01 16:09 34次下载

    变阶自适应滤波器及其算法研究

    变阶自适应滤波器及其算法研究,又需要的下来看看
    发表于 01-08 15:59 21次下载

    怎么理解匹配滤波器

    匹配滤波器是输出端的信号瞬时功率与噪声平均功率的比值最大的线性滤波器。其滤波器的传递函数形式是信号频谱的共轭。滤波器输出端的信号瞬时功率与噪声平均功率的比值最大的线性
    发表于 11-20 18:03 1.6w次阅读

    自适应滤波器的作用、原理以及相关应用

    自适应滤波器是指根据环境的改变,使用自适应算法来改变滤波器的参数和结构的滤波器。一般情况下,不改
    发表于 11-27 18:41 2.4w次阅读

    有源电力滤波器基本原理

    本文首先介绍了有源电力滤波器原理图,其次介绍了有源电力滤波器基本原理详解,最后介绍了有源电力
    的头像 发表于 08-30 18:53 3.6w次阅读

    LMS自适应滤波器算法原理和应该如何实现

    的特性也随信号和噪声的变化而变化,以达到最优滤波,这就是具有自学习或训练能力的自适应滤波器,LMS自适应滤波器。本文主要讲LMS
    发表于 10-20 16:16 19次下载
    LMS<b class='flag-5'>自适应</b><b class='flag-5'>滤波器</b>的<b class='flag-5'>算法</b>原理和应该如何实现

    WCDMA系统中匹配滤波器的FPGA实现

    WCDMA中规定了小区搜索的时隙同步过程采用匹配滤波器的方法实现,本论文主要研究匹配滤波器原理及FPGA实现结构。
    发表于 01-26 16:22 12次下载
    WCDMA系统中<b class='flag-5'>匹配滤波器</b>的FPGA实现

    自适应滤波器基本概念

    1 自适应滤波器基本概念 自适应滤镜是具有非恒定系数的滤波器滤波器系数根据通常定义的 cterium 进行调整,以优化
    的头像 发表于 10-25 15:25 6053次阅读
    <b class='flag-5'>自适应</b><b class='flag-5'>滤波器</b>基本概念

    低通滤波器匹配滤波器的区别

    低通滤波器匹配滤波器的主要区别在于:   1.低通滤波器是一种滤波器,它可以抑制高频信号,使低频信号得以通过,从而实现对音频信号的频率截取,使音频信号中的高频成分被抑制,从而达
    发表于 02-16 17:44 3366次阅读

    什么是匹配滤波器?如何理解匹配滤波器?

    [导读]为增进大家对匹配滤波器的认识,本文将对匹配滤波器匹配滤波器的详细理解予以介绍匹配滤‍波
    的头像 发表于 01-12 08:39 3782次阅读

    自适应滤波算法介绍维纳滤波器基本原理和应用示例

    前面我们介绍匹配滤波器,本文将介绍维纳滤波器。首先我们回顾了维纳滤波的主人公Norbert Wiener,然后描述了维纳
    的头像 发表于 01-07 15:22 3020次阅读
    <b class='flag-5'>自适应</b><b class='flag-5'>滤波</b><b class='flag-5'>算法</b><b class='flag-5'>介绍</b><b class='flag-5'>之</b>维纳<b class='flag-5'>滤波器</b>的<b class='flag-5'>基本原理</b>和应用<b class='flag-5'>示例</b>