【发布时间】:2015-03-20 00:55:31
【问题描述】:
我想对语音信号进行 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中有一个参数是“维度”。但是在我的情况下,我的矩阵是 2015X64。如何用我的原始语音信号生成这个新矩阵?当我想使用 reshape 时,似乎这样做是不合适的。任何帮助将不胜感激。
【问题讨论】:
-
您的代码采用每列的 FFT。你想要每一行的 FFT 吗?
-
我意识到我的错误:) 我将转置矩阵。谢谢你的评论。
-
有一个内置函数可以为你分割音频信号,然后对每个片段进行FFT(即执行短时傅里叶变换),它被称为“频谱图”