ewt

Эмпирическое вейвлет

    Описание

    пример

    mra = ewt(x) возвращает компоненты мультирезолюционного анализа (MRA), соответствующие эмпирическому вейвлет (EWT) x. Использовать ewt разложить сигналы с помощью адаптируемой схемы вейвлет-подразделения, которая автоматически определяет эмпирические вейвлет и масштабирующие фильтры и сохраняет энергию.

    По умолчанию количество эмпирических вейвлет автоматически определяется путем идентификации peaks в многозначной спектральной оценке степени x.

    [mra,cfs] = ewt(x) возвращает коэффициенты анализа EWT x.

    [mra,cfs,wfb] = ewt(x) возвращает эмпирический банк вейвлет, используемый в анализе x.

    пример

    [mra,cfs,wfb,info] = ewt(x) возвращает пиковые нормированные частоты, идентифицированные в x и приблизительные полосы пропускания частоты группы вейвлета фильтров.

    пример

    [___] = ewt(___,Name,Value) задает дополнительные опции, используя аргументы пары "имя-значение". Эти аргументы могут быть добавлены к любому из предыдущих входных синтаксисов. Для примера, 'MaxNumPeaks',5 задает максимум пять пиков, используемых для определения полос пропускания фильтра EWT.

    ewt(___) без выходных аргументов строит график исходного сигнала с эмпирическим вейвлет на том же рисунке. Для комплексных данных вещественная часть строится в первом цвете в MATLAB® матрица порядка цвета и мнимая часть нанесена на график вторым цветом.

    Примеры

    свернуть все

    Загрузка и визуализация нестационарного непрерывного сигнала, состоящего из синусоидальных волн с отчетливым изменением частоты. Дискретизация сигнала осуществляется на частоте 250 Гц.

    fs = 250;
    load nonstatdistinct
    t = (0:length(nonstatdistinct)-1)/fs;
    plot(t,nonstatdistinct)
    xlabel('Time (s)')
    ylabel('Signal')
    axis tight

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

    Использование ewt для получения мультирезолюционного анализа (MRA) сигнала.

    mra = ewt(nonstatdistinct);

    Используйте компоненты MRA с hht функция и график спектра Гильберта.

    hht(mra,fs)

    Figure contains an axes. The axes with title Hilbert Spectrum contains 4 objects of type patch.

    График зависимости частоты от времени является разреженным графиком с вертикальной цветовой панелью, указывающей мгновенную энергию в каждой точке MRA. График представляет мгновенный частотный спектр каждого компонента, разложенный по сравнению с исходным смешанным сигналом.

    Создайте нестационарный непрерывный сигнал, состоящий из синусоидальных волн с отчетливым изменением частоты. Дискретизация сигнала осуществляется на частоте 1000 Гц.

    Fs = 1000;
    t = 0:1/Fs:4;
    x1 = sin(2*pi*50*t) + sin(2*pi*200*t);
    x2 = sin(2*pi*25*t) + sin(2*pi*100*t) + sin(2*pi*250*t);
    x = [x1 x2] + 0.1*randn(1,length(t)*2);
    t1 = (0:length(x)-1)/Fs;
    plot(t1,x)
    xlabel('Time (s)')
    ylabel('Amplitude')
    title('Signal')

    Figure contains an axes. The axes with title Signal contains an object of type line.

    Использование ewt и получите MRA сигнала. Отобразите нормированные пиковые частоты, идентифицированные в сигнале, и приблизительные полосы пропускания частоты группы фильтров. Поскольку частоты указаны в циклах на выборку, нормализуйтесь по частоте дискретизации. Обратите внимание, что пиковые частоты соответствуют частотам синусоидальных волн.

    [mra,~,wfb,info] = ewt(x);
    Fs*info.PeakFrequencies
    ans = 5×1
    
      249.9375
      200.0750
      100.1000
       50.1125
       25.1187
    
    
    Fs*info.FilterBank.Passbands 
    ans = 5×2
    
      223.6941  500.0000
      141.5896  223.6941
       70.8573  141.5896
       35.4911   70.8573
             0   35.4911
    
    

    Постройте график спектра величины сигнала и банка фильтров. Местоположения peaks определяют полосы пропускания фильтра.

    f = 0:Fs/length(x):Fs-1/length(x);
    plot(f,wfb)
    ylabel('Magnitude')
    grid on
    yyaxis right
    plot(f,abs(fft(x)),'k--','linewidth',1.5)
    ylabel('Magnitude')
    xlabel('Hz')

    Figure contains an axes. The axes contains 6 objects of type line.

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

    Загрузка сигнала ЭКГ. Дискретизация сигнала производится на частоте 180 Гц.

    load wecg

    Использование ewt для получения мультирезолюционного анализа (MRA) сигнала и соответствующих коэффициентов анализа. Используйте четыре самых больших peaks, чтобы определить полосы пропускания фильтра.

    mp = 4;
    [mra,cfs] = ewt(wecg,'MaxNumPeaks',mp);

    Постройте график сигнала и компонентов MRA.

    fs = 180;
    subplot(mp+1,1,1)
    t = (0:length(wecg)-1)/fs;
    plot(t,wecg)
    title('MRA of Signal')
    ylabel('Signal')
    axis tight
    for k=1:mp
        subplot(mp+1,1,k+1)
        plot(t,mra(:,k))
        ylabel(['MRA ',num2str(k)])
        axis tight
    end
    xlabel('Time (s)')

    Figure contains 5 axes. Axes 1 with title MRA of Signal contains an object of type line. Axes 2 contains an object of type line. Axes 3 contains an object of type line. Axes 4 contains an object of type line. Axes 5 contains an object of type line.

    Проверьте, что суммирование компонентов MRA приводит к идеальной реконструкции сигнала.

    max(abs(wecg-sum(mra,2)))
    ans = 8.8818e-16
    

    Проверьте сохранение энергии коэффициентов EWT-анализа.

    cfsenergy = sum(sum(abs(cfs).^2));
    [cfsenergy norm(wecg,2)^2]
    ans = 1×2
    
      298.2759  298.2759
    
    

    Входные параметры

    свернуть все

    Входные данные, заданные как вектор с реальным или комплексным значением или как расписание с одной переменной, содержащее один вектор-столбец. x должны иметь не менее двух выборки.

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

    Аргументы в виде пар имя-значение

    Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

    Пример: ewt(x,'MaxNumPeaks',5,'SegmentMethod','localmin') получает MRA x использование пяти самых больших peaks и первого локального минимума между соседним peaks.

    Пороговый процент максимального пика, используемый для определения, какой peaks следует сохранять в многозначном спектре степени x, заданный как действительное число в интервале (0, 100). Локальные максимумы в многозначной спектральной оценке степени x нормированы, чтобы находиться в области значений [0,1] с максимальным пиком, равным 1. Весь peaks со значениями, строго большими PeakThresholdPercent из максимального пика сохраняются.

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

    Метод сегментации, используемый для определения полос пропускания фильтра EWT, заданный как:

    • 'geomean' - Среднее геометрическое смежного peaks

    • 'localmin' - Первый локальный минимум между соседним peaks

    Если локальный минимум между соседним peaks не идентифицирован, функция использует среднее геометрическое.

    Максимальное количество peaks, используемых для определения полос пропускания фильтра EWT. Если ewt находит меньше peaks, чем число, заданное в MaxNumPeaks, оно использует максимальное количество доступного peaks. Если он не находит peaks, ewt использует группу фильтров преобразования дискретного вейвлета (DWT) одного уровня.

    Вы не можете задать оба MaxNumPeaks и PeakThresholdPercent.

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

    Шумовая полоса разрешения частоты спектральной оценки степени, заданная как действительное число, меньше или равное 0,25..

    Значение FrequencyResolution определяет, сколько синусоидальных сужений используется в оценке многозначного спектра степени. Ширина полосы синусоидальной многозначности степени спектральной оценкой является (K + 1 )/( N + 1), где K - количество сужений, а N - длина сигнала. Минимальное значение FrequencyResolution - 2 .5/ N, где N является максимальным значением длины и 64 сигнала.

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

    Логарифм спектра логический, используемый для определения пиковых частот. Если LogSpectrum установлено в trueИспользуется журнал степени спектра multitaper. Рассмотрите настройку LogSpectrum на true при использовании PeakThresholdPercent метод сегментации и существует доминирующая пиковая частота, которая значительно больше по величине, чем другой peaks.

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

    свернуть все

    Мультирезолюционный анализ (MRA), возвращенный как матрица или расписание.

    • Когда x является вектором, mra - матрица, в которой каждый столбец хранит извлеченный компонент MRA.

      • Для реальных xкомпоненты MRA упорядочиваются путем уменьшения центральных частот. Конечный столбец в mra соответствует lowpass масштабирующему фильтру.

      • Для комплексных xкомпоненты MRA начинают почти − ½ циклов на выборку и уменьшают центральную частоту, пока не будут получены коэффициенты масштабирования lowpass. Затем частота увеличивается к + ½ циклам на выборку.

    • Когда x является расписанием, mra является расписанием с несколькими одинарными переменными, где каждая переменная хранит компонент MRA.

    Смотрите info массив структур для описания частотных границ для эмпирических вейвлетов и масштабирующих фильтров.

    Если x имеет менее 64 выборки, ewt работает с нулевой версией x длиной 64. Компоненты MRA обрезаются до исходной длины.

    Коэффициенты анализа EWT, возвращенные как матрица. Если входные данные являются реальными, то cfs является вещественной матрицей. В противном случае cfs является комплексной матрицей. Каждый столбец cfs хранит коэффициенты анализа EWT для соответствующего компонента MRA. Полосы частот коэффициентов анализа идентичны упорядоченному расположению компонентов MRA. Если x имеет менее 64 выборки, cfs содержит коэффициенты анализа, полученные из заполненной нулями версии x.

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

    Эмпирический вейвлет фильтрующий банк, возвращенный как матрица. Центральные частоты фильтров в wfb соответствовать порядку в mra и cfs. Поскольку эмпирические вейвлеты образуют плотную систему координат Парсеваля, группа анализирующих фильтров равна группе синтезирующих фильтров. Поэтому суммирование компонентов MRA приводит к идеальной реконструкции сигнала.

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

    Отфильтруйте банковскую информацию, возвращенную как структуру со следующими полями:

    • PeakFrequencies - пик нормированных частот в циклах/выборке, идентифицированных в x как вектор-столбец. Для реальных xчастоты положительны в интервале (0, ½) в порядке уменьшения. Для комплексных xчастоты упорядочены от (− ½, ½). Если PeakFrequencies пуст, ewt не обнаружил peaks и по умолчанию используется одноуровневое подразделение дискретного вейвлет (DWT).

    • FilterBank - Таблица с двумя переменными: MRAComponent и Passbands. MRAComponent - индекс столбца компонента MRA в mra. Passbands - матрица L -by-2, где L - количество компонентов MRA. Каждая строка Passbands - приблизительный диапазон пропускания частоты в циклах/выборке для соответствующего фильтра EWT и компонента MRA.

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

    Ссылки

    [1] Жиль, Жером. Эмпирический Вейвлет преобразование. Транзакции IEEE по обработке сигналов 61, № 16 (август 2013): 3999-4010. https://doi.org/10.1109/TSP.2013.2265222.

    [2] Жиль, Жером, Джанг Траном и Стэнли Ошер. "2D эмпирические преобразования. Вейвлеты, Ridgelets, and Curvelets Revisited ". SIAM Journal on Imaging Sciences 7, № 1 (январь 2014): 157-86. https://doi.org/10.1137/130923774 .

    [3] Жиль, Жером и Кэтрин Хил. «Параметрический подход масштаба-пространства к поиску значимых режимов в гистограммах - применение к сегментации изображений и спектра». Международный журнал вейвлетов, мультиразрешения и обработки информации 12, № 06 (ноябрь 2014): 1450044. https://doi.org/10.1142/S0219691314500441.

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

    .
    Введенный в R2020b