摘 要: 基于数字信号处理原理,在分析数字滤波器设计理论和Matlab编程技术及其GUI图形用户界面设计的基础上,开发了具有交互式特点的数字滤波器软件,界面操作简单方便,可以根据需要选择滤波器类型,输入相关参数,然后选择相应的功能按钮,就可以得到滤波器的特性参数,并进行滤波器的性能分析,打破了以往滤波器设计过程中大量繁琐的数值计算问题,为数字滤波器的设计和应用提供了一个有效的辅助工具。

关键词: 数字信号处理; 数字滤波器; Matlab GUI; 图像处理; 语音信号处理

数字滤波器通常通过一定的运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分来实现滤波,其应用非常广泛。然而, 在传统数字滤波器的设计过程中需要大量繁琐的数值计算,如果手工计算则费时费力。目前,数字滤波器的设计常借助计算机,利用Matlab软件来实现。Matlab中的图形界面编程环境GUIDE为用户开发软件界面提供了强有力的工具。本文在Matlab GUI基础上开发了数字滤波器的设计分析软件,并设计开发了应用于图像处理和语音信号处理模块。用户在使用时只需输入要设计的滤波器所需参数值,选择要设计的滤波器类型,即在分析滤波器特性时选择相应功能按钮就能得出对应的特性。该工具解决了用户在设计数字滤波器时大量繁琐的数值计算,不仅可以作为研究设计数字滤波器的辅助工具,还可以作为相关课程的辅助教学软件。

1 Matlab GUI设计工具简介

Matlab是一个面向科学与工程的计算软件,它将不同领域的计算用函数的形式提供给用户;用户在使用时,只需调用这些函数并赋予实际参数就能解决实际问题[1]。它涉及数值分析、自动控制、信号处理、图像处理、小波分析及神经网络等几十个领域的计算和图形显示。在Matlab中设计数字滤波器软件的工具有GUI与FDATool,两个工具都可以设计出数字滤波器。FDATool工具可以快速设计各种类型的滤波器,但是这个工具界面单一,用户无法根据需要来设计满意的界面。而图形用户界面GUI(Graphical User Inter-face)的设计是非常灵活的,它主要是一个界面设计工具集,Matlab将所有GUI支持的控件都集成在这个环境中,并可进行各项属性设置[2];用户设计好的图形用户界面保存后生成一个.fig文件,同时自动生成包含图形用户界面初始化和组件界面布局控制代码的M文件,为实现回调函数的编写提供了一个参考框架,包含GUI设计、控制函数及控件的回调函数,主要用来控制GUI展开时的各种特征[3]。对于熟练编程者,不需要GUI向导,直接编写M程序即可生成人机交互的有效图形用户界面。

2 数字滤波器的设计理论

2.1系统设计主流程及主界面

系统设计主流程如图1所示,系统主功能操作界面设计如图2所示。

2.2 数字滤波器的设计步骤

(1)确定指标:在设计一个滤波器之前,必须首先根据实际的工程需要确定滤波器的技术指标。通常选择数字滤波器实现选频操作。因此,指标的形式一般在频域中给出幅度和相位响应。幅度指标主要以两种方式给出:①绝对指标,它提供对幅度响应函数的要求,一般应用于FIR滤波器的设计;②相对指标,它以分贝值的形式给出要求,在工程实际应用中,这种指标最受欢迎。对于相位响应指标形式,通常希望系统在通频带内有线性相位。运用线性相位响应指标进行滤波器设计具有如下优点:①只包含实数算法,不涉及复数运算;②不存在延迟失真,只有固定数量的延迟;③长度为N的滤波器(阶数为N-1),计算量为N/2数量级。因此,本文中滤波器的设计就以线性相位FIR滤波器的设计为例。

(2)逼近:确定了技术指标后,就可以建立目标数字滤波器模型。通常采用理想的数字滤波器模型。之后,利用数字滤波器的设计方法,设计出一个实际滤波器模型来逼近给定的目标。

(3)性能分析和计算机仿真:上两步的结果是得到以差分、系统函数或冲激响应描述的滤波器。根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。

2.3 IIR数字滤波器的Matlab设计

Matlab信号处理工具箱提供了几个直接设计IIR数字滤波器的函数,这些函数把IIR数字滤波器典型设计中的复杂实现过程集成为一个整体,为设计IIR数字滤波器带来了极大的方便[4]。主要函数有:(1)函数butter:设计Butterworth滤波器,其特性是通带内的幅度响应最大限度的平滑,但损失了截止频率处的下降斜度。(2)函数chebyl:设计Chebyshev I型滤波器,其通带内为等波纹,阻带内为单调。Chebyshev I型滤波器的下降斜度比II型大,但其代价是通带内波纹较大。(3)函数cheby2:设计Chebyshev II型滤波器,其通带内为单调,阻带内等波纹。Chebyshev II型滤波器的下降斜度比I型小,但其阻带内波纹较大。(4)函数ellip:设计椭圆滤波器,与前几种滤波器相比,ellip函数可以得到下降斜度更大的滤波器,得到通带和阻带均为等波纹;一般情况下,椭圆滤波器能以最低的阶实现指定的性能指标。以上4种函数都可以设计低通、高通、带通和带阻的数字和模拟滤波器。

