Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Michael Black
OpenXG UE
Commits
8e854abc
Commit
8e854abc
authored
4 years ago
by
laurent
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
some cleanup and checks
parent
f6820697
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
145 additions
and
134 deletions
+145
-134
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+4
-4
cmake_targets/build_oai
cmake_targets/build_oai
+4
-0
cmake_targets/tools/build_helper
cmake_targets/tools/build_helper
+9
-5
executables/ocp-gnb.c
executables/ocp-gnb.c
+20
-13
openair1/PHY/LTE_TRANSPORT/transport_extern.h
openair1/PHY/LTE_TRANSPORT/transport_extern.h
+1
-1
openair1/PHY/NR_TRANSPORT/nr_transport_common_proto.h
openair1/PHY/NR_TRANSPORT/nr_transport_common_proto.h
+1
-0
openair1/PHY/NR_TRANSPORT/pucch_rx.c
openair1/PHY/NR_TRANSPORT/pucch_rx.c
+1
-1
openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c
openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c
+1
-0
openair1/PHY/phy_extern.h
openair1/PHY/phy_extern.h
+16
-17
openair1/PHY/phy_extern_nr_ue.h
openair1/PHY/phy_extern_nr_ue.h
+13
-17
openair1/PHY/phy_extern_ue.h
openair1/PHY/phy_extern_ue.h
+15
-18
openair1/PHY/phy_vars.h
openair1/PHY/phy_vars.h
+21
-21
openair1/PHY/phy_vars_nr_ue.h
openair1/PHY/phy_vars_nr_ue.h
+17
-17
openair1/PHY/phy_vars_ue.h
openair1/PHY/phy_vars_ue.h
+17
-17
openair2/LAYER2/MAC/mac_extern.h
openair2/LAYER2/MAC/mac_extern.h
+1
-1
openair2/LAYER2/MAC/pre_processor.c
openair2/LAYER2/MAC/pre_processor.c
+1
-0
openair2/LAYER2/NR_MAC_COMMON/nr_mac_extern.h
openair2/LAYER2/NR_MAC_COMMON/nr_mac_extern.h
+1
-1
openair3/NAS/TOOLS/conf_network.c
openair3/NAS/TOOLS/conf_network.c
+1
-1
targets/RT/USER/lte-softmodem.c
targets/RT/USER/lte-softmodem.c
+1
-0
No files found.
cmake_targets/CMakeLists.txt
View file @
8e854abc
...
@@ -2439,9 +2439,9 @@ endif (${T_TRACER})
...
@@ -2439,9 +2439,9 @@ endif (${T_TRACER})
#This rule and the following deal with it.
#This rule and the following deal with it.
add_custom_command
(
add_custom_command
(
OUTPUT
${
OPENAIR_DIR
}
/common/utils/T/T_IDs.h
OUTPUT
${
OPENAIR_DIR
}
/common/utils/T/T_IDs.h
COMMAND
$
(
MAKE
)
clean
COMMAND
make
clean
COMMAND
$
(
MAKE
)
COMMAND
make
COMMAND
$
(
MAKE
)
check_vcd
COMMAND
make
check_vcd
WORKING_DIRECTORY
${
OPENAIR_DIR
}
/common/utils/T
WORKING_DIRECTORY
${
OPENAIR_DIR
}
/common/utils/T
DEPENDS
${
OPENAIR_DIR
}
/common/utils/T/T_messages.txt
DEPENDS
${
OPENAIR_DIR
}
/common/utils/T/T_messages.txt
${
OPENAIR_DIR
}
/common/utils/LOG/vcd_signal_dumper.c
${
OPENAIR_DIR
}
/common/utils/LOG/vcd_signal_dumper.c
...
@@ -3073,7 +3073,7 @@ function(make_driver name dir)
...
@@ -3073,7 +3073,7 @@ function(make_driver name dir)
endforeach
()
endforeach
()
CONFIGURE_FILE
(
${
OPENAIR_CMAKE
}
/tools/Kbuild.cmake
${
OPENAIR_BIN_DIR
}
/
${
name
}
/Kbuild
)
CONFIGURE_FILE
(
${
OPENAIR_CMAKE
}
/tools/Kbuild.cmake
${
OPENAIR_BIN_DIR
}
/
${
name
}
/Kbuild
)
add_custom_command
(
OUTPUT
${
name
}
.ko
add_custom_command
(
OUTPUT
${
name
}
.ko
COMMAND
$
(
MAKE
)
-C
${
module_build_path
}
M=
${
OPENAIR_BIN_DIR
}
/
${
name
}
COMMAND
make
-C
${
module_build_path
}
M=
${
OPENAIR_BIN_DIR
}
/
${
name
}
WORKING_DIRECTORY
${
OPENAIR_BIN_DIR
}
/
${
name
}
WORKING_DIRECTORY
${
OPENAIR_BIN_DIR
}
/
${
name
}
COMMENT
"building
${
module
}
.ko"
COMMENT
"building
${
module
}
.ko"
VERBATIM
VERBATIM
...
...
This diff is collapsed.
Click to expand it.
cmake_targets/build_oai
View file @
8e854abc
...
@@ -408,6 +408,10 @@ function main() {
...
@@ -408,6 +408,10 @@ function main() {
SKIP_SHARED_LIB_FLAG
=
"True"
SKIP_SHARED_LIB_FLAG
=
"True"
echo_info
"Skipping build of shared libraries, rfsimulator, basicsimulator and transport protocol libraries"
echo_info
"Skipping build of shared libraries, rfsimulator, basicsimulator and transport protocol libraries"
shift
;;
shift
;;
--ninja
)
CMAKE_CMD
=
"
$CMAKE_CMD
-GNinja"
MAKE_CMD
=
ninja
shift
;;
-h
|
--help
)
-h
|
--help
)
print_help
print_help
exit
1
;;
exit
1
;;
...
...
This diff is collapsed.
Click to expand it.
cmake_targets/tools/build_helper
View file @
8e854abc
...
@@ -183,10 +183,14 @@ compilations() {
...
@@ -183,10 +183,14 @@ compilations() {
else
else
COV_SCAN_PREFIX=""
COV_SCAN_PREFIX=""
fi
fi
if [ "$VERBOSE_COMPILE" == "1" ]; then
if [ "$MAKE_CMD" != "" ]; then
$COV_SCAN_PREFIX make -j`nproc` $2 VERBOSE=$VERBOSE_COMPILE
$MAKE_CMD $2
else
else
$COV_SCAN_PREFIX make -j`nproc` $2
if [ "$VERBOSE_COMPILE" == "1" ]; then
$COV_SCAN_PREFIX make -j`nproc` $2 VERBOSE=$VERBOSE_COMPILE
else
$COV_SCAN_PREFIX make -j`nproc` $2
fi
fi
fi
} > $dlog/$2.$REL.txt 2>&1
} > $dlog/$2.$REL.txt 2>&1
...
@@ -778,7 +782,7 @@ install_asn1c_from_source(){
...
@@ -778,7 +782,7 @@ install_asn1c_from_source(){
install_nas_tools() {
install_nas_tools() {
if [ ! -f .ue.nvram0 ]; then
if [ ! -f .ue.nvram0 ]; then
echo_success "generate .ue_emm.nvram .ue.nvram"
echo_success "generate .ue_emm.nvram .ue.nvram
./nvram --gen -c $1 -o $2
"
./nvram --gen -c $1 -o $2
./nvram --gen -c $1 -o $2
else
else
[ ./nvram -nt .ue.nvram0 -o ./nvram -nt .ue_emm.nvram0 ] && ./nvram --gen -c $1 -o $2
[ ./nvram -nt .ue.nvram0 -o ./nvram -nt .ue_emm.nvram0 ] && ./nvram --gen -c $1 -o $2
...
...
This diff is collapsed.
Click to expand it.
executables/ocp-gnb.c
View file @
8e854abc
...
@@ -486,34 +486,39 @@ void RCconfig_RU(void) {
...
@@ -486,34 +486,39 @@ void RCconfig_RU(void) {
return
;
return
;
}
}
int
rx_rf
(
RU_t
*
ru
,
int
lastReadSz
)
{
int
rx_rf
(
RU_proc_t
*
proc
,
NR_DL_FRAME_PARMS
*
fp
,
int
nb_rx
,
int32_t
**
rxdata
,
int
lastReadSz
,
RU_proc_t
*
proc
=
&
ru
->
proc
;
openair0_device
*
rfdevice
,
openair0_timestamp
ts_offset
)
{
NR_DL_FRAME_PARMS
*
fp
=
ru
->
nr_frame_parms
;
void
*
rxp
[
nb_rx
];
void
*
rxp
[
ru
->
nb_rx
];
int
nextSlot
=
(
proc
->
tti_rx
+
1
)
%
fp
->
slots_per_frame
;
int
nextSlot
=
(
proc
->
tti_rx
+
1
)
%
fp
->
slots_per_frame
;
uint32_t
samples_per_slot
=
fp
->
get_samples_per_slot
(
nextSlot
,
fp
);
uint32_t
samples_per_slot
=
fp
->
get_samples_per_slot
(
nextSlot
,
fp
);
for
(
int
i
=
0
;
i
<
ru
->
nb_rx
;
i
++
)
int
rxBufOffet
=
fp
->
get_samples_slot_timestamp
(
nextSlot
,
fp
,
0
);
rxp
[
i
]
=
(
void
*
)
&
ru
->
common
.
rxdata
[
i
][
fp
->
get_samples_slot_timestamp
(
nextSlot
,
fp
,
0
)];
int
controlrxBufOffet
=
(
proc
->
timestamp_rx
+
lastReadSz
)
%
fp
->
samples_per_frame
;
AssertFatal
(
rxBufOffet
==
controlrxBufOffet
&&
rxBufOffet
+
samples_per_slot
<=
fp
->
samples_per_frame
,
"inconsistent IQ samples read"
);
for
(
int
i
=
0
;
i
<
nb_rx
;
i
++
)
rxp
[
i
]
=
(
void
*
)
&
rxdata
[
i
][
rxBufOffet
];
openair0_timestamp
old_ts
=
proc
->
timestamp_rx
;
openair0_timestamp
old_ts
=
proc
->
timestamp_rx
;
LOG_D
(
PHY
,
"Reading %d samples for slot %d (%p)
\n
"
,
samples_per_slot
,
nextSlot
,
rxp
[
0
]);
LOG_D
(
PHY
,
"Reading %d samples for slot %d (%p)
\n
"
,
samples_per_slot
,
nextSlot
,
rxp
[
0
]);
unsigned
int
rxs
=
r
u
->
rfdevice
.
trx_read_func
(
&
ru
->
rfdevice
,
unsigned
int
rxs
=
r
fdevice
->
trx_read_func
(
rfdevice
,
&
proc
->
timestamp_rx
,
&
proc
->
timestamp_rx
,
rxp
,
rxp
,
samples_per_slot
,
samples_per_slot
,
ru
->
nb_rx
);
nb_rx
);
if
(
rxs
!=
samples_per_slot
)
if
(
rxs
!=
samples_per_slot
)
LOG_E
(
PHY
,
"rx_rf: Asked for %d samples, got %d from USRP
\n
"
,
samples_per_slot
,
rxs
);
LOG_E
(
PHY
,
"rx_rf: Asked for %d samples, got %d from USRP
\n
"
,
samples_per_slot
,
rxs
);
// In case we need offset, between RU or any other need
// In case we need offset, between RU or any other need
// The sync system can put a offset to use betwwen RF boards
// The sync system can put a offset to use betwwen RF boards
proc
->
timestamp_rx
+=
ru
->
ts_offset
;
proc
->
timestamp_rx
+=
ts_offset
;
if
(
lastReadSz
&&
proc
->
timestamp_rx
-
old_ts
!=
lastReadSz
)
if
(
lastReadSz
&&
proc
->
timestamp_rx
-
old_ts
!=
lastReadSz
)
LOG_D
(
PHY
,
"rx_rf: rfdevice timing drift of %"
PRId64
" samples (ts_off %"
PRId64
")
\n
"
,
LOG_D
(
PHY
,
"rx_rf: rfdevice timing drift of %"
PRId64
" samples (ts_off %"
PRId64
")
\n
"
,
proc
->
timestamp_rx
-
old_ts
-
samples_per_slot
,
ru
->
ts_offset
);
proc
->
timestamp_rx
-
old_ts
-
samples_per_slot
,
ts_offset
);
return
rxs
;
return
rxs
;
}
}
...
@@ -738,10 +743,12 @@ static void *ru_thread( void *param ) {
...
@@ -738,10 +743,12 @@ static void *ru_thread( void *param ) {
// This is a forever while loop, it loops over subframes which are scheduled by incoming samples from HW devices
// This is a forever while loop, it loops over subframes which are scheduled by incoming samples from HW devices
int
lastReadSz
=
0
;
int
lastReadSz
=
0
;
sf_ahead
=
(
uint16_t
)
ceil
((
float
)
6
/
(
0x01
<<
fp
->
numerology_index
));
sf_ahead
=
(
uint16_t
)
ceil
((
float
)
6
/
(
0x01
<<
fp
->
numerology_index
));
proc
->
tti_rx
=-
1
;
// we increment before each read
openair0_timestamp
ts_offset
=
0
;
//for multi RU
while
(
!
oai_exit
)
{
while
(
!
oai_exit
)
{
// synchronization on input FH interface, acquire signals/data and block
// synchronization on input FH interface, acquire signals/data and block
lastReadSz
=
rx_rf
(
ru
,
lastReadSz
);
lastReadSz
=
rx_rf
(
proc
,
fp
,
ru
->
nb_rx
,
ru
->
common
.
rxdata
,
lastReadSz
,
&
ru
->
rfdevice
,
ts_offset
);
// do RX front-end processing (frequency-shift, dft) if needed
// do RX front-end processing (frequency-shift, dft) if needed
proc
->
frame_rx
=
(
proc
->
timestamp_rx
/
(
fp
->
samples_per_subframe
*
10
))
&
1023
;
proc
->
frame_rx
=
(
proc
->
timestamp_rx
/
(
fp
->
samples_per_subframe
*
10
))
&
1023
;
uint32_t
idx_sf
=
proc
->
timestamp_rx
/
fp
->
samples_per_subframe
;
uint32_t
idx_sf
=
proc
->
timestamp_rx
/
fp
->
samples_per_subframe
;
...
@@ -824,7 +831,7 @@ void launch_NR_RU(char *rf_config_file) {
...
@@ -824,7 +831,7 @@ void launch_NR_RU(char *rf_config_file) {
}
}
}
}
void
init_eNB_afterRU
()
{
void
init_eNB_afterRU
(
void
)
{
AssertFatal
(
false
,
""
);
AssertFatal
(
false
,
""
);
}
}
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_TRANSPORT/transport_extern.h
View file @
8e854abc
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
extern
unsigned
int
dlsch_tbs25
[
27
][
25
],
TBStable
[
27
][
110
],
TBStable1C
[
32
];
extern
unsigned
int
dlsch_tbs25
[
27
][
25
],
TBStable
[
27
][
110
],
TBStable1C
[
32
];
extern
unsigned
short
lte_cqi_eff1024
[
16
];
extern
unsigned
short
lte_cqi_eff1024
[
16
];
extern
char
lte_cqi_snr_dB
[
15
];
extern
char
lte_cqi_snr_dB
[
15
];
extern
short
conjugate
[
8
],
conjugate2
[
8
];
extern
const
short
conjugate
[
8
],
conjugate2
[
8
];
extern
short
minus_one
[
8
];
extern
short
minus_one
[
8
];
extern
short
minus_one
[
8
];
extern
short
minus_one
[
8
];
extern
short
*
ul_ref_sigs
[
30
][
2
][
34
];
extern
short
*
ul_ref_sigs
[
30
][
2
][
34
];
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_TRANSPORT/nr_transport_common_proto.h
View file @
8e854abc
...
@@ -61,4 +61,5 @@ uint32_t nr_get_G(uint16_t nb_rb, uint16_t nb_symb_sch, uint8_t nb_re_dmrs, uint
...
@@ -61,4 +61,5 @@ uint32_t nr_get_G(uint16_t nb_rb, uint16_t nb_symb_sch, uint8_t nb_re_dmrs, uint
uint32_t
nr_get_E
(
uint32_t
G
,
uint8_t
C
,
uint8_t
Qm
,
uint8_t
Nl
,
uint8_t
r
);
uint32_t
nr_get_E
(
uint32_t
G
,
uint8_t
C
,
uint8_t
Qm
,
uint8_t
Nl
,
uint8_t
r
);
void
init_pucch2_luts
(
void
);
#endif
#endif
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_TRANSPORT/pucch_rx.c
View file @
8e854abc
...
@@ -263,7 +263,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
...
@@ -263,7 +263,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
}
}
#else
#else
int16_t
*
x_re
=
table_5_2_2_2_2_Re
[
u
],
*
x_im
=
table_5_2_2_2_2_Im
[
u
];
const
int16_t
*
x_re
=
table_5_2_2_2_2_Re
[
u
],
*
x_im
=
table_5_2_2_2_2_Im
[
u
];
int16_t
xr
[
24
]
__attribute__
((
aligned
(
32
)));
int16_t
xr
[
24
]
__attribute__
((
aligned
(
32
)));
int16_t
xrt
[
24
]
__attribute__
((
aligned
(
32
)));
int16_t
xrt
[
24
]
__attribute__
((
aligned
(
32
)));
int32_t
xrtmag
=
0
;
int32_t
xrtmag
=
0
;
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c
View file @
8e854abc
...
@@ -38,6 +38,7 @@
...
@@ -38,6 +38,7 @@
#include "PHY/NR_UE_TRANSPORT/pucch_nr.h"
#include "PHY/NR_UE_TRANSPORT/pucch_nr.h"
#include "PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h"
#include "PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h"
#include "PHY/NR_TRANSPORT/nr_transport_common_proto.h"
#include "PHY/NR_TRANSPORT/nr_transport_common_proto.h"
#include <openair1/PHY/CODING/nrSmallBlock/nr_small_block_defs.h>
#include "common/utils/LOG/log.h"
#include "common/utils/LOG/log.h"
#include "common/utils/LOG/vcd_signal_dumper.h"
#include "common/utils/LOG/vcd_signal_dumper.h"
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/phy_extern.h
View file @
8e854abc
...
@@ -38,7 +38,7 @@ extern unsigned int TX_DMA_BUFFER[4][NB_ANTENNAS_TX];
...
@@ -38,7 +38,7 @@ extern unsigned int TX_DMA_BUFFER[4][NB_ANTENNAS_TX];
extern
unsigned
int
DAQ_MBOX
;
extern
unsigned
int
DAQ_MBOX
;
extern
int
number_of_cards
;
extern
int
number_of_cards
;
extern
short
conjugate
[
8
],
conjugate2
[
8
];
extern
const
short
conjugate
[
8
],
conjugate2
[
8
];
extern
RAN_CONTEXT_t
RC
;
extern
RAN_CONTEXT_t
RC
;
...
@@ -73,8 +73,8 @@ extern int flag_LA;
...
@@ -73,8 +73,8 @@ extern int flag_LA;
extern
double
sinr_bler_map
[
MCS_COUNT
][
2
][
MCS_TABLE_LENGTH_MAX
];
extern
double
sinr_bler_map
[
MCS_COUNT
][
2
][
MCS_TABLE_LENGTH_MAX
];
extern
double
sinr_bler_map_up
[
MCS_COUNT
][
2
][
16
];
extern
double
sinr_bler_map_up
[
MCS_COUNT
][
2
][
16
];
extern
int
table_length
[
MCS_COUNT
];
extern
int
table_length
[
MCS_COUNT
];
extern
double
sinr_to_cqi
[
4
][
16
];
extern
const
double
sinr_to_cqi
[
4
][
16
];
extern
int
cqi_to_mcs
[
16
];
extern
const
int
cqi_to_mcs
[
16
];
//for MU-MIMO abstraction using MIESM
//for MU-MIMO abstraction using MIESM
//this 2D arrarays contains SINR, MI and RBIR in rows 1, 2, and 3 respectively
//this 2D arrarays contains SINR, MI and RBIR in rows 1, 2, and 3 respectively
...
@@ -82,23 +82,22 @@ extern double MI_map_4qam[3][162];
...
@@ -82,23 +82,22 @@ extern double MI_map_4qam[3][162];
extern
double
MI_map_16qam
[
3
][
197
];
extern
double
MI_map_16qam
[
3
][
197
];
extern
double
MI_map_64qam
[
3
][
227
];
extern
double
MI_map_64qam
[
3
][
227
];
extern
double
beta1_dlsch_MI
[
6
][
MCS_COUNT
];
extern
const
double
beta1_dlsch_MI
[
6
][
MCS_COUNT
];
extern
double
beta2_dlsch_MI
[
6
][
MCS_COUNT
];
extern
const
double
beta2_dlsch_MI
[
6
][
MCS_COUNT
];
extern
double
q_qpsk
[
8
];
extern
const
double
q_qpsk
[
8
];
extern
double
q_qam16
[
8
];
extern
const
double
q_qam16
[
8
];
extern
double
q_qam64
[
8
];
extern
const
double
q_qam64
[
8
];
extern
const
double
p_qpsk
[
8
];
extern
const
double
p_qam16
[
8
];
extern
const
double
p_qam64
[
8
];
extern
double
p_qpsk
[
8
];
extern
const
double
beta1_dlsch
[
6
][
MCS_COUNT
];
extern
double
p_qam16
[
8
];
extern
const
double
beta2_dlsch
[
6
][
MCS_COUNT
];
extern
double
p_qam64
[
8
];
extern
double
beta1_dlsch
[
6
][
MCS_COUNT
];
extern
const
char
NB_functions
[
7
][
20
];
extern
double
beta2_dlsch
[
6
][
MCS_COUNT
];
extern
const
char
NB_timing
[
2
][
20
];
extern
const
char
ru_if_types
[
MAX_RU_IF_TYPES
][
20
];
extern
char
NB_functions
[
7
][
20
];
extern
char
NB_timing
[
2
][
20
];
extern
char
ru_if_types
[
MAX_RU_IF_TYPES
][
20
];
extern
int16_t
unscrambling_lut
[
65536
*
16
];
extern
int16_t
unscrambling_lut
[
65536
*
16
];
extern
uint8_t
scrambling_lut
[
65536
*
16
];
extern
uint8_t
scrambling_lut
[
65536
*
16
];
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/phy_extern_nr_ue.h
View file @
8e854abc
...
@@ -34,7 +34,7 @@ extern unsigned int TX_DMA_BUFFER[4][NB_ANTENNAS_TX];
...
@@ -34,7 +34,7 @@ extern unsigned int TX_DMA_BUFFER[4][NB_ANTENNAS_TX];
//#include "PHY/LTE_TRANSPORT/transport_extern.h"
//#include "PHY/LTE_TRANSPORT/transport_extern.h"
extern
short
conjugate
[
8
],
conjugate2
[
8
];
extern
const
short
conjugate
[
8
],
conjugate2
[
8
];
extern
int
number_of_cards
;
extern
int
number_of_cards
;
...
@@ -70,8 +70,8 @@ extern int flag_LA;
...
@@ -70,8 +70,8 @@ extern int flag_LA;
extern
double
sinr_bler_map
[
MCS_COUNT
][
2
][
MCS_TABLE_LENGTH_MAX
];
extern
double
sinr_bler_map
[
MCS_COUNT
][
2
][
MCS_TABLE_LENGTH_MAX
];
extern
double
sinr_bler_map_up
[
MCS_COUNT
][
2
][
16
];
extern
double
sinr_bler_map_up
[
MCS_COUNT
][
2
][
16
];
extern
int
table_length
[
MCS_COUNT
];
extern
int
table_length
[
MCS_COUNT
];
extern
double
sinr_to_cqi
[
4
][
16
];
extern
const
double
sinr_to_cqi
[
4
][
16
];
extern
int
cqi_to_mcs
[
16
];
extern
const
int
cqi_to_mcs
[
16
];
//for MU-MIMO abstraction using MIESM
//for MU-MIMO abstraction using MIESM
//this 2D arrarays contains SINR, MI and RBIR in rows 1, 2, and 3 respectively
//this 2D arrarays contains SINR, MI and RBIR in rows 1, 2, and 3 respectively
...
@@ -79,23 +79,19 @@ extern double MI_map_4qam[3][162];
...
@@ -79,23 +79,19 @@ extern double MI_map_4qam[3][162];
extern
double
MI_map_16qam
[
3
][
197
];
extern
double
MI_map_16qam
[
3
][
197
];
extern
double
MI_map_64qam
[
3
][
227
];
extern
double
MI_map_64qam
[
3
][
227
];
extern
double
beta1_dlsch_MI
[
6
][
MCS_COUNT
];
extern
const
double
beta1_dlsch_MI
[
6
][
MCS_COUNT
];
extern
double
beta2_dlsch_MI
[
6
][
MCS_COUNT
];
extern
const
double
beta2_dlsch_MI
[
6
][
MCS_COUNT
];
extern
double
q_qpsk
[
8
];
extern
const
double
q_qpsk
[
8
];
extern
double
q_qam16
[
8
];
extern
const
double
q_qam16
[
8
];
extern
double
q_qam64
[
8
];
extern
const
double
q_qam64
[
8
];
extern
double
p_qpsk
[
8
];
extern
const
double
beta1_dlsch
[
6
][
MCS_COUNT
];
extern
double
p_qam16
[
8
];
extern
const
double
beta2_dlsch
[
6
][
MCS_COUNT
];
extern
double
p_qam64
[
8
];
extern
double
beta1_dlsch
[
6
][
MCS_COUNT
];
extern
const
char
NB_functions
[
7
][
20
];
extern
double
beta2_dlsch
[
6
][
MCS_COUNT
];
extern
const
char
NB_timing
[
2
][
20
];
extern
const
char
ru_if_types
[
MAX_RU_IF_TYPES
][
20
];
extern
char
NB_functions
[
7
][
20
];
extern
char
NB_timing
[
2
][
20
];
extern
char
ru_if_types
[
MAX_RU_IF_TYPES
][
20
];
extern
int16_t
unscrambling_lut
[
65536
*
16
];
extern
int16_t
unscrambling_lut
[
65536
*
16
];
extern
uint8_t
scrambling_lut
[
65536
*
16
];
extern
uint8_t
scrambling_lut
[
65536
*
16
];
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/phy_extern_ue.h
View file @
8e854abc
...
@@ -36,9 +36,6 @@ extern unsigned int TX_DMA_BUFFER[4][NB_ANTENNAS_TX];
...
@@ -36,9 +36,6 @@ extern unsigned int TX_DMA_BUFFER[4][NB_ANTENNAS_TX];
extern
int
number_of_cards
;
extern
int
number_of_cards
;
extern
short
conjugate
[
8
],
conjugate2
[
8
];
extern
PHY_VARS_UE
***
PHY_vars_UE_g
;
extern
PHY_VARS_UE
***
PHY_vars_UE_g
;
extern
short
primary_synch0
[
144
];
extern
short
primary_synch0
[
144
];
...
@@ -70,8 +67,8 @@ extern int flag_LA;
...
@@ -70,8 +67,8 @@ extern int flag_LA;
extern
double
sinr_bler_map
[
MCS_COUNT
][
2
][
MCS_TABLE_LENGTH_MAX
];
extern
double
sinr_bler_map
[
MCS_COUNT
][
2
][
MCS_TABLE_LENGTH_MAX
];
extern
double
sinr_bler_map_up
[
MCS_COUNT
][
2
][
16
];
extern
double
sinr_bler_map_up
[
MCS_COUNT
][
2
][
16
];
extern
int
table_length
[
MCS_COUNT
];
extern
int
table_length
[
MCS_COUNT
];
extern
double
sinr_to_cqi
[
4
][
16
];
extern
const
double
sinr_to_cqi
[
4
][
16
];
extern
int
cqi_to_mcs
[
16
];
extern
const
int
cqi_to_mcs
[
16
];
//for MU-MIMO abstraction using MIESM
//for MU-MIMO abstraction using MIESM
//this 2D arrarays contains SINR, MI and RBIR in rows 1, 2, and 3 respectively
//this 2D arrarays contains SINR, MI and RBIR in rows 1, 2, and 3 respectively
...
@@ -79,23 +76,23 @@ extern double MI_map_4qam[3][162];
...
@@ -79,23 +76,23 @@ extern double MI_map_4qam[3][162];
extern
double
MI_map_16qam
[
3
][
197
];
extern
double
MI_map_16qam
[
3
][
197
];
extern
double
MI_map_64qam
[
3
][
227
];
extern
double
MI_map_64qam
[
3
][
227
];
extern
double
beta1_dlsch_MI
[
6
][
MCS_COUNT
];
extern
const
double
beta1_dlsch_MI
[
6
][
MCS_COUNT
];
extern
double
beta2_dlsch_MI
[
6
][
MCS_COUNT
];
extern
const
double
beta2_dlsch_MI
[
6
][
MCS_COUNT
];
extern
double
q_qpsk
[
8
];
extern
const
double
q_qpsk
[
8
];
extern
double
q_qam16
[
8
];
extern
const
double
q_qam16
[
8
];
extern
double
q_qam64
[
8
];
extern
const
double
q_qam64
[
8
];
extern
double
p_qpsk
[
8
];
extern
const
double
p_qpsk
[
8
];
extern
double
p_qam16
[
8
];
extern
const
double
p_qam16
[
8
];
extern
double
p_qam64
[
8
];
extern
const
double
p_qam64
[
8
];
extern
double
beta1_dlsch
[
6
][
MCS_COUNT
];
extern
const
double
beta1_dlsch
[
6
][
MCS_COUNT
];
extern
double
beta2_dlsch
[
6
][
MCS_COUNT
];
extern
const
double
beta2_dlsch
[
6
][
MCS_COUNT
];
extern
char
NB_functions
[
7
][
20
];
extern
c
onst
c
har
NB_functions
[
7
][
20
];
extern
char
NB_timing
[
2
][
20
];
extern
c
onst
c
har
NB_timing
[
2
][
20
];
extern
char
ru_if_types
[
MAX_RU_IF_TYPES
][
20
];
extern
c
onst
c
har
ru_if_types
[
MAX_RU_IF_TYPES
][
20
];
extern
int16_t
unscrambling_lut
[
65536
*
16
];
extern
int16_t
unscrambling_lut
[
65536
*
16
];
extern
uint8_t
scrambling_lut
[
65536
*
16
];
extern
uint8_t
scrambling_lut
[
65536
*
16
];
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/phy_vars.h
View file @
8e854abc
...
@@ -50,8 +50,8 @@ unsigned short rev[2048],rev_times4[8192],rev_half[1024];
...
@@ -50,8 +50,8 @@ unsigned short rev[2048],rev_times4[8192],rev_half[1024];
unsigned
short
rev256
[
256
],
rev512
[
512
],
rev1024
[
1024
],
rev4096
[
4096
],
rev2048
[
2048
],
rev8192
[
8192
];
unsigned
short
rev256
[
256
],
rev512
[
512
],
rev1024
[
1024
],
rev4096
[
4096
],
rev2048
[
2048
],
rev8192
[
8192
];
short
conjugate
[
8
]
__attribute__
((
aligned
(
16
)))
=
{
-
1
,
1
,
-
1
,
1
,
-
1
,
1
,
-
1
,
1
};
const
short
conjugate
[
8
]
__attribute__
((
aligned
(
16
)))
=
{
-
1
,
1
,
-
1
,
1
,
-
1
,
1
,
-
1
,
1
};
short
conjugate2
[
8
]
__attribute__
((
aligned
(
16
)))
=
{
1
,
-
1
,
1
,
-
1
,
1
,
-
1
,
1
,
-
1
};
const
short
conjugate2
[
8
]
__attribute__
((
aligned
(
16
)))
=
{
1
,
-
1
,
1
,
-
1
,
1
,
-
1
,
1
,
-
1
};
#include "SIMULATION/ETH_TRANSPORT/vars.h"
#include "SIMULATION/ETH_TRANSPORT/vars.h"
...
@@ -59,10 +59,10 @@ short conjugate2[8]__attribute__((aligned(16))) = {1,-1,1,-1,1,-1,1,-1};
...
@@ -59,10 +59,10 @@ short conjugate2[8]__attribute__((aligned(16))) = {1,-1,1,-1,1,-1,1,-1};
unsigned
char
NB_RU
=
0
;
unsigned
char
NB_RU
=
0
;
#ifndef OPENAIR2
#ifndef OPENAIR2
unsigned
char
NB_eNB_INST
=
0
;
//
unsigned char NB_eNB_INST=0;
uint16_t
NB_UE_INST
=
0
;
//
uint16_t NB_UE_INST=0;
unsigned
char
NB_RN_INST
=
0
;
//
unsigned char NB_RN_INST=0;
unsigned
char
NB_INST
=
0
;
//
unsigned char NB_INST=0;
#endif
#endif
int
number_of_cards
;
int
number_of_cards
;
...
@@ -84,29 +84,29 @@ double MI_map_16qam[3][197];
...
@@ -84,29 +84,29 @@ double MI_map_16qam[3][197];
double
MI_map_64qam
[
3
][
227
];
double
MI_map_64qam
[
3
][
227
];
// here the first index is for transmission mode 1, 2, 5 and 6 whereas the second index is for the 16 sinr vaues corresponding to 16 CQIs
// here the first index is for transmission mode 1, 2, 5 and 6 whereas the second index is for the 16 sinr vaues corresponding to 16 CQIs
double
sinr_to_cqi
[
4
][
16
]
=
{
{
-
2
.
5051
,
-
2
.
5051
,
-
1
.
7451
,
-
0
.
3655
,
1
.
0812
,
2
.
4012
,
3
.
6849
,
6
.
6754
,
8
.
3885
,
8
.
7970
,
12
.
0437
,
14
.
4709
,
15
.
7281
,
17
.
2424
,
17
.
2424
,
17
.
2424
},
const
double
sinr_to_cqi
[
4
][
16
]
=
{
{
-
2
.
5051
,
-
2
.
5051
,
-
1
.
7451
,
-
0
.
3655
,
1
.
0812
,
2
.
4012
,
3
.
6849
,
6
.
6754
,
8
.
3885
,
8
.
7970
,
12
.
0437
,
14
.
4709
,
15
.
7281
,
17
.
2424
,
17
.
2424
,
17
.
2424
},
{
-
2
.
2360
,
-
2
.
2360
,
-
1
.
3919
,
-
0
.
021
8
,
1
.
5319
,
2
.
9574
,
4
.
3234
,
6
.
3387
,
8
.
9879
,
9
.
5096
,
12
.
6609
,
14
.
0116
,
16
.
4984
,
18
.
1572
,
18
.
1572
,
18
.
1572
},
{
-
2
.
2360
,
-
2
.
2360
,
-
1
.
3919
,
-
0
.
021
8
,
1
.
5319
,
2
.
9574
,
4
.
3234
,
6
.
3387
,
8
.
9879
,
9
.
5096
,
12
.
6609
,
14
.
0116
,
16
.
4984
,
18
.
1572
,
18
.
1572
,
18
.
1572
},
{
-
1
,
-
1
.
0000
,
-
0
.
4198
,
-
0
.
0140
,
1
.
0362
,
2
.
3520
,
3
.
5793
,
6
.
1136
,
8
.
4836
,
9
.
0858
,
12
.
4723
,
13
.
9128
,
16
.
2054
,
17
.
7392
,
17
.
7392
,
17
.
7392
},
{
-
1
,
-
1
.
0000
,
-
0
.
4198
,
-
0
.
0140
,
1
.
0362
,
2
.
3520
,
3
.
5793
,
6
.
1136
,
8
.
4836
,
9
.
0858
,
12
.
4723
,
13
.
9128
,
16
.
2054
,
17
.
7392
,
17
.
7392
,
17
.
7392
},
{
-
4
.
1057
,
-
4
.
1057
,
-
3
.
3768
,
-
2
.
2916
,
-
1
.
1392
,
0
.
1236
,
1
.
2849
,
3
.
1933
,
5
.
9298
,
6
.
4052
,
9
.
6245
,
10
.
9414
,
13
.
5166
,
14
.
9545
,
14
.
9545
,
14
.
9545
}
{
-
4
.
1057
,
-
4
.
1057
,
-
3
.
3768
,
-
2
.
2916
,
-
1
.
1392
,
0
.
1236
,
1
.
2849
,
3
.
1933
,
5
.
9298
,
6
.
4052
,
9
.
6245
,
10
.
9414
,
13
.
5166
,
14
.
9545
,
14
.
9545
,
14
.
9545
}
};
};
//int cqi_to_mcs[16]={0, 0, 1, 3, 5, 7, 9, 13, 15, 16, 20, 23, 25, 27, 27, 27};
//int cqi_to_mcs[16]={0, 0, 1, 3, 5, 7, 9, 13, 15, 16, 20, 23, 25, 27, 27, 27};
int
cqi_to_mcs
[
16
]
=
{
0
,
0
,
1
,
2
,
4
,
6
,
8
,
11
,
13
,
16
,
18
,
20
,
23
,
25
,
27
,
28
};
const
int
cqi_to_mcs
[
16
]
=
{
0
,
0
,
1
,
2
,
4
,
6
,
8
,
11
,
13
,
16
,
18
,
20
,
23
,
25
,
27
,
28
};
//for SNR to MI conversion 7 th order Polynomial coeff
//for SNR to MI conversion 7 th order Polynomial coeff
double
q_qam16
[
8
]
=
{
3.21151853033897e-10
,
5.55435952230651e-09
,
-
2.30760065362117e-07
,
-
6.25587743817859e-06
,
4.62251036452795e-06
,
0
.
00224150
813158937
,
0
.
03
93723140344367
,
0
.
245486379182639
};
const
double
q_qam16
[
8
]
=
{
3.21151853033897e-10
,
5.55435952230651e-09
,
-
2.30760065362117e-07
,
-
6.25587743817859e-06
,
4.62251036452795e-06
,
0
.
00224150
813158937
,
0
.
03
93723140344367
,
0
.
245486379182639
};
double
q_qpsk
[
8
]
=
{
1.94491167814437e-09
,
8.40494123817774e-08
,
4.75527131198034e-07
,
-
2.48946285301621e-05
,
-
0
.
00034761401615
8364
,
0
.
0020
9252225437100
,
0
.
0742
986115462510
,
0
.
488297879889425
};
const
double
q_qpsk
[
8
]
=
{
1.94491167814437e-09
,
8.40494123817774e-08
,
4.75527131198034e-07
,
-
2.48946285301621e-05
,
-
0
.
00034761401615
8364
,
0
.
0020
9252225437100
,
0
.
0742
986115462510
,
0
.
488297879889425
};
double
q_qam64
[
8
]
=
{
2.25934026232206e-11
,
-
1.45992206328306e-10
,
-
3.70861183071900e-08
,
-
1.22206071019319e-06
,
6.49115500399637e-06
,
0
.
0012
9828997837433
,
0
.
025
9669554914859
,
0
.
166602901214898
};
const
double
q_qam64
[
8
]
=
{
2.25934026232206e-11
,
-
1.45992206328306e-10
,
-
3.70861183071900e-08
,
-
1.22206071019319e-06
,
6.49115500399637e-06
,
0
.
0012
9828997837433
,
0
.
025
9669554914859
,
0
.
166602901214898
};
//for MI to SNR conversion 7 th order Polynomial coeff
//for MI to SNR conversion 7 th order Polynomial coeff
double
p_qpsk
[
8
]
=
{
5982
.
42405670359
,
-
21568
.
1135917693
,
31293
.
9987036905
,
-
23394
.
6795043871
,
9608
.
34750585489
,
-
2158
.
15802349899
,
267
.
731968719036
,
-
20
.
6145324295965
};
const
double
p_qpsk
[
8
]
=
{
5982
.
42405670359
,
-
21568
.
1135917693
,
31293
.
9987036905
,
-
23394
.
6795043871
,
9608
.
34750585489
,
-
2158
.
15802349899
,
267
.
731968719036
,
-
20
.
6145324295965
};
double
p_qam16
[
8
]
=
{
7862
.
12690694170
,
-
28510
.
3207048338
,
41542
.
2150287122
,
-
31088
.
3036957379
,
12690
.
1982361016
,
-
2785
.
66604739984
,
326
.
595462489375
,
-
18
.
9911849872089
};
const
double
p_qam16
[
8
]
=
{
7862
.
12690694170
,
-
28510
.
3207048338
,
41542
.
2150287122
,
-
31088
.
3036957379
,
12690
.
1982361016
,
-
2785
.
66604739984
,
326
.
595462489375
,
-
18
.
9911849872089
};
double
p_qam64
[
8
]
=
{
8832
.
57933013696
,
-
32119
.
1802555952
,
46914
.
2578990397
,
-
35163
.
8150557183
,
14343
.
7419388853
,
-
3126
.
61025510092
,
360
.
954930562237
,
-
18
.
035
8548533343
};
const
double
p_qam64
[
8
]
=
{
8832
.
57933013696
,
-
32119
.
1802555952
,
46914
.
2578990397
,
-
35163
.
8150557183
,
14343
.
7419388853
,
-
3126
.
61025510092
,
360
.
954930562237
,
-
18
.
035
8548533343
};
// ideal CE MIESM
// ideal CE MIESM
double
beta1_dlsch_MI
[
6
][
MCS_COUNT
]
=
{
{
1
.
1188
,
0
.
3720
,
0
.
3755
,
0
.
9453
,
0
.
5799
,
0
.
5256
,
0
.
5485
,
0
.
5340
,
0
.
5165
,
0
.
5300
,
0
.
6594
,
0
.
5962
,
0
.
4884
,
0
.
4927
,
0
.
3687
,
0
.
4614
,
0
.
4081
,
0
.
2639
,
0
.
2935
,
0
.
2520
,
0
.
3709
,
0
.
2906
,
0
.
2612
,
0
.
2390
},
{
0
.
7138
,
0
.
5533
,
0
.
5533
,
0
.
4828
,
0
.
4998
,
0
.
4843
,
0
.
4942
,
0
.
5323
,
0
.
5142
,
0
.
4756
,
0
.
5792
,
0
.
4167
,
0
.
4445
,
0
.
3942
,
0
.
3789
,
0
.
2756
,
0
.
4456
,
0
.
1650
,
0
.
2254
,
0
.
2353
,
0
.
2097
,
0
.
2517
,
0
.
3242
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
1
.
808065416202085
,
1
.
754544945430673
,
1
.
902272019362616
,
1
.
790054645392961
,
1
.
563204092967629
,
1
.
585258289348813
,
1
.
579349443720310
,
1
.
570650121437345
,
1
.
545055626608596
,
1
.
362229442426877
,
1
.
85
,
1
.
79
,
1
.
65
,
1
.
54
,
1
.
46
,
1
.
39
,
1
.
33
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
0
.
7146
,
0
.
4789
,
0
.
5392
,
0
.
5556
,
0
.
4975
,
0
.
4847
,
0
.
4691
,
0
.
5261
,
0
.
5278
,
0
.
4962
,
0
.
4468
,
0
.
4113
,
0
.
4622
,
0
.
4609
,
0
.
3946
,
0
.
3991
,
0
.
3532
,
0
.
2439
,
0
.
1898
,
0
.
2929
,
0
.
2712
,
0
.
3367
,
0
.
3591
,
0
.
2571
}};
const
double
beta1_dlsch_MI
[
6
][
MCS_COUNT
]
=
{
{
1
.
1188
,
0
.
3720
,
0
.
3755
,
0
.
9453
,
0
.
5799
,
0
.
5256
,
0
.
5485
,
0
.
5340
,
0
.
5165
,
0
.
5300
,
0
.
6594
,
0
.
5962
,
0
.
4884
,
0
.
4927
,
0
.
3687
,
0
.
4614
,
0
.
4081
,
0
.
2639
,
0
.
2935
,
0
.
2520
,
0
.
3709
,
0
.
2906
,
0
.
2612
,
0
.
2390
},
{
0
.
7138
,
0
.
5533
,
0
.
5533
,
0
.
4828
,
0
.
4998
,
0
.
4843
,
0
.
4942
,
0
.
5323
,
0
.
5142
,
0
.
4756
,
0
.
5792
,
0
.
4167
,
0
.
4445
,
0
.
3942
,
0
.
3789
,
0
.
2756
,
0
.
4456
,
0
.
1650
,
0
.
2254
,
0
.
2353
,
0
.
2097
,
0
.
2517
,
0
.
3242
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
1
.
808065416202085
,
1
.
754544945430673
,
1
.
902272019362616
,
1
.
790054645392961
,
1
.
563204092967629
,
1
.
585258289348813
,
1
.
579349443720310
,
1
.
570650121437345
,
1
.
545055626608596
,
1
.
362229442426877
,
1
.
85
,
1
.
79
,
1
.
65
,
1
.
54
,
1
.
46
,
1
.
39
,
1
.
33
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
0
.
7146
,
0
.
4789
,
0
.
5392
,
0
.
5556
,
0
.
4975
,
0
.
4847
,
0
.
4691
,
0
.
5261
,
0
.
5278
,
0
.
4962
,
0
.
4468
,
0
.
4113
,
0
.
4622
,
0
.
4609
,
0
.
3946
,
0
.
3991
,
0
.
3532
,
0
.
2439
,
0
.
1898
,
0
.
2929
,
0
.
2712
,
0
.
3367
,
0
.
3591
,
0
.
2571
}};
double
beta2_dlsch_MI
[
6
][
MCS_COUNT
]
=
{
{
1
.
1293
,
0
.
3707
,
0
.
3722
,
0
.
9310
,
0
.
5808
,
0
.
5265
,
0
.
5404
,
0
.
5279
,
0
.
5210
,
0
.
5226
,
0
.
6438
,
0
.
5827
,
0
.
4804
,
0
.
4830
,
0
.
3638
,
0
.
4506
,
0
.
4107
,
0
.
2547
,
0
.
2797
,
0
.
2413
,
0
.
3351
,
0
.
2750
,
0
.
2568
,
0
.
2273
},
{
0
.
7028
,
0
.
5503
,
0
.
5503
,
0
.
4815
,
0
.
5006
,
0
.
4764
,
0
.
4810
,
0
.
5124
,
0
.
4964
,
0
.
4485
,
0
.
5497
,
0
.
3971
,
0
.
4239
,
0
.
3701
,
0
.
3494
,
0
.
2630
,
0
.
4053
,
0
.
1505
,
0
.
2001
,
0
.
2024
,
0
.
1788
,
0
.
2124
,
0
.
2668
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
1
.
07
9518113138858
,
1
.
105622953570353
,
1
.
03133744
9900606
,
1
.
07334203266
8810
,
1
.
242636589110353
,
1
.
255054927783647
,
1
.
291463834317768
,
1
.
317048698347491
,
1
.
354485054187984
,
0
.
338534029291017
,
1
.
85
,
1
.
79
,
1
.
65
,
1
.
54
,
1
.
46
,
1
.
39
,
1
.
33
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
0
.
6980
,
0
.
4694
,
0
.
5379
,
0
.
5483
,
0
.
4982
,
0
.
4737
,
0
.
4611
,
0
.
5051
,
0
.
5020
,
0
.
4672
,
0
.
4357
,
0
.
3957
,
0
.
4389
,
0
.
4344
,
0
.
3645
,
0
.
3661
,
0
.
3301
,
0
.
2179
,
0
.
1730
,
0
.
2536
,
0
.
2389
,
0
.
2884
,
0
.
2936
,
0
.
2226
}};
const
double
beta2_dlsch_MI
[
6
][
MCS_COUNT
]
=
{
{
1
.
1293
,
0
.
3707
,
0
.
3722
,
0
.
9310
,
0
.
5808
,
0
.
5265
,
0
.
5404
,
0
.
5279
,
0
.
5210
,
0
.
5226
,
0
.
6438
,
0
.
5827
,
0
.
4804
,
0
.
4830
,
0
.
3638
,
0
.
4506
,
0
.
4107
,
0
.
2547
,
0
.
2797
,
0
.
2413
,
0
.
3351
,
0
.
2750
,
0
.
2568
,
0
.
2273
},
{
0
.
7028
,
0
.
5503
,
0
.
5503
,
0
.
4815
,
0
.
5006
,
0
.
4764
,
0
.
4810
,
0
.
5124
,
0
.
4964
,
0
.
4485
,
0
.
5497
,
0
.
3971
,
0
.
4239
,
0
.
3701
,
0
.
3494
,
0
.
2630
,
0
.
4053
,
0
.
1505
,
0
.
2001
,
0
.
2024
,
0
.
1788
,
0
.
2124
,
0
.
2668
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
1
.
07
9518113138858
,
1
.
105622953570353
,
1
.
03133744
9900606
,
1
.
07334203266
8810
,
1
.
242636589110353
,
1
.
255054927783647
,
1
.
291463834317768
,
1
.
317048698347491
,
1
.
354485054187984
,
0
.
338534029291017
,
1
.
85
,
1
.
79
,
1
.
65
,
1
.
54
,
1
.
46
,
1
.
39
,
1
.
33
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
0
.
6980
,
0
.
4694
,
0
.
5379
,
0
.
5483
,
0
.
4982
,
0
.
4737
,
0
.
4611
,
0
.
5051
,
0
.
5020
,
0
.
4672
,
0
.
4357
,
0
.
3957
,
0
.
4389
,
0
.
4344
,
0
.
3645
,
0
.
3661
,
0
.
3301
,
0
.
2179
,
0
.
1730
,
0
.
2536
,
0
.
2389
,
0
.
2884
,
0
.
2936
,
0
.
2226
}};
//real CE MIESM
//real CE MIESM
/*
/*
...
@@ -116,8 +116,8 @@ double beta2_dlsch_MI[6][MCS_COUNT] = { {1.36875, 0.59304, 0.53870, 0.98239, 0.8
...
@@ -116,8 +116,8 @@ double beta2_dlsch_MI[6][MCS_COUNT] = { {1.36875, 0.59304, 0.53870, 0.98239, 0.8
//ideal channel estimation values
//ideal channel estimation values
//double beta1_dlsch[6][MCS_COUNT] = { {2.3814, 0.4956, 0.5273, 1.1708, 0.8014, 0.7889, 0.8111, 0.8139, 0.8124, 0.8479, 1.9280, 1.9664, 2.3857, 2.5147, 2.4511, 3.0158, 2.8643, 5.3013, 5.8594, 6.5372, 7.8073, 7.8030, 7.5295, 7.1320}, {0.5146, 0.5549, 0.7405, 0.6913, 0.7349, 0.7000, 0.7539, 0.7955, 0.8074, 0.7760, 1.8150, 1.6561, 1.9280, 2.3563, 2.6699, 2.3086, 3.1601, 4.5316, 5.2870, 6.0983, 6.5635, 7.7024, 9.9592, 6.6173}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1,1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1}, {1.79358, 1.17908, 2.02600, 1.72040, 1.58618, 1.59039, 1.68111, 1.67062, 1.64911, 1.33274, 4.87800, 3.58797, 3.72338, 5.35700, 2.81752, 1.93472, 2.23259, 1,1,1,1,1,1,1}, {0.4445, 0.5918, 0.7118, 0.7115, 0.7284, 0.7202, 0.7117, 0.8111, 0.8239, 0.7907, 1.8456, 1.8144, 2.3830, 2.6634, 2.6129, 2.8127, 2.7372, 4.9424, 4.8763, 6.8413, 7.1493, 9.4180, 10.1230, 8.9613}};
//double beta1_dlsch[6][MCS_COUNT] = { {2.3814, 0.4956, 0.5273, 1.1708, 0.8014, 0.7889, 0.8111, 0.8139, 0.8124, 0.8479, 1.9280, 1.9664, 2.3857, 2.5147, 2.4511, 3.0158, 2.8643, 5.3013, 5.8594, 6.5372, 7.8073, 7.8030, 7.5295, 7.1320}, {0.5146, 0.5549, 0.7405, 0.6913, 0.7349, 0.7000, 0.7539, 0.7955, 0.8074, 0.7760, 1.8150, 1.6561, 1.9280, 2.3563, 2.6699, 2.3086, 3.1601, 4.5316, 5.2870, 6.0983, 6.5635, 7.7024, 9.9592, 6.6173}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1,1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1}, {1.79358, 1.17908, 2.02600, 1.72040, 1.58618, 1.59039, 1.68111, 1.67062, 1.64911, 1.33274, 4.87800, 3.58797, 3.72338, 5.35700, 2.81752, 1.93472, 2.23259, 1,1,1,1,1,1,1}, {0.4445, 0.5918, 0.7118, 0.7115, 0.7284, 0.7202, 0.7117, 0.8111, 0.8239, 0.7907, 1.8456, 1.8144, 2.3830, 2.6634, 2.6129, 2.8127, 2.7372, 4.9424, 4.8763, 6.8413, 7.1493, 9.4180, 10.1230, 8.9613}};
//double beta2_dlsch[6][MCS_COUNT] = { {2.3639, 0.4952, 0.5207, 1.1572, 0.8026, 0.7864, 0.7996, 0.8034, 0.8200, 0.8367, 1.8701, 1.9212, 2.2947, 2.4472, 2.4091, 2.9479, 2.8973, 5.0591, 5.5134, 6.1483, 7.2166, 7.5177, 7.5704, 7.2248}, {0.5113, 0.5600, 0.7359, 0.6860, 0.7344, 0.6902, 0.7315, 0.7660, 0.7817, 0.7315, 1.7268, 1.5912, 1.8519, 2.2115, 2.4580, 2.1879, 2.9015, 4.1543, 4.6986, 5.3193, 5.6319, 6.5640, 8.2421, 5.6393}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1,1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1}, {0.79479, 0.52872, 0.90005, 0.77170, 0.73220, 0.72060, 0.75433, 0.75451, 0.75989, 0.67655, 1.68525, 1.31100, 1.46573, 1.99843, 1.57293, 1.62852, 2.10636, 1,1,1,1,1,1,1}, {0.4398, 0.5823, 0.7094, 0.7043, 0.7282, 0.7041, 0.6979, 0.7762, 0.7871, 0.7469, 1.7752, 1.7443, 2.2266, 2.4767, 2.4146, 2.6040, 2.5708, 4.4488, 4.4944, 5.9630, 6.3740, 8.1097, 8.4210, 7.8027}};
//double beta2_dlsch[6][MCS_COUNT] = { {2.3639, 0.4952, 0.5207, 1.1572, 0.8026, 0.7864, 0.7996, 0.8034, 0.8200, 0.8367, 1.8701, 1.9212, 2.2947, 2.4472, 2.4091, 2.9479, 2.8973, 5.0591, 5.5134, 6.1483, 7.2166, 7.5177, 7.5704, 7.2248}, {0.5113, 0.5600, 0.7359, 0.6860, 0.7344, 0.6902, 0.7315, 0.7660, 0.7817, 0.7315, 1.7268, 1.5912, 1.8519, 2.2115, 2.4580, 2.1879, 2.9015, 4.1543, 4.6986, 5.3193, 5.6319, 6.5640, 8.2421, 5.6393}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1,1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1}, {0.79479, 0.52872, 0.90005, 0.77170, 0.73220, 0.72060, 0.75433, 0.75451, 0.75989, 0.67655, 1.68525, 1.31100, 1.46573, 1.99843, 1.57293, 1.62852, 2.10636, 1,1,1,1,1,1,1}, {0.4398, 0.5823, 0.7094, 0.7043, 0.7282, 0.7041, 0.6979, 0.7762, 0.7871, 0.7469, 1.7752, 1.7443, 2.2266, 2.4767, 2.4146, 2.6040, 2.5708, 4.4488, 4.4944, 5.9630, 6.3740, 8.1097, 8.4210, 7.8027}};
double
beta1_dlsch
[
6
][
MCS_COUNT
]
=
{
{
1
.
199175
,
1
.
085656
,
0
.
983872
,
0
.
843789
,
0
.
816093
,
0
.
853078
,
0
.
899236
,
0
.
919665
,
0
.
888673
,
0
.
924181
,
0
.
814176
,
0
.
794108
,
0
.
770653
,
0
.
826266
,
0
.
982043
,
0
.
979621
,
0
.
985176
,
0
.
901741
,
0
.
870311
,
0
.
911303
,
0
.
898923
,
1
.
00335
9
,
0
.
988535
,
1
.
03063
9
,
1
.
151038
,
1
.
116939
,
1
.
214118
,
1
.
219148
},
{
0
.
5146
,
0
.
5549
,
0
.
7405
,
0
.
6913
,
0
.
7349
,
0
.
7000
,
0
.
7539
,
0
.
7955
,
0
.
8074
,
0
.
7760
,
1
.
8150
,
1
.
6561
,
1
.
9280
,
2
.
3563
,
2
.
6699
,
2
.
3086
,
3
.
1601
,
4
.
5316
,
5
.
2870
,
6
.
0983
,
6
.
5635
,
7
.
7024
,
9
.
9592
,
6
.
6173
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
.
79358
,
1
.
17908
,
2
.
02600
,
1
.
72040
,
1
.
58618
,
1
.
59039
,
1
.
68111
,
1
.
67062
,
1
.
64911
,
1
.
33274
,
4
.
87800
,
3
.
58797
,
3
.
72338
,
5
.
35700
,
2
.
81752
,
1
.
93472
,
2
.
23259
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
0
.
4445
,
0
.
5918
,
0
.
7118
,
0
.
7115
,
0
.
7284
,
0
.
7202
,
0
.
7117
,
0
.
8111
,
0
.
8239
,
0
.
7907
,
1
.
8456
,
1
.
8144
,
2
.
3830
,
2
.
6634
,
2
.
6129
,
2
.
8127
,
2
.
7372
,
4
.
9424
,
4
.
8763
,
6
.
8413
,
7
.
1493
,
9
.
4180
,
10
.
1230
,
8
.
9613
}};
const
double
beta1_dlsch
[
6
][
MCS_COUNT
]
=
{
{
1
.
199175
,
1
.
085656
,
0
.
983872
,
0
.
843789
,
0
.
816093
,
0
.
853078
,
0
.
899236
,
0
.
919665
,
0
.
888673
,
0
.
924181
,
0
.
814176
,
0
.
794108
,
0
.
770653
,
0
.
826266
,
0
.
982043
,
0
.
979621
,
0
.
985176
,
0
.
901741
,
0
.
870311
,
0
.
911303
,
0
.
898923
,
1
.
00335
9
,
0
.
988535
,
1
.
03063
9
,
1
.
151038
,
1
.
116939
,
1
.
214118
,
1
.
219148
},
{
0
.
5146
,
0
.
5549
,
0
.
7405
,
0
.
6913
,
0
.
7349
,
0
.
7000
,
0
.
7539
,
0
.
7955
,
0
.
8074
,
0
.
7760
,
1
.
8150
,
1
.
6561
,
1
.
9280
,
2
.
3563
,
2
.
6699
,
2
.
3086
,
3
.
1601
,
4
.
5316
,
5
.
2870
,
6
.
0983
,
6
.
5635
,
7
.
7024
,
9
.
9592
,
6
.
6173
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
.
79358
,
1
.
17908
,
2
.
02600
,
1
.
72040
,
1
.
58618
,
1
.
59039
,
1
.
68111
,
1
.
67062
,
1
.
64911
,
1
.
33274
,
4
.
87800
,
3
.
58797
,
3
.
72338
,
5
.
35700
,
2
.
81752
,
1
.
93472
,
2
.
23259
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
0
.
4445
,
0
.
5918
,
0
.
7118
,
0
.
7115
,
0
.
7284
,
0
.
7202
,
0
.
7117
,
0
.
8111
,
0
.
8239
,
0
.
7907
,
1
.
8456
,
1
.
8144
,
2
.
3830
,
2
.
6634
,
2
.
6129
,
2
.
8127
,
2
.
7372
,
4
.
9424
,
4
.
8763
,
6
.
8413
,
7
.
1493
,
9
.
4180
,
10
.
1230
,
8
.
9613
}};
double
beta2_dlsch
[
6
][
MCS_COUNT
]
=
{
{
0
.
534622
,
0
.
596561
,
0
.
500838
,
0
.
471721
,
0
.
548218
,
0
.
547974
,
0
.
924245
,
0
.
836484
,
0
.
776917
,
0
.
879691
,
0
.
875722
,
0
.
666933
,
0
.
666393
,
0
.
755377
,
1
.
074
985
,
1
.
080290
,
1
.
010
914
,
0
.
790892
,
0
.
793435
,
0
.
860249
,
0
.
901508
,
0
.
967060
,
0
.
951372
,
1
.
0114
93
,
1
.
106151
,
1
.
117076
,
1
.
209397
,
1
.
227790
},
{
0
.
5113
,
0
.
5600
,
0
.
7359
,
0
.
6860
,
0
.
7344
,
0
.
6902
,
0
.
7315
,
0
.
7660
,
0
.
7817
,
0
.
7315
,
1
.
7268
,
1
.
5912
,
1
.
8519
,
2
.
2115
,
2
.
4580
,
2
.
1879
,
2
.
9015
,
4
.
1543
,
4
.
6986
,
5
.
3193
,
5
.
6319
,
6
.
5640
,
8
.
2421
,
5
.
6393
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
0
.
79479
,
0
.
52872
,
0
.
90005
,
0
.
77170
,
0
.
73220
,
0
.
72060
,
0
.
75433
,
0
.
75451
,
0
.
75989
,
0
.
67655
,
1
.
68525
,
1
.
31100
,
1
.
46573
,
1
.
99843
,
1
.
57293
,
1
.
62852
,
2
.
10636
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
0
.
4398
,
0
.
5823
,
0
.
7094
,
0
.
7043
,
0
.
7282
,
0
.
7041
,
0
.
6979
,
0
.
7762
,
0
.
7871
,
0
.
7469
,
1
.
7752
,
1
.
7443
,
2
.
2266
,
2
.
4767
,
2
.
4146
,
2
.
6040
,
2
.
5708
,
4
.
4488
,
4
.
4944
,
5
.
9630
,
6
.
3740
,
8
.
1097
,
8
.
4210
,
7
.
8027
}};
const
double
beta2_dlsch
[
6
][
MCS_COUNT
]
=
{
{
0
.
534622
,
0
.
596561
,
0
.
500838
,
0
.
471721
,
0
.
548218
,
0
.
547974
,
0
.
924245
,
0
.
836484
,
0
.
776917
,
0
.
879691
,
0
.
875722
,
0
.
666933
,
0
.
666393
,
0
.
755377
,
1
.
074
985
,
1
.
080290
,
1
.
010
914
,
0
.
790892
,
0
.
793435
,
0
.
860249
,
0
.
901508
,
0
.
967060
,
0
.
951372
,
1
.
0114
93
,
1
.
106151
,
1
.
117076
,
1
.
209397
,
1
.
227790
},
{
0
.
5113
,
0
.
5600
,
0
.
7359
,
0
.
6860
,
0
.
7344
,
0
.
6902
,
0
.
7315
,
0
.
7660
,
0
.
7817
,
0
.
7315
,
1
.
7268
,
1
.
5912
,
1
.
8519
,
2
.
2115
,
2
.
4580
,
2
.
1879
,
2
.
9015
,
4
.
1543
,
4
.
6986
,
5
.
3193
,
5
.
6319
,
6
.
5640
,
8
.
2421
,
5
.
6393
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
0
.
79479
,
0
.
52872
,
0
.
90005
,
0
.
77170
,
0
.
73220
,
0
.
72060
,
0
.
75433
,
0
.
75451
,
0
.
75989
,
0
.
67655
,
1
.
68525
,
1
.
31100
,
1
.
46573
,
1
.
99843
,
1
.
57293
,
1
.
62852
,
2
.
10636
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
0
.
4398
,
0
.
5823
,
0
.
7094
,
0
.
7043
,
0
.
7282
,
0
.
7041
,
0
.
6979
,
0
.
7762
,
0
.
7871
,
0
.
7469
,
1
.
7752
,
1
.
7443
,
2
.
2266
,
2
.
4767
,
2
.
4146
,
2
.
6040
,
2
.
5708
,
4
.
4488
,
4
.
4944
,
5
.
9630
,
6
.
3740
,
8
.
1097
,
8
.
4210
,
7
.
8027
}};
//real channel estimation valus
//real channel estimation valus
/*
/*
...
@@ -129,9 +129,9 @@ double beta2_dlsch[6][MCS_COUNT] = { {2.52163, 0.83231, 0.77472, 1.36536, 1.1682
...
@@ -129,9 +129,9 @@ double beta2_dlsch[6][MCS_COUNT] = { {2.52163, 0.83231, 0.77472, 1.36536, 1.1682
#ifdef OCP_FRAMEWORK
#ifdef OCP_FRAMEWORK
#include <enums.h>
#include <enums.h>
#else
#else
char
NB_functions
[
7
][
20
]
=
{
"eNodeB_3GPP"
,
"eNodeB_3GPP_BBU"
,
"NGFI_RAU_IF4p5"
,
"NGFI_RRU_IF5"
,
"NGFI_RRU_IF4p5"
,
"gNodeB_3GPP"
,};
c
onst
c
har
NB_functions
[
7
][
20
]
=
{
"eNodeB_3GPP"
,
"eNodeB_3GPP_BBU"
,
"NGFI_RAU_IF4p5"
,
"NGFI_RRU_IF5"
,
"NGFI_RRU_IF4p5"
,
"gNodeB_3GPP"
,};
char
NB_timing
[
2
][
20
]
=
{
"synch_to_ext_device"
,
"synch_to_other"
};
c
onst
c
har
NB_timing
[
2
][
20
]
=
{
"synch_to_ext_device"
,
"synch_to_other"
};
char
ru_if_types
[
MAX_RU_IF_TYPES
][
20
]
=
{
"local RF"
,
"IF5 RRU"
,
"IF5 Mobipass"
,
"IF4p5 RRU"
,
"IF1pp RRU"
};
c
onst
c
har
ru_if_types
[
MAX_RU_IF_TYPES
][
20
]
=
{
"local RF"
,
"IF5 RRU"
,
"IF5 Mobipass"
,
"IF4p5 RRU"
,
"IF1pp RRU"
};
#endif
#endif
/// lookup table for unscrambling in RX
/// lookup table for unscrambling in RX
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/phy_vars_nr_ue.h
View file @
8e854abc
...
@@ -49,8 +49,8 @@ unsigned short rev[2048],rev_times4[8192],rev_half[1024];
...
@@ -49,8 +49,8 @@ unsigned short rev[2048],rev_times4[8192],rev_half[1024];
unsigned
short
rev256
[
256
],
rev512
[
512
],
rev1024
[
1024
],
rev4096
[
4096
],
rev2048
[
2048
],
rev8192
[
8192
];
unsigned
short
rev256
[
256
],
rev512
[
512
],
rev1024
[
1024
],
rev4096
[
4096
],
rev2048
[
2048
],
rev8192
[
8192
];
short
conjugate
[
8
]
__attribute__
((
aligned
(
16
)))
=
{
-
1
,
1
,
-
1
,
1
,
-
1
,
1
,
-
1
,
1
};
const
short
conjugate
[
8
]
__attribute__
((
aligned
(
16
)))
=
{
-
1
,
1
,
-
1
,
1
,
-
1
,
1
,
-
1
,
1
};
short
conjugate2
[
8
]
__attribute__
((
aligned
(
16
)))
=
{
1
,
-
1
,
1
,
-
1
,
1
,
-
1
,
1
,
-
1
};
const
short
conjugate2
[
8
]
__attribute__
((
aligned
(
16
)))
=
{
1
,
-
1
,
1
,
-
1
,
1
,
-
1
,
1
,
-
1
};
#include "SIMULATION/ETH_TRANSPORT/vars.h"
#include "SIMULATION/ETH_TRANSPORT/vars.h"
...
@@ -84,29 +84,29 @@ double MI_map_16qam[3][197];
...
@@ -84,29 +84,29 @@ double MI_map_16qam[3][197];
double
MI_map_64qam
[
3
][
227
];
double
MI_map_64qam
[
3
][
227
];
// here the first index is for transmission mode 1, 2, 5 and 6 whereas the second index is for the 16 sinr vaues corresponding to 16 CQIs
// here the first index is for transmission mode 1, 2, 5 and 6 whereas the second index is for the 16 sinr vaues corresponding to 16 CQIs
double
sinr_to_cqi
[
4
][
16
]
=
{
{
-
2
.
5051
,
-
2
.
5051
,
-
1
.
7451
,
-
0
.
3655
,
1
.
0812
,
2
.
4012
,
3
.
6849
,
6
.
6754
,
8
.
3885
,
8
.
7970
,
12
.
0437
,
14
.
4709
,
15
.
7281
,
17
.
2424
,
17
.
2424
,
17
.
2424
},
const
double
sinr_to_cqi
[
4
][
16
]
=
{
{
-
2
.
5051
,
-
2
.
5051
,
-
1
.
7451
,
-
0
.
3655
,
1
.
0812
,
2
.
4012
,
3
.
6849
,
6
.
6754
,
8
.
3885
,
8
.
7970
,
12
.
0437
,
14
.
4709
,
15
.
7281
,
17
.
2424
,
17
.
2424
,
17
.
2424
},
{
-
2
.
2360
,
-
2
.
2360
,
-
1
.
3919
,
-
0
.
021
8
,
1
.
5319
,
2
.
9574
,
4
.
3234
,
6
.
3387
,
8
.
9879
,
9
.
5096
,
12
.
6609
,
14
.
0116
,
16
.
4984
,
18
.
1572
,
18
.
1572
,
18
.
1572
},
{
-
2
.
2360
,
-
2
.
2360
,
-
1
.
3919
,
-
0
.
021
8
,
1
.
5319
,
2
.
9574
,
4
.
3234
,
6
.
3387
,
8
.
9879
,
9
.
5096
,
12
.
6609
,
14
.
0116
,
16
.
4984
,
18
.
1572
,
18
.
1572
,
18
.
1572
},
{
-
1
,
-
1
.
0000
,
-
0
.
4198
,
-
0
.
0140
,
1
.
0362
,
2
.
3520
,
3
.
5793
,
6
.
1136
,
8
.
4836
,
9
.
0858
,
12
.
4723
,
13
.
9128
,
16
.
2054
,
17
.
7392
,
17
.
7392
,
17
.
7392
},
{
-
1
,
-
1
.
0000
,
-
0
.
4198
,
-
0
.
0140
,
1
.
0362
,
2
.
3520
,
3
.
5793
,
6
.
1136
,
8
.
4836
,
9
.
0858
,
12
.
4723
,
13
.
9128
,
16
.
2054
,
17
.
7392
,
17
.
7392
,
17
.
7392
},
{
-
4
.
1057
,
-
4
.
1057
,
-
3
.
3768
,
-
2
.
2916
,
-
1
.
1392
,
0
.
1236
,
1
.
2849
,
3
.
1933
,
5
.
9298
,
6
.
4052
,
9
.
6245
,
10
.
9414
,
13
.
5166
,
14
.
9545
,
14
.
9545
,
14
.
9545
}
{
-
4
.
1057
,
-
4
.
1057
,
-
3
.
3768
,
-
2
.
2916
,
-
1
.
1392
,
0
.
1236
,
1
.
2849
,
3
.
1933
,
5
.
9298
,
6
.
4052
,
9
.
6245
,
10
.
9414
,
13
.
5166
,
14
.
9545
,
14
.
9545
,
14
.
9545
}
};
};
//int cqi_to_mcs[16]={0, 0, 1, 3, 5, 7, 9, 13, 15, 16, 20, 23, 25, 27, 27, 27};
//int cqi_to_mcs[16]={0, 0, 1, 3, 5, 7, 9, 13, 15, 16, 20, 23, 25, 27, 27, 27};
int
cqi_to_mcs
[
16
]
=
{
0
,
0
,
1
,
2
,
4
,
6
,
8
,
11
,
13
,
16
,
18
,
20
,
23
,
25
,
27
,
28
};
const
int
cqi_to_mcs
[
16
]
=
{
0
,
0
,
1
,
2
,
4
,
6
,
8
,
11
,
13
,
16
,
18
,
20
,
23
,
25
,
27
,
28
};
//for SNR to MI conversion 7 th order Polynomial coeff
//for SNR to MI conversion 7 th order Polynomial coeff
double
q_qam16
[
8
]
=
{
3.21151853033897e-10
,
5.55435952230651e-09
,
-
2.30760065362117e-07
,
-
6.25587743817859e-06
,
4.62251036452795e-06
,
0
.
00224150
813158937
,
0
.
03
93723140344367
,
0
.
245486379182639
};
const
double
q_qam16
[
8
]
=
{
3.21151853033897e-10
,
5.55435952230651e-09
,
-
2.30760065362117e-07
,
-
6.25587743817859e-06
,
4.62251036452795e-06
,
0
.
00224150
813158937
,
0
.
03
93723140344367
,
0
.
245486379182639
};
double
q_qpsk
[
8
]
=
{
1.94491167814437e-09
,
8.40494123817774e-08
,
4.75527131198034e-07
,
-
2.48946285301621e-05
,
-
0
.
00034761401615
8364
,
0
.
0020
9252225437100
,
0
.
0742
986115462510
,
0
.
488297879889425
};
const
double
q_qpsk
[
8
]
=
{
1.94491167814437e-09
,
8.40494123817774e-08
,
4.75527131198034e-07
,
-
2.48946285301621e-05
,
-
0
.
00034761401615
8364
,
0
.
0020
9252225437100
,
0
.
0742
986115462510
,
0
.
488297879889425
};
double
q_qam64
[
8
]
=
{
2.25934026232206e-11
,
-
1.45992206328306e-10
,
-
3.70861183071900e-08
,
-
1.22206071019319e-06
,
6.49115500399637e-06
,
0
.
0012
9828997837433
,
0
.
025
9669554914859
,
0
.
166602901214898
};
const
double
q_qam64
[
8
]
=
{
2.25934026232206e-11
,
-
1.45992206328306e-10
,
-
3.70861183071900e-08
,
-
1.22206071019319e-06
,
6.49115500399637e-06
,
0
.
0012
9828997837433
,
0
.
025
9669554914859
,
0
.
166602901214898
};
//for MI to SNR conversion 7 th order Polynomial coeff
//for MI to SNR conversion 7 th order Polynomial coeff
double
p_qpsk
[
8
]
=
{
5982
.
42405670359
,
-
21568
.
1135917693
,
31293
.
9987036905
,
-
23394
.
6795043871
,
9608
.
34750585489
,
-
2158
.
15802349899
,
267
.
731968719036
,
-
20
.
6145324295965
};
const
double
p_qpsk
[
8
]
=
{
5982
.
42405670359
,
-
21568
.
1135917693
,
31293
.
9987036905
,
-
23394
.
6795043871
,
9608
.
34750585489
,
-
2158
.
15802349899
,
267
.
731968719036
,
-
20
.
6145324295965
};
double
p_qam16
[
8
]
=
{
7862
.
12690694170
,
-
28510
.
3207048338
,
41542
.
2150287122
,
-
31088
.
3036957379
,
12690
.
1982361016
,
-
2785
.
66604739984
,
326
.
595462489375
,
-
18
.
9911849872089
};
const
double
p_qam16
[
8
]
=
{
7862
.
12690694170
,
-
28510
.
3207048338
,
41542
.
2150287122
,
-
31088
.
3036957379
,
12690
.
1982361016
,
-
2785
.
66604739984
,
326
.
595462489375
,
-
18
.
9911849872089
};
double
p_qam64
[
8
]
=
{
8832
.
57933013696
,
-
32119
.
1802555952
,
46914
.
2578990397
,
-
35163
.
8150557183
,
14343
.
7419388853
,
-
3126
.
61025510092
,
360
.
954930562237
,
-
18
.
035
8548533343
};
const
double
p_qam64
[
8
]
=
{
8832
.
57933013696
,
-
32119
.
1802555952
,
46914
.
2578990397
,
-
35163
.
8150557183
,
14343
.
7419388853
,
-
3126
.
61025510092
,
360
.
954930562237
,
-
18
.
035
8548533343
};
// ideal CE MIESM
// ideal CE MIESM
double
beta1_dlsch_MI
[
6
][
MCS_COUNT
]
=
{
{
1
.
1188
,
0
.
3720
,
0
.
3755
,
0
.
9453
,
0
.
5799
,
0
.
5256
,
0
.
5485
,
0
.
5340
,
0
.
5165
,
0
.
5300
,
0
.
6594
,
0
.
5962
,
0
.
4884
,
0
.
4927
,
0
.
3687
,
0
.
4614
,
0
.
4081
,
0
.
2639
,
0
.
2935
,
0
.
2520
,
0
.
3709
,
0
.
2906
,
0
.
2612
,
0
.
2390
},
{
0
.
7138
,
0
.
5533
,
0
.
5533
,
0
.
4828
,
0
.
4998
,
0
.
4843
,
0
.
4942
,
0
.
5323
,
0
.
5142
,
0
.
4756
,
0
.
5792
,
0
.
4167
,
0
.
4445
,
0
.
3942
,
0
.
3789
,
0
.
2756
,
0
.
4456
,
0
.
1650
,
0
.
2254
,
0
.
2353
,
0
.
2097
,
0
.
2517
,
0
.
3242
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
1
.
808065416202085
,
1
.
754544945430673
,
1
.
902272019362616
,
1
.
790054645392961
,
1
.
563204092967629
,
1
.
585258289348813
,
1
.
579349443720310
,
1
.
570650121437345
,
1
.
545055626608596
,
1
.
362229442426877
,
1
.
85
,
1
.
79
,
1
.
65
,
1
.
54
,
1
.
46
,
1
.
39
,
1
.
33
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
0
.
7146
,
0
.
4789
,
0
.
5392
,
0
.
5556
,
0
.
4975
,
0
.
4847
,
0
.
4691
,
0
.
5261
,
0
.
5278
,
0
.
4962
,
0
.
4468
,
0
.
4113
,
0
.
4622
,
0
.
4609
,
0
.
3946
,
0
.
3991
,
0
.
3532
,
0
.
2439
,
0
.
1898
,
0
.
2929
,
0
.
2712
,
0
.
3367
,
0
.
3591
,
0
.
2571
}};
const
double
beta1_dlsch_MI
[
6
][
MCS_COUNT
]
=
{
{
1
.
1188
,
0
.
3720
,
0
.
3755
,
0
.
9453
,
0
.
5799
,
0
.
5256
,
0
.
5485
,
0
.
5340
,
0
.
5165
,
0
.
5300
,
0
.
6594
,
0
.
5962
,
0
.
4884
,
0
.
4927
,
0
.
3687
,
0
.
4614
,
0
.
4081
,
0
.
2639
,
0
.
2935
,
0
.
2520
,
0
.
3709
,
0
.
2906
,
0
.
2612
,
0
.
2390
},
{
0
.
7138
,
0
.
5533
,
0
.
5533
,
0
.
4828
,
0
.
4998
,
0
.
4843
,
0
.
4942
,
0
.
5323
,
0
.
5142
,
0
.
4756
,
0
.
5792
,
0
.
4167
,
0
.
4445
,
0
.
3942
,
0
.
3789
,
0
.
2756
,
0
.
4456
,
0
.
1650
,
0
.
2254
,
0
.
2353
,
0
.
2097
,
0
.
2517
,
0
.
3242
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
1
.
808065416202085
,
1
.
754544945430673
,
1
.
902272019362616
,
1
.
790054645392961
,
1
.
563204092967629
,
1
.
585258289348813
,
1
.
579349443720310
,
1
.
570650121437345
,
1
.
545055626608596
,
1
.
362229442426877
,
1
.
85
,
1
.
79
,
1
.
65
,
1
.
54
,
1
.
46
,
1
.
39
,
1
.
33
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
0
.
7146
,
0
.
4789
,
0
.
5392
,
0
.
5556
,
0
.
4975
,
0
.
4847
,
0
.
4691
,
0
.
5261
,
0
.
5278
,
0
.
4962
,
0
.
4468
,
0
.
4113
,
0
.
4622
,
0
.
4609
,
0
.
3946
,
0
.
3991
,
0
.
3532
,
0
.
2439
,
0
.
1898
,
0
.
2929
,
0
.
2712
,
0
.
3367
,
0
.
3591
,
0
.
2571
}};
double
beta2_dlsch_MI
[
6
][
MCS_COUNT
]
=
{
{
1
.
1293
,
0
.
3707
,
0
.
3722
,
0
.
9310
,
0
.
5808
,
0
.
5265
,
0
.
5404
,
0
.
5279
,
0
.
5210
,
0
.
5226
,
0
.
6438
,
0
.
5827
,
0
.
4804
,
0
.
4830
,
0
.
3638
,
0
.
4506
,
0
.
4107
,
0
.
2547
,
0
.
2797
,
0
.
2413
,
0
.
3351
,
0
.
2750
,
0
.
2568
,
0
.
2273
},
{
0
.
7028
,
0
.
5503
,
0
.
5503
,
0
.
4815
,
0
.
5006
,
0
.
4764
,
0
.
4810
,
0
.
5124
,
0
.
4964
,
0
.
4485
,
0
.
5497
,
0
.
3971
,
0
.
4239
,
0
.
3701
,
0
.
3494
,
0
.
2630
,
0
.
4053
,
0
.
1505
,
0
.
2001
,
0
.
2024
,
0
.
1788
,
0
.
2124
,
0
.
2668
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
1
.
07
9518113138858
,
1
.
105622953570353
,
1
.
03133744
9900606
,
1
.
07334203266
8810
,
1
.
242636589110353
,
1
.
255054927783647
,
1
.
291463834317768
,
1
.
317048698347491
,
1
.
354485054187984
,
0
.
338534029291017
,
1
.
85
,
1
.
79
,
1
.
65
,
1
.
54
,
1
.
46
,
1
.
39
,
1
.
33
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
0
.
6980
,
0
.
4694
,
0
.
5379
,
0
.
5483
,
0
.
4982
,
0
.
4737
,
0
.
4611
,
0
.
5051
,
0
.
5020
,
0
.
4672
,
0
.
4357
,
0
.
3957
,
0
.
4389
,
0
.
4344
,
0
.
3645
,
0
.
3661
,
0
.
3301
,
0
.
2179
,
0
.
1730
,
0
.
2536
,
0
.
2389
,
0
.
2884
,
0
.
2936
,
0
.
2226
}};
const
double
beta2_dlsch_MI
[
6
][
MCS_COUNT
]
=
{
{
1
.
1293
,
0
.
3707
,
0
.
3722
,
0
.
9310
,
0
.
5808
,
0
.
5265
,
0
.
5404
,
0
.
5279
,
0
.
5210
,
0
.
5226
,
0
.
6438
,
0
.
5827
,
0
.
4804
,
0
.
4830
,
0
.
3638
,
0
.
4506
,
0
.
4107
,
0
.
2547
,
0
.
2797
,
0
.
2413
,
0
.
3351
,
0
.
2750
,
0
.
2568
,
0
.
2273
},
{
0
.
7028
,
0
.
5503
,
0
.
5503
,
0
.
4815
,
0
.
5006
,
0
.
4764
,
0
.
4810
,
0
.
5124
,
0
.
4964
,
0
.
4485
,
0
.
5497
,
0
.
3971
,
0
.
4239
,
0
.
3701
,
0
.
3494
,
0
.
2630
,
0
.
4053
,
0
.
1505
,
0
.
2001
,
0
.
2024
,
0
.
1788
,
0
.
2124
,
0
.
2668
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
1
.
07
9518113138858
,
1
.
105622953570353
,
1
.
03133744
9900606
,
1
.
07334203266
8810
,
1
.
242636589110353
,
1
.
255054927783647
,
1
.
291463834317768
,
1
.
317048698347491
,
1
.
354485054187984
,
0
.
338534029291017
,
1
.
85
,
1
.
79
,
1
.
65
,
1
.
54
,
1
.
46
,
1
.
39
,
1
.
33
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
0
.
6980
,
0
.
4694
,
0
.
5379
,
0
.
5483
,
0
.
4982
,
0
.
4737
,
0
.
4611
,
0
.
5051
,
0
.
5020
,
0
.
4672
,
0
.
4357
,
0
.
3957
,
0
.
4389
,
0
.
4344
,
0
.
3645
,
0
.
3661
,
0
.
3301
,
0
.
2179
,
0
.
1730
,
0
.
2536
,
0
.
2389
,
0
.
2884
,
0
.
2936
,
0
.
2226
}};
//real CE MIESM
//real CE MIESM
/*
/*
...
@@ -116,8 +116,8 @@ double beta2_dlsch_MI[6][MCS_COUNT] = { {1.36875, 0.59304, 0.53870, 0.98239, 0.8
...
@@ -116,8 +116,8 @@ double beta2_dlsch_MI[6][MCS_COUNT] = { {1.36875, 0.59304, 0.53870, 0.98239, 0.8
//ideal channel estimation values
//ideal channel estimation values
//double beta1_dlsch[6][MCS_COUNT] = { {2.3814, 0.4956, 0.5273, 1.1708, 0.8014, 0.7889, 0.8111, 0.8139, 0.8124, 0.8479, 1.9280, 1.9664, 2.3857, 2.5147, 2.4511, 3.0158, 2.8643, 5.3013, 5.8594, 6.5372, 7.8073, 7.8030, 7.5295, 7.1320}, {0.5146, 0.5549, 0.7405, 0.6913, 0.7349, 0.7000, 0.7539, 0.7955, 0.8074, 0.7760, 1.8150, 1.6561, 1.9280, 2.3563, 2.6699, 2.3086, 3.1601, 4.5316, 5.2870, 6.0983, 6.5635, 7.7024, 9.9592, 6.6173}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1,1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1}, {1.79358, 1.17908, 2.02600, 1.72040, 1.58618, 1.59039, 1.68111, 1.67062, 1.64911, 1.33274, 4.87800, 3.58797, 3.72338, 5.35700, 2.81752, 1.93472, 2.23259, 1,1,1,1,1,1,1}, {0.4445, 0.5918, 0.7118, 0.7115, 0.7284, 0.7202, 0.7117, 0.8111, 0.8239, 0.7907, 1.8456, 1.8144, 2.3830, 2.6634, 2.6129, 2.8127, 2.7372, 4.9424, 4.8763, 6.8413, 7.1493, 9.4180, 10.1230, 8.9613}};
//double beta1_dlsch[6][MCS_COUNT] = { {2.3814, 0.4956, 0.5273, 1.1708, 0.8014, 0.7889, 0.8111, 0.8139, 0.8124, 0.8479, 1.9280, 1.9664, 2.3857, 2.5147, 2.4511, 3.0158, 2.8643, 5.3013, 5.8594, 6.5372, 7.8073, 7.8030, 7.5295, 7.1320}, {0.5146, 0.5549, 0.7405, 0.6913, 0.7349, 0.7000, 0.7539, 0.7955, 0.8074, 0.7760, 1.8150, 1.6561, 1.9280, 2.3563, 2.6699, 2.3086, 3.1601, 4.5316, 5.2870, 6.0983, 6.5635, 7.7024, 9.9592, 6.6173}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1,1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1}, {1.79358, 1.17908, 2.02600, 1.72040, 1.58618, 1.59039, 1.68111, 1.67062, 1.64911, 1.33274, 4.87800, 3.58797, 3.72338, 5.35700, 2.81752, 1.93472, 2.23259, 1,1,1,1,1,1,1}, {0.4445, 0.5918, 0.7118, 0.7115, 0.7284, 0.7202, 0.7117, 0.8111, 0.8239, 0.7907, 1.8456, 1.8144, 2.3830, 2.6634, 2.6129, 2.8127, 2.7372, 4.9424, 4.8763, 6.8413, 7.1493, 9.4180, 10.1230, 8.9613}};
//double beta2_dlsch[6][MCS_COUNT] = { {2.3639, 0.4952, 0.5207, 1.1572, 0.8026, 0.7864, 0.7996, 0.8034, 0.8200, 0.8367, 1.8701, 1.9212, 2.2947, 2.4472, 2.4091, 2.9479, 2.8973, 5.0591, 5.5134, 6.1483, 7.2166, 7.5177, 7.5704, 7.2248}, {0.5113, 0.5600, 0.7359, 0.6860, 0.7344, 0.6902, 0.7315, 0.7660, 0.7817, 0.7315, 1.7268, 1.5912, 1.8519, 2.2115, 2.4580, 2.1879, 2.9015, 4.1543, 4.6986, 5.3193, 5.6319, 6.5640, 8.2421, 5.6393}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1,1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1}, {0.79479, 0.52872, 0.90005, 0.77170, 0.73220, 0.72060, 0.75433, 0.75451, 0.75989, 0.67655, 1.68525, 1.31100, 1.46573, 1.99843, 1.57293, 1.62852, 2.10636, 1,1,1,1,1,1,1}, {0.4398, 0.5823, 0.7094, 0.7043, 0.7282, 0.7041, 0.6979, 0.7762, 0.7871, 0.7469, 1.7752, 1.7443, 2.2266, 2.4767, 2.4146, 2.6040, 2.5708, 4.4488, 4.4944, 5.9630, 6.3740, 8.1097, 8.4210, 7.8027}};
//double beta2_dlsch[6][MCS_COUNT] = { {2.3639, 0.4952, 0.5207, 1.1572, 0.8026, 0.7864, 0.7996, 0.8034, 0.8200, 0.8367, 1.8701, 1.9212, 2.2947, 2.4472, 2.4091, 2.9479, 2.8973, 5.0591, 5.5134, 6.1483, 7.2166, 7.5177, 7.5704, 7.2248}, {0.5113, 0.5600, 0.7359, 0.6860, 0.7344, 0.6902, 0.7315, 0.7660, 0.7817, 0.7315, 1.7268, 1.5912, 1.8519, 2.2115, 2.4580, 2.1879, 2.9015, 4.1543, 4.6986, 5.3193, 5.6319, 6.5640, 8.2421, 5.6393}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1,1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1}, {0.79479, 0.52872, 0.90005, 0.77170, 0.73220, 0.72060, 0.75433, 0.75451, 0.75989, 0.67655, 1.68525, 1.31100, 1.46573, 1.99843, 1.57293, 1.62852, 2.10636, 1,1,1,1,1,1,1}, {0.4398, 0.5823, 0.7094, 0.7043, 0.7282, 0.7041, 0.6979, 0.7762, 0.7871, 0.7469, 1.7752, 1.7443, 2.2266, 2.4767, 2.4146, 2.6040, 2.5708, 4.4488, 4.4944, 5.9630, 6.3740, 8.1097, 8.4210, 7.8027}};
double
beta1_dlsch
[
6
][
MCS_COUNT
]
=
{
{
1
.
199175
,
1
.
085656
,
0
.
983872
,
0
.
843789
,
0
.
816093
,
0
.
853078
,
0
.
899236
,
0
.
919665
,
0
.
888673
,
0
.
924181
,
0
.
814176
,
0
.
794108
,
0
.
770653
,
0
.
826266
,
0
.
982043
,
0
.
979621
,
0
.
985176
,
0
.
901741
,
0
.
870311
,
0
.
911303
,
0
.
898923
,
1
.
00335
9
,
0
.
988535
,
1
.
03063
9
,
1
.
151038
,
1
.
116939
,
1
.
214118
,
1
.
219148
},
{
0
.
5146
,
0
.
5549
,
0
.
7405
,
0
.
6913
,
0
.
7349
,
0
.
7000
,
0
.
7539
,
0
.
7955
,
0
.
8074
,
0
.
7760
,
1
.
8150
,
1
.
6561
,
1
.
9280
,
2
.
3563
,
2
.
6699
,
2
.
3086
,
3
.
1601
,
4
.
5316
,
5
.
2870
,
6
.
0983
,
6
.
5635
,
7
.
7024
,
9
.
9592
,
6
.
6173
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
.
79358
,
1
.
17908
,
2
.
02600
,
1
.
72040
,
1
.
58618
,
1
.
59039
,
1
.
68111
,
1
.
67062
,
1
.
64911
,
1
.
33274
,
4
.
87800
,
3
.
58797
,
3
.
72338
,
5
.
35700
,
2
.
81752
,
1
.
93472
,
2
.
23259
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
0
.
4445
,
0
.
5918
,
0
.
7118
,
0
.
7115
,
0
.
7284
,
0
.
7202
,
0
.
7117
,
0
.
8111
,
0
.
8239
,
0
.
7907
,
1
.
8456
,
1
.
8144
,
2
.
3830
,
2
.
6634
,
2
.
6129
,
2
.
8127
,
2
.
7372
,
4
.
9424
,
4
.
8763
,
6
.
8413
,
7
.
1493
,
9
.
4180
,
10
.
1230
,
8
.
9613
}};
const
double
beta1_dlsch
[
6
][
MCS_COUNT
]
=
{
{
1
.
199175
,
1
.
085656
,
0
.
983872
,
0
.
843789
,
0
.
816093
,
0
.
853078
,
0
.
899236
,
0
.
919665
,
0
.
888673
,
0
.
924181
,
0
.
814176
,
0
.
794108
,
0
.
770653
,
0
.
826266
,
0
.
982043
,
0
.
979621
,
0
.
985176
,
0
.
901741
,
0
.
870311
,
0
.
911303
,
0
.
898923
,
1
.
00335
9
,
0
.
988535
,
1
.
03063
9
,
1
.
151038
,
1
.
116939
,
1
.
214118
,
1
.
219148
},
{
0
.
5146
,
0
.
5549
,
0
.
7405
,
0
.
6913
,
0
.
7349
,
0
.
7000
,
0
.
7539
,
0
.
7955
,
0
.
8074
,
0
.
7760
,
1
.
8150
,
1
.
6561
,
1
.
9280
,
2
.
3563
,
2
.
6699
,
2
.
3086
,
3
.
1601
,
4
.
5316
,
5
.
2870
,
6
.
0983
,
6
.
5635
,
7
.
7024
,
9
.
9592
,
6
.
6173
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
.
79358
,
1
.
17908
,
2
.
02600
,
1
.
72040
,
1
.
58618
,
1
.
59039
,
1
.
68111
,
1
.
67062
,
1
.
64911
,
1
.
33274
,
4
.
87800
,
3
.
58797
,
3
.
72338
,
5
.
35700
,
2
.
81752
,
1
.
93472
,
2
.
23259
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
0
.
4445
,
0
.
5918
,
0
.
7118
,
0
.
7115
,
0
.
7284
,
0
.
7202
,
0
.
7117
,
0
.
8111
,
0
.
8239
,
0
.
7907
,
1
.
8456
,
1
.
8144
,
2
.
3830
,
2
.
6634
,
2
.
6129
,
2
.
8127
,
2
.
7372
,
4
.
9424
,
4
.
8763
,
6
.
8413
,
7
.
1493
,
9
.
4180
,
10
.
1230
,
8
.
9613
}};
double
beta2_dlsch
[
6
][
MCS_COUNT
]
=
{
{
0
.
534622
,
0
.
596561
,
0
.
500838
,
0
.
471721
,
0
.
548218
,
0
.
547974
,
0
.
924245
,
0
.
836484
,
0
.
776917
,
0
.
879691
,
0
.
875722
,
0
.
666933
,
0
.
666393
,
0
.
755377
,
1
.
074
985
,
1
.
080290
,
1
.
010
914
,
0
.
790892
,
0
.
793435
,
0
.
860249
,
0
.
901508
,
0
.
967060
,
0
.
951372
,
1
.
0114
93
,
1
.
106151
,
1
.
117076
,
1
.
209397
,
1
.
227790
},
{
0
.
5113
,
0
.
5600
,
0
.
7359
,
0
.
6860
,
0
.
7344
,
0
.
6902
,
0
.
7315
,
0
.
7660
,
0
.
7817
,
0
.
7315
,
1
.
7268
,
1
.
5912
,
1
.
8519
,
2
.
2115
,
2
.
4580
,
2
.
1879
,
2
.
9015
,
4
.
1543
,
4
.
6986
,
5
.
3193
,
5
.
6319
,
6
.
5640
,
8
.
2421
,
5
.
6393
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
0
.
79479
,
0
.
52872
,
0
.
90005
,
0
.
77170
,
0
.
73220
,
0
.
72060
,
0
.
75433
,
0
.
75451
,
0
.
75989
,
0
.
67655
,
1
.
68525
,
1
.
31100
,
1
.
46573
,
1
.
99843
,
1
.
57293
,
1
.
62852
,
2
.
10636
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
0
.
4398
,
0
.
5823
,
0
.
7094
,
0
.
7043
,
0
.
7282
,
0
.
7041
,
0
.
6979
,
0
.
7762
,
0
.
7871
,
0
.
7469
,
1
.
7752
,
1
.
7443
,
2
.
2266
,
2
.
4767
,
2
.
4146
,
2
.
6040
,
2
.
5708
,
4
.
4488
,
4
.
4944
,
5
.
9630
,
6
.
3740
,
8
.
1097
,
8
.
4210
,
7
.
8027
}};
const
double
beta2_dlsch
[
6
][
MCS_COUNT
]
=
{
{
0
.
534622
,
0
.
596561
,
0
.
500838
,
0
.
471721
,
0
.
548218
,
0
.
547974
,
0
.
924245
,
0
.
836484
,
0
.
776917
,
0
.
879691
,
0
.
875722
,
0
.
666933
,
0
.
666393
,
0
.
755377
,
1
.
074
985
,
1
.
080290
,
1
.
010
914
,
0
.
790892
,
0
.
793435
,
0
.
860249
,
0
.
901508
,
0
.
967060
,
0
.
951372
,
1
.
0114
93
,
1
.
106151
,
1
.
117076
,
1
.
209397
,
1
.
227790
},
{
0
.
5113
,
0
.
5600
,
0
.
7359
,
0
.
6860
,
0
.
7344
,
0
.
6902
,
0
.
7315
,
0
.
7660
,
0
.
7817
,
0
.
7315
,
1
.
7268
,
1
.
5912
,
1
.
8519
,
2
.
2115
,
2
.
4580
,
2
.
1879
,
2
.
9015
,
4
.
1543
,
4
.
6986
,
5
.
3193
,
5
.
6319
,
6
.
5640
,
8
.
2421
,
5
.
6393
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
0
.
79479
,
0
.
52872
,
0
.
90005
,
0
.
77170
,
0
.
73220
,
0
.
72060
,
0
.
75433
,
0
.
75451
,
0
.
75989
,
0
.
67655
,
1
.
68525
,
1
.
31100
,
1
.
46573
,
1
.
99843
,
1
.
57293
,
1
.
62852
,
2
.
10636
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
0
.
4398
,
0
.
5823
,
0
.
7094
,
0
.
7043
,
0
.
7282
,
0
.
7041
,
0
.
6979
,
0
.
7762
,
0
.
7871
,
0
.
7469
,
1
.
7752
,
1
.
7443
,
2
.
2266
,
2
.
4767
,
2
.
4146
,
2
.
6040
,
2
.
5708
,
4
.
4488
,
4
.
4944
,
5
.
9630
,
6
.
3740
,
8
.
1097
,
8
.
4210
,
7
.
8027
}};
//real channel estimation valus
//real channel estimation valus
/*
/*
...
@@ -129,9 +129,9 @@ double beta2_dlsch[6][MCS_COUNT] = { {2.52163, 0.83231, 0.77472, 1.36536, 1.1682
...
@@ -129,9 +129,9 @@ double beta2_dlsch[6][MCS_COUNT] = { {2.52163, 0.83231, 0.77472, 1.36536, 1.1682
#ifdef OCP_FRAMEWORK
#ifdef OCP_FRAMEWORK
#include <enums.h>
#include <enums.h>
#else
#else
char
NB_functions
[
7
][
20
]
=
{
"eNodeB_3GPP"
,
"eNodeB_3GPP_BBU"
,
"NGFI_RAU_IF4p5"
,
"NGFI_RRU_IF5"
,
"NGFI_RRU_IF4p5"
,
"gNodeB_3GPP"
,};
c
onst
c
har
NB_functions
[
7
][
20
]
=
{
"eNodeB_3GPP"
,
"eNodeB_3GPP_BBU"
,
"NGFI_RAU_IF4p5"
,
"NGFI_RRU_IF5"
,
"NGFI_RRU_IF4p5"
,
"gNodeB_3GPP"
,};
char
NB_timing
[
2
][
20
]
=
{
"synch_to_ext_device"
,
"synch_to_other"
};
c
onst
c
har
NB_timing
[
2
][
20
]
=
{
"synch_to_ext_device"
,
"synch_to_other"
};
char
ru_if_types
[
MAX_RU_IF_TYPES
][
20
]
=
{
"local RF"
,
"IF5 RRU"
,
"IF5 Mobipass"
,
"IF4p5 RRU"
,
"IF1pp RRU"
};
c
onst
c
har
ru_if_types
[
MAX_RU_IF_TYPES
][
20
]
=
{
"local RF"
,
"IF5 RRU"
,
"IF5 Mobipass"
,
"IF4p5 RRU"
,
"IF1pp RRU"
};
#endif
#endif
/// lookup table for unscrambling in RX
/// lookup table for unscrambling in RX
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/phy_vars_ue.h
View file @
8e854abc
...
@@ -43,8 +43,8 @@ unsigned short rev[2048],rev_times4[8192],rev_half[1024];
...
@@ -43,8 +43,8 @@ unsigned short rev[2048],rev_times4[8192],rev_half[1024];
unsigned
short
rev256
[
256
],
rev512
[
512
],
rev1024
[
1024
],
rev4096
[
4096
],
rev2048
[
2048
],
rev8192
[
8192
];
unsigned
short
rev256
[
256
],
rev512
[
512
],
rev1024
[
1024
],
rev4096
[
4096
],
rev2048
[
2048
],
rev8192
[
8192
];
short
conjugate
[
8
]
__attribute__
((
aligned
(
16
)))
=
{
-
1
,
1
,
-
1
,
1
,
-
1
,
1
,
-
1
,
1
};
const
short
conjugate
[
8
]
__attribute__
((
aligned
(
16
)))
=
{
-
1
,
1
,
-
1
,
1
,
-
1
,
1
,
-
1
,
1
};
short
conjugate2
[
8
]
__attribute__
((
aligned
(
16
)))
=
{
1
,
-
1
,
1
,
-
1
,
1
,
-
1
,
1
,
-
1
};
const
short
conjugate2
[
8
]
__attribute__
((
aligned
(
16
)))
=
{
1
,
-
1
,
1
,
-
1
,
1
,
-
1
,
1
,
-
1
};
#include "SIMULATION/ETH_TRANSPORT/vars.h"
#include "SIMULATION/ETH_TRANSPORT/vars.h"
...
@@ -77,29 +77,29 @@ double MI_map_16qam[3][197];
...
@@ -77,29 +77,29 @@ double MI_map_16qam[3][197];
double
MI_map_64qam
[
3
][
227
];
double
MI_map_64qam
[
3
][
227
];
// here the first index is for transmission mode 1, 2, 5 and 6 whereas the second index is for the 16 sinr vaues corresponding to 16 CQIs
// here the first index is for transmission mode 1, 2, 5 and 6 whereas the second index is for the 16 sinr vaues corresponding to 16 CQIs
double
sinr_to_cqi
[
4
][
16
]
=
{
{
-
2
.
5051
,
-
2
.
5051
,
-
1
.
7451
,
-
0
.
3655
,
1
.
0812
,
2
.
4012
,
3
.
6849
,
6
.
6754
,
8
.
3885
,
8
.
7970
,
12
.
0437
,
14
.
4709
,
15
.
7281
,
17
.
2424
,
17
.
2424
,
17
.
2424
},
const
double
sinr_to_cqi
[
4
][
16
]
=
{
{
-
2
.
5051
,
-
2
.
5051
,
-
1
.
7451
,
-
0
.
3655
,
1
.
0812
,
2
.
4012
,
3
.
6849
,
6
.
6754
,
8
.
3885
,
8
.
7970
,
12
.
0437
,
14
.
4709
,
15
.
7281
,
17
.
2424
,
17
.
2424
,
17
.
2424
},
{
-
2
.
2360
,
-
2
.
2360
,
-
1
.
3919
,
-
0
.
021
8
,
1
.
5319
,
2
.
9574
,
4
.
3234
,
6
.
3387
,
8
.
9879
,
9
.
5096
,
12
.
6609
,
14
.
0116
,
16
.
4984
,
18
.
1572
,
18
.
1572
,
18
.
1572
},
{
-
2
.
2360
,
-
2
.
2360
,
-
1
.
3919
,
-
0
.
021
8
,
1
.
5319
,
2
.
9574
,
4
.
3234
,
6
.
3387
,
8
.
9879
,
9
.
5096
,
12
.
6609
,
14
.
0116
,
16
.
4984
,
18
.
1572
,
18
.
1572
,
18
.
1572
},
{
-
1
,
-
1
.
0000
,
-
0
.
4198
,
-
0
.
0140
,
1
.
0362
,
2
.
3520
,
3
.
5793
,
6
.
1136
,
8
.
4836
,
9
.
0858
,
12
.
4723
,
13
.
9128
,
16
.
2054
,
17
.
7392
,
17
.
7392
,
17
.
7392
},
{
-
1
,
-
1
.
0000
,
-
0
.
4198
,
-
0
.
0140
,
1
.
0362
,
2
.
3520
,
3
.
5793
,
6
.
1136
,
8
.
4836
,
9
.
0858
,
12
.
4723
,
13
.
9128
,
16
.
2054
,
17
.
7392
,
17
.
7392
,
17
.
7392
},
{
-
4
.
1057
,
-
4
.
1057
,
-
3
.
3768
,
-
2
.
2916
,
-
1
.
1392
,
0
.
1236
,
1
.
2849
,
3
.
1933
,
5
.
9298
,
6
.
4052
,
9
.
6245
,
10
.
9414
,
13
.
5166
,
14
.
9545
,
14
.
9545
,
14
.
9545
}
{
-
4
.
1057
,
-
4
.
1057
,
-
3
.
3768
,
-
2
.
2916
,
-
1
.
1392
,
0
.
1236
,
1
.
2849
,
3
.
1933
,
5
.
9298
,
6
.
4052
,
9
.
6245
,
10
.
9414
,
13
.
5166
,
14
.
9545
,
14
.
9545
,
14
.
9545
}
};
};
//int cqi_to_mcs[16]={0, 0, 1, 3, 5, 7, 9, 13, 15, 16, 20, 23, 25, 27, 27, 27};
//int cqi_to_mcs[16]={0, 0, 1, 3, 5, 7, 9, 13, 15, 16, 20, 23, 25, 27, 27, 27};
int
cqi_to_mcs
[
16
]
=
{
0
,
0
,
1
,
2
,
4
,
6
,
8
,
11
,
13
,
16
,
18
,
20
,
23
,
25
,
27
,
28
};
const
int
cqi_to_mcs
[
16
]
=
{
0
,
0
,
1
,
2
,
4
,
6
,
8
,
11
,
13
,
16
,
18
,
20
,
23
,
25
,
27
,
28
};
//for SNR to MI conversion 7 th order Polynomial coeff
//for SNR to MI conversion 7 th order Polynomial coeff
double
q_qam16
[
8
]
=
{
3.21151853033897e-10
,
5.55435952230651e-09
,
-
2.30760065362117e-07
,
-
6.25587743817859e-06
,
4.62251036452795e-06
,
0
.
00224150
813158937
,
0
.
03
93723140344367
,
0
.
245486379182639
};
const
double
q_qam16
[
8
]
=
{
3.21151853033897e-10
,
5.55435952230651e-09
,
-
2.30760065362117e-07
,
-
6.25587743817859e-06
,
4.62251036452795e-06
,
0
.
00224150
813158937
,
0
.
03
93723140344367
,
0
.
245486379182639
};
double
q_qpsk
[
8
]
=
{
1.94491167814437e-09
,
8.40494123817774e-08
,
4.75527131198034e-07
,
-
2.48946285301621e-05
,
-
0
.
00034761401615
8364
,
0
.
0020
9252225437100
,
0
.
0742
986115462510
,
0
.
488297879889425
};
const
double
q_qpsk
[
8
]
=
{
1.94491167814437e-09
,
8.40494123817774e-08
,
4.75527131198034e-07
,
-
2.48946285301621e-05
,
-
0
.
00034761401615
8364
,
0
.
0020
9252225437100
,
0
.
0742
986115462510
,
0
.
488297879889425
};
double
q_qam64
[
8
]
=
{
2.25934026232206e-11
,
-
1.45992206328306e-10
,
-
3.70861183071900e-08
,
-
1.22206071019319e-06
,
6.49115500399637e-06
,
0
.
0012
9828997837433
,
0
.
025
9669554914859
,
0
.
166602901214898
};
const
double
q_qam64
[
8
]
=
{
2.25934026232206e-11
,
-
1.45992206328306e-10
,
-
3.70861183071900e-08
,
-
1.22206071019319e-06
,
6.49115500399637e-06
,
0
.
0012
9828997837433
,
0
.
025
9669554914859
,
0
.
166602901214898
};
//for MI to SNR conversion 7 th order Polynomial coeff
//for MI to SNR conversion 7 th order Polynomial coeff
double
p_qpsk
[
8
]
=
{
5982
.
42405670359
,
-
21568
.
1135917693
,
31293
.
9987036905
,
-
23394
.
6795043871
,
9608
.
34750585489
,
-
2158
.
15802349899
,
267
.
731968719036
,
-
20
.
6145324295965
};
const
double
p_qpsk
[
8
]
=
{
5982
.
42405670359
,
-
21568
.
1135917693
,
31293
.
9987036905
,
-
23394
.
6795043871
,
9608
.
34750585489
,
-
2158
.
15802349899
,
267
.
731968719036
,
-
20
.
6145324295965
};
double
p_qam16
[
8
]
=
{
7862
.
12690694170
,
-
28510
.
3207048338
,
41542
.
2150287122
,
-
31088
.
3036957379
,
12690
.
1982361016
,
-
2785
.
66604739984
,
326
.
595462489375
,
-
18
.
9911849872089
};
const
double
p_qam16
[
8
]
=
{
7862
.
12690694170
,
-
28510
.
3207048338
,
41542
.
2150287122
,
-
31088
.
3036957379
,
12690
.
1982361016
,
-
2785
.
66604739984
,
326
.
595462489375
,
-
18
.
9911849872089
};
double
p_qam64
[
8
]
=
{
8832
.
57933013696
,
-
32119
.
1802555952
,
46914
.
2578990397
,
-
35163
.
8150557183
,
14343
.
7419388853
,
-
3126
.
61025510092
,
360
.
954930562237
,
-
18
.
035
8548533343
};
const
double
p_qam64
[
8
]
=
{
8832
.
57933013696
,
-
32119
.
1802555952
,
46914
.
2578990397
,
-
35163
.
8150557183
,
14343
.
7419388853
,
-
3126
.
61025510092
,
360
.
954930562237
,
-
18
.
035
8548533343
};
// ideal CE MIESM
// ideal CE MIESM
double
beta1_dlsch_MI
[
6
][
MCS_COUNT
]
=
{
{
1
.
1188
,
0
.
3720
,
0
.
3755
,
0
.
9453
,
0
.
5799
,
0
.
5256
,
0
.
5485
,
0
.
5340
,
0
.
5165
,
0
.
5300
,
0
.
6594
,
0
.
5962
,
0
.
4884
,
0
.
4927
,
0
.
3687
,
0
.
4614
,
0
.
4081
,
0
.
2639
,
0
.
2935
,
0
.
2520
,
0
.
3709
,
0
.
2906
,
0
.
2612
,
0
.
2390
},
{
0
.
7138
,
0
.
5533
,
0
.
5533
,
0
.
4828
,
0
.
4998
,
0
.
4843
,
0
.
4942
,
0
.
5323
,
0
.
5142
,
0
.
4756
,
0
.
5792
,
0
.
4167
,
0
.
4445
,
0
.
3942
,
0
.
3789
,
0
.
2756
,
0
.
4456
,
0
.
1650
,
0
.
2254
,
0
.
2353
,
0
.
2097
,
0
.
2517
,
0
.
3242
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
1
.
808065416202085
,
1
.
754544945430673
,
1
.
902272019362616
,
1
.
790054645392961
,
1
.
563204092967629
,
1
.
585258289348813
,
1
.
579349443720310
,
1
.
570650121437345
,
1
.
545055626608596
,
1
.
362229442426877
,
1
.
85
,
1
.
79
,
1
.
65
,
1
.
54
,
1
.
46
,
1
.
39
,
1
.
33
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
0
.
7146
,
0
.
4789
,
0
.
5392
,
0
.
5556
,
0
.
4975
,
0
.
4847
,
0
.
4691
,
0
.
5261
,
0
.
5278
,
0
.
4962
,
0
.
4468
,
0
.
4113
,
0
.
4622
,
0
.
4609
,
0
.
3946
,
0
.
3991
,
0
.
3532
,
0
.
2439
,
0
.
1898
,
0
.
2929
,
0
.
2712
,
0
.
3367
,
0
.
3591
,
0
.
2571
}};
const
double
beta1_dlsch_MI
[
6
][
MCS_COUNT
]
=
{
{
1
.
1188
,
0
.
3720
,
0
.
3755
,
0
.
9453
,
0
.
5799
,
0
.
5256
,
0
.
5485
,
0
.
5340
,
0
.
5165
,
0
.
5300
,
0
.
6594
,
0
.
5962
,
0
.
4884
,
0
.
4927
,
0
.
3687
,
0
.
4614
,
0
.
4081
,
0
.
2639
,
0
.
2935
,
0
.
2520
,
0
.
3709
,
0
.
2906
,
0
.
2612
,
0
.
2390
},
{
0
.
7138
,
0
.
5533
,
0
.
5533
,
0
.
4828
,
0
.
4998
,
0
.
4843
,
0
.
4942
,
0
.
5323
,
0
.
5142
,
0
.
4756
,
0
.
5792
,
0
.
4167
,
0
.
4445
,
0
.
3942
,
0
.
3789
,
0
.
2756
,
0
.
4456
,
0
.
1650
,
0
.
2254
,
0
.
2353
,
0
.
2097
,
0
.
2517
,
0
.
3242
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
1
.
808065416202085
,
1
.
754544945430673
,
1
.
902272019362616
,
1
.
790054645392961
,
1
.
563204092967629
,
1
.
585258289348813
,
1
.
579349443720310
,
1
.
570650121437345
,
1
.
545055626608596
,
1
.
362229442426877
,
1
.
85
,
1
.
79
,
1
.
65
,
1
.
54
,
1
.
46
,
1
.
39
,
1
.
33
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
0
.
7146
,
0
.
4789
,
0
.
5392
,
0
.
5556
,
0
.
4975
,
0
.
4847
,
0
.
4691
,
0
.
5261
,
0
.
5278
,
0
.
4962
,
0
.
4468
,
0
.
4113
,
0
.
4622
,
0
.
4609
,
0
.
3946
,
0
.
3991
,
0
.
3532
,
0
.
2439
,
0
.
1898
,
0
.
2929
,
0
.
2712
,
0
.
3367
,
0
.
3591
,
0
.
2571
}};
double
beta2_dlsch_MI
[
6
][
MCS_COUNT
]
=
{
{
1
.
1293
,
0
.
3707
,
0
.
3722
,
0
.
9310
,
0
.
5808
,
0
.
5265
,
0
.
5404
,
0
.
5279
,
0
.
5210
,
0
.
5226
,
0
.
6438
,
0
.
5827
,
0
.
4804
,
0
.
4830
,
0
.
3638
,
0
.
4506
,
0
.
4107
,
0
.
2547
,
0
.
2797
,
0
.
2413
,
0
.
3351
,
0
.
2750
,
0
.
2568
,
0
.
2273
},
{
0
.
7028
,
0
.
5503
,
0
.
5503
,
0
.
4815
,
0
.
5006
,
0
.
4764
,
0
.
4810
,
0
.
5124
,
0
.
4964
,
0
.
4485
,
0
.
5497
,
0
.
3971
,
0
.
4239
,
0
.
3701
,
0
.
3494
,
0
.
2630
,
0
.
4053
,
0
.
1505
,
0
.
2001
,
0
.
2024
,
0
.
1788
,
0
.
2124
,
0
.
2668
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
1
.
07
9518113138858
,
1
.
105622953570353
,
1
.
03133744
9900606
,
1
.
07334203266
8810
,
1
.
242636589110353
,
1
.
255054927783647
,
1
.
291463834317768
,
1
.
317048698347491
,
1
.
354485054187984
,
0
.
338534029291017
,
1
.
85
,
1
.
79
,
1
.
65
,
1
.
54
,
1
.
46
,
1
.
39
,
1
.
33
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
0
.
6980
,
0
.
4694
,
0
.
5379
,
0
.
5483
,
0
.
4982
,
0
.
4737
,
0
.
4611
,
0
.
5051
,
0
.
5020
,
0
.
4672
,
0
.
4357
,
0
.
3957
,
0
.
4389
,
0
.
4344
,
0
.
3645
,
0
.
3661
,
0
.
3301
,
0
.
2179
,
0
.
1730
,
0
.
2536
,
0
.
2389
,
0
.
2884
,
0
.
2936
,
0
.
2226
}};
const
double
beta2_dlsch_MI
[
6
][
MCS_COUNT
]
=
{
{
1
.
1293
,
0
.
3707
,
0
.
3722
,
0
.
9310
,
0
.
5808
,
0
.
5265
,
0
.
5404
,
0
.
5279
,
0
.
5210
,
0
.
5226
,
0
.
6438
,
0
.
5827
,
0
.
4804
,
0
.
4830
,
0
.
3638
,
0
.
4506
,
0
.
4107
,
0
.
2547
,
0
.
2797
,
0
.
2413
,
0
.
3351
,
0
.
2750
,
0
.
2568
,
0
.
2273
},
{
0
.
7028
,
0
.
5503
,
0
.
5503
,
0
.
4815
,
0
.
5006
,
0
.
4764
,
0
.
4810
,
0
.
5124
,
0
.
4964
,
0
.
4485
,
0
.
5497
,
0
.
3971
,
0
.
4239
,
0
.
3701
,
0
.
3494
,
0
.
2630
,
0
.
4053
,
0
.
1505
,
0
.
2001
,
0
.
2024
,
0
.
1788
,
0
.
2124
,
0
.
2668
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
1
.
07
9518113138858
,
1
.
105622953570353
,
1
.
03133744
9900606
,
1
.
07334203266
8810
,
1
.
242636589110353
,
1
.
255054927783647
,
1
.
291463834317768
,
1
.
317048698347491
,
1
.
354485054187984
,
0
.
338534029291017
,
1
.
85
,
1
.
79
,
1
.
65
,
1
.
54
,
1
.
46
,
1
.
39
,
1
.
33
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},{
0
.
6980
,
0
.
4694
,
0
.
5379
,
0
.
5483
,
0
.
4982
,
0
.
4737
,
0
.
4611
,
0
.
5051
,
0
.
5020
,
0
.
4672
,
0
.
4357
,
0
.
3957
,
0
.
4389
,
0
.
4344
,
0
.
3645
,
0
.
3661
,
0
.
3301
,
0
.
2179
,
0
.
1730
,
0
.
2536
,
0
.
2389
,
0
.
2884
,
0
.
2936
,
0
.
2226
}};
//real CE MIESM
//real CE MIESM
/*
/*
...
@@ -109,8 +109,8 @@ double beta2_dlsch_MI[6][MCS_COUNT] = { {1.36875, 0.59304, 0.53870, 0.98239, 0.8
...
@@ -109,8 +109,8 @@ double beta2_dlsch_MI[6][MCS_COUNT] = { {1.36875, 0.59304, 0.53870, 0.98239, 0.8
//ideal channel estimation values
//ideal channel estimation values
//double beta1_dlsch[6][MCS_COUNT] = { {2.3814, 0.4956, 0.5273, 1.1708, 0.8014, 0.7889, 0.8111, 0.8139, 0.8124, 0.8479, 1.9280, 1.9664, 2.3857, 2.5147, 2.4511, 3.0158, 2.8643, 5.3013, 5.8594, 6.5372, 7.8073, 7.8030, 7.5295, 7.1320}, {0.5146, 0.5549, 0.7405, 0.6913, 0.7349, 0.7000, 0.7539, 0.7955, 0.8074, 0.7760, 1.8150, 1.6561, 1.9280, 2.3563, 2.6699, 2.3086, 3.1601, 4.5316, 5.2870, 6.0983, 6.5635, 7.7024, 9.9592, 6.6173}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1,1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1}, {1.79358, 1.17908, 2.02600, 1.72040, 1.58618, 1.59039, 1.68111, 1.67062, 1.64911, 1.33274, 4.87800, 3.58797, 3.72338, 5.35700, 2.81752, 1.93472, 2.23259, 1,1,1,1,1,1,1}, {0.4445, 0.5918, 0.7118, 0.7115, 0.7284, 0.7202, 0.7117, 0.8111, 0.8239, 0.7907, 1.8456, 1.8144, 2.3830, 2.6634, 2.6129, 2.8127, 2.7372, 4.9424, 4.8763, 6.8413, 7.1493, 9.4180, 10.1230, 8.9613}};
//double beta1_dlsch[6][MCS_COUNT] = { {2.3814, 0.4956, 0.5273, 1.1708, 0.8014, 0.7889, 0.8111, 0.8139, 0.8124, 0.8479, 1.9280, 1.9664, 2.3857, 2.5147, 2.4511, 3.0158, 2.8643, 5.3013, 5.8594, 6.5372, 7.8073, 7.8030, 7.5295, 7.1320}, {0.5146, 0.5549, 0.7405, 0.6913, 0.7349, 0.7000, 0.7539, 0.7955, 0.8074, 0.7760, 1.8150, 1.6561, 1.9280, 2.3563, 2.6699, 2.3086, 3.1601, 4.5316, 5.2870, 6.0983, 6.5635, 7.7024, 9.9592, 6.6173}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1,1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1}, {1.79358, 1.17908, 2.02600, 1.72040, 1.58618, 1.59039, 1.68111, 1.67062, 1.64911, 1.33274, 4.87800, 3.58797, 3.72338, 5.35700, 2.81752, 1.93472, 2.23259, 1,1,1,1,1,1,1}, {0.4445, 0.5918, 0.7118, 0.7115, 0.7284, 0.7202, 0.7117, 0.8111, 0.8239, 0.7907, 1.8456, 1.8144, 2.3830, 2.6634, 2.6129, 2.8127, 2.7372, 4.9424, 4.8763, 6.8413, 7.1493, 9.4180, 10.1230, 8.9613}};
//double beta2_dlsch[6][MCS_COUNT] = { {2.3639, 0.4952, 0.5207, 1.1572, 0.8026, 0.7864, 0.7996, 0.8034, 0.8200, 0.8367, 1.8701, 1.9212, 2.2947, 2.4472, 2.4091, 2.9479, 2.8973, 5.0591, 5.5134, 6.1483, 7.2166, 7.5177, 7.5704, 7.2248}, {0.5113, 0.5600, 0.7359, 0.6860, 0.7344, 0.6902, 0.7315, 0.7660, 0.7817, 0.7315, 1.7268, 1.5912, 1.8519, 2.2115, 2.4580, 2.1879, 2.9015, 4.1543, 4.6986, 5.3193, 5.6319, 6.5640, 8.2421, 5.6393}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1,1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1}, {0.79479, 0.52872, 0.90005, 0.77170, 0.73220, 0.72060, 0.75433, 0.75451, 0.75989, 0.67655, 1.68525, 1.31100, 1.46573, 1.99843, 1.57293, 1.62852, 2.10636, 1,1,1,1,1,1,1}, {0.4398, 0.5823, 0.7094, 0.7043, 0.7282, 0.7041, 0.6979, 0.7762, 0.7871, 0.7469, 1.7752, 1.7443, 2.2266, 2.4767, 2.4146, 2.6040, 2.5708, 4.4488, 4.4944, 5.9630, 6.3740, 8.1097, 8.4210, 7.8027}};
//double beta2_dlsch[6][MCS_COUNT] = { {2.3639, 0.4952, 0.5207, 1.1572, 0.8026, 0.7864, 0.7996, 0.8034, 0.8200, 0.8367, 1.8701, 1.9212, 2.2947, 2.4472, 2.4091, 2.9479, 2.8973, 5.0591, 5.5134, 6.1483, 7.2166, 7.5177, 7.5704, 7.2248}, {0.5113, 0.5600, 0.7359, 0.6860, 0.7344, 0.6902, 0.7315, 0.7660, 0.7817, 0.7315, 1.7268, 1.5912, 1.8519, 2.2115, 2.4580, 2.1879, 2.9015, 4.1543, 4.6986, 5.3193, 5.6319, 6.5640, 8.2421, 5.6393}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1,1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1,1,1,1}, {0.79479, 0.52872, 0.90005, 0.77170, 0.73220, 0.72060, 0.75433, 0.75451, 0.75989, 0.67655, 1.68525, 1.31100, 1.46573, 1.99843, 1.57293, 1.62852, 2.10636, 1,1,1,1,1,1,1}, {0.4398, 0.5823, 0.7094, 0.7043, 0.7282, 0.7041, 0.6979, 0.7762, 0.7871, 0.7469, 1.7752, 1.7443, 2.2266, 2.4767, 2.4146, 2.6040, 2.5708, 4.4488, 4.4944, 5.9630, 6.3740, 8.1097, 8.4210, 7.8027}};
double
beta1_dlsch
[
6
][
MCS_COUNT
]
=
{
{
1
.
199175
,
1
.
085656
,
0
.
983872
,
0
.
843789
,
0
.
816093
,
0
.
853078
,
0
.
899236
,
0
.
919665
,
0
.
888673
,
0
.
924181
,
0
.
814176
,
0
.
794108
,
0
.
770653
,
0
.
826266
,
0
.
982043
,
0
.
979621
,
0
.
985176
,
0
.
901741
,
0
.
870311
,
0
.
911303
,
0
.
898923
,
1
.
00335
9
,
0
.
988535
,
1
.
03063
9
,
1
.
151038
,
1
.
116939
,
1
.
214118
,
1
.
219148
},
{
0
.
5146
,
0
.
5549
,
0
.
7405
,
0
.
6913
,
0
.
7349
,
0
.
7000
,
0
.
7539
,
0
.
7955
,
0
.
8074
,
0
.
7760
,
1
.
8150
,
1
.
6561
,
1
.
9280
,
2
.
3563
,
2
.
6699
,
2
.
3086
,
3
.
1601
,
4
.
5316
,
5
.
2870
,
6
.
0983
,
6
.
5635
,
7
.
7024
,
9
.
9592
,
6
.
6173
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
.
79358
,
1
.
17908
,
2
.
02600
,
1
.
72040
,
1
.
58618
,
1
.
59039
,
1
.
68111
,
1
.
67062
,
1
.
64911
,
1
.
33274
,
4
.
87800
,
3
.
58797
,
3
.
72338
,
5
.
35700
,
2
.
81752
,
1
.
93472
,
2
.
23259
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
0
.
4445
,
0
.
5918
,
0
.
7118
,
0
.
7115
,
0
.
7284
,
0
.
7202
,
0
.
7117
,
0
.
8111
,
0
.
8239
,
0
.
7907
,
1
.
8456
,
1
.
8144
,
2
.
3830
,
2
.
6634
,
2
.
6129
,
2
.
8127
,
2
.
7372
,
4
.
9424
,
4
.
8763
,
6
.
8413
,
7
.
1493
,
9
.
4180
,
10
.
1230
,
8
.
9613
}};
const
double
beta1_dlsch
[
6
][
MCS_COUNT
]
=
{
{
1
.
199175
,
1
.
085656
,
0
.
983872
,
0
.
843789
,
0
.
816093
,
0
.
853078
,
0
.
899236
,
0
.
919665
,
0
.
888673
,
0
.
924181
,
0
.
814176
,
0
.
794108
,
0
.
770653
,
0
.
826266
,
0
.
982043
,
0
.
979621
,
0
.
985176
,
0
.
901741
,
0
.
870311
,
0
.
911303
,
0
.
898923
,
1
.
00335
9
,
0
.
988535
,
1
.
03063
9
,
1
.
151038
,
1
.
116939
,
1
.
214118
,
1
.
219148
},
{
0
.
5146
,
0
.
5549
,
0
.
7405
,
0
.
6913
,
0
.
7349
,
0
.
7000
,
0
.
7539
,
0
.
7955
,
0
.
8074
,
0
.
7760
,
1
.
8150
,
1
.
6561
,
1
.
9280
,
2
.
3563
,
2
.
6699
,
2
.
3086
,
3
.
1601
,
4
.
5316
,
5
.
2870
,
6
.
0983
,
6
.
5635
,
7
.
7024
,
9
.
9592
,
6
.
6173
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
.
79358
,
1
.
17908
,
2
.
02600
,
1
.
72040
,
1
.
58618
,
1
.
59039
,
1
.
68111
,
1
.
67062
,
1
.
64911
,
1
.
33274
,
4
.
87800
,
3
.
58797
,
3
.
72338
,
5
.
35700
,
2
.
81752
,
1
.
93472
,
2
.
23259
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
0
.
4445
,
0
.
5918
,
0
.
7118
,
0
.
7115
,
0
.
7284
,
0
.
7202
,
0
.
7117
,
0
.
8111
,
0
.
8239
,
0
.
7907
,
1
.
8456
,
1
.
8144
,
2
.
3830
,
2
.
6634
,
2
.
6129
,
2
.
8127
,
2
.
7372
,
4
.
9424
,
4
.
8763
,
6
.
8413
,
7
.
1493
,
9
.
4180
,
10
.
1230
,
8
.
9613
}};
double
beta2_dlsch
[
6
][
MCS_COUNT
]
=
{
{
0
.
534622
,
0
.
596561
,
0
.
500838
,
0
.
471721
,
0
.
548218
,
0
.
547974
,
0
.
924245
,
0
.
836484
,
0
.
776917
,
0
.
879691
,
0
.
875722
,
0
.
666933
,
0
.
666393
,
0
.
755377
,
1
.
074
985
,
1
.
080290
,
1
.
010
914
,
0
.
790892
,
0
.
793435
,
0
.
860249
,
0
.
901508
,
0
.
967060
,
0
.
951372
,
1
.
0114
93
,
1
.
106151
,
1
.
117076
,
1
.
209397
,
1
.
227790
},
{
0
.
5113
,
0
.
5600
,
0
.
7359
,
0
.
6860
,
0
.
7344
,
0
.
6902
,
0
.
7315
,
0
.
7660
,
0
.
7817
,
0
.
7315
,
1
.
7268
,
1
.
5912
,
1
.
8519
,
2
.
2115
,
2
.
4580
,
2
.
1879
,
2
.
9015
,
4
.
1543
,
4
.
6986
,
5
.
3193
,
5
.
6319
,
6
.
5640
,
8
.
2421
,
5
.
6393
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
0
.
79479
,
0
.
52872
,
0
.
90005
,
0
.
77170
,
0
.
73220
,
0
.
72060
,
0
.
75433
,
0
.
75451
,
0
.
75989
,
0
.
67655
,
1
.
68525
,
1
.
31100
,
1
.
46573
,
1
.
99843
,
1
.
57293
,
1
.
62852
,
2
.
10636
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
0
.
4398
,
0
.
5823
,
0
.
7094
,
0
.
7043
,
0
.
7282
,
0
.
7041
,
0
.
6979
,
0
.
7762
,
0
.
7871
,
0
.
7469
,
1
.
7752
,
1
.
7443
,
2
.
2266
,
2
.
4767
,
2
.
4146
,
2
.
6040
,
2
.
5708
,
4
.
4488
,
4
.
4944
,
5
.
9630
,
6
.
3740
,
8
.
1097
,
8
.
4210
,
7
.
8027
}};
const
double
beta2_dlsch
[
6
][
MCS_COUNT
]
=
{
{
0
.
534622
,
0
.
596561
,
0
.
500838
,
0
.
471721
,
0
.
548218
,
0
.
547974
,
0
.
924245
,
0
.
836484
,
0
.
776917
,
0
.
879691
,
0
.
875722
,
0
.
666933
,
0
.
666393
,
0
.
755377
,
1
.
074
985
,
1
.
080290
,
1
.
010
914
,
0
.
790892
,
0
.
793435
,
0
.
860249
,
0
.
901508
,
0
.
967060
,
0
.
951372
,
1
.
0114
93
,
1
.
106151
,
1
.
117076
,
1
.
209397
,
1
.
227790
},
{
0
.
5113
,
0
.
5600
,
0
.
7359
,
0
.
6860
,
0
.
7344
,
0
.
6902
,
0
.
7315
,
0
.
7660
,
0
.
7817
,
0
.
7315
,
1
.
7268
,
1
.
5912
,
1
.
8519
,
2
.
2115
,
2
.
4580
,
2
.
1879
,
2
.
9015
,
4
.
1543
,
4
.
6986
,
5
.
3193
,
5
.
6319
,
6
.
5640
,
8
.
2421
,
5
.
6393
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
0
.
79479
,
0
.
52872
,
0
.
90005
,
0
.
77170
,
0
.
73220
,
0
.
72060
,
0
.
75433
,
0
.
75451
,
0
.
75989
,
0
.
67655
,
1
.
68525
,
1
.
31100
,
1
.
46573
,
1
.
99843
,
1
.
57293
,
1
.
62852
,
2
.
10636
,
1
,
1
,
1
,
1
,
1
,
1
,
1
},
{
0
.
4398
,
0
.
5823
,
0
.
7094
,
0
.
7043
,
0
.
7282
,
0
.
7041
,
0
.
6979
,
0
.
7762
,
0
.
7871
,
0
.
7469
,
1
.
7752
,
1
.
7443
,
2
.
2266
,
2
.
4767
,
2
.
4146
,
2
.
6040
,
2
.
5708
,
4
.
4488
,
4
.
4944
,
5
.
9630
,
6
.
3740
,
8
.
1097
,
8
.
4210
,
7
.
8027
}};
//real channel estimation valus
//real channel estimation valus
/*
/*
...
@@ -122,9 +122,9 @@ double beta2_dlsch[6][MCS_COUNT] = { {2.52163, 0.83231, 0.77472, 1.36536, 1.1682
...
@@ -122,9 +122,9 @@ double beta2_dlsch[6][MCS_COUNT] = { {2.52163, 0.83231, 0.77472, 1.36536, 1.1682
#ifdef OCP_FRAMEWORK
#ifdef OCP_FRAMEWORK
#include <enums.h>
#include <enums.h>
#else
#else
char
NB_functions
[
7
][
20
]
=
{
"eNodeB_3GPP"
,
"eNodeB_3GPP_BBU"
,
"NGFI_RAU_IF4p5"
,
"NGFI_RRU_IF5"
,
"NGFI_RRU_IF4p5"
,
"gNodeB_3GPP"
,};
c
onst
c
har
NB_functions
[
7
][
20
]
=
{
"eNodeB_3GPP"
,
"eNodeB_3GPP_BBU"
,
"NGFI_RAU_IF4p5"
,
"NGFI_RRU_IF5"
,
"NGFI_RRU_IF4p5"
,
"gNodeB_3GPP"
,};
char
NB_timing
[
2
][
20
]
=
{
"synch_to_ext_device"
,
"synch_to_other"
};
c
onst
c
har
NB_timing
[
2
][
20
]
=
{
"synch_to_ext_device"
,
"synch_to_other"
};
char
ru_if_types
[
MAX_RU_IF_TYPES
][
20
]
=
{
"local RF"
,
"IF5 RRU"
,
"IF5 Mobipass"
,
"IF4p5 RRU"
,
"IF1pp RRU"
};
c
onst
c
har
ru_if_types
[
MAX_RU_IF_TYPES
][
20
]
=
{
"local RF"
,
"IF5 RRU"
,
"IF5 Mobipass"
,
"IF4p5 RRU"
,
"IF1pp RRU"
};
#endif
#endif
/// lookup table for unscrambling in RX
/// lookup table for unscrambling in RX
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/MAC/mac_extern.h
View file @
8e854abc
...
@@ -60,7 +60,7 @@ extern uint16_t NB_THREAD_INST;
...
@@ -60,7 +60,7 @@ extern uint16_t NB_THREAD_INST;
extern
unsigned
char
NB_RN_INST
;
extern
unsigned
char
NB_RN_INST
;
extern
unsigned
short
NODE_ID
[
1
];
extern
unsigned
short
NODE_ID
[
1
];
extern
int
cqi_to_mcs
[
16
];
extern
const
int
cqi_to_mcs
[
16
];
extern
uint32_t
RRC_CONNECTION_FLAG
;
extern
uint32_t
RRC_CONNECTION_FLAG
;
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/MAC/pre_processor.c
View file @
8e854abc
...
@@ -36,6 +36,7 @@
...
@@ -36,6 +36,7 @@
#include "LAYER2/MAC/mac.h"
#include "LAYER2/MAC/mac.h"
#include "LAYER2/MAC/mac_proto.h"
#include "LAYER2/MAC/mac_proto.h"
#include "LAYER2/MAC/mac_extern.h"
#include "LAYER2/MAC/mac_extern.h"
#include <openair2/LAYER2/NR_MAC_COMMON/nr_mac_extern.h>
#include "common/utils/LOG/log.h"
#include "common/utils/LOG/log.h"
#include "common/utils/LOG/vcd_signal_dumper.h"
#include "common/utils/LOG/vcd_signal_dumper.h"
#include "UTIL/OPT/opt.h"
#include "UTIL/OPT/opt.h"
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_COMMON/nr_mac_extern.h
View file @
8e854abc
...
@@ -45,7 +45,7 @@ extern const uint8_t cqi2fmt2x_agg[MAX_SUPPORTED_BW][CQI_VALUE_RANGE];
...
@@ -45,7 +45,7 @@ extern const uint8_t cqi2fmt2x_agg[MAX_SUPPORTED_BW][CQI_VALUE_RANGE];
extern UE_RRC_INST *UE_rrc_inst;
extern UE_RRC_INST *UE_rrc_inst;
extern eNB_ULSCH_INFO eNB_ulsch_info[NUMBER_OF_eNB_MAX][MAX_NUM_CCs][MAX_MOBILES_PER_ENB]; // eNBxUE = 8x8
extern eNB_ULSCH_INFO eNB_ulsch_info[NUMBER_OF_eNB_MAX][MAX_NUM_CCs][MAX_MOBILES_PER_ENB]; // eNBxUE = 8x8
extern eNB_DLSCH_INFO eNB_dlsch_info[NUMBER_OF_eNB_MAX][MAX_NUM_CCs][MAX_MOBILES_PER_ENB]; // eNBxUE = 8x8
extern eNB_DLSCH_INFO eNB_dlsch_info[NUMBER_OF_eNB_MAX][MAX_NUM_CCs][MAX_MOBILES_PER_ENB]; // eNBxUE = 8x8
extern int cqi_to_mcs[16];
extern
const
int cqi_to_mcs[16];
extern uint32_t RRC_CONNECTION_FLAG;
extern uint32_t RRC_CONNECTION_FLAG;
extern uint8_t rb_table[34];
extern uint8_t rb_table[34];
extern mac_rlc_am_muilist_t rlc_am_mui;
extern mac_rlc_am_muilist_t rlc_am_mui;
...
...
This diff is collapsed.
Click to expand it.
openair3/NAS/TOOLS/conf_network.c
View file @
8e854abc
...
@@ -43,7 +43,7 @@ void gen_network_record_from_conf(const plmn_conf_param_t *conf, network_record_
...
@@ -43,7 +43,7 @@ void gen_network_record_from_conf(const plmn_conf_param_t *conf, network_record_
strcpy
(
record
->
fullname
,
conf
->
fullname
);
strcpy
(
record
->
fullname
,
conf
->
fullname
);
strcpy
(
record
->
shortname
,
conf
->
shortname
);
strcpy
(
record
->
shortname
,
conf
->
shortname
);
char
num
[
6
];
char
num
[
6
0
];
sprintf
(
num
,
"%s%s"
,
conf
->
mcc
,
conf
->
mnc
);
sprintf
(
num
,
"%s%s"
,
conf
->
mcc
,
conf
->
mnc
);
record
->
num
=
atoi
(
num
);
record
->
num
=
atoi
(
num
);
...
...
This diff is collapsed.
Click to expand it.
targets/RT/USER/lte-softmodem.c
View file @
8e854abc
...
@@ -660,6 +660,7 @@ int main ( int argc, char **argv )
...
@@ -660,6 +660,7 @@ int main ( int argc, char **argv )
initTpool
(
"n"
,
L1proc
->
threadPool
,
true
);
initTpool
(
"n"
,
L1proc
->
threadPool
,
true
);
initNotifiedFIFO
(
L1proc
->
respEncode
);
initNotifiedFIFO
(
L1proc
->
respEncode
);
initNotifiedFIFO
(
L1proc
->
respDecode
);
initNotifiedFIFO
(
L1proc
->
respDecode
);
RC
.
eNB
[
x
][
CC_id
]
->
proc
.
L1_proc_tx
.
threadPool
=
L1proc
->
threadPool
;
}
}
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment