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
zzha zzha
OpenXG-RAN
Commits
c14d2886
Commit
c14d2886
authored
Feb 09, 2018
by
Hongzhi Wang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
LDPC BG1 nos1 for rrc
parent
27e5258a
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
53 additions
and
75 deletions
+53
-75
openair1/PHY/CODING/ldpc_encoder.c
openair1/PHY/CODING/ldpc_encoder.c
+3
-3
openair1/PHY/CODING/nr_segmentation.c
openair1/PHY/CODING/nr_segmentation.c
+5
-4
openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
+7
-3
openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
+9
-5
openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h
openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h
+28
-59
targets/RT/USER/lte-ue.c
targets/RT/USER/lte-ue.c
+1
-1
No files found.
openair1/PHY/CODING/ldpc_encoder.c
View file @
c14d2886
...
...
@@ -5253,14 +5253,14 @@ int ldpc_encoder(unsigned char *test_input,unsigned char *channel_input,short bl
//Table of possible lifting sizes
short lift_size[51]= {2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,20,22,24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256,288,320,352,384};
//determine number of bits in codeword
if (block_length>3840)
//
if (block_length>3840)
{
BG=1;
Kb = 22;
nrows=46; //parity check bits
ncols=22; //info bits
}
else if (block_length<=3840)
/*
else if (block_length<=3840)
{
BG=2;
nrows=42; //parity check bits
...
...
@@ -5274,7 +5274,7 @@ int ldpc_encoder(unsigned char *test_input,unsigned char *channel_input,short bl
Kb = 8;
else
Kb = 6;
}
}
*/
//find minimum value in all sets of lifting size
Zc=0;
...
...
openair1/PHY/CODING/nr_segmentation.c
View file @
c14d2886
...
...
@@ -65,7 +65,7 @@ int32_t nr_segmentation(unsigned char *input_buffer,
// Find K+
Bprime_by_C
=
Bprime
/
(
*
C
);
if
(
Bprime
<=
192
)
{
/*
if (Bprime <=192) {
Kb = 6;
} else if (Bprime <=560) {
Kb = 8;
...
...
@@ -73,9 +73,9 @@ int32_t nr_segmentation(unsigned char *input_buffer,
Kb = 9;
} else if (Bprime <=3840) {
Kb = 10;;
}
else
{
} else {
*/
Kb
=
22
;
}
//
}
if
((
Bprime_by_C
%
Kb
)
>
0
)
...
...
@@ -141,8 +141,9 @@ else
*
F
=
((
*
C
)
*
(
*
Kplus
)
-
(
Bprime
));
//printf("final nr seg output Z %d Kplus %d F %d \n", *Zout, *Kplus, *F);
#ifdef DEBUG_SEGMENTATION
printf
(
"final nr seg output Z %d Kplus %d F %d
\n
"
,
*
Zout
,
*
Kplus
,
*
F
);
printf
(
"C %d, Kplus %d, Kminus %d, Bprime_bytes %d, Bprime %d, F %d
\n
"
,
*
C
,
*
Kplus
,
*
Kminus
,
Bprime
>>
3
,
Bprime
,
*
F
);
#endif
...
...
openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
View file @
c14d2886
...
...
@@ -714,11 +714,15 @@ int dlsch_encoding(PHY_VARS_eNB *eNB,
#ifdef DEBUG_DLSCH_CODING
printf
(
"start ldpc encoder segment %d/%d
\n
"
,
r
,
dlsch
->
harq_processes
[
harq_pid
]
->
C
);
printf
(
"input %d %d %d %d %d
\n
"
,
dlsch
->
harq_processes
[
harq_pid
]
->
c
[
r
][
0
],
dlsch
->
harq_processes
[
harq_pid
]
->
c
[
r
][
1
],
dlsch
->
harq_processes
[
harq_pid
]
->
c
[
r
][
2
],
dlsch
->
harq_processes
[
harq_pid
]
->
c
[
r
][
3
],
dlsch
->
harq_processes
[
harq_pid
]
->
c
[
r
][
4
]);
/*for (int cnt =0 ; cnt < 22*(*pz); cnt ++){
printf("%d ", dlsch->harq_processes[harq_pid]->c[r][cnt]);
}*/
#endif
//
ldpc_encoder((unsigned char*)dlsch->harq_processes[harq_pid]->c[r],&dlsch->harq_processes[harq_pid]->d[r][96],Kr,rate);
ldpc_encoder
((
unsigned
char
*
)
dlsch
->
harq_processes
[
harq_pid
]
->
c
[
r
],
&
dlsch
->
harq_processes
[
harq_pid
]
->
d
[
r
][
96
],
Kr
,
rate
);
}
start_meas
(
te_stats
);
ldpc_encoder_multi_segment
(
dlsch
->
harq_processes
[
harq_pid
]
->
c
,
d_tmp
,
Kr
,
rate
,
dlsch
->
harq_processes
[
harq_pid
]
->
C
);
//
ldpc_encoder_multi_segment(dlsch->harq_processes[harq_pid]->c,d_tmp,Kr,rate,dlsch->harq_processes[harq_pid]->C);
stop_meas
(
te_stats
);
#endif
/*printf("end ldpc encoder -- output\n");
...
...
@@ -818,7 +822,7 @@ int dlsch_encoding_SIC(PHY_VARS_UE *ue,
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_ENB_DLSCH_ENCODING
,
VCD_FUNCTION_IN
);
A
=
dlsch
->
harq_processes
[
harq_pid
]
->
TBS
;
//6228
printf
(
"Encoder: A: %d
\n
"
,
A
);
//
printf("Encoder: A: %d\n",A);
mod_order
=
get_Qm
(
dlsch
->
harq_processes
[
harq_pid
]
->
mcs
);
if
(
dlsch
->
harq_processes
[
harq_pid
]
->
mimo_mode
==
TM7
)
...
...
openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
View file @
c14d2886
...
...
@@ -573,11 +573,11 @@ uint32_t dlsch_decoding(PHY_VARS_UE *phy_vars_ue,
}
//}
for
(
int
cnt
=
0
;
cnt
<
8
;
cnt
++
){
/*
for (int cnt =0; cnt < 8; cnt++){
printf("dr %d inv_d %d \n", harq_process->d[r][96+cnt], inv_d[cnt]);
}
printf
(
"
\n
"
);
printf(" \n");
*/
/*printf("end dr \n");
for (int cnt =(50*p_decParams->Z-16) ; cnt < 50*p_decParams->Z; cnt++){
...
...
@@ -627,7 +627,7 @@ uint32_t dlsch_decoding(PHY_VARS_UE *phy_vars_ue,
llrProcBuf
,
p_procTime
);
ret
=
no_iteration_ldpc
;
//
ret = no_iteration_ldpc;
nb_total_decod
++
;
if
(
no_iteration_ldpc
>
5
){
...
...
@@ -650,11 +650,15 @@ uint32_t dlsch_decoding(PHY_VARS_UE *phy_vars_ue,
#endif
//
#ifdef DEBUG_DLSCH_DECODING
#ifdef DEBUG_DLSCH_DECODING
printf
(
"output decoder %d %d %d %d %d
\n
"
,
harq_process
->
c
[
r
][
0
],
harq_process
->
c
[
r
][
1
],
harq_process
->
c
[
r
][
2
],
harq_process
->
c
[
r
][
3
],
harq_process
->
c
[
r
][
4
]);
printf
(
"no_iterations_ldpc %d
\n
"
,
no_iteration_ldpc
);
write_output
(
"dec_output.m"
,
"dec0"
,
harq_process
->
c
[
0
],
Kr_bytes
,
1
,
4
);
//#endif
/* for (int cnt =0 ; cnt < 22*p_decParams->Z; cnt ++){
printf("%d ", harq_process->c[r][cnt]);
}
printf("\n");*/
#endif
#if UE_TIMING_TRACE
...
...
openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h
View file @
c14d2886
This diff is collapsed.
Click to expand it.
targets/RT/USER/lte-ue.c
View file @
c14d2886
...
...
@@ -609,7 +609,7 @@ static void *UE_thread_rxn_txnp4(void *arg) {
#endif
// Prepare the future Tx data
#if
0
#if
1
if
((
subframe_select
(
&
UE
->
frame_parms
,
proc
->
subframe_tx
)
==
SF_UL
)
||
(
UE
->
frame_parms
.
frame_type
==
FDD
)
)
if
(
UE
->
mode
!=
loop_through_memory
)
...
...
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