SMD

PURPOSE ^

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

SYNOPSIS ^

function [H,Gamma] = SMD(R,maxiter,epsilon,Mu,SFlag);

DESCRIPTION ^

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

  Polynomial matrix eigenvalue decomposition (PEVD) algorithm factorising
  a parahermitian matrix represented by R using the sequential matrix
  diagonalisation (SMD) method [1].

  [H,Gamma]=SMD(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;
      ...
  SMD 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] = SMD(R,maxiter) stops after maxiter iterations. The default
  value for the optional parameter maxiter is 400.

  [H,Gamma] = SMD(R,maxiter,epsilon) stops either after maxiter iterations
  or once the maximum absolute off-diagonal element has a value smaller than
  epsilon.

  [H,Gamma] = SMD(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] = SMD(R,maxiter,epsilon,mu,vers) take the optional input vers
  to switch between SMD (vers='SMD') and the coding-gain optimised maximum 
  element SMD (MESMD, vers='MESMD').

  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      SMD version ('SMD' or 'MESMD')
               default: 'SMD'

  Output parameters:
     H         paraunitary matrix
    Gamma      polynomial covariance matrix

  Reference:

  [1] S. Redif, S. Weiss, and J.G. McWhirter, "Sequential Matrix Diagonalisation
      Algorithms for Polynomial EVD of Parahermitian Matrices," to appear in IEEE
      Transactions on Signal Processing. 

  Please acknowledge this paper 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] = SMD(R,maxiter,epsilon,Mu,SFlag);
0002 %[H,Gamma] = SMD(R,maxiter,epsilon,Mu,vers);
0003 %
0004 %  Polynomial matrix eigenvalue decomposition (PEVD) algorithm factorising
0005 %  a parahermitian matrix represented by R using the sequential matrix
0006 %  diagonalisation (SMD) method [1].
0007 %
0008 %  [H,Gamma]=SMD(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 %  SMD 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] = SMD(R,maxiter) stops after maxiter iterations. The default
0035 %  value for the optional parameter maxiter is 400.
0036 %
0037 %  [H,Gamma] = SMD(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] = SMD(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] = SMD(R,maxiter,epsilon,mu,vers) take the optional input vers
0048 %  to switch between SMD (vers='SMD') and the coding-gain optimised maximum
0049 %  element SMD (MESMD, vers='MESMD').
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      SMD version ('SMD' or 'MESMD')
0062 %               default: 'SMD'
0063 %
0064 %  Output parameters:
0065 %     H         paraunitary matrix
0066 %    Gamma      polynomial covariance matrix
0067 %
0068 %  Reference:
0069 %
0070 %  [1] S. Redif, S. Weiss, and J.G. McWhirter, "Sequential Matrix Diagonalisation
0071 %      Algorithms for Polynomial EVD of Parahermitian Matrices," to appear in IEEE
0072 %      Transactions on Signal Processing.
0073 %
0074 %  Please acknowledge this paper if this function is utilised for academic output.

Generated on Wed 03-Dec-2014 19:38:11 by m2html © 2005