0 卖盘信息
BOM询价
您现在的位置: 首页 > 电子资讯 >设计应用 > 基于MATLAB的理想低通滤波器的设计

基于MATLAB的理想低通滤波器的设计

2018-02-24
类别:设计应用
eye 481
文章创建人 拍明


对于不同滤波器而言,每个频率的信号的强弱程度不同。当使用在音频应用时,它有时被称为高频剪切滤波器, 或高音消除滤波器。低通滤波器概念有许多不同的形式,其中包括电子线路(如音频设备中使用的hiss 滤波器)、平滑数据的数字算法、音障(acousc barriers)、图像模糊处理等等,这两个工具都通过剔除短期波动、保留长期发展趋势提供了信号的平滑形式。

低通滤波器在信号处理中的作用等同于其它领域如金融领域中移动平均数(moving average)所起的作用;低通滤波器有很多种,其中,最通用的就是巴特沃斯滤波器和切比雪夫滤波器。

数字滤波器设计流程图

数字滤波器设计流程图.png

数字滤波器的设计步骤

数字滤波器的设计步骤:根据数字滤波器的技术指标先设计过渡模拟滤波器得到系统函数Ha(s),然后将Ha(s)按某种方法(本实验采用双线性变换法)转换成数字滤波器的系统函数H(z)。具体为:

(1)确定巴特沃斯数字低通滤波器的技术指标:通带边界频率ωp,阻带截止频率ωs,通带最大衰减аp,阻带最小衰减аs。

(2)将数字滤波器的技术指标转换为模拟滤波器的技术指标。这里指ωp和ωs的变换而аp和аs保持不变。本题采用双线性变换法,其转换公式为:

数字滤波器的技术指标转换公式.png

(3)根据技术指标Ωp、Ωs、ωp和ωs用下面公式求出滤波器的阶数。

滤波器的阶数公式.png

(4)根据N由下表求出归一化极点kp和归一化低通原型系统函数Ga(p)。

归一化极点kp和归一化低通原型系统函数Ga(p)公式.png

(5)将Ga(p)去归一化,将基于MATLAB的理想低通滤波器的设计代入Ga(p),得到实际的滤波器系统函数:

滤波器系统函数公式.png

这里Ωc为3dB截止频率。

(6)用双线性变换法将模拟滤波器Ha(s)转换成数字低通滤波器系统函数H(z)。转换公式为

数字低通滤波器系统函数H(z)转换公式.png

用matlab实现巴特沃斯低通数字滤波器

Matlab程序如下:

fs=500;

t=0:1/fs:1;

x=sin(2*pi*20*t)+2*sin(2*pi*100*t)+5*sin(2*pi*200*t);

wp=2*30/fs; ws=2*60/fs;

Rp=1; As=30;

subplot(311);

plot(t,x);

tle(‘输入信号’);

[N,wc]=buttord(wp,ws,Rp,As);

[B,A]=butter(N,wc);

[H,W]=freqz(B,A);

y=filter(B,A,x);

subplot(312);

plot(W,abs(H));

tle(‘低通滤波器’);

subplot(313);

plot(t,y)

tle(‘30Hz’);


MATLAB介绍

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

功能特性

主要功能

数值分析

数值和符号计算

工程与科学绘图

控制系统的设计与仿真

数字图像处理

数字信号处理

通讯系统设计与仿真

财务与金融工程

重要功能

·MATLAB®: MATLAB 语言的单元测试框架

MATLAB工作界面

MATLAB工作界面

·Trading Toolbox™: 一款用于访问价格并将订单发送到交易系统的新产品

·Financial Instruments Toolbox™: 赫尔-怀特、线性高斯和 LIBOR 市场模型的校准和 Monte Carlo 仿真

·Image Processing Toolbox™: 使用有效轮廓进行图像分割、对 10 个函数实现 C 代码生成,对 11 个函数使用 GPU 加速

·Image Acquisition Toolbox™: 提供了用于采集图像、深度图和框架数据的 Kinect® for Windows®传感器支持

·Statistics Toolbox™: 用于二进制分类的支持向量机 (SVM)、用于缺失数据的 PCA 算法和 Anderson-Darling 拟合优度检验

·Data Acquisition Toolbox™: 为 Digilent Analog Discovery Design Kit 提供了支持包

·Vehicle Network Toolbox™: 为访问 CAN 总线上的 ECU 提供 XCP

支持

Simulink 产品系列重要功能

·Simulink®: Simulation Performance Advisor,链接库模块的封装,以及通过逻辑表达式控制有效变量

·Simulink: 除 LEGO® MINDSTORMS® NXT、Arduino®、Pandaboard 和 Beagleboard 外,还为 Raspberry Pi™ 和 Gumstix® Overo® 硬件提供了内置支持

·SimRF™: 针对快速仿真和模型加载时间的电路包络求解器

·SimMechanics™: 发布了用于从 CAD 和其他系统导入模型的 XML 架构

·Simulink Design Verifier™: 数组超出边界检查

MATLAB 和 Simulink 的系统工具箱

·Communications System Toolbo Sphere 解码器和 Constellation 框图系统对象

·Computer Vision System Toolbox™: 相机标定,立体视觉,Viola-Jones 对象检测培训,FREAK 特征提取和其他新函数

·DSP System Toolbox™: 频谱分析仪和逻辑分析示波器,以及时域示波器的触发

·Phased Array System Toolbox™: 极化支持、数组锥化以及针对传感器数组分析、波形分析和雷达方程计算的应用程序代码生成和实现

