时域抽取FFTmatlab代码
时间: 2023-06-26 08:07:29 浏览: 66
下面是一段基于Matlab的时域抽取FFT代码:
```matlab
function [X, f] = stfft(x, fs, wlen, h, nfft)
% stfft: Short-time Fourier transform.
% Usage: [X, f] = stfft(x, fs, wlen, h, nfft)
% Inputs:
% x = input signal
% fs = sampling frequency (Hz)
% wlen = length of window function
% h = hop size
% nfft = number of FFT points
% Outputs:
% X = complex STFT matrix (nfft/2+1 by k)
% f = frequency vector (Hz)
%
% Author: Nabin Sharma
% Date: 2017/09/01
% Default values
if nargin < 5, nfft = wlen; end
if nargin < 4, h = wlen/2; end
if nargin < 3, wlen = round(fs*0.03); end
% Window function
win = hamming(wlen, 'periodic');
% Pre-processing
x = x(:); % column vector
lx = length(x);
x = [zeros(wlen,1); x; zeros(wlen-mod(lx,h),1)] .* repmat(win,1,fix((lx+wlen)/h)+1); % for integer number of hops
% STFT
k = 1+fix((length(x)-wlen)/h);
X = zeros(nfft/2+1, k);
for i = 1:k
X(:,i) = fft(x((i-1)*h+(1:wlen)), nfft);
end
% Output
f = (0:nfft/2)*fs/nfft;
```
其中,输入参数包括原始信号 x、采样频率 fs、窗口长度 wlen、帧移 h 和 FFT 点数 nfft。输出参数包括 STFT 矩阵 X 和频率向量 f。
该代码中使用的窗函数为 Hamming 窗,可根据需要修改。在预处理过程中,将原始信号进行了零填充和加窗操作,以确保每一帧的长度为 wlen。在 STFT 计算过程中,使用了 FFT 函数进行计算,得到 X 矩阵。最后,根据 FFT 点数和采样频率计算出频率向量 f。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)