周云波,刘小群
(宝鸡文理学院物理与信息技术系,陕西宝鸡721013)
信号与系统是电子信息类专业本科生的一门必修专业基础课,它是一门很抽象、理论和实践结合紧密的学科,因此实验在教学中占有十分重要的作用。通过本门课的学习,使学生能够熟练掌握信号的表示、运算,了解系统的性质及表示;掌握系统的时域分析和变换域的分析方法。通过实验课程的实践,使学生能够将信号与系统分析的基本原理、方法与应用直接联系起来,巩固和加深对《信号与系统》理论教学中重要概念和理论的理解[1]。我们目前设置的实验项目有:(1)电信号的分解与合成;(2)信号的抽样与恢复;(3)连续系统的模拟与仿真;(4)连续信号的傅里叶分析。从开设项目看远远不能满足学生学习需要。为了充分利用实验室资源,让学生能够自主选择实验的内容与时间,从而激发学生做实验的兴趣,提高学生思考问题、分析问题、解决问题的能力。近几年各高校都开设了开放实验,为了配合信号与系统专业基础课的理论教学,我们在电子信息科学与技术专业教学计划中安排了信号与系统开放实验课,主要是针对信号与系统的基础理论进行综合训练,以使学生巩固所学的知识,加强理论和实际结合的能力,培养其综合设计能力与实际应用能力。由于学生要自选题目,这对实验室的设备提出了很高的要求,利用Matlab软件开设信号与系统开放实验,学生自己设计实验题目、内容和仿真实验结果,克服了实验设备不足的矛盾。
Matlab语言是一种广泛应用于工程计算及数值分析领域的新型高级语言,其功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎[2]。针对信号与系统课程特点利用Matlab开设一些开放实验,学生可以根据各章节学习情况自己选择实验内容确定题目,自己设计程序,对结果进行分析,收到了良好的效果。下面是两个实验例子,对信号进行傅里叶分析和数字滤波器的设计和验证。
有一信号x由三种不同频率的正弦信号混合而成,通过得到信号的DFT,确定出信号的频率及其强度关系。参考程序如下:
t=0:1/119:1;
x=5*sin(2*pi*20*t)+sin(2*pi*30*t)+sin(2*pi*45*t);
y=fft(x);
m=abs(y);
f=(0:length(y) -1)’*119/length(y);
figure(1)
subplot(2,1,1),plot(t,x),grid on
title(‘多频率混合信号’)
ylabel(‘Inputitx’),xlabel(‘Time’)
subplot(2,1,2),plot(f,m)
ylabel(‘Abs.Magnitude’),grid on
xlabel(‘Frequency(Hertz)’) 运行结果如图1所示:
图1 多频率混合信号与幅频特性图
≫ b=[0.2 0.3 1]
≫ a=[1 0.4 1]
≫ freqz(b,a,128) 幅频特性
≫ y=tf(b,a)传递函数
≫impulse(y)脉冲响应
运行结果如图2所示,接着上面继续做:
≫ x=[1 2 -1 2]
≫ z=filter(b,a,x)
运行结果如图3所示:
图2 幅频特性与相频特性图
图3 滤波后幅频与相频特性图
在信号与系统开放实验教学中引入Matlab软件,可以对课程中理论知识系统地实现分析、设计、调试和验证。利用Matlab软件强大的数据处理和图形功能,可以简便高效地解决传统教学方法中的授课难点,又能解决一些硬件实验中无法实现的可视化分析。经过Matlab编程实践,可以将学生从传统费时费力的计算中解脱出来,从而让学生将重点放在对概念、原理的理解和实际应用中,对信号与系统的理论与实践教学具有重要的实际意义。笔者在电子信息科学与技术专业07,08级采用Matlab进行信号与系统实验设计,通过实验训练使学生逐步由基本理论过渡到实际应用。经过多层次,多方式教学的全面训练后,学生进一步巩固和加深了《信号与系统》的理论知识,能够运用所学的理论知识掌握分析和处理问题的方法,理论联系实际,能排除简单的实验故障,认真观察现象,正确地读取数据,描绘波形并加以检查和判断。正确地书写实验报告,绘制曲线和分析实验结果。大大激发了学生的学习兴趣,使学生很快掌握了编程方法和解决实际问题的技巧,取得了良好的教学效果。
[1]王红梅,黄华飞,唐春霞.MATLAB软件在信号与系统实验中应用[J].广西轻工业,2007(6):55-56.
[2]姚曼.基于MATLAB的信号与系统实验应用研究[J].硅谷,2010(15):157-158.