对于巴特沃斯滤波器,在 Matlab 命令中:
[B,A]=butter(2,0.5,'low')
我发现这个结果:
B = [0.29289 0.58579 0.29289]
A = [1 -3.33067e-16 0.17157]
从这里我无法达到归一化巴特沃斯多项式:
G = [1 1.4142 1]
也不是两极:
P = [-0.7071+i0.7071 -0.7071-i0.7071]
如果有的话,我缺少哪个关系或正确的参数?
对于巴特沃斯滤波器,在 Matlab 命令中:
[B,A]=butter(2,0.5,'low')
我发现这个结果:
B = [0.29289 0.58579 0.29289]
A = [1 -3.33067e-16 0.17157]
从这里我无法达到归一化巴特沃斯多项式:
G = [1 1.4142 1]
也不是两极:
P = [-0.7071+i0.7071 -0.7071-i0.7071]
如果有的话,我缺少哪个关系或正确的参数?
模拟巴特沃斯滤波器的传递函数的分母是(非归一化的)巴特沃斯多项式。分子也只是一个常数(即高阶系数为0)。
您正在这里设计一个离散滤波器,因此这不再适用。你的分子有三个非零系数,分母不是巴特沃斯多项式。
您可以检查,如果您在调用函数时设计了一个模拟Butterworth 添加参数's',您确实会得到一个非零元素数组B和非归一化 Butterworth 多项式的系数A。