• 收藏
  • 加入书签
添加成功
收藏成功
分享

基于Matlab的数字信号处理课程中信号处理的可视化实现

王逸帆 马鹏博 徐斌
  
大通媒体号
2025年35期
湖北工业大学 理学院 武汉 430068

打开文本图片集

摘要:由于信号与系统课程中的相关基本理论和分析方法具有一定的抽象性,涉及的公式推导较多,单纯依靠理论学习无法全面理解和掌握相关知识点及其物理意义。本文基于MATLAB下GUI的强大功能,将信号与系统课程中的一些抽象理论公式进行可视化图形实现,可以方便快捷的得到想要的结果。

1、引言

伴随着数字信号处理技术的不断发展,数字信号处理成为当前科学与工程领域最受关注的技术。因此数字信号处理课程受到各院校的普遍重视,很多院校的计算机,通信,自动化等专业都开设了数字信号处理课程。数字信号处理的内容有信号分析,信号的滤波等。信号分析主要是针对信号的时频域分析,信号的滤波可以通过滤波器实现。数字信号处理技术在语音识别,图象处理,数字通信,雷达,生物医学,机器人,测量与控制等多个领域得到了广泛的应用。

作为人们生活中不可或缺的沟通工具,语音信号处理技术出现在生活的各个方面。随着信息技术的发展,语音信号处理技术逐渐成为高科技领域的研究热点,目前已经取得了极大的进步并被广泛应用到了许多行业中。但在语音信号的录制和传输过程中,由于外部环境中随时都充斥着各种各样的干扰,如通话时的电流声,交通工具的鸣笛声、人群中的人声等,原始的语音信号会混入各种噪声,使得语音信号原本传达的内容变得模糊,无法准确的传达。因此,语音增强就越来越受重视。语音增强是为了把含有噪声的语音信号中的噪声去除,获得更为清晰的语音信号。近几十年来,语音降噪技术得到了快速发展,出现了许多降噪方法,常用的降噪算法有谱减法、自适应噪声抵消法、卡尔曼滤波法、小波变换法以及谱减法与小波相结合的方法等。

图像与语音信号一样,在生成和传输过程中很容易引入各种噪声,由于受各种噪声的影响,图像清晰度会降低,模糊图像会对后续图像进行各种处理造成干扰,因此对图像进行平滑降噪是必要的。传统的数字图像处理技术包括图像变换、图像增强、边缘检测、图像分割和形态学处理等。

2、数字信号处理系统的设计理论与方法

数字信号处理的实现方法主要包括以下几种:采用大型、中小型计算机以及微机、单片机、通用DSP芯片、专用DSP芯片实现。大、中、小型计算机和微机很灵活,可以适用于各种信号处理的应用场合。单片机功能强大,能够根据不同环境配置的不同单片机,其特点是能够达到实时控制。DSP芯片内部配置有乘法器、累加器,使用流水线的工作模式及并行结构。专用DSP芯片的算法在芯片内部通过硬件电路进行实现,使用时只需要输入相应的数据,就可以得到结果。专用DSP芯片包括FFT, FIR滤波器等专用数字芯片。

这4种实现方法可分为两种形式:一种是通过软件仿真实现;另一种是利用硬件实现。但使用硬件进行操作时,在整个过程中会有各种外在因素或人为因素的影响,对操作者技术也有一定要求其结果更加偏向于实际。而软件仿真操作简单,可以反复编写代码以实现最优设计,同时,它能够将功能集成在一个系统平台上实现,操作时更加便捷。

基于上述原因,本文设计了一个基于GUI图形界面的信号处理平台,实现了数字信号的产生、基本运算、卷积和、z域分析、时域分析和FFT等基本功能,同时也实现了数字信号处理在语音处理和图像处理方面的简单应用。该系统平台借助MATLAB丰富的工具箱函数,强大的计算能力,将课程理论基础转化为功能丰富,参数灵活可调的界面。

3、信号处理系统的GUI可视化实现

在MATLAB的命令行窗口中输入guide,打开GUIDE编辑器,在此界面上进行主界面设计。在左侧工具栏选择需要的控件,放置到界面内。完整的主界面如图所示,用户可以根据需要点击相应的按钮,进入各子界面,点击“退出”按钮,就可以直接退出平台。

4、各个功能模块的设计与实现

1)信号的产生

数字信号处理以离散时间信号为研究对象。本论文选取了六种常见的序列,单位样值序列和阶跃序列、矩形序列、实指数序列、随机序列和正弦序列,观察每个序列的时域波形,理解序列特点和性质。

2)基本运算

加法、乘法、移位、翻转及尺度变换是序列的几种基本运算。以下分别对其进行简单介绍与GUI实现。在离散时间系统的分析中,卷积和是求线性时不变系统零状态响应的一个重要方法。如果单位样值序列是系统的输入信号,那么系统对应的输出可以称为该系统的单位取样响应。

3)z域分析

z变换是序列傅里叶变换的推广,对序列进行复频域分析。对进行Z变换,可以得到系统函数,它表示了系统的复频域特性。输入输出描述法是指对特定系统进行描述时,可以不考虑其内在结构,而将其视为黑盒子,仅对该系统的输出输入关系进行描述。离散时域系统的输入输出关系通常用常系数线性差分方程来描述。时域离散系统的零输入响应和零状态响应可以组合成系统全响应。系统的零输入响应是指输入信号为零时仅仅由系统初始状态引起的响应,系统的零状态响应是指系统的初始状态为零时仅由输入信号引起的响应。

4)FFT快速傅里叶变换

DFT在数字信号处理中是一种重要的变换。然而当N较大时,直接计算DFT的计算量太大。因此,采用DFT算法对谱分析和信号实时处理是不实用的。快速傅立叶变换(FFT)是DFT的一种快速算法。这种快速算法的实质是将长序列的DFT分解成点数更小的DFT,同时利用旋转因子的周期性和对称性来减少DFT的运算量,从而大大减少了计算次数

5)音频处理设计与实现

整个功能模块的实现过程如下:利用智能手机的录音器录制一段“.mp3”的语音信号,然后保存在电脑桌面上。利用MATLAB中的函数对保存的语音信号进行采集,得到其时域波形图,然后利用FFT对语音信号进行变换得到该语音信号的频谱图。然后设计低通滤波器,对语音信号进行滤波除噪,对滤波后的语音信号进行分析。

6)图像处理设计与实现

该图像处理功能模块包括图像读取、图像变换,添加噪声和图像平滑四个功能。

整个功能模块的实现过程如下:首先从计算机中读取图片,读取后可以对图片进行颜色、亮度、旋转和灰度变换,然后使用重置功能使图片复原,还可以对图像加入椒盐噪声和高斯噪声,并提供了三种去噪方法对图像滤波,将清晰化后的图像与原来图像进行对比,输出可视化结果。

参考文献

[1]武轩然. 基于MATLAB的语音信号处理[J]. 电子制作, 2019(14): 55-58.

[2]方伟伟, 郝英. 基于MATLAB GUI的音频处理系统[J]. 现代计算机, 2021, 27(25): 115-120.

[3]杜云明, 田思庆, 王斌. 数字图像处理仿真实验平台的设计与实现[J]. 中国教育信息化, 2021(14): 41-44.

*本文暂不支持打印功能

monitor