


[H,Gamma] = SBR2(R,maxiter,epsilon,mu,vers);
Polynomial matrix eigenvalue decomposition (PEVD) algorithm factorising
a parahermitian matrix represented by R using the second order sequential
best rotatio (SBR2) algorithm [1].
[H,Gamma]=SBR2(R) takes as input an MxMx(2L+1) matrix R representing a
parahermitian matrix R(z) of the form
R(z) = RL'z^L + ... + R1' z + R0 + R1 z^{-1} + ... + RLz^{-L}
whereby
R(:,:,1) = RL';
...
R(:,:,L) = R1';
R(:,:,L+1) = R0;
R(:,:,L+2) = R1;
...
R(:,:,2*L+1) = RL;
The function returns a paraunitary matrix H(z) in H which creates an
approximately diagonalised parahermitian Gamma(z)
Gamma(z) = H(z) R(z) H~(z).
The format of Gamma representing Gamma(z) is analogously to R above. For
H(z) = H0 + H1 z^{-1} + H2 z^{-2} + ...
the returned parameter H is
H(:,:,1) = H0;
H(:,:,2) = H1;
H(:,:,3) = H2;
...
SBR2 will strive of diagonalise and spectrally majorise Gamma(z). The
algorithm stops either after a fixed number of iterations or once a
threshold for the maximum absolute value of off-diagonal elements has
been reached. Default values are outlined below.
[H,Gamma] = SBR2(R,maxiter) stops after maxiter iterations. The default
value for the optional parameter maxiter is 400.
[H,Gamma] = SBR2(R,maxiter,epsilon) stops either after maxiter iterations
or once the maximum absolute off-diagonal element has a value smaller than
epsilon.
[H,Gamma] = SBR2(R,maxiter,epsilon,mu) additionally performs a truncation
of the parahermitian matrix at every iteration such that matrices at outer
lags containing a mu-th of the total power are truncated. This stops
unnecessary growth of the parahermitian matrix, and therefore keeps
computational complexity down and Gamma of sufficiently low order.
[H,Gamma] = SBR2(R,maxiter,epsilon,mu,vers) take the optional input vers
to switch between SBR2 (vers='SBR2') and the coding-gain optimised SBRC2
(vers='SBR2C').
Input parameters:
R polynomial covariance matrix
maxiter maximum number of iterations (optional)
default: 400
epsilon stop if largest absolute off-diag element is smaller than
epsilon (optional)
default: 0.0001
mu power ratio in tail of polynomial matrix to be truncated at
every iteration (optional)
default: 0.0 (only truncating true zeroes)
vers SBR2 version ('SBR2' or 'SBR2C')
default: 'SBR2C'
Output parameters:
H paraunitary matrix
Gamma approximately diagonalised and spectrally majorised para-
hermitian matrix
Please not that the SBR2 algorithm is subject of a patent owned by
QinetiQ. QinetiQ has given permission for its free use in university
research, but at present its use in a commercial application without
license from QinetiQ would be an infringement of the patent.
References:
[1] J.G. McWhirter, P.D. Baxter, T. Cooper, S. Redif, and J. Foster, "An
EVD Algorithm for Para-Hermitian Polynomial Matrices," IEEE Trans-
actions on Signal Processing, vol. 55, no. 5, pp. 2158-2169, May 2007.
[2] S. Redif, J.G. McWhirter, and S. Weiss, "Design of FIR Paraunitary
Filter Banks for Subband Coding Using a Polynomial Eigenvalue Decompo-
sition," IEEE Transactions on Signal Processing, vol. 59, no. 11,
pp. 5253-5264, Nov 2011.
Acknowledgement to the appropriate paper should be given if this function
is utilised for academic output.

0001 function [H,Gamma] = SBR2(R,maxiter,epsilon,Mu,vers); 0002 %[H,Gamma] = SBR2(R,maxiter,epsilon,mu,vers); 0003 % 0004 % Polynomial matrix eigenvalue decomposition (PEVD) algorithm factorising 0005 % a parahermitian matrix represented by R using the second order sequential 0006 % best rotatio (SBR2) algorithm [1]. 0007 % 0008 % [H,Gamma]=SBR2(R) takes as input an MxMx(2L+1) matrix R representing a 0009 % parahermitian matrix R(z) of the form 0010 % R(z) = RL'z^L + ... + R1' z + R0 + R1 z^{-1} + ... + RLz^{-L} 0011 % whereby 0012 % R(:,:,1) = RL'; 0013 % ... 0014 % R(:,:,L) = R1'; 0015 % R(:,:,L+1) = R0; 0016 % R(:,:,L+2) = R1; 0017 % ... 0018 % R(:,:,2*L+1) = RL; 0019 % The function returns a paraunitary matrix H(z) in H which creates an 0020 % approximately diagonalised parahermitian Gamma(z) 0021 % Gamma(z) = H(z) R(z) H~(z). 0022 % The format of Gamma representing Gamma(z) is analogously to R above. For 0023 % H(z) = H0 + H1 z^{-1} + H2 z^{-2} + ... 0024 % the returned parameter H is 0025 % H(:,:,1) = H0; 0026 % H(:,:,2) = H1; 0027 % H(:,:,3) = H2; 0028 % ... 0029 % SBR2 will strive of diagonalise and spectrally majorise Gamma(z). The 0030 % algorithm stops either after a fixed number of iterations or once a 0031 % threshold for the maximum absolute value of off-diagonal elements has 0032 % been reached. Default values are outlined below. 0033 % 0034 % [H,Gamma] = SBR2(R,maxiter) stops after maxiter iterations. The default 0035 % value for the optional parameter maxiter is 400. 0036 % 0037 % [H,Gamma] = SBR2(R,maxiter,epsilon) stops either after maxiter iterations 0038 % or once the maximum absolute off-diagonal element has a value smaller than 0039 % epsilon. 0040 % 0041 % [H,Gamma] = SBR2(R,maxiter,epsilon,mu) additionally performs a truncation 0042 % of the parahermitian matrix at every iteration such that matrices at outer 0043 % lags containing a mu-th of the total power are truncated. This stops 0044 % unnecessary growth of the parahermitian matrix, and therefore keeps 0045 % computational complexity down and Gamma of sufficiently low order. 0046 % 0047 % [H,Gamma] = SBR2(R,maxiter,epsilon,mu,vers) take the optional input vers 0048 % to switch between SBR2 (vers='SBR2') and the coding-gain optimised SBRC2 0049 % (vers='SBR2C'). 0050 % 0051 % Input parameters: 0052 % R polynomial covariance matrix 0053 % maxiter maximum number of iterations (optional) 0054 % default: 400 0055 % epsilon stop if largest absolute off-diag element is smaller than 0056 % epsilon (optional) 0057 % default: 0.0001 0058 % mu power ratio in tail of polynomial matrix to be truncated at 0059 % every iteration (optional) 0060 % default: 0.0 (only truncating true zeroes) 0061 % vers SBR2 version ('SBR2' or 'SBR2C') 0062 % default: 'SBR2C' 0063 % 0064 % Output parameters: 0065 % H paraunitary matrix 0066 % Gamma approximately diagonalised and spectrally majorised para- 0067 % hermitian matrix 0068 % 0069 % Please not that the SBR2 algorithm is subject of a patent owned by 0070 % QinetiQ. QinetiQ has given permission for its free use in university 0071 % research, but at present its use in a commercial application without 0072 % license from QinetiQ would be an infringement of the patent. 0073 % 0074 % References: 0075 % 0076 % [1] J.G. McWhirter, P.D. Baxter, T. Cooper, S. Redif, and J. Foster, "An 0077 % EVD Algorithm for Para-Hermitian Polynomial Matrices," IEEE Trans- 0078 % actions on Signal Processing, vol. 55, no. 5, pp. 2158-2169, May 2007. 0079 % 0080 % [2] S. Redif, J.G. McWhirter, and S. Weiss, "Design of FIR Paraunitary 0081 % Filter Banks for Subband Coding Using a Polynomial Eigenvalue Decompo- 0082 % sition," IEEE Transactions on Signal Processing, vol. 59, no. 11, 0083 % pp. 5253-5264, Nov 2011. 0084 % 0085 % Acknowledgement to the appropriate paper should be given if this function 0086 % is utilised for academic output.