exponenta event banner

fsst

Синхронизированное преобразование Фурье

Описание

s = fsst(x) возвращает синхронизированное преобразование Фурье входного сигнала, x. Каждый столбец s содержит синхронизированный спектр оконного сегмента x.

пример

[s,w,n] = fsst(x) возвращает вектор нормализованных частот, wи вектор номеров выборок, n, при котором вычисляется синхронизированное преобразование Фурье. w соответствует столбцам s и n соответствует строкам s.

пример

[s,f,t] = fsst(x,fs) возвращает вектор циклических частот, fи вектор моментов времени, t, выраженное в терминах частоты выборки, fs.

пример

[s,f,t] = fsst(x,ts) определяет время выборки, ts, как duration скаляр. t находится в тех же единицах, что и ts. Единицы измерения f являются ответными по отношению к единицам ts.

[___] = fsst(___,window) использование window для разделения сигнала на сегменты и выполнения оконной обработки. Можно использовать любую комбинацию входных аргументов из предыдущих синтаксисов для получения соответствующих выходных аргументов.

fsst(___) без выходных аргументов отображает синхронизированное преобразование в текущем окне фигуры.

пример

fsst(___,freqloc) определяет ось, на которой будет отображаться частота.

Примеры

свернуть все

Создайте 1024 выборки сигнала, который состоит из суммы синусоид, встроенных в белый гауссов шум. Нормализованные частоты синусоид составляют 2δ/5 рад/образец и 4λ/5 рад/образец. Синусоида более высокой частоты в 3 раза превышает амплитуду другой синусоиды.

N = 1024;
n = 0:N-1;

w0 = 2*pi/5;
x = sin(w0*n)+3*sin(2*w0*n);

Вычислите синхронизированное преобразование Фурье сигнала. Постройте график результата.

[s,w,n] = fsst(x);

mesh(n,w/pi,abs(s))

axis tight
view(2)
colorbar

Figure contains an axes. The axes contains an object of type surface.

Вычислите обычное кратковременное преобразование Фурье сигнала для сравнения. Использовать значения по умолчанию spectrogram. Постройте график результата.

[s,w,n] = spectrogram(x);
 
surf(n,w/pi,abs(s),'EdgeColor','none')

axis tight
view(2)
colorbar

Figure contains an axes. The axes contains an object of type surface.

Создайте сигнал, состоящий из двух чирпов. Дискретизируют сигнал при частоте 3 кГц в течение одной секунды. Первая чирпа имеет начальную частоту 400 Гц и достигает 800 Гц в конце выборки. Вторая чирпа начинается с 500 Гц и достигает 1000 Гц в конце. Вторая чирп имеет вдвое большую амплитуду, чем первая чирп.

fs = 3000;
t = 0:1/fs:1-1/fs;

x1 = chirp(t,400,t(end),800);
x2 = 2*chirp(t,500,t(end),1000);

Вычислите и постройте график синхронизированного преобразования Фурье сигнала.

fsst(x1+x2,fs,'yaxis')

Figure contains an axes. The axes with title Fourier Synchrosqueezed Transform contains an object of type image.

Сравните синхронизированное преобразование с кратковременным преобразованием Фурье (STFT). Вычислите STFT с помощью spectrogram функция. Укажите параметры по умолчанию, используемые fsst:

  • 256-точечное окно Кайзера с β = 10 к окну сигнала

  • Перекрытие 255 выборок между соседними оконными сегментами

  • Длина БПФ 256

[stft,f,t] = spectrogram(x1+x2,kaiser(256,10),255,256,fs);

Постройте график абсолютного значения STFT.

mesh(t,f,abs(stft))

xlabel('Time (s)') 
ylabel('Frequency (Hz)')
title('Short-Time Fourier Transform')
axis tight
view(2)

Figure contains an axes. The axes with title Short-Time Fourier Transform contains an object of type surface.

Вычислите и отобразите синхронизированное преобразование Фурье квадратичного чирпа, которое начинается со 100 Гц и пересекает 200 Гц при t = 1. Укажите частоту дискретизации 1 кГц. Выразить время выборки как duration скаляр.

fs = 1000;
t = 0:1/fs:2;
ts = duration(0,0,1/fs);

x = chirp(t,100,1,200,'quadratic');

fsst(x,ts,'yaxis')

title('Quadratic Chirp')

Figure contains an axes. The axes with title Quadratic Chirp contains an object of type surface.

Алгоритм синхроквизирования работает в предположении, что частота сигнала изменяется медленно. Таким образом, спектр лучше концентрируется в ранние времена, когда скорость изменения частоты меньше.

