|
найдите корни числителя и знаменателя:
num = [2 10 23 34 31 16 4];
den = [36 78 87 59 26 7 1];
rnum = roots(num);
rden = roots(den);
После этого проще руками "спарить" комплексно-сопряженные корни, превратив их в полином второго порядка от z. Если имеются чисто действительные корни, то их "спаривать" вместе.
Приведу один пример. Корни числителя будут:
rnum =
-2.0000
-0.5000 + 1.3229i
-0.5000 - 1.3229i
-1.0000
-0.5000 + 0.5000i
-0.5000 - 0.5000i
Вот берем пару сопряженных корней и получаем:
biquad_num{1} = conv([1 -(-0.5000 + 1.3229i)], [1 -(-0.5000 - 1.3229i)]);
Для действительных корней стряпаем так:
biquad_num{2} = conv([1 -(-2.0000)], [1 -(-1.0000)]);
Подобным же образом составите биквадные компоненты (полиномы второго порядка) для знаменателя, а также не забудьте составить третью компоненту для числителя.
Успехов!