exponenta event banner

iwsst

Обратное импульсное синхронное преобразование

Описание

пример

xrec = iwsst(sst) инвертирует входное синхронизированное преобразование, sstи возвращает обратное значение в векторе xrec. Чтобы получить sst ввод, используйте wsst функция. iwsst функция предполагает, что вы получаете sst используя аналитический вейвлет Морле.

Примечание

Вейвлет-преобразование не сохраняет ненулевое среднее значение. После инвертирования синхронизированного преобразования необходимо добавить исходное среднее значение сигнала.

пример

xrec = iwsst(sst,f,freqrange) инвертирует синхронизированное преобразование для заданного диапазона частот, freqrange, содержится в частотном векторе, f. Частотный вектор, f, является выводом wsst.

пример

xrec = iwsst(sst,iridge) инвертирует синхронизированное преобразование вдоль частотно-временных гребней, указанных iridge, вектор индексного столбца. iridge - выходной сигнал wsstridge. xrec выходной сигнал имеет тот же размер, что и iridge.

пример

xrec = iwsst(___,wav) использует аналитический вейвлет, указанный wav для инвертирования синхронизированного преобразования. Этот вейвлет должен быть таким же, как используется в wsst. Можно включить любой из входных аргументов из предыдущих синтаксисов.

пример

xrec = iwsst(___,iridge,'NumFrequencyBins',numBins) возвращает обратное синхронизированное преобразование с помощью numBins- любые дополнительные частотные ячейки, включенные с обеих сторон каждого iridge индексная ячейка.

Примеры

свернуть все

Получение вейвлет-синхроскопического преобразования квадратичной частотной частоты с использованием значений по умолчанию. Затем реконструируют сигнал, используя обратное импульсное синхронизированное преобразование.

load quadchirp;
sst = wsst(quadchirp);
xrec = iwsst(sst);

Получить вейвлет-синхроскопическое преобразование квадратичной чирпы, дискретизированной на частоте 1000 Гц. Затем реконструировать чирп.

Загрузите чирп и получите синхронизированное преобразование.

load quadchirp;
sstchirp = wsst(quadchirp,'ExtendSignal',true);

Извлеките частотно-временной гребень максимальной энергии и восстановите режим сигнала вдоль гребня.

[~,iridge] = wsstridge(sstchirp);
xrec = iwsst(sstchirp,iridge);

Постройте график и увеличьте масштаб исходного и восстановленного сигнала.

plot(tquad,xrec,'r');
hold on;
plot(tquad,quadchirp,'b--');
xlabel('Time'); ylabel('Amplitude');
set(gca,'ylim',[-1.5 1.5]);
legend('Reconstruction','Original');
grid on;
title('Reconstruction of Chirp Along Maximum Time-Frequency Ridge');
zoom xon
zoom(50)

Figure contains an axes. The axes with title Reconstruction of Chirp Along Maximum Time-Frequency Ridge contains 2 objects of type line. These objects represent Reconstruction, Original.

Получить обратное синхронизированное преобразование для заданного частотного диапазона двухкомпонентного сигнала. Вход представляет собой комбинацию амплитудно-модулированного и частотно-модулированного сигнала.

Создайте сигнал.

t = 0:0.001:0.1;
x1 = (2+0.5*cos(2*pi*10*t)).*cos(2*pi*200*t+10*sin(2*pi*5*t));
x2 = cos(2*pi*50*t);
sig = x1+x2;

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

[sst,f] = wsst(sig,1000,'ExtendSignal',true);
contour(t,f,abs(sst));
grid on;
title('Wavelet Synchrosqueezed Transform');
ylabel('Frequency');
xlabel('Time');
hold on
plot(t,140*ones(size(t)),'r--');
plot(t,260*ones(size(t)),'r--');

Figure contains an axes. The axes with title Wavelet Synchrosqueezed Transform contains 3 objects of type contour, line.

Получить обратное синхронизированное преобразование для частот от 140 Гц до 260 Гц. Постройте график результата.

xrec = iwsst(sst,f,[140,260]);
subplot(2,1,1);
plot(t,x1);
title('Original Signal');
subplot(2,1,2);
plot(t,xrec,'r');
title('Reconstructed Signal');

Figure contains 2 axes. Axes 1 with title Original Signal contains an object of type line. Axes 2 with title Reconstructed Signal contains an object of type line.

Получают вейвлет-синхронизированное преобразование и обратное синхронизированное преобразование речевого образца с использованием импульсного импульса.

Загрузите речевой сигнал и получите синхронизированное преобразование и обратное синхронизированное преобразование.

