基于MATLAB,App,Designer的数字信号处理教学辅助系统设计

曾惠霞

(广州城市理工学院, 电子信息工程学院, 广东, 广州 510800)

“数字信号处理”是一门理论性强、概念抽象、公式繁琐、内容复杂的课程。在教学过程中,学生很难通过教师的语言描述或者课本的图文学习直观理解复杂的理论,理解不了就很难掌握和应用理论。针对这些问题,人们利用MATLAB GUI设计的数字信号处理辅助教学平台[1-4],或者提出将多生理信号采集与分析、语音信号处理等工程案例引入教学[5-7],从而帮助学生更直观的理解基本理论和概念,提高学生学习兴趣,提高教学质量方面都取得不错的成效。

本文提出利用MATLAB App Designer设计的一款数字信号处理辅助教学系统,针对信号采集、信号分析、信号处理的过程,结合数字信号处理课程的特点,将常见信号及其运算、傅里叶变换及分析、滤波器设计、综合应用等功能进行可视化处理。教师用本系统作课堂教学的演示以及用在实验辅助上,现象直观生动,教学更深入浅出、浅显易懂。系统的界面简洁友好、操作简单,实验现象图文并茂,增强了学生的学习兴趣,降低了理解难度,提高了教学效率,达到了激发学生学习兴趣、节省学习时间、增强理解记忆的目的。

本文基于MATLAB App Designer开发的系统,将“数字信号处理”过程的理论设计成代码的形式,用户在App界面设置输入参数,实现功能的图像化输出。MATLAB App Designer提供了设计视图和代码视图,设计视图用来放置控件,代码视图进行回调函数的编写,设计视图/代码视图区可以切换。系统设计好以后,可以用MATLAB软件提供的“共享”对系统进行打包发布成Web App形式或者独立的桌面App应用。

1.1 设计视图

本设计采用自顶向下的设计方法,整体框架如图1所示。数字信号处理教学辅助系统分为四部分,其中滤波器设计又分IIR滤波器设计、FIR滤波器设计,综合应用分为语音处理和图像处理。

图1 系统的整体框架

App的设计创建步骤如下。

(1) 根据需要,确定好需要设计的总体框架,并设计好App的文件和帮助菜单。放置相应的标签设计App的标题,选择选项卡组,可以让每个功能独立一个界面,允许用户在不同的选项卡组之间自由选择。

(2) 布置每个选项卡组界面,放置相应的基本控件并排列美观整洁。放置好控件后通过属性查看器修改控件的大小、形状、背景颜色、字体等属性。

(3) 编写控件的回调函数并调试功能。回调函数是实现交互的关键。

1.2 代码视图

如果设计视图进行App框架和外形的设计,那么代码视图特别是回调 (callback)函数则是App设计的灵魂,是实现整个设计按键交互功能的关键。

具体实现的方法:在设计视图中,选中组件比如按键(Button);
然后右键选择添加这个组件的回调函数,进入代码视图,灰色区域代码是在拖入组件后自动生成,不可修改。白色区域是可以编辑的部分,在此处添加代码。App Designer 中,通过添加回调函数、函数和属性对 App 进行代码编写。回调函数响应用户交互,例如当点击按钮即执行某些操作。函数可以是实现某些功能的辅助函数,属性是创建了用来存储在回调和函数之间共享数据的变量。函数和属性都分公有和私有。私有函数和属性都是只在App内部使用。

结合数字信号处理的教学内容和信号处理的基本过程所涉及的概念和原理,分信号及其基本运算、傅里叶变换和分析、滤波器设计、综合应用4个部分介绍本设计的实现过程。

2.1 信号及其基本运算

由于数字信号是自变量和幅度都是离散的信号,为了能够利用数字系统处理连续时间信号,要对连续时间信号进行抽样,转换成离散时间信号,离散时间信号再进行量化编码得到数字信号[8]。

在这一部分,设计了利用MATLAB生成所需要的正弦波、方波、锯齿波、离散序列等信号的波形,以及序列的基本运算如相加、相乘、移位、延拓、卷积。界面如图2所示,演示的是指数序列x[k]和矩形序列h[k]的卷积的结果。通过设计动态的计算过程,可以直观看到其结果,也可以看到序列的起点和终点、序列长度等,任何复杂的信号都可以转换成为对基本信号的基本运算的分析。

图2 常见信号的认识和序列的基本运算

2.2 傅里叶变换和分析

