关于使用'的低通滤波器的问题;黄油&x27;Matlab中的函数

关于使用'的低通滤波器的问题;黄油&x27;Matlab中的函数,matlab,filter,lowpass-filter,Matlab,Filter,Lowpass Filter,我试图在Matlab中设计一个低通滤波器: fc = 100; % Cutoff frequency fs = 4020; % Sampling frequency w_norm = 2*fc/fs; filter_order = 1; [num,denom] = butter(filter_order,w_norm) sys = tf(num, denom) [z,p,k] = zpkdata(sys) Matlab给了我一个极点: s = 0.8541

我试图在Matlab中设计一个低通滤波器:

fc = 100;           % Cutoff frequency
fs = 4020;          % Sampling frequency
w_norm = 2*fc/fs;
filter_order = 1;
[num,denom] = butter(filter_order,w_norm)
sys = tf(num, denom)
[z,p,k] = zpkdata(sys)
Matlab给了我一个极点:

s = 0.8541
我的问题是:

  • 这个号码是从哪里来的?磁极是否应该在w=2*pi*fc=628 rad/s(如果除以wc,则标准化为1)
  • 既然巴特沃斯LP滤波器极位于左半平面,它不应该是负的吗
  • 为什么Matlab在-1时也给我一个零

  • 非常感谢。

    默认情况下,
    butter
    生成离散时间过滤器设计。因此,传递函数是根据z(z变换)而不是s(拉普拉斯变换)定义的

    n阶离散时间巴特沃斯滤波器在单位圆内z=-1和n个极点处有一个n阶零。这与你的结果一致。(相比之下,连续时间巴特沃斯滤波器在无穷远处有一个n阶零,在左侧单位半圆中有n个极点)