Files
openairinterface5g/openair1/SIMULATION/TOOLS/scm.m
T
Cedric Roux aea6b4b5a6 fix a lot of file mode
For whatever reason most of the files had their permission
changed from 644 to 755, which is not wanted.
2019-01-07 16:22:28 +01:00

46 lines
1.2 KiB
Matlab

alpha = [-0.4616 + 0.5439i, 0.2806 + 0.6476i, -0.1136 - 0.6818i, 0.6944 + 0.5043i, 0.4072 + 0.5626i, -0.7753 + 0.1776i];
beta = [ 0.0225 - 0.0595i, 0.0088 + 0.0602i, 0.0307 + 0.0555i, -0.0244 - 0.0028i, 0.0828 - 0.2378i, 0.4194 - 0.2429i];
n_tx = 2;
n_rx = 1;
A = zeros(length(alpha),n_tx,n_tx);
B = zeros(length(alpha),n_rx,n_rx);
C = zeros(length(alpha),n_tx*n_rx, n_tx*n_rx);
D = zeros(length(alpha),n_tx*n_rx, n_tx*n_rx);
fprintf(1,'double R%d%d_sqrt[%d][%d] = {\n', n_tx, n_rx, length(alpha), 2*(n_tx*n_rx)^2);
for i=1:length(alpha)
if (n_tx==1)
A(i,:,:) = 1;
elseif (n_tx==2)
A(i,:,:) = [1 conj(alpha(i)); alpha(i) 1];
else
error('n_tx must be <= 2')
end
if (n_rx==1)
B(i,:,:) = 1;
elseif (n_rx==2)
B(i,:,:) = [1 conj(beta(i)); beta(i) 1];
else
error('n_tx must be <= 2')
end
C(i,:,:) = kron(squeeze(A(i,:,:)),squeeze(B(i,:,:)));
D(i,:,:) = sqrtm(squeeze(C(i,:,:)));
fprintf(1,'{');
for j=1:((n_tx*n_rx)^2-1)
fprintf(1,'%f, %f,', real(D(i,j)), imag(D(i,j)));
end
j=(n_tx*n_rx)^2;
fprintf(1,'%f, %f},\n', real(D(i,j)), imag(D(i,j)));
end
fprintf(1,'};\n');