IIR滤波器直接型与级联型的设计Matlab代码.docVIP

  • 196
  • 0
  • 约2.37千字
  • 约 2页
  • 2016-07-03 发布于重庆
  • 举报

IIR滤波器直接型与级联型的设计Matlab代码.doc

IIR滤波器直接型与级联型的设计Matlab代码

clear;clc; %% [y,fs]=wavread(music1-2); qq=16; %% 设置滤波器参数 Wp=2*900;Ws=2*1500;Rp=0.1;Rs=60;Fs=32000; wp=Wp/Fs;ws=Ws/Fs; %% 选择滤波器类型 %[N,Wpo]=cheb2ord(wp,ws,Rp,Rs);%求切比雪夫2型归一化模拟低通滤波器的阶数 %[b,a]=cheby2(N,Rs,Wpo);%设计滤波器 [N,Wpo]=cheb1ord(wp,ws,Rp,Rs);%求切比雪夫1型归一化模拟低通滤波器的阶数 [b,a]=cheby1(N,Rp,Wpo);%设计滤波器 %[N,Wpo]=buttord(wp,ws,Rp,Rs);%求巴特沃斯型归一化模拟低通滤波器的阶数 %[b,a]=butter(N,Wpo);%设计滤波器 %[N,Wpo]=ellipord(wp,ws,Rp,Rs);%求椭圆型归一化模拟低通滤波器的阶数 %[b,a]=ellip(N,Rp,Rs,Wpo);%设计椭圆滤波器 %% 滤波器频响 [h,w]=freqz(b,a,1024);%求滤波器的幅频响应 h=20*log10(abs(h)/max(abs(h)));%幅度归一 figure;plot(w/2/pi*Fs,h); title(滤波器的幅频响应);grid on; bqr=intbR(b,qq);aqr=intbR(a,qq); [hr,wr]=freqz(bqr,aqr,1024); hr=20*log10(abs(hr)/max(abs(hr))); %figure;plot((0:1023)/1024,hr); figure;plot(w/2/pi*Fs,hr); title(滤波器的量化后的幅频响应);grid on; %% 级联处理 [sos,g]=tf2sos(b,a); b1=sos(1,1:3);a1=sos(1,4:6); b2=sos(2,1:3);a2=sos(2,4:6); b3=sos(3,1:3);a3=sos(3,4:6); b4=sos(4,1:3);a4=sos(4,4:6); b5=sos(5,1:3);a5=sos(5,4:6); % b6=sos(6,1:3);a6=sos(6,4:6); % b7=sos(7,1:3);a7=sos(7,4:6); % b8=sos(8,1:3);a8=sos(8,4:6); % b9=sos(9,1:3);a9=sos(9,4:6); %% 级联量化 bqr1=intbR(b1,qq); aqr1=intbR(a1,qq); [h1,w1]=freqz(bqr1,aqr1,1024); bqr2=intbR(b2,qq); aqr2=intbR(a2,qq); [h2,w1]=freqz(bqr2,aqr2,1024); bqr3=intbR(b3,qq); aqr3=intbR(a3,qq); [h3,w1]=freqz(bqr3,aqr3,1024); bqr4=intbR(b4,qq); aqr4=intbR(a4,qq); [h4,w1]=freqz(bqr4,aqr4,1024); bqr5=intbR(b5,qq); aqr5=intbR(a5,qq); [h5,w1]=freqz(bqr5,aqr5,1024); % bqr6=intbR(b6,qq); aqr6=intbR(a6,qq); % [h6,w1]=freqz(bqr6,aqr6,1024); % bqr7=intbR(b7,qq); aqr7=intbR(a7,qq); % [h7,w1]=freqz(bqr7,aqr7,1024); % bqr8=intbR(b3,qq); aqr8=intbR(a8,qq); % [h8,w1]=freqz(bqr8,aqr8,1024); % bqr9=intbR(b3,qq); aqr9=intbR(a9,qq); %[h9,w1]=freqz(bqr9,aqr9,1024); hh=h1.*h2.*h3;%.*h4;%.*h5.*h6.*h7;%.*h8.*h9; hh=20*log10(abs(hh)/max(abs(hh))); sos1=intbR(sos,qq); %% 信号过系统 %yy=filter(bqr,aqr,y); yy=filter(b,a,y); Y=sosfilt(sos1,y); %% 画图 figure; %specgram(Y); %sound(yy,fs); %plot(20*log10

文档评论(0)

1亿VIP精品文档

相关文档