P = PolyMatDiagSpec(R,Ndft); PolyMatDiagSpec(R) calculates the spectra on the main diagonal of a poly- nomial matrix R of dimension MxNxL, evaluated over L DFT bins. The spectra are returned as the columns of an LxK matrix P, with K=min(M,N). PolyMatDiagSpec(R,Ndft) calculates the spectra using Ndft number of bins, whereby Ndft must be greater or equal L. The spectral are returned as the columns of an (Ndft)xK matrix P. Input parameters: R MxNxL polynomial matrix Ndft number of DFT bins (options) default: L Output parameter: P Ndft x min(M,N) matrix of spectra
0001 function P = PolyMatDiagSpec(H,Ndft); 0002 %P = PolyMatDiagSpec(R,Ndft); 0003 % 0004 % PolyMatDiagSpec(R) calculates the spectra on the main diagonal of a poly- 0005 % nomial matrix R of dimension MxNxL, evaluated over L DFT bins. The 0006 % spectra are returned as the columns of an LxK matrix P, with K=min(M,N). 0007 % 0008 % PolyMatDiagSpec(R,Ndft) calculates the spectra using Ndft number of bins, 0009 % whereby Ndft must be greater or equal L. The spectral are returned as 0010 % the columns of an (Ndft)xK matrix P. 0011 % 0012 % Input parameters: 0013 % R MxNxL polynomial matrix 0014 % Ndft number of DFT bins (options) 0015 % default: L 0016 % 0017 % Output parameter: 0018 % P Ndft x min(M,N) matrix of spectra 0019 0020 % S. Weiss, 20/10/2005 0021 0022 [M,N,L] = size(H); 0023 0024 if nargin==1, 0025 Ndft = L; 0026 end; 0027 if Ndft<L, 0028 warning('parameter Ndft in function MIMODiagSpec() is too small'); 0029 end; 0030 0031 MN = min(M,N); 0032 P = zeros(Ndft,MN); 0033 for i = 1:MN, 0034 P(:,i) = fft(shiftdim(H(i,i,:),2),Ndft); 0035 end; 0036