polystab

Стабилизируйте полином

Синтаксис

b = polystab(a)

Описание

polystab стабилизирует полином относительно модуля круга; он отражает корни с величинами, большими 1 внутри модуля круга.

b = polystab(a) возвращает вектор-строку b содержащий стабилизированный полином. a является вектором с полиномиальными коэффициентами, обычно в z-области:

A(z)=a(1)+a(2)z1++a(m+1)zm.

Примеры

свернуть все

Используйте оконный метод для разработки 25-одной конечной импульсной характеристики фильтра с нормализованной частотой отсечения 0.4π рад/образец. Проверьте, что она имеет линейную фазу, но не минимальную фазу.

h = fir1(25,0.4);

h_linphase = islinphase(h)
h_linphase = logical
   1

h_minphase = isminphase(h)
h_minphase = logical
   0

Использование polystab для преобразования линейно-фазового фильтра в минимально-фазовый фильтр. Постройте график фазовых откликов фильтров.

hmin = polystab(h)*norm(h)/norm(polystab(h));

hmin_linphase = islinphase(hmin)
hmin_linphase = logical
   0

hmin_minphase = isminphase(hmin)
hmin_minphase = logical
   1

hfvt = fvtool(h,1,hmin,1,'Analysis','phase');
legend(hfvt,'h','hmin')

Figure Filter Visualization Tool - Phase Response contains an axes and other objects of type uitoolbar, uimenu. The axes with title Phase Response contains 2 objects of type line. These objects represent h, hmin.

Проверьте, что эти два фильтра имеют одинаковые величины отклики.

hfvt = fvtool(h,1,hmin,1);
legend(hfvt,'h','hmin')

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains 2 objects of type line. These objects represent h, hmin.

Алгоритмы

polystab находит корни полинома и отображает те корни, которые находятся вне модуля круга, внутрь модуля круга:

v = roots(a);
vs = 0.5*(sign(abs(v)-1)+1);
v = (1-vs).*v + vs./conj(v);
b = a(1)*poly(v);

См. также

Представлено до R2006a