吉布斯现象的matlab实现
基于MATLAB的计算机仿真吉布斯现象
![基于MATLAB的计算机仿真吉布斯现象](https://img.taocdn.com/s3/m/c7b51551842458fb770bf78a6529647d272834d0.png)
基于MATLAB的计算机仿真吉布斯现象
刘丽华
【期刊名称】《机电工程技术》
【年(卷),期】2006(035)010
【摘要】一个周期信号方波,用数学分析法,展开成n个谐波之和,从傅里叶级数的收敛性分析,产生吉布斯现象.用计算机编程,改变N的值,来演示吉布斯现象.
【总页数】2页(P42-43)
【作者】刘丽华
【作者单位】广州铁路职业技术学院,广东,广州,510430
【正文语种】中文
【中图分类】O242.1
【相关文献】
1.基于MATLAB的各类混沌系统的计算机仿真模拟研究 [J], 陕振沛;宁宝权;张转周
2.基于MATLAB的夫琅和费衍射实验的计算机仿真 [J], 张志峰;苏玉玲;蒋逢春;杨坤;李俊丰;杨红军
3.基于MATLAB的汽车动力性及燃油经济性的计算机仿真 [J], 张静
4.基于MATLAB的控制系统计算机仿真课程教学探讨 [J], 薛文平
5.基于MATLAB双顶置同步带正时传动系统参数计算机仿真分析 [J], 赵凡;胡珍珍;侯俊鹏;郭建华
因版权原因,仅展示原文概要,查看原文内容请购买。
吉布斯(Gibbs)现象MATLAB
![吉布斯(Gibbs)现象MATLAB](https://img.taocdn.com/s3/m/9f51851acf84b9d528ea7a9f.png)
Matlab仿真原理
建立自定义函数M文件fuliye.m: 1、在MATLAB的指定目录下新建一个M文件 2、把MATLAB的路径选择到该M文件所在的文
件夹,文件名改成“fuliye.m” 3、在M文件中创建一个自定义函数,函数名
为“fuliye”。在本次仿真中用于实现方波 的傅里叶变换(matlab要求函数名与函数M 文件的文件名一致)
次谐波的次数即k的最大值) y1=fuliye(x,n); (调用函数“fuliye()”)
T=-2.5:0.001:2.5; y=square((pi/2)*T+(pi/2))+1; (生成方波信号,方波周
期为4s,峰峰值为2v) plot(T,y,x,y1,‘linewidth’,1.2),title(‘Gibbs现
Matlab仿真原理
function y=fuliye(t,n) (函数名为fuliye,t和n是形式参 数,t是时间,n是k的最大值)
y=0; for k=-n:-1 (k取-n到-1的谐波叠加) y=y+exp(1i*pi*k*t/2)*(sin(pi/2*k)/(k*pi)); (信号的
件夹,文件名改成“gibbs.m” 3、在M文件中设计一个程序,在程序中通过
对自定义函数fuliye的调用实现连续时间傅 里叶变换(CTFT)
Matlab仿真原理
x=-2.5:0.001:2.5; (创建自变量矩阵) n=input(‘please enter n:’); (通过键盘读取n值,确定最高
放大前
放大后
END
傅里叶展式) end y=y+1; (k=0时的傅里叶系数是1) for k=1:n (k取1到n的谐波叠加) y=y+exp(1i*pi*k*t/2)*(sin(pi/2*k)/(k*pi)); end y=2*y-1;
吉布斯现象实验报告
![吉布斯现象实验报告](https://img.taocdn.com/s3/m/6955eb507dd184254b35eefdc8d376eeaeaa17f1.png)
一、实验目的通过本次实验,了解吉布斯现象的产生原理,验证傅里叶级数在逼近周期信号时的局限性,以及不同截断项数对逼近效果的影响。
二、实验原理吉布斯现象是指将具有不连续点的周期函数(如矩形脉冲)进行傅里叶级数展开后,选取有限项进行合成。
当选取的项数越多,在所合成的波形中出现的峰起越靠近原信号的不连续点。
当选取的项数很大时,该峰起值趋于一个常数,大约等于总跳变值的9%。
傅里叶级数可以将一个周期信号分解为一系列正弦波和余弦波的叠加。
然而,由于傅里叶级数的正交性,截断傅里叶级数会产生吉布斯现象,导致信号在不连续点附近出现振荡。
三、实验设备与材料1. 电脑一台2. MATLAB软件3. 信号发生器4. 示波器四、实验步骤1. 使用信号发生器生成方波信号,频率为1kHz,幅值为5V。
2. 将方波信号输入示波器,观察并记录方波信号的波形。
3. 使用MATLAB软件对方波信号进行傅里叶级数展开,分别取不同的截断项数N(如N=10、20、30、40、50)。
4. 对不同截断项数的傅里叶级数进行合成,观察并记录合成波形。
5. 比较不同截断项数的合成波形与原始方波信号的差异,分析吉布斯现象的产生原因。
五、实验结果与分析1. 当N=10时,合成波形与原始方波信号的差异较大,不连续点附近出现明显的振荡。
2. 当N=20时,合成波形与原始方波信号的差异有所减小,但仍然存在明显的振荡。
3. 当N=30、40、50时,合成波形与原始方波信号的差异逐渐减小,振荡幅度逐渐减小。
4. 随着截断项数N的增加,吉布斯现象逐渐减小,合成波形逐渐逼近原始方波信号。
六、结论通过本次实验,我们验证了吉布斯现象的产生原理,并观察到随着截断项数N的增加,吉布斯现象逐渐减小,合成波形逐渐逼近原始方波信号。
实验结果表明,傅里叶级数在逼近周期信号时存在局限性,截断项数的选择对逼近效果有重要影响。
七、讨论1. 吉布斯现象的产生原因是什么?吉布斯现象的产生原因是傅里叶级数的截断误差。
吉布斯效应和栅栏效应
![吉布斯效应和栅栏效应](https://img.taocdn.com/s3/m/684e8de4524de518964b7d9e.png)
燕山大学课程设计说明书题目:基于Matlab的信号吉布斯效应和栅栏效应的验证学院(系):电气工程学院年级专业: 09级仪表1班学号: 000000000000学生姓名: **********指导教师: ***********教师职称:教授讲师燕山大学课程设计(论文)任务书院(系):电气工程学院基层教学单位:工业自动化仪表学号000000000 学生姓名*** 专业(班级)09级仪表1班设计题目基于Matlab的信号吉布斯效应和栅栏效应的验证设计技术参数栅栏效应:采样频率fs=5120 fs=2560;吉布斯效应信号函数:x=sin(c*t)./t;吉布斯效应窗口长度通过比较自己设计;设计要求利用Matlab软件,根据设计要求(包括:谱分辨率和采样频率)选择合适的参数进行频谱分析。
进一步,从理论和实验上分析DFT造成的栅栏效应和信号截取产生的吉布斯效应。
工作计划6月18日:上午:自己分配任务,借阅书籍,上网查阅资料;下午:研究阅读分析相关知识点,GUI界面的自主学习;6月19日:根据所学知识,设计课题的GUI界面布局;6月20-22日:程序设计以及整理课程设计说明书。
参考资料1、数字图像处理学电子工业出版社贾永红 20032、数字图像处理(Matlab版)电子工业出版社冈萨雷斯 20063、数字图像处理学(第二版)电子工业出版社阮秋琦 20064、matlab实用教程清华大学出版社徐金明 20055、其他的数字图像处理和matlab编程方面的书籍及相关学习资料指导教师签字************ 基层教学单位主任签字**说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。
2012年 6 月 22 日燕山大学课程设计评审意见表指导教师评语:工作态度认真较认真不认真理论分析正确完善较为合理一般较差方法设计完善合理一般较差成绩:指导教师:2012年 6 月22 日答辩小组评语:原理清晰基本掌握了解不清楚设计结论正确基本正确不正确成绩:评阅人:2012年6 月22 日课程设计总成绩:答辩小组成员签字:2012年6 月22 日摘要随着科技的发展,当今社会已经进入信息时代,人们每天都要接触各种各样载有信息的信号形式,如接受广播、电视信号、使用电话传送声音信号等,其目的是为了把不同形式的消息借助一定形式的信号进行表达或传递。
吉布斯现象的仿真说明
![吉布斯现象的仿真说明](https://img.taocdn.com/s3/m/378dbb12227916888486d765.png)
对于存在跳跃间断点的周期信号, 用傅里叶级数来还原信号时, 级数不能一致收敛于原 信号,只能是能量意义上的均方收敛。还原的信号在间断点的两边存在着起伏,即使选取更 多的项数来逼近,只会使起伏震荡变密(向间断点处压缩) ,但是离间断点最近的那个肩峰 总是存在大约 9%的超调。 选取下图 1 所示的矩形 f (t ) 波为例:
例如对于一个峰峰值为 2,周期为 2 的奇三角信号,将其展开为傅里叶级数:
f (t )
n 1
8sin(
n ) 2 *sin(n t ) (n ) 2
编写 matlab 仿真程序如下: t=-1:0.001:1; m=length(t); y=zeros(1,m); f=y; for n=1:100 f=((8*sin(n*pi/2))/(n*pi)^2)*sin(n*pi*t); y=y+f; end plot(t,y) hold on; z=ones(1,m); u=-1*ones(1,m); plot(t,z); plot(t,u); axis([-1,1,-1.1,1.1]); 改变选取的项数,得到仿真图如下:
图 1 其周期 T=2 秒,计算其傅里叶级数:
n 2sin( ) a0 1 2 ,b 0 , an n 2 2 n
即有
1 f (t ) 2 n 1
2sin(
n
n ) 2 *ห้องสมุดไป่ตู้os(n t )
编写 matlab 程序用左边的级数来逼近 f (t ) 如下:
t=-1:0.00001:1; m=length(t); f=zeros(1,m); y=f+0.5;
图 2
图 3 由图 2 和图 3 可以看到,用 5000 项来逼近时,波纹明显变密。
吉布斯效应在信号处理课程教学中的仿真分析
![吉布斯效应在信号处理课程教学中的仿真分析](https://img.taocdn.com/s3/m/7723341a0640be1e650e52ea551810a6f524c86b.png)
吉布斯效应在信号处理课程教学中的仿真分析王凤随;王冠凌;瞿成明;赵发【摘要】为帮助学生更直观地理解信号处理中出现的吉布斯效应,借助于计算分析软件MATLAB对信号处理中的信号分解与合成以及滤波器设计中出现的吉布斯现象进行了仿真,分析并探讨了吉布斯效应产生的原因及减少效应影响的方法。
仿真结果可更加直观和深刻地认识吉布斯效应,对信号分析与系统设计有着重要的作用。
%In order to help the students intuitively understand Gibbs effects in signal processing, Gibbs effects appearing in signal decomposition and synthesis and filter design for signal processing were simulated by using MATLAB analysis software. The cause of Gibbs effects was analyzed and the methods for reducing the inlfuence of Gibbs effects were discussed. Simulation results are able to more intuitively and profoundly understand the Gibbs effects. It plays an important role for signal analysis and system design.【期刊名称】《中国现代教育装备》【年(卷),期】2015(000)001【总页数】2页(P81-82)【关键词】吉布斯效应;信号合成;滤波器;仿真分析【作者】王凤随;王冠凌;瞿成明;赵发【作者单位】安徽工程大学电气工程学院安徽芜湖 241000;安徽工程大学电气工程学院安徽芜湖 241000;安徽工程大学电气工程学院安徽芜湖 241000;安徽工程大学电气工程学院安徽芜湖 241000【正文语种】中文MATLAB是一种高性能的科学计算和可视化软件,它具有使用方便,运算高效,功能丰富,界面友好等诸多优点,已成为教学和科研中不可或缺的工具。
数字信号处理实验报告---吉布斯效应
![数字信号处理实验报告---吉布斯效应](https://img.taocdn.com/s3/m/b083d642c850ad02de80412e.png)
《数字信号处理》实验报告实验名称:吉布斯效应专业班级:学生姓名:学号:指导教师:实验时间: 2011年6月15日1 实验目的:验证吉布斯效应2 运行环境:PC机,windows2000及其以上,matlab软件。
3 实验设计:Sc(n)=1/2 + 2/pi*cos(pi*n) - 2/3/pi*cos(3*pi*n) +2/5/pi*cos(5*pi*n)-2/7/pi*cos(7*pi*n)…4实验结果(1)由该程序得到的波形图DeT = 1/128*4;n = -1:DeT:1;nTao = -1/2:DeT:1/2;sTao(1:length(nTao)) = ones(1, length(nTao));s(1:length(n)) = [zeros(1, 1/2*length(nTao)) sTao zeros(1, 1/2*length(nTao))];plot(n, s)(2)下图为N=1,N=3,N=5,N=7的图形。
(3)下图为N=9,N=27的图形。
(4)该图为N=1000的波形图。
5 结论当n值越大时,越接近理论值。
6 心得体会:本次课程设计中,通过运用matlab应用程序对吉布斯效应实验过程有了进一步的了解,通过改变不同的参数值,由所对应的波形可反映出吉布斯效应。
7 实验代码:%实验设计程序如下:function WavConstructionclearclcclose allDeT = 1/128*4;n = -1:DeT:1;nTao = -1/2:DeT:1/2;sTao(1:length(nTao)) = ones(1, length(nTao));s(1:length(n)) = [zeros(1, 1/2*length(nTao)) sTao zeros(1, 1/2*length(nTao))];plot(n, s)xlim([-1.05 1.05])ylim([-0.2 1.21])figuresc1 = 1/2 + 2/pi*cos(pi*n);subplot(2,2,1)plot(n, sc1)title('N = 1')subplot(2,2,2)sc2 = 1/2 + 2/pi*cos(pi*n) - 2/3/pi*cos(3*pi*n);plot(n, sc2)title('N = 3')subplot(2,2,3)sc3 = 1/2 + 2/pi*cos(pi*n) - 2/3/pi*cos(3*pi*n) + 2/5/pi*cos(5*pi*n); plot(n, sc3)title('N = 5')subplot(2,2,4)sc4 =1/2 + 2/pi*cos(pi*n) - 2/3/pi*cos(3*pi*n) + 2/5/pi*cos(5*pi*n) - 2/pi/7*cos(7*pi*n);plot(n, sc4)title('N = 7')figuresubplot(2,1,1)sc5 = 1/2 + 2/pi*cos(pi*n) - 2/3/pi*cos(3*pi*n) + 2/5/pi*cos(5*pi*n) - 2/pi/7*cos(7*pi*n) + 2/pi/9*cos(9*pi*n);plot(n, sc5)title('N = 9')sc6 = sc5-2/pi/11*cos(11*pi*n)+2/pi/13*cos(13*pi*n)-2/pi/15*cos(15*pi*n)+2/ pi/17*cos(17*pi*n)-2/pi/19*cos(19*pi*n) ...+2/pi/21*cos(21*pi*n)-2/pi/23*cos(23*pi*n)+2/pi/25*cos(25*pi*n)-2/pi/ 27*cos(27*pi*n);subplot(2,1,2)plot(n, sc6)title('N = 27')figureN_Order = 1000;scN_Order = 1/2;for i_Index = 1:1:N_OrderscN_Order = scN_Order - (-1)^i_Index*2/pi/(2*i_Index-1)*cos((2*i_Index-1)*pi*n);endplot(n, scN_Order)title(['N = ',int2str(N_Order)])grid on参考文献参考文献格式如下:([1]书籍[2] 文章例)[1]程佩青著,《数字信号处理教程》,清华大学出版社,2001[2]Sanjit K. Mitra著,孙洪,余翔宇译,《数字信号处理实验指导书(MATLAB 版)》,电子工业出版社,2005年1月。
MATLAB实验三Gibbs现象验证
![MATLAB实验三Gibbs现象验证](https://img.taocdn.com/s3/m/dc544d3b2bf90242a8956bec0975f46527d3a720.png)
MATLAB实验三Gibbs现象验证实验三、验证周期性⽅波的Gibbs现象课程名称: MATLAB仿真应⽤专业班级:电⼦Z1211 学⽣学号: 12200134103 学⽣姓名:徐斌所属院部:电⼦信息⼯程指导教师:凌云2014 —— 2015 学年第 1 学期实验三、验证周期性⽅波的Gibbs现象实验项⽬名称:验证周期性⽅波的Gibbs现象实验学时:同组学⽣姓名:实验地点: B203实验⽇期:实验成绩:批改教师:批改时间:⼀、实验⽬的和要求验证周期性⽅波的Gibbs现象⼆、实验仪器和设备计算机⼀台三、实验原理1 连续时间周期信号的傅⾥叶级数频域分析法即傅⾥叶分析法,它是变换域分析法的基⽯。
其中,傅⾥叶级数是变换域分析法的理论基础,傅⾥叶变换作为频域分析法的重要数学⼯具,具有明确的物理意义,在不同的领域得到⼴泛的应⽤1.1 连续时间周期信号的分解以⾼等数学的知识,任何周期为T的周期函数)(tf,在满⾜狄⾥赫利条件时,则该周期信号可以展开成傅⾥叶级数。
傅⾥叶级数有三⾓形式和指数形式两种[2]。
1.1.1 三⾓形式的傅⾥叶级数三⾓形式的傅⾥叶级数为:)12(3,2,1)sin()cos(2)sin()sin()cos()cos()cos(2)(11213210b -??=Ω+Ω+=??+Ω+Ω+??+Ω+Ω+Ω+=∑∑∞=∞b a a a a式中系数n a 、n b 称为傅⾥叶系数,可由下式求得。
()()()()()22222012cos 2sin TT T T TT n n a f t dtT a f t n t dtT b f t n t dtT ---==Ω=Ω ()22- 其中,T π2=Ω为基波频率,Ωn 为n 次谐波频率。
如果将()21-式中同频率的正弦和余弦分量合并,则三⾓形式的傅⾥叶级数可表⽰为:()()01t cos 2n n n A f A n t ?∞==+Ω+∑ 1,2,3,n = ()23- 上式中001,2,arctann nn n A a A n a b =?===-()24-00cos ,1,2,sin n n n n n n a A a A n b A ??=??===-?可以看出,傅⾥叶系数n a 和n b 都是n 或()n Ω的函数,其中n a 和n A 是n 或()n Ω的偶函数,即有n a -=n a ;⽽n b 和n ?是n 或()n Ω的奇函数,即有n b -=n b -。
吉布斯现象的matlab代码实现
![吉布斯现象的matlab代码实现](https://img.taocdn.com/s3/m/eb95a71fbb1aa8114431b90d6c85ec3a87c28b05.png)
吉布斯现象的matlab代码实现第⼀题:代码clear;close all;clc;t = -2::2;T = [15,25,51,101];for k = 1:length(T)a=0;for n = 1:2:T(k)b=exp(1i*n*pi*t)/n;a=a+b;endy=2*a/(1j*pi);x=*square(pi*t);figure;p=plot(t,real(y),t,x);axis([-2,2,,]);set(gca,'XTick',-2:1:2)set(gca,'YTick',::set(gca,'XTickLabel',{'-2','-1','0','1','2'})set(gca,'YTickLabel',{'','','0','',''})xlabel('⾃变量')ylabel('函数值')titlemsg=sprintf('吉布斯现象N=%d的合成波形',T(k));title(titlemsg)text(0,,'\leftarrow ⽅波函数','HorizontalAlignment','left') set(gcf,'Color','w') %hold onEnd-2-1012-0.8-0.40.40.8⾃变量函数值吉布斯现象N=15的合成波形-2-1012-0.8-0.40.40.8⾃变量函数值-2-1012-0.8-0.40.40.8⾃变量函数值吉布斯现象N=51的合成波形第⼆题代码clear;close all ;clc;t = -2::2;T = [15,25,51,101];for k = 1:length(T)a=0;for n = 1:2:T(k) -2-1012-0.8-0.40.40.8⾃变量函数值b=exp(1i*n*pi*t)/n;a=a+b;endy=2*a/(1j*pi);x=*square(pi*t);%figure;if (k==1)p=plot(t,real(y),'c',t,x,'k');elseif (k==2)p=plot(t,real(y),'m',t,x,'k');elseif (k==3)p=plot(t,real(y),'r',t,x,'k');elseif (k==4)p=plot(t,real(y),'b',t,x,'k');endaxis([-2,2,,]);set(gca,'XTick',-2:1:2)set(gca,'YTick',::set(gca,'XTickLabel',{'-2','-1','0','1','2'})set(gca,'YTickLabel',{'','','0','',''})xlabel('⾃变量')ylabel('函数值')titlemsg=sprintf('吉布斯现象N=%d的合成波形',T(k));title(titlemsg)text(0,,'\leftarrow ⽅波函数','HorizontalAlignment','left') set(gcf,'Color','w')hold onEnd-2-1012-0.8-0.40.40.8⾃变量函数值将所有结果合成在⼀幅图上第三题1、傅⾥叶级数随着N 增加,其合成的波形就就越接近⽅波2、随着N 增加,波动就越向边缘点压缩靠近3、当选取的项数越多,在所合成的波形中出现的峰起越靠近原信号的不连续点-0.4⾃变量函数值不连续点的放⼤图第四题1、⼀次谐波⾓频率2rad/s ,三次6rad/s ,五次10rad/s2、⼀次谐波的系数是4/π,三次谐波的系数是4/3π,五次谐波的系数是4/5π3、 N 次谐波的系数是4/n π -2-1012-0.8-0.40.40.8⾃变量函数值吉布斯现象N=101的合成波形。
信号与系统实验
![信号与系统实验](https://img.taocdn.com/s3/m/b04c82b8fd0a79563c1e7297.png)
实验一信号的时域描述一、实验目的1.学习利用Matlab工程软件实现信号的描述2.观察和掌握各种常用信号的波形3.通过仿真实验对连续和离散信号间的关系做深一步的理解二、原理说明在信号与系统课程中,对信号的时域分析一个重要的内容就是对信号进行描述,信号的数学描述和波形描述是实际中对信号进行分析经常要做的工作,对于简单的信号我们很容易可以得到它的这两种描述方法,但对于一些复杂或未知的信号,我们就必须借助于一定的工具对其进行分析。
三、预习要求1.常用信号的波形及数学描述2.奇异信号的定义四、内容及步骤几种常见信号的图形描述参考程序如下:clear, %清屏t0=0;tf=5;dt=0.005;t1=1.5;t=[t0:dt:tf]; %定义信号时间范围t=[t0:dt:tf]; st=length(t);n1=floor((t1-t0)/dt);%确定信号出现时刻x1=zeros(1,st); %定义信号x1并作出信号波形x1(n1)=1/dt;subplot(2,2,1),stairs(t,x1)axis([0,5,0,2/dt])x2=[zeros(1,n1-100),ones(1,st-n1+100)]; %定义信号x2并作出波形图subplot(2,2,3),stairs(t,x2)axis([0,5,0,1.1])t2=[-5:0.005:5]; %确定信号x3及x4及它们对应的时间范围x3=pi*sinc(t2);x4=exp(-t2);subplot(2,2,2),plot(t2,x3) %作图subplot(2,2,4),plot(t2,x4)1.输入以上程序,观察信号输出波形,写出各信号的表达式1.读懂程序,改变程序中信号的时间参数,观察信号波形的变化2.自己定义几种常见信号,编写程序,画出信号波形五、仪器设备计算机一台Matlab软件一套六、报告要求记录各输出波形,并说明所使用主要函数的功能及调用格式实验二信号的分解及合成一、实验目的1.学习利用Matlab工程软件实现信号的分解及合成2.通过仿真实验对信号的分解及合成有进一步的认识3.观察信号分解过程中的吉布斯现象二、原理说明连续时间周期信号当满足狄里赫利条件时,可以分解为正弦信号叠加的形式,即它是由不同的频率分量所合成;不同分量在原信号中所占比重不同,这也就是周期信号频谱的概念。
吉布斯(Gibbs)现象MATLAB
![吉布斯(Gibbs)现象MATLAB](https://img.taocdn.com/s3/m/9f51851acf84b9d528ea7a9f.png)
吉布斯现象
学习目标
掌握利用MATLAB语言编写计算CTFT的仿真程 序,通过对仿真程序的控制实现对吉布斯现 象的观察,并验证CTFT的若干重要性质
Matlab仿真原理
吉布斯现象Gibbs phenomenon
将具有不连续点的周期函数进行傅立叶级数 展开后,选取有限项进行合成。当选取的项 数越多,在所合成的波形中出现的峰起越靠 近原信号的不连续点。当选取的项数很大时, 该峰起值趋于一个常数,大约等于总跳变值 的9%。这种现象称为吉布斯现象。
象’),xlabel(时间t‘),ylabel(信号幅值u(v)’); (生成傅里叶级数和方波的图像)
axis([-2.5 2.5 -1 3]); (设置X轴,Y轴的取值范围) grid on; (打开网格)
Matlab仿真原理
方波生成函数square ( ):
一般形式为“y=A*square(B*t+C)”,其中A 是方波信号的幅值,B是方波的角频率,C是 方波的初相
放大前
放大后
END
次谐波的次数即k的最大值) y1=fuliye(x,n); (调用函数“fuliye()”)
T=-2.5:0.001:2.5; y=square((pi/2)*T+(pi/2))+1; (生成方波信号,方波周
期为4s,峰峰值为2v) plot(T,y,x,y1,‘linewidth’,1.2),title(‘Gibbs现
件夹,文件名改成“gibbs.m” 3、在M文件中设计一个程序,在程序中通过
对自定义函数fuliye的调用实现连续时间傅 里叶变换(CTFT)
Matlab仿真原理
x=-2.5:0.001:2.5; (创建自变量矩阵) n=input(‘please enter n:’); (通过键盘读取n值,确定最高
信号系统关于栅栏效应和吉布斯效应验证
![信号系统关于栅栏效应和吉布斯效应验证](https://img.taocdn.com/s3/m/86d60cf8b8f67c1cfad6b848.png)
第一章 MATLAB简介1.1 MATLAB简介MATLAB是美国Mathworks公司推出的数学工具软件,它是一种直观、高效的计算机语言,同时又是一个科学计算平台。
它为数据分析和数据可视化、算法提供了最核心的数学和高级图形工具。
多达几百个数学函数和工程函数,极大地降低了对使用者的数学基础和计算机语言知识的要求,编程效率和计算效率极高,初学者可在很短的时间就能初步掌握它。
目前,MATLAB 已经成为国际上最流行的科学与工程计算软件工具。
它集科学计算、图像处理、声音处理于一身,是一个高度的集成系统,有良好的用户界面,并有良好的帮助功能。
MATLAB不仅流行于控制界,在机械工程、生物工程、语音处理、图像处理、信号分析、计算机技术等各行各业中都有极广泛的应用。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
它的MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C、FORTRAN 等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,因此使MATLAB成为一个强大的数学软件。
MATLAB语言的特点:编程效率高、用户使用方便、扩充能力强、语句简单、内涵丰富、高效方便的矩阵和数组运算、方便的绘图功能。
第二章 离散傅立叶变换2.1 傅立叶变换FFT 是离散傅立叶变换的快速算法,可以将一个信号变换到频域。
有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征了。
这就是很多信号分析采用FFT 变换的原因。
另外,FFT 可以将一个信号的频谱提取出来,这在频谱分析方面也是经常用的。
信号与系统·matlab·吉伯斯现象研学final
![信号与系统·matlab·吉伯斯现象研学final](https://img.taocdn.com/s3/m/c90f0bcc89eb172ded63b734.png)
利用连续Fourier 级数的时移特性,以及基本周期矩形脉冲信号的频谱可知该信号的频谱Cn为[]n e n Sa Cn jn δππ-⎪⎭⎫ ⎝⎛=-22(n=1,2,3.取模为22(ππjn e n Sa Cn -⎪⎭⎫ ⎝⎛= C0=0.Cn|=0.5| Sa(0.5*n*pi)||C0|=0;|C1|=1/pi|C2|=0;|C3|=1/3*pi;P=(1*0.5*0.5+1*0.5*0.5)/2=0.25C0^2+2*C1^2+2*C2^2+2*C3^2=0.243>0.225=0.9*P所以N=3;又因为该信号是奇对称的半波镜像信号,所以没有直流分量,且只有正弦分量的奇次谐波。
且对于奇对称的实周期信号有an=0;bn=j*2Cn=Sa(0.5*n*pi)*sin(0.5*n*pi);%矩形波时域图及频谱图%t0=0:0.001:20; L=512;x0=1*sign(sin(pi*t0+0));plot(t0,x0);grid;axis([0,5,-1.5,1.5]);grid on ;title('时域波形');figure;ws=10*pi;t=0:1/ws:20;x=1*sign(sin(pi*t+0));y=fft(x,L);Y=fftshift(y);w=(-ws/2+(0:L-1)*ws/L)/(2*pi);plot(w, abs(Y)/L)grid;title('幅频谱图N=512');grid;%矩形波基波合成%t=-20:0.001:20;N=input('N=');c0=0;XN=c0*ones(1,length(t));for n=1:2:N;XN=XN+2*sin(pi*n*t)*sinc(0.5*n)*sin(0.5*n*pi); endplot(t,XN);axis([-2,2,-2.2,2.2]);grid on;figure;clear all;利用连续Fourier 级数的时移特性,以及基本周期三角波信号的频谱可知该信号的频谱Cn 为22)2()(2πππjn e n Sin n j Cn --=|C0|=0.5|C1|=2/pi*pi=0.20 ()3122121021=+=⎰-⎰dx dx x P x C0^2+2*C1^2=0.33>0.29=0.9*P所以N=1;又因为该信号为偶对称的实周期信号所以只有余弦分量bn=0;an=sin(0.5*n*pi)*sin(0.5*n*pi)*(-2/(n*n*pi*pi);%三角波时域图及频谱图%Fs=10000;t0=0:1/Fs:10;L=512;x=0.5*sawtooth(pi*t0,0.5)+0.5;plot(t0,x);axis([0,5,-0.5,1.5]);grid on ;title('三角波时域波形');figure;ws=pi;t=0:1/ws:2000;x=0.5*sawtooth(pi*t,0.5)+0.5;y=fft(x,L);Y=fftshift(y);w=(-ws/2+(0:L-1)*ws/L)/(2*pi);plot(w, abs(Y)/L);grid;title('三角波频谱图N=512');%三角波基波合成%t=-20:0.001:20;N=input('N=');c0=0.5;XN=c0*ones(1,length(t));for n=1:2:N;XN=XN+2*cos(pi*n*t)*sin(0.5*n*pi)*sin(0.5*n*pi)*(-2/(n*n*pi*pi)); endplot(t,XN);axis([-2,2,0,1.2]);grid on;figure;hold on;有效带宽内N=3;N=10;;N=60;有效带宽内,N=1;N=10N=60;结果分析:(1)有效带宽内有限项谐波合成波形的近似度三角波要好于矩形波。
吉布斯现象的matlab实现
![吉布斯现象的matlab实现](https://img.taocdn.com/s3/m/39bb8ac72cc58bd63186bdd0.png)
信号与系统实验实验者信息:一:实验题目运用matlab 验证吉布斯现象 二:实验原理对于具有不连续点(跳变点)的波形,所取级数项数越多,近似波形的方均误差虽可减小,但在跳变点处的峰起(上冲)值不能减小,此峰起随项数增多向跳变点靠近。
(详见课本279页) 三:实验内容1.计算N 取不同值时的方均误差N E 的值2.用matlab 画出N 取不同值时N0n 1n 1n 1S(t)=a [a cos(n t)b sin(n t)]ωω=++∑的图。
四:实验过程我们取课本99页的函数f (t)作为实验的目标函数-E/2 (T /2t T /4)f(t)=E/2(T /4t T /4)-E/2(T /4t T /2)-<<-⎧⎪-<<⎨⎪<<⎩matlab 有专门产生矩形波的函数square(t),为了显示对称波形,将它移动四分之一个周期,即square(t+T/2),然后再乘上我们此题中的振幅E2,因此得到f_t=(E/2)*square(t+T/2);已知周期函数f (t)的傅里叶级数为0n 1n 1n 1f(t)=a [a cos(n t)b sin(n t)]ωω∞=++∑因为此题的函数既是偶函数,又是奇谐函数。
因此在它的傅里叶级数中只可能含有奇次谐波的余弦项。
所以n 2E n a sin()n 2ππ=于是1112E11f (t)[cos(t)cos(3t)cos(5t)]35ωωωπ=-+-若取傅里叶级数的前(2N 1)+项来逼近周期函数f (t),则有限项傅里叶级数为N0n 1n 1n 1S(t)=a [a cos(n t)b sin(n t)]ωω=++∑进一步简化为2N 1N n 12E sin(nt)S T n -==∑ 为了得到对称波形,将它移动四分之一个周期,即2N 1N n 1n Tsin(nt )2E2S Tn-=⨯+=∑N S 就是代码中的S这样用S(t)逼近f (t)引起的误差函数为N (t)f (t)S(t)ε=- 方均误差等于010t T 22N N N t 11E (t)(t)dt T εε+==⎰在程序中我们取t=-T:0.0001:T;将t 等分成多份,所以不能直接用积分函数int (即不连续),所以依据定义的方法来求积分(极限法)1T2N1t 0t T lim((t )t)ε∆→=-∆∑因为均分所以积分变为1T2Nt Tt ε=-∆⨯∑其中1T2Nt Tε=-∑为所有分量1t 对应的2N ε值的总和求N E 时应除以总周期即2T ,t2T∆即是将区间分为多少等份的倒数,matlab 中为1length(t),其中length(t)为将区间分成的等份数。
信号与系统Matlab实验作业
![信号与系统Matlab实验作业](https://img.taocdn.com/s3/m/fe709b53ba1aa8114531d900.png)
实验一典型连续时间信号和离散时间信号一、实验目的掌握利用Matlab画图函数和符号函数显示典型连续时间信号波形、典型时间离散信号、连续时间信号在时域中的自变量变换。
二、实验内容1、典型连续信号的波形表示(单边指数信号、复指数信号、抽样信号、单位阶跃信号、单位冲击信号)1)画出教材P28习题1-1(3) ()[(63)(63)]t=----的波形图。
f t e u t u t2)画出复指数信号()()j t f t e σω+=当0.4, 8σω==(0<t<10)时的实部和虚部的波形图。
t=0:0.01:10;f1='exp(0.4*t)*cos(8*t)';f2='exp(0.4*t)*sin(8*t)';figure(1)ezplot(f1,t);grid on;figure(2)ezplot(f2,t);grid on;3)画出教材P16图1-18,即抽样信号Sa(t)的波形(-20<t<20)。
t=-10:0.01:10;f='sin(t)/t';ezplot(f,t);grid on;4)用符号函数sign画出单位阶跃信号u(t-3)的波形(0<t<10)。
t=0:0.01:10;f='(sign(t-3)+1)/2';ezplot(f,t);grid on;5)单位冲击信号可看作是宽度为∆,幅度为1/∆的矩形脉冲,即t=t 1处的冲击信号为11111 ()()0 t t t x t t t otherδ∆⎧<<+∆⎪=-=∆⎨⎪⎩画出0.2∆=, t 1=1的单位冲击信号。
t=0:0.01:2;f='5*(u(t-1)-u(t-1.2))';ezplot(f,t);grid on;axis([0 2 -1 6]);2、典型离散信号的表示(单位样值序列、单位阶跃序列、实指数序列、正弦序列、复指数序列)编写函数产生下列序列:1)单位脉冲序列,起点n0,终点n f,在n s处有一单位脉冲。
吉布斯现象的MATLAB实现
![吉布斯现象的MATLAB实现](https://img.taocdn.com/s3/m/6bf5bb692f3f5727a5e9856a561252d380eb20b8.png)
吉布斯现象的MATLAB实现
李克勤;姜翠香
【期刊名称】《三峡大学学报(自然科学版)》
【年(卷),期】2006(28)3
【摘要】在信号分析中,复杂周期信号可用一定的数学工具将其展开为一系列的谐波信号,反过来,一系列的谐波信号可合成得到相应的周期信号.用Matlab编程,实现了信号的合成,吉布斯现象的效果相当明显.
【总页数】2页(P269-270)
【作者】李克勤;姜翠香
【作者单位】湖北工业大学,机械工程学院,武汉,430068;武汉理工大学,理学院,武汉,430070
【正文语种】中文
【中图分类】TN911.7
【相关文献】
1.用Matlabcontrol实现Java与Matlab的混合编程 [J], 陈宏希;邹益民
2.基于MATLAB的计算机仿真吉布斯现象 [J], 刘丽华
3.吉布斯现象的MATLAB实现 [J], 王玉富
4.Matlab在分子动力学中的应用——Matlab实现的波包含时演化 [J], 许继君;叶叶;闵存高
5.Matlab/SIMULINK开发工具的建模与实现——贝加莱Automation Studio 对MATLAB/SIMULINK开发工具的支持 [J], 无
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信号与系统实验
实验者信息:
一:实验题目
运用matlab 验证吉布斯现象 二:实验原理
对于具有不连续点(跳变点)的波形,所取级数项数越多,近似波形的方均误差虽可减小,但在跳变点处的峰起(上冲)值不能减小,此峰起随项数增多向跳变点靠近。
(详见课本279页) 三:实验内容
1.计算N 取不同值时的方均误差N E 的值
2.用matlab 画出N 取不同值时
N
0n 1n 1n 1S(t)=a [a cos(n t)b sin(n t)]ωω=++∑的图。
四:实验过程
我们取课本99页的函数f (t)作为实验的目标函数
-E/2 (T /2t T /4)f(t)=E/2(T /4t T /4)
-E/2(T /4t T /2)-<<-⎧⎪
-<<⎨⎪<<⎩
matlab 有专门产生矩形波的函数square(t),为了显示对称波形,
将它移动四分之一个周期,即square(t+T/2),然后再乘上我们此题中的振幅E
2
,因此得到
f_t=(E/2)*square(t+T/2);
已知周期函数f (t)的傅里叶级数为
0n 1n 1n 1f(t)=a [a cos(n t)b sin(n t)]
ωω∞
=++∑
因为此题的函数既是偶函数,又是奇谐函数。
因此在它的傅里叶级数中只可能含有奇次谐波的余弦项。
所以n 2E n a sin()n 2ππ=
于是
1112E
11
f (t)[cos(t)cos(3t)cos(5t)]35ωωωπ=
-+-
若取傅里叶级数的前(2N 1)+项来逼近周期函数f (t),则有限项傅里叶级数为
N
0n 1n 1n 1S(t)=a [a cos(n t)b sin(n t)]
ωω=++∑
进一步简化为
2N 1N n 12E sin(nt)
S T n -==∑ 为了得到对称波形,将它移动四分之一个周期,即
2N 1
N n 1
n T
sin(nt )2E
2S T
n
-=⨯+
=
∑
N S 就是代码中的S
这样用S(t)逼近f (t)引起的误差函数为N (t)f (t)S(t)ε=- 方均误差等于
010
t T 2
2
N N N t 11E (t)(t)dt T εε+==
⎰
在程序中我们取t=-T:0.0001:T;将t 等分成多份,所以不能直接用积分函数int (即不连续),所以依据定义的方法来求积分(极限法)
1T
2
N
1t 0
t T lim((t )t)ε∆→=-∆∑因为均分所以积分变为1T
2N
t T
t ε
=-∆⨯
∑其中
1T
2N
t T
ε
=-∑为
所有分量1t 对应的2
N ε值的总和
求N E 时应除以总周期即2T ,t
2T
∆即是将区间分为多少等份的倒数,matlab 中为
1
length(t)
,其中length(t)为将区间分成的等份数。
综上 ,我们得1T
2N
t T
N sum((f_t-S).^2)
E length(t)
length(t)
ε
=-=
=
∑ (后面是用在
matlab 中的计算方法)
第一问:
n 2N 1=-,n 为n E 的计数,
运行matlab 分别令N 1;N 3;N 5=== 得出123E 0.7577;E 0.3975;E 0.2678===…………如下表1
表1 方均误差
第二问:
-4
-3-2-1
01234
-3-2
-1
1
2
3
时间t
相应的函数值f (t )和S (t )
有限级数 S1
-4
-3-2-1
01234
-3-2
-1
1
2
3
时间t
相应的函数值f (t )和S (t )
有限级数 S2
-4
-3-2-1
01234
-3-2
-1
1
2
3
时间t
相应的函数值f (t )和S (t )
有限级数 S3
-4
-3-2-1
01234
时间t
相应的函数值f (t )和S (t )
有限级数 S20
放大跳变点附近的图像得到下图
五:实验结论与分析
由第一问的表1和第二问的图像可知,随着N 的增大,即随着所取级数项数的增多,进似方均误差减小,且峰起随着项数的增多向跳变点靠近,并且从有限级数S20跳变点附近的放大图可知峰起值趋于相同(峰起值趋近于跳变值的9%,这里不再予以验证)。
代码如下:
clear; E=4; T=pi;
t=-T:0.0001:T;%周期 N=input('N'); i=1;
for i=1:N%设出i ,让它变化,从而绘出S1,S2,S3……SN a=0;
1.3
1.35
1.4
1.45
1.5 1.55 1.6
1.65
1.7
1.75
2.052.12.152.22.252.32.35时间t
相应的函数值f (t )和S (t )
有限级数 S20
for n=1:2:i
b=(E/2)*sin(n*t+n*T/2)/n;%移动四分之一周期以显示对称波形a=a+b;
end
S(i,:)=4*a/T;
f_t=(E/2)*square(t+T/2);
plot(t,S,t,f_t)
xlabel('时间t')
ylabel('相应的函数值f(t)和S(t)')
title('有限级数S20')
end
E_N=sum((f_t-S(N,:)).^2)/length(t)。