巴特沃斯低通滤波器程序代码:
wp=2*pi*5000;ws=2*pi*12000;Rp=2;As=30;%设置滤波器参数
[N,wc]=buttord(wp,ws,Rp,As,'s');%计算滤波器阶数N 和3dB 截止频率wc
[B,A]=butter(N,wc,'s');%计算滤波器系统函数分子和分母多项式系数 k=0:511;fk=0:14000/512:14000;wk=2*pi*fk;
Hk=freqs(B,A,wk);%计算滤波器的频率响应
plot(fk/1000,20*log10(abs(Hk))); grid on;%以dB
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示频率响应的幅度 title('巴特沃斯低通滤波器');
xlabel('频率(kHz)'); ylabel('幅度(dB)'); axis([0,14,-40,5]):
运行结果为:
N=5,wc=3.7792e+004,B=7.7094e+022
A=[1 1.223e+005 7.4785e+009 2.8263e+014 6.6014e+018 7.7094e+022]
巴特沃斯低通滤波器
频率(kHz)幅度(d B )
巴特沃斯高通滤波器代码
%调用函数buttord 和butter 直接
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
巴特沃斯高通滤波器
wp=2*pi*4000;ws=2*pi*1000;Rp=0.1;As=30;%设置高通滤波器参数
[N,wc]=buttord(wp,ws,Rp,As,'s');%计算滤波器阶数N 和3dB 截止频率wc
[BH,AH]=butter(N,wc,'high','s');%计算高通滤波器系统函数分子分母多项式系数
k=0:511;fk=0:14000/512:14000;wk=2*pi*fk;
Hk=freqs(BH,AH,wk);
plot(fk/1000,20*log10(abs(Hk)));grid on;
title('巴特沃斯高通滤波器');
xlabel('频率(kHz)');ylabel('幅度(dB)'); axis([0,14,-40,5]); 运行结果为:
N=4,BH=[1 0 0 0 0]
AH=[1 38930 7.5778e+008 8.6405e+012 4.9261e+016 ]
巴特沃斯高通滤波器
频率(kHz)
幅度(d B )
巴特沃斯带通滤波器程序代码
wp=2*pi*[4000,7000];ws=2*pi*[2000,9000];Rp=1;As=20;%设置带通滤波器%
参数 [N,wc]=buttord(wp,ws,Rp,As,'s');%计算带通滤波器阶数N 和3dB 截止频
率%wc [BB,AB]=butter(N,wc,'s');%计算带通滤波器系统函数分子和分母多项式系%
数向量BB 和AB k=0:511;fk=0:14000/512:14000;wk=2*pi*fk; Hk=freqs(BB,AB,wk);
plot(fk/1000,20*log10(abs(Hk)));grid on title('巴特沃斯带通滤波器'); xlabel('频率(kHz)');ylabel('幅度(dB)'); axis([0,14,-40,5]) 运行结果:
N=5;BB=[0 0 0 0 0 6.9703e+021 0 0 0 0 0] AB=[1 75625 8.3866e+009 4.0121e+014 2.2667e+019 7.0915e+023 2.5056e+028 4.9024e+032
1.1328e+037
1.1291e+041 1.6504e+045]
巴特沃斯带通滤波器
频率(kHz)
幅度(d B )
巴特沃斯带阻滤波器
wp=2*pi*[2000,9000];ws=2*pi*[4000,7000];Rp=1;As=20;%设置带阻滤波器%
参数 [N,wc]=buttord(wp,ws,Rp,As,'s');%计算带阻滤波器阶数N 和3dB 截止频
率%wc [BSb,ASb]=butter(N,wc,'stop','s');%计算带阻滤波器系统函数分子和分母多%
项式系数 k=0:511;fk=0:14000/512:14000;wk=2*pi*fk; Hk=freqs(BSb,ASb,wk);
plot(fk/1000,20*log10(abs(Hk)));grid on title('巴特沃斯带阻滤波器'); xlabel('频率(kHz)');ylabel('幅度(dB)'); axis([0,14,-40,5]); 运行结果为: N=5,
BSb=[1 0 5.527e+009 0 1.2219e+019 0
1.3507e+028 0
7.4652e+036 0 1.6504e+045] ASb=[1 96579 1.0191e+010 5.6622e+014 3.0252e+019 1.0394e+024 3.3441e+028 6.9186e+032
1.3764e+037
1.442e+041
1.6504e+045]
巴特沃斯带阻滤波器
频率(kHz)
幅度(d B )
利用等波纹最佳逼近法设计FIR 数字滤波器 低通滤波器程序代码: clc
f=[1500,2500]; %边界频率为模拟频率(hz) Fs=10000; %对模拟信号的采样频率为10Khz
m=[1,0];rp=1;rs=40;%通带最大衰减为1 dB,阻带最小衰减为40 dB dat1=(10^(rp/20)-1)/(10^(rp/20)+1); dat2=10^(-rs/20); rip=[dat1,dat2];
[M,fo,mo,w]=remezord(f,m,rip,Fs);%边界为模拟频率(Hz)时必须加入采样
频%率FS M=M+1;%估算的M 值达不到要求,加1后满足要求 hn=remez(M,fo,mo,w); subplot(1,2,1);n=0:M; stem(n,hn);
xlabel('n');ylabel('h(n)'); axis=([0,30,-0.2,0.6]); [hf,f]=freqz(hn,1,2048,Fs);
subplot(1,2,2);plot(f/1000,20*log10(abs(hf)));grid on xlabel('f/Khz');ylabel('幅度(dB)');
n
h (n )
f/Khz
幅度(d B )
高通滤波器程序代码: clc
f=[1500,2500]; %边界频率为模拟频率(hz) Fs=10000; %对模拟信号的采样频率为10Khz m=[0,1];rp=1;rs=40;
dat1=(10^(rp/20)-1)/(10^(rp/20)+1); dat2=10^(-rs/20); rip=[dat1,dat2];
[M,fo,mo,w]=remezord(f,m,rip,Fs); %边界为模拟频率(Hz)时必须加入采样
频%率FS hn=remez(M,fo,mo,w); subplot(1,2,1); n=0:M; stem(n,hn);
xlabel('n');ylabel('h(n)'); axis=([0,30,-0.1,0.4]); [hf,f]=freqz(hn,1,1024,Fs);
subplot(1,2,2);plot(f/1000,20*log10(abs(hf)));grid on xlabel('f/Khz');ylabel('幅度(dB)');
温馨推荐
您可前往百度文库小程序
享受更优阅读体验
不去了
立即体验
n
h (n )
f/Khz
幅度(d B )
带通滤波器程序代码; clc
f=[2500,3500,6500,75000]; %边界频率为模拟频率(hz) Fs=20000; %对模拟信号的采样频率为20Khz m=[0,1,0];rp=1;rs=40;
dat1=(10^(rp/20)-1)/(10^(rp/20)+1); dat2=10^(-rs/20); rip=[dat2,dat1,dat2];
[M,fo,mo,w]=remezord(f,m,rip,Fs); %边界为模拟频率(Hz)时必须加入采样%
频率FS hn=remez(M,fo,mo,w); subplot(1,2,1);n=0:M; stem(n,hn);
xlabel('n');ylabel('h(n)'); [hf,f]=freqz(hn,1,1024,Fs);
subplot(1,2,2);plot(f/1000,20*log10(abs(hf)));grid on xlabel('f/Khz');ylabel('幅度(dB)');
n
h (n )
f/Khz
幅度(d B )
带阻滤波器程序代码: clc
f=[2500,3500,6500,7500]; %边界频率为模拟频率(hz) Fs=18000; %对模拟信号的采样频率为18Khz m=[1,0,1];rp=1;rs=40;
dat1=(10^(rp/20)-1)/(10^(rp/20)+1); dat2=10^(-rs/20); rip=[dat1,dat2,dat1];
[M,fo,mo,w]=remezord(f,m,rip,Fs); %边界为模拟频率(Hz)时必须加入采样%
频率FS hn=remez(M,fo,mo,w); subplot(1,2,1);n=0:M; stem(n,hn);
xlabel('n');ylabel('h(n)'); [hf,f]=freqz(hn,1,1024,Fs);
subplot(1,2,2);plot(f/1000,20*log10(abs(hf)));grid on xlabel('f/Khz');ylabel('幅度(dB)');
n
h (n )
f/Khz
幅度(d B )