В этом примере показано, как вычислить мгновенную частоту сигнала с помощью синхронизированного преобразования Фурье.
Генерировать чирп с синусоидально изменяющимся частотным содержанием. Сигнал встраивается в белый гауссов шум и дискретизируется при частоте 3 кГц в течение 1 секунды.
fs = 3000; t = 0:1/fs:1-1/fs; x = exp(2j*pi*100*cos(2*pi*2*t)) + randn(size(t))/100;
Вычислите и постройте график синхронизированного преобразования Фурье сигнала. Отображение времени по оси X и частоты по оси Y.
fsst(x,fs,'yaxis')
Найдите мгновенную частоту сигнала, извлекая временной частотный гребень максимальной энергии преобразования Фурье Synchrosqueeezed.
[sst,f,tfs] = fsst(x,fs); fridge = tfridge(sst,f);
Наложите гребень на график преобразования. Преобразование времени в миллисекунды и частоты в кГц.
hold on plot(t*1000,fridge/1000,'r') hold off

Для реального сигнала вы можете найти мгновенную частоту легче с помощью instfreq функция. Например, отображение мгновенной частоты действительной части комплексного чирпа путем вычисления аналитического сигнала и дифференцирования его фазы.
ax = real(x); instfreq(ax,fs,'Method','hilbert')

fsst | ifsst | instfreq | pspectrum | spectrogram | tfridge