信号的傅里叶变换建立了信号的时域和频率的对应关系,信号的频域分析在滤波、检测方面有更加清晰的物理概念。对信号进行频谱分析时,要对信号做傅里叶变换得到信号对应的频谱函数。

在实际的研究工作中,计算机采集有限长的序列,根据信号抽样定理可以将四种信号的频谱分析转换成有限长序列的离散傅里叶变换(DFT),用DFT对连续非周期信号进行近似分析时,会出现混叠、泄露和栅栏现象,这些现象都可以通过本系统进行直观的演示。

本设计以信号xa(t)为例,以抽样频率fsam分别为1 000 Hz、400 Hz、100 Hz对x(t)进行等间隔抽样,得到x[k],观察不同抽样频率下的抽样信号x[k]及其幅频特性函数,以及抽样频率和混叠程度的关系。设连续信号为

Xa(t)=Ae-atsin(ωt)

(1)

若利用有限长序列的DFT分析xa(t)的傅里叶变换X(jw),要先对xa(t)离散化,得到的信号用x[k]表示。T为抽样间隔,T=1/fsam,

x[k]=x(t)|t=kT

(2)

离散信号x[k]的频谱X(ejΩ)与连续信号xa(t)的频谱Xa(jw)之间的关系:

(3)

其中,Ω=wT。

由以上公式可知,抽样信号的频谱函数是原来模拟信号的频谱函数的周期延拓。采样频率fsam必须大于2倍的模拟信号的最大频率f。抽样后得到的X(ejΩ)才不会发生混叠失真。如图3所示,其中采样频率可以通过对话框输入,当输入1 000时,得到的抽样序列及幅度谱。若输入400以下,开始清楚地看到频谱的混叠较大,随着采样频率的减小,混叠现象加大。

图3 信号的采样及其频率

2.3 滤波器设计

滤波器设计包含IIR 滤波器和FIR滤波器,分为低通、高通、带通和带阻。根据给定的滤波器技术指标,设计符合要求的滤波器。

滤波器设计窗口按功能可分为两个区域:滤波器设计选择区域,包含滤波器类型、模拟滤波器模型选择及参数设置区域;
滤波器波形显示区域显示按输入参数要求设计的滤波器幅度响应特性曲线。

IIR数字滤波器,以模拟低通滤波器为基础,模拟滤波器再转换成为数字滤波器。比较常用的模拟低通滤波器Butterworth、Chebyshev和Cauer型。使用不同的模型,设计出来的滤波器有不同的幅度频率响应,可以从图4直观观察到。图4(a)是IIR低通滤波器,采用ChebyshevI模型,设置好相应的参数之后得到的滤波器的幅频响应图。

FIR滤波器的设计通常根据理想滤波器的频率响应Hd(ejΩ),采样用窗函数法、频率采样法等设计的滤波器的频率响应H(ejΩ)去逼近理想频率响应Hd(ejΩ)。选择不同的窗函数实现出来的滤波器有性能上的差别。在FIR滤波器设计界面中,设置好相应的滤波器参数,并选择滤波器窗函数(矩形窗、Hann窗、Hamming窗、Blackman窗、Kaiser窗)类型。图4(b)是基于Hamming窗的FIR带通滤波器幅度响应曲线。

图4 滤波器的幅频特性图

通过对比,可以了解相同指标下,不同模板设计的IIR滤波器的性能差别,不同窗函数设计的FIR滤波器性能不同。IIR滤波器和FIR滤波器的性能差别。在实际应用中要根据工程的实际需求选择合适类型的滤波器。

2.4 综合应用

设计好的滤波器在实际的工程应用中,能不能实现预想的功能?本文提出综合性实践应用,分为语音信号处理系统和图像处理系统,既是前面几个部分的理论应用,也可以增加学习的趣味性,作为一个抛砖引玉的作用,使数字信号处理的学习不只是公式的推导和理论的叠加,而是日常实在的工程应用,也帮助学生建立起数字信号处理的大概流程与基本概念。

2.4.1 语音处理

含有加性噪声的信号s(t)的数学模型一般为

s(t)=x(t)+noise

(4)

其中,x(t)是有用信号,noise是噪声,对信号s(t)进行去噪处理的目的就是抑制噪声信号分量而恢复信号x(t)。

语音信号是日常生活中最常见的信号,以比较容易获取的语音信号作为处理对象,可以从电脑中导入已有的文件,也可以借助麦克风录入语音。涉及了数字信号处理的信号采集、处理、重建输出的全过程,如图5所示。

