DSP实训论文-使用MatlabGUI设计RC带通滤波器的设计.doc

上传人:小小飞 文档编号:3901683 上传时间:2019-10-09 格式:DOC 页数:29 大小:906KB
返回 下载 相关 举报
DSP实训论文-使用MatlabGUI设计RC带通滤波器的设计.doc_第1页
第1页 / 共29页
DSP实训论文-使用MatlabGUI设计RC带通滤波器的设计.doc_第2页
第2页 / 共29页
DSP实训论文-使用MatlabGUI设计RC带通滤波器的设计.doc_第3页
第3页 / 共29页
DSP实训论文-使用MatlabGUI设计RC带通滤波器的设计.doc_第4页
第4页 / 共29页
DSP实训论文-使用MatlabGUI设计RC带通滤波器的设计.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《DSP实训论文-使用MatlabGUI设计RC带通滤波器的设计.doc》由会员分享,可在线阅读,更多相关《DSP实训论文-使用MatlabGUI设计RC带通滤波器的设计.doc(29页珍藏版)》请在三一文库上搜索。

1、摘 要 滤波器的功能是让一定频率范围内的信号通过,而将此频率范围之外的信号加以 抑制或使其急剧衰减。当干扰信号与有用信号不在同一频率范围之内,可使用滤波器 有效的抑制干扰。数字滤波器是数字信号处理的基础,用来对信号进行过滤、检测与 参数估计等处理,在通信、图像、语音等许多领域有着十分广泛的应用,尤其在图像 处理、数据压缩等方面取得了令人瞩目的进展与成就。鉴于此,数字滤波器的设计想 得尤为重要 用 LC 网络组成的无源滤波器在低频范围内有体积重量大,价格昂贵和衰减大等缺 点,而用集成运放和 RC 网络组成的有源滤波器则比较适用于低频,此外,它还具有 一定的增益,且因输入与输出之间有良好的隔离而便

2、于级联。由于大多数反映生理信 息的光电信号具有频率低、幅度小、易受干扰等特点,因而 RC 有源滤波器普遍应用 于光电弱信号检测电路中。作为强大的计算软件, Matlab 提供了编写图形用户界面的功 能。所谓图形用户界面, 简称为 GUI, 是由各种图形对象, 如图形窗口菜单按钮、文本 框等构建的用户界面。 MATALB 可以创建图形用户界面 GUI ( GraphicalUser Interface) ,它是用户和计算 机之间交流的工具。Matlab 将所有 GUl 支持的用户控件都集成在这个环境中并提供 界面外观、属性和行为响应方式的设置方法,随着版本的提高,这种能力还会不断加强。 而且具有

3、强大的绘图功能,可以轻松的获得更高质量的曲线图。 本次实训就是使用 MatlabGUI 设计 RC 带通滤波器的设计。 关键词:MATLAB;GUI;IIR 滤波器;FIR 滤波器 桂林电子科技大学实训(论文)报告用纸 第 2 页 共 2 页 AbstractAbstract The function of the filter is to make certain frequency range of signal through, and the frequency of the signal beyond curbed or their sharp attenuation. When t

4、he disturbance signal and the useful signal is not the same frequency range, can use filter to suppress the interference effectively. Digital filter is the basis of digital signal processing, used to signal filtration, detection and parameter estimation processing, in communication, image, sound, an

5、d many other areas has a very wide range of applications, especially in the image processing, data compression and has achieved remarkable progress and success. In view of this, the design of the digital filter to be particularly important With LC network consisting of passive filter in the low freq

6、uency worldwide volume weight big, expensive and attenuation shortcomings, but with integrated op-amp and RC network consisting of active filter is more applicable to low frequency, in addition, it also has some of the gain, and because between input and output has good isolation and facilitate casc

7、ade. Since most reflect the photoelectric signal has a physiological information low frequency and amplitude small, vulnerable to interference and other characteristics, thus RC active filters widely applied electric light weak signal detection circuit. As a powerful calculation software MATLAB grap

