【发布时间】:2016-08-26 17:42:23
【问题描述】:
我正在尝试使用在信号分析中学到的概念从声音文件中分离出特定频率。我有一个简短的 WAV 文件,其中包含一个人在说话,但在所需信号的上方和下方也有其他未知频率的噪音。对于应该包含我想要的声音部分的频率范围,我有一个上限和下限。
我认为我应该能够在不使用信号分析工具箱或黄油过滤器的情况下做到这一点。
到目前为止,我有这段代码可以绘制信号的功率谱:
[y, Fs] = audioread('filename.wav','double');
t = 1:1:length(y);
y = transpose(y);
a = ifft(y);
a_k = abs([a((length(y)/2)+1:-1:2),a(1:1:(length(y)/2)+1)]);
bar((-length(y)/2)+1:1:(length(y)/2),a_k);
功率谱如下所示:
我认为我应该能够使用我所拥有的东西来过滤高于或低于我已知范围的任何东西,但我不知道如何开始这样做。
【问题讨论】:
标签: matlab audio signals signal-processing