Вычислите и отобразите синхронизированное преобразование Фурье линейной частотной частоты, которая начинается при постоянном токе и пересекает 150 Гц при t = 1. Используйте 256-образное окно Хэмминга.

x = chirp(t,0,1,150);

fsst(x,ts,hamming(256),'yaxis')

title('Linear Chirp')

Figure contains an axes. The axes with title Linear Chirp contains an object of type surface.

Вычислите и отобразите синхронизированное преобразование Фурье логарифмической чирпы. Чирп отбирается при 1 кГц, начинается при 20 Гц и пересекает 60 Гц при t = 1. Используйте 256-образное окно Кайзера с β = 20.

x = chirp(t,20,1,60,'logarithmic');

[s,f,t] = fsst(x,fs,kaiser(256,20));

clf
mesh(t,f,(abs(s)))

title('Logarithmic Chirp') 
xlabel('Time (s)')
ylabel('Frequency (Hz)')
view(2)

Figure contains an axes. The axes with title Logarithmic Chirp contains an object of type surface.

Используйте логарифмическую шкалу для частотной оси. Преобразование становится прямой линией.

ax = gca;
ax.YScale = 'log';
axis tight

Figure contains an axes. The axes with title Logarithmic Chirp contains an object of type surface.

Загрузите речевой сигнал, дискретизированный при Fs = 7418 Гц. Файл содержит запись женского голоса, говорящего слово «MATLAB ®».

load mtlb

% To hear, type sound(mtlb,Fs)

Вычислите синхронизированное преобразование сигнала. Используйте окно Ханна длиной 256. Отображение времени по оси X и частоты по оси Y.

fsst(mtlb,Fs,hann(256),'yaxis')

Figure contains an axes. The axes with title Fourier Synchrosqueezed Transform contains an object of type image.

Использовать ifsst для инвертирования преобразования. Сравните исходные и восстановленные сигналы.

sst = fsst(mtlb,Fs,hann(256));

xrc = ifsst(sst,hann(256));

plot((0:length(mtlb)-1)/Fs,[mtlb xrc xrc-mtlb])
legend('Original','Reconstructed','Difference')

Figure contains an axes. The axes contains 3 objects of type line. These objects represent Original, Reconstructed, Difference.

% To hear, type sound(xrc-mtlb,Fs)

Входные аргументы

свернуть все

Входной сигнал, заданный как вектор.

Пример: cos(pi/4*(0:159))+randn(1,160) определяет синусоиду, встроенную в белый гауссов шум.

Типы данных: single | double
Поддержка комплексного номера: Да

Частота выборки, заданная как положительный скаляр. Частота выборки - это количество выборок в единицу времени. Если единица времени - секунды, то частота дискретизации в Гц.

Типы данных: double | single

Время выборки, указанное как duration скаляр. Время выборки - это время, прошедшее между последовательными выборками x.

Типы данных: duration

Окно, используемое для разделения сигнала на сегменты, заданные как целое число или как вектор строки или столбца.

  • Если window является целым числом, то fsst делится x в сегменты длины window и окна каждого сегмента с окном Кайзера такой длины и β = 10. Перекрытие между соседними сегментами window  – 1.

  • Если window является вектором, то fsst делится x на сегменты той же длины, что и вектор, и окна каждого сегмента с использованием window. Перекрытие между соседними сегментами length(window)  – 1.

  • Если window не указан, то fsst делится x на сегменты длиной 256 и окна каждый сегмент с 256-образным окном Кайзера с β = 10. Перекрытие между соседними сегментами составляет 255. Если x имеет менее 256 выборок, затем функция использует одно окно Кайзера с той же длиной, что и x и β = 10.

Список доступных окон см. в разделе Windows.

