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
4eedd587
Commit
4eedd587
authored
Oct 03, 2014
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
git-svn-id:
http://svn.eurecom.fr/openair4G/trunk@5836
818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent
0cba1d20
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
25 additions
and
25 deletions
+25
-25
openair1/PHY/LTE_TRANSPORT/phich.c
openair1/PHY/LTE_TRANSPORT/phich.c
+4
-4
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
+3
-3
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+18
-18
No files found.
openair1/PHY/LTE_TRANSPORT/phich.c
View file @
4eedd587
...
...
@@ -1246,7 +1246,7 @@ void rx_phich(PHY_VARS_UE *phy_vars_ue,
#endif
if
(
HI16
>
0
)
{
//NACK
if
(
phy_vars_ue
->
ulsch_ue_Msg3_active
[
eNB_id
]
==
1
)
{
LOG_
I
(
PHY
,
"[UE %d][PUSCH %d][RAPROC] Frame %d subframe %d Msg3 PHICH, received NAK (%d) nseq %d, ngroup %d
\n
"
,
LOG_
D
(
PHY
,
"[UE %d][PUSCH %d][RAPROC] Frame %d subframe %d Msg3 PHICH, received NAK (%d) nseq %d, ngroup %d
\n
"
,
phy_vars_ue
->
Mod_id
,
harq_pid
,
phy_vars_ue
->
frame_rx
,
subframe
,
...
...
@@ -1271,7 +1271,7 @@ void rx_phich(PHY_VARS_UE *phy_vars_ue,
}
else
{
//#ifdef DEBUG_PHICH
LOG_
I
(
PHY
,
"[UE %d][PUSCH %d] Frame %d subframe %d PHICH, received NAK (%d) nseq %d, ngroup %d
\n
"
,
LOG_
D
(
PHY
,
"[UE %d][PUSCH %d] Frame %d subframe %d PHICH, received NAK (%d) nseq %d, ngroup %d
\n
"
,
phy_vars_ue
->
Mod_id
,
harq_pid
,
phy_vars_ue
->
frame_rx
,
subframe
,
...
...
@@ -1289,7 +1289,7 @@ void rx_phich(PHY_VARS_UE *phy_vars_ue,
}
else
{
//ACK
if
(
phy_vars_ue
->
ulsch_ue_Msg3_active
[
eNB_id
]
==
1
)
{
LOG_
I
(
PHY
,
"[UE %d][PUSCH %d][RAPROC] Frame %d subframe %d Msg3 PHICH, received ACK (%d) nseq %d, ngroup %d
\n\n
"
,
LOG_
D
(
PHY
,
"[UE %d][PUSCH %d][RAPROC] Frame %d subframe %d Msg3 PHICH, received ACK (%d) nseq %d, ngroup %d
\n\n
"
,
phy_vars_ue
->
Mod_id
,
harq_pid
,
phy_vars_ue
->
frame_rx
,
subframe
,
...
...
@@ -1363,7 +1363,7 @@ void generate_phich_top(PHY_VARS_eNB *phy_vars_eNB,
nseq_PHICH
=
((
ulsch_eNB
[
UE_id
]
->
harq_processes
[
harq_pid
]
->
first_rb
/
Ngroup_PHICH
)
+
ulsch_eNB
[
UE_id
]
->
harq_processes
[
harq_pid
]
->
n_DMRS
)
%
(
2
*
NSF_PHICH
);
//#ifdef DEBUG_PHICH
LOG_
I
(
PHY
,
"[eNB %d][PUSCH %d] Frame %d subframe %d Generating PHICH, ngroup_PHICH %d/%d, nseq_PHICH %d : HI %d, first_rb %d dci_alloc %d)
\n
"
,
LOG_
D
(
PHY
,
"[eNB %d][PUSCH %d] Frame %d subframe %d Generating PHICH, ngroup_PHICH %d/%d, nseq_PHICH %d : HI %d, first_rb %d dci_alloc %d)
\n
"
,
phy_vars_eNB
->
Mod_id
,
harq_pid
,
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_tx
,
subframe
,
ngroup_PHICH
,
Ngroup_PHICH
,
nseq_PHICH
,
ulsch_eNB
[
UE_id
]
->
harq_processes
[
harq_pid
]
->
phich_ACK
,
...
...
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
View file @
4eedd587
...
...
@@ -407,9 +407,9 @@ unsigned int ulsch_decoding(PHY_VARS_eNB *phy_vars_eNB,
Qprime
=
G
-
ulsch
->
O_RI
;
Q_CQI
=
Q_m
*
Qprime
;
#ifdef DEBUG_ULSCH_DECODING
printf
(
"ulsch_decoding.c
: G %d, Q_RI %d, Q_CQI %d (L %d, Or1 %d) O_ACK %d
\n
"
,
G
,
Q_RI
,
Q_CQI
,
L
,
ulsch
->
Or1
,
ulsch
->
harq_processes
[
harq_pid
]
->
O_ACK
);
#endif
//
#ifdef DEBUG_ULSCH_DECODING
LOG_D
(
PHY
,
"ulsch_decoding
: G %d, Q_RI %d, Q_CQI %d (L %d, Or1 %d) O_ACK %d
\n
"
,
G
,
Q_RI
,
Q_CQI
,
L
,
ulsch
->
Or1
,
ulsch
->
harq_processes
[
harq_pid
]
->
O_ACK
);
//
#endif
Qprime_CQI
=
Qprime
;
G
=
G
-
Q_RI
-
Q_CQI
;
...
...
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
4eedd587
...
...
@@ -349,7 +349,7 @@ int get_nCCE_offset(unsigned char L, int nCCE, int common_dci, unsigned short rn
break
;
}
//
LOG_I(PHY,"rnti %x, Yk = %d, nCCE %d (nCCE/L %d),nb_cand %d\n",rnti,Yk,nCCE,nCCE/L,nb_candidates);
LOG_I
(
PHY
,
"rnti %x, Yk = %d, nCCE %d (nCCE/L %d),nb_cand %d
\n
"
,
rnti
,
Yk
,
nCCE
,
nCCE
/
L
,
nb_candidates
);
for
(
m
=
0
;
m
<
nb_candidates
;
m
++
)
{
search_space_free
=
1
;
...
...
@@ -1581,7 +1581,7 @@ void phy_procedures_eNB_TX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e
DCI_pdu
->
dci_alloc
[
i
].
nCCE
=
phy_vars_eNB
->
dlsch_eNB
[(
uint8_t
)
UE_id
][
0
]
->
nCCE
[
subframe
];
#ifdef DEBUG_PHY_PROC
//if (phy_vars_eNB->proc[sched_subframe].frame_tx%100 == 0)
LOG_
I
(
PHY
,
"[eNB %d][DCI][PDSCH %x] Frame %d subframe %d UE_id %d Generated DCI format %d, aggregation %d
\n
"
,
LOG_
D
(
PHY
,
"[eNB %d][DCI][PDSCH %x] Frame %d subframe %d UE_id %d Generated DCI format %d, aggregation %d
\n
"
,
phy_vars_eNB
->
Mod_id
,
DCI_pdu
->
dci_alloc
[
i
].
rnti
,
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_tx
,
subframe
,
UE_id
,
DCI_pdu
->
dci_alloc
[
i
].
format
,
...
...
@@ -1825,7 +1825,7 @@ void phy_procedures_eNB_TX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e
// Check for RA activity
if
(
phy_vars_eNB
->
dlsch_eNB_ra
->
active
==
1
)
{
#ifdef DEBUG_PHY_PROC
LOG_
I
(
PHY
,
"[eNB %d][RAPROC] Frame %d, subframe %d, RA active, filling RAR:
\n
"
,
LOG_
D
(
PHY
,
"[eNB %d][RAPROC] Frame %d, subframe %d, RA active, filling RAR:
\n
"
,
phy_vars_eNB
->
Mod_id
,
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_tx
,
subframe
);
#endif
...
...
@@ -1964,7 +1964,7 @@ void phy_procedures_eNB_TX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e
#ifdef DEBUG_PHY_PROC
LOG_
I
(
PHY
,
"[eNB %d][PDSCH %x/%d] Frame %d, subframe %d: Generating PDSCH/DLSCH with input size = %d, G %d, nb_rb %d, mcs %d, pmi_alloc %x, rv %d (round %d)
\n
"
,
LOG_
D
(
PHY
,
"[eNB %d][PDSCH %x/%d] Frame %d, subframe %d: Generating PDSCH/DLSCH with input size = %d, G %d, nb_rb %d, mcs %d, pmi_alloc %x, rv %d (round %d)
\n
"
,
phy_vars_eNB
->
Mod_id
,
phy_vars_eNB
->
dlsch_eNB
[(
uint8_t
)
UE_id
][
0
]
->
rnti
,
harq_pid
,
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_tx
,
subframe
,
input_buffer_length
,
get_G
(
&
phy_vars_eNB
->
lte_frame_parms
,
...
...
@@ -2310,7 +2310,7 @@ void process_HARQ_feedback(uint8_t UE_id,
if
(
dl_harq_pid
[
m
]
<
dlsch
->
Mdlharq
)
{
dlsch_harq_proc
=
dlsch
->
harq_processes
[
dl_harq_pid
[
m
]];
#ifdef DEBUG_PHY_PROC
LOG_
I
(
PHY
,
"[eNB %d][PDSCH %x/%d] subframe %d, status %d, round %d (mcs %d, rv %d, TBS %d)
\n
"
,
phy_vars_eNB
->
Mod_id
,
LOG_
D
(
PHY
,
"[eNB %d][PDSCH %x/%d] subframe %d, status %d, round %d (mcs %d, rv %d, TBS %d)
\n
"
,
phy_vars_eNB
->
Mod_id
,
dlsch
->
rnti
,
dl_harq_pid
[
m
],
dl_subframe
,
dlsch_harq_proc
->
status
,
dlsch_harq_proc
->
round
,
dlsch
->
harq_processes
[
dl_harq_pid
[
m
]]
->
mcs
,
...
...
@@ -2327,7 +2327,7 @@ void process_HARQ_feedback(uint8_t UE_id,
if
(
dlsch_ACK
[
mp
]
==
0
)
{
// Received NAK
#ifdef DEBUG_PHY_PROC
LOG_
I
(
PHY
,
"[eNB %d][PDSCH %x/%d] M = %d, m= %d, mp=%d NAK Received in round %d, requesting retransmission
\n
"
,
phy_vars_eNB
->
Mod_id
,
LOG_
D
(
PHY
,
"[eNB %d][PDSCH %x/%d] M = %d, m= %d, mp=%d NAK Received in round %d, requesting retransmission
\n
"
,
phy_vars_eNB
->
Mod_id
,
dlsch
->
rnti
,
dl_harq_pid
[
m
],
M
,
m
,
mp
,
dlsch_harq_proc
->
round
);
#endif
...
...
@@ -2353,7 +2353,7 @@ void process_HARQ_feedback(uint8_t UE_id,
}
else
{
#ifdef DEBUG_PHY_PROC
LOG_
I
(
PHY
,
"[eNB %d][PDSCH %x/%d] ACK Received in round %d, resetting process
\n
"
,
phy_vars_eNB
->
Mod_id
,
LOG_
D
(
PHY
,
"[eNB %d][PDSCH %x/%d] ACK Received in round %d, resetting process
\n
"
,
phy_vars_eNB
->
Mod_id
,
dlsch
->
rnti
,
dl_harq_pid
[
m
],
dlsch_harq_proc
->
round
);
#endif
ue_stats
->
dlsch_ACK
[
dl_harq_pid
[
m
]][
dlsch_harq_proc
->
round
]
++
;
...
...
@@ -2656,7 +2656,7 @@ void prach_procedures(PHY_VARS_eNB *phy_vars_eNB,uint8_t sched_subframe,uint8_t
#endif
}
else
{
LOG_
D
(
PHY
,
"[eNB %d][RAPROC] frame %d, subframe %d: Unable to add user, max user count reached
\n
"
,
LOG_
I
(
PHY
,
"[eNB %d][RAPROC] frame %d, subframe %d: Unable to add user, max user count reached
\n
"
,
phy_vars_eNB
->
Mod_id
,
frame
,
subframe
);
}
}
...
...
@@ -2879,7 +2879,7 @@ void phy_procedures_eNB_RX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e
}
#ifdef DEBUG_PHY_PROC
LOG_
I
(
PHY
,
"[eNB %d][PUSCH %d] Frame %d Subframe %d Demodulating PUSCH: dci_alloc %d, rar_alloc %d, round %d, first_rb %d, nb_rb %d, mcs %d, TBS %d, rv %d, cyclic_shift %d (n_DMRS2 %d, cyclicShift_common %d, nprs %d), O_ACK %d
\n
"
,
LOG_
D
(
PHY
,
"[eNB %d][PUSCH %d] Frame %d Subframe %d Demodulating PUSCH: dci_alloc %d, rar_alloc %d, round %d, first_rb %d, nb_rb %d, mcs %d, TBS %d, rv %d, cyclic_shift %d (n_DMRS2 %d, cyclicShift_common %d, nprs %d), O_ACK %d
\n
"
,
phy_vars_eNB
->
Mod_id
,
harq_pid
,
frame
,
subframe
,
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
harq_processes
[
harq_pid
]
->
dci_alloc
,
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
harq_processes
[
harq_pid
]
->
rar_alloc
,
...
...
@@ -2943,8 +2943,8 @@ void phy_procedures_eNB_RX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e
#endif
stop_meas
(
&
phy_vars_eNB
->
ulsch_decoding_stats
);
//
#ifdef DEBUG_PHY_PROC
LOG_
I
(
PHY
,
"[eNB %d][PUSCH %d] frame %d subframe %d RNTI %x RX power (%d,%d) RSSI (%d,%d) N0 (%d,%d) dB ACK (%d,%d), decoding iter %d
\n
"
,
#ifdef DEBUG_PHY_PROC
LOG_
D
(
PHY
,
"[eNB %d][PUSCH %d] frame %d subframe %d RNTI %x RX power (%d,%d) RSSI (%d,%d) N0 (%d,%d) dB ACK (%d,%d), decoding iter %d
\n
"
,
phy_vars_eNB
->
Mod_id
,
harq_pid
,
frame
,
subframe
,
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
rnti
,
...
...
@@ -2957,7 +2957,7 @@ void phy_procedures_eNB_RX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
o_ACK
[
0
],
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
o_ACK
[
1
],
ret
);
//
#endif //DEBUG_PHY_PROC
#endif //DEBUG_PHY_PROC
/*
if ((two_ues_connected==1) && (phy_vars_eNB->cooperation_flag==2)) {
for (j=0;j<phy_vars_eNB->lte_frame_parms.nb_antennas_rx;j++) {
...
...
@@ -3019,7 +3019,7 @@ void phy_procedures_eNB_RX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e
if
(
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
harq_processes
[
harq_pid
]
->
round
==
phy_vars_eNB
->
lte_frame_parms
.
maxHARQ_Msg3Tx
)
{
LOG_
D
(
PHY
,
"[eNB %d][RAPROC] maxHARQ_Msg3Tx reached, abandoning RA procedure for UE %d
\n
"
,
LOG_
I
(
PHY
,
"[eNB %d][RAPROC] maxHARQ_Msg3Tx reached, abandoning RA procedure for UE %d
\n
"
,
phy_vars_eNB
->
Mod_id
,
i
);
phy_vars_eNB
->
eNB_UE_stats
[
i
].
mode
=
PRACH
;
#ifdef OPENAIR2
...
...
@@ -3043,7 +3043,7 @@ void phy_procedures_eNB_RX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e
&
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
Msg3_frame
,
&
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
Msg3_subframe
);
}
/*
LOG_
I
(PHY,"[eNB] Frame %d, Subframe %d : ULSCH SDU (RX harq_pid %d) %d bytes:",frame,subframe,
LOG_
D
(PHY,"[eNB] Frame %d, Subframe %d : ULSCH SDU (RX harq_pid %d) %d bytes:",frame,subframe,
harq_pid,phy_vars_eNB->ulsch_eNB[i]->harq_processes[harq_pid]->TBS>>3);
for (j=0;j<phy_vars_eNB->ulsch_eNB[i]->harq_processes[harq_pid]->TBS>>3;j++)
printf("%x.",phy_vars_eNB->ulsch_eNB[i]->harq_processes[harq_pid]->c[0][j]);
...
...
@@ -3057,7 +3057,7 @@ void phy_procedures_eNB_RX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e
//#endif
}
// This is Msg3 error
else
{
//normal ULSCH
LOG_
I
(
PHY
,
"[eNB %d][PUSCH %d] frame %d subframe %d UE %d Error receiving ULSCH, round %d/%d (ACK %d,%d)
\n
"
,
LOG_
D
(
PHY
,
"[eNB %d][PUSCH %d] frame %d subframe %d UE %d Error receiving ULSCH, round %d/%d (ACK %d,%d)
\n
"
,
phy_vars_eNB
->
Mod_id
,
harq_pid
,
frame
,
subframe
,
i
,
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
harq_processes
[
harq_pid
]
->
round
-
1
,
...
...
@@ -3080,7 +3080,7 @@ void phy_procedures_eNB_RX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e
//mac_exit_wrapper("ULSCH error");
if
(
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
harq_processes
[
harq_pid
]
->
round
==
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
Mdlharq
)
{
LOG_
I
(
PHY
,
"[eNB %d][PUSCH %d] frame %d subframe %d UE %d ULSCH Mdlharq %d reached
\n
"
,
LOG_
D
(
PHY
,
"[eNB %d][PUSCH %d] frame %d subframe %d UE %d ULSCH Mdlharq %d reached
\n
"
,
phy_vars_eNB
->
Mod_id
,
harq_pid
,
frame
,
subframe
,
i
,
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
Mdlharq
);
...
...
@@ -3095,7 +3095,7 @@ void phy_procedures_eNB_RX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e
// If we've dropped the UE, go back to PRACH mode for this UE
//#if !defined(EXMIMO_IOT)
if
(
phy_vars_eNB
->
eNB_UE_stats
[
i
].
ulsch_consecutive_errors
[
harq_pid
]
==
ULSCH_max_consecutive_errors
)
{
LOG_
I
(
PHY
,
"[eNB %d] frame %d, subframe %d, UE %d: ULSCH consecutive error count reached %u, removing UE
\n
"
,
LOG_
D
(
PHY
,
"[eNB %d] frame %d, subframe %d, UE %d: ULSCH consecutive error count reached %u, removing UE
\n
"
,
phy_vars_eNB
->
Mod_id
,
frame
,
subframe
,
i
,
phy_vars_eNB
->
eNB_UE_stats
[
i
].
ulsch_consecutive_errors
[
harq_pid
]);
phy_vars_eNB
->
eNB_UE_stats
[
i
].
mode
=
PRACH
;
#ifdef OPENAIR2
...
...
@@ -3157,7 +3157,7 @@ void phy_procedures_eNB_RX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e
phy_vars_eNB
->
ulsch_eNB
[
i
]
->
Msg3_flag
=
0
;
#ifdef DEBUG_PHY_PROC
LOG_
I
(
PHY
,
"[eNB %d][RAPROC] Frame %d : RX Subframe %d Setting UE %d mode to PUSCH
\n
"
,
phy_vars_eNB
->
Mod_id
,
frame
,
subframe
,
i
);
LOG_
D
(
PHY
,
"[eNB %d][RAPROC] Frame %d : RX Subframe %d Setting UE %d mode to PUSCH
\n
"
,
phy_vars_eNB
->
Mod_id
,
frame
,
subframe
,
i
);
#endif //DEBUG_PHY_PROC
for
(
k
=
0
;
k
<
8
;
k
++
)
{
//harq_processes
...
...
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