我是靠谱客的博主 文艺歌曲,最近开发中收集的这篇文章主要介绍二阶IIR滤波器 利用Matlab求解级/并联结构,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

二阶IIR滤波器 利用Matlab/Octave求解级/并联结构


    



    当系统的阶数很高的时候,总是把它拆分成一个个二阶或者一阶的系统级联的形式来进行分析.

因此,分析二阶系统就很重要.


分析下面的例子



容易确定

y项系数a = [1 -5/4 3/4 -1/8]

x项系数b = [8 -4 11 -2]

利用matlab中的tf()函数可以创建传递函数


接着利用tf2sos()函数去把这个传递函数转换为二阶系统级联的形式

根据文档说明可以知道tf == transform function  sos == second order system




 SOS is an L by 6 matrix with the following structure:
        SOS = [ b01 b11 b21  1 a11 a21 
                b02 b12 b22  1 a12 a22
                ...
                b0L b1L b2L  1 a1L a2L ]
 
    Each row of the SOS matrix describes a 2nd order transfer function:
                  b0k +  b1k z^-1 +  b2k  z^-2
        Hk(z) =  ----------------------------
                   1 +  a1k z^-1 +  a2k  z^-2
    where k is the row index.
 
    G is a scalar which accounts for the overall gain of the system.


这里,我们得到的L等于2,于是

                     b01 +  b11 z^-1 +  b21  z^-2                1    -    0. 19 z^-1
        H1(z) =  ----------------------------                = -----------------------------------
                      1 +  a11 z^-1 +  a21  z^-2                 1 -0.31 z^-1 +1.316 z^-2 


同理可以得到H2(z)

如果已知sos矩阵,求传递函数也是很简单的,直接调用sos2tf()即可


利用sosfilt()求解二阶级联形式的系统对输入信号的输出.




shit ... 感觉好弱智无聊~...没时间自己写API实现了T_T








摄于二零一四年九月三十日




最后

以上就是文艺歌曲为你收集整理的二阶IIR滤波器 利用Matlab求解级/并联结构的全部内容,希望文章能够帮你解决二阶IIR滤波器 利用Matlab求解级/并联结构所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部