liftingScheme

Создайте подъем схемы подъема вейвлета, преобразовывают

    Описание

    Используйте liftingScheme объект создать поднимающуюся схему, что можно эффективно обратиться к 1D сигналу. Можно задать одну из многих встроенных поднимающихся схем liftingScheme обеспечивает. Можно также создать поднимающиеся шаги подъема использования схемы, которые вы задаете. Поднимающаяся схема может также быть создана путем определения фильтров lowpass, сопоставленных с ортогональными или биоортогональными вейвлетами.

    Создание

    Описание

    lscheme = liftingScheme создает поднимающуюся схему 'lazy' вейвлет с набором нормализации к 1.

    пример

    lscheme = liftingScheme(Name,Value) создает поднимающуюся схему со свойствами, заданными парами "имя-значение". Например, lscheme = liftingScheme('Wavelet','db2') создает поднимающуюся схему, сопоставленную с db2 ортогональный вейвлет. Заключите имя свойства в кавычки. Можно создать поднимающуюся схему с помощью одного из следующих синтаксисов:

    • lscheme = liftingScheme ('Wavelet', wname)

    • lscheme = liftingScheme ('CustomLowpassFilterфильтр

    • lscheme = liftingScheme ('LiftingSteps', liftingSteps, 'NormalizationFactors, normFactors)

    Свойства

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

    Ортогональный или биоортогональный вейвлет сопоставлен с поднимающейся схемой в виде одного из них.

    Семейство вейвлетовWavelet
    Daubechies'lazy', 'haar', 'db1', 'db2', 'db3', 'db4', 'db5', 'db6', 'db7', и 'db8'
    Symlet'sym2', 'sym3', 'sym4', 'sym5', 'sym6', 'sym7', и 'sym8'
    Коэн-Добечис-Феово'cdf1.1', 'cdf1.3', 'cdf1.5', 'cdf2.2', 'cdf2.4', 'cdf2.6', 'cdf3.1', 'cdf3.3', 'cdf3.5', 'cdf4.2', 'cdf4.4', 'cdf4.6', 'cdf5.1', 'cdf5.3', 'cdf5.5', 'cdf6.2', 'cdf6.4', и 'cdf6.6'
    Coiflet'coif1', и 'coif2'
    Биоортогональный'bior1.1', 'bior1.3', 'bior1.5', 'bior2.2', 'bior2.4', 'bior2.6', 'bior2.8', 'bior3.1', 'bior3.3', 'bior3.5', 'bior3.7', 'bior3.9', 'bior4.4', 'bior5.5', 'bior6.8', 'bs3', и '9.7'
    Биоортогональный реверс'rbs3', 'r9.7', 'rbio1.1', 'rbio1.3', 'rbio1.5', 'rbio2.2', 'rbio2.4', 'rbio2.6', 'rbio2.8', 'rbio3.1', 'rbio3.3', 'rbio3.5', 'rbio3.7', 'rbio3.9', 'rbio4.4', 'rbio5.5', и 'rbio6.8'

    Пример: lscheme = liftingScheme('Wavelet','bior3.7') создает поднимающуюся схему, сопоставленную с 'bior3.7' биоортогональный вейвлет.

    Фильтры lowpass, сопоставленные с поднимающейся схемой в виде вектора или 1 2 массива ячеек векторов.

    • Чтобы создать поднимающуюся схему, сопоставленную с ортогональным вейвлетом, установите CustomLowpassFilter к LoD, где LoD фильтр lowpass, сопоставленный с вейвлетом.

    • Чтобы создать поднимающуюся схему, сопоставленную с биоортогональным вейвлетом, установите CustomLowpassFilter к {LoPrimal,LoDual}, где LoPrimal и LoDual фильтры lowpass, сопоставленные с биоортогональным вейвлетом.

    Когда вы задаете коэффициенты фильтра, Wavelet свойство автоматически установлено в 'custom'.

    Пример: lscheme = liftingScheme('CustomLowpassFilter',[sqrt(2)/2 sqrt(2)/2]) создает поднимающуюся схему, сопоставленную с вейвлетом Хаара.

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

    Подъем шагов, сопоставленных с поднимающейся схемой в виде массива структур, получен из liftingStep. Создать поднимающуюся схему с помощью LiftingSteps, необходимо также установить NormalizationFactors свойство. Когда вы устанавливаете эти два свойства, Wavelet свойство автоматически установлено в 'custom'.

    Пример: lscheme = liftingScheme('LiftingSteps',ELS,'NormalizationFactors',NF) создает поднимающуюся схему с помощью liftingStep структуры заданы в ELS и факторы заданы в NF.

    Коэффициенты нормализации, сопоставленные с поднимающейся схемой в виде K или [K 1/K], где K является ненулевым скаляром. Факторный K указывает диагональные элементы матрицы нормализации 2 на 2. Если задано как вектор, продукт векторных элементов должен равняться 1 в точности.

    Создать поднимающуюся схему с помощью NormalizationFactors, необходимо также установить LiftingSteps свойство. Когда вы устанавливаете эти два свойства, Wavelet свойство автоматически установлено в 'custom'.

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

    Функции объекта

    addliftДобавьте элементарные поднимающиеся шаги
    deleteliftУдалите элементарные поднимающиеся шаги
    ls2filtИзвлеките фильтры вейвлета из подъема схемы
    dispОтобразите подъем схемы

    Примеры

    свернуть все

    Создайте поднимающуюся схему, сопоставленную с вейвлетом Хаара.

    lscheme = liftingScheme('Wavelet','haar')
    lscheme = 
     	 Wavelet              : 'haar' 
     	 LiftingSteps         : [2 × 1] liftingStep 
     	 NormalizationFactors : [1.4142 0.7071] 
     	 CustomLowpassFilter  : [] 
    
    
     Details of LiftingSteps :
                Type: 'predict'
        Coefficients: -1
            MaxOrder: 0
    
                Type: 'update'
        Coefficients: 0.5000
            MaxOrder: 0
    
    

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

    sig = 0:7;
    [appC,detC]=lwt(sig,'LiftingScheme',lscheme,'Level',2);
    appC
    appC = 2×1
    
        3.0000
       11.0000
    
    
    detC{1}
    ans = 4×1
    
        0.7071
        0.7071
        0.7071
        0.7071
    
    
    detC{2}
    ans = 2×1
    
        2.0000
        2.0000
    
    

    Получите обратное преобразование и продемонстрируйте совершенную реконструкцию.

    xrec = ilwt(appC,detC,'LiftingScheme',lscheme);
    max(abs(xrec(:)-sig(:)))
    ans = 2.6645e-15
    

    Создайте две поднимающихся схемы, сопоставленные с db6 вейвлет. Используйте фильтр реконструкции lowpass, чтобы создать первую поднимающуюся схему и имя вейвлета, чтобы создать вторую схему.

    wv = 'db6';
    [~,~,LoR,~] = wfilters(wv);
    LS = liftingScheme('CustomLowpassFilter',LoR);
    LSW = liftingScheme('Wavelet',wv);

    Подтвердите, что фильтры, извлеченные из обеих схем, равны.

    [lod,hid,lor,hir] = ls2filt(LS);
    [lodw,hidw,lorw,hirw] = ls2filt(LSW);
    max(abs(lod-lodw))
    ans = 4.1633e-16
    
    max(abs(hid-hidw))
    ans = 4.1633e-16
    
    max(abs(lor-lorw))
    ans = 4.1633e-16
    
    max(abs(hir-hirw))
    ans = 4.1633e-16
    

    Создайте поднимающуюся схему, сопоставленную с биоортогональным bior2.2 вейвлет.

    lscheme = liftingScheme('Wavelet','bior2.2');

    Вейвлет с N исчезающие моменты являются ортогональными до степени N-1 многочлены. bior2.2 вейвлет имеет два исчезающих момента. Создайте сигнал путем выборки полинома степени 1.

    sig = 1:16;

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

    [A,D] = lwt(sig,'LiftingScheme',lscheme);
    D{1}
    ans = 8×1
    
             0
             0
             0
             0
             0
             0
             0
        5.6569
    
    

    Теперь создайте поднимающуюся схему, сопоставленную с вейвлетом Хаара.

    lschemeH = liftingScheme('Wavelet','haar');

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

    [AH,DH] = lwt(sig,'LiftingScheme',lschemeH);
    DH{1}
    ans = 8×1
    
        0.7071
        0.7071
        0.7071
        0.7071
        0.7071
        0.7071
        0.7071
        0.7071
    
    

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

    | |

    Введенный в R2021a