基于Matlab的信号与系统综合实验系统研发

时间:2022-07-22 03:48:05

基于Matlab的信号与系统综合实验系统研发

摘 要:为了改进《信号与系统》课程的教学方法,克服硬件实验系统的局限性,利用 Matlab图形用户界面(GUI)开发了信号与系统课程综合实验系统。该系统围绕信号处理中的典型问题进行实验建模和仿真,整个系统由实验主界面和单个实验界面组成,每个实验界面可以由用户自行设置和修改实验参数,实现实验结果的动态显示。通过仿真实验,能够促进学生的感性认识,帮助学生对课程所学理论知识和抽象概念的理解,有效提高信号与系统实验教学效果。同时,该实验系统可以弥补实验设备相对不足的缺陷,成为目前基于硬件实验系统的有效补充。

关键词:信号与系统课程; Matlab; GUI; 综合实验

中图分类号:TN911.7-34 文献标识码:A

文章编号:1004-373X(2011)20-0024-03

Integrated Experiment System for Signal and System Based on Matlab

ZHANG Xiao-feng, JIN Yong-xing, MA Shan, TIAN Tian, LIU Chen-ge, LIU Hang-zhou

(College of Physics and Information Technology, Shaanxi Normal University, Xi’an 710062, China)

Abstract: In order to improve the teaching method of the Signals and Systems course, and overcome the limitation of hardware experiment, an integrated experiments system of Signals and Systems course based on MATLAB graphic users' interface is designed. The experiment simulation and modeling are performed by thinking about the typical problems in the Signal and System course. The system is composed of the main menu and the subset experimental menus. Users can set and change the parameters of the experimental menu. The experimental results can be displayed immediately at the screen. The system can help the students obtain the perceptual knowledge and understand the theory and concepts, and improve the teaching effects very much. Moreover, the system remedied the insufficient of the experimental equipments. It will become a supplement for the hardware experimental system.

Keywords: Signal and System course; Matlab; GUI; integrated experimental system

基金项目:中央高校基本科研业务费专项基金资助(GK200902056);陕西师范大学大学生创新性实验计划项目(CX10021)

0 引 言

《信号与系统》是电子信息类本科生必修的一门专业基础课[1-2]。本课程的任务在于研究信号与系统理论的基本概念和基本分析方法[3],使学生初步认识如何建立信号与系统的数学模型,经适当的数学分析求解,对所得结果给以物理解释、赋予物理意义。由于本学科内容的迅速更新与发展,它所涉及的概念和方法十分广泛。长期以来《信号与系统》的教学一直倾向于理论教学,学生将大量的精力和时间用于理论学习和繁杂的手工数学运算,对课程中大量应用性较强的内容不能实际动手设计、调试、分析,未真正理解各种数学运算在信号处理中的实际应用。而且,在教学中,由于课程内容多,而课时偏少,教学内容扩展难;课堂上讲解多,研究少,启发性、互动性教学不够。另外,实验设备短缺等原因,也造成了实验教学困难;实验项目选择面窄,实验数量少且较简单的状况。而且,随着时间的推移,实验设备逐渐老化,在实际操作中容易受接触不良等因素的干扰,使实验结果与理论分析不符甚至出现异常。

为了解决上述问题,近几年先后有人研究采用Matlab及Simulink对部分实验进行建模、模拟、分析的方法[4-8],但都没有形成一套综合实验系统。基于信号分析软件Matlab的《信号与系统》综合实验系统,通过改进教学方法,增加计算机为辅助实验教学手段,帮助学生完成数值计算,实现信号与系统分析的可视化建模及仿真调试。

1 Matlab/GUI简介

Matlab为一套高性能的数值分析和计算软件[9],它将矩阵运算、数值分析、图形处理、编程技术结合在一起,为用户提供了一个强有力的科学及工程问题的分析计算和程序设计工具,它还提供了专业水平的符号计算、文字处理、可视化建模仿真和实时控制等功能,是具有全部语言功能和特征的新一代软件开发平台。Matlab语言简洁紧凑,语法限制不严,程序设计自由度大,可移植性好;运算符、库函数丰富;图形功能强大;界面友好、编程效率高;扩展性强。

Matlab 具有强大的图形用户界面(GUI)[10] 生成能力,采用Matlab GUI设计实验仿真,过程简单,可以设计出丰富、直观的界面;操作方便,可以直接在界面上输入和改变参数,直观地分析各参数的变化对实验结果的影响。GUI设计可用基本Matlab程序设计为主,也可以用GUIDE工具进行设计。GUIDE是一个专用于GUI程序设计的快速开发环境,使用者可以在不必非常熟悉Matlab图形产生程序设计的前提下,在该设计环境内方便地得到各种GUI控件,并可随意改变它们的外形、大小、颜色等,帮助用户更方便地设计出各种符合要求的图形用户界面。

2 信号与系统综合试验系统设计

2.1 系统总体设计步骤

围绕信号与系统课程的主要内容,进行了基于Matlab图形用户界面的信号与系统综合实验系统的设计。总体的设计步骤如下:

(1) 分析系统所要求实现的主要功能, 明确设计任务, 划分结构;

(2) 确定该系统的信号处理教学实验;

(3) 利用m语言编写及调试单个实验程序;

(4) 利用GUIDE设计图形用户界面;

(5) 编写图形用户界面的回调函数;

(6) 系统总体的调试和完善。

在系统的设计中, 图形用户界面设计采用由总到分的设计方法, 即先设计系统主界面及各模块的主界面, 再设计单个实验子界面。在回调函数的编写中,编写顺序则是采用由分到总的设计方法, 即先编写单子实验界面的回调函数, 再编写系统主界面和各模块主界面的回调函数[11-12]。

