概述
二阶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求解级/并联结构所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复