stepz
数字滤波器的阶跃响应
语法
[h,t] = stepz(b,a)
[h,t] = stepz(so)
[h,t] = stepz(d)
[h,t] = stepz(…,n)
[h,t] = stepz(…,n,fs)
stepz(…)
描述
[h,t] = stepz(b,a)
返回带有分子系数的滤波器的阶跃响应,b
,分母系数,一个
。stepz
选择样本的数量,并在列向量中返回响应h
在列向量上的采样次数t
(T = [0:n-1]'
,n
=长度(t)
是自动计算的)。
[h,t] = stepz(so)
返回二阶截面矩阵的阶跃响应,紧急求救信号
。紧急求救信号
是一个K-by-6矩阵,其中节数,K,必须大于或等于2。如果节数小于2,stepz
认为输入是分子向量,b
。每行紧急求救信号
对应于二阶(双四)滤波器的系数。的我第一行紧急求救信号
矩阵对应于[bi(1) bi(2) bi(3) ai(1) ai(2) ai(3)]
。
[h,t] = stepz(d)
返回数字滤波器的阶跃响应,d
。使用designfilt
生成d
基于频率响应规范。
[h,t] = stepz(…,n)
计算n为整数时阶跃响应的前n个样本(t
=(0: n - 1)”
)。如果n
是一个整数向量,阶跃响应仅在以0表示时间原点的整数值处计算。
[h,t] = stepz(…,n,fs)
计算n个样本并产生一个向量t
的长度n
这样样本是间隔的1 / fs
单位分开。fs
假设以Hz为单位。
stepz(…)
在没有输出参数的情况下,绘制过滤器的阶跃响应。如果输入滤波器系数或二阶截面矩阵,则使用当前图形窗口。如果你输入adigitalFilter
时,阶跃响应显示在FVTool。
请注意
如果输入stepz
在单精度情况下,采用单精度算法计算阶跃响应。输出,h
,为单精度。
例子
算法
stepz
过滤长度n
步进序列使用
过滤器(b, a, (1, n))
用阀杆
。
来计算n
在自动长度的情况下,stepz
要么使用N =长度(b)
对于FIR的情况或首先找到极点使用P = roots(a)
,如果长度(一个)
大于1。
如果过滤器不稳定,n
被选为从最大极点出发的项到达的点106乘以它的原始值。
如果过滤器是稳定的,n
被选为最大振幅极点的项所在的点5 × 105它的原始振幅。
如果滤波器是振荡的(只在单位圆上的极点),stepz
计算最慢振荡的五个周期。
如果滤波器既有振荡项又有阻尼项,n
是等于最慢振荡的五个周期还是等于最大非单位振幅极点的项所在的点5 × 105乘以原始振幅,取较大的值。
stepz
也允许分子多项式的延迟。延迟的数量被纳入到样本数量的计算中。