lwtcoef

Извлеките или восстановите 1D коэффициенты вейвлета LWT и ортогональные проекции

    Описание

    y = lwtcoef(ca,cd) возвращает коэффициенты приближения уровня 1, которые соответствуют приближению и детализируют коэффициенты, ca и cd, соответственно. ca и cd выходные параметры lwt.

    пример

    y = lwtcoef(ca,cd,Name,Value) задает опции с помощью одних или нескольких аргументов name-value. Например, y = lwtcoef(ca,cd,'OutputType','coefficients') задает коэффициенты выход.

    Примеры

    свернуть все

    Загрузите 1D сигнал длины 2048. Постройте сигнал.

    load wecg
    plot(wecg)
    title('Signal')
    ylabel('Amplitude')
    axis tight

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

    Создайте поднимающуюся схему, сопоставленную с db4 вейвлет. Используйте поднимающуюся схему получить разложение вейвлета сигнала к максимальному уровню. Подтвердите, что длина содействующего массива ячеек детали равняется floor(log2(N)), где N является длиной сигнала.

    wv = 'db4';
    lsc = liftingScheme('Wavelet',wv);
    [ca,cd] = lwt(wecg,'LiftingScheme',lsc);
    [length(cd) floor(log2(length(wecg)))]
    ans = 1×2
    
        11    11
    
    

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

    approxCf = lwtcoef(ca,cd,'LiftingScheme',lsc,'OutputType','coefficients','Level',3);
    [2048/(2^3) length(approxCf)]
    ans = 1×2
    
       256   256
    
    
    plot(approxCf)
    title('Level 3 Approximation Coefficients')
    ylabel('Amplitude')
    axis tight

    Figure contains an axes object. The axes object with title Level 3 Approximation Coefficients contains an object of type line.

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

    approx3 = lwtcoef(ca,cd,'LiftingScheme',lsc,'OutputType','projection','Level',3);
    det3 = lwtcoef(ca,cd,'LiftingScheme',lsc,'OutputType','projection','Level',3,'Type','detail');
    det2 = lwtcoef(ca,cd,'LiftingScheme',lsc,'OutputType','projection','Level',2,'Type','detail');
    det1 = lwtcoef(ca,cd,'LiftingScheme',lsc,'OutputType','projection','Level',1,'Type','detail');
    subplot(4,1,1)
    plot(approx3)
    title('Projection - Approximation')
    axis tight
    subplot(4,1,2)
    plot(det3)
    title('Projection - Level 3 Details')
    axis tight
    subplot(4,1,3)
    plot(det2)
    title('Projection - Level 2 Details')
    axis tight
    subplot(4,1,4)
    plot(det1)
    title('Projection - Level 1 Details')
    axis tight

    Figure contains 4 axes objects. Axes object 1 with title Projection - Approximation contains an object of type line. Axes object 2 with title Projection - Level 3 Details contains an object of type line. Axes object 3 with title Projection - Level 2 Details contains an object of type line. Axes object 4 with title Projection - Level 1 Details contains an object of type line.

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

    max(abs(wecg-(approx3+det3+det2+det1)))
    ans = 1.3323e-15
    

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

    свернуть все

    Приближение (lowpass) коэффициенты на самом грубом уровне в виде скаляра, вектора или матрицы. Коэффициентами является выход lwt.

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

    Детализируйте коэффициенты в виде L-by-1 массив ячеек, где L является уровнем преобразования. Элементы cd в порядке уменьшающегося разрешения. Коэффициентами является выход lwt.

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

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

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

    Пример: y = lwtcoef(ca,cd,'LiftingScheme',lsc,'OutputType','coefficients','Level',2) использует поднимающуюся схему lsc извлекать коэффициенты приближения на уровне 2.

    Ортогональный или биоортогональный вейвлет в виде вектора символов или строкового скаляра. Смотрите свойство Wavelet liftingScheme для списка поддерживаемых вейвлетов. Для совершенной реконструкции заданный вейвлет должен совпадать с вейвлетом, вы раньше генерировали ca и cd.

    Вы не можете задать 'Wavelet' и 'LiftingScheme' аргументы name-value одновременно.

    Схема Lifting использовать в виде liftingScheme объект. Для совершенной реконструкции заданная поднимающаяся схема должна совпадать с поднимающейся схемой, вы раньше генерировали ca и cd.

    Вы не можете задать 'Wavelet' и 'LiftingScheme' аргументы name-value одновременно.

    Выходной тип в виде одного из:

    • 'coefficients' — Извлеките приближение, или детализирует коэффициенты

    • 'projection' — Возвратите проекцию (реконструкция) приближения, или детализирует коэффициенты

    Пример: y = lwtcoef(ca,cd,'OutputType','projection','Type','detail') возвращает проекцию, соответствующую коэффициентам детали в самой прекрасной шкале.

    Тип коэффициентов, чтобы извлечь или восстановить в виде 'approximation' или 'detail'.

    Пример: y = lwtcoef(ca,cd,'Type','detail') извлекает коэффициенты детали в самой прекрасной шкале.

    Уровень коэффициентов, чтобы извлечь или восстановить в виде целого числа в области значений [1,N], где N является длиной cd.

    Пример: y = lwtcoef(ca,cd,'LiftingScheme',lsc,'Level',3) использует поднимающуюся схему lsc извлекать коэффициенты приближения на уровне 3.

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

    Обработка данных с целочисленным знаком в виде одного из них:

    • 1 TRUE) — Сохраняют данные с целочисленным знаком

    • 0 ложь) — Не сохраняют данные с целочисленным знаком

    Int2Int должен совпадать со значением, вы раньше генерировали ca и cd.

    Пример: y = lwtcoef(ca,cd,Int2Int=true) сохраняет данные с целочисленным знаком.

    Дополнительный режим, чтобы использовать, чтобы извлечь или восстановить коэффициенты в виде одного из них:

    • "periodic" — Расширение Periodized

    • "zeropad" — Дополнение нулями

    • "symmetric" — Симметричное расширение

    Этот аргумент задает, как расширить сигнал на контурах. Дополнительный режим должен совпадать со значением, вы раньше генерировали ca и cd.

    Пример: y = lwtcoef(ca,cd,Extension="zeropad") задает дополнение нулями.

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

    свернуть все

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

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

    Вопросы совместимости

    развернуть все

    Поведение изменяется в R2021a

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

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

    Смотрите также

    | |

    Введенный в R2021a