Matlab在数字信号处理辅助教学中的应用

更新时间:2023-07-20 09:59:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2010年2月第29卷 第2期绵阳师范学院学报Feb.2010 Matlab在数字信号处理辅助教学中的应用

潘 伟

(西华师范大学计算机学院,四川南充 637002)

摘 要:数字信号处理是一门理论性强、内容多、教学难度大的学科,MATLAB在信号处理方面具有强大功

能。该文将MATLAB的工具应用与数字信号处理的算法与原理有机结合起来,开发出具有较强实用性的辅助教学软件,以辅助数字信号处理课堂多媒体教学。文章对软件的总体结构进行了设计,并以抽样定理和Z平面与S平面的映射为例,详细介绍了软件的实现方法。

关键词:数字信号处理;MATLAB;辅助教学

中图分类号:G642#423 文献标识码:A 文章编号:1672-612x(2010)02-0099-05

1 引言

数字信号处理是电子信息工程专业重要的必修专业课程之一。该课程不仅理论性强,其工程应用背景也十分明确。数字信号处理在无线电通信、数字电视和媒体、生物医学、数字音频和仪器等关键性的技术领域产生着日益重要的影响作用,新的算法层出不穷,有关的器件更是新品迭出。数字信号处理的知识和理论在电子信息工程及相近信息类专业人才的知识构成中占有相当重要的分量。尽管其内容都已相对稳定,所涉及的理论和分析方法也都比较成熟和经典,但是由于其理论性较强,教学内容量大,概念比较抽象,设计复杂,前后联系紧密,枯燥乏味,不好理解,因此教学难度较大,学生普遍反映难学。近年来,我们在数字信号处理教学中,利用Matlab开发了教学辅助软件进行辅助教学,取得了较明显的效果。

Matlab是Mathworks公司于1982年推出的一种功能强大、效率高、交互性好的数值计算和可视化计算机高级语言,它将数值分析、矩阵运算、信号处理和图形显示有机地融合为一体,形成了一个极其方便、用

[1]户界面友好的操作环境。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面

设计、便捷的与其他程序和语言接口等功能,被广泛应用于数值和符号计算、工程与科学绘图、控制系统的

[2]设计与仿真、数字图形处理、数字信号处理、通信系统设计与仿真等领域。

Matlab软件在信号处理中的应用主要包括符号运算和数值计算仿真分析,其中数值计算与仿真分析包括函数波形绘制、函数运算、信号的时域分析、信号的频谱分析等内容,它可以帮助我们更深入理解数字信号处理中的理论知识。运用Matlab软件的数值分析和计算结果可视化功能,可以详细生动地揭示数字信号处理理论的物理实际意义。

随着计算机技术信息科学的飞速发展,数字信号处理已经逐步发展成为一门独立的学科并成为信息

[1]科学的重要组成部分。Matlab在数字信号处理方面具有得天独厚的优势。将Matlab的工具应用与数字

信号处理的算法与原理有机结合起来,利用Matlab的图形用户界面(GraphicalUserInterface,GUI),进行二次开发,开发出具有很强实用性的辅助教学软件,辅助数字信号处理课堂多媒体教学,可以极大地提高教学效果。

2 基于Matlab的教学辅助软件设计与实现

整个系统的功能模块框图如图1所示。

收稿日期:2009-11-17

作者简介:潘伟(1976- ),男,硕士,讲师,主要研究方向:数字信号处理和实验室建设。

#100#绵阳师范学院学报(自然科学版)第29卷 总的来说,数字信号处理辅助

教学软件由三大部分组成:序列及

其运算、序列变换和滤波器的设

计。在序列及其运算部分要产生

常见的序列,对序列进行加、减、

乘、移位和翻转等运算,并要对信

号抽样过程及奈奎斯特抽样定理

的相关性质进行演示。序列的变

换部分要对序列的几种重要变换

DTFT、Z变换、DFT和Chirp-Z变

换的变换过程及其相关特性进行

展示。滤波器设计是数字信号处图1 数字信号处理辅助教学软件功能模块图理课程的重点内容,研究序列的各Fig.1Functionmoudulesoftheauxiliaryteachingsoftware种变换的最终目的就是要设计滤

