filters2lp

Фильтры к полиномам Лорана

    Описание

    пример

    [LoDz,HiDz] = filters2lp(Lo) возвращает полиномы Лорана LoDz и HiDz это соответствует z-преобразованию lowpass и highpass аналитических фильтров, соответственно, сопоставленный с фильтром lowpass, заданным Lo.

    [___,LoRz,HiRz] = filters2lp(Lo) также возвращает полиномы Лорана LoRz и HiRz это соответствует z-преобразованию lowpass и highpass фильтров синтеза, соответственно. Используйте этот синтаксис с любым из выходных аргументов в предыдущем синтаксисе.

    [___,PRCond,AACond] = filters2lp(Lo) также возвращает совершенное условие реконструкции PRCond и сглаживающееся условие AACond.

    [___] = filters2lp(Lo,PmaxLoRz) устанавливает максимальный порядок LoRz.

    [___] = filters2lp(Lo,PmaxLoRz,AddPOW) устанавливает максимальный порядок полинома Лорана HiRz.

    Примеры

    свернуть все

    Получите фильтры lowpass, сопоставленные с биоортогональным bior1.3 вейвлет.

    [LoD,~,LoR,~] = wfilters("bior1.3");

    Используйте filters2lp получить полиномы Лорана, сопоставленные с вейвлетом. Также получите совершенную реконструкцию и сглаживающиеся условия.

    [LoDz,HiDz,LoRz,HiRz,PRC,AAC] = filters2lp({LoR,LoD});

    Проверьте совершенное условие реконструкции.

    eq(LoRz*LoDz + HiRz*HiDz,PRC)
    ans = logical
       1
    
    

    Проверьте сглаживающееся условие. Используйте функцию помощника helperMakeLaurentPoly получить LoDz(-z), где LoD(z) полином Лорана LoDz. Используйте функцию помощника helperMakeLaurentPoly получить HiDz(-z), где HiD(z) полином Лорана HiDz.

    LoDzm = helperMakeLaurentPoly(LoDz);
    HiDzm = helperMakeLaurentPoly(HiDz);
    eq(LoRz*LoDzm + HiRz*HiDzm,AAC)
    ans = logical
       1
    
    

    Функции помощника

    function polyout = helperMakeLaurentPoly(poly)
    % This function is only intended to support this example.
    % It may change or be removed in a future release.
    
    polyout = poly;
    cflen = length(polyout.Coefficients);
    cmo = polyout.MaxOrder;
    polyneg = (-1).^(mod(cmo,2)+(0:cflen-1));
    polyout.Coefficients = polyout.Coefficients.*polyneg;
    
    end

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

    свернуть все

    Вейвлет фильтр lowpass в виде массива ячеек. Если вейвлет является ортогональным, то Ло является массивом ячеек с одним элементом, который соответствует LoR, фильтр реконструкции lowpass. Соответствующим фильтром highpass является HiR = qmf(LoR). Для биоортогональных вейвлетов, Lo двухэлементный массив ячеек, заданный как Lo = {LoR,LoD}. В этом случае, HiR = qmf(fliplr(LoD)).

    Пример: если [LoD,~,LoR,~] = wfilters("bior2.2"), затем Lo задан как Lo = {LoR,LoD}.

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

    Максимальная мощность полинома Лорана LoRzВ виде целого числа.

    Пример: если [~,~,LoRz,HiRz] = filters2lp(Lo,3), затем максимальная мощность или порядок, полинома Лорана LoRz 3.

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

    Целое число, чтобы установить максимальный порядок полинома Лорана HiRz. PmaxHiRz, максимальный порядок HiRz,

    PmaxHiRz = PmaxLoRz+length(HiRz.Coefficients)-2+AddPow.

    AddPOW должно быть ровное целое число, чтобы сохранить совершенное условие реконструкции.

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

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

    свернуть все

    Полином Лорана сопоставлен с аналитическим фильтром lowpass, возвращенным как laurentPolynomial объект. LoDz z-преобразование аналитического фильтра lowpass.

    Полином Лорана сопоставлен с highpass аналитическим фильтром, возвращенным как laurentPolynomial объект. HiDz z-преобразование highpass аналитического фильтра.

    Полином Лорана сопоставлен с фильтром синтеза lowpass, возвращенным как laurentPolynomial объект. LoRz z-преобразование фильтра синтеза lowpass.

    Полином Лорана сопоставлен с highpass фильтром синтеза, возвращенным как laurentPolynomial объект. HiRz z-преобразование highpass фильтра синтеза.

    Совершенная реконструкция и сглаживающиеся условия, возвращенные как laurentPolynomial объекты. Совершенное условие реконструкции PRCond и сглаживание условия AACond :

    • PRCond(z) = LoRz(z) LoDz(z) + HiRz(z) HiDz(z)

    • AACond(z) = LoRz(z) LoDz(-z) + HiRz(z) HiDz(-z)

    Пары (LoRz, HiRz) и (LoDz, HiDz) сопоставлены с совершенными фильтрами реконструкций если и только если:

    • PRCond(z) = 2, и

    • AACond(z) = 0

    Если PRCond (z) = 2 zd, задержка введена в процессе реконструкции.

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

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

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

    Функции

    Объекты

    Введенный в R2021b