SBR2

PURPOSE ^

[H,Gamma] = SBR2(R,maxiter,epsilon,mu,vers);

SYNOPSIS ^

function [H,Gamma] = SBR2(R,maxiter,epsilon,Mu,vers);

DESCRIPTION ^

[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.

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

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.

Generated on Mon 03-Jul-2023 19:45:57 by m2html © 2005