Находящееся в области модальное разложение
[H,H0] = modsep(G,N,REGIONFCN)
MODSEP(G,N,REGIONFCN,PARAM1,...)
[H,H0] = modsep(G,N,REGIONFCN) анализирует модель LTI G в сумму n более простые модели Hj с их полюсами в непересекающихся областях Rj из комплексной плоскости:
G может быть любая модель LTI, созданная с sstf , или zpk, и N количество областей, используемых в разложении. modsep упаковывает подмодели Hj в массив LTI H и возвращает статическое усиление H0 отдельно. Используйте H(:,:,j) получать подмодель Hj(s).
Чтобы задать необходимые области, используйте функцию формы
IR = REGIONFCN(p)
это присваивает индекс области IR между 1 и N к данному полюсу p. Можно задать эту функцию ее именем или как указатель на функцию и использовать синтаксис MODSEP(G,N,REGIONFCN,PARAM1,...) передать дополнительные входные параметры:
IR = REGIONFCN(p,PARAM1,...)
Анализировать G в G(z) = H0 + H1(z) + H2(z) где H1 и H2 имейте их полюса внутри и снаружи единичного диска соответственно, используйте
[H,H0] = modsep(G,2,@udsep)
где функциональный udsep задан
function r = udsep(p) if abs(p)<1, r = 1; % assign r=1 to poles inside unit disk else r = 2; % assign r=2 to poles outside unit disk end
Извлекать H1(z) и H2(z) от массива LTI HИспользование
H1 = H(:,:,1); H2 = H(:,:,2);