Files
openairinterface5g/targets/PROJECTS/TDDREC/calibration.m
T

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;