【发布时间】:2013-11-04 10:10:35
【问题描述】:
谁能告诉我如何使用 MATLAB 实现谐波乘积谱,以在存在谐波的情况下找到音符的基频?我知道我应该对我的信号进行多次下采样(当然是在执行 fft 之后),然后将它们与原始信号相乘。
假设我的 fft 信号是“FFT1”
那么代码大概是这样的
hps1 = downsample(FFT1,2);
hps2 = downsample(FFT1,3);
hps = FFT1.*hps1.*hps2;
这段代码正确吗???我想知道我是否正确地进行了下采样,并且由于每个变量的长度不同,因此将它们相乘会导致矩阵维度错误。我真的需要一些真正的快速帮助,因为它对于项目工作...真的很绝望.... 提前谢谢....
【问题讨论】:
-
不清楚你在问什么。你应该更具体
-
嗯,我想在执行 STFT 后对我的音频信号进行谐波乘积频谱分析,以便在存在谐波时获得正确的基频。我不熟悉 HPS,所以我需要一些帮助来编写实现它的 MATLAB 代码......
标签: matlab audio signal-processing pitch pitch-tracking