ParaHermFourierCoeff

PURPOSE ^

R0 = ParaHermFourierCoeff(R,f0);

SYNOPSIS ^

function R0 = ParaHermFourierCoeff(R,f0);

DESCRIPTION ^

 R0 = ParaHermFourierCoeff(R,f0);

  Given a MxMxL parahermitian matrix in the time domain, this function 
  evaluates the Fourier coefficient matrix at normalised frequency f0.
  The normalisation is such that f0 = 0 is DC, and f0 = 1 the sampling 
  rate.

  Input parameters:
      R      MxMxL parahermitian matrix in the time/coefficient domain
      f0     normalised frequenc [0...1]

  Output parameter:
      R0     MxM Fourier coefficient matrix at norm. freq. f0

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function R0 = ParaHermFourierCoeff(R,f0);
0002 % R0 = ParaHermFourierCoeff(R,f0);
0003 %
0004 %  Given a MxMxL parahermitian matrix in the time domain, this function
0005 %  evaluates the Fourier coefficient matrix at normalised frequency f0.
0006 %  The normalisation is such that f0 = 0 is DC, and f0 = 1 the sampling
0007 %  rate.
0008 %
0009 %  Input parameters:
0010 %      R      MxMxL parahermitian matrix in the time/coefficient domain
0011 %      f0     normalised frequenc [0...1]
0012 %
0013 %  Output parameter:
0014 %      R0     MxM Fourier coefficient matrix at norm. freq. f0
0015 
0016 % S. Weiss, 18/4/2021
0017 
0018 % parameters
0019 [M,~,L] = size(R);
0020 Maxtau = (L-1)/2;
0021 
0022 % Fourier coefficient
0023 R0 = zeros(M,M);
0024 for m = 1:M,
0025    for mu = 1:(m-1),
0026       R0(mu,m) = squeeze(R(mu,m,:)).'*exp(-sqrt(-1)*2*pi*f0*(-Maxtau:Maxtau)');
0027    end;
0028    R0(m,m) = .5*squeeze(R(m,m,:)).'*exp(-sqrt(-1)*2*pi*f0*(-Maxtau:Maxtau)');
0029 end;
0030 R0 = R0+R0';
0031

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