我有一个截止频率为一阶Butterworth滤波器。则其传递函数为
使用双线性变换找到(那个函数叫什么?),我得到
但是,我无法将此结果与Matlab所做的调和。无论T的值是多少,这似乎都是错误的。我假设B
和A
以下是H(z)的系数。
>> [B,A] = butter(1,0.5)
B = 0.5000 0.5000
A = 1.0000 -0.0000
>> [B,A] = butter(1,0.6)
B = 0.5792 0.5792
A = 1.0000 0.1584
>> [B,A] = butter(1,0.7)
B = 0.6625 0.6625
A = 1.0000 0.3249
>> [B,A] = butter(1,0.8)
B = 0.7548 0.7548
A = 1.0000 0.5095
我有什么误会?
MATLAB不使用模数转换。它以数字方式设计滤波器,因此双线性变换的想法可能不适用。
—
声子
@Phonon:这个答案似乎表明Matlab以某种方式使用了双线性变换。
—
安德烈亚斯(Andreas)
此处游戏晚了,但z / s / \ omega的所有大写函数H通常称为传递函数。当参数是时间或样本时,称为冲激响应,通常用小写字母h表示。因此,传递函数是脉冲响应的变换(取决于应用的Z,傅立叶,拉普拉斯)。
—
伊曼纽尔·兰德霍尔姆