二阶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








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




评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值