2.2 系统包含的实验内容

紧扣教学内容, 选择能够表现交互特点,又具有图形直观表现的相关选题, 重点围绕信号处理中的典型问题进行建模仿真, 通过各种Matlab程序高级仿真技术的应用, 一方面很好地验证或展示理论分析结果, 帮助对抽象概念的理解;另一方面,通过仿真实验,使学生从对理论知识的理解过渡到理论引导与实际应用的结合, 激发学生的创新思维, 鼓励学生对深层次、挑战性的问题进行探究。

以Matlab为平台开发的信号与系统综合实验系统包含一个信号与系统的实验界面。该界面可以脱离Matlab软件独立运行。系统包括5大模块,如图1所示。

图1 系统框图

(1) 信号图形显示模块:应用Matlab制图,将输入的纯数学信号和离散信号转化为图形信号,这样的交互性和直观生动性可以有效地模拟信号分析结果。从图形上直观的了解信号的一些基本特点,特别是正弦信号、负指数信号、阶跃信号、冲激信号等等;

(2) 线性系统时域分析模块:该部分内容主要包括时域卷积积分、LTI系统的冲激响应、阶跃响应等。通过这些练习,利用Matlab完成2个序列卷积的动态演示,加深对卷积概念的理解;

(3) 连续时间信号和系统的频域分析模块:主要有傅里叶变换及其数值计算;傅里叶变换性质的Matlab实现;利用Matlab分析系统的频率特性;方波信号的分解、合成;借助Matlab的信号处理和滤波器工具箱,设计系统频域特性分析的实验;

(4) 连续系统的复频域分析模块:包括拉普拉斯变换及其曲面图;利用零、极点分布分析系统的时域、频域特性;拉普拉斯逆变换。例如利用Matlab 的Simulink模块,观察系统的冲激响应和阶跃响应。并借助其模块化的方法,进行系统的零极点分析;

(5) 离散系统的Z域分析模块:主要利用Matlab分析系统的零、极点对系统稳定性、时域特性、频域特性的影响。

2.3 系统展示

2.3.1 系统主界面及各模块主界面设计

系统主界面是用于进入各个实验模块,各个模块的主界面是用于进入各单个子实验界面。它们都使用一些按钮控件来实现, 将各单个子实验界面有机地联系到一起, 使界面美观, 易于操作。实验系统主界面如图2所示。各个模块的主界面如图3所示。

图2 系统主界面

图3 各模块主界面

2.3.2 系统具体内容

实验1 本实验的目的是使学生掌握连续正弦信号和离散正弦信号的图形特点,及连续正弦信号与离散正弦信号的区别。点击信号图形显示模块中的正弦信号显示按钮,就进入实验界面(如图4所示),在界面中可以任意输入正弦信号的幅值和角频率,点击画图,系统就可以显示对应的正弦信号图形,并可以显示离散正弦信号的采样频率。

图4 正弦信号显示实验的界面

实验2 本实验的目的是使学生掌握通过求解传输函数H(s)极点在S平面的位置,来判断系统稳定性的方法,即如果极点只存在于S左半平面上,则系统稳定。如图5所示,在界面中输入传输函数分子和分母中各项的系数,点击绘图,系统就可以显示零极点图,判断出系统的稳定性并显示传输函数的零极点值。

图5 系统稳定性判断实验的界面

3 结 语

给出了基于Matlab GUI的信号与系统仿真实验综合系统设计。在实验操作中, 学生只需在相应的编辑框中输入相应的实验控制参数,就可以在输出框及图形框中获得相应的实验结果, 从而可以方便地对实验结果进行分析。通过在一个界面中输入不同控制参数来进行反复实验,这样可以高效地解决传统教学方法中的授课难点;深入浅出地分析各类信号的特点以及系统的特性, 实现了实验与教学同步进行,促进学生对教学内容的理解和掌握, 从而改善教学效果,提高教学质量。

参考文献

[1]郑君里,应启衍,杨为理.信号与系统[M].北京:高等教育出版社,2003.

[2]管治中.信号与线性系统[M].4版.北京:高等教育出版社,2004.

[3]梁虹,普园媛,梁洁.信号与线性系统分析[M].北京:高等教育出版社,2006.

[4]薛亚茹,梁华庆.Matlab 在信号与系统教学中的应用[J].光学技术,2002,28(7):181-182.

[5]李文顺,谭峰,张博宇.基于Matlab在信号与系统仿真中的应用[J].科技创新导报,2008(7):21-25.

[6]杨佳,王英志.浅谈Matlab GUI设计在信号与系统教学中的应用[J].科教文汇,2010(10):78-80,112.

[7]张尤赛,马国军,黄炜嘉,等.信号与系统Matlab实验仿真教学系统设计 [J].现代电子技术,2010,33(18):57-59.

[8]王洁丽,贾素梅,薛芳. Matlab软件在信号与系统辅助教学中的应用 [J].现代电子技术,2007,30(6):123-125.

[9]张圣勤,魏娟,宋福庆.Matlab 7实用教程[M].北京:机械工业出版社,2006.

[10]毛涛涛,王正林,王玲.精通Matlab GUI设计[M].北京:电子工业出版社,2008.

[11]魏娟,宋福庆.基于Matlab的GUI设计在高等数学中的应用[J].安阳师范学院学报,2010(5):129-131.

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

[13]马茹,胡建伟,杨立成.GPS信号和其干扰的Matlab仿真[J].电子科技,2011(5):17-22.

作者简介: 张小凤 女,1971年出生,陕西三原人,博士,副教授。主要研究方向为声学和信号处理。

上一篇:基于SCA的软件无线电在FPGA上设计与实现 下一篇:基于扩展背包问题的的软硬件划分算法