stft.m

来自「给定入射信号角度分别为 -22度」· M 代码 · 共 21 行

M
21
字号
%*********************STFT函数***************************
%  输入变量X表示是信号数据(列向量);
%  t_interval是窗函数的移动步长(整数,一般为1);
%  f_interval是做时的频谱采样间隔;
%  h为窗函数;

function st_ft=STFT(X,t_interval,fft_number,h)
N=length(X);M=length(h);                       %求信号数据&窗函数长度
n=N/t_interval;                                %由窗的移动步长,确定stft时间轴采样数目
st_ft=zeros(fft_number,n);                     %申请stft数据空间;fft_number定频率轴的采样数目

X=[X;zeros(M,1)];                              %信号数据末端补零,使窗移到末端时可以取值

for i=1:t_interval:N;
    Xi=X(i:(i+M-1),1);
    Yi=Xi.*h;
    Yi=fft(Yi,fft_number);
    st_ft(:,i)=Yi;
    %st_ft(:,i)=fftshift(Yi);                    %将零频,移到频率的中心处
end

⌨️ 快捷键说明

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