短时傅立叶变换matlab仿真程序.docx
- 文档编号:140785
- 上传时间:2022-10-04
- 格式:DOCX
- 页数:3
- 大小:12.46KB
短时傅立叶变换matlab仿真程序.docx
《短时傅立叶变换matlab仿真程序.docx》由会员分享,可在线阅读,更多相关《短时傅立叶变换matlab仿真程序.docx(3页珍藏版)》请在冰豆网上搜索。
clearall;
clc;
%------------------>BasicParameters<-----------------
f1=500;
f2=1000;
fN=8000;
n=10000;
t=0:
1/fN:
(n-1)/fN;
%------------------>Generatesignals<-----------------
sig1=sin(2*pi*500*t);
sig2=sin(2*pi*1000*t)/2;
puls=zeros(size(t));
puls(2100)=10;
puls(2132)=10;
x=sig1+sig2+puls;
%------------------>windowwidth<-----------------
win1=12.8*fN/1000;%12.8ms102.4points
win2=6.4*fN/1000;%6.4ms51.2points
win3=3.2*fN/1000;%3.2ms25.6points
%------------------>steppinglength<-----------------
stepping1=16;
stepping2=32;
stepping3=64;
%------------------>nfftpoints<-----------------
nfft=min(256,length(x));
%------------------>painting(TimeFrequencyAnalysis)<-----------------
%----->1.Hammingwindows,differentwindowwidth<-----------
figure
(1)
subplot(311);
specgram(x,nfft,fN,hanning(round(win3)));
xlabel('time(ms)')
ylabel('frequency(kHz)')
title('STFTTime-FrequencyMap,Hammingwindows,windowwidth3.2ms')
subplot(312);
specgram(x,nfft,fN,hanning(round(win2)));
xlabel('time(ms)')
ylabel('frequency(kHz)')
title('STFTTime-FrequencyMap,Hammingwindows,windowwidth6.4ms')
subplot(313);
specgram(x,nfft,fN,hanning(round(win1)));
xlabel('time(ms)')
ylabel('frequency(kHz)')
title('STFTTime-FrequencyMap,Hammingwindows,windowwidth12.8ms')
%-------------------------------------
%----->2.Gausswindow,differentwindowwidth<-----------
figure
(2)
subplot(311);
specgram(x,nfft,fN,gausswin(round(win3)));
xlabel('time(ms)')
ylabel('frequency(kHz)')
title('STFTTime-FrequencyMap,Gausswindow,windowwidth3.2ms')
subplot(312);
specgram(x,nfft,fN,gausswin(round(win2)));
xlabel('time(ms)')
ylabel('frequency(kHz)')
title('STFTTime-FrequencyMap,Gausswindow,windowwidth6.4ms')
subplot(313);
specgram(x,nfft,fN,gausswin(round(win1)));
xlabel('time(ms)')
ylabel('frequency(kHz)')
title('STFTTime-FrequencyMap,Gausswindow,windowwidth12.8ms')
%---------------------------------------
%------>3.Hammingwindows,differentsteppinglength<-----------
figure(3)
subplot(311);
specgram(x,nfft,fN,hanning(round(win1)),stepping1);
xlabel('time(ms)')
ylabel('frequency(kHz)')
title('STFTTime-FrequencyMap,Hammingwindows,windowwidth12.8ms,steppinglength16')
subplot(312);
specgram(x,nfft,fN,hanning(round(win1)),stepping2);
xlabel('time(ms)')
ylabel('frequency(kHz)')
title('STFTTime-FrequencyMap,Hammingwindows,steppinglength32')
subplot(313);
specgram(x,nfft,fN,hanning(round(win1)),stepping3);
xlabel('time(ms)')
ylabel('frequency(kHz)')
title('STFTTime-FrequencyMap,Hammingwindows,windowwidth12.8ms,steppinglength64')
%---------------------------------------
%------>4.Gausswindow,differentsteppinglength<-----------
figure(4)
subplot(311);
specgram(x,nfft,fN,gausswin(round(win1)),16);
xlabel('time(ms)')
ylabel('frequency(kHz)')
title('STFTTime-FrequencyMap,Gausswindow,windowwidth12.8ms,steppinglength16')
subplot(312);
specgram(x,nfft,fN,gausswin(round(win1)),32);
xlabel('time(ms)')
ylabel('frequency(kHz)')
title('STFTTime-FrequencyMap,Gausswindow,windowwidth12.8ms,steppinglength32')
subplot(313);
specgram(x,nfft,fN,gausswin(round(win1)),64);
xlabel('time(ms)')
ylabel('frequency(kHz)')
title('STFTTime-FrequencyMap,Gausswindow,windowwidth12.8ms,steppinglength64')
%---------------------------------------
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 傅立叶 变换 matlab 仿真 程序