《数字信号处理》实验指导书-新.doc
文本预览下载声明
实验一:离散时间序列卷积和MATLAB实现
实验学时:2
实验类型:验证
实验要求:必修
(一)实验目的:学会用MATLAB对信号与系统分析的方法,理解离散序列卷积和的计算对进行离散信号与系统分析的重要性。
(二)实验原理:
1、离散时间序列f1(k)和f2(k)的卷积和定义:
f(k)=f1(k)*f2(k)=
2、在离散信号与系统分析中有两个与卷积和相关的重要结论:
a、f(k)= =f(k)* δ(k)即离散序列可分解为一系列幅度由f(k)决定的单位序列δ(k)及其平移序列之积。
b、对线性时不变系统,设其输入序列为f(k),单位响应为h(k),其零状态响应为y(k),则有:y(k)=
(三)实验内容:
conv.m用来实现两个离散序列的线性卷积。其调用格式是:
y=conv(x,h)
若x的长度为N,h的长度为M,则y的长度L=N+M-1。
题一:令x(n)= ,h(n)=,y(n)=x(n)*h(n),求y(n)。
要求用subplot和stem画出x(n),h(n),y(n)与n的离散序列图形。
题二:已知序列
f1(k)= f2(k)=
调用conv()函数求上述两序列的卷积和
题三:编写计算两离散序列卷积和f(k)=f1(k)*f2(k)的实用函数dconv().要求该程序在计算出卷积和f(k)的同时,还绘出序列f1(k),f2(k)和f(k)的时域波形图,并返回f(k)的非零样值点的对应向量。
function[f,k]=dconv(f1,f2,k1,k2)
%f1(k),f2(k)及f(k)的对应序号向量分别为k1,k2和k。
题四:试用MATLAB计算如下所示序列f1(k)与f2(k)的卷积和f(k),绘出它们的时域波形,并说明序列f1(k)与f2(k)的时域宽度与序列f(k)的时域宽度的关系。提示:可用上述dconv()的函数来解决。
f1(k)= f2(k)=
题五:已知某LTI离散系统,其单位响应h(k)=e(k)-e(k-4),求该系统在激励为f(k)=e(k)-e(k-3)时的零状态响应,并绘出其时域波形图。
提示:可用dconv()的函数来解决。
(四)实验报告:
1.根据实验原理,编写代码,得出实验结果,并画出波形图。
2.归纳、总结实验结果。
3.心得体会及其他。
实验二:FFT算法的MATLAB实现
实验学时:3
实验类型:验证
实验要求:必修
(一)实验目的:理解离散傅立叶变换时信号分析与处理的一种重要变换,特别是FFT在数字信号处理中的高效率应用。
(二)实验原理:
1、有限长序列x(n)的DFT的概念和公式:
2、FFT算法
调用格式是
X= fft(x) 或 X=fft(x,N)
对前者,若x的长度是2的整数次幂,则按该长度实现x的快速变换,否则,实现的是慢速的非2的整数次幂的变换;对后者,N应为2的整数次幂,若x的长度小于N,则补零,若超过N,则舍弃N以后的数据。Ifft的调用格式与之相同。
例:N=8;n=0:N-1;xn=[4 3 2 6 7 8 9 0];Xk=fft(xn)→Xk =
39.0000?????????? -10.7782 + 6.2929i??????? 0 - 5.0000i?? 4.7782 - 7.7071i?? 5.0000???????????? 4.7782 + 7.7071i??????? 0 + 5.0000i -10.7782 - 6.2929iXk与xn的维数相同,共有8个元素。例:x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t)。采样频率fs=100Hz,分别绘制N=128、1024点幅频图。clf;fs=100;N=128;?? %采样频率和数据点数n=0:N-1;t=n/fs;?? %时间序列x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); %信号y=fft(x,N);??? %对信号进行快速Fourier变换mag=abs(y);???? %求得Fourier变换后的振幅f=n*fs/N;??? %频率序列subplot(2,2,1),plot(f,mag);?? %绘出随频率变化的振幅xlabel(频率/Hz);ylabel(振幅);title(N=128);grid on;subplot(2,2,2),plot(f(1:N/2),mag(1:N/2)); %绘出Nyquist频率之前随频率变化的振幅xlabel(频率/Hz);ylabel(振幅);title(N=128);grid on;%对信号采样数据为1024点的处理fs=
显示全部