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
常顺宇
OpenXG-RAN
Commits
4ae59999
Commit
4ae59999
authored
Mar 16, 2017
by
gabrielC
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'UE_20MHz_and_Log_improvement' into develop_integration_w11
parents
415201c3
d5a93343
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
46 additions
and
19 deletions
+46
-19
openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
+3
-2
openair1/PHY/LTE_TRANSPORT/proto.h
openair1/PHY/LTE_TRANSPORT/proto.h
+1
-1
openair1/PHY/TOOLS/lte_phy_scope.c
openair1/PHY/TOOLS/lte_phy_scope.c
+24
-4
openair1/PHY/defs.h
openair1/PHY/defs.h
+1
-1
openair1/SCHED/phy_procedures_lte_ue.c
openair1/SCHED/phy_procedures_lte_ue.c
+17
-11
No files found.
openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
View file @
4ae59999
...
...
@@ -160,7 +160,7 @@ uint32_t dlsch_decoding(PHY_VARS_UE *phy_vars_ue,
LTE_DL_FRAME_PARMS
*
frame_parms
,
LTE_UE_DLSCH_t
*
dlsch
,
LTE_DL_UE_HARQ_t
*
harq_process
,
uint
8
_t
frame
,
uint
32
_t
frame
,
uint8_t
subframe
,
uint8_t
harq_pid
,
uint8_t
is_crnti
,
...
...
@@ -472,6 +472,7 @@ uint32_t dlsch_decoding(PHY_VARS_UE *phy_vars_ue,
}
start_meas
(
dlsch_turbo_decoding_stats
);
LOG_D
(
PHY
,
"AbsSubframe %d.%d Start turbo segment %d/%d
\n
"
,
frame
%
1024
,
subframe
,
r
,
harq_process
->
C
-
1
);
ret
=
tc
(
&
harq_process
->
d
[
r
][
96
],
harq_process
->
c
[
r
],
...
...
@@ -626,7 +627,7 @@ uint32_t dlsch_decoding(PHY_VARS_UE *phy_vars_ue,
if
((
err_flag
==
0
)
&&
(
ret
>=
(
1
+
dlsch
->
max_turbo_iterations
)))
{
// a Code segment is in error so break;
//printf("CRC failed, segment %d\n",r
);
LOG_D
(
PHY
,
"AbsSubframe %d.%d CRC failed, segment %d/%d
\n
"
,
frame
%
1024
,
subframe
,
r
,
harq_process
->
C
-
1
);
err_flag
=
1
;
}
}
...
...
openair1/PHY/LTE_TRANSPORT/proto.h
View file @
4ae59999
...
...
@@ -1268,7 +1268,7 @@ uint32_t dlsch_decoding(PHY_VARS_UE *phy_vars_ue,
LTE_DL_FRAME_PARMS
*
lte_frame_parms
,
LTE_UE_DLSCH_t
*
dlsch
,
LTE_DL_UE_HARQ_t
*
harq_process
,
uint
8
_t
frame
,
uint
32
_t
frame
,
uint8_t
subframe
,
uint8_t
harq_pid
,
uint8_t
is_crnti
,
...
...
openair1/PHY/TOOLS/lte_phy_scope.c
View file @
4ae59999
...
...
@@ -699,8 +699,15 @@ void phy_scope_UE(FD_lte_phy_scope_ue *form,
}
fl_set_xyplot_xbounds
(
form
->
pdcch_llr
,
0
,
12
*
frame_parms
->
N_RB_DL
*
2
*
3
);
if
(
frame_parms
->
N_RB_DL
!=
100
)
{
fl_set_xyplot_data
(
form
->
pdcch_llr
,
bit_pdcch
,
llr_pdcch
,
12
*
frame_parms
->
N_RB_DL
*
2
*
num_pdcch_symbols
,
""
,
""
,
""
);
}
else
{
LOG_E
(
PHY
,
"PDCCH LLR plot is bugged in 20 MHz BW, to be fixed !!!"
);
}
}
// PDCCH I/Q of MF Output
if
(
pdcch_comp
!=
NULL
)
{
...
...
@@ -708,9 +715,15 @@ void phy_scope_UE(FD_lte_phy_scope_ue *form,
I
[
i
]
=
pdcch_comp
[
2
*
i
];
Q
[
i
]
=
pdcch_comp
[
2
*
i
+
1
];
}
if
(
frame_parms
->
N_RB_DL
!=
100
)
{
fl_set_xyplot_data
(
form
->
pdcch_comp
,
I
,
Q
,
12
*
frame_parms
->
N_RB_DL
*
num_pdcch_symbols
,
""
,
""
,
""
);
}
else
{
LOG_E
(
PHY
,
"PDCCH COMP plot is bugged in 20 MHz BW, to be fixed !!!"
);
}
}
// PDSCH LLRs
if
(
pdsch_llr
!=
NULL
)
{
...
...
@@ -720,8 +733,15 @@ void phy_scope_UE(FD_lte_phy_scope_ue *form,
}
fl_set_xyplot_xbounds
(
form
->
pdsch_llr
,
0
,
coded_bits_per_codeword
);
if
(
frame_parms
->
N_RB_DL
!=
100
)
{
fl_set_xyplot_data
(
form
->
pdsch_llr
,
bit
,
llr
,
coded_bits_per_codeword
,
""
,
""
,
""
);
}
else
{
LOG_E
(
PHY
,
"PDSCH LLR plot is bugged in 20 MHz BW, to be fixed !!!"
);
}
}
// PDSCH I/Q of MF Output
if
(
pdsch_comp
!=
NULL
)
{
...
...
openair1/PHY/defs.h
View file @
4ae59999
...
...
@@ -896,7 +896,7 @@ typedef struct {
time_stats_t
rx_dft_stats
;
time_stats_t
dlsch_channel_estimation_stats
;
time_stats_t
dlsch_freq_offset_estimation_stats
;
time_stats_t
dlsch_decoding_stats
;
time_stats_t
dlsch_decoding_stats
[
2
]
;
time_stats_t
dlsch_demodulation_stats
;
time_stats_t
dlsch_rate_unmatching_stats
;
time_stats_t
dlsch_turbo_decoding_stats
;
...
...
openair1/SCHED/phy_procedures_lte_ue.c
View file @
4ae59999
...
...
@@ -1991,7 +1991,7 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
LOG_D
(
PHY
,
"[UE %d][SR %x] AbsSubframe %d.%d Generating PUCCH 1 (SR for PUSCH), an_srs_simultanous %d, shorten_pucch %d, n1_pucch %d, Po_PUCCH %d
\n
"
,
Mod_id
,
ue
->
dlsch
[
proc
->
subframe_rx
&
0x1
][
eNB_id
][
0
]
->
rnti
,
frame_tx
,
subframe_tx
,
frame_tx
%
1024
,
subframe_tx
,
frame_parms
->
soundingrs_ul_config_common
.
ackNackSRS_SimultaneousTransmission
,
isShortenPucch
,
ue
->
scheduling_request_config
[
eNB_id
].
sr_PUCCH_ResourceIndex
,
...
...
@@ -3532,7 +3532,7 @@ void ue_dlsch_procedures(PHY_VARS_UE *ue,
LOG_I(PHY,"start turbo decode for CW 0 for AbsSubframe %d.%d / %d --> Pdcch Sym %d \n", frame_rx, subframe_rx, harq_pid, ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->num_pdcch_symbols);
#endif
start_meas
(
&
ue
->
dlsch_decoding_stats
);
start_meas
(
&
ue
->
dlsch_decoding_stats
[
subframe_rx
&
0x1
]
);
ret
=
dlsch_decoding
(
ue
,
pdsch_vars
->
llr
[
0
],
&
ue
->
frame_parms
,
...
...
@@ -3543,12 +3543,13 @@ void ue_dlsch_procedures(PHY_VARS_UE *ue,
harq_pid
,
pdsch
==
PDSCH
?
1
:
0
,
dlsch0
->
harq_processes
[
harq_pid
]
->
TBS
>
256
?
1
:
0
);
stop_meas
(
&
ue
->
dlsch_decoding_stats
);
stop_meas
(
&
ue
->
dlsch_decoding_stats
[
subframe_rx
&
0x1
]
);
LOG_D
(
PHY
,
" --> Unscrambling for CW0 %5.3f
\n
"
,
(
ue
->
dlsch_unscrambling_stats
.
p_time
)
/
(
cpuf
*
1000
.
0
));
LOG_D
(
PHY
,
" --> Turbo Decoding for CW0 %5.3f
\n
"
,
(
ue
->
dlsch_decoding_stats
.
p_time
)
/
(
cpuf
*
1000
.
0
));
LOG_D
(
PHY
,
"AbsSubframe %d.%d --> Turbo Decoding for CW0 %5.3f
\n
"
,
frame_rx
%
1024
,
subframe_rx
,(
ue
->
dlsch_decoding_stats
[
subframe_rx
&
0x1
].
p_time
)
/
(
cpuf
*
1000
.
0
));
if
(
is_cw1_active
)
{
...
...
@@ -3582,7 +3583,9 @@ void ue_dlsch_procedures(PHY_VARS_UE *ue,
LOG_I(PHY,"start turbo decode for CW 1 for AbsSubframe %d.%d / %d --> Kmimo %d \n", frame_rx, subframe_rx, harq_pid, dlsch1->Kmimo);
LOG_I(PHY,"start turbo decode for CW 1 for AbsSubframe %d.%d / %d --> Pdcch Sym %d \n", frame_rx, subframe_rx, harq_pid, ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->num_pdcch_symbols);
#endif
start_meas
(
&
ue
->
dlsch_decoding_stats
);
start_meas
(
&
ue
->
dlsch_decoding_stats
[
subframe_rx
&
0x1
]);
ret1
=
dlsch_decoding
(
ue
,
pdsch_vars
->
llr
[
1
],
&
ue
->
frame_parms
,
...
...
@@ -3593,12 +3596,13 @@ void ue_dlsch_procedures(PHY_VARS_UE *ue,
harq_pid
,
pdsch
==
PDSCH
?
1
:
0
,
dlsch1
->
harq_processes
[
harq_pid
]
->
TBS
>
256
?
1
:
0
);
stop_meas
(
&
ue
->
dlsch_decoding_stats
);
stop_meas
(
&
ue
->
dlsch_decoding_stats
[
subframe_rx
&
0x1
]);
LOG_D
(
PHY
,
" --> Unscrambling for CW1 %5.3f
\n
"
,
(
ue
->
dlsch_unscrambling_stats
.
p_time
)
/
(
cpuf
*
1000
.
0
));
LOG_D
(
PHY
,
" --> Turbo Decoding for CW1 %5.3f
\n
"
,
(
ue
->
dlsch_decoding_stats
.
p_time
)
/
(
cpuf
*
1000
.
0
));
LOG_D
(
PHY
,
"
AbsSubframe %d.%d
--> Turbo Decoding for CW1 %5.3f
\n
"
,
frame_rx
%
1024
,
subframe_rx
,(
ue
->
dlsch_decoding_stats
[
subframe_rx
&
0x1
]
.
p_time
)
/
(
cpuf
*
1000
.
0
));
}
LOG_D
(
PHY
,
" ------ end turbo decoder for AbsSubframe %d.%d ------
\n
"
,
frame_rx
,
subframe_rx
);
...
...
@@ -3620,10 +3624,11 @@ void ue_dlsch_procedures(PHY_VARS_UE *ue,
if
(
dlsch0
->
rnti
!=
0xffff
)
{
LOG_D
(
PHY
,
"[UE %d][PDSCH %x/%d] AbsSubframe %d.%d : DLSCH CW0 in error (rv %d,mcs %d,TBS %d)
\n
"
,
LOG_D
(
PHY
,
"[UE %d][PDSCH %x/%d] AbsSubframe %d.%d : DLSCH CW0 in error (rv %d,
round %d,
mcs %d,TBS %d)
\n
"
,
ue
->
Mod_id
,
dlsch0
->
rnti
,
harq_pid
,
frame_rx
,
subframe_rx
,
dlsch0
->
harq_processes
[
harq_pid
]
->
rvidx
,
dlsch0
->
harq_processes
[
harq_pid
]
->
round
,
dlsch0
->
harq_processes
[
harq_pid
]
->
mcs
,
dlsch0
->
harq_processes
[
harq_pid
]
->
TBS
);
}
...
...
@@ -3632,10 +3637,11 @@ void ue_dlsch_procedures(PHY_VARS_UE *ue,
}
else
{
if
(
dlsch0
->
rnti
!=
0xffff
)
{
LOG_D
(
PHY
,
"[UE %d][PDSCH %x/%d] AbsSubframe %d.%d : Received DLSCH CW0 (rv %d,mcs %d,TBS %d)
\n
"
,
LOG_D
(
PHY
,
"[UE %d][PDSCH %x/%d] AbsSubframe %d.%d : Received DLSCH CW0 (rv %d,
round %d,
mcs %d,TBS %d)
\n
"
,
ue
->
Mod_id
,
dlsch0
->
rnti
,
harq_pid
,
frame_rx
,
subframe_rx
,
dlsch0
->
harq_processes
[
harq_pid
]
->
rvidx
,
dlsch0
->
harq_processes
[
harq_pid
]
->
round
,
dlsch0
->
harq_processes
[
harq_pid
]
->
mcs
,
dlsch0
->
harq_processes
[
harq_pid
]
->
TBS
);
}
...
...
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