已知传递函数怎么用matlab画群延时特性曲线?

如题所述

用grpdelay

Group delay of adaptive, discrete-time, and multirate filters

Syntax

[gd,w] = grpdelay(ha)
[gd,w] = grpdelay(ha,n)
[gd,w] = grpdelay(...,f)
grpdelay(ha)
[gd,w] = grpdelay(hd)
[gd,w] = grpdelay(hd,n)
[gd,w] = grpdelay(...,f)
grpdelay(hd)
[gd,w] = grpdelay(hm)
[gd,w] = grpdelay(hm,n)
[gd,w] = grpdelay(...,f)
grpdelay(hm追问

这个我知道,但是直接把传输函数分子分母的系数带入,仿出的图形不对,百度了下,我的传输函数最后解得是H(s),应该是模拟滤波器的,grpdelay好像只适用于数字滤波器H(z)?

追答

那就自己做,用[h w]=freqs(b,a)
phaiw=angle(h);
diff(...)

追问

请问你试过吗?这种方法可行吗?
我试了下,
b=[0.4914];
a=[1,0.9884,1.2386,0.4914];
[h w]=freqs(b,a);
phaiw=angle(h);
dy=diff(phaiw);plot(dy)

axis([120 160 -1 7]);
是这样么?出来的图形的横,纵坐标分别代表什么?

追答

b=[0.4914];
a=[1,0.9884,1.2386,0.4914];
[h w]=freqs(b,a);
phaiw=angle(h);
figure
subplot(211)
plot(w,abs(h))
xlabel('Frequency(rad)')
ylabel('Amplitude')
title('Amplitude frequency response')
subplot(212)
plot(w,unwrap(phaiw))
xlabel('Frequency(rad)')
ylabel('Phase')
title('Phase frequency response')
dy=diff(unwrap(phaiw));
figure
plot(dy)
xlabel('Sample')
ylabel('Group Delay')
title('Delay Characteristic')

温馨提示:答案为网友推荐,仅供参考
相似回答