• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

【转】【MATLAB】模拟和数字低通滤波器的MATLAB实现

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

原文地址:http://blog.sina.com.cn/s/blog_79ecf6980100vcrf.html

低通滤波器参数:Fs=8000,fp=2500,fs=3500,Rp=1dB,As=30dB,其他滤波器可以通过与低通之间的映射关系实现。

%%模拟滤波器
%巴特沃斯——滤波器设计
wp=2*pi*2500;ws=2*pi*3500;Rp=1;As=30;
[N,wc]=buttord(wp,ws,Rp,As,\'s\')%计算率波器的阶数和3dB截止频率
[B,A]=butter(N,wc,\'s\');%计算滤波器系统函数分子分母多项式
fk=0:800/512:8000;wk=2*pi*fk;
Hk=freqs(B,A,wk);
figure
plot(fk/1000,20*log10(abs(Hk)));
grid on,xlabel(\'频率(kHz)\'),ylabel(\'幅度(dB)\')
title(\'巴特沃斯模拟滤波器\')
axis([0,4,-35,5])

  

%%
%切比雪夫I——滤波器设计
wp=2*pi*2500;ws=2*pi*3500;Rp=1;As=30;
[N1,wp1]=cheb1ord(wp,ws,Rp,As,\'s\')%计算切比雪夫滤波器的阶数和通带边界频率
[B1,A1]=cheby1(N1,Rp,wp1,\'s\');%计算滤波器系统函数分子分母多项式
fk=0:800/512:8000;wk=2*pi*fk;
Hk=freqs(B1,A1,wk);figure,
plot(fk/1000,20*log10(abs(Hk)));
grid on,xlabel(\'频率(kHz)\'),ylabel(\'幅度(dB)\')
title(\'切比雪夫I模拟滤波器\')
axis([0,4,-35,5])
%%

%切比雪夫II——滤波器设计
wp=2*pi*2500;ws=2*pi*3500;Rp=1;As=30;
[N2,wso]=cheb2ord(wp,ws,Rp,As,\'s\')%计算切比雪夫滤波器的阶数和通带边界频率
[B2,A2]=cheby2(N1,Rp,wso,\'s\');%计算滤波器系统函数分子分母多项式
fk=0:800/512:8000;wk=2*pi*fk;
Hk=freqs(B1,A1,wk);figure,
plot(fk/1000,20*log10(abs(Hk)));
grid on,xlabel(\'频率(kHz)\'),ylabel(\'幅度(dB)\')
title(\'切比雪夫II模拟滤波器\')
axis([0,4,-35,5])



%%
%椭圆——滤波器设计
wp=2*pi*2500;ws=2*pi*3500;Rp=1;As=30;
[N,wpo]=ellipord(wp,ws,Rp,As,\'s\')%计算滤波器的阶数和通带边界频率
[B,A]=ellip(N,Rp,As,wpo,\'s\');%计算滤波器系统函数分子分母多项式
fk=0:800/512:8000;wk=2*pi*fk;
Hk=freqs(B1,A1,wk);figure,
plot(fk/1000,20*log10(abs(Hk)));
grid on,xlabel(\'频率(kHz)\'),ylabel(\'幅度(dB)\')
axis([0,4,-35,5]),title(\'椭圆模拟滤波器\')

%%
%数字滤波器
%脉冲响应法滤波器设计
fp=2500;fs=3500;Fs=8000;
wp=2*fp/Fs;ws=2*fs/Fs;%求归一化数字通带截止频率,求归一化数字阻带起始频率 
deltaw=ws-wp;%求过渡带宽
N0=ceil(6.6/deltaw);%求窗口长度
N=N0+mod(N0+1,2); %确保窗口长度 N为奇数 
n=N-1;%求出滤波器的阶数 n 
wn=(ws+wp)/2; %求滤波器的截止频率 
b=fir1(n,wn)%利用 fir1 函数求出滤波器的系数
[Hk,w] = freqz(b,1);                     %  计算频率响应 
mag = abs(Hk);                         %  求幅频特性
db = 20*log10(mag/max(mag));           %  化为分贝值 
dw =pi/512; %关于pi归一化
Rp = -(min(db(1:wp*pi/dw+1)))            %  检验通带波动 
As = -(max(db(ws*pi/dw+1:512)))         %  检验最小阻带衰减 
figure,plot(0:pi/511:pi,db),grid on
axis([0,4.0,-80,5]),title(\'数字滤波器——脉冲响应法\')
%%

%fir1窗函数法
fp=2500;fs=3500;Fs=8000;rs=30;
wp=2*fp*pi/Fs;ws=2*fs*pi/Fs;%求归一化数字通带截止频率,求归一化数字阻带起始频率 
Bt=ws-wp;%求过渡带宽
alpha=0.5842*(rs-21)^0.4+0.07886*(rs-21);%计算kaiser窗的控制参数
M=ceil((rs-8)/2.285/Bt);%求出滤波器的阶数
wc=(ws+wp)/2/pi; %求滤波器的截止频率并关于pi归一化 
hk=fir1(M,wc,kaiser(M+1,alpha))%利用 fir1 函数求出滤波器的系数
[Hk,w] = freqz(hk,1);                     %  计算频率响应 
mag = abs(Hk);                         %  求幅频特性
db = 20*log10(mag/max(mag));           %  化为分贝值 
db1=db\';
figure,plot(0:pi/511:pi,db1),grid on
axis([0,4.0,-80,5]),title(\'数字滤波器——fir1窗函数法\')
%%

 

 

%频率采样法
fp=2500;fs=3500;Fs=8000;rs=30;
wp=2*fp*pi/Fs;ws=2*fs*pi/Fs;%求归一化数字通带截止频率,求归一化数字阻带起始频率 
Bt=ws-wp;%求过渡带宽
m=1;alpha=0.5842*(rs-21)^0.4+0.07886*(rs-21);%计算kaiser窗的控制参数
N=ceil(m+1)*2*pi/Bt;%求出滤波器的阶数
N=N+mod(N+1,2);
Np=fix(wp/(2*pi/N));
Ns=N-2*Np-1;
Hk=[ones(1,Np+1),zeros(1,Ns),ones(1,Np)];
wc=(ws+wp)/2/pi; %求滤波器的截止频率并关于pi归一化 
hk=fir1(M,wc,kaiser(M+1,alpha))%利用 fir1 函数求出滤波器的系数
[Hk,w] = freqz(hk,1);                     %  计算频率响应 
mag = abs(Hk);                         %  求幅频特性
db = 20*log10(mag/max(mag));           %  化为分贝值 
db1=db\';
figure,plot(0:pi/511:pi,db1),grid on
axis([0,4.0,-80,5]),title(\'数字滤波器——频率采样法\')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 

  

%%
%利用等波纹最佳逼近法设计FIR数字滤波器
Fs=8000;f=[2500,3500];m=[1,0];
rp=1;rs=30;
delta1=(10^(rp/20)-1)/(10^(rp/20)+1);delta2=10^(-rs/20);
rip=[delta1,delta2];
[M,fo,mo,w]=remezord(f,m,rip,Fs);%边界频率为模拟频率时必须加入采样频率
M=M+1;%估算的M直达不到要求,家1后满足要求
hn=remez(M,fo,mo,w);
[Hk,w] = freqz(hn,1);                     %  计算频率响应 
mag = abs(Hk);                         %  求幅频特性
db = 20*log10(mag/max(mag));           %  化为分贝值 
db1=db\';
figure,plot(0:pi/511:pi,db1),grid on
axis([0,4.0,-80,5]),title(\'数字滤波器——等波纹最佳逼近法\')

 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
matlab仿真二维光子晶体最简程序发布时间:2022-07-18
下一篇:
Delphi D10.X中Tpath引发的单元引用及代码编写的思考发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap