ParaHermDFT

PURPOSE ^

Rf = ParaHermDFT(Rt,Nfft);

SYNOPSIS ^

function Rf = ParaHermDFT(Rt,Nfft);

DESCRIPTION ^

Rf = ParaHermDFT(Rt,Nfft);

  Rf = ParaHermDFT(Rt,Nfft) returns the Nfft-point DFT of a space-time
  covariance matrix stored in Rt. The matrix Rt is of dimension MxMxL,
  where M is the spatial dimension, and L the lag dimension (assumed to be odd).

  The function first aligns Rt, such that the zero-lag component is indeed
  at zero.

  Nfft must be larger than L.

  Input parameters:
    Rt         space-time covariance matrix
    Nfft       DFT length
 
  Output parameter:
    Rf         MxMxNfft cross-spectral density matrix

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function Rf = ParaHermDFT(Rt,Nfft);
0002 %Rf = ParaHermDFT(Rt,Nfft);
0003 %
0004 %  Rf = ParaHermDFT(Rt,Nfft) returns the Nfft-point DFT of a space-time
0005 %  covariance matrix stored in Rt. The matrix Rt is of dimension MxMxL,
0006 %  where M is the spatial dimension, and L the lag dimension (assumed to be odd).
0007 %
0008 %  The function first aligns Rt, such that the zero-lag component is indeed
0009 %  at zero.
0010 %
0011 %  Nfft must be larger than L.
0012 %
0013 %  Input parameters:
0014 %    Rt         space-time covariance matrix
0015 %    Nfft       DFT length
0016 %
0017 %  Output parameter:
0018 %    Rf         MxMxNfft cross-spectral density matrix
0019 
0020 % S. Weiss, 9/3/2018
0021 
0022 [M,~,L] = size(Rt);
0023 if L > Nfft,
0024    error('DFT length too short');
0025 end;
0026 
0027 % rearrange time domain data
0028 L2 = (L+1)/2;
0029 R_td = zeros(M,M,Nfft);
0030 R_td(:,:,1:L2) = Rt(:,:,L2:L);
0031 R_td(:,:,Nfft-L2+2:Nfft) = Rt(:,:,1:L2-1);
0032 
0033 % apply DFT
0034 Rf = fft(R_td,Nfft,3);
0035

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