利用GUI设计数字滤波器
- 格式:doc
- 大小:225.50 KB
- 文档页数:21
基于Matlab GUI的数字滤波器设计【摘要】基于数字信号处理原理,在分析数字滤波器设计理论和Matlab编程技术及其GUI图形用户界面设计的基础上,开发了具有交互式特点的数字滤波器软件,界面操作简单方便,可以根据需要选择滤波器类型,输入相关参数,然后选择相应的功能按钮,就可以得到滤波器的特性参数,并进行滤波器的性能分析,打破了以往滤波器设计过程中大量繁琐的数值计算问题,为数字滤波器的设计和应用提供了一个有效的辅助工具。
【关键词】FIR;IIR;GUI数字滤波器常通过一定的运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分来实现滤波,在语音信号处理、信号频谱估计、信号去噪、无线通信中的数字变频以及图像处理等工程实际应用中都很广泛。
根据其冲击响应函数的时域特性可将数字滤波器分为FIR(有限长冲激响应)和IIR(无限长冲激响应)。
然而,在传统数字滤波器的设计过程中需要大量繁琐的数值计算,如果手工计算则费时费力。
目前,数字滤波器的设计常借助计算机,利用Matlab 软件来实现。
本文就GUI这一图形界面编写功能,设计并构建了人机交互式的数字滤波器。
1.数字滤波器的设计思路及结构数字滤波器的设计包括IIR滤波器和FIR滤波器,IIR滤波器包括巴特沃斯(Butterworth)、切比雪夫(ChebyshevⅠ)滤波器、切比雪夫Ⅱ(ChebyshevⅡ)滤波器、椭圆(Ellipse)滤波器。
FIR滤波器包括Boxar、Bartlett、Blackman、Hanning、Hamming、Kaiser滤波器。
IIR的设计思想:利用已有的模拟滤波器设计理论,首先根据设计指标设计一个合适的模拟滤波器,再通过脉冲响应不变法或双线性变换法,完成从模拟到数字的变换。
设计步骤如下:(1)根据设计指标,设计最小阶数N和频率参数Wn。
可供选用的阶数选择函数有:buttord,cheblord,cheb2ord,ellipord等。
摘要滤波器是一种能使有用信号频率通过,同时抑制无用频率成分的,集成有源滤波器应用较为广泛,它是由集成运放和电阻,电容等器件组成的。
随着电子技术的发展,模拟滤波器已成为高精度大规模集成电路中的一个基本块,滤波器参数选择的好坏将在一定程度上影响整个系统的工作稳定性和噪声指标的坏。
二阶有源滤波器是一种信号检测及传递系统中常用的基本电路, 也是高阶虑波器的基本组成单元。
本次实训的硬件主要就是研究二阶有源低通滤波器的幅频特性。
传统的数字滤波器设计方法繁琐且结果不直观,本次实训利用MATLAB具有强大的科学计算和图形显示这一优点,结合GUI的设计优点,提高了滤波器的设计精度,从而更好地达到预期效果。
Matlab图形用户界面GUI(Graphic User Interface)的数字滤波器的设计与仿真方法,不仅依赖于Matlab代码,而且充分利用控件,生成一个图形用户界面,一切操作均在此界面下进行,本次实训的软件设计就是利用GUI设计数字滤波器,GUI的使用,使得我们的设计更加的方便、快捷、直观而且灵活性强。
关键词:模拟滤波器;幅频特性;Matlab;GUI;数字滤波器AbstractThe filter is one kind can enable the wanted signal frequency to pass, simultaneously suppresses the useless frequency component, the integrated active filter application is more widespread, it is transports by the integration puts with the resistance, components and so on electric capacity is composed. With the development of electronic technology, the analog filter has become in a high accuracy large scale integrated circuit's basic block, the filter parameter choice quality will affect overall system's work stability and noise target badness to a certain extent. The second-order active filter are in one kind of signal detection and the transmission system the commonly used basic electric circuit, is also the higher order ponders the wave basic composition unit. This reality teaches the hardware is mainly the research second-order active low pass filter's amplitude-frequency characteristic.The traditional digital filter design method is tedious, and the result is not direct-viewing, this reality teaches using MATLAB has the formidable science computation and graphical display this merit, unifies GUI the design merit, increased filter's design precision, thus achieves the expectation effect well. Matlab graphical user interface GUI (Graphic User Interface) digital filter's design and simulation method, not only relies on the Matlab code, moreover uses fully controls, produces a graphical user interface, all operations carry on under this contact surface, this reality teaches the software design is uses the GUI design digit filter, the GUI use, causes our design even more convenient, quick, direct-viewing moreover flexible.Key Words:Analog filter; Amplitude-frequency characteristic ; Matlab; GUI;Digital filter目录引言 (1)1 硬件设计 (2)1.1 二阶有源模拟低通滤波器的设计 (2)1.1.1 具体要求 (2)1.1.2方案设计 (2)1.1.3 电路各参数的计算 (4)1.1.4设计步骤 (4)1.1.5调试过程 (4)2.软件设计 (5)2.1 软件的简介 (5)2.2 Matlab GUI设计工具简介 (5)2.3 IIR数字滤波器的设计步骤 (6)2.4软件的设计程序 (7)3 总结 (11)谢辞 (13)参考文献 (14)附录 (15)引言随着电子信息产业的飞速发展,集成电路技术的也得到了快速的发展,集成有源滤波器在众多领域达到了广泛的应用。
1 数字滤波器的概述 (3)1.1 FIR数字滤波器设计原理 (3)1.2 FIR数字滤波器的特性 (4)1.3 窗函数的介绍 (6)2 FIR数字滤波器设计及实现 (7)2.1 低通滤波器的设计 (7)2.2 高通滤波器的设计 (9)2.3 带通滤波器的设计 (11)2.4 带阻滤波器的设计 (13)3基于MATLAB GUI的FIR滤波器的仿真 (15)3.1 FIR数字滤波器设计所实现的任务 (15)3.2 FIR数字滤波器界面设计 (16)3.3 FIR数字滤波器函数的编写 (17)3.3.1 菜单FilterType的回调函数 (17)3.3.2 显示类型DispType的函数 (19)3.3.3 阶数N和最小阶数N按钮的函数 (19)3.3.4 文本编辑框的回调函数 (20)3.3.5 滤波器波形按钮的回调函数 (20)3.3.6 文本框Rp和Rs的函数 (21)3.3.7 产生信号按钮的回调函数 (21)3.3.8 滤波后的信号按钮的回调函数 (22)3.3.9 按钮Quit的回调函数 (22)3.4总程序的编写 (22)4 实验结果与显示 (22)5 结束语 (22)6 感谢 (23)7 参考文献 (23)附录 (24)基于MATLAB的FIR数字滤波器的设计与仿真李宏华湛江师范学院信息科学与技术学院,湛江524048摘要:本文从FIR数字滤波器的设计原理和特性入手,实现了用MATLAB设计FIR数字滤波器的功能,重点阐述了通过MATLAB GUI实现了FIR数字滤波器的仿真。
详细介绍了MATLAB GUI界面的构建与回调函数的程序编写与调试。
关键词:MATLAB;GUI;FIR滤波器The Design and Simulation of FIR Digital Filter base onATLABLI HonghuaInformation Science & Technology School, Zhanjiang Normal University, zhanjiang,524048 ChinaAbstract:This paper starts with the design principles and characteristics of the FIR digital filter, Achieve the task of using MATLAB software to design the FIR digital filter, in particular introduction to complete the simulation of the FIR digital filter base on MATLAB GUI software. Comprehensive introduce to the building of GUI interface and the program compiled with debugging of the callback function.Key word:MATLAB; GUI; FIR Filter1 数字滤波器的概述1.1 FIR数字滤波器设计原理[1]中介绍了数字滤波器冲激响应的时域特征,可将数字滤波器分为2种,即无限长冲激响应滤波器( IIR)和有限长冲激响应滤波器(FIR) 。
matlab简易gui界面滤波器类型参数频率响应选择信号在MATLAB 中,可以使用GUIDE 工具创建一个简易的GUI 界面,用于滤波器的设计和频率响应的显示。
以下是一个简单的示例:1. 打开MATLAB 并确保你已经安装了GUIDE 工具。
在MATLAB 命令窗口中输入`guide`命令,或者点击菜单栏的" GUIDE "按钮打开GUIDE 窗口。
2. 在GUIDE 窗口中,选择"Create New GUI"选项,并选择一个合适的模板,例如"Blank GUI"。
3. 在GUI 设计界面中,添加以下控件:- 一个下拉列表(ComboBox)用于选择滤波器类型。
- 一些文本框(EditText)用于输入滤波器的参数。
- 一个按钮(PushButton)用于生成频率响应。
- 一个图形(Graph)用于显示频率响应。
4. 设置下拉列表的"String"属性为不同的滤波器类型选项,例如"Lowpass", "Highpass", "Bandpass"等。
5. 设置文本框的"String"属性为相应的滤波器参数,例如"Cut-off Frequency"、"Bandwidth"等。
6. 在按钮的"Callback"属性中添加一个函数,用于生成频率响应并在图形中显示。
7. 在生成频率响应的函数中,根据用户选择的滤波器类型和输入的参数,使用MATLAB 的滤波器设计函数(例如`butter`、`cheby1`等)来计算频率响应,并将结果绘制在图形中。
8. 保存并运行GUI 界面,用户可以选择滤波器类型、输入参数,并点击按钮生成频率响应。
1 数字滤波器的概述 ................................................................................................ 错误!未定义书签。
FIR数字滤波器设计原理错误!未定义书签。
FIR数字滤波器的特性错误!未定义书签。
窗函数的介绍错误!未定义书签。
2 FIR数字滤波器设计及实现错误!未定义书签。
低通滤波器的设计错误!未定义书签。
高通滤波器的设计错误!未定义书签。
带通滤波器的设计错误!未定义书签。
带阻滤波器的设计错误!未定义书签。
3基于MATLAB GUI的FIR滤波器的仿真错误!未定义书签。
FIR数字滤波器设计所实现的任务错误!未定义书签。
FIR数字滤波器界面设计错误!未定义书签。
FIR数字滤波器函数的编写错误!未定义书签。
菜单FilterType的回调函数错误!未定义书签。
显示类型DispType的函数错误!未定义书签。
阶数N和最小阶数N按钮的函数错误!未定义书签。
文本编辑框的回调函数错误!未定义书签。
滤波器波形按钮的回调函数错误!未定义书签。
文本框Rp和Rs的函数错误!未定义书签。
产生信号按钮的回调函数错误!未定义书签。
滤波后的信号按钮的回调函数错误!未定义书签。
按钮Quit的回调函数错误!未定义书签。
总程序的编写错误!未定义书签。
4 实验结果与显示错误!未定义书签。
5 结束语错误!未定义书签。
6 感谢错误!未定义书签。
7 参考文献错误!未定义书签。
附录错误!未定义书签。
基于MATLAB 的FIR 数字滤波器的设计与仿真李宏华湛江师范学院信息科学与技术学院,湛江 524048摘 要:本文从FIR 数字滤波器的设计原理和特性入手,实现了用MATLAB 设计FIR 数字滤波器的功能,重点阐述了通过MATLAB GUI 实现了FIR 数字滤波器的仿真。
详细介绍了MATLAB GUI 界面的构建与回调函数的程序编写与调试。
基于MATLABGUI的滤波器设计软件引言:滤波器是数字信号处理领域中很重要的一部分,用于对信号进行去噪、信号增强、频域变换等操作。
而滤波器设计的过程中需要进行参数调节、滤波器响应曲线的查看等操作,通过编写MATLABGUI的滤波器设计软件可以简化这一过程,提高滤波器设计的效率。
一、软件的基本功能1.滤波器类型选择功能在软件的界面上,可以选择滤波器的类型,例如低通滤波器、高通滤波器、带通滤波器、带阻滤波器等。
2.滤波器参数设置功能根据选择的滤波器类型,用户可以设置滤波器的参数。
例如,对于低通滤波器,可以设置截止频率;对于带通滤波器,可以设置通带和阻带的上下限等。
3.滤波器响应曲线展示功能软件还可以实时展示滤波器的频率响应或时域响应曲线。
用户可以通过滑动条等方式改变滤波器参数,实时查看响应曲线的变化,从而方便地进行调试和优化。
4.滤波器输出功能用户设计好滤波器后,软件可以将滤波器的参数输出为MATLAB代码或数据文件,方便用户在其他地方再次使用或进行二次开发。
二、软件的实现思路1.MATLABGUI界面设计通过MATLAB的GUI设计工具,创建软件的用户界面。
界面应该包括滤波器类型选择框、参数输入框、响应曲线图像和参数输出按钮等元素。
2.滤波器设计算法选择适合的滤波器设计算法,并将其实现为MATLAB函数。
例如,可以使用脉冲响应法、窗函数法等经典的滤波器设计算法。
3.界面与算法的交互根据用户在界面上的选择和输入,调用对应的滤波器设计算法进行滤波器设计。
设计完成后,将滤波器的响应曲线显示在界面上。
4.参数输出功能根据用户点击参数输出按钮的操作,将滤波器的参数输出为MATLAB代码或数据文件。
三、软件的优点1.操作方便:通过图形界面操作,减少了用户对MATLAB命令的使用,方便非专业用户进行滤波器设计。
2.实时展示:滤波器的响应曲线实时展示在界面上,用户可以直观地了解滤波器的性能,从而进行参数调节和优化。
摘要滤波器是一种能使有用信号频率通过,同时抑制无用频率成分的,集成有源滤波器应用较为广泛,它是由集成运放和电阻,电容等器件组成的。
随着电子技术的发展,模拟滤波器已成为高精度大规模集成电路中的一个基本块,滤波器参数选择的好坏将在一定程度上影响整个系统的工作稳定性和噪声指标的坏。
二阶有源滤波器是一种信号检测及传递系统中常用的基本电路, 也是高阶虑波器的基本组成单元。
本次实训的硬件主要就是研究二阶有源低通滤波器的幅频特性。
传统的数字滤波器设计方法繁琐且结果不直观,本次实训利用MATLAB具有强大的科学计算和图形显示这一优点,结合GUI的设计优点,提高了滤波器的设计精度,从而更好地达到预期效果。
Matlab图形用户界面GUI(Graphic User Interface)的数字滤波器的设计与仿真方法,不仅依赖于Matlab代码,而且充分利用控件,生成一个图形用户界面,一切操作均在此界面下进行,本次实训的软件设计就是利用GUI设计数字滤波器,GUI的使用,使得我们的设计更加的方便、快捷、直观而且灵活性强。
关键词:模拟滤波器;幅频特性;Matlab;GUI;数字滤波器AbstractThe filter is one kind can enable the wanted signal frequency to pass, simultaneously suppresses the useless frequency component, the integrated active filter application is more widespread, it is transports by the integration puts with the resistance, components and so on electric capacity is composed. With the development of electronic technology, the analog filter has become in a high accuracy large scale integrated circuit's basic block, the filter parameter choice quality will affect overall system's work stability and noise target badness to a certain extent. The second-order active filter are in one kind of signal detection and the transmission system the commonly used basic electric circuit, is also the higher order ponders the wave basic composition unit. This reality teaches the hardware is mainly the research second-order active low pass filter's amplitude-frequency characteristic.The traditional digital filter design method is tedious, and the result is not direct-viewing, this reality teaches using MATLAB has the formidable science computation and graphical display this merit, unifies GUI the design merit, increased filter's design precision, thus achieves the expectation effect well. Matlab graphical user interface GUI (Graphic User Interface) digital filter's design and simulation method, not only relies on the Matlab code, moreover uses fully controls, produces a graphical user interface, all operations carry on under this contact surface, this reality teaches the software design is uses the GUI design digit filter, the GUI use, causes our design even more convenient, quick, direct-viewing moreover flexible.Key Words:Analog filter; Amplitude-frequency characteristic ; Matlab; GUI;Digital filter目录引言 (1)1 硬件设计 (2)1.1 二阶有源模拟低通滤波器的设计 (2)1.1.1 具体要求 (2)1.1.2方案设计 (2)1.1.3 电路各参数的计算 (4)1.1.4设计步骤 (4)1.1.5调试过程 (4)2.软件设计 (5)2.1 软件的简介 (5)2.2 Matlab GUI设计工具简介 (5)2.3 IIR数字滤波器的设计步骤 (6)2.4软件的设计程序 (7)3 总结 (11)谢辞 (13)参考文献 (14)附录 (15)引言随着电子信息产业的飞速发展,集成电路技术的也得到了快速的发展,集成有源滤波器在众多领域达到了广泛的应用。
如满足一定频率特性相移特性的特殊滤波器,例如线性电路,广泛应用于电子,电气,通信,计算机等领域的信号处理的电路中。
滤波器种类很多:相性滤波器,时延滤波器,音响中的计权网络滤波器,电视中的中放声表面波滤波器。
滤波器是一种能使有用信号顺利通过而同时对无用频率信号进行抑制或衰减的电子装置。
工程上常用它来做信号处理、数据传送和抑制干扰等。
由于有源滤波器处理的信号是频变信号,常用频域法和复频域法讨论,电路的传递函数较复杂,涉及到的电路参数较多,再加之有源滤波器的种类繁多,分析和设计都有一定的困难。
随着计算机技术的迅速发展,计算机辅助设计技术己经渗透到电路设计的各个领域,EDA仿真技术在处理电路设计时起到了重要的作用,这次实训我们就应用了EDA的Multisim软件对设计的二阶模拟低通滤波器设计电路进行了仿真,通过仿真可以大致估算我们电路的可行性,它为我们的设计提供了很大的帮助。
模拟滤波器的实现使我们对数字滤波器的实现打下了基础,随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。
目前数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。
在数字信号处理中起着重要的作用并已获得广泛应用的是数字滤波器(DF,Digital Filter),根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应IIR(Infinite Impulse Response)滤波器和有限冲激响应FIR(Finite Impulse Response)滤波器。
与FIR滤波器相比,IIR的实现采用的是递归结构,极点须在单位圆内,在相同设计指标下,实现IIR滤波器的阶次较低,即所用的存储单元少,从而经济效率高。
MATLAB是英文MATrix LABoratory(矩阵实验室)的缩写。
它是美国的MathWorks 公司推出的一套用于科学计算和图形处理可视化、高性能语言与软件环境。
它的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个非常优秀的算法研究与辅助设计的工具。
在设计数字滤波器时通常采用MATLAB来进行辅助设计和仿真。
本次实训我们利用MATLAB的GUI来实现IIR/FIT低通(高通、带通或带阻)数字滤波器的仿真,通过仿真波形分析各种数字滤波器的性能。
1 硬件设计1.1 二阶有源模拟低通滤波器的设计1.1.1 具体要求(1)通过运放,设计模拟低通滤波器;(2)滤波器的阶数在二阶及以上;(3)滤波器的截止频率为33KHZ;(4)测量滤波器输出,并绘制它的幅频特性曲线图。
1.1.2方案设计(1)RC网络的作用:在电路中RC网络起着滤波的作用,滤掉不需要的信号,这样在对波形的选取上起着至关重要的作用,通常主要由电阻和电容组成。
(2)放大器的作用:电路中运用同相输入运放,其闭环增益A=1+R4/R3同相放大器具有输入阻抗非常高,输出阻抗很低的特点,广泛用于前置放大级。
(3)反馈网络的作用:将输出信号的一部分或全部通过牧电路印象输入端,称为反馈,其中的电路称为反馈网络,反馈网络分为正、负反馈。
(4)工作原理:二阶有源滤波器是一种信号检测及传递系统中常用的基本电路, 也是高阶虑波器的基本组成单元。
常用二阶有源低通滤波器的电路型式有压控电压源型、无限增益多路反馈型和双二次型。
本次设计采用压控电压源型设计课题。
有源二阶模拟低通滤波器设计电路原理图和PCB板图如下所示:图2. 有源二阶模拟低通滤波器设计电路原理图图3.有源二阶模拟低通滤波器设计电路PCB板图1.1.3 电路各参数的计算(1) 二阶低通滤波器的通带增益:Av=1+R4/R3(R1=R2,C1=C2);(2) 截止频率:fc=1/2πRC;(3) 品质因数:Q=1/(3-Av)。
1.1.4设计步骤(1)绘制原理图,PCB板图;(2)印制电路板,安装元件;(3)硬件调试,测试。
1.1.5调试过程(1)为了硬件调试不出现很大的错误,先用Multisim软件进行仿真,仿真的结果是Av=2,Q=1,fc=55.86KHZ。
虽然截止频率没有达到理论值,可是低通滤波器的幅频特性却很理想,所以说电路没有很大的错误,可以进行硬件测试了,但是为了能够达到实训要求(得到要求的截止频率),R1、R2改为2KΩ可调电阻。
(2)利用做好的电路板,连接好线路,进行幅频特性的测量。
(3)选择R3=R4=2.4KΩ,C1=C2=100nF,输入信号后,利用示波器观察输出波形,发现输出波形不理想,改变可调电阻,仍发现杂波干扰较大,也就是滤波效果不,所以为了得到更好的输出波形,改变了电容,即C1=C2=10nF,得到了较好的输出波形。