Чтобы масштабировать значения от спектрограммы Matlab к реальному диапазону
Я бегу
spectrogram(data, 64, 60, 256, 2, 'yaxis');
я получил
Я хочу получить диапазон от 0 до 180 Гц вместо нормализованного диапазона от 0 до 1. Я могу изменить ось на
axis([0 450 0 180])
но это не меняет значения.
Я бегаю неудачно
spectrogram(180 .* data, 64, 60, 256, 2, 'yaxis');
Как вы можете масштабировать диапазон от нормализованного до реального диапазона?
1 ответ
Решение
Ось X должна быть частотой. Вам нужно знать частоту дискретизации fs
(это 2?) из data
, Тогда частотный диапазон будет (0:63)/64*fs
Фактически вы можете получить частотный выход в функции спектрограммы:
[B,F,T]=spectrogram(data,64,60,256,2); % if fs = 2 in your case
F
это частотный диапазон.