实验三 周期信号的频谱分析 实验报告.docx

上传人:小飞机 文档编号:3099372 上传时间:2023-03-10 格式:DOCX 页数:23 大小:44KB
返回 下载 相关 举报
实验三 周期信号的频谱分析 实验报告.docx_第1页
第1页 / 共23页
实验三 周期信号的频谱分析 实验报告.docx_第2页
第2页 / 共23页
实验三 周期信号的频谱分析 实验报告.docx_第3页
第3页 / 共23页
实验三 周期信号的频谱分析 实验报告.docx_第4页
第4页 / 共23页
实验三 周期信号的频谱分析 实验报告.docx_第5页
第5页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《实验三 周期信号的频谱分析 实验报告.docx》由会员分享,可在线阅读,更多相关《实验三 周期信号的频谱分析 实验报告.docx(23页珍藏版)》请在三一办公上搜索。

1、实验三 周期信号的频谱分析 实验报告实验三 周期信号的频谱分析 一、实验目的 1、掌握连续时间周期信号的傅里叶级数的物理意义和分析方法; 2、观察截短傅里叶级数而产生的“Gibbs现象”,了解其特点以及产生的原因; 3、掌握各种典型的连续时间非周期信号的频谱特征。 二、原理说明: 1、连续时间周期信号的傅里叶级数分析 任何一个周期为T1的正弦周期信号,只要满足狄利克利条件,就可以展开成傅里叶级数。 其中三角傅里叶级数为: x(t)=a0+akcos(kw0t)+bksin(kw0t) 2.1 k=1或: x(t)=a0+其中w0=ck=1kcos(kw0t+jk) 2.2 2p,称为信号的基本

2、频率,a0,ak,和bkT1分别是信号x(t)的直流分量、余弦分量幅度和正弦分量幅度,ck、jk为合并同频率项之后各正弦谐波分量的幅度和初相位,它们都是频率kw0的函数,绘制出它们与kw0之间的图像,称为信号的频谱图,ckkw0图像为幅度谱,jkkw0图像为相位谱。 三角形式傅里叶级数表明,如果一个周期信号x(t),满足狄里克利条件,那么,它就可以被看作是由很多不同频率的互为谐波关系的正弦信号所组成,其中每一个不同频率的正弦信号称为正弦谐波分量 (Sinusoid component),其幅度为ck。也可以反过来理解三角傅里叶级数:用无限多个正弦谐波分量可以合成一个任意的非正弦周期信号。 指数

3、形式的傅里叶级数为: x(t)=k=-aekjkw0t 2.3 其中,ak为指数形式的傅里叶级数的系数,按如下公式计算: 1 ak=T1T1/2-T1/2x(t)e-jkw0tdt 2.4 指数形式的傅里叶级数告诉我们,如果一个周期信号x(t),满足狄里克利条件,那么,它就可以被看作是由很多不同频率的互为谐波关系的周期复指数信号所组成,其中每一个不同频率的周期复指数信号称为基本频率分量,其复幅度为ak。这里“复幅度”指的是ak通常是复数。 上面的傅里叶级数的合成式说明,我们可以用无穷多个不同频率的周期复指数信号来合成任意一个周期信号。然而,用计算机合成一个周期信号,显然不可能做到用无限多个谐波

4、来合成,只能取这些有限个谐波分量来近似合成。 假设谐波项数为N,则上面的和成式为: Nx(t)=k=-Naekjkw0t 2.5 显然,N越大,所选项数越多,有限项级数合成的结果越逼近原信号x(t)。本实验可以比较直观地了解傅里叶级数的物理意义,并观察到级数中各频率分量对波形的影响包括“Gibbs”现象:即信号在不连续点附近存在一个幅度大约为9%的过冲,且所选谐波次数越多,过冲点越向不连续点靠近。这一现象在观察周期矩形波信号和周期锯齿波信号时可以看得很清楚。 2、傅里叶级数的MATLAB计算 设周期信号x(t)的基本周期为T1,且满足狄里克利条件,则其傅里叶级数的系数可由式2.4计算得到。式2

5、.4重写如下: 1ak=T1基本频率为: w0=T1/2-T1/2x(t)e-jkw0tdt 2p T1对周期信号进行分析时,我们往往只需对其在一个周期内进行分析即可,通常选择主周期。假定x1(t)是x(t)中的主周期,则 1ak=T1T1/2-T1/2-jkw0tx(t)edt 1计算机不能计算无穷多个系数,所以我们假设需要计算的谐波次数为N,则总的系数个数为2N+1个。在确定了时间范围和时间变化的步长即T1和dt之后,对某一个系数,上述系数的积分公式可以近似为: 11-jkw0t-jkw0tak=x(t)edt=x(t)edt/T1 1nT1-Tn1/2 =x(t1),x(t2),Lx(t

6、M)e现系数计算的程序如下: dt = 0.01; T = 2; t = -T/2:dt:T/2; w0 = 2*pi/T; x1 = input(Type in the periodic signal x(t) over one period x1(t)=); N = input(Type in the number N=); k = -N:N; L = 2*N+1; ak = x1*exp(-j*k*w0*t)*dt/T; 需要强调的是,时间变量的变化步长dt的大小对傅里叶级数系数的计算精度的影响非常大,dt越小,精度越高,但是,计算机计算所花的时间越长。 例题1:给定一个周期为T1 =

7、2s的连续时间周期方波信号,如图所示,其一个周期内的数学表达式为: -jkw0t1T/2,e-jkw0t2,Le-jkw0tMdt/T1 对于全部需要的2N+1个系数,上面的计算可以按照矩阵运算实现。MATLAB实1,x1(t)=0,0t11t k = -10:10; kpkp)2 ak = (-j).k).* (sin(k+eps)*pi/2)./(k+eps)*pi) % The expression of ak eps 叫做机器的浮点运算误差限!PC机上eps的默认值为2.2204*10(-16)。若某个量的绝对值小于eps,就认为这个量为0 ak = Columns 1 through

8、 4 0 + 0.0455i Columns 5 through 8 0 + 0.1061i Columns 9 through 12 0 - 0.3183i Columns 13 through 16 0 - 0.0637i Columns 17 through 20 0 - 0.0354i Column 21 -0.0000 从MATLAB命令窗口,我们得到了该周期信号从a-10到a10共21个系数。 紧接着再键入以下命令: subplot(221) -0.0000 0 + 0.0354i -0.0000 -0.0000 0 + 0.0637i -0.0000 -0.0000 0 + 0.

9、3183i 0.5000 -0.0000 0 - 0.1061i -0.0000 -0.0000 0 - 0.0455i -0.0000 stem(k,abs(ak),k.) title(The Fourier series coefficients) xlabel(Frequency index k) 就得到一幅如右图所示的描述ak与k之间的关系的图形。 以上是我们通过手工计算得到的这个周期信号的傅里叶级数表达式及其频谱图,下面给出完成傅里叶级数系数计算的相应MATLAB范例程序。 % Program3_1 % This program is used to evaluate the Fou

10、rier series coefficients ak of a periodic square wave clear, close all T = 2; dt = 0.0001; t = -2:dt:2; x1 = ut(t) - ut(t-1-dt); x = 0; for m = -1:1 % Periodically extend x1(t) to form a periodic signal x = x + ut(t-m*T) - ut(t-1-m*T-dt); end w0 = 2*pi/T; N = 10; % 谐波次数 L = 2*N+1; for k = -N: N; % E

11、valuate the Fourier series coefficients ak ak(N+1+k) = (1/T)*x1*exp(-j*k*w0*t)*dt; end phi = angle(ak); % ak相位 执行程序Program3_1后,就完成了信号的傅里叶级数的系数的计算,在命令窗口键入 ak 命令窗口就可以显示傅里叶级数的21个系数: ak = Columns 1 through 4 0.0000 + 0.0000i 0.0000 + 0.0354i 0.0000 - 0.0000i 0.0000 + 0.0455i Columns 5 through 8 0.0000 -

12、 0.0000i 0.0000 + 0.0637i 0.0000 - 0.0000i 0.0000 + 0.1061i Columns 9 through 12 0.0000 - 0.0000i 0.0000 + 0.3183i 0.5000 0.0000 - 0.3183i Columns 13 through 16 0.0000 + 0.0000i 0.0000 - 0.1061i 0.0000 + 0.0000i 0.0000 - 0.0637i Columns 17 through 20 0.0000 + 0.0000i 0.0000 - 0.0455i 0.0000 + 0.0000

13、i 0.0000 - 0.0354i Column 21 0.0000 - 0.0000i 将这里的ak之值同前面手工计算得到的ak比较,可见两者是完全相同的。 再次特别提示:程序中,时间变量的变化步长dt的大小对傅里叶级数系数的计算精度的影响非常大,dt越小,精度越高,本程序中的dt之所以选择0.00001就是为了提高计算精度。但是,计算机所花的计算时间越长。 在程序Program3_1中添加相应的计算| ak |和绘图语句,就可以绘制出信号的幅度谱和相位谱的谱线图。 3、 周期信号的合成以及Gibbs现象 从傅里叶级数的合成式 x(t)=k=-aekjkw0t可以看出,用无穷多个不同频率和

