lwt

1-D Подъемное вейвлет

    Описание

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

    пример

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

    Примеры

    свернуть все

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

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

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

    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-by-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 действует по первой размерности x. x должны иметь не менее двух выборки. Если x имеет нечетное количество выборок, x расширяется на одну выборку путем дублирования последнего элемента x.

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

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

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

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

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

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

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

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

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

    Пример: [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 (false).

    • 1 (true) - Сохраните целочисленные данные

    • 0 (false) - Не сохранять целочисленные данные

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

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

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

    свернуть все

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

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

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

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

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

    расширить все

    Поведение изменено в R2021a

    См. также

    | | | |

    Введенный в R2021a