jifang29 发表于 2006-9-7 16:11

求:高手帮忙画出附件中传递函数的幅频响应图,多谢!

我已经试了两天了,还没有对,请高手指教一下,多谢!急需!!!

cao 发表于 2006-9-7 19:57

L=19;
b=0.40651;
C= [-0.0097033        -0.024083        0.011667        0.03199        -0.0019712        0.013463        0.16639        0.32107        0.25735        0.0068313        -0.1513        -0.072642        0.067968        0.062798        -0.037318        -0.05813        0.010752        0.041062        -0.00097694        -0.026508];

A=1;
B=;
H0=tf(,);
for i=1:1:L
    A=conv([-b,1],);%%分子
    B=conv(,);
    D=C(i)*sqrt(1-b*b);
    num=D*A;
    den=B;
    H=tf(num,den,0.1)%%Ts=0.1S离散系统 是否要 请试试
    HH=H+H0;
end
HH=HH-H0;
figure;
bode(H)
仅供参考,请批评指正!

jifang29 发表于 2006-9-7 21:02

多谢,上面的tf,bode函数应该都是控制工具箱的吧,我也不知道这样对不对。我参考了您上面求出的分子分母系数,然后用了
b,a分别为分子分母幂次从高到低排列的系数。
=freqz(b,a);
subplot(311);plot(w,abs(h));grid;
axis();
subplot(312);plot(w,20*log10(abs(h)));grid;
axis();
subplot(313);plot(w,unwrap(angle(h)));grid;
axis();

运行后结果不理想,不知道是否应该用信号处理工具箱的函数进行编程?

cao 发表于 2006-9-7 22:07

好像我理解错了,
按照我的思路的话,你给出的公式应该是S域的,你把你的公式转换到S域,再用我上面的思路,应该就可以了!
Bode应该可以啊,你就是求幅频响应吗!按我的程序运行后的图形,看起来是思路应该没有问题.

jifang29 发表于 2006-9-8 10:11

非常感谢你的耐心回帖。我是想要z域的幅频响应图,其结果应该是跟附件中的差不多,麻烦帮忙看一下,多谢!

jifang29 发表于 2006-9-8 10:15

我可以用什么函数直接求出传递函数分子分母的系数吗?看到你程序得到的分子分母系数(很想也这样求出我需要的分子分母系数)。在Z域是不是就不同了?因为我用了你给出程序里面的系数得出的图不对。我不知道是不是系数不对,麻烦了,谢谢!

cao 发表于 2006-9-8 16:53

我今天好好想了下,感觉我那个程序应该是可以的!幅频响应可以用控制工具来做!
我认为:你好好看你的问题,可能问题本身有问题!同时,你的数据是不是再检验一下!
要不你把你的问题完整的贴出,或发个邮件,一起探讨!(2000cqs@163.com)

jifang29 发表于 2006-9-8 18:06

你好,我将详细点的说明已发到你的邮箱,多谢指教!

cao 发表于 2006-9-9 22:43

我用freqz(b,a);将系数编程求出的,就是分子分母都累加和形式!
图形如下:对否?

jifang29 发表于 2006-9-11 09:32

你好:从图看应该是对的,能给我程序参考一下吗,多谢!

cao 发表于 2006-9-11 14:33

哈哈,不给哦,花了我一个晚上,更是让我生气了是:简单方法没有试出来,只能用笨方法,所以这个东西不能见人的哦!
你好像也已经做出来了吧!

jifang29 发表于 2006-9-11 14:58

我得出了一些系数但是得出的形式是元胞数组,我不会用里面的数据,能否指点下。

jifang29 发表于 2006-9-11 17:18

我用自己求出的系数笨笨的代进去也没有得出好的结果

cao 发表于 2006-9-11 18:49

对形式是元胞数组,可用这样的形式来读出num{1,1}
从你的图形上来看,我认为:你把某些项可能丢了,总共有20项累加,请注意!
还有:系数以Z的负次方递增,freqz(b,a);b,a值中的顺序别弄反了!
好运

jifang29 发表于 2006-9-11 19:40

谢谢你的回复。

syms z;
=numden(transfer1(19));
f1=maple('sort',n,z);
N=maple('degree',f1,z);
N=eval(N);
for j=0:N-1;
    temp=maple('coeff',f1,z,N-j);
    B{1,j+1}={temp};
end
celldisp(B)
f2=maple('sort',d,z);
D=maple('degree',f1,z);
D=eval(D);
for i=0:D-1;
    temp=maple('coeff',f2,z,D-i);
    A{1,i+1}={temp};
end
celldisp(A)


我利用上面的程序求的系数,不知道对不对。其中transfer是H(z)的表达式。结果是以Z的幂降次排序,我用得出的系数画出了上面的图,我也不知道问题在哪里?
页: [1] 2
查看完整版本: 求:高手帮忙画出附件中传递函数的幅频响应图,多谢!