图5 数字信号处理基本过程

语音处理模块的设计如图6所示,分别是信号采集、加噪滤波、播放音频。为深入理解奈奎斯特抽样定理,以及如何设置抽样频率,采样频率也可以自主输入,进行实时语音信号采集,对比采集的音频信号的效果验证采样定理的内容。语音信号导入后即在坐标区显示其时域信号和频谱图。

读入语音文件并播放:用audioread命令读取设备存储的wav或mp3文件。

[y,Fs]=audioread(filename)语句中,y返回读取的音频信号,Fs返回采样频率。

用sound指令播放语音,sound(y,Fs)以正常速度播放音频,Fs乘于系数,可以调整语音播放速度。

加入噪声

为了验证所设计滤波器的有效性,需要引入加噪语音信号,设置了添加噪声选项卡,可以设置噪声强度或信噪比,选择噪声类型。本例噪声由MATLAB的随机函数randn得到,randn函数的调用格式为randn(m,n),返回的是一个m*n的随机项矩阵。设置好噪声强度后,噪声信号也可以确定下来,加入噪声以后的加噪语音信号y的大小是:

y=x+noise

(5)

将噪声混入信号源中,利用MATLAB强大的图形功能可以分别观察原始语音信号和加噪语音信号时域波形和频域波形。根据语音信号的特点,设置合适的滤波器参数,可以从图上观察不同类型的滤波器的时域和频域图,对比不同类型滤波器对信号的处理效果,也可以实时播放处理前后的语音文件,从听觉上直观感受滤波的效果。界面如图6所示。同样指标下分别采用IIR椭圆滤波器、FIR布莱克曼窗滤波器、自适应滤波器对语音处理后的结果。

从图6原始信号的波形图上可以看出,语音的主要频率分布在2 000 Hz以内, 播放音频也可以听出是一个女声说话。

加了信噪比0.1的随机噪声以后,语音的主要频率还是分布同一个范围,其他频率上的幅度分布比较均匀,这是加了噪声的原因。

利用不同的滤波器对语音信号进行处理,对比了IIR的滤波器、FIR滤波器和其他方法滤波器,从图6(c)上可以看出,相对来说最好的滤波效果是自适应滤波器。但是还不是最好的去噪效果,教学过程中可以师生讨论分析可能的原因。引导学生了解语音信号其实并不是严格平稳信号,要提高去噪质量,还需要考虑对音频进行分帧,对信号预处理及后续的平滑处理等。

(a)

2.4.2 图像处理

数字图像处理有很好的再现性,不会因为图像的存储、传输或复制等变换而导致图像质量的退化,利用图像处理技术可以对图像进行图像分析、重建和图像质量改善等。图像处理在近几十年迅速发展,应用在人类生活和工作的方方面面,例如生物医学、通信工程、智能制造等方面都有广泛应用,也可以作为启发数字信号处理的学习、拓展学习方向引入,并以一些简单的数字图像处理作为例子,增加学习的趣味性。图7是图像处理,对处理对象加椒盐噪声,再中值滤波的应用。

图7 图像处理

本系统利用MATLAB App的特点,结合数字信号处理课程对课堂上的抽象知识点进行动态仿真,把繁琐抽象的原理以直观简洁图形的方式表现出来,辅助课堂教学,不仅使课堂教学生动有趣,也缓解了使用者的编程压力,把涉及高等数学、线性代数、复变函数的数字信号课程理论具体化、形象化;
还可用于后续的语音处理图像处等,提高了学习的效率,扩展了学生的视野。经教学实践检验,收到良好效果。

猜你喜欢信号处理视图滤波器从滤波器理解卷积电子制作(2019年11期)2019-07-04开关电源EMI滤波器的应用方法探讨电子制作(2018年16期)2018-09-26《信号处理》征稿简则信号处理(2018年5期)2018-08-20《信号处理》第九届编委会信号处理(2018年5期)2018-08-20《信号处理》征稿简则信号处理(2018年8期)2018-07-25《信号处理》第九届编委会信号处理(2018年8期)2018-07-255.3 视图与投影中学生数理化·中考版(2017年6期)2017-11-09视图非公有制企业党建(2017年10期)2017-11-03Y—20重型运输机多视图现代兵器(2017年4期)2017-06-02SA2型76毫米车载高炮多视图现代兵器(2017年4期)2017-06-02

推荐访问:辅助 教学 数字信号处理