Files
openairinterface5g/openair1/EMOS/LTE/POST_PROCESSING/CapCom/coded2uncoded.m
T
2013-06-25 09:05:02 +00:00

34 lines
1.3 KiB
Matlab

function uncoded_rps = coded2uncoded(coded_rps,direction)
% uncoded_rps = coded2uncoded(coded_rps);
%
% This function computes the uncoded rate per second for a coded rate. It
% basically caps the rate to the one given in the table below.
%
% The maximum uncoded throughput is derived as follows. Each DL subframe
% contains 3600 REs out of which 400 REs are used for pilots and 800 for
% the PDCCH, leaving 2400 REs for the DLSCH. Each UL subframe has 3600 RE,
% out of which 600 are used for pilots and 300 for the SRS, leving 2700 REs
% for the ULSCH. Assuming TDD frame configuration 3 (6 DL subframes, 3 UL
% subframes, 1 special subframe), this results in a maximum throughput of
%
% DL UL
% QPSK: 2.88 Mbps 1.62 Mbps
% 16QAM: 5.76 Mbps 3.24 Mbps
% 64QAM: 8.64 Mbps 4.86 Mbps
uncoded_rps = coded_rps;
switch (direction)
case 'DL'
uncoded_rps(coded_rps>0 & coded_rps<=2.88e6) = 2.88e6;
uncoded_rps(coded_rps>2.88e6 & coded_rps<=5.76e6) = 5.76e6;
uncoded_rps(coded_rps>5.76e6) = 8.64e6;
case 'UL'
uncoded_rps(coded_rps>0 & coded_rps<=1.62e6) = 1.62e6;
uncoded_rps(coded_rps>1.62e6 & coded_rps<=3.24e6) = 3.24e6;
uncoded_rps(coded_rps>3.24e6) = 4.86e6;
otherwise
error('Unknown direction')
end