lwt

1D поднимающийся вейвлет преобразовывает

    Описание

    [ca,cd] = lwt(x) возвращает разложение вейвлета x. lwt использует поднимающуюся схему, сопоставленную с db1 вейвлет и не сохраняет данные с целочисленным знаком. x вектор или матрица. Если x матрица, lwt действует по первому измерению xX должен иметь по крайней мере две выборки. Если x имеет даже длину, вейвлет преобразовывают, получен вниз, чтобы выровнять floor(log2(N)), где N является длиной x если x вектор и размерность строки x если x матрица. Если N является нечетным, x расширен одной выборкой путем дублирования последнего элемента x.

    пример

    [ca,cd] = lwt(___,Name,Value) задает опции с помощью одних или нескольких аргументов name-value. Например, [ca,cd] = lwt(x,'Level',2) задает разложение вейвлета уровня 2.

    Примеры

    свернуть все

    Задайте сигнал с целочисленным знаком. Создайте поднимающуюся схему, сопоставленную с db2 вейвлет.

    sig = 1:10;
    lsc = liftingScheme('Wavelet','db2');

    Получите подъем вейвлета преобразовывает (LWT) уровня 2 с помощью поднимающейся схемы. Отобразите приближение и детализируйте коэффициенты.

    wv = 'db2';
    [ca,cd] = lwt(sig,'LiftingScheme',lsc,'Level',2);
    ca
    ca = 3×1
    
        5.8038
       14.0801
       16.5801
    
    
    cd{1}
    ans = 5×1
    
        3.5355
             0
        0.0000
        0.0000
        0.0000
    
    
    cd{2}
    ans = 3×1
    
        5.0311
       -0.0000
       -1.0311
    
    

    Получите разложение снова, но на этот раз сохраните данные с целочисленным знаком.

    [ca,cd] = lwt(sig,'LiftingScheme',lsc,'Level',2,'Int2Int',true);
    ca
    ca = 3×1
    
         2
         4
         4
    
    
    cd{1}
    ans = 5×1
    
         6
         0
         0
         0
         0
    
    
    cd{2}
    ans = 3×1
    
         5
         1
         0
    
    

    Загрузите 23 канала данные EEG Espiga3. Каналы располагаются по столбцам.

    load Espiga3
    size(Espiga3)
    ans = 1×2
    
       995    23
    
    

    Получите LWT многоканального сигнала с помощью db4 вейвлет вниз к максимальному уровню разложения по умолчанию.

    wv = 'db4';
    [ca,cd] = lwt(Espiga3,'Wavelet',wv);

    Подтвердите количество столбцов в ca равно количеству каналов в многоканальном сигнале, и что коэффициенты детали являются массивом ячеек N-1, где N равен floor(log2(size(Espiga3,1))).

    size(ca)
    ans = 1×2
    
         2    23
    
    
    floor(log2(size(Espiga3,1)))
    ans = 9
    
    size(cd) 
    ans = 1×2
    
         9     1
    
    

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

    свернуть все

    Сигнал в виде вектора или матрицы. Если x матрица, lwt действует по первому измерению xX должен иметь по крайней мере две выборки. Если x имеет нечетное число выборок, x расширен одной выборкой путем дублирования последнего элемента x.

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

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

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

    Пример: [ca,cd] = lwt(x,'Wavelet','db3','Level',4) использует db3 вейвлет, чтобы выполнить разложение вейвлета уровня 4.

    Ортогональный или биоортогональный вейвлет, чтобы использовать в LWT в виде вектора символов или строкового скаляра. Смотрите свойство Wavelet liftingScheme для списка поддерживаемых вейвлетов.

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

    Пример: [ca,cd] = lwt(x,'Wavelet','bior3.5') использует bior3.5 биоортогональный вейвлет.

    Схема Lifting использовать в LWT в виде liftingScheme объект.

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

    Пример: [ca,cd] = lwt(x,'LiftingScheme',lScheme) использует lScheme подъем схемы.

    Уровень разложения вейвлета в виде положительного целого числа, меньше чем или равного floor(log2(N)), где N является длиной x если x вектор или размерность строки x если x матрица.

    Пример: [ca,cd] = lwt(x,'Level',4) задает разложение вейвлета уровня 4.

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

    Дополнительный режим, чтобы использовать в LWT в виде 'periodic' (значение по умолчанию), 'zeropad', или 'symmetric'. Значение 'Extension' задает, как расширить сигнал на контурах.

    Пример: [ca,cd] = lwt(x,'Extension','symmetric') задает симметричный дополнительный режим.

    Обработка данных с целочисленным знаком в виде числового или логического 1 TRUE) или 0 ложь).

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

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

    Задайте 'Int2Int' аргумент значения имени, только если всеми элементами входа являются целые числа.

    Пример: [ca,cd] = lwt(1:8,'Int2Int',true) сохраняет данные с целочисленным знаком.

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

    свернуть все

    Приближение (lowpass) коэффициенты на самом грубом уровне, возвращенном как скаляр, вектор или матрица. Размерность ca зависит от размерности сигнала.

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

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

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

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

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

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

    Ссылки

    [1] Странг, Гильберт и Труун Нгуен. Вейвлеты и Наборы фильтров. Исправленное издание Веллесли, Масса: Wellesley-Кембриджское Нажатие, 1997.

    [2] Sweldens, Вим. “Подъем Схемы: Конструкция Вейвлетов Второго поколения”. SIAM Journal на Математическом анализе 29, № 2 (март 1998): 511–46. https://doi.org/10.1137/S0036141095289051.

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

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

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

    | | | |

    Введенный в R2021a