14、不同振幅的周期复指数信号可以合成一个周期信号。然而,我们无法用计算机实现对无穷多个周期复指数信号的合成。但是,用有限项来合成却是可行的,在实际应用中,多半也就是这么做的。然而,这样做的一个必然结果,就是引入了误差。 如果一个周期信号在一个周期有内断点存在,那么,引入的误差将除了产生纹波之外,还将在断点处产生幅度大约为9%的过冲,这种现象被称为吉伯斯现象。 为了能够观察到合成信号与原信号的不同以及Gibbs现象,我们可以利用前面已经计算出的傅里叶级数的系数,计算出截短的傅里叶级数: x(t)=k=-NaekNjkw0t这个计算可用L = 2N+1次循环来完成: x2=x2+ak(r)ej(r-1

15、-N)w0t 其中r作为循环次数,x2在循环之前应先清零。完成这一计算的MATLAB程序为: x2 = 0; L = 2*N+1; for r = 1:L; x2 = x2+ak(r)*exp(j*(r-1-N)*w0*t); end; 完成了所有的计算之后,就可以用绘图函数:plot和stem将计算结果包括x1, x2, abs(ak)和angle(ak)以图形的形式给出,便于我们观察。 观察吉伯斯现象的最好的周期信号就是图2-1所示的周期方波信号,这种信号在一个周期内有两个断点,用有限项级数合成这个信号时,吉伯斯现象的特征非常明显,便于观察。 例题2:修改程序Program3_1,使之能够

16、用有限项级数合成例题2-1所给的周期方波信号,并绘制出原始周期信号、合成的周期信号、信号的幅度谱和相位谱。 为此,只要将前述的for循环程序段和绘图程序段添加到程序Program2_1中即可,范例程序如下: % Program3_2 % This program is used to compute the Fourier series coefficients ak of a periodic square wave clear,close all T = 2; dt = 0.00001; t = -2:dt:2; x1 = u(t)-u(t-1-dt); x = 0; for m = -1

17、:1 x = x + u(t-m*T) - u(t-1-m*T-dt); % Periodically extend x1(t) to form a periodic signal end w0 = 2*pi/T; N = input(Type in the number of the harmonic components N = :); L = 2*N+1; for k = -N:1:N; ak(N+1+k) = (1/T)*x1*exp(-j*k*w0*t)*dt; end phi = angle(ak); y=0; for q = 1:L; % Synthesiz the period

