非周期信号的频谱分析
- 格式:doc
- 大小:191.50 KB
- 文档页数:11
实验四 非周期信号频域分析1 实验目的(1) 掌握傅里叶变换的分析方法及其物理意义。
(2) 掌握各种典型的连续时间非周期信号的频谱特征以及傅里叶变换的主要性质。
(3) 学习掌握利用MA TLAB 语言编写计算CTFT 的仿真程序,并能利用这些程序对一些典型信号进行频谱分析,验证CTFT 的若干重要性质。
2 实验原理及方法2.1连续时间信号傅里叶变换——CTFT傅里叶变换在信号分析中具有非常重要的意义,它主要是用来进行信号的频谱分析的。
傅里叶变换和其逆变换定义如下:⎰∞∞--=dt e t x j X t j ωω)()( 4-1 ⎰∞∞-=ωωπωd e j X t x t j )(21)( 4-2连续时间傅里叶变换主要用来描述连续时间非周期信号的频谱。
任意非周期信号,如果满足狄里克利条件,它可以被看作是由无穷多个不同频率(这些频率都是非常的接近)的周期复指数信号e j ωt 的线性组合构成的,每个频率所对应的周期复指数信号e j ωt 称为频率分量,其相对幅度为对应频率的|X(j ω)|之值,其相位为对应频率的X(j ω)的相位。
X(j ω)通常为关于ω的复函数,可以按照复数的极坐标表示方法表示为:X(j ω)=| X(j ω)|e j ∠ X(j ω)其中,| X(j ω)|称为x(t)的幅度谱, ∠X(j ω)称为x(t)的相位谱。
给定一个连续时间非周期信号x(t),它的频谱是连续且非周期的。
对于连续时间周期信号,也可以用傅里叶变换来表示其频谱,其特点是,连续时间周期信号的傅里叶变换是由冲激序列构成的,是离散的——这是连续时间周期信号的傅里叶变换的基本特征。
2.2 用MA TLAB 实现CTFT 及其逆变换2.2.1 用MATLAB 实现CTFT 的计算MA TLAB 进行傅里叶变换有两种方法,一种利用符号运算的方法计算,另一种是数值计算,本实验采用数值计算的方法。
严格来说,用数值计算的方法计算连续时间信号的傅里叶变换需要有个限定条件,即信号是时限信号,也就是当时间|t|大于某个给定时间时其值衰减为零或接近于零,这个条件与前面提到的为什么不能用无限多个谐波分量来合成周期信号的道理是一样的。
离散⾮周期信号频域分析离散信号频域分析、快速傅⾥叶变换与采样定理⼀、离散信号频域分析(⼀)周期离散⽅波信号频域分析与周期模拟信号⼀样,周期离散信号同样可以展开成傅⾥叶级数形式,并得到离散傅⾥叶级数(DFS)上式可以看成周期离散信号x(n)的离散傅⾥叶级数展开。
上式是DFS的反变换,记作IDFS并且称错误!未找到引⽤源。
与错误!未找到引⽤源。
构成⼀对离散傅⾥叶级数变换对。
(以上两式中错误!未找到引⽤源。
)在MTALAB中,DFS通过建⽴周期延拓函数语句实现:function Xk=DFS(n,x,N)if N>length(x)n=0:N-1;x=[x zeros(1,N-length(x))];endk=0:N-1;WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=x*WNnk;end建⽴⼀个离散⾮周期⽅波信号错误!未找到引⽤源。
通过周期延拓后所得的周期序列利⽤DFS计算实现代码如下:clear all;close all;clc;n=0:3;x=ones(1,4);X=fft(x,1024);Xk1=DFS(n,x,4);Xk2=DFS(n,x,8);figure(1);plot((-1023:2048)/2048*8,[abs(X) abs(X) abs(X)],'--');hold on;stem(-4:7,[abs(Xk1) abs(Xk1) abs(Xk1)],'LineWidth',2);grid;figure(2);plot((-1023:2048)/2048*16,[abs(X) abs(X) abs(X)],'--');hold on;stem(-8:15,[abs(Xk2) abs(Xk2) abs(Xk2)],'LineWidth',2);grid;set(gcf,'color','w');运⾏后得到的是分别以4和8为周期延拓后的错误!未找到引⽤源。
连续⾮周期信号频谱分析及Matlab实现《信号与系统A(1)》课程⾃学报告实施报告题⽬:连续⾮周期信号频谱分析及Matlab实现学号:姓名:任课教师:联系⽅式:第⼀部分. 理论⾃学内容阐述(⼀)系统物理可实现性、佩利-维纳准则通过之前的学习我们知道,理想低通滤波器在物理上是不可能实现的,但是我们却可以做出传输特性接近理想特性的⽹络。
如下图是⼀个低通滤波器,其中 R =√RC图1-1 ⼀个低通滤波⽹络则其⽹络传递函数为:(式1-1)引⼊符号ωc =1√LC,则(式1-1)改为:其中)(1t v CRL )(2t v --++()()()R L LC C RL C R V V H ωωωωωωωωj 11 j 11j j 11j j j 212+-=+++==()()()ω?ωωωωωωωωωωωj 222e j 3j 33j 11j H H c c cc c c =+ + -=2+222=()()????--=???+ -=2c c 2c 22c 1arctan 11j ωωωωω?ωωωωωH求出其冲激响应为:h (t )=2ωc √3eωc 2sin (√3ωct )画出波形图及频谱图如下:图1-2 h(t)的波形图幅度特性相位特性图1-3 幅度特性和相位特性可以看出这些曲线与理想低通滤波器有相似之处,但是同时也有不同之处。
这个电路的幅度特性不可能出现零值,冲激响应的起始时刻在t=0处。
那么究竟什么样的系统数学模型可以在物理上实现呢?就时间域特性⽽⾔,⼀个物理可实现⽹络的冲激响应h(t)在t<0时必须为0。
那么由于理想低通滤波器不是⼀个因果系统,所以它是不可能在物理上实现的。
从频域特性来看,|H(jw)|要满⾜平⽅可积条件。
佩利和维纳证明了对于幅度函数|H(jw)|物理可实现的必要条件是这就是佩利—维纳准则。
佩利—维纳准则只从幅度特性上提出要求,⽽在相位特性⽅⾯却没有给出约束,因此该准则只是系统物理可实现的必要条件,⽽不是充分条件。
非周期信号的频谱分析一、 实验目的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()0ate 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)-heavis ide(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 allsyms 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('相位频谱');程序运行结果图。