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

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

3天内不再提示

Matlab低通滤波器设定与实践

lp7u_bia 来源:MathWorks 作者:MathWorks 2021-08-16 11:10 次阅读

Matlab数字滤波器设计实践—FIR

1低通滤波器设定

在理想情况下,低通滤波器使信号中低于指定截止频率 ωc 的所有频率分量保持不变,并拒绝高于 ωc 的所有分量。由于实现理想低通滤波器所需的脉冲响应是无限长的,因此无法设计出理想的 FIR 低通滤波器。理想脉冲响应的有限长度逼近会导致滤波器的通带 (ω《ωc) 和阻带 (ω》ωc) 中都出现波纹,并导致通带和阻带之间的过渡带宽度非零。

当用有限脉冲响应逼近时,通带/阻带波纹和过渡带宽度都是不希望出现的,且不可避免地与理想低通滤波器存在偏差。下图说明了这些偏差:

fef781ce-fdb9-11eb-9bcf-12bb97331649.png

实际的 FIR 设计通常包括过渡带宽度和最大通带和阻带波纹不超过允许值的滤波器。除了这些设计设定之外,还必须选择滤波器阶数,它等效于选择截断的脉冲响应的长度。

滤波器设计中的设计设定可形象地比喻为下图所示的三角形,每个设定对应其中一个角。

ff231622-fdb9-11eb-9bcf-12bb97331649.png

三角形相当于选择设计设定时可用的自由度。由于各角之和是固定值,因此最多只能选择两个设定的值。第三个设定将由特定设计算法确定。此外,就像三角形中的各角一样,如果我们使一个设定更大/更小,它将影响其他一个或两个设定。

FIR 滤波器广受欢迎,因为它们非常稳定,并可以设计成具有线性相位的滤波器。尽管如此,这些滤波器仍可能有长瞬时响应,在某些应用中的计算成本可能很高。

2 最小阶 FIR 设计

通过指定通带和阻带频率以及通带波纹和阻带衰减,可以获得最小阶设计。然后,设计算法会选择符合设定的最小滤波器长度。

设计最小阶低通 FIR 滤波器,其通带频率为 0.37pi 弧度/采样点,阻带频率为 0.43pi 弧度/采样点(因此过渡带宽度等于 0.06*pi 弧度/采样点),通带波纹为 1 dB,阻带衰减为 30 dB。

Fpass = 0.37;

Fstop = 0.43;

Ap = 1;

Ast = 30;

d = designfilt(‘lowpassfir’,‘PassbandFrequency’,Fpass,。..

‘StopbandFrequency’,Fstop,‘PassbandRipple’,Ap,‘StopbandAttenuation’,Ast);

hfvt = fvtool(d);

可以使用 filtord 函数查询生成的滤波器阶数。

可以使用 filtord 函数查询生成的滤波器阶数。

N = filtord(d)

N = 39

可以使用 info 函数获取用于设计滤波器的参数的有关信息

info(d)

ff476cca-fdb9-11eb-9bcf-12bb97331649.png

默认情况下,designfilt 函数会选择一个等波纹设计算法。线性相位等波纹滤波器是令人满意的,因为对于给定阶数,这种滤波器与理想滤波器的最大可能偏差最小。

然而,请注意,也可以使用 Kaiser 窗获得最小阶设计。即使 Kaiser 窗方法对相同设定产生更大的滤波器阶数,当设计设定非常严格时,该算法的计算成本更低,并且不太可能出现收敛问题。如果应用需要非常窄的过渡带宽度或非常大的阻带衰减,就可能出现这种情况。

使用 Kaiser 窗方法设计与上述设定相同的滤波器,并将其响应与等波纹滤波器进行比较。

dk = designfilt(‘lowpassfir’,‘PassbandFrequency’,Fpass,。..

‘StopbandFrequency’,Fstop,‘PassbandRipple’,Ap,。..

‘StopbandAttenuation’,Ast, ‘DesignMethod’, ‘kaiserwin’);

addfilter(hfvt,dk);

legend(hfvt,‘Equiripple design’, ‘Kaiser window design’)

N = filtord(dk)

N = 52

3 以赫兹为单位指定频率参数

如果知道滤波器工作将使用的采样率,可以指定采样率和频率(以赫兹为单位)。重新设计采样率为 2 kHz 的最小阶等波纹滤波器。

Fpass = 370;

Fstop = 430;

Ap = 1;

Ast = 30;

Fs = 2000;

d = designfilt(‘lowpassfir’,‘PassbandFrequency’,Fpass,。..

‘StopbandFrequency’,Fstop,‘PassbandRipple’,Ap,。..

‘StopbandAttenuation’,Ast,‘SampleRate’,Fs);

