exponenta event banner

tf2cl

Передаточная функция для связанной решетки allpass

Синтаксис

[k1,k2] = tf2cl(b,a)
[k1,k2] = tf2cl(b,a)
[k1,k2,beta] = tf2cl(b,a)

Описание

[k1,k2] = tf2cl(b,a) где b - действительный симметричный вектор числительных коэффициентов и a - действительный вектор коэффициентов знаменателя, соответствующий стабильному цифровому фильтру, будет выполнять связанное разложение allpass

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

стабильного БИХ-фильтра H (z) и преобразования функций передачи allpass H1 (z) и H2 (z) в связанную решетчатую структуру allpass с коэффициентами, заданными в векторахk1 и k2.

[k1,k2] = tf2cl(b,a) где b - действительный антисимметричный вектор числительных коэффициентов и a - действительный вектор коэффициентов знаменателя, соответствующий стабильному цифровому фильтру, выполняет связанное разложение allpass

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

стабильного БИХ-фильтра H (z) и преобразует функции передачи allpass H1 (z) и H2 (z) в связанную решетчатую структуру allpass с коэффициентами, заданными в векторахk1 и k2.

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

[k1,k2,beta] = tf2cl(b,a) выполняет обобщенное разложение allpass стабильного БИХ-фильтра H (z) и преобразует комплексные функции передачи allpass H1 (z) и H2 (z) в соответствующие решётчатые фильтры allpass

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

где beta - комплексный скаляр величины, равный 1.

Примечание

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

Примеры

[b,a]=cheby1(9,.5,.4);
[k1,k2]=tf2cl(b,a); % Get the reflection coeffs. for the lattices.
[num1,den1]=latc2tf(k1,'allpass'); % Convert each allpass lattice
[num2,den2]=latc2tf(k2,'allpass'); % back to transfer function.
num = 0.5*conv(num1,den2)+0.5*conv(num2,den1);
den = conv(den1,den2); % Reconstruct numerator and denonimator.
MaxDiff=max([max(b-num),max(a-den)]); % Compare original and reconstructed
							% numerator and denominators.

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

.

См. также

| | | | |

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