matlab滤波器阶数,!!!!滤波器阶数问题!!!!

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

求助:我的滤波器是多通带的,已经设计好了,就是不知道阶数是多少,请帮我分析一下,到底多少阶,请具体说明,谢谢!邮箱:lfhhenry@yahoo.com.cn

N=201;

w1=475;w2=525;w3=975;w4=1025;fs=5000;

k1=ceil(w1*N/fs);k2=ceil(w2*N/fs);k3=ceil(w3*N/fs);k4=ceil(w4*N/fs);

t1=k2-k1+1;t2=k4-k3+1;t3=3;t4=3;

a=0.3229;b=0.3479;

A=[zeros(1,k1-1),a,0.8*ones(1,t1),b,zeros(1,k3-k2-3),a,ones(1,t2),b,zeros(1,114),b,ones(1,t3),a,zeros(1,15),b,0.8*ones(1,t4),a,zeros(1,18)];

theta=-pi*[1:N]*(N-1)/N;

H=A.*exp(-j*theta);

h=real(ifft(H));

v=0:N-1;

figure(2);

plot(v*2*pi/N,A,'k*')

title('频率样本');xlabel('k');ylabel('H(k)');

figure(3);

plot(v,h,'k')

xlabel('n/\pi');ylabel('h(n)');

title('脉冲响应');axis([0,fix(N*1.1),-0.1,0.4]);

M=500;

nx=[1:N];

w=linspace(0,pi,M);

X=h*exp(-j*nx'*w);

figure(4);

plot(w./pi,abs(X),'k')

title('幅度响应');xlabel('\omega/\pi');ylabel('Hd(\omega)');

axis([0,1,-0.1,1.3]);

figure(5);

hn=20*log10(abs(X));

plot(w./pi,hn,'k')

title('幅度响应');xlabel('\omeg/\pi');ylabel('dB');

axis([0,1,-50,10]),grid on;

Y=xinhao;

yy=X.*Y(1:M);

figure(6);

plot(w./pi,abs(yy))

title('滤波效果'),xlabel('rad');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值