exponenta event banner

zpkshift

Нули, полюса и усиление действительное преобразование частоты сдвига

Синтаксис

[Z2,P2,K2,AllpassNum,AllpassDen] = zpkshift(Z,P,K,Wo,Wt)

Описание

[Z2,P2,K2,AllpassNum,AllpassDen] = zpkshift(Z,P,K,Wo,Wt) возвращает нули, Z2 , полюса, P2, и фактор усиления, K2, из целевого фильтра, преобразованного от нулей, полюса и фактор усиления действительного lowpass моделируют путем применения действительного отображения частоты сдвига второго порядка. Это также возвращает числитель, AllpassNum, и знаменатель, AllpassDen из allpass, сопоставляющего фильтр.

Это преобразование помещает, тот выбрал функцию исходного фильтра, расположенного на частоте Во, на необходимом целевом местоположении частоты, весе. Это преобразование реализует "Мобильность DC", что означает, что функция Найквиста остается в Найквисте, но функция DC перемещается в местоположение, зависящее от выбора Во и Wt.

Относительные положения других функций исходного фильтра не изменяются в целевом фильтре. Это означает, что возможно выбрать две функции исходного фильтра, F1 и F2, с F1, предшествующим F2. F1 функции будет все еще предшествовать F2 после преобразования. Однако расстояние между F1 и F2 не будет тем же самым до и после преобразования.

Выбор функции, удовлетворяющей действительному преобразованию сдвига, не ограничивается частотой среза исходного фильтра lowpass. В целом возможно выбрать любую функцию; например, ребро полосы задерживания, DC, глубокий минимум в полосе задерживания или другие единицы.

Это преобразование может также использоваться в преобразовании других типов фильтров; например, фильтры метки или резонаторы могут сменить свое положение простым способом без потребности спроектировать их снова.

Примеры

Вращайте частотную характеристику π/2 радианами/выборкой:

[B,A] = ellip(10,0.1,40,0.25);
% Elliptic lowpass filter with passband frequency 0.25*pi rad/sample
Z = roots(B); % get roots of numerator polynomial- filter zeros
P = roots(A); % get roots of denominator polynomial- filter poles
K = B(1);
[Z2,P2,K2] = zpkshift(Z,P,K,0.25,0.75); % shift by 0.25*pi rad/sample
Num = poly(Z2);
Den = poly(P2);
hfvt = fvtool(B,A,K2*Num,Den);
legend(hfvt,'Original Filter','Rotate by \pi/2 radians/sample');
axis([0 1 -90 10]);

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

| |

Введенный в R2011a