Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
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
ZhouShuya
OpenXG-RAN
Commits
78bf45f3
Commit
78bf45f3
authored
Mar 25, 2017
by
Elena_Lukashova
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Removing unnecessary arguments in SIC llr functions.
parent
b88fec23
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
42 additions
and
69 deletions
+42
-69
openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c
openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c
+3
-20
openair1/PHY/LTE_TRANSPORT/proto.h
openair1/PHY/LTE_TRANSPORT/proto.h
+25
-31
openair1/SIMULATION/LTE_PHY/dlsim_tm4.c
openair1/SIMULATION/LTE_PHY/dlsim_tm4.c
+14
-18
No files found.
openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c
View file @
78bf45f3
...
...
@@ -693,9 +693,7 @@ int32_t dlsch_qpsk_llr_SIC(LTE_DL_FRAME_PARMS *frame_parms,
uint8_t
num_pdcch_symbols
,
uint16_t
nb_rb
,
uint8_t
subframe
,
uint32_t
rb_alloc
,
uint16_t
mod_order_0
,
LTE_UE_DLSCH_t
*
dlsch0
)
uint32_t
rb_alloc
)
{
int16_t
rho_amp_x0
[
2
*
frame_parms
->
N_RB_DL
*
12
];
...
...
@@ -725,9 +723,6 @@ int32_t dlsch_qpsk_llr_SIC(LTE_DL_FRAME_PARMS *frame_parms,
else
//pilots=0
amp_tmp
=
0x1fff
;
//1.5*dlsch0->sqrt_rho_a; already taken into account
if
(
mod_order_0
==
6
)
amp_tmp
=
amp_tmp
<<
1
;
// to compensate for >> 1 shift in modulation to avoid overflow
pbch_pss_sss_adjust
=
adjust_G2
(
frame_parms
,
&
rb_alloc
,
2
,
subframe
,
symbol
);
...
...
@@ -933,10 +928,7 @@ void dlsch_16qam_llr_SIC (LTE_DL_FRAME_PARMS *frame_parms,
int32_t
**
dl_ch_mag
,
uint16_t
nb_rb
,
uint8_t
subframe
,
uint32_t
rb_alloc
,
uint16_t
mod_order_0
,
LTE_UE_DLSCH_t
*
dlsch0
)
uint32_t
rb_alloc
)
{
int16_t
rho_amp_x0
[
2
*
frame_parms
->
N_RB_DL
*
12
];
int16_t
rho_rho_amp_x0
[
2
*
frame_parms
->
N_RB_DL
*
12
];
...
...
@@ -973,9 +965,6 @@ void dlsch_16qam_llr_SIC (LTE_DL_FRAME_PARMS *frame_parms,
len
=
nb_rb
*
12
-
pbch_pss_sss_adjust
;
}
if
(
mod_order_0
==
6
)
amp_tmp
=
amp_tmp
<<
1
;
// to compensate for >> 1 shift in modulation
len_acc
+=
len
;
multadd_complex_vector_real_scalar
((
int16_t
*
)
sic_data
,
...
...
@@ -1197,10 +1186,7 @@ void dlsch_64qam_llr_SIC(LTE_DL_FRAME_PARMS *frame_parms,
int32_t
**
dl_ch_magb
,
uint16_t
nb_rb
,
uint8_t
subframe
,
uint32_t
rb_alloc
,
uint16_t
mod_order_0
,
LTE_UE_DLSCH_t
*
dlsch0
)
uint32_t
rb_alloc
)
{
int16_t
rho_amp_x0
[
2
*
frame_parms
->
N_RB_DL
*
12
];
int16_t
rho_rho_amp_x0
[
2
*
frame_parms
->
N_RB_DL
*
12
];
...
...
@@ -1239,9 +1225,6 @@ void dlsch_64qam_llr_SIC(LTE_DL_FRAME_PARMS *frame_parms,
len
=
nb_rb
*
12
-
pbch_pss_sss_adjust
;
}
if
(
mod_order_0
==
6
)
amp_tmp
=
amp_tmp
<<
1
;
// to compensate for >> 1 shift in modulation
len_acc
+=
len
;
multadd_complex_vector_real_scalar
((
int16_t
*
)
sic_data
,
...
...
openair1/PHY/LTE_TRANSPORT/proto.h
View file @
78bf45f3
...
...
@@ -841,16 +841,14 @@ int32_t dlsch_qpsk_llr(LTE_DL_FRAME_PARMS *frame_parms,
*/
int32_t
dlsch_qpsk_llr_SIC
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
int
**
rxdataF_comp
,
int32_t
**
sic_buffer
,
int
**
rho_i
,
short
*
dlsch_llr
,
uint8_t
num_pdcch_symbols
,
uint16_t
nb_rb
,
uint8_t
subframe
,
uint32_t
rb_alloc
,
uint16_t
mod_order_0
,
LTE_UE_DLSCH_t
*
dlsch0
);
int
**
rxdataF_comp
,
int32_t
**
sic_buffer
,
int
**
rho_i
,
short
*
dlsch_llr
,
uint8_t
num_pdcch_symbols
,
uint16_t
nb_rb
,
uint8_t
subframe
,
uint32_t
rb_alloc
);
void
dlsch_16qam_llr
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
int32_t
**
rxdataF_comp
,
...
...
@@ -877,30 +875,26 @@ void dlsch_16qam_llr(LTE_DL_FRAME_PARMS *frame_parms,
*/
void
dlsch_16qam_llr_SIC
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
int32_t
**
rxdataF_comp
,
int32_t
**
sic_buffer
,
//Q15
int32_t
**
rho_i
,
int16_t
*
dlsch_llr
,
uint8_t
num_pdcch_symbols
,
int32_t
**
dl_ch_mag
,
uint16_t
nb_rb
,
uint8_t
subframe
,
uint32_t
rb_alloc
,
uint16_t
mod_order_0
,
LTE_UE_DLSCH_t
*
dlsch0
);
int32_t
**
sic_buffer
,
//Q15
int32_t
**
rho_i
,
int16_t
*
dlsch_llr
,
uint8_t
num_pdcch_symbols
,
int32_t
**
dl_ch_mag
,
uint16_t
nb_rb
,
uint8_t
subframe
,
uint32_t
rb_alloc
);
void
dlsch_64qam_llr_SIC
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
int32_t
**
rxdataF_comp
,
int32_t
**
sic_buffer
,
//Q15
int32_t
**
rho_i
,
int16_t
*
dlsch_llr
,
uint8_t
num_pdcch_symbols
,
int32_t
**
dl_ch_mag
,
int32_t
**
dl_ch_magb
,
uint16_t
nb_rb
,
uint8_t
subframe
,
uint32_t
rb_alloc
,
uint16_t
mod_order_0
,
LTE_UE_DLSCH_t
*
dlsch0
);
int32_t
**
sic_buffer
,
//Q15
int32_t
**
rho_i
,
int16_t
*
dlsch_llr
,
uint8_t
num_pdcch_symbols
,
int32_t
**
dl_ch_mag
,
int32_t
**
dl_ch_magb
,
uint16_t
nb_rb
,
uint8_t
subframe
,
uint32_t
rb_alloc
);
void
dlsch_64qam_llr
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
...
...
openair1/SIMULATION/LTE_PHY/dlsim_tm4.c
View file @
78bf45f3
...
...
@@ -4324,6 +4324,8 @@ int main(int argc, char **argv)
UE
->
dlsch_eNB
[
eNB_id
]
->
harq_processes
[
UE
->
dlsch
[
subframe
&
0x1
][
eNB_id
][
1
]
->
current_harq_pid
]
->
rvidx
=
round_sic
;
UE
->
dlsch
[
subframe
&
0x1
][
0
][
1
]
->
harq_processes
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
1
]
->
current_harq_pid
]
->
rvidx
=
round_sic
;
UE
->
dlsch_eNB
[
eNB_id
]
->
harq_processes
[
UE
->
dlsch
[
subframe
&
0x1
][
eNB_id
][
1
]
->
current_harq_pid
]
->
round
=
round_sic
;
UE
->
dlsch
[
subframe
&
0x1
][
0
][
1
]
->
harq_processes
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
1
]
->
current_harq_pid
]
->
round
=
round_sic
;
UE
->
dlsch_eNB
[
eNB_id
]
->
active
=
UE
->
dlsch
[
subframe
&
0x1
][
eNB_id
][
0
]
->
active
;
UE
->
dlsch_eNB
[
eNB_id
]
->
rnti
=
UE
->
dlsch
[
subframe
&
0x1
][
eNB_id
][
0
]
->
rnti
;
...
...
@@ -4376,47 +4378,41 @@ int main(int argc, char **argv)
case
2
:
dlsch_qpsk_llr_SIC
(
&
UE
->
frame_parms
,
UE
->
pdsch_vars
[
subframe
&
0x1
][
eNB_id
]
->
rxdataF_comp1
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
0
]
->
current_harq_pid
][
round_sic
],
UE
->
pdsch_vars
[
subframe
&
0x1
][
eNB_id
]
->
rxdataF_comp1
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
1
]
->
current_harq_pid
][
round_sic
],
sic_buffer
,
UE
->
pdsch_vars
[
subframe
&
0x1
][
eNB_id
]
->
dl_ch_rho_ext
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
0
]
->
current_harq_pid
][
round_sic
],
UE
->
pdsch_vars
[
subframe
&
0x1
][
eNB_id
]
->
dl_ch_rho_ext
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
1
]
->
current_harq_pid
][
round_sic
],
UE
->
pdsch_vars
[
subframe
&
0x1
][
eNB_id
]
->
llr
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
1
]
->
harq_processes
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
1
]
->
current_harq_pid
]
->
codeword
],
num_pdcch_symbols
,
dlsch0_eNB_harq
->
nb_rb
,
subframe
,
dlsch0_eNB_harq
->
rb_alloc
[
0
],
get_Qm
(
eNB
->
dlsch
[
0
][
0
]
->
harq_processes
[
0
]
->
mcs
),
UE
->
dlsch
[
subframe
&
0x1
][
eNB_id
][
0
]);
dlsch0_eNB_harq
->
rb_alloc
[
0
]);
break
;
case
4
:
dlsch_16qam_llr_SIC
(
&
UE
->
frame_parms
,
UE
->
pdsch_vars
[
subframe
&
0x1
][
eNB_id
]
->
rxdataF_comp1
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
0
]
->
current_harq_pid
][
round_sic
],
UE
->
pdsch_vars
[
subframe
&
0x1
][
eNB_id
]
->
rxdataF_comp1
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
1
]
->
current_harq_pid
][
round_sic
],
sic_buffer
,
UE
->
pdsch_vars
[
subframe
&
0x1
][
eNB_id
]
->
dl_ch_rho_ext
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
0
]
->
current_harq_pid
][
round_sic
],
UE
->
pdsch_vars
[
subframe
&
0x1
][
eNB_id
]
->
dl_ch_rho_ext
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
1
]
->
current_harq_pid
][
round_sic
],
UE
->
pdsch_vars
[
subframe
&
0x1
][
eNB_id
]
->
llr
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
1
]
->
harq_processes
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
1
]
->
current_harq_pid
]
->
codeword
],
num_pdcch_symbols
,
UE
->
pdsch_vars
[
subframe
&
0x1
][
eNB_id
]
->
dl_ch_mag1
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
0
]
->
current_harq_pid
][
round_sic
],
UE
->
pdsch_vars
[
subframe
&
0x1
][
eNB_id
]
->
dl_ch_mag1
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
1
]
->
current_harq_pid
][
round_sic
],
dlsch0_eNB_harq
->
nb_rb
,
subframe
,
dlsch0_eNB_harq
->
rb_alloc
[
0
],
get_Qm
(
eNB
->
dlsch
[
0
][
TB
]
->
harq_processes
[
0
]
->
mcs
),
UE
->
dlsch
[
subframe
&
0x1
][
eNB_id
][
0
]);
dlsch0_eNB_harq
->
rb_alloc
[
0
]);
break
;
case
6
:
dlsch_64qam_llr_SIC
(
&
UE
->
frame_parms
,
UE
->
pdsch_vars
[
subframe
&
0x1
][
eNB_id
]
->
rxdataF_comp1
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
0
]
->
current_harq_pid
][
round_sic
],
UE
->
pdsch_vars
[
subframe
&
0x1
][
eNB_id
]
->
rxdataF_comp1
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
1
]
->
current_harq_pid
][
round_sic
],
sic_buffer
,
UE
->
pdsch_vars
[
subframe
&
0x1
][
eNB_id
]
->
dl_ch_rho_ext
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
0
]
->
current_harq_pid
][
round_sic
],
UE
->
pdsch_vars
[
subframe
&
0x1
][
eNB_id
]
->
dl_ch_rho_ext
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
1
]
->
current_harq_pid
][
round_sic
],
UE
->
pdsch_vars
[
subframe
&
0x1
][
eNB_id
]
->
llr
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
1
]
->
harq_processes
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
1
]
->
current_harq_pid
]
->
codeword
],
num_pdcch_symbols
,
UE
->
pdsch_vars
[
subframe
&
0x1
][
eNB_id
]
->
dl_ch_mag1
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
0
]
->
current_harq_pid
][
round_sic
],
UE
->
pdsch_vars
[
subframe
&
0x1
][
eNB_id
]
->
dl_ch_magb1
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
0
]
->
current_harq_pid
][
round_sic
],
UE
->
pdsch_vars
[
subframe
&
0x1
][
eNB_id
]
->
dl_ch_mag1
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
1
]
->
current_harq_pid
][
round_sic
],
UE
->
pdsch_vars
[
subframe
&
0x1
][
eNB_id
]
->
dl_ch_magb1
[
UE
->
dlsch
[
subframe
&
0x1
][
0
][
1
]
->
current_harq_pid
][
round_sic
],
dlsch0_eNB_harq
->
nb_rb
,
subframe
,
dlsch0_eNB_harq
->
rb_alloc
[
0
],
get_Qm
(
eNB
->
dlsch
[
0
][
0
]
->
harq_processes
[
0
]
->
mcs
),
UE
->
dlsch
[
subframe
&
0x1
][
eNB_id
][
TB
]);
dlsch0_eNB_harq
->
rb_alloc
[
0
]);
break
;
}
//}// rouns sic
...
...
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