首页>>科技 >>内容

fir滤波器四种幅频特性,FIR滤波器的幅度特性解析

发布时间:2023-11-02 13:32:09编辑:温柔的背包来源:

很多朋友对fir滤波器四种幅频特性,FIR滤波器的幅度特性解析不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

fir滤波器四种幅频特性,FIR滤波器的幅度特性解析

继续解释!上节课讲了FIR滤波器的线性相位特性,分析了线性相位引起的延迟特性。这节课会继续讲解FIR滤波器的幅度特性,然后理论联系实际,看看FIR滤波器是什么样子的。有什么用?慢慢听我说。

MATLAB的函数中,有fir1和fir2函数。前者是用窗函数法设计线性相位FIR的工具箱函数,从而实现线性相位FIR的标准窗函数法设计。后者是基于频率基本定律的FIR滤波器设计,用于设计任意频率响应的加窗数字FIR滤波器。

信号通常是一维数组,可以用fir1和fir2函数处理。二维数组的处理会有一些不同。图像处理会涉及到二维数组的处理,这里只是提一下,让同学们有个了解。二维数据主要是图像数据,图像滤波主要使用imfilter函数。通过fspecial函数可以预定义各种二维过滤器。这些知识会在《数字图像处理》课程中详细讲解,这里就不赘述了。

说完这些理论,再来说说程序模拟,看看理论能否与实践相结合!

信号中往往夹杂着各种复杂的成分,包括需要的成分和不需要的成分。许多信号分析都是基于滤波器,因此数字滤波器起着极其重要的作用。数字滤波器是一种具有一定传输选择特性的数字信号处理器件。它的输入输出都是数字信号,本质上是用有限精度算法实现的线性时不变离散系统。

其基本工作原理是利用离散系统的特性,对系统的输入信号进行处理和变换,改变输入序列的频谱或信号波形,让有用频率的信号分量通过,抑制无用信号分量的输出。数字滤波器和模拟滤波器的滤波概念相同,根据其频率响应特性可分为低通、高通、带通和带阻型。

与模拟滤波器相比,数字滤波器不仅具有数字信号处理的固有优势,还具有精度高、稳定性好、灵活性强等优点。FIR滤波器具有线性相位,但其传递函数的极点固定在原点,只能通过改变零点位置来改变其性能。为了实现高选择性,必须使用更高的阶数。对于相同的滤波器设计指标,FIR滤波器的阶数可能比IIR滤波器高10倍以上。

由于FIR数字滤波器具有严格的相位特性,因此对于信号处理和数据传输非常重要。目前,FIR滤波器的设计方法主要有三种:窗函数法、频率采样法和优化设计(切比雪夫逼近)法。我们重点介绍窗函数法。上节课也简单提了一下!看看结果!

文章第一版对fir2函数的描述有错误。这个函数不是用来处理二维数组的!它可以用来设计具有任意频率响应的加窗FIR滤波器。Fir1函数可用于设计标准低通、带通、高通和带阻滤波器。语法:b=fir2(n,f,m)

设计一个N阶FIR滤波器。滤波器的频率特性由参数f和m决定,参数f为频点向量,f[0,1],f=1对应0.5fs,向量f按升序排列,第一个元素必须为0,最后一个必须为1,可以包含重复的频点。向量m包含对应于F的期望滤波器的幅度,F是归一化的频率向量。例子如下:设计一个100阶低通滤波器。运行下图中的代码,看看能得到什么结果。

如果要求设计一个形状奇怪的滤镜呢?例如,设计80阶FIR滤波器,要求从0到/4的幅度响应为0,从/4到/2的幅度响应为1/4,从/2到3/4的幅度响应为0,从3/4到1的幅度响应为1。采用切比雪夫窗。怎么写程序?有程序有图,才会有真正的理解!

回到二维数组的话题!我之前学过的卷积和滤波函数都是用于一维数组的,那么是否可以用于二维数组呢?在MATLAB中,filter2函数实现二维数字滤波器。Conv2函数实现二维卷积。之前比较迷茫,想起来fir2是用来实现二维数字滤波的函数,在此纠正一下!

现在Python很流行,很多人会用Python来完成信号处理的仿真。只是一个提示。在Python中,MATLAB filter2的等效函数是scipy . signal . correlated 2d MATLAB con v2的等效函数是scipy . signal . convolved 2d在调用这两个函数之前,必须安装scipy库文件。数字信号处理理论的发展很慢,因为之前的科学家研究的很透彻,但是软件的发展一直在加速。

用什么样的软件进行数字信号处理仿真,可以根据自己的喜好来选择。我个人推荐MATLAB,相关的仿真文章可以在这个微信官方账号找到!但是数据分析呢?我推荐Python。在语言分析的场合,就更有效了!这一章结束了!

审计刘清

以上知识分享希望能够帮助到大家!