Пример: hann(N+1) и (1-cos(2*pi*(0:N)'/N))/2 оба задают окно Ганна длиной N  + 1.

Типы данных: double | single

Ось отображения частоты, указанная как 'xaxis' или 'yaxis'.

  • 'xaxis' - отображает частоту по оси X и время по оси Y.

  • 'yaxis' - отображает частоту по оси Y и время по оси X.

Этот аргумент игнорируется при вызове fsst с выходными аргументами.

Выходные аргументы

свернуть все

Синхронизированное преобразование Фурье, возвращаемое в виде матрицы. Время увеличивается по столбцам s и частота увеличивается вниз по строкам s, начиная с нуля. Если x является реальным, то его синхроскопизированный спектр односторонний. Если x является комплексным, затем его синхроскопизированный спектр является двусторонним и центрированным.

Нормализованные частоты, возвращаемые в виде вектора. Длина w равно количеству строк в s.

Номера образцов, возвращаемые в виде вектора. Длина n равно количеству столбцов в s. Каждый номер образца в n - средняя точка оконного сегмента x.

Циклические частоты, возвращаемые как вектор. Длина f равно количеству строк в s.

Моменты времени, возвращенные как вектор. Длина t равно количеству столбцов в s. Каждое значение времени в t - средняя точка оконного сегмента x.

Подробнее

свернуть все

Синхронизированное преобразование Фурье

Многие реальные сигналы, такие как речевые сигналы, машинные колебания и физиологические сигналы, могут быть выражены как суперпозиция амплитудно-модулированных и частотно-модулированных режимов. Для частотно-временного анализа удобно выражать такие сигналы как суммы аналитических сигналов через

f (t) =∑k=1Kfk (t) =∑k=1KAk (t) ej2íδk (t).

Фазы/k/t/имеют временные производные/t/, которые соответствуют мгновенным частотам. Если точные фазы неизвестны, для их оценки можно использовать синхронизированное преобразование Фурье.

Синхронизированное преобразование Фурье основано на кратковременном преобразовании Фурье, реализованном в spectrogram функция. Для некоторых видов нестационарных сигналов синхронизированное преобразование напоминает переназначенную спектрограмму, поскольку оно генерирует более резкие оценки временной частоты, чем обычное преобразование. fsst функция определяет кратковременное преобразование Фурье функции f, используя спектральное окно, g и вычисления

Vgf (t, start) =∫−∞∞f (x) g (x t) e j2server( x − t) dx.

В отличие от общепринятого определения, это определение имеет дополнительный коэффициент ej2servert. Затем значения преобразования «сжимаются» так, что они концентрируются вокруг кривых мгновенной частоты во временной-частотной плоскости. Результирующее синхронизированное преобразование имеет вид

Tgf (t, λ) =∫−∞∞Vgf (t, start) δ (λ

где мгновенные частоты оцениваются с помощью «фазового преобразования»

Startgf (t, start) =1j2π∂∂tVgf (t, start) Vgf (t, start) =η−1j2πV∂g/∂tf (t, start) Vgf (t, start).

Преобразование в знаменателе уменьшает влияние окна. Простой пример см. в разделе Обнаружение близко расположенных синусоид. Определение Tgf (t, λ) отличается в 1/g (0) от других выражений, встречающихся в литературе.fsst включает в себя фактор на этапе восстановления режима.

В отличие от переназначенной спектрограммы, синхронизированное преобразование является обратимым и, таким образом, может восстанавливать отдельные режимы, которые составляют сигнал. Обратимость накладывает некоторые ограничения на вычисление кратковременного преобразования Фурье:

  • Количество точек DFT равно длине указанного окна.

  • Перекрытие между соседними оконными сегментами на единицу меньше длины окна.

  • Переназначение выполняется только с периодичностью.

Чтобы найти режимы, интегрируйте синхроскопическое преобразование на малом частотном интервале вокруг Startgf (t, start):

fk (t) ≈1g (0) ∫|ω−Ωk (t) | < αTgf (t, λ) dλ,

где ɛ - небольшое число.

Синхронизированное преобразование создает узкие гребни по сравнению с оконным кратковременным преобразованием Фурье. Однако ширина кратковременного преобразования все еще влияет на способность синхронизированного преобразования разделять режимы. Чтобы быть разрешимыми, режимы должны соответствовать следующим условиям:

  1. Для каждого способа частота должна быть строго больше, чем уровень изменения амплитуды: dϕk (t) dt> перекладные (t) dt для всего k.

  2. Различные режимы должны быть разделены по крайней мере полосой частот окна. Если поддержка окна - интервал [-Δ,Δ], то |dϕk (t) dt−dϕm (t) dt |> 2Δ для  k ≠ m.

Иллюстрацию см. в разделе Обнаружение близко расположенных синусоид.

Ссылки

[1] Оже, Франсуа, Патрик Фландрин, Ю-Тин Лин, Стивен Маклафлин, Сильвен Мейньен, Томас Оберлин и Хау-Тьенг Ву. «Временное переназначение и синхронизация: обзор». Журнал обработки сигналов IEEE ®. Том 30, ноябрь 2013 г., стр. 32-41.

[2] Оберлин, Томас, Сильвен Мейнен и Валери Перье. «Преобразование синхронизации на основе Фурье». Материалы Международной конференции IEEE 2014 по акустике, речи и обработке сигналов (ICASSP), стр. 315-319.

[3] Такур, Гаурав и Хау-Тьенг Ву. «Восстановление мгновенной частоты из неоднородных выборок на основе синхроскопического запроса». Журнал математического анализа SIAM. Том 43, 2011, стр. 2078-2095.

Расширенные возможности

..
Представлен в R2016b