IIR数字滤波器在系统中界面设计如图3所示,其中左方为滤波器类型、通带选择及参数输入区,可以根据需要在Butterworth型、Chebyshev I型、Chebyshev II型和椭圆滤波器4种类型中选择任意一种滤波器,并且可以在低通、高通、带通和带阻4种通带中选择任意一种,然后输入相关参数,点击“运行”按钮,就可以设计出相应的IIR数字滤波器;右上方曲线为滤波器的幅频响应图,右下方曲线为滤波器的相频响应图。图3为Chebyshev I型带通IIR数字滤波器在系统中的设计实现,其他类型IIR数字滤波器设计界面与之类似。

2.4 FIR数字滤波器的Matlab设计

FIR滤波器通常采用窗函数法设计。窗函数法设计FIR滤波器的基本思想是:根据给定的滤波器技术指标,选择滤波器长度N和窗函数ω(n),使其具有最窄宽度的主瓣和最小的旁瓣,其核心是从给定的频率特性,通过加窗确定有限长单位脉冲响应序列h(n)[5]。工程中常用的窗函数共有7种,即矩形窗(Boxcar)、三角窗(Triang)、巴特利特(Bartlett)窗、汉宁(Hanning)窗、汉明(Hamming)窗、布莱克曼(Blackman)窗和凯塞(Kaiser)窗。

FIR数字滤波器设计界面如图4所示,其中左边为滤波器类型、通带选择及参数输入区,可以根据需要在Boxcar、Triang、Bartlett、Hanning、 Hamming、 Blackman和Kaiser等7种窗函数中选择任意一种设计滤波器,并且可以在低通、高通、带通和带阻4种通带中选择任意一种,然后输入相关参数,点击“运行”按钮,就可以设计出相应的FIR数字滤波器;右上方曲线为滤波器的幅频响应图,右下方曲线为滤波器的相频响应图。图4为Kaiser型高通FIR数字滤波器在系统中的设计实现,其他类型FIR数字滤波器设计界面与之类似。

3 数字滤波器的应用设计

3.1数字滤波器在图像处理中的应用

设图像信号f(x,y)通过线性不变系统h(x,y)的结果是g(x,y),即g(x,y)=f(x,y)*h(x,y),根据卷积定理,在频域上应有G(u,v)=F(u,v)*H(u,v)。其中,G(u,v)、F(u,v)、H(u,v)分别是g(x,y)、f(x,y)和h(x,y)的傅里叶变换[6]。频域增强的主要步骤是:(1)计算图像的傅里叶变换;(2)将其与一个根据要求设计的转移函数相乘; (3)再将其结果进行傅里叶反变换得到增强的图像。实际上,图像的能量大部分集中在幅频的低频和中频段,而图像的边缘和噪声对应于高频部分。因此,数字滤波器在图像处理中主要应用于低通和高通滤波,低通滤波能降低高频成分幅度,过滤噪声,以减弱噪声的影响,以增强图像;而高通滤波使图中各区域的边界得到较显著增强的同时滤掉了低频分量,使图中原来较平滑区域内部的灰度动态范围被压缩,因而整幅图像变得比较昏暗,但图像的轮廓却十分明显。

数字滤波器在图像处理中的应用设计界面,可以根据需要在低通、高通滤波器之间选择,然后调入要处理图像,点击“处理图像”按钮,即可看到图像滤波效果。图5为数字滤波器在图像处理方向的低通应用设计界面,右上图为原始图像,右下图为加入了噪声后的图像,左下图为经过低通滤波后的图像。从图5可以看出,低通滤波器能有效地过滤图像中的高频加性噪声,增强图像。