hfvt = fvtool(d);

4 固定阶、固定过渡带宽度

固定阶设计适用于对计算负载敏感或对滤波器系数个数有限制的应用。一种选择是以控制通带波纹/阻带衰减为代价来固定过渡带宽度。

假设一个 30 阶低通 FIR 滤波器,其通带频率为 370 Hz,阻带频率为 430 Hz,采样率为 2 kHz。对于这组特定设定,可使用两种设计方法:等波纹法和最小二乘法。下面我们为每种方法设计一个滤波器,并比较结果。

N = 30;

Fpass = 370;

Fstop = 430;

Fs = 2000;

% Design method defaults to ‘equiripple’ when omitted

deq = designfilt(‘lowpassfir’,‘FilterOrder’,N,‘PassbandFrequency’,Fpass,。..

‘StopbandFrequency’,Fstop,‘SampleRate’,Fs);

dls = designfilt(‘lowpassfir’,‘FilterOrder’,N,‘PassbandFrequency’,Fpass,。..

‘StopbandFrequency’,Fstop,‘SampleRate’,Fs,‘DesignMethod’,‘ls’);

hfvt = fvtool(deq,dls);

legend(hfvt,‘Equiripple design’, ‘Least-squares design’)

等波纹滤波器非常适合必须满足特定容差的应用,例如设计具有给定最小阻带衰减或给定最大通带波纹的滤波器。另一方面,如果我们想最小化通带/阻带中(理想滤波器和实际滤波器之间)的误差能量,这些设计可能并不理想。

如果您要尽可能降低某个频带内信号的能量,请使用最小二乘设计。

在上述示例中,设计的滤波器在通带和阻带中具有相同的波纹。我们可以使用权重来减少其中一个频带内的波纹,同时保持滤波器阶数固定。例如,如果您希望阻带波纹是通带波纹的十分之一,则为阻带赋予的权重必须是通带权重的十倍。根据上述情况重新设计等波纹滤波器。

deqw = designfilt(‘lowpassfir’,‘FilterOrder’,N,‘PassbandFrequency’,Fpass,。..

‘StopbandFrequency’,Fstop,‘SampleRate’,Fs,。..

‘PassbandWeight’,1,‘StopbandWeight’,10);

hfvt = fvtool(deq,deqw);

legend(hfvt,‘Equiripple design’, ‘Equiripple design with weighted stopband’)

5 固定阶、固定截止频率

可以使用窗口设计方法设计具有固定滤波器阶数和截止频率的滤波器。

可以使用不同窗口来控制阻带衰减,同时保持滤波器阶数不变。

例如,假设有截止频率为 60 Hz、采样率为 1 kHz 的 100 阶低通 FIR 滤波器。比较使用 Hamming 窗和使用旁瓣衰减为 90 dB 的 Chebyshev 窗产生的设计。

dhamming = designfilt(‘lowpassfir’,‘FilterOrder’,100,‘CutoffFrequency’,60,。..

‘SampleRate’,1000,‘Window’,‘hamming’);

dchebwin = designfilt(‘lowpassfir’,‘FilterOrder’,100,‘CutoffFrequency’,60,。..

‘SampleRate’,1000,‘Window’,{‘chebwin’,90});

hfvt = fvtool(dhamming,dchebwin);

legend(hfvt,‘Hamming window’, ‘Chebyshev window’)

可以通过其他方式指定具有固定阶数的滤波器:固定截止频率、通带波纹和阻带衰减;固定过渡带宽度;以及固定半功率 (3dB) 频率。

责任编辑:haq

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

    关注

    175

    文章

    2922

    浏览量

    228432
  • 滤波器
    +关注

    关注

    158

    文章

    7326

    浏览量

    174759

原文标题:Matlab数字滤波器设计实践—FIR

