§3-3 非周期信号的频谱分析讲解
- 格式:ppt
- 大小:189.50 KB
- 文档页数:8
1 引言人们之间的交流是通过消息的传播来实现的,信号则是消息的表现形式,消息是信号的具体内容。
信号与系统研究的是对信号在时间域和频率域进行分析、处理和变换,在时间域里通过零输入响应和零状态响应以及阶跃响应和冲激响应了解输入和输出之间的关系。
通过傅里叶变换找到了时间域转换到频率域的方法,对于周期性信号可以通过傅里叶级数进行分解展开成无数多的正弦余弦信号,也可以将这些信号通过叠加还原回原信号。
由于傅里叶变换要求信号必须收敛,大多信号不收敛。
因此,由傅里叶变换又引出了拉普拉斯变换,从而通过引入衰减因子将大多的信号都能进行时间域到频率域的转换。
对于离散信号则采用Z变换进行处理。
本课程设计利用Labview软件对信号进行模拟处理、分析和变换,从而对信号进一步了解。
本课程设计主要是通过对周期信号的研究和分析,掌握信号的频谱分析方法,理解信号有时域转换到频域的原理及方法,尤其对于周期信号可进行傅里叶级数分解,理解傅里叶级数的系数的求解方法。
本课程设计通过对周期性三角波的分解和叠加从而对周期性信号的分解和叠加进一步的理解。
2 虚拟仪器开发软件LabVIEW8.6入门2.1 LabVIEW8.6介绍LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种用图标代替文本行创建应用程序的图形化编程语言。
传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而LabVIEW 则采用数据流编程方式,程序框图中节点之间的数据流向决定了程序的执行顺序。
它用图标表示函数,用连线表示数据流向。
LabVIEW程序被称为VI(Virtual Instrument),即虚拟仪器。
LabVIEW的核心概念就是“软件即是仪器”,即虚拟仪器的概念。
LabVIEW还包含了大量的工具与函数用于数据采集、分析、显示与存储等。
LabVIEW在测试、测量和自动化等领域具有最大的优势,因为LabVIEW提供了大量的工具与函数用于数据采集、分析、显示和存储。
非周期信号的频谱分析一、实验目的1)掌握用MATLAB 编程,分析门信号的频谱;2)掌握用MATLAB 编程,分析冲击信号的频谱;3)掌握用MATLAB 编程,分析直流信号的频谱;4)掌握用MATLAB 编程,分析阶跃信号的频谱;5)掌握用MATLAB 编程,分析单边信号的频谱;二、实验原理常见的非周期信号有:1、门信号门信号的傅里叶变换对为:12sin()22()()202t g t F j Sa t ττωτωτωττω⎧<⎪⎪⎛⎫=⇔==⎨ ⎪⎝⎭⎪>⎪⎩它的幅度频谱和相位频谱分别为 ()2F j Sa ωτωτ⎛⎫= ⎪⎝⎭0sin()02()sin(02ωτϕωωτπ⎧>⎪⎪=⎨⎪<⎪⎩2、冲激信号冲激信号的傅里叶变换对为()1t δ⇔3、直流信号直流信号的傅里叶变换为12()πδω⇔4、阶跃信号阶跃信号的傅里叶变换为111()sgn()()22u t t j πδωω=+⇔+5、单边指数信号单边指数信号的傅里叶变换对为01()00ate tf t j t αω-⎧≥=⇔⎨+<⎩幅度频谱和相位频谱分别为()F j ω=()arctan(a ωϕω=-三、涉及的MATLAB函数1、fourier函数2、ifourier函数四、实验内容与方法1、验证性试验1)门信号的傅里叶变换MATLAB程序:Clear all;syms t wut=sym('heaviside(t+0.5)-heaviside(t-0.5)');subplot(2,1,1);ezplot(ut)hold onaxis([-1 1 0 1.1]);plot([-0.5 -0.5],[0,1]);plot([0.5 0.5],[0,1]);Fw=fourier(ut,t,w);FFP=abs(Fw);subplot(2,1,2);ezplot(FFP,[-10*pi 10*pi]);axis([-10*pi 10*pi 0 1.1]);程序运行结果图2)冲激信号的傅里叶变换MATLAB程序:clear allsyms t wut1=sym('heaviside(t+0.5)-heaviside(t-0.5)');subplot(2,1,1);ezplot(ut1);title('脉宽为1的矩形脉冲信号')xlabel('t')hold onaxis([-1 1 0 1.1]);plot([-0.5 -0.5],[0 1]);plot([0.5 0.5],[0 1]);Fw=fourier(ut1,t,w);FFw=abs(Fw);subplot(2,1,2);ezplot(FFw,[-10*pi 10*pi]);axis([-10*pi 10*pi 0 1.1]);title('脉宽为1的矩形脉冲信号的幅度频谱')hold onpauseut2=10*sym('heaviside(t+0.05)-heaviside(t-0.05)'); subplot(2,1,1);ezplot(ut2);title('脉宽为1、0.1矩形脉冲信号')xlabel('t')hold onaxis([-1 1 0 11]);plot([-0.05 -0.05],[0 10]);plot([0.05 0.05],[0 10]);Fw2=fourier(ut2,t,w);FFw2=abs(Fw2);subplot(2,1,2);ezplot(FFw2,[-10*pi 10*pi]);axis([-10*pi 10*pi 0 1.1]);title('脉宽为1、0.1的矩形脉冲信号的幅度频谱')hold onpauseut3=100*sym('heaviside(t+0.005)-heaviside(t-0.005)'); subplot(2,1,1);ezplot(ut3);title('脉宽为1、0.1和0.01矩形脉冲信号')xlabel('t')hold onaxis([-1 1 0 110]);plot([-0.005 -0.005],[0 100]);plot([0.005 0.005],[0 100]);Fw3=fourier(ut3,t,w);FFw3=abs(Fw3);subplot(2,1,2);ezplot(FFw3,[-10*pi 10*pi]);axis([-10*pi 10*pi 0 1.1]);title('脉宽为1、0.1和0.01的矩形脉冲信号的幅度频谱') hold onpause程序运行结果图3)直流信号的傅里叶变换MATLAB程序:clear all;display('Please input the value of a')a=input('a=');syms tf=exp(-a*abs(t));subplot(1,2,1)ezplot(f);axis([-2*pi 2*pi 0 1]);ylabel('时域波形');F=fourier(f);subplot(1,2,2)ezplot(abs(F));axis([-3 3 0 2/a])程序运行结果图a=0.1时:a=0.01时:a=0.001时:a=0.0001时:4)阶跃信号的傅里叶变换MATLAB程序:clear allsyms w;xw=1/(j*w);ezplot(abs(imag(xw)));axis([-3 3 -1.5*pi 1.5*pi]);hold ony=0:0.01:pi;plot(0,y);hold ony=-pi:pi;plot(0,y);hold ontitle('阶跃信号频谱');xlabel('\omega');axis([-pi pi -6 6]);x=-pi:0.001:pi;plot(x,0)hold ony=-6:0.01:6;plot(0,y);hold on程序运行结果图5)单边指数信号的傅里叶变换MATLAB程序:clear allsyms t v w phase im ref=exp(-2*t)*sym('heaviside(t)'); Fw=fourier(f);subplot(3,1,1);ezplot(f);axis([-1 2.5 0 1.1]);xlabel('时域波形');subplot(3,1,2)ezplot(abs(Fw));xlabel('幅度频谱');im=imag(Fw);re=real(Fw);phase=atan(im/re);subplot(3,1,3);ezplot(phase);xlabel('相位频谱');程序运行结果图2、程序设计实验确定下列信号的傅里叶变换的数学表达式1)的傅里叶变换2()()1t f t e U t -=+1()2()2F j j ωπδωω=++MATLAB 程序:clear allsyms t v w phase im ref=exp(-2*t)*sym('heaviside(t)')+1;Fw=fourier(f);Fw=simple(Fw);subplot(3,1,1);ezplot(f);axis([-1 2.5 0 1.1]);xlabel('时域波形');subplot(3,1,2)ezplot(abs(Fw));im=imag(Fw);re=real(Fw);xlabel('幅度频谱');phase=atan(im/re);subplot(3,1,3);ezplot(phase);xlabel('相位频谱');程序运行结果图2)的傅里叶变换2()(1)()t f t e U t G t -=-+12sin ()1j e F j j ωωωωω--=++MATLAB 程序:clear allsyms t v w phase im ref=exp(-1*t)*sym('heaviside(t-1)')+heaviside(t+1)-heaviside(t-1);Fw=fourier(f);Fw=simple(Fw);subplot(3,1,1);ezplot(f);axis([-2.5 2.5 0 1.1]);xlabel('时域波形');subplot(3,1,2)ezplot(abs(Fw));im=imag(Fw);re=real(Fw);xlabel('幅度频谱');phase=atan(im/re);subplot(3,1,3);ezplot(phase);xlabel('相位频谱');程序运行结果图3)的傅里叶变换()2()(4)f t U t t δ=+-41()2(())j j F j e e j ωωωπδωω--=++MATLAB 程序:clear all syms t v w phase im ref=2*sym('heaviside(t-1)')+dirac(t-4);Fw=fourier(f);Fw=simple(Fw);subplot(3,1,1);ezplot(f)axis([-1 6 0 1.5]);xlabel('时域波形');subplot(3,1,2)ezplot(abs(Fw));im=imag(Fw);re=real(Fw);xlabel('幅度频谱');phase=atan(im/re);subplot(3,1,3);ezplot(phase);xlabel('相位频谱');程序运行结果图。