8、hical user interface provides write the function. The so- called the graphical user interface, referred to as “GUI, is by all kinds of graphics object, such as graphic window menu button, the text frame construction such as the user interface. MATALB can create the graphical user Interface GUI (Grap

9、hicalUser Interface), it is between the user and the computer communication tools. Matlab will all the user controls GUl support are integrated in this environment and provide interface appearance, properties and behaviors of the way response setting method, as versions improve, this ability will al

10、so be constantly strengthen. And has strong drawing function, can easily get a higher quality of the curve. This practice is to use MatlabGUI design RC bandpass filter design. Key word: digital filter; Bandpass filter; MatlabGUI. 桂林电子科技大学实训(论文)报告用纸 第 1 页 共 2 页 目 录 引言 .1 1 项目设计要求 .1 1.1 完成要求 1 1.2 完成

11、形式 1 2 设计方案与论证 .2 2.1 硬件设计方案 2 2.1.1 设计方案一.2 2.1.2 设计方案二.2 2.2 方案认证 2 3 硬件电路设计 .3 3.1 芯片主要概述 3 3.1.1 LM358 结构图.3 3.1.2 LM358 内部特性.3 3.2 电路设计 4 3.2.1 单元电路设计.4 3.2.2 整体电路设计.4 3.3 硬件调试结果 5 4 软件设计 .7 4.1 GUI 界面设计简介.7 4.2 IIR 数字滤波器设计.9 4.2.1 IIR 数字滤波器设计原理.9 4.2.2 IIR 数字滤波器设计思想.10 4.2.3 IIR 数字滤波器设计编程实现.10

12、 4.3 FIR 数字滤波器12 4.3.1 FIR 数字滤波器设计原理12 4.3.2 FIR 数字滤波器设计思想12 4.3.3 FIR 数字滤波器设计编程实现13 5 基于 MATLAB GUI 的数字滤波器设计思路及实现 .14 5.1 GUI 界面设计概述14 5.2 “滤波器设计软件”设计所实现任务 .16 5.3 基于 MATLAB GUI 的数字滤波器设计实现 17 5.3.1 GUI 界面设计 .17 桂林电子科技大学实训(论文)报告用纸 第 2 页 共 2 页 5.3.2 回调函数编写.18 5.4 运行结果显示 .21 6 实训总结 23 谢 辞 24 参考文献 25 附

13、 录 26 桂林电子科技大学实训(论文)报告用纸 第 1 页 共 15 页 引言 当今,数字信号处理(DSP:Digtal Signal Processing)技术正飞速发展,它不但自成 一门学科,更是以不同形式影响和渗透到其他学科:它与国民经济息息相关,与国防 建设紧密相连;它影响或改变着我们的生产、生活方式,因此受到人们普遍的关注。 数字滤波技术是数字信号分析、处理技术的重要分支。无论是信号的获取、传输, 还是信号的处理和交换都离不开滤波技术,它对信号安全可靠和有效灵活地传输是至 关重要的。在所有的电子系统中,使用最多技术最复杂的要算数字滤波器了。数字滤 波器的优劣直接决定产品的优劣。数字

14、滤波器精确度高、使用灵活、可靠性高,具有 模拟设备所没有的许多优点,已广泛地应用于各个科学技术领域, 例如数字电视、语音、 通信、雷达、声纳、遥感、图像、生物医学以及许多工程应用领域。随着信息时代数 字时代的到来,数字滤波技术已经成为一门极其重要的学科和技术领域。以往的滤波 器大多采用模拟电路技术,但是,模拟电路技术存在很多难以解决的问题,例如,模 拟电路元件对温度的敏感性,等等。而采用数字技术则避免很多类似的难题,当然数 字滤波器在其他方面也有很多突出的优点,在前面部分已经提到,这些都是模拟技术 所不能及的,所以采用数字滤波器对信号进行处理是目前的发展方向。 MATLAB 是 Matrix

