开篇:润墨网以专业的文秘视角,为您筛选了一篇基于MATLAB的“数字信号处理”仿真实验范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘要:针对“数字信号处理”实验课简单、教学效果差等问题,将数字信号处理实验分设为验证性、研究性和综合设计性实验,探讨了基于matlab的数字信号处理实验的方法和步骤。实践表明,在数字信号处理实验中加入研究性和综合设计性实验可以培养学生的求知欲和创新意识,提高学生的综合能力。
关键词:数字信号处理;综合设计性实验;MATLAB
作者简介:曹建玲(1974-),女,河北辛集人,重庆邮电大学通信学院,讲师;刘焕淋(1970-),女,重庆人,重庆邮电大学通信学院,教授。(重庆 400065)
基金项目:本文系重庆市教育教学改革项目(项目编号:113002)的研究成果。
中图分类号:G642.423?????文献标识码:A?????文章编号:1007-0079(2012)32-0088-02
“数字信号处理”是重庆邮电大学通信电子类、自动化、测控仪器等专业的一门理论性、实践性均很强的主干课,学生在学习这门课时普遍对理论不能理解,也很难将该课程的理论知识应用到工程实践中,[1]因此实验在教学中占有十分重要的地位。如何让学生理解和掌握课程内容及学会灵活运用这一理论工具,提高解决实际问题的能力、提高科研能力和创新能力是“数字信号处理”实验教学所要解决的关键问题。[2]
一、实验教学体系
实验内容上,改变以往运用MATLAB工具对数字信号处理基本理论单一化仿真验证的软件实现方法,增加了研究性和综合性实验,将实验分为三大类:仿真验证实验、研究性实验、综合设计性实验。仿真验证实验主要是运用MATLAB工具对基本理论仿真验证,实验内容主要有利用MATLAB验证时域采样定理;利用MATLAB实现时域离散系统的时域和频域分析。研究性实验要求学生在实验中改变某些参数,看这些参数对结果的影响,分析原因。实验内容主要有用FFT进行谱分析、IIR数字滤波器和FIR数字滤波器的设计。综合设计性实验要求学生实例编程完成实验内容,例如综合设计数字语音滤波系统,此实验综合了信号的采样定理、FFT的基本原理及IIR和FIR数字滤波器设计方法的数字信号理论知识。实验教学体系归纳如图1所示。
二、实验教学内容
1.仿真验证性实验
验证性实验比较简单,目的是加强学生对数字信号处理所学基础知识的理解,主要是对比较抽象的知识点进行原理性演示,给学生以直观的认识。学生只需要参照实验指导书上的程序输入就可观察到图形。例如对于时域采样定理,学生很难理解信号采样前后频谱的关系,没有直观的认识。通过实验,学生可以看到采样后信号的频谱发生的改变,也可以看到采样频率和最高频率分量不同时频谱的特点,从而理解采样定理。
2.研究性实验
研究性实验要求学生首先从理论上进行分析,参照指导书上的要求,编写MATLAB程序,得出在不同参数下的多个实验现象,并对这些实验现象进行比较研究,发现问题并用所学的理论知识解决问题,以便在实际中应用。如用FFT进行谱分析,在实验中要求对给出的三类信号(周期序列、非周期序列和连续信号)分别进行谱分析。对于每类信号进行谱分析的时候,采样点数N变换三种取值,对比N不同取值下FFT图形,并和信号的幅频特性曲线比较,以理解DFT的物理意义及分析出FFT作谱分析时有关参数的选择方法。
例如对连续信号x=cos(8πt)+cos(16πt)+cos(20πt)做谱分析关键代码如下:
N=64;
fs=64;
n=0:N-1;
x=cos(8*pi*n/fs)+cos(16*pi*n/fs)+cos(20*pi*n/fs);
Xk=fft(x,N);
stem(0:N-1,abs(Xk),'.');
得到的此连续信号的64点采样序列和序列的64点的FFT频谱如图2所示。
3.综合设计性实验
综合设计性实验综合数字信号处理的知识点,并与实际系统相联系,使学生拓宽知识面,培养学生的创新性和科研素质。下面以数字语音滤波系统设计为例来介绍综合设计性实验。该实验首先是采集语音信号,对采集的语音信号进行采样,然后用FFT进行频谱分析,根据信号的频谱特性、双线性变换法设计不同功能的数字滤波器进行滤波,得出滤波前后的频谱,分析信号的变化。
(1)采集语音信号及信号采样。利用计算机Windows下的录音机设备录制一段“重庆邮电大学,重庆邮电大学”话音,时间约在4s左右,得到数据文件cqupt.wav。然后在MATLAB软件平台下,利用函数[x,Fs,Nbits]=wavread(‘cqupt.wav’),对此语音信号进行采样,可以得到语音信号的采样频率Fs、采样点数和声音数据变量。[3]将得到的声音数据组放在向量x中,采样频率fs为44.1kHz,采样位数Nbits为16bit。
(2)FFT频谱分析。键入函数sound(x,Fs,Nbits),通过扬声器可以听到“重庆邮电大学,重庆邮电大学”声音,对原始语音信号进行FFT 频谱分析,程序关键代码如下:
figure;
t=(0:length(x)-1)/Fs;
subplot(2,1,1);plot(t,x);
title('信号原形');xlabel('时间(s)');ylabel('幅度');
X=fft(x);m=(0:length(X)-1);
w=2*m/length(X);
subplot(2,1,2);plot(w,abs(X));
title('信号的频谱');xlabel('数字频率(rad)');ylabel('幅度');X=fft(x)
得到原始声音信号的时域和频域波形如图3所示。
从图3可以看出,语音信号主要以低频为主,能量主要集中在0.2π以内,0.4π以外的高频部分非常少。