Я пытаюсь отобразить спектр звукового образца с правильной осью частот, в герцах и логарифмической амплитудой оси 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)))
И вот один из графиков, которые она производила:
Я не знаю, если это правильно или нет, но это не похоже на примеры, которые я видел ....
Я знаю, что это, наверное, действительно глупый вопрос, и я пропускаю что-то очевидное, или, может быть, на самом деле это правильно, и не понимаю и достаточно, чтобы понять это, но этот материал действительно делает мою голову, и я не нахожу документацию, особенно освещающую.
я бы посоветовал вам посмотреть на fftshift HTTP://www.mathworks.com/help/matlab/ref/fftshift.html и полулогия http://www.mathworks.com/help/matlab/ref/semilogy.html – mhmsa