当前位置:文档之家› 数字信号处理实验报告

数字信号处理实验报告

前言《数字信号处理》是信息电子,通信工程等本科专业及其他相近专业的一门专业必修课。

通过本课程的学习,学生应掌握以下基本概念、理论和方法:采样定理、离散序列的变换、离散信号的频谱分析;离散系统的传递函数、频率响应、离散系统的基本分析方法;数字滤波器的设计理论、滤波器的软件实现;离散傅立叶变换理论、快速傅立叶变换方法;有限字长效应。

为了使学生更好地理解和深刻地把握这些知识,并在此基础上,训练和培养学生掌握离散系统的基本概念和分析方法,数字滤波器的设计和实现,以及如何利用快速傅立叶变换等DSP技术对数字信号进行分析、滤波等处理,设置了以下三个实验:(1)离散时间序列卷积和MATLAB实现;内容:使用任意的编程语言编制一个程序,实现两个任意有限序列的卷积和。

目的:理解线性非移变系统I/O关系和实现要求:掌握使用计算机实现数字系统的方法(2)FFT算法的MATLAB实现;内容:使用MATLAB编程语言编制一个程序,实现任意有限序列的FFT。

目的:理解FFT算法的意义和实现要求:掌握使用计算机实现FFT算法的方法(3)数字滤波器的设计;内容:使用MATLAB编程语言编制一个程序,实现FIR或IIR滤波器的设计目的:理解数字滤波器的设计技术要求:掌握使用计算机进行数字滤波器设计的方法(4)窗函数设计FIR滤波器;内容:使用MATLAB编程语言编制一个程序,实现FIR或IIR滤波器的设计目的:理解数字滤波器的设计技术要求:掌握使用计算机进行数字滤波器设计的方法该实验指导书是参照该课程的教学大纲而编制的,适合于信息电子工程、通信工程等本科专业及其他相近专业。

数字信号知识预备:一.典型的离散信号1.单位抽样信号⎩⎨⎧≠==0001)(n n n δ 2.脉冲串序列p(n)将)(n δ在时间轴上延迟k 个抽样周期,得⎩⎨⎧≠==-kn k n k n 01)(δ 若k 从∞-变到∞+,则的所有移位可形成一个无限长的脉冲串序列p(n) ∑∞-∞=-=k k n n p )()(δ 3.单位阶跃序列⎩⎨⎧<≥=0001)(n n n u 4.正弦序列5.复正弦序列6.指数序列二.离散信号的运算1.信号的延迟给定离散信号x(n),若信号)(1n y ,)(2n y 分别定义为)(1n y =x(n-k))(2n y =x(n+k)序列下x(n)在某一时刻k 时的值可用)(n δ的延迟来表示,即)(k x =)(n x )(k n -δ2.两个信号的相加和相乘x(n)=x1(n)+x2(n)y(n)=x1(n)x2(n)y(n)=cx(n)3.信号时间尺度的变化y(t)=x(t/a),式中a>0若a>1或a<1呢?4.信号的分解5.信号的变换三.信号的分类1.连续时间信号和离散时间信号2.周期信号和非周期信号3.确定性信号和随机信号4.能量信号和功率信号5.一维信号、二维信号及多通道信号四.噪声x(n)=s(n)+u(n)x(n)=s(n) u(n)五.离散时间系统的基本概念y(n)=T[x(n)]例:一个离散时间系统的输入、输出关系是y(n)=ay(n-1)+x(n)求所给系统的单位抽样响应。

例:系统∑=-=2)()()(kknxkbny式中)0(b,)1(b,)2(b为常数。

求所给系统的单位抽样响应六.有关离散系统的几个重要定义1.线性对ax1(n)+bx2(n)的响应是ay1(n)+by2(n)2.移不变性T[x(n)]=y(n)T[x(n-k)]=y(n-k)3.因果性4.稳定性七.LSI系统的输入输出关系例:令}1,1{)}1(),0({)(==hhnh,}4,3,2,1{)}3()0({)(=⋯=xxnx,,求)(nx和)(nh的线性卷积。

实验一:离散时间序列卷积和MATLAB 实现实验学时:2实验类型:验证实验要求:必修(一)实验目的:学会用MATLAB 对信号与系统分析的方法,理解离散序列卷积和的计算对进行离散信号与系统分析的重要性。

(二)实验原理:1、离散时间序列f1(k)和f2(k)的卷积和定义:f(k)=f1(k)*f2(k)=∑∞-∞=-•i i k f i f )(2)(12、在离散信号与系统分析中有两个与卷积和相关的重要结论: a 、f(k)=∑∞-∞=-•i i k i f )()(δ=f(k)* δ(k)即离散序列可分解为一系列幅度由f(k)决定的单位序列δ(k)及其平移序列之积。

b 、对线性时不变系统,设其输入序列为f(k),单位响应为h(k),其零状态响应为y(k),则有:y(k)=∑∞-∞=-•i i k h i f )()((三)实验内容:conv.m 用来实现两个离散序列的线性卷积。

其调用格式是:y=conv(x,h)若x 的长度为N ,h 的长度为M ,则y 的长度L=N+M-1。

题一:令x(n)= {}5,4,3,2,1,h(n)={}246326,,,,,,y(n)=x(n)*h(n),求y(n)。

要求用subplot 和stem 画出x(n),h(n),y(n)与n 的离散序列图形。

题二:已知序列f1(k)=⎩⎨⎧≤≤其它0201k f2(k)=⎪⎪⎩⎪⎪⎨⎧===其它0332211k k 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)=⎪⎪⎩⎪⎪⎨⎧==-=其它0110211k k k f2(k)=⎩⎨⎧≤≤-其它0221k题五:已知某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 的概念和公式:⎪⎪⎩⎪⎪⎨⎧-≤≤=-≤≤=∑∑-=--=101010)(1)(10)()(N k kn N N n kn N N n W k x N n x N k W n x k x)/2(N j N e W π-= 2、FFT 算法调用格式是X= fft(x) 或 X=fft(x,N)对前者,若x 的长度是2的整数次幂,则按该长度实现x 的快速变换,否则,实现的是慢速的非2的整数次幂的变换;对后者,N 应为2的整数次幂,若x 的长度小于N ,则补零,若超过N ,则舍弃N 以后的数据。

Ifft 的调用格式与之相同。

例1: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个元素。

例2: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=100;N=1024;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,3),plot(f,mag); %绘出随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('N=1024');grid on;subplot(2,2,4)plot(f(1:N/2),mag(1:N/2)); %绘出Nyquist频率之前随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('N=1024');grid on;运行结果:fs=100Hz,Nyquist频率为fs/2=50Hz。

整个频谱图是以Nyquist频率为对称轴的。

并且可以明显识别出信号中含有两种频率成分:15Hz和40Hz。

由此可以知道FFT 变换数据的对称性。

因此用FFT对信号做谱分析,只需考察0~Nyquist频率范围内的福频特性。

若没有给出采样频率和采样间隔,则分析通常对归一化频率0~1进行。

另外,振幅的大小与所用采样点数有关,采用128点和1024点的相同频率的振幅是有不同的表现值,但在同一幅图中,40Hz与15Hz振动幅值之比均为4:1,与真实振幅0.5:2是一致的。

相关主题