·Simulink Coder™: 减少了从 Stateflow® 调用的 Simulink 函数的数据副本

·Fixed-Point Designer™: 一款结合了 Fixed-Point Toolbox™ 和 Simulink Fixed Point™ 功能的新产品

·HDL Verifier™: 从 MATLAB 生成 HDL 测试工作台

优势特点

1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;

2) 具有完备的图形处理功能,实现计算结果和编程的可视化;

3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;

4) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。

编程环境

MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。

简单易用

Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。

强大处理

MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而且经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++ 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。

图形处理

MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。

模块工具

MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。

程序接口

新版本的MATLAB可以利用MATLAB编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++代码。允许用户编写可以和MATLAB进行交互的C或C++语言程序。另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。MATLAB的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。

软件开发

在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。


低通滤波器介绍

低通滤波器是容许低于截止频率的信号通过, 但高于截止频率的信号不能通过的电子滤波装置。

低通滤波器

种类

高通与低通滤波器的最常见拓扑是Sallen Key。

高通

它只需一个运放(图1a和1b)。多通(道)滤波器常用作带通滤波器(图1c),而且它还只需要一个运放。图2及图3示出了双二阶滤波器部分的拓扑。每种结构都能实现完整的通用滤波器传递函数。图2所示电路使用三个运放,并且使用中央运放的目的仅是为了使总的反馈路径为负反馈。带开关电容器的相同滤波器只需两个运放(图3)。参考文献1和2介绍了这些滤波器结构。

并且使用中央运放的目的仅是为了使总的反馈路径为负反馈

低通

低通滤波器允许从直流到某个截止频率(fCUTOFF) 的信号通过。将通用滤波器二阶传递函数的高通和带通系数均设为零,即得到一个二阶低通滤波器传递公式:

对于高于f0的频率,信号按该频率平方的速率下降。在频率f0处,阻尼值使输出信号衰减。您可以级联多个这样的滤波器部分来得到一个更高阶的(更陡峭的转降)滤波器。假定设计要求一个截止频率为10kHz的四阶贝塞尔(Bessel) 低通滤波器。根据参考文献1,每部分的转降频率分别为16.13及18.19 kHz,阻尼值分别为1.775及0.821,并且这两个滤波器分区的高通、带通和低通系数分别为0、0与1。您可以使用这两个带有上述参数的滤波器部分来实现所要求的滤波器。截止频率为输出信号衰减3 dB的频率点。

有源低通滤波器

滤波器是一种能使有用频率信号通过而同时抑制无用频率信号的电子装置,常用于信号处理、数据传输和干扰抑制等方面,有源低通滤波电路由集成运放和无源元件电阻和电容构成。它的功能是允许从零到某个截止频率的信号无衰减地通过,而对其他频率的信号有抑制作用。有源低通滤波电路可以用来滤除高频干扰信号。

基本概念

波电路的作用就是允许某段频率范围内的信号通过,而阻止或削弱其他频率范围的信号。有源滤波电路由电阻、电容和集成运算放大器组成,又称为有源滤波器。有源滤波器能够在滤波的同时还能对信号起放大作用,这是无源滤波无法做到的。根据滤波电路通过或者阻止信号频率范围不同,可将滤波电路分为低通、高通、带通河带阻电路。本文讨论的是有源低通滤波电路的设计与仿真研究。有源低通滤波电路能够通过低频信号,抑制或衰减高频信号。

二阶压控电压源低通滤波电路由两个RC环节和同相比例放大电路构成。通过分析可知:当信号频率大于截止频率时信号的衰减率只有20dB/十倍频。而且在截止频率附近,有用信号也受到衰减。二阶压控有源低通滤波电路衰减可以达到40dB/倍频。而且在截止频率附近,有用信号可以得到一定提升。如果Q=0.707时,滤波器的幅频特性最为平坦;如果Q>0.707时,幅频特性将出现峰值。因此,我们后面要用到巴特沃斯归一化方法设计电路图参数。

运放

运算放大器是目前应用最广泛的一种器件,虽然各中不同的运放结构不同,但对于外部电路而言,其特性都是一样的。运算放大器一般由4个部分组成,偏置电路,输入级,中间级,输出级,其中输入级一般是采用差动放大电路(抑制电源),中间级一般采用有源负载的共射负载电路(提高放大倍数),输出级一般采用互补对称输出级电路(提高电路驱动负载的能力)。

运算放大器的性能指标包括5个,开环差模电压放大倍数,最大输出电压,差模输入电阻,输出电阻,共模抑制比CMRR。(开环差模放大倍数是指集成运放在无外加反馈回路的情况下的差模电压的放大倍数。最大输出电压是指它是指一定电压下,集成运放的最大不失真输出电压的峰--峰值。差模输入电阻的大小反映了集成运放输入端向差模输入信号源索取电流的大小。要求它愈大愈好。输出电阻的大小反映了集成运放在小信号输出时的负载能力。共模抑制比放映了集成运放对共模输入信号的抑制能力,其定义同差动放大电路。CMRR越大越好。

实际是有要求的。首先运放的输入阻抗要足够大,以免输入阻抗对电路中的实际电阻产生过大的影响。其次运放的开环增益AV0要足够大。但由于这些条件非常容易满足,因此在设计有源二阶低通滤波器时,不考虑。但在仿真时,不同的运放对滤波器的指标还是有影响的。


责任编辑:Davia

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

标签: 低通滤波器

相关资讯