吉布斯现象的MATLAB实现
2011级电子实验班
1.吉布斯效应的定义
将具有不连续点的周期函数x(t)(如矩形脉冲)进行傅立叶级数展开后,选取有限项进行合成。当选取的项数N越多,在所合成的波形SN中出现的峰起越靠近原信号x(t)的不连续点。当选取的项数很大时,该峰起值趋于一个常数,它大约等于总跳变值的9%,并从不连续点开始以起伏振荡的形式逐渐衰减下去。这种现象通常称为吉布斯现象(Gibbs-phenomena). [1]
2.吉布斯现象的实现
2.1 周期方波
A,0tT/2
,式中,T为周期,可以展开为傅里叶级数: x(t)
A,T/2t0
4x(t)
n
sin(nt),n1,3,5,...其中,
n1
2
.这里假设方波周期为T=2,幅值A=1. T
2.1.1 Matlab源程序:
N=input('选取项数N='); %N表示要选取的项数 k=input('选取点的间距k='); %k表示变量t所需的点 t=-2*pi:k:2*pi; %创建自变量矩阵 s=SQUARE(t); plot(t,s,'r');
grid on;
axis([-8,8,-1.5,1.5]); xlabel('t');ylabel('x'); gtext('s=原方波'); hold on; y=0;
for n=1:2:N,
y=y+4/pi/n*sin(n*t); %傅里叶级数的前N项和 end plot(t,y); hold off;
title('gibbs现象——方波')
h=(max(y)-1)/2 %
峰起占总跳变值得比例,这里总跳变值为2.
2.1.2 Matlab分析图像:
1).标准方波:
2).N=,30,K=0.01时: h=0.0897,
3).N=300,K=0.01时:h=0.0884
4)N=3000,k=0.01时:h=0.0090,
5).N=30000,K=0.01时,h=0.0054
由图可以看出,同一k下,N越大,谐波叠加后越接近原方波。
同样,可以做出k=0.001,0.0001,…,时,N=30,300,3000的图像以及得到各种情况下的h.
比较。
由表格可以看出,间隔k越小,因为作图时会更精细,所以Gibbs现象会越呈现越明显的趋势。K=0.01时,N越大,h越小,应该是k的取值不够精细引起的。
2.2 周期锯齿波
以锯齿波最低点为原点做平面直角坐标系,这里假设周期T=2,绝对高度A=1.这样可以简化运算得到:
x(t)t/T,0tT. 经过傅里叶变换可得:
x(t)0.5
1
sin(nt) . n1n
又因为方波实验中应经验证,k的取值越精细越容易得到实验结果,所以实验中直接将k=0.0001.
2.2.1 Matlab源程序 N=input('选取项数N=');
t=-2*pi:0.0001:2*pi; %创建自变量矩阵 s=(SAWTOOTH(t)+1)/2; plot(t,s,'r');
axis([-8,8,-1.5,1.5]); grid on;
gtext('s=原锯齿波'); hold on; y0=0;
for n=1:1:N,
y0=y0+(-1)/pi/n*sin(n*t); %傅里叶级数的前N项和 end
y=0.5+y0; %加上直流分量 plot(t,y); hold off;
title('gibbs现象——锯齿波')
xlabel('t');ylabel('y');
h=max(y)-1 %峰起占总跳变值得比例 2.2.2 matlab图像分析 1).标准锯齿波:
2). N=30时,h=0.0733
3). N=300时,h=0.0878
4). N=3000时,h=0.891
由上述图可以看出,当k=0.0001(恒定)时,N越大,谐波叠加也就越接近原锯齿波;h也逐渐向0.09靠近。
3 .结 语
(1) 当用有限项之和重现原信号(复杂周期信号)波形时,随着n 值的增大,合成的结果越接近原波形.
(2) 当n 值增大时,跳变峰向间断点靠近,但跳变峰幅值并未明显减小,跳变峰所包围的面积减小,Matlab 使这种吉布斯现象得到清楚的表现. [3]
(3) 通过本次实验,锻炼了发现问题,分析问题,解决问题的能力。为以后的学习提供了宝贵的经验和教训。 4.参考文献
[1] 郑君里,杨为理.信号与系统(第二版).北京:高等教育出版社,2000(2009
重印) [2] 党宏社. 信号与系统实验(MATLAB版).西安:西安电子科技大学出版社,2007.1 [3] 三峡大学学报(自然科学版).2006.6
吉布斯现象的MATLAB实现
2011级电子实验班
1.吉布斯效应的定义
将具有不连续点的周期函数x(t)(如矩形脉冲)进行傅立叶级数展开后,选取有限项进行合成。当选取的项数N越多,在所合成的波形SN中出现的峰起越靠近原信号x(t)的不连续点。当选取的项数很大时,该峰起值趋于一个常数,它大约等于总跳变值的9%,并从不连续点开始以起伏振荡的形式逐渐衰减下去。这种现象通常称为吉布斯现象(Gibbs-phenomena). [1]
2.吉布斯现象的实现
2.1 周期方波
A,0tT/2
,式中,T为周期,可以展开为傅里叶级数: x(t)
A,T/2t0
4x(t)
n
sin(nt),n1,3,5,...其中,
n1
2
.这里假设方波周期为T=2,幅值A=1. T
2.1.1 Matlab源程序:
N=input('选取项数N='); %N表示要选取的项数 k=input('选取点的间距k='); %k表示变量t所需的点 t=-2*pi:k:2*pi; %创建自变量矩阵 s=SQUARE(t); plot(t,s,'r');
grid on;
axis([-8,8,-1.5,1.5]); xlabel('t');ylabel('x'); gtext('s=原方波'); hold on; y=0;
for n=1:2:N,
y=y+4/pi/n*sin(n*t); %傅里叶级数的前N项和 end plot(t,y); hold off;
title('gibbs现象——方波')
h=(max(y)-1)/2 %
峰起占总跳变值得比例,这里总跳变值为2.
2.1.2 Matlab分析图像:
1).标准方波:
2).N=,30,K=0.01时: h=0.0897,
3).N=300,K=0.01时:h=0.0884
4)N=3000,k=0.01时:h=0.0090,
5).N=30000,K=0.01时,h=0.0054
由图可以看出,同一k下,N越大,谐波叠加后越接近原方波。
同样,可以做出k=0.001,0.0001,…,时,N=30,300,3000的图像以及得到各种情况下的h.
比较。
由表格可以看出,间隔k越小,因为作图时会更精细,所以Gibbs现象会越呈现越明显的趋势。K=0.01时,N越大,h越小,应该是k的取值不够精细引起的。
2.2 周期锯齿波
以锯齿波最低点为原点做平面直角坐标系,这里假设周期T=2,绝对高度A=1.这样可以简化运算得到:
x(t)t/T,0tT. 经过傅里叶变换可得:
x(t)0.5
1
sin(nt) . n1n
又因为方波实验中应经验证,k的取值越精细越容易得到实验结果,所以实验中直接将k=0.0001.
2.2.1 Matlab源程序 N=input('选取项数N=');
t=-2*pi:0.0001:2*pi; %创建自变量矩阵 s=(SAWTOOTH(t)+1)/2; plot(t,s,'r');
axis([-8,8,-1.5,1.5]); grid on;
gtext('s=原锯齿波'); hold on; y0=0;
for n=1:1:N,
y0=y0+(-1)/pi/n*sin(n*t); %傅里叶级数的前N项和 end
y=0.5+y0; %加上直流分量 plot(t,y); hold off;
title('gibbs现象——锯齿波')
xlabel('t');ylabel('y');
h=max(y)-1 %峰起占总跳变值得比例 2.2.2 matlab图像分析 1).标准锯齿波:
2). N=30时,h=0.0733
3). N=300时,h=0.0878
4). N=3000时,h=0.891
由上述图可以看出,当k=0.0001(恒定)时,N越大,谐波叠加也就越接近原锯齿波;h也逐渐向0.09靠近。
3 .结 语
(1) 当用有限项之和重现原信号(复杂周期信号)波形时,随着n 值的增大,合成的结果越接近原波形.
(2) 当n 值增大时,跳变峰向间断点靠近,但跳变峰幅值并未明显减小,跳变峰所包围的面积减小,Matlab 使这种吉布斯现象得到清楚的表现. [3]
(3) 通过本次实验,锻炼了发现问题,分析问题,解决问题的能力。为以后的学习提供了宝贵的经验和教训。 4.参考文献
[1] 郑君里,杨为理.信号与系统(第二版).北京:高等教育出版社,2000(2009
重印) [2] 党宏社. 信号与系统实验(MATLAB版).西安:西安电子科技大学出版社,2007.1 [3] 三峡大学学报(自然科学版).2006.6