在 MATLAB 中分帧语音信号的 FFT
FFT for speech signal with dividing frames in MATLAB
我想对语音信号进行 FFT,首先将信号分成 64 个样本帧。我可以通过简单地使用 "for" 循环来完成。但是我确信在 MATLAB 中有一种更简单的方法。我想做的事情很简单:对
进行 FFT
x1 = [ 1 2 3 4 6];
x2 = [ 2 3 1 3 5];
x3 = [ 3 3 4 5 6];
x = [x1;x2;x3];
fft(x);
经过查找,发现FFT中有一个参数是"dimension"。但是就我而言,我的矩阵是 2015X64。我如何用我的原始语音信号生成这个新矩阵?当我想使用 reshape 时,似乎这样做是不合适的。任何帮助将不胜感激。
我想这就是你想要的
x = randn(1, 2015*64); % // example data vector
x = reshape(x, 64, []).'; %'// separate x into rows of 64 columns
y = fft(x, [], 2); % // take DFT of each row
我想对语音信号进行 FFT,首先将信号分成 64 个样本帧。我可以通过简单地使用 "for" 循环来完成。但是我确信在 MATLAB 中有一种更简单的方法。我想做的事情很简单:对
进行 FFTx1 = [ 1 2 3 4 6];
x2 = [ 2 3 1 3 5];
x3 = [ 3 3 4 5 6];
x = [x1;x2;x3];
fft(x);
经过查找,发现FFT中有一个参数是"dimension"。但是就我而言,我的矩阵是 2015X64。我如何用我的原始语音信号生成这个新矩阵?当我想使用 reshape 时,似乎这样做是不合适的。任何帮助将不胜感激。
我想这就是你想要的
x = randn(1, 2015*64); % // example data vector
x = reshape(x, 64, []).'; %'// separate x into rows of 64 columns
y = fft(x, [], 2); % // take DFT of each row