matlabbode频率,matlab–bode和freqz之间的区别
我在MATLAB中创建⼀个过滤器,如下所⽰:
[num,den] = ellip(10,0.1,50,4000/22050,'high');
使⽤freqz然后我找到了滤波器的频率响应,如下所⽰:
freqz(num,den)
这会产⽣预期的⾼通滤波器图.但是,如果我尝试使⽤波特函数绘制相同的值集,我会得到完全不同的东西.
bode(tr(num,den))
蓝朋友什么意思世界上最好的酒店这产⽣低通滤波器图.我不明⽩这些功能是如何⼯作的?据我所知,freqz将传递函数的系数作为其参数.这也是我⽤bode函数做的事情.为什么不同?
最佳答案
鸡汤挂面
[b,a] = ellip(n,Rp,Rs,Wp)
其中b,a是z域代表,
⽽tf默认为s-domain:
你可以使⽤filt代替,
[b,a] = ellip(10,0.1,50,4000/22050,'high');装帧
freqz(b,a)
figure
bode(filt(b,a))果果日记
你也可以使⽤bode(tf(b,a,-1,’variable’,’z ^ -1′)).
检查变量属性是否为tf.
沙龙活动方案
String specifying the transfer function display variable. Variable can take the following values:海德格尔名言
‘s’ — Default for continuous-time models
‘z’ — Default for discrete-time models
和颜悦色意思
‘p’ — Equivalent to ‘s’
‘q’ — Equivalent to ‘z’
‘z^-1’ — Inver of ‘z’
‘q^-1’ — Equivalent to ‘z^-1’