短时傅立叶变换的代码程序.doc

短时傅立叶变换的代码程序.doc

ID:58652034

大小:21.00 KB

页数:2页

时间:2020-10-16

短时傅立叶变换的代码程序.doc_第1页
短时傅立叶变换的代码程序.doc_第2页
资源描述:

《短时傅立叶变换的代码程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、短时傅立叶变换试验为了克服傅立叶变换的时频局部化方面的不足,也是为了对时域信号作局部分析,D.Gabor于1946年提出了窗口傅立叶变换(简记为WFT)。WFT的公式形式其中,实函数w(t)为是时窗函数,窗函数w(t)具有较强的衰减性,所以要精心选择窗函数。下面是一个短时傅立叶变换的代码程序functiontimefreq(x,Nw,window)%待分析信号,行向量,Nw时窗宽度subplot(2,2,1);plot(real(x));%描绘待分析信号X=fft(x);%快速傅里叶变换X=fftshift(X);%调整0频位置subpl

2、ot(2,2,2);plot(abs(X));%描绘幅度谱Lap=Nw/2;%重叠宽度Tn=(length(x)-Lap)/(Nw-Lap);%计算分段数目nfft=2^ceil(log2(Nw));%做fft的点数TF=zeros(Tn,nfft);%时频矩阵fori=1:Tnif(strcmp(window,'rec'))Xw=x((i-1)*10+1:i*10+10);%加窗矩形处理elseif(strcmp(window,'Hamming'))Xw=x((i-1)*10+1:i*10+10).*Hamming(Nw)';%加ham

3、ming处理elseif(strcmp(window,'Blackman'))Xw=x((i-1)*10+1:i*10+10).*Blackman(Nw)';%加black处理elseif(strcmp(window,'Gauss'))Xw=x((i-1)*10+1:i*10+10).*Gauss(Nw)';%加Gauss处理elsereturn;endtemp=fft(Xw,nfft);%求ffttemp=fftshift(temp);%调整0频位置TF(i,:)=temp;%保存分段fft结果end%绘制时频分析结果subplot(2

4、,2,3);fnew=((1:nfft)-nfft/2)/nfft;tnew=(1:Tn)*Lap;[F,T]=meshgrid(fnew,tnew);mesh(T,F,abs(TF));xlabel('n');ylabel('w');zlabel('Gf');subplot(2,2,4);contour(T,F,abs(TF));xlabel('n');ylabel('w');例子:clc;clear;N=400;x=zeros(1,N);T=0:N-1;x=exp(j*4*pi*(T/80).^2);figure(1);timefre

5、q(x,20,’rec’);figure(2);timefreq(x,20,’Blackman’);

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。