Документация Engee

allpass2wdf

Преобразование коэффициентов универсального цифрового фильтра в коэффициенты волнового цифрового фильтра.

Библиотека

EngeeDSP

Синтаксис

Вызов функции

  • w = allpass2wdf(a) — принимает вектор вещественных коэффициентов a универсального полиномиального фильтра и возвращает преобразованные коэффициенты w.

  • W = allpass2wdf(A) — принимает массив ячеек векторов коэффициентов A универсального полиномиального фильтра. Каждая ячейка A содержит коэффициенты секции каскадного универсального фильтра. Аргумент W также является массивом ячеек, и каждая ячейка W содержит преобразованную версию коэффициентов соответствующей ячейки A.

Аргументы

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

# a — коэффициенты универсального фильтра
вектор вещественных чисел

Details

Коэффициенты универсального фильтра, заданные как вектор вещественных чисел. Вектор a может иметь длину, равную только 1, 2 и 4. Если длина равна 4, то первый и третий компоненты должны быть равны нулю. Вектор a может быть вектором-строкой или вектором-столбцом.

Типы данных

Float32, Float64

# A — коэффициенты универсального фильтра
вектор ячеек

Details

Каскад коэффициентов универсального фильтра, заданный как вектор ячеек. Каждая ячейка A должна содержать вектор длины 1, 2 и 4. Если длина равна 4, то первый и третий компоненты должны быть равны нулю. Вектор ячеек A может быть вектором-строкой или вектором-столбцом.

Типы данных

Float32, Float64

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

# w — преобразованные коэффициенты a
вектор вещественных чисел

Details

Преобразованные коэффициенты для односекционного фильтра, возвращаемые как вектор вещественных чисел. Аргумент w всегда возвращается как вектор-строка.

Типы данных

Float32, Float64

# W — преобразованные коэффициенты A
вектор ячеек

Details

Каскад преобразованных коэффициентов для многосекционного фильтра, возвращаемый как вектор ячеек. Аргумент W всегда возвращается как вектор-столбец ячеек.

Типы данных

Float32, Float64

Алгоритмы

В более общем случае входные коэффициенты A определяют каскадный или многосекционный универсальный фильтр. Функция allpass2wdf применяется отдельно к каждой секции того же преобразования, что и в случае односекционного фильтра. В случае односекционного фильтра вектор числовых коэффициентов a содержит стандартное полиномиальное представление универсального фильтра пропускания первого, второго или четвертого порядка. Например, в случае первого порядка:

определяет передаточную функцию первого порядка:

а в случае первого порядка:

определяет передаточную функцию второго порядка:

Универсальные передаточные функции и могут также иметь следующие альтернативные представления, использующие разделенные коэффициенты в векторах или соответственно:

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

Для заданного вектора коэффициентов секции , функция allpass2wdf вычисляет соответствующий вектор таким образом, что

где или .

В результате используются следующие формулы:

  • для первого порядка:

  • для второго порядка:

  • для четвертого порядка: