47 lines
1.1 KiB
Matlab
47 lines
1.1 KiB
Matlab
initparams;
|
|
N_loc = 3; %check
|
|
CHA2B = {}; %this should be a cell array
|
|
CHB2A = {}; %this should be a cell array
|
|
|
|
% run measurements for all location
|
|
for loc = 1:N_loc
|
|
runmeas_woduplex;
|
|
% alternatively load the measurements from file for testing
|
|
% now you should have chanestA2B, fchanestA2B, tchanestA2B, chanestB2A,
|
|
% fchanestB2A, tchanestB2A
|
|
CHA2B{loc} = chanestsA2B; %to check
|
|
CHB2A{loc} = chanestsB2A; %to check
|
|
disp('Please move the antenna to another location and press key when finished')
|
|
pause
|
|
end
|
|
|
|
%% calculate full F matrix
|
|
Fs = zeros(Nantb,Nantb,301);
|
|
for s=1:301
|
|
[F, HA]=alterproj(CHB2A,CHA2B, s, Nantb, N_loc, Nmeas);
|
|
Fs(:,:,s)=F;
|
|
%HAs{s}=HA;
|
|
end
|
|
|
|
%% calculate the diag F matrix based on last position
|
|
Fds = zeros(Nantb,Nantb,301);
|
|
for s=1:301
|
|
CHA = squeeze(chanestsA2B(s,:,:));
|
|
CHB = aqueeze(chanestsB2A(s,:,:));
|
|
Fds(:,:,s)=diag(diag(CHB*CHA')./diag(CHA*CHA'));
|
|
end
|
|
|
|
%% plot F
|
|
figure(1)
|
|
clf
|
|
hold on;
|
|
for s=1:size(Fs,3);
|
|
F=Fs(:,:,s);
|
|
plot(diag(F),'bo')
|
|
plot(diag(F,1),'r+')
|
|
plot(diag(F,2),'gx')
|
|
end
|
|
%axis([-1 1 -1 1])
|
|
hold off;
|
|
|