资源描述:
《在matlavb中使用fft对数字信号进行频谱分析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、在MATLAVB屮使用FFT对数字信号进行频谱分析从Excel导入数字信号,是一些列数据点。由模拟信号通过等间隔采样得到。数字信号的数据如下附录1。1、由模拟信号得到数字信号,对应的模拟信号说明:其所对应的模拟信号的时长20.46s,从其波形图上大致可以得出模拟频率l/6.64s=0.1506Hz。人类听觉范闱2-20000HZ,明显可以看出,模拟信号的频率低于人类听觉频率下限。2、数字信号说明:以吋间间隔0.02s,即采样频率l/0.02s=25Hz〉2*0.1506Hz(满足了采样定理),对模拟信号采样,可以得到1024个采样点
2、(满足了频谱分析用FFT处理器时,其抽样点数必须是2的整数幂)。这一系列点既是数字信号,基于这1024个点进行了下而的分析。另外,FFT处理器内部本就满足频率域采样条件(不是前而的采样定理),所以不必考虑频域采样条件:序列长度(即数字信号的点数)和频域采样点M(即频谱的频率点数)的关系:N〉=M。3、MATLAV程序如下:clearall%使用此语句的要求,Excel文件和编写的程序文件在同一个文件按夹;从Excel直接导入数字%信号。x=xlsread('x.xlsx');%%程序功能:绘出x(t)的波形的离散序列M=0:Ieng
3、th(x)-l;subplot(3,l,l);%figureplot(M*0.02,x);axis([0,20.46,-2.5,2.5]);titlef数字信号’,’fontsize’,18);xlabelf时间/s•,’fontsize’,12);ylabelf信号x(n)幅值’,’fontsize’,12);%%程序功能:绘出的x⑴的时域波形,由FFT进行数字信号处理,得到数字信号的频谱。%频谱:横轴是信号对应的一系列的真实频率,纵轴是取对数的频率幅值h=0.02;N=length(x);Fs=l/h;%采样频率Xk=fft(x
4、);n=0:N-l;subplot(3,l,2);plot(n/N*Fs,abs(Xk)*2/N)title(’频谱分析’,’fontsize18);xlabel('频域/Hz'/fontsize',12);ylabelC幅值(未取对数)7fontsize12);subplot(3,l,3);plot(n/N*Fs,log(abs(Xk)*2/N))axis([0,Fs/2,-8,2]);title(’局部频谱分析’/fontsize',18);xlabel(’频域/Hz',’fontsize’,12);ylabelC幅值对数’
5、/fontsize’,12);text(l/6.64,0.6578,•基波频率幅值
6、)%6.4s是x的一个周期4、程序运行结果及分析Figu-e口回22文件(F)賴(E)龍⑺插入(1)工具m貞面(D)窗口(W)⑽助(H)□
7、c©«Ia
8、□i=31■0数字信号02468101214161820时间/s频谱各析2O&-J悉Wlog0。5101520253035404550频域/Hz局部频谱分析012345678910频域/HzX:0.1465o_Y:0.6578图1频谱分析从图1中,可以看出两个结论:(1)幅值最大点对应的频率是0.14
9、65Hz,与前面估算的数字信号频率0.1506Hz相差不人;(2)在基波频率附近,即OHz-lHz,频谱上的频率幅值较大,即信号能量集中在OHz-lHz的部分。附录1(此数据由Excel表格中的数据粘贴过来,可以直接复制粘贴到Excel表格里,自动换成一行,文件名取x.xlsx):-1-0.999800007-0.999200102-0.998200501-0.996801543-0.995003667-0.992807396-0.99021332-0.987222073-0.983834318-0.980050729-0.9758
10、71973-0.971298691-0.966331488-0.960970908-0.955217427-0.949071431-0.942533205-0.935602921-0.928280618-0.920566195-0.912459396-0.903959795-0.895066792-0.885779594-0.876097208-0.86601843-0.855541836-0.844665771-0.833388343-0.821707411-0.80962058-0.797125192-0.78421832-0.
11、770896762-0.757157034-0.742995365-0.728407695-0.713389668-0.697936633-0.682043638-0.665705432-0.648916466-0.631670892