收藏 分享(赏)

实验三 连续时间信号的频域分析.doc

上传人:精品资料 文档编号:10491978 上传时间:2019-11-22 格式:DOC 页数:9 大小:162.15KB
下载 相关 举报
实验三    连续时间信号的频域分析.doc_第1页
第1页 / 共9页
实验三    连续时间信号的频域分析.doc_第2页
第2页 / 共9页
实验三    连续时间信号的频域分析.doc_第3页
第3页 / 共9页
实验三    连续时间信号的频域分析.doc_第4页
第4页 / 共9页
实验三    连续时间信号的频域分析.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、信号与系统班级: 学号:姓名: 实验三 连续时间信号的频域分析一、 实验目的1熟悉傅里叶变换的性质2熟悉常见信号的傅里叶变换3了解傅里叶变换的 MATLAB 实现方法二、 实验原理傅里叶变换是信号分析 的最重要的内容之一。从已知信号 求出相应的频谱函数()ft的数学表示为:()Fj()Fj()jtfed的傅里叶变换存在的充分条件是 在无限区间内绝对可积,即 满足下式:()ft t ()ft()ft但上式并非傅里叶变换存在的必要条件。在引入广义函数概念之后,使一些不满足绝对可积条件的函数也能进行傅里叶变换。傅里叶反变换的定义为: 。1()()2jtftFed在这一部分的学习中,大家都体会到了这种

2、数学运算的麻烦。在 MATLAB 语言中有专门对信号进行正反傅里叶变换的语句,使得傅里叶变换很容易在 MATLAB 中实现。在MATLAB 中实现傅里叶变换的方法有两种,一种是利用 MATLAB 中的 Symbolic Math Toolbox 提供的专用函数直接求解函数的傅里叶变换和傅里叶反变换,另一种是傅里叶变换的数值计算实现法。下面分别介绍这两种实现方法的原理。1.直接调用专用函数法在 MATLAB 中实现傅里叶变换的函数为: F=fourier( f ) 对 f(t)进行傅里叶变换,其结果为 F(w) F=fourier(f,v) 对 f(t)进行傅里叶变换,其结果为 F(v) F=f

3、ourier( f,u,v ) 对 f(u)进行傅里叶变换,其结果为 F(v)傅里叶反变换 f=ifourier( F ) 对 F(w)进行傅里叶反变换,其结果为 f(x) f=ifourier(F,U) 对 F(w)进行傅里叶反变换,其结果为 f(u) f=ifourier( F,v,u ) 对 F(v)进行傅里叶反变换,其结果为 f(u)由于 MATLAB 中函数类型非常丰富,要想了解函数的意义和用法,可以用 mhelp 命令。如在命令窗口键入:mhelp fourier 回车,则会得到 fourier 的意义和用法。注意:(1)在调用函数 fourier( )及 ifourier( )之

4、前,要用 syms 命令对所有需要用到的变量(如t,u,v,w)等进行说明,即要将这些变量说明成符号变量。对 fourier( )中的 f 及 ifourier( )中的 F 也要用符号定义符 sym 将其说明为符号表达式。(2)采用 fourier( )及 fourier( )得到的返回函数,仍然为符号表达式。在对其作图时要用ezplot( )函数,而不能用 plot()函数。(3)fourier( )及 fourier( )函数的应用有很多局限性,如果在返回函数中含有 ()等函数,则 ezplot( )函数也无法作出图来。另外,在用 fourier( )函数对某些信号进行变换时,其返回函数