15、Laboratory(距阵实验室)的缩写,是 MathWorks 公司推出的 一套用于科学计算和图形处理可视化、高性能语言与软件环境。它的信号处理工具箱 包含了各种经典的和现代的数字信号处理技术,是一个非常优秀的算法研究与辅助设 计的工具, 通过编程可以很容易实现低通、高通、带通、带阻滤波器,并能画出滤波器 的幅频、相频特性曲线,大大简化了数字滤波器的设计。 1 项目设计要求 1.1 完成要求 硬件:通过 RC 运放电路实现模拟带通滤波器,要求:实现模拟低通滤波器至少 三阶以上,并画出幅频特性曲线,截止频率为:学号*1000(HZ) ,即 fc=25000(HZ) 。 本实训采用四阶 RC 电

16、路。 软件:(1)采用窗函数法或等波纹法等实现线性相位 FIR 数字滤波器;(2)采 用直接法或间接法设计实现 IIR 数字滤波器;(3)通过 MATLAB GUI 设计实现界面; (4)显示 IIR/FIR 数字滤波器的时域和频域波形。 总体要求:技术指标+MATLAB 源程序+仿真波形。 桂林电子科技大学实训(论文)报告用纸 第 2 页 共 26 页 2 硬件电路设计 2 .1 硬件设计方案 采用 LM358 的两组运算放大器组成一个四阶带通滤波器,每组运算放大器由一个 低通和一个高通滤波器组成带通滤波器,其电路如图 2.1 所示: 图 2.1 四阶带通滤波器电路图 该带通滤波器只有四阶,

17、且电路元件少,可以让每一级带通的 R2 和 R3 电阻由一 个固定电阻和一个可调电位器组成,调试起来方便,中心频率和 Q 值都比较容易实现。 3 芯片主要概述 3.1 LM358 引脚图 图 3.1 LM358 引脚图 LM358 内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于 电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下, 电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模块和其他所有 可用单电源供电的使用运算放大器的场合。 LM358 封装形式有塑封 8 引线双列直插式、贴片式和圆形金属壳封装等。 桂林电子科技大学实训(论文)报告用

18、纸 第 3 页 共 26 页 3.2 LM358 内部特性 内部频率补偿 直流电压增益高(约 100dB) 单位增益频带宽(约 1MHz) 电源电压范围宽:单电源(330V) 双电源(1.5 一15V) 低功耗电流,适合于电池供电 低输入偏流 低输入失调电压和失调电流 共模输入电压范围宽,包括接地 差模输入电压范围宽,等于电源电压范围 输出电压摆幅大(0 至 Vcc-1.5V) 3.3 电路设计 由单元电路串联,两级的中心频率和带宽不一样,串联后的中心频率为两级电路 中心频率之和再除以 2,带宽为两级电路带宽之和再除以 2。下面分别对单元电路和整 体电路作介绍。 3.3.1 单元电路设计 本设

19、计由两个二阶带通滤波器串联组成一个四阶带通滤波器,其中的某一级是一 个无限增益多路负反馈有源二阶带通滤波器电路(MFB) ,其原理图如图 3.3.1 所 示: 图 3.3.1 单元电路 该电路的传输函数: (3-1) 桂林电子科技大学实训(论文)报告用纸 第 4 页 共 26 页 品质因素: (3-2) 3.3.2 整体电路设计 由两个单元电路串联后,即可得到最终电路。原理图如图 3.3.2 所示: 图 3.3.2 整体电路原理图 两级运放分别由一个低通和一个高通组成的带通滤波器。对地电阻 R15,R25,两个 负反馈电阻 R12,R13 都由一个固定电阻加一个精密可调电位器组成,通过改变它们

20、的 值来实现带宽和中心频率的改变。 3.4 硬件调试结果 根据公式计算出每一级的参数,在 PCB 板上焊元件前先粗略将电位器的值调好再 焊上去,这样调试的时候比较方便。其中两级的参数和电路图如图 3.4.1、图 3.4.2、图 3.4.3、图 3.4.4 所示: 桂林电子科技大学实训(论文)报告用纸 第 5 页 共 26 页 : 图 3.4.1 第一级电路图 图 3.4.2 第一级电路参数 图 3.4.3 第二级电路图 图 3.4.4 第二级电路参数 调试出来的结果如表 1 所示: 表 1 实测数据 频率 (KHz) 20.020.320.620.921.221.521.8 电压(V)0.64

21、00.6550.6800.7050.7450.7750.815 频率 (KHz) 22.122.422.723.023.323.623.9 电压(V)0.8350.8650.8750.9200.9400.9600.970 频率 (KHz) 24.224.524.825.125.425.726.0 电压(V)0.9800.9900.9951111 频率 (KHz) 26.326.626.927.227.527.828.1 电压(V)1110.9900.9800.9700.960 频率 (KHz) 28.428.729.029.329.629.930.2 电压(V)0.9400.9200.8850

22、.8700.8500.8300.810 频率 (KHz) 30.531.832.132.432.733.033.5 电压(V)0.7750.7350.7100.6900.6800.6650.650 桂林电子科技大学实训(论文)报告用纸 第 6 页 共 26 页 其幅频特性图如图 3.4.5 所示: 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 20212223242526272829303132333435 图 3.4.5 幅频特性图 4 软件设计 软件设计主要是 MATLAB+GUI。下面分别对 GUI 界面、IIR 滤波器、FIR

23、滤波器 相关参数与程序作介绍。 4.1 MATLAB GUI 的简介 在 Matlab 中,图形用户界面(graphical user interface,GUI)是 Matlab 中一个专用于 GUI 程序设计的向导设计器,而 GUI 是由各种图形对象,如图形窗口、图轴、菜单、 按钮、文本框等构建的用户界面,是人机交互的有效工具和方法。通过 GUIDE 可以很 方便地设计出各种符合要求的图形用户界面。用户通过一定的方法(如鼠标或键盘)选择、 激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。 GUI 设计既能以基本的 Matlab 程序设计为主,也能以鼠标为主,利用 GUI

24、DE 工 具进行设计,也可综合以上两种方法进行设计。GUIDE 主要是一个界面设计工具集。 Matlab 将所有 GUl 支持的用户控件都集成在这个环境中并提供界面外观、属性和行为 相应方式的设置方法。 GUIDE 将用户保存设计好的图形用户界面保存在一个 FIG 资源文件中,同时自动 生成包含图形用户界面初始化和组件界面布局控制代码的 M 文件,这个 M 文件为实现 回调函数的编写提供了一个参考框架。FIG 文件是一个二进制文件,包含系列化的图 形窗口对象。所有对象的属性都是用户创建图形窗口时保存的属性。该文件最主要的 功能是对象句柄的保存。 桂林电子科技大学实训(论文)报告用纸 第 7 页

25、 共 26 页 图 4.1 MATLAB GUI 软件画面 M 文件包含 GUI 设计、控制函数及控件的回调函数,主要用来控制 GUI 展开时的 各种特征。该文件基本上可以分为 GUI 初始化和回调函数 2 个部分,控件的回调函数 可根据用户与 GUI 的具体交互行为分别调用。 在软件设计时,通过文本编辑框控件来接收用户输入的滤波器设计指标值,考虑 到分析滤波器时输出的参数较多,如果用一一对应的文本框来接收输出的参数值,则 使软件界面在设计中难以布局,并影响了界面的美观,所以只用一个文本编辑框控件 来实现多个参数的输出。在滤波器类型选择控件方面,因为只用 2 种滤波器来进行选 择设计,所以使用

26、两个单选按钮。 以实现滤波器类型的选择;在滤波器特性曲线分析和参数计算方面,利用图形界 面设计工具 GUIDE 提供的菜单编辑器来设计出分析、计算菜单,并加入相应的功能子 菜单。绘制输出滤波器的特性曲线时使用一个坐标轴来实现各个特性曲线的绘制,这 样可以使软件界面简洁明了。 最后对参数输入和参数输出区进行功能区域划分,利用控件工具箱中的框架按钮, 将参数的输入与输出区划分,利用控件工具箱中文本标签对上面相应控件的功能命名。 将设计好的界面文件保存运行,就可以看到软件在运行时显示出的实际效果。设计的 界面如图 2 所示,设计出的软件界面由 4 个部分组成:菜单栏、参数输入区、参数输 出区、绘图区

27、。 4.2 常用的基本控件 按钮(Push Buttons):执行某种预定的单功能或操作; 双位开关按钮(Toggle Button):产生一个动作并指示一个二进制状态(开或关) , 当鼠标点击它时按钮将下陷,并执行 callback(回调函数)中定的内容,再次点击,按 桂林电子科技大学实训(论文)报告用纸 第 8 页 共 26 页 钮复原,并再次执行 callback 中的内容; 单选框(Radio Button):单个的单选框用来在两种状态之间切换,多个单选框组成 一个单选框组时,用户只能在一组状态中选择单一的状态,或称为单选项; 复选框(Check Boxes):单个的复选框用来在两种状

28、态之间切换,多个复选框组成 一个复选框组时,可使用户在一组状态中作组合式的选择,或称为多选项; 文本编辑器(Editable Texts):用来使用键盘输入字符串的值,可以对编辑框中的内 容进行编辑、删除和替换等操作; 静态文本框(Static Texts):仅仅用于显示单行的说明文字; 滚动条(Slider): 可输入指定范围的数量值; 控件边框(Frames):在图形窗口圈出一块区域; 列表框(List Boxes):在其中定义一系列可供选择的字符串。 4.3 Matlab 软件仿真 软件运行时,系统首先初始化。接着判断输入的滤波器参数及其类型是否正确, 不正确重新输入,正确即可选择相应的

29、功能菜单,实现相应的功能。 4.4 IIR/FIR 程序设计流程 图 4.2.1 1IIR/FIR 程序设计流程图 4.5 IIR 数字滤波器设计 4.5.1 IIR 数字滤波器设计原理 滤波器的设计质上是寻找一个既能物理实现,又能满足给定频率特性指标要求的 系统传输函数。IIR 滤波器一般采用递归型的结构,系统的输入与输出服从 N 阶差分 方程: 桂林电子科技大学实训(论文)报告用纸 第 9 页 共 26 页 (4-5-1) 相应的传输函数为: (4-5-2) 设计 IIR 数字滤波器就是要确定传输函数中的系数、或零极点增益、 j a i b i c 、A,使滤波器的频率特性满足给定的性能指

30、标要求。设计原理主要包括两个方面: j d 一是根据设计指标,先设计出相应的模拟滤波器再通过脉冲响应不变法或双线性变换 法转换成对应的数字滤波器;二是选择一种优准则,如最小均方准则,再在先最误差 此准则下求出滤波器传输函数的系数。根据设计理论,在 MATLAB 环境下设计 IIR 数 字滤波器主要有四种方法:一是典型设计法;二是完全设计法;三是最优设计法;四 是工具设计法。由于完全设计法程序简单,我们在这里利用完全设计法设计滤波器。 4.5.2 IIR 数字滤波器设计思想 IIR 滤波器设计思想是:利用已有的模拟滤波器设计理论,首先根据设计指标设计 一个合适的模拟滤波器,然后再通过脉冲响应不变

31、法或双线性变换法,完成从模拟到 数字的变换。常用的模拟滤波器有巴特沃斯(Butterworth)滤波器、切比雪夫(Chebyshev) 滤波器、椭圆(Ellipse)滤波器、贝塞尔(Bessel)滤波器等,这些滤波器各有特点,供不同 设计要求选用。滤波器的模拟数字变换,通常是复变函数的映射变换,也必须满足一 定的要求 由于数字滤波器传输函数只与频域的相对值有关,故在设计时可先将滤波器设计 指标进行归一化处理,设采样频率为 Fs,归一化频率的计算公式是: 利用完全设计法设计数字滤波器的步骤: (1)将设计指标归一化处理。 (2)根据归一化频率,确定最小阶数 N 和频率参数 Wn。可供选用的阶数选

32、择函 数有:buttord,cheblord,cheb2ord,ellipord 等。 桂林电子科技大学实训(论文)报告用纸 第 10 页 共 26 页 (3)运用最小阶数 N 设计模拟低通滤波器原型。根据最小阶数直接设计模拟低 通滤波器原型,用到的函数有:butter, chebyl,cheby2, ellip 和 bessel。如B,A = butter(N,Wn,type) 设计type型巴特沃斯(Butterworth)滤波器 filter。N 为滤波器阶数, Wc 为截止频率, type 决定滤波器类型, type= high,设计高通 IIR 滤波器,ftype= stop,设计带

