1

我正在尝试以正确的频率轴(以赫兹为单位)和对数幅度 y 轴显示声音样本的频谱。我以为我的频率显示是正确的,但它产生的图表看起来很奇怪,而且我完全没有发现关于在轴上显示对数幅度的任何信息。

我正在使用的代码(从 mathsworks fft 示例中大量借用)是:

y=x(100:200);
Fs = 10000;                    % Sampling frequency                     
numsamples = 20000;                     % Number of samples in the signal             
NFFT = 2^nextpow2(numsamples); % Next power of 2 from length of y
Y = fft(y,NFFT)/numsamples;
f = Fs/2*linspace(0,1,NFFT/2+1);

plot(f,2*abs(Y(1:NFFT/2+1))) 

这是它生成的图表之一: 语音图

我不知道这是否正确,但它看起来不像我见过的例子......

我知道这可能是一个非常愚蠢的问题,而且我遗漏了一些明显的东西,或者也许我实际上做对了并且没有足够的理解来实现它,但是这些东西真的让我很头疼,我m 没有发现文档特别有启发性。

4

1 回答 1

1

我认为x轴是正确的。

要获得对数 y 轴,请替换plotsemilogy

semilogy(f,2*abs(Y(1:NFFT/2+1)))

或等效地使用plot,然后是

set(gca,'YScale','log')
于 2013-11-11T00:05:51.753 回答