声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1156|回复: 0

[绘图技巧] 得出滤波器的传递函数,如何画出其幅频相应

[复制链接]
发表于 2006-8-26 10:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
滤波器的传递函数如下,下一步我想绘出其幅频响应图,不知道该如何实现,高手指教。
%product.m,阶乘函数%
function y=product(a0)
a=a0;
if (a<21)
    y=factorial(a);
else
   y=1;
   for i=1:a
   y=y*i
   end
end   
%sun.m 求值表达式%
function y=sun(k0,t0,w10,w20,x)
k=k0;t=t0;w1=w10;w2=w20;
y=0;
for p=0:k   
    sum1=0;n=p;
    while( n<=2*t)  
        if (n~=t)
             s=(sin(w2*(n-t))-sin(w1*(n-t)))/(pi*(n-t));
             sum1=sum1+s*product(k+n-p)/(product(n-p)*product(k))*x.^(k+n-2*p);        
        else
             s=(w2-w1)/pi;
             sum1=sum1+s*product(k+n-p)/(product(n-p)*product(k))*x.^(k+n-2*p);
        end   
        n=n+1;
    end
    z=(-1)^(p+k)*product(k)/(product(k-p)*product(p));
    y=y+z*sum1;
end
%myfun1.m求滤波器系数%
function y=myfun(n0)
n=n0;
y=sqrt(1-0.40651^2)*sun(n,16,0,pi/4,0.40651);
end
%transfer1.m传递函数%
function y=transfer1(k0)
k=k0;y=0;syms z;
for j=0:k;
L=sqrt(1-0.40651^2)*(z.^(-1)-0.40651).^j/(1-0.40651*z.^(-1)).^(j+1);
y=y+myfun1(j)*L;
end

以上程序得出我所需要的系统传递函数,现在想要画出其幅频响应图,不知该如何画。
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-25 07:24 , Processed in 0.050454 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表