探究数字滤波器matlab辅助设计

电子说

1.3w人已加入

描述

仍然使用FDATOOL设计滤波器,当前设计一个数字带通滤波器。至于用的是冲击响应不变法,还是其它的方法。暂时不考虑。FIR 需要的阶数太多,也不考虑。使用IIR滤波,线性相位就不要想了。可以选巴特沃兹(最大平整度),或切比雪夫(最大陡降特性。)发现在相同的性能下切比雪夫需要的阶数少。

生成的传递函数是按照多个二阶单元级联。系统提供 SOS(Second Order Section)也可以称为“救命”矩阵。其思路是将高阶传递函数分解为多个稳定的二阶函数级联,保持系统稳定。因为使用的是IIR (无限冲击响应)构成,注定其是非线性相位。会导致滤波后的信号波形畸变。导出滤波器参数文件.

IIR

 

每个SOS参数可以使用直接II型,实现如下:

IIRIIR

编写一段代码测试一下。

IIRIIRIIR

待滤波信号的频谱特性

IIR

可以看到org 信号上有噪声,有直流偏置和低频交流干扰。经过带通滤波后,去除了直流,去除了噪声,基本还原原始信号signal。刚开始时并不稳定需要等一段时间才能达到稳定。

可见,此段代码可以将一个输入序列x 转换为一个输出序列 y,完成对x序列的滤波。 

按照生成的结构图,编写m文件的解释:

IIRIIR

每采集到一个数据时,以输入数据作为参数,调用BandPassFilter(),得到一个滤波输出。相当于实时处理。

IIR

经过滤波后的信号

IIR

经过滤波+陷波后的信号
 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分