⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fft算法和stft算法比较20041215.m

📁 用matlab工具比较fft和stft算法的区别
💻 M
字号:
clear;
tp=2;                           %采样周期
N=1024;                               %总采样点
Ts=tp/N;                           %采样总时间
detf=1/tp;	                         %频域分辨率
t=0:Ts:Ts*(N-1);                 %时域采样序列
t1=0:Ts:Ts*(N/2-1);
x1=cos(2*pi*50*t1);
t2=Ts*(N/2):Ts:Ts*(N-1);
x2=0.2*cos(2*pi*150*t2);
f=0:detf:(N-1)*detf;             %频域采样序列
fs=1/Ts;
%x=cos(2*pi*50*t)+0.2*cos(2*pi*150*t);%原始信号
x=[x1,x2];
fft_x=abs(fft(x))*2/N;                                           %FFT运算

	                                            %轴范围(X,Y)

stem(f,fft_x);                                                   %棒状图显示
plot(f,fft_x);                                                   %折线图显示

xlabel('Frequency(HZ)','fontsize',[10]);                    %X轴标签及标签字体
ylabel('x(f)','fontsize',[10]);                              %Y轴标签
title('cos(2*pi*50*t)+0.2*cos(2*pi*150*t),t=0~0.2');                   %图标题

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%specgram(x,1024,fs,kaiser(60,1),40)
%specgram(x,1024,fs,kaiser(120,1),100)
%specgram(x,1024,fs,kaiser(250,1),230)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure(2);
specgram(x,1024,fs,kaiser(64,1),62);
figure(3);
specgram(x,1024,fs,kaiser(120,1),100)
figure(4);
specgram(x,1024,fs,kaiser(250,1),230)


%%%%%%%%%%%%%%
figure(5);
[B,ff,tt]=specgram(x,1024,fs,kaiser(64,1),62);
[X,Y] = meshgrid(1:3,10:14)
meshc(abs(B));
colormap([1 0 0]);
hidden off

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -