Функция spectrogram
вызывает pspectrogram
для выполнения фактической работы, а это, в свою очередь, вызывает engunits
, чтобы определить «технические единицы», подходящие для вашего сигнала.Очевидно, spectrogram
не имеет опции ввода, чтобы избежать преобразования единиц.
Поэтому, похоже, наилучшим способом является получение фактических значений spectrogram
и построение изображения самостоятельно, без преобразования единиц:
[~,F,T,P] = spectrogram(x,128,120,128,2e3,'yaxis');
imagesc(T, F, 10*log10(P+eps)) % add eps like pspectrogram does
axis xy
ylabel('Frequency (Hz)')
xlabel('Time (s)')
h = colorbar;
h.Label.String = 'Power/frequency (dB/Hz)';