“信号处理与系统”课程设计实例剖析
2010-06-12熊跃军
熊跃军,刘 忠,王 伟
(国防科技大学电子科学与工程学院,湖南长沙410073)
开设“信号处理与系统”课程设计为学生巩固已学理论以及理论联系实际提供了一个很好的平台[1]。根据笔者的教学经历,认为选题必须理论结合实际,便于学生理解与掌握。而且选题应有一定的难度,但难度不能太大,要留有自由发挥的空间,避免给学生的题目像是完成一个既定程序的实验一样,相互间容易彼此拷贝。下面结合“信号处理与系统”课程设计的一个实例进行分析。
1 题材选取-双音多频电话通信
图1 按键式键盘
按键式电话提供了一个双音多频电话通信的实例。电话键盘如图1所示。对该键盘按一个键会发送两个正弦波信号的和,其中一个正弦波来自低频组,另一个来自高频组。键盘上的每一个按键都唯一地对应两个频率组合,可称其是编码。接收译码就是要知道该信号究竟包含了哪两个频率分量。而接收这两个正弦波组合并使之分离要使用滤波器。图2给出了按键式电话信号的解码过程。
图2 解码信号处理流程
如图所示,低通滤波器LP后面分成四路,每一路都后接相应的带通滤波器BP。高通滤波器HP之后分成三路,每一路也后接相应的带通滤波器BP。这样,一次解码只有两个有正弦信号输出,其中一个来自低频组,另外一个来自高频组。这两个信号通过后面检测器检测后,就能判断究竟是按了哪个键。
2 课程设计流程
(1)滤波器设计
设计图2中所列的各类滤波器包括模拟滤波器与相应数字滤波器,并分析各类滤波器的特性。
(2)系统仿真
使用Matlab、VC或VB等应用软件对双音多频电话信号产生和解码流程进行系统仿真,观测仿真结果(从时域和频域),使其具有演示性。
(3)信号检测
在输入信号中加入背景噪声或干扰信号,尝试不同的信噪比条件下,观测输出效果。
(4)完成演示程序与正式报告
完成整个设计后给出演示程序,使用软件不限,要求内容正确,结果真实,按照规范写出论文。
3 利用VB与Matlab混合编程实现[3]
整个系统设计采用VB与Matlab混合编程的方法,界面设计主要通过VB来实现,滤波器设计与信号观测部分通过Matlab实现。如拨打56899显示如图3所示,若要重新拨号则先用复位键复位,再重复上述过程即可。系统主要分为以下几个部分。
(1)界面与系统框架设计,如图3所示。
图3 课程设计程序界面
(2)低通、高通及带通滤波器设计,将模拟滤波器转换为相应的数字滤波器。可以随时观看某个滤波器输出。图4为低通和高通滤波器的电路实现。
图4 低通和高通滤波器的电路实现
(3)信号检测部分对信号进行傅立叶变换并对结果进行检测,确定按的是哪个键。
(4)Matlab与VB混合编程设计。
4 利用Simulink对系统进行仿真[4]
Simulink仿真系统的顶层结构如图5所示,可分为三个模块。
图5 顶层设计
1)信号生成模块
由7个信号源分别产生7种正弦波,通过12个单路控制开关和12个相加器合成所需的波形并叠加上一定功率的噪声。
2)低频组滤波器和高频组滤波器子模块
低频组滤波器子模块为低通滤波器后加四个带通滤波器并联,高频组滤波器子模块为高通滤波器外加三个带通滤波器并联,利用示波器可以观察系统滤波效果,图6为低频组滤波器子模块框图[5]。
图6 低频组滤波器子模块
3)信号检测与判别模块,其框图如图7所示。
图7 判别模块框图
5 结语
本文所举案例是几届学生所完成的课程设计中的普通实例。从总体完成情况来看,此例具有一定代表性。有些学生通过小组协作来完成,分工明确,体现了团队精神。从几届学生完成情况来看,几乎看不到相互雷同的情况,有些优秀设计不亚于一篇本科毕业设计要求的论文。很多学生反映该课程设计对以后的毕业设计有很大的帮助。他们发挥了自己的聪明才智,把各种高级语言编程应用到该课程设计里面来,甚至用到混合编程的方法,内容丰富,形式多样。有些学生还自己搭建 RC滤波器,利用电话输出信号经过滤波器观看输出效果,并设计出信号检测电路。
“信号处理与系统”课程设计是给学生巩固理论,理论联系实际以及培养学生动手能力的好机会。通过几年的教学经历,我们体会到课程设计的选题应联系理论,贴近实际,才能够提高学生的兴趣与积极性;选题之后内容的规划也很重要,要由浅入深,由局部到总体。
[1] 刘忠.信号处理与系统课程双语教学实践与思考.南京:电气电子教学学报,2005(4)
[2] 吴京.信号与系统.长沙:国防科技大学出版社,1999
[3] 杨高波.精通 MAT LAB 7.0混合编程.北京:电子工业出版社,2006
[4] 邹鹏.M ATLAB 6.X信号处理.北京:清华大学出版社,2002
[5] 姜春玲.基于MA TLAB的模拟滤波器设计.济南:山东交通学院学报,2004(9)