1、实验三 连续信号的傅立叶变换一、 实验目的:1、熟悉MATLAB语言编程方法及常用语句; 2、深刻理解和掌握傅立叶变换的概念、计算及意义; 3、学会利用离散傅立叶变换计算连续信号的傅立叶变换的计算方法和MATLAB编程方法。二、 实验内容:编程实现f(t)的傅立叶变换,画出频谱图。 f(t) 1 -1 1 t三、实验原理:傅立叶变换:若f(t)为时限信号:为连续信号,对抽样得: k:0N在进行取样时,应特别注意取样间隔的确定,要满足抽样定理。对输入信号f(t),其傅立叶变换是,信号带宽可认为是,所以,抽样频率至少为,抽样间隔最大为:,为了不产生频谱混叠,将精度提高到50倍,间隔为:四、程序:R
2、=0.01;t=-2:R:2;f=(ut(t+1)-ut(t).*(t+1)+(ut(t)-ut(t-1).*(-t+1);w1=2*pi*5;N=500;k=0:N;w=k*w1/N;F=f*exp(-j*t*w)*R;F=abs(F);w=-fliplr(w),w(2:501);F=fliplr(F),F(2:501);subplot(211);plot(t,f);subplot(212);plot(w,F);五、知识扩展在MATLAB频谱分析的实际应用中,往往使用一个新的指令fft(),这是一种快速离散傅立叶变换指令。指令格式为:X=fft(x,N),其中:x为时域信号,N为傅立叶变换的
3、长度,X为x的傅立叶变换,X的长度也为N。例:f=(ut(t+1)-ut(t).*(t+1)+(ut(t)-ut(t-1).*(-t+1)的傅立叶变换可利用X=fft(x,N)来求:R=0.1;t=-2:R:2;f=(ut(t+1)-ut(t).*(t+1)+(ut(t)-ut(t-1).*(-t+1);F=fft(f,100);F=abs(F);subplot(211);plot(t,f);subplot(212);plot(F);结果如图一所示:图一 三角波信号及其频谱图从程序和图中可以看出:F=fft(f,100);数据长度N为100;R=0.1;t=-2:R:2;说明抽样间隔为R=0.
4、1秒,抽样频率为1/R=10HZ;因而,傅立叶变换结果的横轴频率分辨率为:抽样频率/N=10HZ/100=0.1HZ,F的100个数所对应的频率就是:0HZ,0.1HZ,0.2HZ,0.3HZ,.,由于抽样频率为100HZ,根据抽样定理,可分析的最大频率不超过50HZ。所以,0-50对个点应了05HZ,50-100个点只是用来和0-50对个点对称。利用以上说明,我们就可以确定三角信号的频带宽度。F的第11个点的值为0,即过零点为1HZ,也就是说,这个三角信号的频带宽度为1HZ。我们可以用理论计算来验证这个结果,该三角信号的傅立叶变换为,第一个过零点为,所以f=1HZ,与上述结果相同。掌握了fft()指令的使用后,我们来完成一个任务,我们对实验二知识扩展中的含噪信号进行频谱分析。信号波形如图二所示,将以下程序续写完整,完成该信号的频谱分析,并计算出其中有用成分的频率和噪声信号的频率。图二 含噪信号R=0.005;t=-2:R:2;load xinhao1;f=xinhao1;F=fft(f,200);F=abs(F);六、报告要求:1、请写出实验过程中曾出现的问题和你的解决方法,你对实验有何感想和体会?2、程序中为什么在F=f*exp(-j*t*w)*R中要乘以R,F=abs(F)又起什么作用?注意:离开实验室时,你所使用的计算机是否已关闭?