18、ic signal y(t) from the finite Fourier series y = y+ak(q)*exp(j*(-(L-1)/2+q-1)*2*pi*t/T); end; subplot(221), plot(t,x), title(The original signal x(t), axis(-2,2,-0.2,1.2), subplot(223), plot(t,y), subplot(222) k=-N:N; stem(k,abs(ak),k.), title(The amplitude |ak| of x(t), axis(-N,N,-0.1,0.6) subplot

19、(224) stem(k,phi,r.), title(The phase phi(k) of x(t), axis(-N,N,-2,2), xlabel(Index k) title(The synthesis signal y(t), axis(-2,2,-0.2,1.2), xlabel(Time t), 在用这个程序观察吉伯斯现象时,可以反复执行该程序,每次执行时,输入不同之N值,比较所的图形的区别,由此可以观察到吉伯斯现象的特征。 三、实验内容 实验前,必须首先阅读本实验原理,读懂所给出的全部范例程序。实验开始时,先在计算机上运行这些范例程序,观察所得到的信号的波形图。并结合范例程序

20、应该完成的工作,进一步分析程序中各个语句的作用,从而真正理解这些程序。 实验前,一定要针对下面的实验项目做好相应的实验准备工作,包括事先编写好相应的实验程序等事项。 Q3-1 编写程序Q3_1,绘制下面的信号的波形图: 1np11 x(t)=cos(w0t)-cos(3w0t)+cos(5w0t)-L=sincos(nw0t) 235n=1n其中,w0 = 0.5,要求将一个图形窗口分割成四个子图,分别绘制cos(w0t)、cos(3w0t)、cos(5w0t) 和x(t) 的波形图,给图形加title,网格线和x坐标标签,并且程序能够接受从键盘输入的和式中的项数。 抄写程序Q3_1如下: c

21、lear,%Clear all variables close all,%Close all figure windows dt = 0.00001; %Specify the step of time variable t = -2:dt:4; %Specify the interval of time w0=0.5*pi; x1=cos(w0.*t); x2=cos(3*w0.*t); x3=cos(5*w0.*t); N=input(Type in the number of the harmonic components N=); x=0; for q=1:N; x=x+(sin(q*

22、(pi/2).*cos(q*w0*t)/q; end subplot(221) plot(t,x1)%Plot x1 axis(-2 4 -2 2); grid on, title(signal cos(w0.*t) subplot(222) plot(t,x2)%Plot x2 axis(-2 4 -2 2); grid on, title(signal cos(3*w0.*t) subplot(223) plot(t,x3)%Plot x3 axis(-2 4 -2 2) grid on, title(signal cos(5*w0.*t) 执行程序Q3_1所得到的图形如下: Q3-2 给

23、程序Program3_1增加适当的语句,并以Q3_2存盘,使之能够计算例题1中的周期方波信号的傅里叶级数的系数,并绘制出信号的幅度谱和相位谱的谱线图。 通过增加适当的语句修改Program3_1而成的程序Q3_2抄写如下: % Program3_1 clear, close all T = 2; dt = 0.00001; t = -2:dt:2; x1 = u(t) - u(t-1-dt); x = 0; for m = -1:1 % Periodically extend x1(t) to form a periodic signal x = x + u(t-m*T) - u(t-1-m*

24、T-dt); end w0 = 2*pi/T; N = 10; % The number of the harmonic components L = 2*N+1; for k = -N: N; % Evaluate the Fourier series coefficients ak ak(N+1+k) = (1/T)*x1*exp(-j*k*w0*t)*dt; end phi = angle(ak); % Evaluate the phase of ak subplot(211) k = -10:10; stem (k,abs(ak),k); axis(-10,10,0,0.6); gri

25、d on; title(fudupu); subplot(212); k = -10:10 stem(k,angle(ak),k); axis(-10,10,-2,2); grid on; titie(xiangweipu); xlabel(Frequency index x); 执行程序Q3_2得到的图形 Q3-3 反复执行程序Program3_2,每次执行该程序时,输入不同的N值,并观察所合成的周期方波信号。通过观察,你了解的吉伯斯现象的特点是: % Program3_3 % This program is used to compute the Fourier series coeffi

26、cients ak of a periodic square wave clear,close all T = 2; dt = 0.00001; t = -2:dt:2; x1 = u(t)-u(t-1-dt); x = 0; for m = -1:1 x = x + u(t-m*T) - u(t-1-m*T-dt); % Periodically extend x1(t) to form a periodic signal end w0 = 2*pi/T; N = input(Type in the number of the harmonic components N = :); L =

27、2*N+1; for k = -N:1:N; ak(N+1+k) = (1/T)*x1*exp(-j*k*w0*t)*dt; end phi = angle(ak); y=0; for q = 1:L; % Synthesiz the periodic signal y(t) from the finite Fourier series y = y+ak(q)*exp(j*(-(L-1)/2+q-1)*2*pi*t/T); end; subplot(221), plot(t,x), title(The original signal x(t), axis(-2,2,-0.2,1.2), sub

28、plot(223), plot(t,y), title(The synthesis signal y(t), axis(-2,2,-0.2,1.2), xlabel(Time t), subplot(222) k=-N:N; stem(k,abs(ak),k.), title(The amplitude |ak| of x(t), axis(-N,N,-0.1,0.6) subplot(224) stem(k,phi,r.), title(The phase phi(k) of x(t), axis(-N,N,-2,2), xlabel(Index k) N=1 N=2 通过观察我们了解到:如

29、果一个周期信号在一个周期有内断点存在,那么,引入的误差将除了产生纹波之外,还将在断点处产生幅度大约为9%的过冲,这种现象被称为吉伯斯现象。即信号在不连续点附近存在一个幅度大约为9%的过冲,且所选谐波次数越多,过冲点越向不连续点靠近。 4、周期信号的傅里叶级数与GIBBS现象 给定如下两个周期信号: x2(t)1t-2-0.20.22x1(t)1t-2-1Q3-4 仿照程序Program3_1,编写程序Q3_4,以计算x1(t)的傅里叶级数的系数。 程序Q3_4如下: clc,clear,close all T=2;dt=0.00001;t=-3:dt:3; x=(t+1).*(u(t+1)-u

30、(t)-(t-1).*(u(t)-u(t-1);x1=0; for m=-2:2 x1=x1+(t+1-m*T).*(u(t+1-m*T)-u(t-m*T)-(t-1-m*T).*(u(t-m*T)-u(t-1-m*T); end w0=2*pi/T; N=10; L=2*N+1; for k=-N:N; ak(N+1+k)=(1/T)*x*exp(-j*k*w0*t)*dt; end phi=angle(ak); plot(t,x1); axis(-4 4 0 1.2); grid on; title(The signal x1(t); xlabel(Time t (sec); ylabel

31、(signal x1(t); 执行程序Q3_4所得到的x1(t)的傅里叶级数的ak从-10到10共21个系数如下: 12Q3-5 仿照程序Program3_1,编写程序Q3_5,以计算x2(t) 的傅里叶级数的系数。 程序Q3_5如下: clc,clear,close all T=2;dt=0.00001;t=-3:dt:3; x=u(t+0.2)-u(t-0.2-dt);x2=0; for m=-1:1 x2=x2+u(t+0.2-m*T)-u(t-0.2-m*T)-u(t-0.2-m*t-dt); end w0=2*pi/T; N=10; L=2*N+1; for k=-N:N; ak(N

32、+1+k)=(1/T)*x*exp(-j*k*w0*t)*dt; end phi=angle(ak); plot(t,x2); axis(-2.5 2.5 0 1.2); grid on; title(The signal x2(t); xlabel(Time t (sec); ylabel(signal x2(t); 执行程序Q3_5所得到的x2(t)的傅里叶级数的ak从-10到10共21个系数如下: 与你手工计算的ak相比较,是否相同,如有不同,是何原因造成的? Q3-6 仿照程序Program3_2,编写程序Q3_6,计算并绘制出原始信号x1(t) 的波形图,用有限项级数合成的y1(t)

33、 的波形图,以及x1(t) 的幅度频谱和相位频谱的谱线图。 编写程序Q3_6如下: %Program Q3_6 %This program is used to evaluate the Fourier serier coefficients ak of a periodic square clc,clear,close all T=2;dt=0.00001;t=-3:dt:3; x=(t+1).*(u(t+1)-u(t)-(t-1).*(u(t)-u(t-1);x1=0; for m=-2:2 %Periodically extend x1(t) to form q periodic sig

34、nal x1=x1+(t+1-m*T).*(u(t+1-m*T)-u(t-m*T)-(t-1-m*T).*(u(t-m*t)-u(t-1-m*t); end w0=2*pi/T; N=10; %the number of the harmonic components L=2*N+1; for k=-N:N; ak(N+1+k)=(1/T)*x*exp(-j*k*w0*t)*dt; end phi=angle(ak); %Evaluate the phase of sk y=0; for q=1:L; %Synthesiz the periodic signal y(t) from the f

35、inite Fourier series y=y+ak(q)*exp(j*(q-1-N)*w0*t); end; subplot(221) plot(t,x)%plot x axis(-3 3 -0.2 1.2); grid on; title(The original signal x(t); subplot(223) plot(t,y)%Plot y axis(-3 3 -0.2 1.2); grid on; title(The synthesis signal y(t); subplot(222); xlabel(Time i (sec); subplot(222); k=-N:N; s

36、tem(k,abs(ak),k); axis(-N N -0.1 0.6); grid on; title(The amplitude spectrum of x(t); subplot(224); k=-N:N; stem(k,phi,k); axis(-N N -2 2); grid on; title(The phase spectrum of x(t); xlabel(Frequency index k); 执行程序Q3_6,输入N = 10所得到的图形如下: 反复执行程序Q3_6,输入不同的N值,观察合成的信号波形中,是否会产生Gibbs现象?为什么? 假定输入N=10,得到图形如下: 所以不会产生Gibbs现象,即与N值无关。 给定两个时限信号: -2t-1t+2,x1(t)=1,-1t1-t+2,1t2x2(t)=cos(t)u(t+1)-u(t-1)2 实验体会与心得: 在实验的过程中,掌握连续时间周期信号的傅里叶级数的物理意义和分析方法,观察截短傅里叶级数而产生的“Gibbs现象”,了解其特点以及产生的原因,掌握各种典型的连续时间非周期信号的频谱特征。发现自己在上课时候完全是一窍不通,可能是因为自己练的不够所以在下来的学习中,我认为实练永远是自己要去做得功课,即使自己现在还不会,但我坚信孰能生巧,自己一定能够学好这门科目。 p

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号