📄 fft算法和stft算法比较20041215.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 + -