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
14f403e4
Commit
14f403e4
authored
Feb 25, 2015
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
git-svn-id:
http://svn.eurecom.fr/openair4G/trunk@6611
818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent
cad490a2
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
25 additions
and
16 deletions
+25
-16
openair1/SCHED/phy_procedures_lte_ue.c
openair1/SCHED/phy_procedures_lte_ue.c
+25
-16
No files found.
openair1/SCHED/phy_procedures_lte_ue.c
View file @
14f403e4
...
...
@@ -344,7 +344,7 @@ void process_timing_advance(uint8_t Mod_id,uint8_t CC_id,int16_t timing_advance)
//}
}
LOG_
I
(
PHY
,
"[UE %d] Got timing advance %d from MAC, new value %d
\n
"
,
Mod_id
,
timing_advance
,
PHY_vars_UE_g
[
Mod_id
][
CC_id
]
->
timing_advance
);
LOG_
D
(
PHY
,
"[UE %d] Got timing advance %d from MAC, new value %d
\n
"
,
Mod_id
,
timing_advance
,
PHY_vars_UE_g
[
Mod_id
][
CC_id
]
->
timing_advance
);
}
...
...
@@ -677,7 +677,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
eNB_id
);
phy_vars_ue
->
ulsch_ue
[
eNB_id
]
->
power_offset
=
14
;
LOG_
I
(
PHY
,
"[UE %d][RAPROC] Frame %d: Setting Msg3_flag in subframe %d, for harq_pid %d
\n
"
,
LOG_
D
(
PHY
,
"[UE %d][RAPROC] Frame %d: Setting Msg3_flag in subframe %d, for harq_pid %d
\n
"
,
Mod_id
,
frame_tx
,
subframe_tx
,
...
...
@@ -734,7 +734,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
#ifdef DEBUG_PHY_PROC
LOG_
I
(
PHY
,
"[UE %d][PUSCH %d] Frame %d subframe %d Generating PUSCH : first_rb %d, nb_rb %d, round %d, mcs %d, rv %d, cyclic_shift %d (cyclic_shift_common %d,n_DMRS2 %d,n_PRS %d), ACK (%d,%d), O_ACK %d
\n
"
,
LOG_
D
(
PHY
,
"[UE %d][PUSCH %d] Frame %d subframe %d Generating PUSCH : first_rb %d, nb_rb %d, round %d, mcs %d, rv %d, cyclic_shift %d (cyclic_shift_common %d,n_DMRS2 %d,n_PRS %d), ACK (%d,%d), O_ACK %d
\n
"
,
Mod_id
,
harq_pid
,
frame_tx
,
subframe_tx
,
first_rb
,
nb_rb
,
phy_vars_ue
->
ulsch_ue
[
eNB_id
]
->
harq_processes
[
harq_pid
]
->
round
,
...
...
@@ -749,7 +749,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
phy_vars_ue
->
ulsch_ue
[
eNB_id
]
->
o_ACK
[
0
],
phy_vars_ue
->
ulsch_ue
[
eNB_id
]
->
o_ACK
[
1
],
phy_vars_ue
->
ulsch_ue
[
eNB_id
]
->
harq_processes
[
harq_pid
]
->
O_ACK
);
if
(
ack_status
>
0
)
{
LOG_
I
(
PHY
,
"[UE %d][PDSCH %x] Frame %d subframe %d Generating ACK (%d,%d) for %d bits on PUSCH
\n
"
,
LOG_
D
(
PHY
,
"[UE %d][PDSCH %x] Frame %d subframe %d Generating ACK (%d,%d) for %d bits on PUSCH
\n
"
,
Mod_id
,
phy_vars_ue
->
ulsch_ue
[
eNB_id
]
->
rnti
,
frame_tx
,
subframe_tx
,
...
...
@@ -763,7 +763,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
// debug_LOG_D(PHY,"[UE %d] Frame %d, Subframe %d ulsch harq_pid %d : O %d, O_ACK %d, O_RI %d, TBS %d\n",Mod_id,phy_vars_ue->frame,subframe_tx,harq_pid,phy_vars_ue->ulsch_ue[eNB_id]->O,phy_vars_ue->ulsch_ue[eNB_id]->O_ACK,phy_vars_ue->ulsch_ue[eNB_id]->O_RI,phy_vars_ue->ulsch_ue[eNB_id]->harq_processes[harq_pid]->TBS);
//#endif
if
(
Msg3_flag
==
1
)
{
LOG_
I
(
PHY
,
"[UE %d][RAPROC] Frame %d, Subframe %d next slot %d Generating (RRCConnectionRequest) Msg3 (nb_rb %d, first_rb %d, round %d, rvidx %d) Msg3: %x.%x.%x|%x.%x.%x.%x.%x.%x
\n
"
,
Mod_id
,
frame_tx
,
subframe_tx
,
slot_tx
,
LOG_
D
(
PHY
,
"[UE %d][RAPROC] Frame %d, Subframe %d next slot %d Generating (RRCConnectionRequest) Msg3 (nb_rb %d, first_rb %d, round %d, rvidx %d) Msg3: %x.%x.%x|%x.%x.%x.%x.%x.%x
\n
"
,
Mod_id
,
frame_tx
,
subframe_tx
,
slot_tx
,
phy_vars_ue
->
ulsch_ue
[
eNB_id
]
->
harq_processes
[
harq_pid
]
->
nb_rb
,
phy_vars_ue
->
ulsch_ue
[
eNB_id
]
->
harq_processes
[
harq_pid
]
->
first_rb
,
phy_vars_ue
->
ulsch_ue
[
eNB_id
]
->
harq_processes
[
harq_pid
]
->
round
,
...
...
@@ -839,7 +839,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
}
#ifdef DEBUG_PHY_PROC
#ifdef DEBUG_ULSCH
LOG_
I
(
PHY
,
"[UE] Frame %d, subframe %d : ULSCH SDU (TX harq_pid %d) (%d bytes) :
\n
"
,
frame_tx
,
subframe_tx
,
harq_pid
,
phy_vars_ue
->
ulsch_ue
[
eNB_id
]
->
harq_processes
[
harq_pid
]
->
TBS
>>
3
);
LOG_
D
(
PHY
,
"[UE] Frame %d, subframe %d : ULSCH SDU (TX harq_pid %d) (%d bytes) :
\n
"
,
frame_tx
,
subframe_tx
,
harq_pid
,
phy_vars_ue
->
ulsch_ue
[
eNB_id
]
->
harq_processes
[
harq_pid
]
->
TBS
>>
3
);
for
(
i
=
0
;
i
<
phy_vars_ue
->
ulsch_ue
[
eNB_id
]
->
harq_processes
[
harq_pid
]
->
TBS
>>
3
;
i
++
)
LOG_T
(
PHY
,
"%x."
,
ulsch_input_buffer
[
i
]);
LOG_T
(
PHY
,
"
\n
"
);
...
...
@@ -905,7 +905,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
#endif
phy_vars_ue
->
tx_total_RE
=
phy_vars_ue
->
ulsch_ue
[
eNB_id
]
->
harq_processes
[
harq_pid
]
->
nb_rb
*
12
;
LOG_
I
(
PHY
,
"[UE %d][PUSCH %d] Frame %d subframe %d, generating PUSCH, Po_PUSCH: %d dBm, amp %d
\n
"
,
LOG_
D
(
PHY
,
"[UE %d][PUSCH %d] Frame %d subframe %d, generating PUSCH, Po_PUSCH: %d dBm, amp %d
\n
"
,
Mod_id
,
harq_pid
,
frame_tx
,
subframe_tx
,
phy_vars_ue
->
tx_power_dBm
,
#if defined(EXMIMO) || defined(USRP)
get_tx_amp
(
phy_vars_ue
->
tx_power_dBm
,
phy_vars_ue
->
tx_power_max_dBm
)
...
...
@@ -1007,7 +1007,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
phy_vars_ue
->
tx_total_RE
=
12
;
if
(
SR_payload
>
0
)
{
LOG_
I
(
PHY
,
"[UE %d][SR %x] Frame %d subframe %d Generating PUCCH 1a/1b (with SR for PUSCH), n1_pucch %d, Po_PUCCH, amp %d
\n
"
,
LOG_
D
(
PHY
,
"[UE %d][SR %x] Frame %d subframe %d Generating PUCCH 1a/1b (with SR for PUSCH), n1_pucch %d, Po_PUCCH, amp %d
\n
"
,
Mod_id
,
phy_vars_ue
->
dlsch_ue
[
eNB_id
][
0
]
->
rnti
,
frame_tx
,
subframe_tx
,
...
...
@@ -1021,7 +1021,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
);
}
else
{
LOG_
I
(
PHY
,
"[UE %d][PDSCH %x] Frame %d subframe %d Generating PUCCH 1a/1b, n1_pucch %d, b[0]=%d,b[1]=%d (SR_Payload %d), Po_PUCCH %d, amp %d
\n
"
,
LOG_
D
(
PHY
,
"[UE %d][PDSCH %x] Frame %d subframe %d Generating PUCCH 1a/1b, n1_pucch %d, b[0]=%d,b[1]=%d (SR_Payload %d), Po_PUCCH %d, amp %d
\n
"
,
Mod_id
,
phy_vars_ue
->
dlsch_ue
[
eNB_id
][
0
]
->
rnti
,
frame_tx
,
subframe_tx
,
...
...
@@ -1076,7 +1076,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
#endif
phy_vars_ue
->
tx_total_RE
=
12
;
LOG_
I
(
PHY
,
"[UE %d][SR %x] Frame %d subframe %d Generating PUCCH 1 (SR for PUSCH), n1_pucch %d, Po_PUCCH %d
\n
"
,
LOG_
D
(
PHY
,
"[UE %d][SR %x] Frame %d subframe %d Generating PUCCH 1 (SR for PUSCH), n1_pucch %d, Po_PUCCH %d
\n
"
,
Mod_id
,
phy_vars_ue
->
dlsch_ue
[
eNB_id
][
0
]
->
rnti
,
frame_tx
,
subframe_tx
,
...
...
@@ -1125,7 +1125,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
input_buffer_length
=
phy_vars_ue
->
ulsch_ue
[
eNB_id
]
->
harq_processes
[
harq_pid
]
->
TBS
/
8
;
access_mode
=
CBA_ACCESS
;
LOG_
I
(
PHY
,
"[UE %d] Frame %d, subframe %d: CBA num dci %d
\n
"
,
LOG_
D
(
PHY
,
"[UE %d] Frame %d, subframe %d: CBA num dci %d
\n
"
,
Mod_id
,
frame_tx
,
subframe_tx
,
phy_vars_ue
->
ulsch_ue
[
eNB_id
]
->
num_cba_dci
[
subframe_tx
]);
...
...
@@ -1171,7 +1171,16 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
nsymb
=
(
frame_parms
->
Ncp
==
0
)
?
14
:
12
;
#if defined(EXMIMO) || defined(USRP) //this is the EXPRESS MIMO case
ulsch_start
=
(
phy_vars_ue
->
rx_offset
+
subframe_tx
*
frame_parms
->
samples_per_tti
-
openair_daq_vars
.
timing_advance
-
phy_vars_ue
->
timing_advance
-
phy_vars_ue
->
N_TA_offset
+
5
)
%
(
LTE_NUMBER_OF_SUBFRAMES_PER_FRAME
*
frame_parms
->
samples_per_tti
);
ulsch_start
=
(
phy_vars_ue
->
rx_offset
+
subframe_tx
*
frame_parms
->
samples_per_tti
-
openair_daq_vars
.
timing_advance
-
phy_vars_ue
->
timing_advance
-
phy_vars_ue
->
N_TA_offset
+
5
)
%
(
LTE_NUMBER_OF_SUBFRAMES_PER_FRAME
*
frame_parms
->
samples_per_tti
);
LOG_D
(
PHY
,
"[UE %d] Frame %d, subframe %d: ulsch_start = %d (rxoff %d, HW TA %d, TA %d, TA_offset %d
\n
"
,
phy_vars_ue
->
rx_offset
,
openair_daq_vars
.
timing_advance
,
phy_vars_ue
->
timing_advance
,
phy_vars_ue
->
N_TA_offset
);
#else //this is the normal case
ulsch_start
=
(
frame_parms
->
samples_per_tti
*
subframe_tx
)
-
phy_vars_ue
->
N_TA_offset
;
#endif //else EXMIMO
...
...
@@ -1292,7 +1301,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
phy_vars_ue
->
prach_PreambleIndex
=
phy_vars_ue
->
prach_resources
[
eNB_id
]
->
ra_PreambleIndex
;
#endif
if
(
abstraction_flag
==
0
)
{
LOG_
I
(
PHY
,
"[UE %d][RAPROC] Frame %d, Subframe %d : Generating PRACH, preamble %d, TARGET_RECEIVED_POWER %d dBm, PRACH TDD Resource index %d, RA-RNTI %d
\n
"
,
LOG_
D
(
PHY
,
"[UE %d][RAPROC] Frame %d, Subframe %d : Generating PRACH, preamble %d, TARGET_RECEIVED_POWER %d dBm, PRACH TDD Resource index %d, RA-RNTI %d
\n
"
,
Mod_id
,
frame_tx
,
subframe_tx
,
...
...
@@ -1314,7 +1323,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
#else
phy_vars_ue
->
lte_ue_prach_vars
[
eNB_id
]
->
amp
=
AMP
;
#endif
LOG_
I
(
PHY
,
"[UE %d][RAPROC] Frame %d, Subframe %d : PRACH TX power %d dBm, amp %d
\n
"
,
Mod_id
,
phy_vars_ue
->
frame_rx
,
phy_vars_ue
->
slot_tx
>>
1
,
phy_vars_ue
->
tx_power_dBm
,
phy_vars_ue
->
lte_ue_prach_vars
[
eNB_id
]
->
amp
);
LOG_
D
(
PHY
,
"[UE %d][RAPROC] Frame %d, Subframe %d : PRACH TX power %d dBm, amp %d
\n
"
,
Mod_id
,
phy_vars_ue
->
frame_rx
,
phy_vars_ue
->
slot_tx
>>
1
,
phy_vars_ue
->
tx_power_dBm
,
phy_vars_ue
->
lte_ue_prach_vars
[
eNB_id
]
->
amp
);
// start_meas(&phy_vars_ue->tx_prach);
vcd_signal_dumper_dump_function_by_name
(
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_GENERATE_PRACH
,
VCD_FUNCTION_IN
);
...
...
@@ -2034,7 +2043,7 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst
if
((
dci_alloc_rx
[
i
].
rnti
==
phy_vars_ue
->
lte_ue_pdcch_vars
[
eNB_id
]
->
crnti
)
&&
(
dci_alloc_rx
[
i
].
format
!=
format0
))
{
#ifdef DEBUG_PHY_PROC
LOG_
I
(
PHY
,
"[UE %d][DCI][PDSCH %x] frame %d, subframe %d: format %d, num_pdcch_symbols %d, nCCE %d, total CCEs %d
\n
"
,
LOG_
D
(
PHY
,
"[UE %d][DCI][PDSCH %x] frame %d, subframe %d: format %d, num_pdcch_symbols %d, nCCE %d, total CCEs %d
\n
"
,
phy_vars_ue
->
Mod_id
,
dci_alloc_rx
[
i
].
rnti
,
frame_rx
,
subframe_rx
,
dci_alloc_rx
[
i
].
format
,
...
...
@@ -2090,7 +2099,7 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst
// we received a CRNTI, so we're in PUSCH
if
(
phy_vars_ue
->
UE_mode
[
eNB_id
]
!=
PUSCH
)
{
#ifdef DEBUG_PHY_PROC
LOG_
I
(
PHY
,
"[UE %d] Frame %d, subframe %d: Received DCI with CRNTI %x => Mode PUSCH
\n
"
,
phy_vars_ue
->
Mod_id
,
frame_rx
,
subframe_rx
,
phy_vars_ue
->
lte_ue_pdcch_vars
[
eNB_id
]
->
crnti
);
LOG_
D
(
PHY
,
"[UE %d] Frame %d, subframe %d: Received DCI with CRNTI %x => Mode PUSCH
\n
"
,
phy_vars_ue
->
Mod_id
,
frame_rx
,
subframe_rx
,
phy_vars_ue
->
lte_ue_pdcch_vars
[
eNB_id
]
->
crnti
);
#endif
//dump_dci(&phy_vars_ue->lte_frame_parms, &dci_alloc_rx[i]);
phy_vars_ue
->
UE_mode
[
eNB_id
]
=
PUSCH
;
...
...
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