文档详情

实验连续信号频谱分析.doc

发布:2017-03-25约2.76千字共4页下载文档
文本预览下载声明
实验三 连续信号的分析 实验目的 掌握周期信号的频谱—— Fourier 级数的分析方法及其物理意义。 深入理解信号频谱的概念,掌握典型信号的频谱以及 Fourier 变换的主要性质。 实验原理及方法 Fourier 级数的理论告诉我们:任何周期信号只要满足Dirichlet条件就可以分解成许多指数分量之和(指数 Fourier 级数)或直流分量及许多正弦、余弦分量之和 (3.1) 2. 周期信号的指数形式的傅里叶级数 (3.6) 式)表明:任意周期信号可分解为不同频率的复指数之加权和,其各分量的复数幅度或相量(或称为复加权系数)为。 (3.7) 计算机不能计算无穷多个系数,假设需要计算的谐波次数为N,则总的系数个数为2N+1T和dt3.7)可以近似为: (3.8) 对于全部的2N+1个系数,上面的计算可以按照矩阵运算实现。 例题: Matlab实现系数计算的程序如下: dt=0.01; T=2;t=-T/2:dt:T/2;omega0=2*pi/T; f1=input(‘put in the periodic signal f(t) over one period f1(t)=’); N=input(‘put in the number N=’); for n=-N:N F (N+1+n)=f1*exp(-j*n*omega0*t’)*dt/T; %计算全部2N+1个系数 end 其中,时间变量的变化步长dt的大小对傅里叶级数系数的计算精度影响非常大,dt越小,精度越高,但计算机计算所花的时间越长。 原信号可以用有限项谐波成分来近似合成,即 (3.9) 例题: Matlab实现信号合成的程序如下: f=0; L=2*N+1; for n=1:L-1; f=f+F(n)*exp(j*(n-1-N)*omega0*t); %信号合成 end 周期信号频谱求解另一种方法:先由定义求出信号频谱的数学表达式,再用matlab做出频谱图。函数abs()求幅度,angle()求相位。 3.非周期信号的傅里叶变换 (3.) Matlab实现傅里叶变换有两种方法,一种利用符号运算的方法计算,另一种是数值计算。 (1)利用符号运算的方法实现。MATLAB的Symbolic Math Toolbox 提供了能直接求解傅里叶变换与反变换的函数fourier( ) 及 ifourier( )。调用格式如下: ( F=fourier(f):它是符号函数f 的傅里叶变换,默认返回函数F是关于的函数; ( F=fourier(f,v):它的返回函数F是关于符号对象v的函数,即; ( F=fourier(f,u,v): 它是对关于u的函数f进行变换,而返回函数F是v的函数,即 ( f=ifourier(F): 它是函数F 的傅里叶反变换,默认的独立变量为,默认返回是关于x的函数。如果F=F(x),则ifourier(F)返回关于t的函数 ( f=ifourier(F,u): 它的返回函数f是u的函数,而不是默认的x的函数。 ( f=ifourier(f,v,u): 它是对关于v的函数F进行变换,而返回关于u的函数f; 这里要注意的是,在调用上述两个函数之前,先要用syms命令对所用到的变量(如t、u、v、)等进行定义,将这些变量定义为符号变量。对于fourier( )中的函数f或ifourier( )中的F,也要用syms将f或F定义为符号表达式。另外,在采用fourier( )及ifourier( )得到的返回函数,仍然是符号表达式。若需要对返回函数作图时,只能用ezplot( )绘图命令,而不能用plot( )命令。如果返回函数中含有等项,用ezplot()也无法作图。 fourier()函数的局限性:用fourier()对某些信号求反变换时,其返回函数可能会包含一些不能直接表达的式子,甚至可能会出现一些屏幕提示为“未被定义的函数或变量”的项;另外,在许多情况下,信号尽管是连续的,但却不可能表示成符号表达式;函数fourier()也不可能对离散信号进行处理。 (2)用数字计算的方法实现。 用数值计算的方法计算连续时间信号的傅里叶变换需要信号是时限信号,也就是当时间|t|大于某个给定时间时其值衰减为零或接近于零,计算机只能处理有限大小和有限数量的数。采用数值计算算法的理论依据是: (3.11) 若信
显示全部
相似文档