allpass2wdf

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

Описание

w = allpass2wdf(a) принимает вектор из действительных allpass полиномиальных коэффициентов фильтра a, и возвращает преобразованный коэффициент wW может использоваться с 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)

Figure contains an axes object. The axes object contains an object of type line.

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

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

свернуть все

Числовой вектор из 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