from Schur Stability Test of 2-D Polynomials by Yang Xiao
The program can test the Schur stability of 2-D Polynomials.

Schur_ST2D.m
% Schur Stability Test of 2-D Polynomials
% 
% Copyright (C) Yang XIAO, Beijing Jiaotong University, Aug.25, 2007, E-Mail: yxiao@bjtu.edu.cn.
% 
% The stability of 2-D discrete systems (2-D IIR filters and 2-D ARMA models) can be determined by 
% the Schur stability of characteristic polynomials of the systems [1-5]. 
% The characteristic polynomials can be expressed as a 2-D Polynomial in s-z domain: 
% B(z1,z2)=[1 z1^(-1) z1^(-2)]*B*[1 z2(-1) z2^(-2)]'. 
% This program derived from the main results of Ref. [1-5], and it can test the Schur stability of 2-D Polynomials.
% 
% Ref:
% [1] XIAO Yang; Unbehauen, R.; New stability test algorithm for two-dimensional digital filters, 
% IEEE Transactions on Circuits and Systems I: Fundamental Theory and Applications, Volume 45, 
% Issue 7, July 1998 Page(s):739 - 741
% [2] Yang Xiao; Unbehauen, R.; Xiyu Du; A finite test algorithm for 2D Schur polynomials based on
% complex Lyapunov equation, Proceedings of the 1999 IEEE International Symposium on Circuits 
% and Systems, 1999. ISCAS '99. Volume 3, 30 May-2 June 1999 Page(s):339 - 342 vol.3 
% [3] Yang Xiao; Unbehauen, R.; Xiyu Du; A necessary condition for Schur stability of 2D polynomials
% [digital filters], Proceedings of the 1999 IEEE International Symposium on Circuits and 
% Systems (ISCAS '99), 1999. Volume 3, 30 May-2 June 1999 Page(s):439 - 442 vol.3 
% [4] Yang Xiao; Unbehauen, R.; Xiyu Du; Schur stability of polytopes of bivariate polynomials, 
% Electronics, The 6th IEEE International Conference on Circuits and Systems, 1999. Proceedings of 
% ICECS '99. Volume 3, 5-8 Sept. 1999 Page(s):1269 - 1272 vol.3 
% [5] Y. Xiao, Stability Analysis of Multidimensional Systems, Shanghai Science and Technology Press, Shanghai, 2003.
% The papers [1-4] can be downloaded from Web site of IEEE Explore.

% 2-D Polynomial: B(z1,z2)=[1 z1^(-1) z1^(-2)]*B*[1 z2^(-1) z2^(-2)]'
clear;
i=sqrt(-1);
M=512;   % The number of discrete frequency points on unit circle
w=0;
for n=1:M
w=pi*n/M;

z=exp(j*2*pi*(n-1)/M); % 
%---------------------------
% stable
%  a=[12 6 0;
%     10 5 0;
%      2 0 1]
%-----------------------------
%stable
%  B=[1 -1.2 .5;
%      -1.5 1.8 -.75;
%      .6 -.72 .2719];
%---------------------
%unstable
 B=[1 -1.2 .5;           % The coefficients of a 2-D  polynomial
     -1.5 1.8 -.75;
     .6 -.72 .269];
%---------------------

bb=B*[1 z^(-1) z^(-2)]';
%aa=a*[1 z z^2 z^3]'
B0=bb(1);
B1=bb(2);
B2=bb(3);
%A=abs(b0)-abs(b1);
BZ=[B0 B1 B2];         % The complex varible polynomial coefficients B0(z1), B1(z1) and B2(z1) of the 2-D  polynomial
x(n)=max(abs(roots(BZ)));
if x(n)>1
e=x(n);
end
end
xmax=max(x)

plot(x)

fprintf('Display the maximum absolute value of the roots of the given polynomial\n')
if xmax>1
fprintf('The 2-D polynomial is not Schur stable')
else
    fprintf('The 2-D polynomial is Schur stable')
end 
plot(x)
ylabel('The maximum absolute value of the roots of the polynomial');
xlabel('The discrete frequency points on unit circle');

Contact us at files@mathworks.com