电子科技大学信号处理实验4 - 数字滤波器设计及实现

发布时间 : 星期三 文章电子科技大学信号处理实验4 - 数字滤波器设计及实现更新完毕开始阅读

%FIR滤波器的设计 rp=1; rs=40; Ffs=20000; Ff=[2200,3500]; a=[1,0];

dev=[(10^(rp/20)-1)/(10^(rp/20)+1),10^(-rs/20)]; [N,fo,ao,w]=firpmord(Ff,a,dev,Ffs); Wn=2200/Ffs*2; h_fir=fir1(N,Wn); freqz(h_fir,1)

(3) 用fdatool完成IIR和FIR滤波器设计,得出需要的滤波器系数。 (4) 用直接型实现前面的滤波器系数,分别用FIR和IIR滤波器对FSK信

号滤波,观察滤波结果,画出时域和频域图像。

%IIR滤波器的实现 T=0.1; format long fw_b=100; fw1=2000; fw2=4000; fs=20000; ts=1/fs; tw=1/fw_b; tb=0:tw:T; N=length(tb);

t=0:ts:T;

random=rand(1,N); x_b=zeros(1,N); for n=1:N

if(random(n)>=0.5) x_b(n)=1; else

x_b(n)=0; end end

x=zeros(1,length(t)); m=1; for n=2:N

for k=m:length(t) if (t(k)

x(k)=cos(2*pi*fw1*t(k)); else

x(k)=cos(2*pi*fw2*t(k)); end m=k+1; end end end figure(1); subplot(2,2,1); plot(t,x);

title('FSK信号的时域图'); xlabel('时间/s');ylabel('y'); nn=length(x);

r=fft(x)/n; r=fftshift(r);

f=linspace(-fs/2,fs/2,nn); subplot(2,2,2); plot(f,abs(r));

title('FSK信号的频域图'); xlabel('频率/Hz');ylabel('幅值/A');

Ffs=20000; Wp=2200*2/Ffs; Ws=3500*2/Ffs; Rp=1; Rs=40;

[N,Wn]=buttord(Wp,Ws,Rp,Rs); [num,den]=butter(N,Wn);

y=filter(num,den,x); subplot(2,2,3); plot(t,y);

title('IIR滤波器滤波后的时域图'); xlabel('时间/s');ylabel('y'); r_f=fft(y)/n; r_f=fftshift(r_f); subplot(2,2,4); plot(f,abs(r_f));

title('IIR滤波器滤波后的频域图'); xlabel('频率/Hz');ylabel('幅值/A');

联系合同范文客服:xxxxx#qq.com(#替换为@)