数字信号处理实验教案剖析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号处理实验教案
信息工程学院-通信工程教研室
数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼同学们的独立解决问题的能力。本讲义在第三版的基础上编写了五个实验,前2个实验属基础性的验证性实验,第3、4、5个实验属基本应用综合性实验。
实验一离散时间信号的MA TLAB实现
实验二线性卷积与循环卷积的原理及应用
实验三频率采样定理
实验四离散系统的因果性和稳定性及频率响应特性
实验五基于MATLAB的快速傅里叶变换
根据教学进度,理论课结束后进行相关实验。
实验一时域离散信号的产生
一实验目的
(1)了解常用的时域离散信号及其特点。
(2)掌握MATLAB产生常用时域离散信号的方法。
二实验内容
(1) 编写程序,产生下列离散序列:
A.f(n)=δ(n) (-3 B.f(n)=e(0.1+j1.6π)n (0 (2)一个连续的周期性三角波信号频率为50Hz,信号幅度在0~+2V之间,在窗口上显示2 个周期信号波形,对信号的一个周期进行16点采样来获取离散信号。试显示原连续信号和 采样获得的离散信号波形。 (3)一个连续的周期性方波信号频率为200Hz,信号幅度在-1~+1V之间,在窗口上显示2个周 期信号波形,用Fs=4kHz的频率对连续信号进行采样,试显示原连续信号和采样获得的离 散信号波形。 三实验步骤 (1) 在matlab命令窗口中逐行输入下列语句 >> n1=-3;n2=4;n0=0; %在起点n1、终点n2的范围内,于n0处产生冲激 >> n=n1:n2; %生成离散信号的时间序列 >> x=[n==n0]; %生成离散信号x(n) >> stem(n,x,'filled'); %绘制杆状图,且圆心处用实心圆表示 >> title('单位脉冲序列'); >> xlabel('时间(n)');ylabel('幅度x(n)'); 在上述语句输入完成之后,敲击回车键,弹出图形窗口,显示出如下图形,即已经满足题干所述条件,产生了f(n)=δ(n),(-3 (2) 在matlab命令窗口中逐行输入下列语句 >> n1=16;a=0.1;w=1.6*pi; >> n=0:n1; >> x=exp((a+j*w)*n); >>subplot(2,1,1),stem(n,real(x)); %在指定位置描绘图像 >> title('复指数序列的实部'); >> subplot(2,1,2),stem(n,imag(x)); >> title('复指数序列的虚部'); 在上述语句输入完成之后,敲击回车键,弹出图形窗口,显示出如下图形,即已经满足题干所述条件,产生了f(n)=e(0.1+j1.6π)n,(0 (3) 在matlab命令窗口中逐行输入下列语句 >> f=50;Um=1;nt=2; %输入信号频率、振幅、显示周期 >> N=16;T=1/f; %N为信号一个采样周期的采样点数,T为信号周期 >> dt=T/N; %采样时间间隔 >> n=0:nt*N-1; %建立离散时间的时间序列 >> tn=n*dt; %确定时间序列样点在时间轴上的位置 >> f=Um*sawtooth(2*f*pi*tn)+1; >> subplot(2,1,1),stem(tn,f); %显示经采样的信号 >> title('离散信号'); >> subplot(2,1,2),plot(tn,f); %显示原连续信号 >> title('连续信号'); 在上述语句输入完成之后,敲击回车键,弹出图形窗口,显示出如下图形,即已经满足题干所述条件,显示了原连续信号和采样获得的离散信号波形 (4) 在matlab命令窗口中逐行输入下列语句 >> f=200;Um=1;nt=2; %输入信号频率、振幅、显示周期 >> Fs=4000;N=Fs/f;T=1/f; %输入采样频率、求采样点数N、T为信号周期 >> dt=T/N; %采样时间间隔 >> n=0:nt*N-1; %建立离散时间的时间序列 >> tn=n*dt; %确定时间序列样点在时间轴上的位置 >> f=Um*sin(2*f*pi*tn); >> subplot(2,1,2),plot(tn,f); %显示原连续信号 >> title('连续信号'); >> subplot(2,1,1),stem(tn,f); %显示经采样的信号 >> title('离散信号'); 在上述语句输入完成之后,敲击回车键,弹出图形窗口,显示出如下图形,即已经满足 题干所述条件,显示了原连续信号和采样获得的离散信号波形 四思考题 (1) 如何在matlab下生产f(n)=3sin(nπ/4)(0 (2)改变实验步骤中最后两个实验的频率参数,分别重新生成相关的信号? 实验二 线性卷积与循环卷积的原理及应用 一 、实验目的 (1)掌握两种卷积的原理和两者的异同。 (2)掌握MA TLAB 实现两种卷积的计算和比较。 二、实验内容 (1)用MATLAB 设计线性卷积; (2)调试写出线性卷积和源代码; (3)用MATLAB 设计循环卷积; 三 实验步骤 1 线性卷积定理 1)线性卷积的引入 在实际应用中,为了分析时域离散线性非移变系统或者对序列进行滤波处理等,需要计算两个序列的线性卷积。线性卷积既可以在时域中直接计算,也可以通过变换在频域中计算得到。 2)线性卷积的时域计算方法 计算卷积的基本运算是翻转、移位、相乘和相加,这类卷积称为序列的线性卷积。如果两个序列的长度为N 和M ,那么卷积结果的长度为N+M-1。线性卷积有四步运算:①卷积运算时,y(n)要先反折得到y(-n);②m>0表示y(-n)序列右移,m<0表示左移,不同的m 表示不同的值。 假设()h n 和()x n 都是有限长序列,长度分别为N 和M ,它们的线性卷积可以表示如下: 1 ()()()() N l m h n x n h m x n m y -==*= -∑ MATLAB 信号处理工具箱提供了conv 函数,该函数用于计算两个有限序列的卷积。 2 循环卷积定理 1)循环卷积的引入 为了提高线性卷积的速度,希望用DFT(FFT)计算线性卷积。从而引入循环卷积来 运用DFT 快速计算线性卷积。循环卷积运用到离散傅立叶变换的循环移位性质,即时域循环移位定理。