All pastes #674520 Raw Edit

Someone

public text v1 · immutable
#674520 ·published 2007-08-29 10:05 UTC
rendered paste body
clear all;
close all;

randn('state',0);
rand('state',0);
t0 = cputime;
nbrloops = 1;

loopbegin = cputime - t0

%L = 2; 			%% # of signals
N = 8; 			%% # of sensors
T = 1000;		%% # of samples of X (snapshots)
	     		%% The matrix C = U * U' with U = W * A looks better when T > 1000 
K = 10; 		%% # of sample covariances matrices of Z, # of delays
thold = 1.0e-12; 	%% Just a threshold for the joint approximate diagonalization 
x1 = 550; 		%% Start of the interval for the plot
x2 = 650;		%% End of the interval for the plot
SNR = 10;


L_max = 7;
L_min = 2;
SINR_SNR = zeros(1,L_max);
L_set = L_min:1:L_max;

for l=0:(nbrloops-1),
	for k=0:size(L_set,2)-1,
		%loopbegin = cputime - t0
		L = L_set(k+1);

		[X, S, A, Ps, Pw, Noise] = signal(T, N, L, SNR);

		[Rx, Lambda, H, Lambda_small] = cov_sample(X, T, N, L);

		[sigma, W] = whitening(Lambda_small, Lambda, H, N, L);

		[U, C] = check_w(W, A);

		[Z] = matrix_z(W, X);

		[R] = estimate_R(Z, T, K, L);

		[V, D] = joint_diag(R,thold);

		[SE, AE, QE, IW] = final_estimation(V, W, X);

		[xcorr, SEF, AEF, QEF] = max_corr(S, SE, AE, QE, N, L, T);

		[SINR, R_s, R_in] = sinr(S, A, QEF, Ps, Pw, L, N, T);

		SINR_L(k+1) = SINR(1);
		%loopend = cputime - t0
	end;

	plotbegin = cputime - t0
	SINR_L_f(l+1,:) = SINR_L
end;

for k=0:size(L_set,2)-1,
	SINR_L_m(k+1) = mean(SINR_L_f(:,k+1));
end;

SINR_L_m

figure(1)
plot((L_min:10:L_max),SINR_L_m,'r')
%hold on
%plot((T_min:10:T_max),SINR_T_m(99)*ones(1,size(T_min:10:T_max,2)),'b') 
xlabel('Number of signals L');
ylabel('SINR of signal 1 in dB');
title(['Influence of L for SNR = 10dB, T = 1000, K = 10 and for nbrloops = ',num2str(nbrloops)]);