matlab gui 滤波器,基于Matlab GUI的数字滤波器设计及其应用相关推荐

  1. 「电子万年历matlab仿真」——基于Matlab的电子万年历仿真实现

    「电子万年历matlab仿真」--基于Matlab的电子万年历仿真实现 作为一种具有时间显示.日期查询.闹钟提醒等功能的电子产品,电子万年历已经成为了人们日常生活中不可或缺的一部分.而在现代科技的发展 ...

  2. matlab冲激响应不变发,matlab实验七冲激响应不变法IIR数字滤波器设计

    matlab实验七冲激响应不变法IIR数字滤波器设计 (数字信号处理)实验报告实验名称 实验七 冲激响应不变法IIR数字滤波器设计 实验时间 年 月 日专业班级 学 号 姓 名 成 绩 教师评语: 一 ...

  3. matlab gui 图像增强,基于MATLAB GUI的图像增强技术的实现

    基于MATLAB GUI的图像增强技术的实现 英英 [期刊名称]<内蒙古广播与电视技术> [年(卷),期]2017(034)003 [摘要]随着数字化时代的到来,人们对图像处理的要求越来越 ...

  4. 【CV/Matlab系列】基于matlab GUI的视频监控界面

    DATE: 2020.10.18 updated at 2022.04.23: 界面上增加报警提示功能 文章目录 1.前言 2.视频监控界面 2.1.初始化界面 2.2.人脸检测和计数功能 2.3.监 ...

  5. matlab伺服驱动,基于MATLAB的GUI设计伺服驱动系统仿真软件

    0引言计算机仿真技术是设计.研究和开发现代机械电子设备的新型手段,具有巨大的优越性,目前我们在机床伺服系统的工程设计中已广泛采用了这项技术.当前较流行的是采用MATLAB软件包进行设计,该软件包对控制 ...

  6. matlab 函数return_基于MATLAB的指纹识别系统【论文,GUI】

    一.课题介绍 本设计为基于MATLAB的指纹识别系统.本设计系统主要对指纹图像进行三方面处理:图像预处理.特征提取和特征匹配.图像预处理包括四个步骤:图像灰度化.滤波增强.二值化.细化,对指纹图像进行 ...

  7. iir matlab 带通,基于Matlab的带通IIR数字滤波器设计与仿真

    1引言数字滤波技术是数字信号分析.处理技术的重要分支[1].无论是信号的获取.传输,还是信号的处理和交换都离不开滤波技术,它对信号安全可靠和有效灵活地传输是至关重要的.在所有的电子系统和各类控制系统中 ...

  8. matlab优化函数 remez,基于Matlab的FIR滤波器的优化设计方法

    通过实例介绍了基于MATLAB的FIR滤波器的优化设计方法.3种结果比较发现,在同样阶数下,优化设计可以获得最佳的频率特性和衰耗特性. 数字滤波在数字信号处理中,占有重要的地位.数字滤波包括FIR和I ...

  9. matlab 有源电力滤波器,基于MATLAB的有源电力滤波器研究

    第 3 卷第 4 期 南 阳 理 工 学 院 学 报 Vol. 3 No. 4 2 0 1 1 年 7 月 JOURNAL OF NANYANG INSTITUTE OF TECHNOLOGY Jul ...

  10. 【毕业设计/Matlab系列】基于MATLAB语言的实时变声器系统

    Date:2022.5.5 文章目录 前言 1.算法原理 2.实现效果 2.1.男声变女声 2.2.女声变男声 2.3.男声变大叔声 3.部分matlab代码实现 前言 在大学毕业设计中,要求实现一个 ...

最新文章

  1. 最火移动端跨平台方案盘点:React Native、weex、Flutter
  2. Mac 使用Android Studio查找数字签名的方法SHA1或MD5
  3. qt 制作记事本_23.QT记事本
  4. Sqlserver2014下载与安装
  5. 03-身体部位-BodyParts(English)
  6. 我的做题日志(1),来源:COCI2017,SDOJ
  7. corba的兴衰_数据科学薪酬的兴衰
  8. ivx中字体显示_iVX云服务费用优化 · 上篇
  9. 第八篇:Spring Boot整合Thymeleaf_入门试炼04
  10. 分享一位电商大佬的技术笔记
  11. pitr 原理_pgsql的备份和恢复
  12. Vue-组件自定义事件-绑定-解绑
  13. mysql 数字正则_mysql 正则
  14. 用PS修改PNG格式图标的颜色
  15. python爬房源信息_Python爬虫-爬取300个短租网房源信息
  16. “M1芯片”电脑杀手:Windows笔记本电脑目前岌岌可危
  17. 电话程控交换机安装经验
  18. [转载] 新妖女传说:奸魔
  19. ASP.NET 页面中的 ValidateRequest属性
  20. Owndoor开门应用APP安卓苹果

热门文章

  1. php 度分秒和小数转化
  2. 视频分辨率QCIF、CIF、2CIF、4CIF,D1~D5
  3. Blender使用maya系快捷键
  4. linux基础学习思维导图及文档(17万字)
  5. 操作系统原理与Linux实践教程申丰山版习题2的2-3答案
  6. 电容单位F法拉、mF毫法、纳法nF、皮法pF之间是如何转换
  7. 中国人民大学_《组织行为学》_19.冲突:怎样避免组织内耗?
  8. OA系统中的会议管理
  9. 单片机流水灯C语言实验报告,单片机LED灯实验报告.doc
  10. 微软同步工具之synctoy