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
1d849624
Commit
1d849624
authored
Feb 22, 2015
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
git-svn-id:
http://svn.eurecom.fr/openair4G/trunk@6598
818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent
2a54fa56
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
22 additions
and
18 deletions
+22
-18
openair1/PHY/LTE_TRANSPORT/dci_tools.c
openair1/PHY/LTE_TRANSPORT/dci_tools.c
+14
-12
openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
+1
-1
openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
+1
-0
openair1/PHY/LTE_TRANSPORT/lte_mcs.c
openair1/PHY/LTE_TRANSPORT/lte_mcs.c
+1
-1
openair1/SCHED/phy_procedures_lte_ue.c
openair1/SCHED/phy_procedures_lte_ue.c
+5
-4
No files found.
openair1/PHY/LTE_TRANSPORT/dci_tools.c
View file @
1d849624
...
...
@@ -658,7 +658,7 @@ int generate_eNB_dlsch_params_from_dci(uint8_t subframe,
rv
=
((
DCI1A_10MHz_FDD_t
*
)
dci_pdu
)
->
rv
;
TPC
=
((
DCI1A_10MHz_FDD_t
*
)
dci_pdu
)
->
TPC
;
harq_pid
=
((
DCI1A_10MHz_FDD_t
*
)
dci_pdu
)
->
harq_pid
;
//
printf("FDD 1A: mcs %d, rballoc %x,rv %d, NPRB %d\n",mcs,rballoc,rv,NPRB
);
//
printf("FDD 1A: mcs %d, rballoc %x,rv %d, TPC %d\n",mcs,rballoc,rv,TPC
);
}
dlsch0_harq
=
dlsch
[
0
]
->
harq_processes
[
harq_pid
];
...
...
@@ -740,7 +740,7 @@ int generate_eNB_dlsch_params_from_dci(uint8_t subframe,
if
(
NPRB
==
0
)
return
(
-
1
);
//
printf("NPRB %d, nb_rb %d, ndi %d\n",NPRB,dlsch0_harq->nb_rb,ndi);
//printf("NPRB %d, nb_rb %d, ndi %d\n",NPRB,dlsch0_harq->nb_rb,ndi);
dlsch0_harq
->
rvidx
=
rv
;
dlsch0_harq
->
Nl
=
1
;
...
...
@@ -3548,7 +3548,6 @@ int generate_ue_dlsch_params_from_dci(uint8_t subframe,
dlsch0_harq
=
dlsch
[
0
]
->
harq_processes
[
harq_pid
];
// see 36-212 V8.6.0 p. 45
NPRB
=
(
TPC
&
1
)
+
2
;
// toggle the ndi
}
else
{
...
...
@@ -3589,41 +3588,44 @@ int generate_ue_dlsch_params_from_dci(uint8_t subframe,
}
// change the mcs limit from 7 to 8, supported by MAC
if
(
mcs
>
10
)
{
LOG_E
(
PHY
,
"Format 1A:
unlikely mcs for format 1A (%d)
\n
"
,
mcs
);
LOG_E
(
PHY
,
"Format 1A:
subframe %d unlikely mcs for format 1A (%d), TPC %d rv %d
\n
"
,
subframe
,
mcs
,
TPC
,
rv
);
return
(
-
1
);
}
if
((
rnti
==
si_rnti
)
||
(
rnti
==
p_rnti
)
||
(
rnti
==
ra_rnti
)){
//
// toggle the ndi, always toggled for si,p and ra
ndi
=
1
-
dlsch0_harq
->
DCINdi
;
if
(
dlsch0_harq
->
round
==
4
)
{
dlsch0_harq
->
round
=
0
;
dlsch0_harq
->
first_tx
=
1
;
}
// if (dlsch0_harq->round == 0)
// ndi = 1-dlsch0_harq->DCINdi;
}
dlsch
[
0
]
->
current_harq_pid
=
harq_pid
;
// msg("Format 1A: harq_pid %d\n",harq_pid);
dlsch0_harq
->
rvidx
=
rv
;
dlsch0_harq
->
Nl
=
1
;
// dlsch[0]->layer_index = 0;
dlsch0_harq
->
mimo_mode
=
frame_parms
->
mode1_flag
==
1
?
SISO
:
ALAMOUTI
;
dlsch0_harq
->
dl_power_off
=
1
;
//no power offset
LOG_D
(
PHY
,
"UE (%x/%d): Subframe %d Format1A DCI: ndi %d, old_ndi %d (first tx %d) harq_status %d
\n
"
,
dlsch
[
0
]
->
rnti
,
harq_pid
,
subframe
,
ndi
,
dlsch0_harq
->
DCINdi
,
dlsch0_harq
->
first_tx
,
dlsch0_harq
->
status
);
if
((
rnti
!=
si_rnti
)
&&
(
rnti
!=
ra_rnti
))
{
//LOG_I(PHY,"UE (%x/%d): Subframe %d Format1A DCI: ndi %d, old_ndi %d (first tx %d) harq_status %d\n",dlsch[0]->rnti,harq_pid,subframe,ndi,dlsch0_harq->DCINdi,
//dlsch0_harq->first_tx,dlsch0_harq->status);
if
((
ndi
!=
dlsch0_harq
->
DCINdi
)
||
// DCI has been toggled or this is the first transmission
(
dlsch0_harq
->
first_tx
==
1
))
{
dlsch0_harq
->
round
=
0
;
if
(
dlsch0_harq
->
first_tx
==
1
)
{
LOG_I
(
PHY
,
"[PDSCH %x/%d] Format 1A DCI First TX: Clearing flag
\n
"
);
//
LOG_I(PHY,"[PDSCH %x/%d] Format 1A DCI First TX: Clearing flag\n");
dlsch0_harq
->
first_tx
=
0
;
}
}
}
dlsch0_harq
->
DCINdi
=
ndi
;
dlsch0_harq
->
mcs
=
mcs
;
dlsch0_harq
->
TBS
=
TBStable
[
get_I_TBS
(
mcs
)][
NPRB
-
1
];
dlsch
[
0
]
->
rnti
=
rnti
;
dlsch0
=
dlsch
[
0
];
//printf("Format 1A: harq_pid %d, nb_rb %d, round %d\n",harq_pid,dlsch0_harq->nb_rb,dlsch0_harq->round);
break
;
case
format1
:
...
...
openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
View file @
1d849624
...
...
@@ -291,7 +291,7 @@ uint32_t dlsch_decoding(PHY_VARS_UE *phy_vars_ue,
(
r
==
0
)
?
harq_process
->
F
:
0
);
#ifdef DEBUG_DLSCH_DECODING
msg
(
"HARQ_PID %d Rate Matching Segment %d (coded bits %d,unpunctured/repeated bits %d, TBS %d, mod_order %d, nb_rb %d, Nl %d, rv %d, round %d)...
\n
"
,
LOG_I
(
PHY
,
"HARQ_PID %d Rate Matching Segment %d (coded bits %d,unpunctured/repeated bits %d, TBS %d, mod_order %d, nb_rb %d, Nl %d, rv %d, round %d)...
\n
"
,
harq_pid
,
r
,
G
,
Kr
*
3
,
harq_process
->
TBS
,
...
...
openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
View file @
1d849624
...
...
@@ -2818,6 +2818,7 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
if
(
rb_alloc_ind
==
1
)
{
//printf("demod: rb %d\n",rb);
*
pmi_loc
=
(
pmi
>>
((
rb
>>
2
)
<<
1
))
&
3
;
// printf("rb %d: sb %d : pmi %d\n",rb,rb>>2,*pmi_loc);
...
...
openair1/PHY/LTE_TRANSPORT/lte_mcs.c
View file @
1d849624
...
...
@@ -335,7 +335,7 @@ int get_G(LTE_DL_FRAME_PARMS *frame_parms,uint16_t nb_rb,uint32_t *rb_alloc,uint
if
(
is_pmch_subframe
(
frame
,
subframe
,
frame_parms
)
==
0
)
{
G_adj
=
adjust_G
(
frame_parms
,
rb_alloc
,
mod_order
,
subframe
);
//
printf("get_G subframe %d mod_order %d, nb_rb %d: rb_alloc %x,%x,%x,%x, G_adj %d\n",subframe,mod_order,nb_rb,rb_alloc[3],rb_alloc[2],rb_alloc[1],rb_alloc[0], G_adj);
//printf("get_G subframe %d mod_order %d, nb_rb %d: rb_alloc %x,%x,%x,%x, G_adj %d\n",subframe,mod_order,nb_rb,rb_alloc[3],rb_alloc[2],rb_alloc[1],rb_alloc[0], G_adj);
if
(
frame_parms
->
Ncp
==
NORMAL
)
{
// normal prefix
// PDDDPDD PDDDPDD - 13 PDSCH symbols, 10 full, 3 w/ pilots = 10*12 + 3*8
// PCDDPDD PDDDPDD - 12 PDSCH symbols, 9 full, 3 w/ pilots = 9*12 + 3*8
...
...
openair1/SCHED/phy_procedures_lte_ue.c
View file @
1d849624
...
...
@@ -1835,7 +1835,7 @@ void lte_ue_pbch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst
phy_vars_ue
->
lte_frame_parms
.
phich_config_common
.
phich_duration
,
phy_vars_ue
->
lte_frame_parms
.
phich_config_common
.
phich_resource
);
if
(
frame_rx
%
100
==
0
)
{
LOG_I
(
PHY
,
"[UE %d] frame %d, slot %d, PBCH: mode1_flag %d, tx_ant %d, frame_tx %d, phase %d. N_RB_DL %d, phich_duration %d, phich_resource %d/6
\n
"
,
LOG_I
(
PHY
,
"[UE %d] frame %d, slot %d, PBCH: mode1_flag %d, tx_ant %d, frame_tx %d, phase %d. N_RB_DL %d, phich_duration %d, phich_resource %d/6
,Frequency offset %d Hz (%d)
\n
"
,
phy_vars_ue
->
Mod_id
,
frame_rx
,
slot_rx
,
...
...
@@ -1845,7 +1845,8 @@ void lte_ue_pbch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst
pbch_phase
,
phy_vars_ue
->
lte_frame_parms
.
N_RB_DL
,
phy_vars_ue
->
lte_frame_parms
.
phich_config_common
.
phich_duration
,
phy_vars_ue
->
lte_frame_parms
.
phich_config_common
.
phich_resource
);
phy_vars_ue
->
lte_frame_parms
.
phich_config_common
.
phich_resource
,
phy_vars_ue
->
lte_ue_common_vars
.
freq_offset
,
openair_daq_vars
.
freq_offset
);
//dump_frame_parms(&phy_vars_ue->lte_frame_parms);
}
#endif
...
...
@@ -2746,8 +2747,8 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst
LOG_D
(
PHY
,
"[UE %d] Frame %d, subframe %d, received SI in error
\n
"
,
phy_vars_ue
->
Mod_id
,
frame_rx
,
subframe_prev
);
#endif
dump_dlsch_SI
(
phy_vars_ue
,
eNB_id
,
subframe_prev
);
exit
(
-
1
);
//
dump_dlsch_SI(phy_vars_ue,eNB_id,subframe_prev);
//
exit(-1);
vcd_signal_dumper_dump_function_by_name
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_UE_RX
,
VCD_FUNCTION_OUT
);
stop_meas
(
&
phy_vars_ue
->
phy_proc_rx
);
return
(
-
1
);
...
...
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