文章出处:【微信号:bianpinquan,微信公众号:变频圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是低通滤波器低通滤波器有什么作用?

    在电子工程领域中,滤波器是一种用于信号处理的重要元件。而低通滤波器作为滤波器的一种类型,具有其独特的频率响应特性。本文维爱普电源滤波器小编将详细探讨
    的头像 发表于 04-08 16:30 398次阅读
    什么是<b class='flag-5'>低通滤波器</b>?<b class='flag-5'>低通滤波器</b>有什么作用?

    如何在Matlab中实现不同窗低通滤波器的设计?

    Matlab中使用汉明窗设计低通滤波器可以通过fir1函数实现。汉明窗通常用于设计滤波器,可以提供更突出的频率特性。
    的头像 发表于 02-27 14:11 479次阅读
    如何在<b class='flag-5'>Matlab</b>中实现不同窗<b class='flag-5'>低通滤波器</b>的设计?

    低通滤波器的作用有哪些 低通滤波器截止频率计算器怎么算

    低通滤波器是一种常用的信号处理工具,其作用是过滤掉高频信号,只保留低频信号。下面将详细阐述低通滤波器的作用以及如何计算截止频率。 首先,低通滤波器在信号处理中有许多应用。以下是其中一些常见的作用
    的头像 发表于 02-14 18:14 3485次阅读

    低通滤波器电路图分享

    低通滤波器是一种电子滤波器,允许低于截止频率的信号通过,但高于截止频率的信号不能通过。低通滤波器常用于音频应用中,如高音消除或高频剪切。在音频应用中,低通滤波器有时被称为高频剪切
    的头像 发表于 02-12 09:33 1407次阅读
    <b class='flag-5'>低通滤波器</b>电路图分享

    低通滤波器的作用 低通滤波器的带宽怎么看

    低通滤波器是一种信号处理器件,被广泛应用于电子电路、通信系统、音频处理、图像处理等领域。其作用是通过去除或减弱高于一定频率的信号成分,保留低于该频率的信号成分。以下将详尽、详实、细致地介绍低通滤波器
    的头像 发表于 02-03 09:52 639次阅读

    有源低通滤波器设计原理 有源低通滤波器的截止频率计算

    有源低通滤波器是一种常用的电子滤波器。其设计原理基于放大器的增益特性和反馈原理,可以有效地去除信号中高频成分,从而实现信号的低通滤波效果。它常用于音频处理、通信系统、音频放大器等领域,用来消除噪声
    的头像 发表于 02-03 09:36 652次阅读

    低通滤波器传递函数 低通滤波器原理

    低通滤波器是一种信号处理器件,用于削弱或筛选掉信号中高频成分,保留或放大低频成分。其传递函数描述了滤波器输入和输出之间的关系。在本文中,将详细介绍低通滤波器的传递函数原理。 一、低通滤波器
    的头像 发表于 01-30 10:23 1224次阅读

    RC低通滤波器的原理和特性

    RC低通滤波器是一种常见的电子滤波器,用于将高频信号滤除,只保留低频信号。
    的头像 发表于 01-22 18:18 644次阅读

    低通滤波器到底有什么作用?

    我在很多场合见到低通滤波器,请问各位低通滤波器起什么作用
    发表于 01-03 06:22

    一阶低通滤波器的截止频率

    一阶低通滤波器是一种常见的电子滤波器,它可以有效地滤除高频信号,只保留低频信号。截止频率是指滤波器开始对信号进行衰减的频率。 在这篇文章中,将讨论一阶低通滤波器的截止频率。我将从介绍
    的头像 发表于 12-01 16:24 1435次阅读

    低通滤波器的参数怎么确定?低通滤波器的性能怎么评估呢?

    低通滤波器的参数怎么确定?低通滤波器的性能怎么评估呢? 低通滤波器是一种信号处理器件,能够将高频信号去除,只保留低频信号。它是电子工程学中重要的滤波器之一,广泛应用于音频信号、图像处理
    的头像 发表于 10-25 15:21 3418次阅读

    怎么评估低通滤波器的性能?

    低通滤波器的原理基于频率选择性,即只允许低于一定截止频率的信号通过,并且削弱高于该频率的信号。其频率响应图形呈现为从最大增益逐渐降低,直至达到截止频率后几乎不再增益的形态。低通滤波器的设计和实现方法有多种,包括无源滤波器和有源
    的头像 发表于 10-16 11:33 535次阅读

    为什么串上电容是高通滤波器?串上电阻是低通滤波器呢?

    为什么串上电容是高通滤波器?串上电阻是低通滤波器呢?  滤波器在电子工程中是一个重要的概念,它可以帮助我们从信号中分离出我们所需的部分,并去除我们所不需要的部分。在滤波器的设计中,电容
    的头像 发表于 09-13 10:01 1976次阅读

    低通滤波器的带宽是指什么

    低通滤波器的带宽是指该滤波器能够通过的频率范围。在信号处理中,滤波器被用于去除不需要的频率成分,以便提取出感兴趣的信号。低通滤波器是一种常用的滤波器
    的头像 发表于 07-20 09:46 1636次阅读

    如何判断高通滤波器低通滤波器

    高通滤波器低通滤波器是根据信号频率通过或被阻断的不同而得名的。在电子工程中,有时需要对信号进行滤波以去除噪声或将特定频率范围内的信号传输到输出端。下面介绍一些判断高通滤波器
    的头像 发表于 06-26 09:33 2588次阅读