波器。滤波器包括无限长脉冲响应滤波器(IIR,InfiniteImpulseResponse)和无限长脉冲响应滤波器(FIR,FiniteImpulseResponse)两种。每种滤波器都有多种不同的设计方法,滤波器设计部分要采用不同的设计方法实现这两种滤波器。由于本辅助教学软件的模块较多,每一模块的实现过程又比较复杂,因此,下面我将以抽样定理和Z平面与S平面映射关系两个模块为例介绍本软件的具体实现过程。

211 抽样定理模块的实现

通信系统分为模拟通信系统和数字通信系统,如果我们在发送端的信息源中包括一个模/数转换装置,在接收端包含一个数/模转换装置,则可以在数字系统中传输模拟信号。模拟信号数字化的第一步是在时间上对原信号进行离散化处理。即将时间上连续的信号处理成时间上离散的信号,这一过程称为抽样。要把原来是连续的模拟信号的传输转化为传输时间上离散的信号,从信息传输的角度考虑,这必然要求抽样后的信号载有原信号的全部信息,从而保证在接收端能无失真地恢复出原模拟信号,实现这一思想的基本条件是满足奈奎斯特抽样定理,它是数字化理论的基础。即是满足fs\2fH,其中fH是模拟信号的最高频率,fs是抽样频率。

对于抽样定理,重点要让学生理解抽样频率fs对理想抽样信号频普的影响,领会fs\2fH的具体含义。因此,在本模块,我们将模拟不同情况的抽样过程和理想抽样信号频普的变化。根据奈奎斯特抽样定理,对模拟信号的抽样包含了两种情况:fs\2fH和fs<2fH。由于fs=2fH是临界频率,为了便于学生理解,在实际实现的时候,将fs\2fH又分为了两种情况:fs=2fH和fs>2fH。下面是fs=2fH时的部分实现代码,此时的软件展示如图2

所示。

axes(handles.axes1);

x=[-10:0.5:10]+exp(-10);

y=sin(x)./x;

y1=zeros(1,length(x));

axes(handles.axes1);

h1=stem(x,y,'r*)';

axes(handles.axes2);

holdon;

xk=[030];

n=[-3-2-1];

h2=plot(n,xk,'r)';

xk=[030];

图2 奈奎斯特抽样定理界面n=[123];

Fig.2 Realizationofsamplingtheorem

第2期

xk=[030];

n=[-5-4-3];

h4=plot(n,xk,'r)';

xk=[030];

n=[345];

h5=plot(n,xk,'r)';潘伟:Matlab在数字信号处理辅助教学中的应用#101#

212 Z平面与S平面映射关系模块的实现

设连续信号为xa(t),理想采样后的采样信号为x^a(t)

x^a(t)=n=Exa(nT)D(t-nT)-]

对xa(t)做S变换得X(s),对x^a(t)做Z变换X(z),有如下关系式成立:

X(z)|z=eST=X(e)=X^a(s)

即,当z=e时,采样序列的Z变换就等于其理想采样信号的拉普拉斯变换。由此,可以得到复变量S平面到复变量Z平面的映射关系:

¹S平面虚轴映射为Z平面单位圆

ºS的左半平面映射为Z平面单位圆内部

»S的右半平面映射为Z平面单位圆外部

¼S平面平行与纵轴的一条直线映射为Z平面一个以原点为圆心的圆

½S平面平行与横轴的一条直线映射为Z平面一条以原点为起点的辐射线

¾S平面上宽度为2P/T的水平带映射到整个Z平面

在以上映射关系中,我们将¹º»条映射关系称为点映射,表示S平面的点与Z平面的点之间的映射关系;我们将¼½条映射关系称为线映射,表示S平面的线与Z平面的线之间的映射关系;我们将第¾条映射关系称为面映射,表示S平面的一个区域与Z平面的一个区域之间的映射关系。由第¾条映射关系我们知道,S平面和Z平面的映射为多值映射,Z平面与S平面映射关系的程序界面如图3所示。

以下代码为展示Z平面内容的关键代码。其中变量flag表示映射种类,flag=1表示点映射,flag=2

表示线映射,flag=3表示面映射。

switchflag

case1

re=r*cos(theta);

im=r*sin(theta);

h=plot(re,im,'r*)';

case2

ifslid==1

n=-2*piB0.01B2*p;i

x=r*cos(n);

y=r*sin(n);

图3 Z平面与S平面映射关系界面h=plot(x,y,'y,''line-Fig.3 Realizationofreflectionbetweenwidth,'2);Z-transformandS-transformelse

n=0B0.01B2.8;

re=n*cos(theta);

im=n*sin(theta);

h=plot(re,im,'c,''linewidth,'2);

endcase3sTsT]

#102#绵阳师范学院学报(自然科学版)

ifr<1

x=0B2*pi/200B2*p;i

y=0B0.005B1;

X=y*'cos(x);

Y=y*'sin(x);

h=plot(X,Y,'go,''markersize,'3);

else

x=0B2*pi/200B2*p;i

y=1B1.8/200B2.8;

X=y*'cos(x);

Y=y*'sin(x);

h=plot(X,Y,'bo,''markersize,'3);

end;

end;

以下代码为展示S平面内容的关键代码。变量flag的含义同上。

switchflag

case1

h=plot(re,im,'r*)';

case2

ifslid==1

x=[rere];

y=[-1010];

h=plot(x,y,'y,''linewidth,'2);

else

y=[imim];

x=[-1010];

h=plot(x,y,'c,''linewidth,'2);

end

case3

ifre<0

x=-10B0.01B0;

else

x=0B0.01B10;

end;

ifim<-pi

y=-3*piB0.1B-p;i

elseifim<pi

y=-piB0.1Bp;i

else

y=piB0.1B3*p;i

end;end;

[X,Y]=meshgrid(x,y);第29卷

第2期潘伟:Matlab在数字信号处理辅助教学中的应用

h=plot(X,Y,'g)';

else

h=plot(X,Y,'b)';

end;#103#

end

3 结束语

Matlab是一种功能强大、效率高、交互性好的数值计算和可视化计算机高级语言,其在信号处理方面具有明显的优势。本文用Matlab开发了一套数字信号处理辅助教学软件,对该软件的主要组成部分和功能划分进行了说明,并以抽样定理和Z平面与S平面映射关系两个模块为例介绍本软件的具体实现过程。在课堂教学中,将该软件与多媒体幻灯片有机结合起来,不仅可以改善教学的效果,同时能够提高教学的效率。

参考文献:

[1] 薛年喜.MATLAB在数字信号处理中的应用[M].北京:清华大学出版,2003.

[2] 楼顺天,李博苗.基于M记曲的系统分析与设计[M].西安:西安电子科技大学出版社,1998.

[3] 丁玉美,高西全.数字信号处理教程[M].西安:西安电子科技大学出版,2005.

[4] 刘顺兰,吴杰.数字信号处理[M].西安:西安电子科技大学出版社,2003.

[5] 唐建锋,游开明,陈列尊.基于MATLAB的数字信号处理综合性设计性实验探讨[J].衡阳师范学院学报,2006,27(3):

38-39.

[6] 汪治华,朱海波,胡顺仁.基于MatlabWeb服务器的数字信号处理远程仿真[J].电气电子教学学报,2007,29(4):66-

67.

[7] 李强,明艳,吴坤君.基于MATLAB的5数字信号处理6辅助教学方法[J].重庆邮电大学学报,2007,S1:152.

[8] 沈捷,王莉.基于MATLAB的图形交互式数字信号处理教学实验系统[J].电脑开发与设计,2007,20(9):59-61.

[9] 朱冰莲.数字信号处理精品课程建设的探索[J].高等建筑教育,2007,12:152.

[10]谭振江,魏洪,于前洋./数字信号处理0精品课程建设与实践[J].吉林师范大学学报,2006,4:92-93.

ApplicationofMatlabinAidingtheTeachingofDigitalSignalProcessing

PANWei

(SchoolofComputer,ChinaWestNormalUniversity,Nanchong,Sichuan 637002)

Abstract:Digitalsignalprocessingisatheoreticcourseandisdifficulttoteach.Matlabhaspowerfulfunc-tioninthefieldofsignalProcessing.ByusingMatlab,thispaperdesignsandrealizesaCAIsoftwareforthetea-chingofdigitalsignalprocessing,throughwhichteachingwillbemoreeasyandmoreeffective.Thepaperde-signstheoverallstructureofthesoftware,andexplainsindetailthewaytorealizethesoftwarewithsamplingtheoremandthereflectionbetweenZ-transformandS-transformasexample.

Keywords:digitalsignalprocessing;Matlab;assistedinstruction

本文来源:https://www.bwwdw.com/article/3931.html

Top