Рассмотрите синусоиду, , оконный с окном Gaussian, . Кратковременное преобразование
Когда просматривается как функция частоты, преобразование комбинирует константу (вовремя) колебание в с Гауссовым затуханием далеко от него. synchrosqueezing оценка мгновенной частоты,
равняется значению, полученному при помощи стандартного определения, . Для суперпозиции синусоид,
кратковременное преобразование становится
Создайте 1 024 выборки сигнала, состоящего из двух синусоид. Одна синусоида имеет нормированную частоту рад/выборка. Другая синусоида имеет три раза частоту и три раза амплитуду.
N = 1024; n = 0:N-1; w0 = pi/5; x = exp(1j*w0*n)+3*exp(1j*3*w0*n);
Вычислите кратковременное преобразование Фурье сигнала. Используйте окно Gaussian с 256 выборками с , 255 выборок перекрытия между смежными разделами и точки ДПФ 10:24. Постройте абсолютное значение преобразования.
Nw = 256; nfft = 1024; alpha = 20; [s,w,t] = spectrogram(x,gausswin(Nw,alpha),Nw-1,nfft,'centered'); surf(t,w/pi,abs(s),'EdgeColor','none') view(2) axis tight xlabel('Samples') ylabel('Normalized Frequency (\times\pi rad/sample)')
Synchrosqueezed преобразование Фурье приводит к более резкой, лучшей локализованной оценке спектра.
[ss,sw,st] = fsst(x,[],gausswin(Nw,alpha));
fsst(x,'yaxis')
Синусоиды отображаются как постоянные колебания в ожидаемых значениях частоты. Чтобы видеть, что затухание далеко от гребней является Гауссовым, постройте мгновенное значение преобразования и наложите два экземпляра Гауссова. Выразите Гауссово амплитудное и стандартное отклонение в терминах и длина окна. Вспомните, что стандартное отклонение окна частотного диапазона является обратной величиной стандартного отклонения окна временного интервала.
rstdev = (Nw-1)/(2*alpha); amp = rstdev*sqrt(2*pi); instransf = abs(s(:,128)); plot(w/pi,instransf) hold on plot(w/pi,[1 3]*amp.*exp(-rstdev^2/2*(w-[1 3]*w0).^2),'--') hold off xlabel('Normalized Frequency (\times\pi rad/sample)') lg = legend('Transform','First sinusoid','Second sinusoid'); lg.Location = 'best';
Synchrosqueezed преобразование Фурье концентрирует энергетическое содержимое сигнала на предполагаемых мгновенных частотах.
stem(sw/pi,abs(ss(:,128))) xlabel('Normalized Frequency (\times\pi rad/sample)') title('Synchrosqueezed Transform')
synchrosqueezed оценки мгновенной частоты допустимы, только если синусоиды разделяются больше, чем , где
для окна Gaussian и стандартное отклонение.
Повторите предыдущее вычисление, но теперь укажите, что вторая синусоида имеет нормированную частоту рад/выборка.
D = sqrt(2*log(2))/rstdev; w1 = w0+1.9*D; x = exp(1j*w0*n)+3*exp(1j*w1*n); [s,w,t] = spectrogram(x,gausswin(Nw,alpha),Nw-1,nfft,'centered'); instransf = abs(s(:,20)); plot(w/pi,instransf) hold on plot(w/pi,[1 3]*amp.*exp(-rstdev^2/2*(w-[w0 w1]).^2),'--') hold off xlabel('Normalized Frequency (\times\pi rad/sample)') lg = legend('Transform','First sinusoid','Second sinusoid'); lg.Location = 'best';
Synchrosqueezed преобразование Фурье не может разрешить синусоиды хорошо потому что . Спектральные оценки значительно уменьшаются в значении.
[ss,sw,st] = fsst(x,[],gausswin(Nw,alpha)); stem(sw/pi,abs(ss(:,128))) xlabel('Normalized Frequency (\times\pi rad/sample)') title('Synchrosqueezed Transform')
fsst
| gausswin
| ifsst
| spectrogram