数字信号处理大作业序列谱分析及FFT快速卷积学院(系):软件学院专业:软件工程学生姓名:许利志学号:201492300班级:软网1404完成日期:2016.4.28大连理工大学Dalian University of Technology报告内容一、设计题目1.序列的谱分析及特性2.用FFT实现快速卷积二、设计目的及意义序列的谱分析及特性对于三种典型序列------单位采样序列、实指数序列、矩形序列,要求:(1). 画出以上序列的时域波形图;(2). 求出以上序列的傅里叶变换;(3). 画出以上序列的幅度谱及相位谱,并对相关结果予以理论分析;(4). 对以上序列分别进行时移,画出时移后序列的频谱图,验证傅里叶变换的时移性质;(5). 对以上序列的频谱分别进行频移,求出频移后频谱所对应的序列,并画出序列的时域波形图,验证傅里叶变换的频移性质。
用FFT实现快速卷积(1).加深理解FFT 在实现数字滤波(或快速卷积)中的重要作用,更好地利用FFT 进行数字信号处理。
(2).理解快速卷积在实际生活中的重要作用,加深对知识的理解。
三.设计题目的描述以及要求序列的谱分析及特性(1)画出序列的时域波形图;(2)求出序列的傅里叶变换;(3)画出序列的幅度谱及相位谱,并对相关结果予以理论分析;(4)对序列进行时移,画出时移后序列的频谱图,验证傅里叶变换的时移性质;用FFT实现快速卷积(1)FFT的出现,使DFT得到广泛应用。
在实际应用中,为了分析时域离散LTI系统或者序列滤波时,需要计算两个序列的线性卷积。
为了提高运算速度,可以利用FFT来实现。
(2)设计并编写程序来实现线性卷积运算,可以在重叠相加法和重叠保留法中任选一种方法实现(3)给出输入信号和输出信号的图形描述,以及简要的说明以及计算中间过程的图形描述及简要说明,每计算完一段后输出分段卷积段号、该段卷积结果、该段图像并暂停,按任意键继续下一段。
四、设计原理序列的谱分析及特性1.时移原理在这个序列运算中,x[n]的每一个样本都移动(即延迟)k个采样周期,移位后的序列为y(n)。
当k >0时每一个样本向右移动,称为x(n)的延时序列;当k<0时,每一个样本向左移动,称为x(n)的超前序列:y(n)=x(n-k) 。
2.频移原理3.傅里叶变换(DFT)原理离散傅里叶变换的结果为有限长和离散的,它实质上是对序列傅里叶变换在频域均匀离散的结果,因而使数字信号处理可以在频域采用数字运算的方法进行,大大增加傅里叶变换的灵活性和使用性。
离散傅里叶变换的定义如下其中为旋转因子NW,N为变换区间长度。
用FFT实现快速卷积MATLAB 中计算序列的离散傅里叶变换和逆变换是采用快速算法,利用fft 和ifft 函数实现。
(1).输入参数:为待计算DFT 的序列,N 为序列的长度。
输出参数:为序列的IDFT。
(2).输入参数:xk为待计算IDFT 的序列,N 为序列xk的长度。
输出参数:Xn 为序列xk的IDFT。
五、设计内容以及实现方法序列的谱分析及特性:1.单位采样序列的谱分析及特性实现2.实指数序列的谱分析及特性实现3.矩阵序列的的谱分析及特性实现以下列出第一部分代码(其他见电子文档):clearn=1:50;x=zeros(1,50);x(1)=1;subplot(3,1,1);stem(x);axis([0 50 -1 1]);title('单位采样序列');N=25;k=-N:N;X=x*(exp(-j*pi/25)).^(n'*k);magX=abs(X);subplot(3,1,2);stem(magX);title('单位采样序列的幅度谱');angX=angle(X);subplot(3,1,3);stem(angX);title ('单位采样序列的相位谱');n=1:50; x=zeros(1,50); t=10; x(t)=1;figuresubplot(3,1,1);stem(x);title('单位采样序列的时移');k=-25:25; X=x*(exp(-j*pi/25)).^(n'*k);magX=abs(X);subplot(3,1,2);stem(magX);title('单位采样序列时移的幅度谱');angX=angle(X);subplot(3,1,3);stem(angX);title ('单位采样序列时移的相位谱');n=1:50; x=zeros(1,50);x(1)=1; l = 5; y = exp(-j*pi/25*l).^n;z=x.*y;figuresubplot(3,1,1);stem(z);title('频移后单位采样序列');k=-25:25; X=z*(exp(-j*pi/25)).^(n'*k);magX=abs(X);subplot(3,1,2);stem(magX);title('频移后单位采样序幅度谱');angX=angle(X); subplot(3,1,3);stem(angX);title ('频移后单位采样序列的相位谱');用FFT实现快速卷积(代码及结果见第六部分)六、设计结果及改进建议序列的谱分析及特性:单位采样序列的生成及傅立叶变换的幅度谱单位采样序列的时移特性如下图4.2所示相位谱图,如上图(1)单位采样序列,单位采样序列的频移特性如上图(3)所示结果分析:图(1)和图(2)的第一个图中我们可以明显看出,单位采样序列在时域上向右移动10位,即的图形,在时移的过程中,通过图(1)与图(2)的第二个图形,我们可以看出,时移时,傅里叶变换的幅度谱没有什么变化,与原先一样;但从图(1)与图(2)中第三个图形中可以看出其相位谱有很大的变化,相位沿X轴旋转。
从图(1)和图(3)的第一个图中我们可以明显看出频移图是原图的上下翻转;从图(1)与图(3)中的第二个图形中可以看出原图与频移图形没有什么变化;从图(1)与图(3)中的第(3)个图形中可以看出,频移图的相位是原图相位的时移,即向右移动5位。
实指数序列的生成及傅立叶变换的幅度谱、实指数序列的时移特性如上图(2)所示相位谱图,如上图(1)所示实指数序列的频移特性如上图(3)所示结果分析:从图(1)和图(2)的第一个图中我们可以明显看出,实指数序列在时域上向右移动5位,在时移的过程中,通过图(1)与图(2)的第二个图形,我们可以看出,时移时,傅里叶变换的幅度谱没有什么变化,与原先一样;但从图(1)与图(2)中第三个图形中可以看出其相位谱有很大的变化,相位沿X轴旋转。
从图(1)和图(3)的第一个图中我们可以明显看出频移图是原图的上下翻转;从图(1)与图(3)中的第二个图形中可以看出相较与原图,频移图形向左移动5位;从图(1)与图(3)中的第三个图形中可以看出,频移图的相位与原图相位相反,且图形有移动。
矩形序列的生成及傅立叶变换的幅度谱、矩形序列的时移特性如上图(2)所示相位谱图,如上图(1)所示矩形序列的频移特性如上图(3)所示结果分析:从图(1)和图(2)的第一个图中我们可以明显看出,矩形序列在时域上向右移动10位,在时移的过程中,通过图(1)与图(2)的第二个图形,我们可以看出,时移时,傅里叶变换的幅度谱没有什么变化,与原先一样;但从图(1)与图(2)中第三个图形中可以看出其相位谱有很大的变化,相位沿X轴旋转。
从图(1)和图(3)的第一个图中我们可以明显看出频移图与原图相比,沿着X轴翻转,在不为0的区域里;从图(1)与图(3)中的第二个图形中可以看出相较与原图,频移图形向左移动5位;从图(1)与图(3)中的第三个图形中可以看出,频移图的相位与原图相位相反,且图形有移动。
FFT实现快速卷积:代码及实现结果:clear;clc;xn=[2 1 1 2] ;hn=[1 -1 -1 1] ;yn=conv(xn, hn) ;stem(yn) ;ylabel(' xn与hn卷积的幅度' ) ;xlabel(' xn的值' ) ;clear;clc;n=[0: 1: 3] ;m=[0: 1: 3] ;N1=length(n) ;N2=length(m) ;xn=[2 1 1 2] ;hn=[1 -1 -1 1] ;N=N1+N2-1;XK=fft(xn, N) ;HK=fft(hn, N) ;YK=XK.*HK;%YK=XK. *HK;yn=ifft(YK, N) ;if all(imag(xn) ==0) &(all(imag(hn) ==0) ) yn=real(yn) ;endx=0: N-1;STEM(x,yn,'.');%stem(x, yn, ' . ' )n=[0:1: 16];m=[0:1: 5] ;N1=length(n) ;N2=length(m) ;xn=(-0.5).^n;%xn=(-0. 5) . ^n;hn=ones(1, N2) ;N=N1+N2-1;XK=fft(xn, N) ;HK=fft(hn, N) ;YK=XK.*HK;%YK=XK. *HK;yn=ifft(YK, N) ;if all(imag(xn) ==0) &(all(imag(hn) ==0) ) %实序列的循环卷积仍然为实序列n=real(yn) ;endx=0: N-1;stem(x,yn,'.');%stem(x, yn, ' . ' )n=[0:1: 16];m=[0:1: 10];N1=length(n) ;N2=length(m) ;xn=cos(2*pi*n/N1);hn=ones(1, N2);N=N1+N2-1;XK=fft(xn, N) ;HK=fft(hn, N) ;YK=XK.*HK;%YK=XK. *HK;yn=ifft(YK, N);if all(imag(xn)==0) &(all(imag(hn) ==0) )%实序列的循环卷积仍然为实序列yn=real(yn) ;endx=0: N-1;stem(x,yn,'.');n=[0: 1:16];m=[0: 1:10];N1=length(n) ;N2=length(m) ;xn=(1/3) . ^n;hn=ones(1, N2) ;N=N1+N2-1;XK=fft(xn, N) ;HK=fft(hn, N) ;YK=XK.*HK;%YK=XK. *HK;yn=ifft(YK, N) ;if all(imag(xn) ==0) &(all(imag(hn) ==0) ) yn=real(yn) ;endx=0:N-1;stem(x, yn, ' . ' )七、课程体会和收获通过这次的课程设计,使我对数字信号中的三种典型序列的谱分析及相关特性更加理解,从实验结果的分析中,对信号时移与频移的特性有了进一步的认识;另外,在这次课程设计中还加深了我对MA TLAB软件的使用,能编一些简单的程序。