1南昌大学实验报告学生姓名:学号:6100209228班级:电子093班实验类型:□验证□综合■设计□创新实验日期:2011-04-8实验成绩:傅里叶变换(一)实验目的1、掌握对不同的函数进行傅里叶变换的程序编写;2、熟悉生成联系周期信号的方法;3、练习matlab编程。(二)实验内容1.请编写函数F=fsana(t,f,,N),计算周期信号f的前N个指数形式的傅立叶级数系数,t表示f对应的抽样时间(均为一个周期);再编写函数f=fssyn(F,t),由傅立叶级数系数F合成抽样时间t对应的函数。设计信号验证这两个是否正确。定义F=fsana(t,f,N)。functionF=fsana(t,f,N)omg1=2*pi/(max(t)-min(t));k=[0:N]';F=1/length(t)*exp(-j*kron(k*omg1,t.'))*f定义f=fssyn(F,t)functionf=fssyn(F,t)omg1=2*pi/(max(t)-min(t));N=floor(length(F)/2);k=[0:N];f=exp(j*kron(t,k*omg1))*F;运行所定义的函数T1=2*pi;%一个周期时域范围N1=300;%时域抽样点数2t=linspace(0,T1-T1/N1,N1)';%生成抽样时间点f=cos(t);%生成抽样函数值subplot(2,2,1)plot(t,f);title('原函数')N=10;F1=fsana(t,f,N);%调用fsana函数求解前N项傅立叶级数系数subplot(2,2,2)stem(abs(F1),'s');%绘制离散的幅度曲线title('前N项傅立叶级数系数幅度曲线');f2=fssyn(F1,t);%调用fssyn函数求原时域函数subplot(2,2,3)plot(t,f2,'k');title('傅立叶逆变换后时域函数');运行结果3F=0.00000.5008-0.0052i0.0044-0.0000i0.0037-0.0000i0.0036-0.0000i0.0035-0.0000i0.0034-0.0000i0.0034-0.0000i0.0034-0.0000i0.0034-0.0000i40.0034-0.0000i3.利用fsana和fssyn计算习题1中x1(t)的钱10个傅立叶级数洗漱Fi,0《i10,用这些洗漱合成周期为0.5的锯齿波y(t),0《t2,并绘出图形定义F=fsana(t,f,N)functionF=fsana(t,f,N)omg1=2*pi/(max(t)-min(t));k=[0:N]';F=1/length(t)*exp(-j*kron(k*omg1,t.'))*f运行及调用T1=2*pi;%一个周期时域范围N1=300;%时域抽样点数t=linspace(0,T1-T1/N1,N1)';%生成抽样时间点f=1-2*t;%生成抽样函数值N=10;F1=fsana(t,f,N);运行结果F=-5.2622-0.0175-1.9866i-0.0175-0.9932i-0.0175-0.6620i-0.0175-0.4964i-0.0175-0.3970i-0.0175-0.3307i-0.0175-0.2833i-0.0175-0.2478i-0.0175-0.2201i5-0.0175-0.1979i4、(三)实验小结这次实验过程中,通过函数的编写来熟悉matlab和傅里叶函数的使用,并对于不同函数、不同参数的图像比较,满足对抽样数据的傅里叶分析要求。要学会通过一个函数编程能够推导出其他函数傅里叶变换的编程使用,这样才能更好的培养自学能力,也对实验有了更深刻的了解。还有关键的一点就是要注意细节,所谓细节决定成败,在做每句语句的时候都要注意要求,这样才能更好的达到实验目的。