function [xsnap,Shat]=mksnaps(S,nsnaps) %%% MKSNAPS %%% This function generates a set of snapshots given an ideal %%% covariance matrix %%% %%% Variables: S = ideal covariance matrix (NxN) %%% nsnaps = # of desired snapshots %%% xsnap = matrix of snapshots %%% Shat = estimated covariance matrix based on snapshots %--------------------------------------------------------------------------- [nrcv,junk]=size(S); [Sevec,Seval]=eig(S); xsnap=Sevec*sqrt(abs(Seval))*(randn(nrcv,nsnaps)+j*randn(nrcv,nsnaps))/sqrt(2); Shat=xsnap*xsnap'/nsnaps; %--------------------------------------------------------------------------- return