5、如果包含一些不能直接表达的式子,则此时当然也就无法作图了。这是 fourier( )函数的一个局限。另一个局限是在很多场合,尽管原时间信号 f(t)是连续的,但却不能表示成符号表达式,此时只能应用下面介绍的数值计算法来进行傅氏变换了,当然,大多数情况下,用数值计算法所求的频谱函数只是一种近似值。例 求门函数 的傅里叶变换,并画出幅度频谱图()1)()fttMATLAB 程序如下:syms t w %定义两个符号变量 t,wGt=sym(Heaviside(t+1)-Heaviside(t-1); %产生门宽为 2 的门函数Fw=fourier(Gt,t,w); %对门函数作傅氏变换求 F(jw

6、)FFw=maple(convert,Fw,piecewise); %数据类型转换,转为分段函数,此处可以去掉FFP=abs(FFw); %求振幅频谱 | F(jw)|ezplot(FFP,-10*pi 10*pi);grid; %绘制函数图形,并加网格axis(-10*pi 10*pi 0 2.2) %限定坐标轴范围运行结果:Fw= exp(i*w)*(pi*Dirac(w)-i/w)-exp(-i*w)*(pi*Dirac(w)-i/w) % Dirac(w)为 (),即傅立叶变换结果中含有奇异函数,故绘图前需作函数类型转换FFw= -i*exp(i*w)/w+i*exp(-i*w)/w

7、% FFw 为复数FFP= abs(-i*exp(i*w)/w+i*exp(-i*w)/w) %求 FFw 的模值例 求函数 的傅里叶反变换 f(t)21()FjMATLAB 程序如下:syms t w %定义两个符号变量 t,wFw=sym(1/(1+w2); %定义频谱函数 F(jw)ft=ifourier(Fw,w,t); %对频谱函数 F(jw)进行傅氏反变换运行结果:ft = 1/2*exp(-t)*Heaviside(t)+1/2*exp(t)*Heaviside(-t)2、傅里叶变换的数值计算实现法严格说来,如果不使用 symbolic 工具箱,是不能分析连续时间信号的。采用数值

8、计算方法实现连续时间信号的傅里叶变换,实质上只是借助于 MATLAB 的强大数值计算功能,特别是其强大的矩阵运算能力而进行的一种近似计算。傅里叶变换的数值计算实现法的原理如下:对于连续时间信号 f(t),其傅里叶变换为:()Fj0()lim()jt jnnfedfe其中 为取样间隔,如果 f(t)是时限信号,或者当|t| 大于某个给定值时,f(t) 的值已经衰减得很厉害,可以近似地看成是时限信号,则上式中的 n 取值就是有限的,假定为 N,有:()Fj10()Njnnfe若对频率变量 进行取样,得:()kj10()0kNjnnfeM通常取: ,其中 是要取的频率范围,或信号的频带宽度。采用02

9、kMMATLAB 实现上式时,其要点是要生成 f(t)的 N 个样本值 的向量,以及向量 ,()fnkjne两向量的内积(即两矩阵的乘积),结果即完成上式的傅里叶变换的数值计算。注意:时间取样间隔 的确定,其依据是 必须小于奈奎斯特(Nyquist )取样间隔。如果f(t)不是严格的带限信号,则可以根据实际计算的精度要求来确定一个适当的频率 为信0号的带宽。例 用数值计算法实现上面门函数 的傅里叶变换,并画出幅度()1)()ftt频谱图.分析: 该信号的频谱为 ,其第一个过零点频率为 ,一般将此频率认()2()FjSa为是信号的带宽。但考虑到 的形状(为抽样函数),假如将精度提高到该值的 50

10、倍,即取 ,则据此确定的 Nyquist 取样间隔为:05B。001.22FMATLAB 程序如下:R=0.02; %取样间隔 =0.02t=-2:R:2; % t 为从-2 到 2,间隔为 0.02 的行向量,有 201 个样本点ft=zeros(1,50),ones(1,101),zeros(1,50); % 产生 f(t)的样值矩阵(即 f(t)的样本值组成的行向量)W1=10*pi; %取要计算的频率范围M=500; k=0:M; w=k*W1/M; %频域采样数为 M, w 为频率正半轴的采样点Fw=ft*exp(-j*t*w)*R; %求傅氏变换 F(jw) FRw=abs(Fw)

11、; %取振幅W=-fliplr(w),w(2:501) ; %由信号双边频谱的偶对称性,利用 fliplr(w)形成负半轴的点,% w(2:501)为正半轴的点,函数 fliplr(w)对矩阵 w 行向量作 180 度反转FW=fliplr(FRw),FRw(2:501); %形成对应于 2M+1 个频率点的值Subplot(2,1,1) ; plot(t,ft) ;grid; %画出原时间函数 f(t)的波形,并加网格xlabel(t) ; ylabel(f(t); %坐标轴标注title(f(t)=u(t+1)-u(t-1); %文本标注subplot(2,1,2) ; plot(W,FW

12、) ;grid on; %画出振幅频谱的波形,并加网格xlabel (W) ; ylabel (F(W); %坐标轴标注title(f(t)的振幅频谱图); %文本标注运行结果如下:三、 实验内容1.编程实现求下列信号的幅度频谱(1) 求出 的频谱函数 F1(j),请将它与上面门宽为 2 的门函数1()2)(1)fttt的频谱进行比较,观察两者的特点,说明两者的关系。()ftMATLAB 程序如下:syms t w %定义两个符号变量 t,wGt=sym(Heaviside(2*t+1)-Heaviside(2*t-1); %产生门宽为 2 的门函数Fw=fourier(Gt,t,w); %对

13、门函数作傅氏变换求 F(jw)FFw=maple(convert,Fw,piecewise); %数据类型转换,转为分段函数,此处可以去掉FFP=abs(FFw); %求振幅频谱| F(jw)|ezplot(FFP,-10*pi 10*pi);grid; %绘制函数图形,并加网格axis(-10*pi 10*pi 0 2.2); %限定坐标轴范围Fw= exp(i*w)*(pi*Dirac(w)-i/w)-exp(-i*w)*(pi*Dirac(w)-i/w) ;% Dirac(w)为 (),即傅立叶变换结果中含有奇异函数,故绘图前需作函数类型转换FFw= -i*exp(i*w)/w+i*ex

14、p(-i*w)/w; % FFw 为复数FFP= abs(-i*exp(i*w)/w+i*exp(-i*w)/w) %求 FFw 的模值title(f(t)=u(2t+1)-u(2t-1)运行结果如下(2) 三角脉冲 21|1()0tft=(1+t)(u(t+1)-u(t)+(1-t)(u(t)-u(t-1)2()ftMATLAB 程序如下:syms t w %定义两个符号变量 Gt=sym(1+t)*(Heaviside(t+1)-Heaviside(t)+(1-t)*(Heaviside(t)-Heaviside(t-1); %产生门函数Fw=fourier(Gt,t,w); %对门函数作

15、傅氏变换求 F(jw)FFw=maple(convert,Fw,piecewise); %数据类型转换,转为分段函数,此处可以去掉FFP=abs(FFw); %求振幅频谱| F(jw)|ezplot(FFP,-10*pi 10*pi);grid; %绘制函数图形,并加网格axis(-10*pi 10*pi 0 2.2); %限定坐标轴范围title(f(t)运行结果如下(3) 单边指数信号 3()()tfeMATLAB 程序如下:syms t w %定义两个符号变量 t,wGt=sym(exp(-t)*Heaviside(t); %产生门函数Fw=fourier(Gt,t,w); %对门函数作

16、傅氏变换求 F(jw)FFw=maple(convert,Fw,piecewise); %数据类型转换,转为分段函数,此处可以去掉FFP=abs(FFw); %求振幅频谱| F(jw)|ezplot(FFP,-10*pi 10*pi);grid; %绘制函数图形,并加网格axis(-10*pi 10*pi 0 2.2); %限定坐标轴范围Fw= exp(i*w)*(pi*Dirac(w)-i/w)-exp(-i*w)*(pi*Dirac(w)-i/w) ;% Dirac(w)为 (),即傅立叶变换结果中含有奇异函数,故绘图前需作函数类型转换FFw= -i*exp(i*w)/w+i*exp(-i

17、*w)/w; % FFw 为复数FFP= abs(-i*exp(i*w)/w+i*exp(-i*w)/w) %求 FFw 的模值title(f(t)=exp(-t)u(t)运行结果如下(4) 高斯信号 23()tfe= u(t)+ u(-t)3()ft2te2tMATLAB 程序如下:syms t w %定义两个符号变量 t,wGt=sym(exp(-t2)*Heaviside(t)+exp(-t2)*Heaviside(-t); %产生门函数Fw=fourier(Gt,t,w); %对门函数作傅氏变换求 F(jw)FFw=maple(convert,Fw,piecewise); %数据类型转

18、换,转为分段函数,此处可以去掉FFP=abs(FFw); %求振幅频谱| F(jw)|ezplot(FFP,-10*pi 10*pi);grid; %绘制函数图形,并加网格axis(-10*pi 10*pi 0 2.2); %限定坐标轴范围Fw= exp(i*w)*(pi*Dirac(w)-i/w)-exp(-i*w)*(pi*Dirac(w)-i/w) ;% Dirac(w)为 (),即傅立叶变换结果中含有奇异函数,故绘图前需作函数类型转换FFw= -i*exp(i*w)/w+i*exp(-i*w)/w; % FFw 为复数FFP= abs(-i*exp(i*w)/w+i*exp(-i*w)

19、/w) %求 FFw 的模值title(f(t)=exp(-t)u(t)运行结果:无图2.利用 ifourier( ) 函数求下列频谱函数的傅氏反变换(1) 2()16FjjMATLAB 程序如下:syms t w %定义两个符号变量 t,wFw=sym(-j*2*w)/(16+w2); %定义频谱函数 F(jw)ft=ifourier (Fw)ft=ifourier(Fw,w,t); %对频谱函数 F(jw)进行傅氏反变换运行结果如下:ft =i*j*(-exp(-4*x)*heaviside(x)+exp(4*x)*heaviside(-x)(2) 2()586jjFjMATLAB 程序如

20、下:syms t w %定义两个符号变量 t,wFw=sym(j*w)2+5*j*w-8)/(j*w)2+6*j*w+5); %定义频谱函数F(jw)ft=ifourier (Fw)ft=ifourier(Fw,w,t); %对频谱函数 F(jw)进行傅氏反变换运行结果如下Ft=1/2/j*(-2*i*(3*exp(-i*x/j)-2*exp(-5*i*x/j)*heaviside(x)+3*i*exp(-i*x/j)-2*i*exp(-5*i*x/j)+3*i*signum(0,Im(1/j),0)*exp(-i*x/j)-2*i*signum(0,Im(1/j),0)*exp(-5*i*x/j)+2*dirac(x)*j)四、实验总结答:熟悉傅里叶变换的性质,熟悉常见信号的傅里叶变换,了解傅里叶变换的 MATLAB实现方法。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报