MATLAB 在电子信息课程中的应用.docx
MATLAB 在电子信息课程中的应用 陈艺 摘要:介绍了MATLAB,并结合实例,详细探讨了MATLAB 在电子信息 课程中的应用。 关键词:MATLAB;工具箱;仿真实验;电子信息课程 引言: MATLAB其功能强大,已成为数字信号处理等课程的主要工具 软件,学习和掌握好MATLAB有助于专业课更好的学习。 1MATLAB简介 MATLAB简介 MATLAB 是由美国 mathworks 公司发布的主要面对科学计算、可视化以及交互式程序 设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的 建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中, 为科学研究、 工程设计以及 必须进行有效数值计算的众多科学领域提供了一种全面的解决方案, 并在很大程度上摆脱了 传统非交互式程序设计语言的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB 在数学类科技应用软件中在数值计算方面首屈一指。MATLAB 可以进行矩阵 运算、绘制函数和数据、实现算法、创建用户界面、连 接其他编程语言的程序等,主要应 用于工程计算、 控制设计、 信号处理与通讯、 信号检测、 金融建模设计与分析等领域。 MATLAB 的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用 MATLAB 来解算问题要比用 C,FORTRAN 等语言完成相同的事情简捷得多。在新的版本 中也加入了对 C,FORTRAN,C+ ,JAVA 的支持。可以直接调用,用户也可以将自己编写 的实用程序导入到 MATLAB 函数库中方便自己以后调用。 2 MATLAB 在电子信息课程中的应用 数字信号处理 技术 工程与科学绘图 控制系统的设计与仿真 通讯系统设计与仿真 2.1 MATLAB 在信号与系统中的应用 信号与系统是电子信息类专业的一门重要的专业基础课。 一方面, 该课程涉及了许多基 本分析方法, 而掌握这些方法就要不仅要有较好的数学基础, 而且要将大量的时间和精力花 费在许多繁琐的工程计算上;将 Matlab 引入该课程,一些基本的分析方法便可用软件来实 现。二维傅立叶变换是一个很复杂的数学运算,如果采用 C 或 Visual C语言编写此变 换的仿真程序, 需要对傅立叶变换有一个深入的理解, 而且需要将数学公式按步骤编写程序, 1 需要十几条语句,但在 MATLAB 中,就不需要把精力放在编写程序上,只需要一条语句就 可以实现傅立叶变换的仿真,语法格式如下: Bfft2(I) Bfft2(I,m,n) (1) (2) 其中 Bfft2(I)返回数据 I 的二维 fft 变换矩阵,输入数据 I 和输出数据 B 维数相同。 Bfft2(I,m,n)通过对数据 I 进行剪切或补零,按用户指定的点数计算 fft,返回数据矩 阵 B 的大小为 m×n。通过上述语句,可见 MATLAB 用于信号与系统的实验仿真中是很方 便的。 示例 1:通过傅里叶变换找出被随机噪声淹没的信号频率。设采样频率 f=1000Hz,信 号频率分布在 50 100Hz, 然后叠加随机噪声。 可编写如下的 MATLAB 程序演示信号叠 加噪声前后的幅值谱分布: t=0:0.001:0.6; signal=sin(2*pi*50*t)+cos(2*pi*100*t); noise=2*rand(size(t); sn=signal+noise; Ys=fft(signal,512); Yn=fft(sn,512); Ps=abs(Ys); Pn=abs(Yn); f=1000*(0:256)/512; subplot(2,2,1); plot(t,signal); xlabel(' 时间(秒)'); title(' 不含噪声信号'); subplot(2,2,2); plot(t,sn); xlabel(' 时间(秒)'); title(' 含噪声信号'); subplot(2,2,3); plot(f,Ps(1:257); xlabel(' 频率(Hz)'); title(' 不含噪声信号的幅值谱'); subplot(2,2,4); plot(f,Pn(1:257); xlabel(' 频率(Hz)'); title(' 含噪声信号的幅值谱'); 2 上面的程序在 MATLAB 中执行的结果如图 1 所示,其中可以看到淹没在时域噪声中 明显的信号峰值,这就是频域分析的功效。 2.2 MATLAB 在数字图像处理中的应用 数字图像处理课程起点高,难度大,理论性很强。所以在数字图像处理课程中引进 MATLAB 软件。 MATLAB 有丰富的图像处理工具箱,提供了一个很好的编程平台,可以更快、更好地 掌握图像处理的基本理论和分析方法。 下面以边缘检测为例来说明 MATLAB 在数字图像处 理课程中的应用。在数字图像处理中常用的边缘检测算子有 Sobel 算子、Robert 算子、 Prewitt 算子、LOG 算子、Canny 算子,在 MATLAB 中只需要将语句 BWedge (I, sobel) 中的 sobel 修改为 roberts,prewitt,log 和 canny 算子就可以了,这样就可以 对同一幅图像进行不同的边缘检测,各个算子检测的结果以图形的形式显示,程序如下: Iimread(testpat1.png); subplot(2,3,1),imshow(I) title(原始图像) BW1edge(I, sobel); BW2edge(I, roberts); BW3edge(I, prewitt); BW4edge(I, log); subplot(2,3,2),imshow(BW1) title(sobel 算子) subplot(2,3,3),imshow(BW2) title(roberts 算子) subplot(2,3,4),imshow(BW3) title(prewitt 算子) subplot(2,3,5),imshow(BW4) title(log 算子) subplot(2,3,6),imshow(BW5) title(canny 算子) 程序运行结果见图 2。 图2 边缘检测示例图 3 2.3 MATLAB 在自动控制原理中的应用 MATLAB 语言开发了控制系统工具箱,即 CONTROL 工具箱,并进一步设计了控制 系统结构图程序设计工具箱,即 SIMULINK 工具箱,使得 MATLAB 语言成为控制系统仿 真分析的必要工具。 SIMULINK 仿真环境是 MathWorks 软件公司专门为 MATLAB 设计提 供的结构图编程与系统仿真的专用工具, 基本上不用编写任何程序, 只需调用所需模块即可, 并可以修改模块。中的参数值。该仿真环境下的用户程序其外观就是控制系统的结构图,操 作就是依据结构图作系统仿真。此仿真环境一方面是利用 SIMULINK 提供的输入信号(信 号源模块)对结构图所描述的系统施加激励;另一方面是利用 SIMULINK 提供的输出装置 (输出口模块)获得系统的输出响应,即数据或时间响应曲线,成为图形化、模块化方式的 控制系统仿真。下面举例说明 MATLAB 在自动控制原理中的应用4。在 SIMULINK 仿 真界面上作仿真结构图(见图 3),并作时域仿真,仿真参数可以进行设置修改,和现实用 仿真仪器进行参数调整是一样的, 这样就可以得到在不同情况下的仿真曲线了。 如果仿真参 数设置为:阶跃时间为 1 s,初始值为 0,终止值为 1,则仿真曲线见图 4;如果仿真参数设 置为:阶跃时间为 2 s,初始值为 0,终止值为 10,则仿真曲线见图 5。 从上面例子可以看出,采用 MATLAB 对自动控制原理中的内容进行仿真是很方便的, 不用搭建任何电子物理器件就可以进行仿真,同时仿真结果以图形的形式显示。 3. 在通信原理中的应用 对于通信系统的学习,一般需建立一个通信实验室,购买大量的实验仪器,需要花费大 量的人力和物力, 而MATLAB的出现有效地缓解了这一局面, 使得通信系统的仿真可以在个 人计算机上模拟实现, 只需输入不同的参数就可以得到不同情况下系统的性能。 1MATLAB 在通信领域得到越来越广泛的应用,运用MATLAB 通信仿真工具箱可以对通信系统中的调 制与解调,信号的频谱分析以及FIR 滤波器的设计等进行仿真。下面以通信原理中的双边 带幅度调制的Simulink 仿真为例说明MATLAB 在通信原理课程教学中的应用。? 4 示例2: 示例 :图6所示是双边带频带幅度调制的系统仿真框图。图7给出了双边带频带幅度 调制后信号的频域图,图中可见载频两旁的边带成分。图8 给出了示波器显示的图形,从 上到下是解调波形、原始波形、调制波形。 图6 双边带频带幅度调制的系统仿真框图 图7 双边带频带幅度调制后信号的频域图 图8 双边带频带幅度调制仿真系统中示波器的波形图 5 三、结语 目前MATLAB 在我国大学已得到了广泛应用。 为了更好地将MATLAB 融入到专业课程 的学习之中, 发挥MATLAB 在专业课程教学中的作用, 采用MATLAB 编程进行演示和仿真 实验,借助MATLAB 仿真帮助解释晦涩难懂的概念以及理论知识,尝试将仿真实验融于专 业理论教学当中, 理论和实验相结合, 使抽象的理论知识具体化、 形象化。 课后采用MATLAB 编程来完成课后习题、相应实验以及课程设计,围绕相关专业课题采用MATLAB 进行仿真 研究等。对于那些由于实验资源限制不能开出的专业实验项目,也可以采用MATLAB 仿真 实验的方法。 参考文献: 【1】徐明远,邵玉斌MATLAB仿真在通信与电子工程中的应用M.西安:西安电子科技 大学出版社 【2】陈怀琛.数字信号处理教程MATLAB释义与实现M.北京:电子工业出版社. 【3】张兆礼,赵春晖,梅晓丹.现代图像处理技术及MATLAB实现M. 【4】 张威. MATLAB 基础与编程入门M.西安:西安电子科技大学出版社 【5】 鞠阳.MATLAB 在电子信息课程中的应用J. 微型机与应用, 【6】 张国琴,吴周桥.MATLAB 在数字图像处理教学中的应用 6 MATLAB 在电子信息类课程中的应用