load mtlb
dt = 1/Fs;
t = 0:dt:numel(mtlb)*dt-dt;
Txmtlb = wsst(mtlb,'bump');
xrec = iwsst(Txmtlb,'bump');

Получить норму L-бесконечности разности между исходной формой сигнала и реконструкцией. Постройте график результатов.

Linf = norm(abs(mtlb-xrec),Inf);
plot(t,mtlb)
hold on
xlabel('Seconds')
ylabel('Amplitude')
plot(t,xrec,'r')
title({'Reconstruction of Wavelet Synchrosqueezed Transform';...
    ['Largest Absolute Difference: ' num2str(Linf,'%1.2f')]})

Figure contains an axes. The axes with title Reconstruction of Wavelet Synchrosqueezed Transform Largest Absolute Difference: 0.10 contains 2 objects of type line.

В этом примере показано, как инвертировать импульсное синхронное преобразование с использованием заданного числа частотных ячеек для квадратичной частотной частоты. Чирп отбирают при частоте 1000 Гц.

load quadchirp;
sstchirp = wsst(quadchirp,'ExtendSignal',true);

Извлеките частотно-временной гребень максимальной энергии с помощью 10 ячеек на каждой стороне индекса гребня и восстановите режим сигнала вдоль гребня.

[~,iridge] = wsstridge(sstchirp);
xrec = iwsst(sstchirp,iridge,'NumFrequencyBins',10);

Постройте график исходного и восстановленного сигнала.

plot(tquad,xrec,'r');
hold on;
plot(tquad,quadchirp,'b--');
xlabel('Time'); ylabel('Amplitude');
set(gca,'ylim',[-1.5 1.5]);
legend('Reconstruction','Original');
grid on;
title('Reconstruction of Chirp Along Maximum Time-Frequency Ridge');

Figure contains an axes. The axes with title Reconstruction of Chirp Along Maximum Time-Frequency Ridge contains 2 objects of type line. These objects represent Reconstruction, Original.

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

свернуть все

Синхронизированное преобразование, указанное как матрица. sst является выводом из wsst функция.

Частоты синхронизированного преобразования, соответствующие строкам синхронизированного преобразования, заданным как вектор. Количество элементов в частотном векторе равно количеству строк в sst вход. При указании f, необходимо также указать freqrange.

Частотный диапазон, для которого должны быть возвращены значения обратного синхронизированного преобразования, заданные как двухэлементный вектор. Значения freqrange должны находиться в диапазоне значений частот, f. Первый и второй элементы freqrange определите начало и конец частотного диапазона, где значения частоты в этом диапазоне должны быть положительными и строго увеличиваться. При указании freqrange, необходимо также указать f.

Индексы строк частотно-временного гребня синхронизированного преобразования, заданные как вектор или матрица. iridge - выходной сигнал wsstridge функция. Если iridge является матрицей, iwsst инвертирует синхронизированное преобразование вдоль первого столбца iridge. Затем итеративно реконструирует вдоль последующих столбцов iridge. Размеры iridge и xrec выходные данные одинаковы.

Аналитический вейвлет, используемый для вычисления обратного синхронизированного преобразования, указанного как одно из следующих значений:

  • 'amor' - Аналитический вейвлет Морле

  • 'bump' - Ударный импульс

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

Количество дополнительных частотных ячеек, включаемых с каждой стороны каждого iridge индексная ячейка, заданная как положительное целое число. Если количество дополнительных ячеек превышает количество ячеек частоты, доступных на определенном шаге времени, iwsst усекает реконструкцию на первом или последнем частотном блоке. Значение по умолчанию, 16, составляет половину числа голосов по умолчанию на октаву.

Чтобы указать этот аргумент, необходимо также указать iridge, который является выходом wsstridge. Нельзя включать частоту f и частотный диапазон freqrange, если включить количество частотных ячеек.

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

свернуть все

Обратное синхронизированное преобразование, возвращаемое в виде вектора или матрицы. Если не указать iridge вход, xrec - вектор столбца с тем же количеством строк, что и sst. При указании iridge вход, xrec имеет тот же размер, что и iridge.

Ссылки

[1] Daubechies, I., J. Lu и H. T. Wu. «Синхронизированные вейвлет-преобразования: инструмент декомпозиции эмпирического режима». Прикладной и вычислительный гармонический анализ, том 30, номер 2, 2011, стр. 243-261.

[2] Такур, Г., Э. Бревдо, Н. С. Фучкар и Х. Т. Ву. «Алгоритм Synchrosqueezing для изменяющегося во времени спектрального анализа: свойства надежности и новые приложения палеоклимата». Обработка сигналов, том 93, номер 5, 2013, стр. 1079-1094.

Представлен в R2016a