Files
openairinterface5g/openair1/SIMULATION/LTE_RECIPROCITY/mat_code/basictls.m
T
2013-06-25 09:05:02 +00:00

30 lines
732 B
Matlab

function[x]=basictls(A,B);
%TLS de base voir Overview...
%[U D V]=svd([A B]);
%m=size(A,1);d=size(B,2);n=size(A,2);
%Vdd=V((n+1):(n+d),(n+1):(n+d));
%if det(Vdd)~=0 %non singular
% x=-V(1:size(A,2),(size(A,2)+1):(n+d)) * inv(Vdd);
% x=-V(1:n,(n+1):(n+d)) / Vdd;
%else
% fprintf('\n*******Pas de solution, matrice singuliere Vdd********\n')
%end
px =[A B]' * [A B];
ar=real(px(1,1));
ai=imag(px(1,1));
br=real(px(1,2));
bi=imag(px(1,2));
cr=real(px(2,1));
ci=imag(px(2,1));
dr=real(px(2,2));
di=imag(px(2,2));
if((ar-dr+sqrt((ar-dr)*(ar-dr)+((br*br+bi*bi)*4)))~=0)
x=2*br/(ar-dr+sqrt((ar-dr)*(ar-dr)+((br*br+bi*bi)*4))) + 2i*bi/(ar-dr+sqrt((ar-dr)*(ar-dr)+((br*br+bi*bi)*4)));
else
x=0+1i*0;
end