PMUSICDemo

PURPOSE ^

function SpectralMajorisationDemo();

SYNOPSIS ^

This is a script file.

DESCRIPTION ^

function SpectralMajorisationDemo();
SpectralMajorisationDemo()

  This demo demonstrated spectral majorisation achieved by a number of 
  iterative PEVD algorithms after 50 and 200 iterations for a situation 
  with known ground truth.
  The ground truth is provided by a source model generated by the 
  function GenerateMIMOSources(), which here contains 8 sources with 
  spectrally majorised PSDs and a paraunitary convolutive mixing matrix
  of order 16.

  The results reflect approximately those shown in Figures 4 and 5 of [1].

  Reference:
  
  [1]

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 %function SpectralMajorisationDemo();
0002 %SpectralMajorisationDemo()
0003 %
0004 %  This demo demonstrated spectral majorisation achieved by a number of
0005 %  iterative PEVD algorithms after 50 and 200 iterations for a situation
0006 %  with known ground truth.
0007 %  The ground truth is provided by a source model generated by the
0008 %  function GenerateMIMOSources(), which here contains 8 sources with
0009 %  spectrally majorised PSDs and a paraunitary convolutive mixing matrix
0010 %  of order 16.
0011 %
0012 %  The results reflect approximately those shown in Figures 4 and 5 of [1].
0013 %
0014 %  Reference:
0015 %
0016 %  [1]
0017 
0018 % S. Weiss, University of Strathclyde, 2/11/2014
0019 
0020 M = 8; 
0021 N = 100000;
0022 
0023 %-----------------------------------------------------
0024 %  Simulated sources
0025 %-----------------------------------------------------
0026 % set seeds
0027 randn('seed',10); rand('seed',10);
0028 % define source parameters
0029 Angles = [0; 20; 40]/180*pi;        % angles of arrival
0030 Freqs  = [0 0.4 0.5 0.7 0.8 1;      % bandpass definitions
0031           0 0.35 0.45 0.7 0.8 1;
0032           0 0.4 0.5 0.8 0.9 1];
0033 % derive array data
0034 X = zeros(M,N);
0035 for i  = 1:1,
0036   S = BBSteeringVector(8,Angles(i),25);
0037   f = firpm(24,Freqs(i,:),[0 0 1 1 0 0]);
0038   s = filter(f,1,randn(1,N));
0039   X = X + MIMOFilter(S,s);
0040 end;
0041 % space-time covariance matrix
0042 R = SpaceTimeCovMat(X,55);
0043 
0044 %-----------------------------------------------------
0045 %  Polynomial EVD
0046 %-----------------------------------------------------
0047 [H,Gamma] = SMD(R,100,0.0001,0.0001);
0048 
0049 %-----------------------------------------------------
0050 %  Polynomial MUSIC
0051 %-----------------------------------------------------
0052 angles = [(-90:5:-40),  (-39:-21),  (-20:5:10), (11:49), (50:5:90)];
0053 Nfft= 512;
0054 [Pss,Ps] = PssMusic(PUPolyMatTrim(H,0.00001),1,Nfft,angles,0.001);
0055 contourf(angles,(1:Nfft),20*log10(Pss))

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