exponenta event banner

tf2ca

Функция передачи на связанный allpass

Синтаксис

[d1,d2] = tf2ca(b,a)
[d1,d2] = tf2ca(b,a)
[d1,d2,beta] = tf2ca(b,a)

Описание

[d1,d2] = tf2ca(b,a) где b - действительный симметричный вектор числительных коэффициентов и a - действительный вектор коэффициентов знаменателя, соответствующий стабильному цифровому фильтру, возвращает вещественные векторы d1 и d2 содержащий коэффициенты знаменателя фильтров allpass H1 (z) и H2 (z), такие, что

H (z) = B (z) A (z) = (12) [H1 (z) + H2 (z)]

представляет собой связанное разложение allpass.

[d1,d2] = tf2ca(b,a) где b - действительный антисимметричный вектор числительных коэффициентов и a - действительный вектор коэффициентов знаменателя, соответствующий стабильному цифровому фильтру, возвращает вещественные векторы d1 и d2 содержащий коэффициенты знаменателя фильтров allpass H1 (z) и H2 (z), такие, что

H (z) = B (z) A (z) = (12) [H1 (z) − H2 (z)]

В некоторых случаях разложение невозможно с вещественными H1 (z) и H2 (z). В этих случаях может быть возможно обобщенное связанное разложение allpass, как описано в следующем синтаксисе.

[d1,d2,beta] = tf2ca(b,a) возвращает комплексные векторы d1 и d2 содержащий коэффициенты знаменателя фильтров allpass H1 (z) и H2 (z) и комплексный скалярbeta, удовлетворяет требованиям |beta| = 1, так что

H (z) = B (z) A (z) = (12) [β¯⋅H1 (z) +β⋅H2 (z)]

представляет обобщенное разложение allpass.

В вышеприведенных уравнениях H1 (z) и H2 (z) являются действительными или комплексными IIR-фильтрами allpass, заданными

Первое полугодие (z) =fliplr ((D1 (z)) ¯) D1 (z), второе полугодие (1) (z) =fliplr ((D2 (1) (z) ¯)) D2 (1) (z)

где D1 (z) и D2 (z) - многочлены, коэффициенты которых задаются d1 и d2.

Примечание

Связанное разложение allpass не всегда возможно. Тем не менее, Butterworth, Chebyshev и Elliptic IIR фильтры, среди прочих, могут быть факторизованы таким образом. Для получения дополнительной информации см. Руководство пользователя по обработке сигналов Toolbox™.

Примеры

[b,a]=cheby1(9,.5,.4);
[d1,d2]=tf2ca(b,a); 	% TF2CA returns denominators of the allpass.
num = 0.5*conv(fliplr(d1),d2)+0.5*conv(fliplr(d2),d1);
den = conv(d1,d2); 	% Reconstruct numerator and denonimator.
MaxDiff=max([max(b-num),max(a-den)]); % Compare original and reconstructed
							% numerator and denominators.

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

.

См. также

| | | |

Представлен в R2011a