allpass2wdf

Allpass к Цифровому содействующему преобразованию Фильтра Волны

Синтаксис

w = allpass2wdf(a)
W = allpass2wdf(A)

Описание

w = allpass2wdf(a) принимает вектор действительных allpass полиномиальных коэффициентов фильтра a и возвращает преобразованный коэффициент w. w может использоваться с allpass объектами фильтра, такими как dsp.AllpassFilter и dsp.CoupledAllpassFilter, с набором Структуры к 'Wave Digital Filter'.

W = allpass2wdf(A) принимает массив ячеек allpass полиномиальных векторов коэффициентов A. Каждая ячейка A содержит коэффициенты раздела каскада allpass фильтр. W является также массивом ячеек, и каждая ячейка W содержит преобразованную версию коэффициентов в соответствующей ячейке A. W может использоваться с allpass объектами фильтра, такими как dsp.AllpassFilter и dsp.CoupledAllpassFilter с набором структуры к 'Wave Digital Filter'.

Примеры

свернуть все

Примечание: Этот пример запускается только в R2016b или позже. Если вы используете более ранний релиз, заменяете каждый вызов функции с эквивалентным синтаксисом step. Например, myObject (x) становится шагом (myObject, x).

Создайте второй порядок allpass фильтр с коэффициентами = [0 0.5]. Преобразуйте эти коэффициенты в цифровую форму фильтра волны с помощью allpass2wdf. Присвойте преобразованные коэффициенты фильтру allpass с помощью цифровой структуры фильтра волны. Передайте случайный вход и этим фильтрам и сравните выходные параметры.

a = [0 0.5]; 
allpass = dsp.AllpassFilter('AllpassCoefficients', a);
w = allpass2wdf(a);
allpasswdf = dsp.AllpassFilter('Structure', 'Wave Digital Filter',...
    'WDFCoefficients', w);
in = randn(512, 1);
outputAllpass = allpass(in);
outputAllpasswdf = allpasswdf(in);
plot(outputAllpass-outputAllpasswdf)

Различие между этими двумя выходными параметрами является очень небольшим.

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

свернуть все

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

Пример: 0.7

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

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

Пример: {0.7, [0.1, 0.2]}

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

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

свернуть все

Числовой вектор преобразованных коэффициентов, определенных как вещественное число, чтобы использовать с одно разделом allpass объекты фильтра, устанавливающие Structure на 'Wave Digital Filter'. w всегда возвращается как числовой вектор - строка.

Пример: 0.7

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

Каскад преобразованного allpass фильтрует коэффициенты, определенные как массив ячеек, чтобы использовать с мультиразделом allpass объекты фильтра, устанавливающие Structure на 'Wave Digital Filter'. W всегда возвращается как столбец ячеек.

Пример: {0.7;[0.2,-0.0833]}

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

Алгоритмы

В более общем случае входные коэффициенты A задает каскад или мультиразделяет фильтр allpass. allpass2wdf применяется отдельно к каждому разделу того же преобразования, используемого в случае одно раздела. В случае одно раздела числовые коэффициенты векторизовали содержание стандартного полиномиального представления allpass фильтра порядка 1, 2, или 4. Например, в случае первого порядка,

a=[a1]

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

H1(z)=z1+a11+a1z1

и в случае второго порядка,

a=[a1,a2]

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

H2(z)=z2+a1z1+a21+a1z1+a2z2

.

allpass H1 передаточных функций и H2 могут также иметь следующие альтернативные представления, с помощью разъединенных коэффициентов в векторе w1 или w2 соответственно.

H~1(z)=z1+w11+w1z1

H~2(z)=z2+w2(1+w1)z1+w11+w2(1+w1)z1+w1z2

Для allpass коэффициентов w часто используется, чтобы вывести множители адаптера для Цифровых структур Фильтра Волны, и он требуется многими базирующимися allpass, просачивается DSP System Toolbox™, когда Structure установлен в 'Wave Digital Filter' (например, dsp.AllpassFilter и dsp.CoupledAllpassFilter).

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

when i = 1, 2 or 4H~i(z)=Hi(z)

Это приводит к использованию следующих формул:

for order 1:w1=a1for order 2:w1=a2w2=a11+a2for order 4:w1=a4w3=a21+a4w2=w4=0

Ссылки

[1] М. Лутовэк, Д. Тошич, Б. Эванс, Проект Фильтра для использования Обработки сигналов MATLAB и Mathematica. Prentice Hall, 2001.

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

Функции

Объекты

Введенный в R2014a

Для просмотра документации необходимо авторизоваться на сайте