33、阻 IIR 滤波器。 (4)再用 freqz 函数验证设计结果。 4.5.3 IIR 数字滤波器设计编程实现 例如选择设计 IIR 的 Butterworth 带通滤波器,其 Fs=1Hz,Fp1=0.2rad,Fp2=0.3rad,Fs1=0.15rad,Fs2=0.35rad,Rp=1dB,Rs=40dB 程序和效果图(图 9)如下: %buttworth 带通 clear fp1=0.2; fp2=0.3; fr1=0.15; fr2=0.35; ap=1; ar=40; t=1; fs=1/t; wp1=2*pi*fp1/fs; wp2=2*pi*fp2/fs; wp=wp1,wp2;

34、 wr1=2*pi*fr1/fs; wr2=2*pi*fr2/fs; wr=wr1,wr2; wpp=2/t*tan(wp/2); wss=2/t*tan(wr/2); n,wn=buttord(wpp,wss,ap,ar,s); b,a=butter(n,wn,bandpass,s); bz,az=bilinear(b,a,fs); freqz(bz,az,512,fs); 桂林电子科技大学实训(论文)报告用纸 第 11 页 共 26 页 图 9 Butterworth 低通滤波器 4.6 FIR 数字滤波器 4.6.1 FIR 数字滤波器设计原理 根据数字滤波器冲激响应的时域特征,可将数字

35、滤波器分为 2 种,即无限长冲激响应 滤波器( IIR DF)和有限长冲激响应滤波器( F IR DF) 。F IR DF 具有突出的优点:系统总 是稳定的、易于实现线性相位、允许设计多通带(或多阻带)滤波器。因此 F IR DF 在数 字信号处理中得到广泛的应用。但与 IIR DF 相比,在满足同样的阻带衰减的情况下需要 较高的阶数。滤波器阶数越高将占用更多的 DSP 运算时间。因此,对 F IR DF 的设计目 标是在满足指标要求的情况下尽量减少滤波器的阶数。数字滤波器可以理解为是一个 计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列, 并在转化过程中,使信号按

36、预定的形式变化。FIR DF 的冲激响应 h ( k)是有限长的 M 阶 F IR DF 系统函数可表示为: (4-6-1) 滤波器的输出: (4-6-2) 桂林电子科技大学实训(论文)报告用纸 第 12 页 共 26 页 它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计 方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。若要逼近的理想滤波器的 频率响应为常用的有巴特沃思滤波器、切比雪夫型滤波器、椭圆滤波器和巴塞尔滤波 器。 4.6.2 FIR 数字滤波器设计思想 在这里我们利用窗函数法设计 FIR 滤波器。窗函数法的基本想法是选取某一种合 适的理想频率选择性滤波器(

37、这种滤波器总是有一个非因果,无限长的脉冲响应),然后 将它的脉冲响应截断(或加窗)以得到一个线形相位和因果的 FIR 滤波器。因此,这种方 法的重点在于选择某种恰当的窗函数和一种合适的理想滤波器。 窗函数法又称傅立叶级数法, 一般是先给定所要求的滤波器的频率响应 Hd ( ejw) , 要求设计一个 FIR 滤波器的频率响应 H( ejw) 来逼近 Hd( ejw) .设计是在时域进行的, 首先由傅立叶变换导出 hd( n) , 因此 hd( n) 一定是无限长的序列, 而 h( n) 是有限长的, 即要用有限长的 h( n) 来逼近无限长的 hd( n) , 最有效的方法是截断 hd ( n

38、) , 或者说用 一个有限长的窗口函数 w( n) 来截取 hd( n) , 即: h( n) = hd( n) w( n) , 因而窗函数的形 状及长度的选择就很关键了. 在 MATLAB 中常用的窗函数有矩形窗, Hanning 窗, Hamming 窗, Blackman 窗,Kaiser 窗等, 这些窗函数各有优缺点, 各有利弊, 默认值是 Hamming 窗。如图 10 所示: 图 10 FIR 数字滤波器设计思想 利用完全设计法设计数字滤波器的步骤: (1)将设计指标归一化处理。 (2)根据归一化频率,选择函数 buttord 确定最小阶数 N 和频率参数 Wn。 (3)确定窗口值

39、。Windows 指定窗函数类型,默认为 Hamming 窗;可选 Hanning、Hamming、Blackman、triangle、bartlett 等窗,每种窗都可以由 Matlab 的相 应函数生成。 (4)确定传递函数的分母系数。函数 fir1 的调用格式为 B= fir1(n, Wn, ftype, Windows),同时选择在此函数中选择要设计的滤波器的类型。其中,n 为滤波器阶数, Wc 为截止频率 ftype 决定滤波器类型,ftype= high,设计高通 FIR 滤波器,ftype= 桂林电子科技大学实训(论文)报告用纸 第 13 页 共 26 页 stop,设计带阻 F

40、IR 滤波器。 (5)再用 freqz 函数验证设计结果。 4.6.3 FIR 数字滤波器设计编程实现 例如选择设计 FIR 的 Blackman 窗的低通滤波器,其 Fs=22050Hz,Fp1=3400Hz,Fs1=5000Hz,Rp=2dB,Rs=20dB 程序和效果图(图 11)如下: Fs=22050;Fp1=3400;Fs1=5000;Rp=3;Rs=20;n=75;%设计指标 wp1=2*Fp1 /Fs;ws1=2*Fs1 /Fs;%求归一化频率 % 确定的最小阶数 N 和频率参数 Wn n,Wn=buttord(wp1,ws1,Rp,Rs); b,a = butter(N,Wn

41、);%确定传递函数的分子、分母系数 w=blackman(n+1); %确定窗口值 % w=boxcar(n+1); % w=bartlett(n+1); % w=triang(n+1); % w=hanning(n+1); % w=hamming(n+1); b=fir1(n,wn,w);% 确定传递函数的分母系数 h,f=freqz(b,1); %生成频率响应参数 plot(f,20*log(abs(h) %画幅频响应图 plot(f,angle(h); %画相频响应图 桂林电子科技大学实训(论文)报告用纸 第 14 页 共 26 页 图 11 Blackman 窗低通滤波器 5 基于 M

42、atlab GUI 的数字滤波器设计思路及实现 5.1 GUI 界面设计概述 GUI 设计面板是 GUI 设计工具应用的平面,面板上部提供了菜单和常用工具按钮, 左边提供了多种如命令按钮、单选按钮、可编辑文本框、静态文本框、弹出式菜单等。 进行设计时, 首先单击面板左边所需的控件, 然后在右边的图形界面编辑区中再次单击 某一恰当位置, 这时将在该位上为图形界面添加相应的控件。一个图形界面的完成, 除 了设计其外观外, 还有相当的一部分是通过属性的设来完成的。因此在设置这些属性时, 要注意下面几个常用又很重要的属性设置: 1、控件风格和外观 (1)BackgroundColor:设置控件背景颜色

43、,使用R G B或颜色定义。 (2)CData:在控件上显示的真彩色图像,使用矩阵表示。 (3)ForegroundColor:文本颜色。 (4)String 属性:控件上的文本,以及列表框和弹出菜单的选项。 (5)Visible:控件是否可见。 2、对象的常规信息 (1)Enable 属性: 表示此控件的使能状态,设置为 on” ,表示可选,为“off” 时则表示不可选。 (2)Style:控件对象类型。 (3)Tag:控件表示(用户定义) 。 (4)TooltipString 属性:提示信息显示。当鼠标指针位于此控件上时,显示提示 信息。 (5)UserData:用户指定数据。 (6)Po

44、sition:控件对象的尺寸和位置。 (7)Units:设置控件的位置及大小的单位 (8)有关字体的属性,如 FontAngle, FontName 等。 3、控件回调函数的执行 (1)BusyAction:处理回调函数的中断。有两种选项:即 Cancel:取消中断事件, queue:排队(默认设置) 。 桂林电子科技大学实训(论文)报告用纸 第 15 页 共 26 页 (2)ButtonDownFcn 属性:按钮按下时的处理函数。 (3)CallBack 属性:是连接程序界面整个程序系统的实质性功能的纽带。该属性 值应该为一个可以直接求值的字符串,在该对象被选中和改变时,系统将自动地对字 符

45、串进行求值。 (4)CreateFcn:在对象产生过程中执行的回调函数。 (5)DeleteFcn:删除对象过程中执行的回调函数。 (6)Interruptible 属性:指定当前的回调函数在执行时是否允许中断,去执行其他 的函数。 4、控件当前状态信息 (1)ListboxTop:在列表框中显示的最顶层的字符串的索引。 (2)Max:最大值。 (3)Min:最小值。 (4)Value:控件的当前值。 应用 MATLAB 制作这样一个过程是非常方便的, 我们可以通过 GUI 操作来看到。 该环境下要设计一个界面友好的仿真软件,一般应完成以下两个步骤: (1)GUI 界面设计。主要是通过不同的文

46、本框、按钮等许多工具的使用,设计出 一个图形用户界面。要清楚这个图形界面的功能是什么,即在图形界面上的操作会引 发什么样的结果。 (2)回调函数的设计。用户应根据设计好的图形界面的功能,针对各个不同的图 形对象来编写出能够实现该功能的函数代码,确保这个图形界面能够完成所预定的功 能。 5.2 GUI 设计所实现任务 “滤波器设计软件”设计所实现任务如下: 1、能够实现人机交互 2、在下拉 Digital Filter 菜单里选择 IIR 和 FIR 滤波器设计 3、当选择 IIR 滤波器时,能够选择巴特沃斯(Butterworth)、切比雪夫 (Chebyshev)滤波器、切比雪夫(Cheby

47、shev)滤波器、椭圆(Ellipse)滤波器 4、当选择 FIR 滤波器是,能够选择 Boxar、Bartlett、Blackman、Hanning、Hamming、Kaiser 窗口设计滤波器 5、在下拉菜单 Filter Type 中选择滤波器类型,能够选择 Lowpass、Highpass、Bandpass、Bandstop 四种类型 6、在下拉菜单 Display Type 中选择图形显示类型,能够选择 Linear、Logarithmic 两种类型 7、在设计滤波器阶数时,可选择自定义阶数和利用最小阶数设计滤波器,并显示 桂林电子科技大学实训(论文)报告用纸 第 16 页 共 26

48、 页 最小阶数 8、在参数输入中,可输入抽样频率 Fs、滤波器通带临界频率(Fp1、Fp2) 、滤波 器阻带临界频率(Fst1、Fst2) 、通带内的最大衰减 Rp、通带内的最小衰减 Rs 9、设计的滤波器的幅频响应和幅频响应显示在界面中 MATLAB 中的属性控制非常多, 要设置哪些对象的属性, 哪些可以不设置, 都需针 对具体问题具体分析解决。接下来再通过控件布置编辑器来设置控件的对齐方式及间 距等, 以完善界面功能。按要求设计好的“滤波器设计软件”主面板见图 4, 共包括 5 个区域: (1)图形区:用于显示各模块的仿真曲线 (2)参数设区:由个静态文本框和个编辑框以及类型选择按纽组成,

49、 实时的进行 系统参数的设定和滤波器原型的选定 (3)对象模型区:由下拉菜单选定数字滤波器类型, 当用户的输人参数发生变化 时, 可通过单击响应的“ Run”按钮, 实现设计结果的实时刷新与显示 (4)数据显示区:对应于图形显示结果, 实时显示滤波器阶次和分子分母多项式 系数。 其 GUI 界面如图 5.2.1 所示: 图 5.2.1 GUI 主面板 桂林电子科技大学实训(论文)报告用纸 第 17 页 共 26 页 5.3 基于 MATLAB GUI 的数字滤波器设计实现 5.4 GUI 界面设计 在 matlab 命令行窗口中输入 guide 或点击 matlab 界面上面的菜单中的 图标,打开 gui 设计的图形界面如图 13 。然后拖入所要的图形控件,按需要修改外观和空间属性, 直至满足要求,如图 14。设置属性点击 guide 界面上方的 Run 按钮,会生成一个 fig 文 件,一个 m 文件,其中

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1