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

article/2025/10/22 18:21:15

转自: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])

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

%%

%切比雪夫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])

%%

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


 

%切比雪夫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])

 

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

 %%

%椭圆——滤波器设计

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('椭圆模拟滤波器')

 

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

 %%

%数字滤波器

%脉冲响应法滤波器设计

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('数字滤波器——脉冲响应法')

%%

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

%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窗函数法')

%%

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

%频率采样法

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('数字滤波器——频率采样法')

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

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

%%

%利用等波纹最佳逼近法设计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('数字滤波器——等波纹最佳逼近法')

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

 


http://chatgpt.dhexx.cn/article/F03ufgpK.shtml

相关文章

matlab低通滤波

低通滤波器的功能是让低频率通过而滤掉或衰减高频,其作用是过滤掉包含在高频中的噪声。所以低通滤波的效果是图像去噪声平滑增强,但同时也抑制了图像的边界,造成图像不同程度上的模糊。 大于大小为MN的图像,频率点(u&…

基于MATLAB的filter的使用,低通、带通和高通滤波器设计

1、目的 学习MATLAB的filter函数的使用,通过设计低通、带通和高通滤波器对其进行仿真 2、用到的主要函数和工具 MATLAB、FDATOOL、filter、fft 3、设计 信号的产生 %% Parameter Interface Frequence0 60; %单位:Hz Frequenc…

Matlab中的滤波器

在matlab中我们需要生成滤波器时,可以使用matlab中自带的工具。 在matlab命令窗口中输入filterDesigner,出现下列窗口。 在这里根据需要设计自己所需要的滤波器即可。 设计完滤波器之后如果我们想要以函数的方式使用我们的滤波器,那么我们可…

【DSP教程】第36章 FIR滤波器的Matlab设计(含低通,高通,带通和带阻)

完整版教程下载地址:http://www.armbbs.cn/forum.php?modviewthread&tid94547 第36章 FIR滤波器的Matlab设计(含低通,高通,带通和带阻) 本章节讲解FIR滤波器的Matlab设计。主要是函数fir1和fir2的使用。 目录 36.1 窗函数 36…

1.巴特沃斯模拟滤波器(低通,高通,带通,带阻)设计-MATLAB实现

本文是模拟滤波器设计,如果需要了解数字滤波器的内容,可以按顺序看我写的另外两篇博客,如下: 2.MATLAB实现无限脉冲响应数字滤波器(IIR) 3.MATLAB实现有限脉冲响应数字滤波器(FIR)…

matlab设计模拟带通滤波器

简单记录下在matlab上如何设计出模拟的带通滤波器,包括:巴特沃斯滤波器、切比雪夫I型滤波器、切比雪夫II型滤波器、椭圆型滤波器。 代码如下: %设计带通滤波器 %巴特沃斯、切比雪夫I型、切比雪夫II型、椭圆型滤波器clear all;%wp和ws分别是通…

学习如何在matlab用带通滤波器进行滤波

如何在matlab用带通滤波器进行滤波? 主要内容是在知乎上看到的一篇文章 链接: https://zhuanlan.zhihu.com/p/152647067?from_voters_pagetrue.可以直接看这篇文章。 以带通滤波器——巴特沃斯滤波器为例 matlab给出的代码如下:[n,Wn] buttord(Wp,W…

matlab设计低通滤波器

matlab设计低通滤波器 文章目录 matlab设计低通滤波器 前言一、什么是滤波器?二、滤波器的技术指标三、滤波器的分类四、巴特沃斯低通滤波器设计1.输入信号设置2.设计滤波器3.滤波器输出信号 五、采用ADI公司的滤波器向导设计滤波器 前言 例如:随着人工…

matlab实现低通、高通、带通、带阻滤波

MATLAB滤波常用函数 模拟滤波器阶数选择函数 buttord 功能:计算butterworth模拟滤波器的阶数 调用格式: [n,Wn]buttord(Wp,Ws,Rp,Rs,s); % 参数中的n是求出模拟滤波器最小的阶数,Wn是等效低通滤波器的截止频率;Wp和Ws分别是通…

matlab制作数字滤波器(带通滤波器)

一、目的 使用matlab中自带的工具fdatool制作带通滤波器,对数据进行滤波。 二、过程 如图,使用该工具制作了一个带通滤波器,频率为130-180Hz,使用汉明窗截短,滤波器的阶数为250。 滤波器的冲击响应如下图 将生成的滤…

matlab实现带通滤波

以带通滤波器——巴特沃斯滤波器为例 matlab给出的代码如下:[n,Wn] buttord(Wp,Ws,Rp,Rs) 首先要先理解一个带通滤波器的幅频特性图中,分为通带、阻带、过渡带三大部分。 通带截止频率和阻带截止频率对这三部分进行划分,二者之间的部分即…

PTAM算法流程介绍

相关工作:1、摄像机校正 2、特征提取(FAST角点特征、扭曲图像的直线特征优化) 3、极线几何与极线搜索 4、RANSAC(随机采样一致)及N点算法(主要围绕5点算法) 5、Bundle Adjustment(光…

智能优化算法、智能控制算法、多目标优化、MPPT、无功优化

一、主题 matlab,python等智能优化算法、智能控制算法、多目标优化、MPPT、无功优化、机器学习类程序,可提供指导。 二、主要领域 开关电源、最大功率点跟踪(恒电压法、电导增量法、爬山法、智能算法等)、并网逆变器控制、多目…

【图】普利姆算法(prim算法)基本思想

一、prim算法基本思想: 假设G=(V,E)是连通的,TE是G上最小生成树中边的集合。算法从U={u0}(u0∈V)、TE={}开始。重复执行下列操作: 在所有u∈U,v∈V&#xf…

MP算法与OMP算法讲解一

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/ice110956/article/details/18403789 稀疏编码的一般最优化公式为: 其中的零范数为非…

MP算法和OMP算法介绍

正交匹配追踪算法是90年代初提出来的,主要目的是将信号在完备的字典库上进行稀疏分解。 1. 信号的稀疏表示(sparse representation of signals) 预设一个过完备字典矩阵,矩阵每列表示一种原型信号的原子。可将一个信号y表示成这些原子的稀疏线性组合。即 y = Dx ,或者…

单相/三相光伏发电并网/离网simlink仿真(MPPT)或是大功率VSC 最大功率点追踪算法(MPPT)仿真模型

单相/三相光伏发电并网/离网simlink仿真(MPPT)或是大功率VSC 最大功率点追踪算法(MPPT)仿真模型, 有基于扰动观察法(P&O),恒压算法,电导增量法,变步长扰动…

光伏逆变simlink仿真(MPPT) 最大功率点追踪算法(MPPT)仿真模型,本设计基于扰动观察法

光伏逆变simlink仿真(MPPT) 最大功率点追踪算法(MPPT)仿真模型,本设计基于扰动观察法(P&O)最大功率点跟踪算法追踪光伏电池的发电曲线,实现最大功率点追踪输出的仿真模型。 目前…

Matlab|基于粒子群优化算法及鲁棒MPPT控制器提高光伏并网的效率

📋📋📋本文目录如下:⛳️⛳️⛳️ 目录 1 光伏特性 2 动机 3 基于粒子群优化的MPPT算法 4 运行结果 5 结论 6 Simulink&Matlab代码实现 1 光伏特性 光伏电池特性是非线性的,其输出功率随辐照度和温度的变化而变化。…

OMP与MP算法流程与代码

目录 1. 算法描述2. 部分公式推导3. 算法代码3.1 OMP算法代码3.2 MP算法代码 4. 例子 本文算法描述主要来自下面书籍的3.1节。 [1] 【以色列】Michael Elad著. 曹铁勇等翻.《稀疏与冗余表示–理论及其在信号与图像处理中的应用》.国防工业出版社. 2015. 1. 算法描述 (1) 任务&a…