实验报告课程名称:数字信号处理实验专业班级:姓名:学号:实验名称数字信号处理实验地点实验时间实验成绩实验目的及任务理解信号变换的基本概念理解离散傅立叶变换的基本概念掌握快速傅立叶变换的应用方法掌握离散余弦变换的应用方法掌握Z变换的应用方法了解Chipz变换的基本概念掌握Hilbeit变换的初步应用了解倒谱变换的基本概念实验内容与步骤信号变换概述信号是数字信号处理领域中最基本、最重要的概念。而数字信号变换技术,又是对信号进行处理操作的最基本的有效途径之一。因此,数字信号变换技术,便成为数字信号处理领域中专业人员所必须要张我的一项最基本的技能。简单地说,数字信号变换技术就是为了处理操作上的方便和可能,通过数学变换,将一个域内的信号变换映射倒另一个域内的信号的方法。常用的数字信号变换主要有:傅立叶变换、离散余弦变换(DCT)、Z变换、Chirpz变换、Hilbert变换等。这些变换,都有着各自的理论和其应用背景。MATLAB中的工具箱对这几种典型的变换,都提供了相对应的、具体的应用函数。这可以使得工程人员大大节省无谓的工作量,从而将主要精力放到新技术的创新和研发上面。下面将对这几种变换的含义和应用进行具体的介绍。离散傅立叶变换傅立叶变换是信号分析和处理的重要工具。有限长序列作为离散信号的一种,在数字信号处理种占有着极其重要的位置。对于有限长序列,离散傅立叶变换不仅在理论上有着重要的意义,而且有快速计算的方法-快速傅立叶变换。所以在各种数字信号处理的运算方法中,越来越起到核心的作用。下面,就对离散傅立叶变换及其MATLAB函数应用,结合实际工程实例做说明5.3.1傅立叶变换的几种形式1、非周期连续时间信号的傅立叶变换非周期连续时间信号)(tx的傅立叶变换)(jX可以表示为)(jX=dtetxtj)(逆变换为djxtxtj)(21)(在这里,是模拟角频率。可以看到,时域的连续函数造成频域的非周期谱,时域的非周期性造成频域的连续谱。结论:非周期连续时间函数对应于一非周期连续频域变换函数。2、周期连续时间信号的傅立叶变换周期为T的周期性连续时间信号)(tx傅立叶变换是离散频域函数,可表示为22)(1)(TTtjmdetxTjmX逆变换为dejmXtxtjmm)()(这就是经常称之为傅立叶级数的变换形式。在这里,也是模拟角频率。可以看到,时域的连续函数造成频率域的非周期谱,频域函数的离散造成时域函数的周期性。结论:周期连续时间函数对应于一非周期离散频域变换函数。3、非周期离散时间信号)(nx的傅立叶变换)(jeX可以表示为nnjjenxeX)()(逆变换为deeXnxnjj)(21)(在这里,是数字频率,它和模拟角频率的关系为T。可以看到,时域的取样对应于频域的周期延拓,而时域函数的非周期性造成频域的离散谱。结论:非周期离散时间函数对应于一周期连续频域变换函数。4、周期离散时间信号的傅立叶变换周期离散时间信号)(nx的傅立叶变换-离散傅立叶变换,可以表示为102)(NnnkNjekX逆变换为102)(1)(NKnkNjekXNnx可以看到,时域的取样对应于频域的周期延拓,而时域函数的周期性造成频域的离散谱。结论:周期离散时间函数对应于一周期离散频域变换函数。5.3.2离散傅立叶变换离散傅立叶级数变换是周期序列,仍不便于计算机计算。但离散傅立叶级数虽是周期序列,却只有N个独立的数值,所以它的许多特性可以通过有限长序列延拓来得到。对于一个长度为N的有限长序列)(nx,也即)(nx只在)1(~0Nn个点上有非零值,其余皆为零,即其他,010),()(Nnnxnx把序列)(nx以N为周期进行周期延拓得到周期序列)(~nx,则有其他,010),()(~Nnnxnx所以,有限长序列)(nx的离散傅立叶变换(DFT)为10,)()]([)(10NnWnxnxDFTkXNnknN逆变换为10,)(1)]([)(10NnWkXNkXIDFTnxNnknN若将DFT变换的定义写成矩阵形式,则得到X=A﹒x,其中DFT变换矩阵A为2)1(111...1...............11...11NNNNNNN函数:用来计算DFT变换矩阵A的函数调用方式A=dftmta(n):返回n×n的DFT变换矩阵A。若x为给定长度的行向量,则y=x*A,返回x的DFT变换y。Ai=conj(dftmtx(n))/n;返回n×n的IDFT变换矩阵Ai。DFT的性质两个序列)(1nx和)(2nx都是N点有限长序列,设],[)(11xDFTkX][)(22xDFTkX线性),()(])([2121kbXkaXbxnaxDFT式中a,b为任意常数。圆周移位一个有限长序列)(nx的圆周移位定义)(][nRmnxxNNm式中,Nmnx)][(表示)(nx的周期延拓序列)(~nx的移位Nmnx)][()(~mnx有限长序列圆周移位后的DFT为)()}()][({)(kXWnRmnxDFTkXknNNNmm3、圆周卷积假设)()()(21kXkXkY则有)(]))(()([)(]))(()([)]([)(10121021nRmnxmxnRmnxmxkYIDFTnYNNmNNNmN用表示圆周卷积,则上式可化简为)()()()()]()([)(122121nxnxnxnxkXkXIDFTny4.共轭对称性令)(nx的共轭复数序列为)(nx,则NKNXnxDFT)][()]([用)(nxr和)(nxi分别表示序列)(nx的实部和虚部,即)()()(njxnxnxir)]()([21)()]()([21)(nxnxnxnxnxnxir用)(kXR和)(kXI分别表示实部和虚部序列的DFT,即)]([)(nxDFTkXrR)]([)(nxDFTkXiI而且可以证明得到NRRKNXkX)][()(NIIKNXkX)][()(通常称)(kXR为)(kX的共轭偶部,)(kXI为)(kX的共轭奇部。所以说,对于时域、频域的DFT对应关系来说,序列)(nx实部对应于)(kX的共轭偶部,序列)(nx的虚部对应于)(kX的共轭奇部。5.序列乘积)()(1)]([211kXkXNnxDFT6.DFT形式下的帕塞瓦尔定理1010)()(1)()(NkNnkYkXNnynx由于MATLAB软件本身的特点,序列或向量元素下标从1开始记录,而不是从0开始。因此,上述两式在MATLAB中相应的表达式为nknNnWnxkX10)()(12,1,0Nk11)(1)(NknkNWkXNnx1,2,1Nn而下面所讨论使用的快速傅立叶变换)(FFT并不是与DFT不同的另外一种变换,而是为减少DFT计算次数的一种快速有效的算法。这种快速算法,主要是利用了nkNW下面两个特性使长序列的DFT分解为更小点数的DFT所实现的。5.4快速傅立叶变换(FFT)在信号处理中,DFT的计算具有举足轻重的地位,,信号的相关、滤波、谱估计等都要通过DFT来实现。然而,当N很大的时候,求一个N点的DFT要完成NN次复数乘法和)1(NN次复数加法,其计算量相当大。1965年J.W.Cooley和J.W.Tukey巧妙地利用NW因子的周期性和对称性,构造了一个DFT快速算法,即快速傅立叶变换(FFT)。通过前面的知识,已经知道有限列长为N的序列)(nx的DFT变换为nknNnWnxkX10)()(12,1,0Nk其逆变换为10)(1)(NknkNWkXNnx1,1,0Nn上机练习:1.试用Mablab求其有限长序列)100()8.0()(1nnxn与)180()6.0()(2nnxn的圆周卷积,(N=20),并画出其结果图。Circonvt函数functiony=circonvt(x1,x2,N)if(length(x1)N)error('Nshouldbiggerthanorequaltothelengthofx1!')endif(length(x2)N)error('Nshouldbiggerthanorequaltothelengthofx2!')x1=[x1,zeros(1,N-length(x1))]x2=[x2,zeros(1,N-length(x2))]m=[0:1:N-1]forn=1:1:Nendy=x1*H'Commandwindow:n1=0:1:10;n2=0:1:18;N=20;n=0:1:N-1;x1=(0.8).^n1;x2=(0.6).^n2;Y=circonv(x1,x2,N);stem(n,Y),gridonxlabel('n');title('y(n)=x1(n)*x2(n)')2.复指数信号的离散傅里叶变换。其中njenx)9.0()(3/,n=[0,10]用Matlab求这一有限时宽的序列的傅里叶变换。M文件:N=6;n=0:1:10;xn=0.9.*((exp(j*pi/3)).^n);k=0:1:10;nk=n'*k;WN=exp(-2*j*pi/N);WNnk=WN.^nk;Xk=xn*WNnk;subplot(211),gridon;stem(n,xn);xlabel('n');title('0.9.*((exp(j*pi/3)).^n)')subplot(212),gridon;stem(k,abs(Xk));xlabel('n');title('Xk');心得体会: