tqwt

Настраиваемый вейвлет Q-фактора преобразовывает

    Описание

    пример

    wt = tqwt(x) возвращает настраиваемый вейвлет Q-фактора преобразовывает (TQWT) x.

    • TQWT вычисляется к максимальному уровню разложения с добротностью 1. Для получения дополнительной информации см. Уровни Разложения TQWT.

    • Как реализовано, tqwt функционируйте использует сокращение 3. Для получения дополнительной информации смотрите Сокращение.

    wt = tqwt(x,Name=Value) задает одни или несколько дополнительных аргументов name-value. Например, wt = tqwt(x,QualityFactor=2) задает добротность 2.

    пример

    [wt,info] = tqwt(___) возвращает массив структур, info, с информацией о настраиваемом Q-факторе вейвлет преобразовывают.

    Примеры

    свернуть все

    Загрузите многоканальный сигнал EEG. Сигнал имеет 23 канала.

    load Espiga3
    size(Espiga3,2)
    ans = 23
    

    Получите настраиваемое преобразование вейвлета Q-фактора мультисигнала к максимальному уровню с помощью добротности по умолчанию 1.

    wt = tqwt(Espiga3);
    numel(wt)
    ans = 12
    

    Для 1 ≤ inumel(wt)- 1, i-ый элемент wt содержит вейвлет, преобразовывают коэффициенты для i-ого поддиапазона. Последний элемент wt содержит коэффициенты поддиапазона lowpass. Подтвердите количество столбцов любого элемента wt равно количеству каналов.

    k = 7;
    size(wt{k},2)
    ans = 23
    

    Восстановите мультисигнал и продемонстрируйте совершенную реконструкцию.

    xrec = itqwt(wt,size(Espiga3,1));
    max(abs(xrec(:)-Espiga3(:)))
    ans = 5.1159e-13
    

    Загрузите сигнал ECG. Получите TQWT сигнала вниз к уровню 5 с добротностью 2. Также получите информацию TQWT.

    load wecg
    lvl = 5;
    qf = 2;
    [wt,info] = tqwt(wecg,Level=lvl,QualityFactor=qf);

    Постройте исходный сигнал и сравните с коэффициентами поддиапазона lowpass.

    subplot(2,1,1)
    plot(wecg)
    title("Original Signal")
    axis tight
    subplot(2,1,2)
    plot(wt{end})
    title("Lowpass Subband Coefficients")
    axis tight

    Figure contains 2 axes objects. Axes object 1 with title Original Signal contains an object of type line. Axes object 2 with title Lowpass Subband Coefficients contains an object of type line.

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

    info
    info = struct with fields:
        CenterFrequencies: [0.3333 0.2593 0.2016 0.1568 0.1220]
               Bandwidths: [0.1667 0.1296 0.1008 0.0784 0.0610]
                    Level: 5
                    Alpha: 0.7778
                     Beta: 0.6667
    
    
    info.CenterFrequencies./info.Bandwidths
    ans = 1×5
    
        2.0000    2.0000    2.0000    2.0000    2.0000
    
    

    Как реализовано, tqwt функционируйте использует сокращение r=3. Подтвердите highpass и масштабные коэффициенты lowpass, info.Beta и info.Alpha соответственно, удовлетворите отношению r=β1-α.

    info.Beta/(1-info.Alpha)
    ans = 3
    

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

    свернуть все

    Входной сигнал в виде сингла - или вектор с двойной точностью, матрица или трехмерный массив. Если x матрица или трехмерный массив, TQWT вычисляется вдоль столбцов x. Для трехмерных массивов, tqwt интерпретирует первую размерность как время, второе измерение как каналы и третья размерность как пакет.

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

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

    Аргументы name-value

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

    Пример: wt = tqwt(x,Level=3,QualityFactor=2)

    Уровень разложения TQWT в виде положительного целого числа между 1 и максимальный уровень. Максимальный уровень зависит от длины сигнала и добротности. Для получения дополнительной информации см. Уровни Разложения TQWT.

    Пример: wt = tqwt(x,Level=3) задает уровень разложения 3.

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

    Добротность в виде скаляра с действительным знаком, больше, чем или равный 1. Добротностью является отношение центральной частоты к полосе пропускания фильтров. Если незаданный, значения по умолчанию добротности к 1.

    Пример: wt = tqwt(x,QualityFactor=1.5) задает добротность 1,5.

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

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

    свернуть все

    Настраиваемый вейвлет Q-фактора преобразовывает, возвращенный как массив ячеек. wt массив ячеек с длиной, равной максимальному уровню TQWT плюс один. i th элемент wt содержит коэффициенты TQWT для i th поддиапазон. Поддиапазоны упорядочены путем уменьшения центральной частоты. Итоговый элемент wt содержит коэффициенты поддиапазона lowpass. Коэффициенты вейвлета в wt совпадайте с x в типе данных и сложности.

    • Если x вектор-строка, каждый элемент wt вектор-столбец, содержащий коэффициенты TQWT.

    • Если x матрица или трехмерный массив, размеры столбца и размеры страницы каждого элемента wt совпадайте с размерами столбца и размерами страницы x.

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

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

    • CenterFrequencies — Нормированные центральные частоты (циклы/выборка) поддиапазонов вейвлета в TQWT x. Чтобы преобразовать частоты в герц, умножьте CenterFrequencies частотой дискретизации.

    • Bandwidths — Аппроксимированные полосы пропускания поддиапазонов вейвлета в нормированной частоте (циклы/выборка). Чтобы преобразовать полосы пропускания в герц, умножьте Bandwidths частотой дискретизации.

    • Level — Уровень TQWT. Обратите внимание на то, что info.Level может отличаться от вашего заданного уровня, если вы задаете уровень, больше, чем максимальный поддерживаемый уровень для вашей длины сигнала и добротности.

    • Beta — Масштабный коэффициент Highpass. highpass масштабный коэффициент вычисляется из добротности как 2 / (QualityFactor+1). Соответственно, 0 < Beta ≤ 1.

    • Alpha — Масштабный коэффициент Lowpass. Масштабный коэффициент lowpass вычисляется из highpass масштабного коэффициента как 1-Beta/3. Соответственно, 2/3 ≤ Alpha < 1.

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

    Больше о

    свернуть все

    Уровни разложения TQWT

    Минимальные и максимальные уровни разложения TQWT зависят от длины сигнала, N, и добротности, Q. В описании, которое следует, длина сигнала, N, является одной выборкой, больше, чем входная длина для сигналов нечетной длины.

    Максимальный уровень разложения

    log(N4Q+4)/log(3Q+33Q+1),

    где ⌊ ⌋ символы обозначают функцию пола.

    Минимальный уровень также зависит от длины сигнала и добротности. Логарифм N, log(N), должен удовлетворить следующему неравенству:

    log(N)log(4Q+4)log(3Q+1)+log(3Q+3).

    Если log(N)<log(4Q+4)log(3Q+1)+log(3Q+3), максимальный уровень меньше 1 и tqwt выдает ошибку.

    Сокращение

    Алгоритм TQWT зависит от масштабирования в частотном диапазоне:

    • масштабирование lowpass — частотный диапазон, масштабирующийся α, который сохраняет низкочастотное содержимое

    • highpass, масштабирующийся — частотный диапазон, масштабирующийся β, который сохраняет высокочастотное содержимое

    Сокращение задано, чтобы быть

    r=β1α.

    Для получения дополнительной информации смотрите Настраиваемое Преобразование Вейвлета Q-фактора.

    Ссылки

    [1] Selesnick, Иван В. “Преобразование вейвлета С Настраиваемым Q-фактором”. Транзакции IEEE на Обработке сигналов 59, № 8 (август 2011): 3560–75. https://doi.org/10.1109/TSP.2011.2143711.

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

    Генерация кода C/C++
    Генерация кода C и C++ с помощью MATLAB® Coder™.

    Введенный в R2021b