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
lizhongxiao
OpenXG-RAN
Commits
bb4469f7
Commit
bb4469f7
authored
Aug 31, 2017
by
Florian Kaltenberger
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
minor
parent
2167d2c0
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
156 additions
and
186 deletions
+156
-186
openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
+6
-6
openair1/SCHED/phy_mac_stub.c
openair1/SCHED/phy_mac_stub.c
+150
-180
No files found.
openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
View file @
bb4469f7
...
...
@@ -1586,7 +1586,7 @@ int allocate_REs_in_RB(PHY_VARS_eNB *phy_vars_eNB,
if
(
is_not_UEspecRS
(
lprime
,
re
,
frame_parms
->
nushift
,
frame_parms
->
Ncp
,
8
,
Ns
))
{
//LOG_D(PHY,"TM8 tti_offset %d, jj %d, jj2 %d, x0 %p, x1 %p\n",tti_offset,*jj,*jj2,x0,x1);
/*
switch
(
mod_order0
)
{
case
2
:
//QPSK
...
...
@@ -1727,7 +1727,7 @@ int allocate_REs_in_RB(PHY_VARS_eNB *phy_vars_eNB,
break
;
}
*/
}
else
{
for
(
p
=
7
;
p
<
9
;
p
++
)
{
...
...
@@ -2269,7 +2269,7 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
re_allocated
=
0
;
//
#ifdef DEBUG_DLSCH_MODULATION
#ifdef DEBUG_DLSCH_MODULATION
LOG_D
(
PHY
,
"Generating DLSCH (harq_pid %d,mimo %d, pmi_alloc0 %lx, mod0 %d, mod1 %d, rb_alloc[0] %d)
\n
"
,
harq_pid
,
dlsch0_harq
->
mimo_mode
,
...
...
@@ -2277,7 +2277,7 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
mod_order0
,
mod_order1
,
rb_alloc
[
0
]);
//
#endif
#endif
// printf("num_pdcch_symbols %d, nsymb %d\n",num_pdcch_symbols,nsymb);
for
(
l
=
num_pdcch_symbols
;
l
<
nsymb
;
l
++
)
{
...
...
@@ -2601,9 +2601,9 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
else
re_offset
=
7
;
// odd number of RBs
}
//
#ifdef DEBUG_DLSCH_MODULATION
#ifdef DEBUG_DLSCH_MODULATION
LOG_D
(
PHY
,
"generate_dlsch : l=%d, rb=%d, jj=%d, jj2=%d, lprime=%d, mprime=%d, re_allocated = %d
\n
"
,
l
,
rb
,
jj
,
jj2
,
lprime
,
mprime
,
re_allocated
);
//
#endif
#endif
}
}
...
...
openair1/SCHED/phy_mac_stub.c
View file @
bb4469f7
...
...
@@ -70,7 +70,7 @@ void fill_dci(DCI_PDU *DCI_pdu,PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
uint32_t
bcch_pdu
;
uint64_t
dlsch_pdu
;
LOG_
D
(
PHY
,
"
frame %d, subframe %d, transmission_mode %d
\n
"
,
proc
->
frame_tx
,
proc
->
subframe_tx
,
transmission_mode
);
LOG_
I
(
PHY
,
"fill_dci:
frame %d, subframe %d, transmission_mode %d
\n
"
,
proc
->
frame_tx
,
proc
->
subframe_tx
,
transmission_mode
);
DCI_pdu
->
Num_common_dci
=
0
;
DCI_pdu
->
Num_ue_spec_dci
=
0
;
...
...
@@ -454,153 +454,9 @@ void fill_dci(DCI_PDU *DCI_pdu,PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
break
;
}
DCI_pdu
->
dci_alloc
[
1
].
L
=
2
;
DCI_pdu
->
dci_alloc
[
1
].
rnti
=
0x1235
;
DCI_pdu
->
dci_alloc
[
1
].
format
=
format0
;
DCI_pdu
->
dci_alloc
[
1
].
ra_flag
=
0
;
if
(
eNB
->
frame_parms
.
frame_type
==
FDD
)
{
switch
(
eNB
->
frame_parms
.
N_RB_DL
)
{
case
6
:
((
DCI0_1_5MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
type
=
0
;
((
DCI0_1_5MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
hopping
=
0
;
((
DCI0_1_5MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
rballoc
=
computeRIV
(
6
,
1
,
4
);
((
DCI0_1_5MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
mcs
=
eNB
->
target_ue_ul_mcs
;
((
DCI0_1_5MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
ndi
=
proc
->
frame_tx
&
1
;
((
DCI0_1_5MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
TPC
=
0
;
((
DCI0_1_5MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
cshift
=
0
;
((
DCI0_1_5MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
cqi_req
=
1
;
break
;
/* case 15:
((DCI0_3MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->type = 0;
((DCI0_3MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->hopping = 0;
((DCI0_3MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->rballoc = computeRIV(25,2,eNB->ue_ul_nb_rb);
((DCI0_3MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->mcs = eNB->target_ue_ul_mcs;
((DCI0_3MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->ndi = proc->frame_tx&1;
((DCI0_3MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->TPC = 0;
((DCI0_3MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cshift = 0;
((DCI0_3MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->dai = 0;
((DCI0_3MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cqi_req = 1;
break;*/
case
25
:
((
DCI0_5MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
type
=
0
;
((
DCI0_5MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
hopping
=
0
;
((
DCI0_5MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
rballoc
=
computeRIV
(
25
,
1
,
20
);
((
DCI0_5MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
mcs
=
eNB
->
target_ue_ul_mcs
;
((
DCI0_5MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
ndi
=
proc
->
frame_tx
&
1
;
((
DCI0_5MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
TPC
=
0
;
((
DCI0_5MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
cshift
=
0
;
((
DCI0_5MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
cqi_req
=
1
;
break
;
case
50
:
((
DCI0_10MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
type
=
0
;
((
DCI0_10MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
hopping
=
0
;
((
DCI0_10MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
rballoc
=
computeRIV
(
50
,
1
,
48
);
((
DCI0_10MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
mcs
=
eNB
->
target_ue_ul_mcs
;
((
DCI0_10MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
ndi
=
proc
->
frame_tx
&
1
;
((
DCI0_10MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
TPC
=
0
;
((
DCI0_10MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
cshift
=
0
;
((
DCI0_10MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
cqi_req
=
1
;
break
;
/* case 75:
((DCI0_15MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->type = 0;
((DCI0_15MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->hopping = 0;
((DCI0_15MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->rballoc = computeRIV(25,2,eNB->ue_ul_nb_rb);
((DCI0_15MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->mcs = eNB->target_ue_ul_mcs;
((DCI0_15MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->ndi = proc->frame_tx&1;
((DCI0_15MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->TPC = 0;
((DCI0_15MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cshift = 0;
((DCI0_15MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cqi_req = 1;
break;*/
case
100
:
((
DCI0_20MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
type
=
0
;
((
DCI0_20MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
hopping
=
0
;
((
DCI0_20MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
rballoc
=
computeRIV
(
100
,
1
,
96
);
((
DCI0_20MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
mcs
=
eNB
->
target_ue_ul_mcs
;
((
DCI0_20MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
ndi
=
proc
->
frame_tx
&
1
;
((
DCI0_20MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
TPC
=
0
;
((
DCI0_20MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
cshift
=
0
;
((
DCI0_20MHz_FDD_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
cqi_req
=
1
;
break
;
}
}
else
{
switch
(
eNB
->
frame_parms
.
N_RB_DL
)
{
case
6
:
((
DCI0_1_5MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
type
=
0
;
((
DCI0_1_5MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
hopping
=
0
;
((
DCI0_1_5MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
rballoc
=
computeRIV
(
6
,
1
,
5
);
((
DCI0_1_5MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
mcs
=
eNB
->
target_ue_ul_mcs
;
((
DCI0_1_5MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
ndi
=
proc
->
frame_tx
&
1
;
((
DCI0_1_5MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
TPC
=
0
;
((
DCI0_1_5MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
cshift
=
0
;
((
DCI0_1_5MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
dai
=
0
;
((
DCI0_1_5MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
cqi_req
=
1
;
break
;
/* case 15:
((DCI0_3MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->type = 0;
((DCI0_3MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->hopping = 0;
((DCI0_3MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->rballoc = computeRIV(25,2,eNB->ue_ul_nb_rb);
((DCI0_3MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->mcs = eNB->target_ue_ul_mcs;
((DCI0_3MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->ndi = proc->frame_tx&1;
((DCI0_3MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->TPC = 0;
((DCI0_3MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cshift = 0;
((DCI0_3MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->dai = 0;
((DCI0_3MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cqi_req = 1;
break;*/
case
25
:
((
DCI0_5MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
type
=
0
;
((
DCI0_5MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
hopping
=
0
;
((
DCI0_5MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
rballoc
=
computeRIV
(
25
,
2
,
20
);
((
DCI0_5MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
mcs
=
eNB
->
target_ue_ul_mcs
;
((
DCI0_5MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
ndi
=
proc
->
frame_tx
&
1
;
((
DCI0_5MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
TPC
=
0
;
((
DCI0_5MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
cshift
=
0
;
((
DCI0_5MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
dai
=
0
;
((
DCI0_5MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
cqi_req
=
1
;
break
;
case
50
:
((
DCI0_10MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
type
=
0
;
((
DCI0_10MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
hopping
=
0
;
((
DCI0_10MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
rballoc
=
computeRIV
(
50
,
1
,
48
);
((
DCI0_10MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
mcs
=
eNB
->
target_ue_ul_mcs
;
((
DCI0_10MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
ndi
=
proc
->
frame_tx
&
1
;
((
DCI0_10MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
TPC
=
0
;
((
DCI0_10MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
cshift
=
0
;
((
DCI0_10MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
dai
=
0
;
((
DCI0_10MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
cqi_req
=
1
;
break
;
/* case 75:
((DCI0_15MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->type = 0;
((DCI0_15MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->hopping = 0;
((DCI0_15MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->rballoc = computeRIV(25,2,eNB->ue_ul_nb_rb);
((DCI0_15MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->mcs = eNB->target_ue_ul_mcs;
((DCI0_15MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->ndi = proc->frame_tx&1;
((DCI0_15MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->TPC = 0;
((DCI0_15MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cshift = 0;
((DCI0_15MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->dai = 0;
((DCI0_15MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cqi_req = 1;
break;*/
case
100
:
((
DCI0_20MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
type
=
0
;
((
DCI0_20MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
hopping
=
0
;
((
DCI0_20MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
rballoc
=
computeRIV
(
100
,
1
,
96
);
((
DCI0_20MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
mcs
=
eNB
->
target_ue_ul_mcs
;
((
DCI0_20MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
ndi
=
proc
->
frame_tx
&
1
;
((
DCI0_20MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
TPC
=
0
;
((
DCI0_20MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
cshift
=
0
;
((
DCI0_20MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
dai
=
0
;
((
DCI0_20MHz_TDD_1_6_t
*
)
&
DCI_pdu
->
dci_alloc
[
1
].
dci_pdu
[
0
])
->
cqi_req
=
1
;
break
;
}
}
}
else
if
(
transmission_mode
==
3
)
{
DCI_pdu
->
Num_ue_spec_dci
=
1
;
// user 1
DCI_pdu
->
dci_alloc
[
0
].
dci_length
=
sizeof_DCI2_5MHz_2A_FDD_t
;
DCI_pdu
->
dci_alloc
[
0
].
L
=
3
;
DCI_pdu
->
dci_alloc
[
0
].
rnti
=
0x1235
;
DCI_pdu
->
dci_alloc
[
0
].
format
=
format2
;
...
...
@@ -609,6 +465,7 @@ void fill_dci(DCI_PDU *DCI_pdu,PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
switch
(
eNB
->
frame_parms
.
N_RB_DL
)
{
case
25
:
if
(
eNB
->
frame_parms
.
frame_type
==
FDD
)
{
DCI_pdu
->
dci_alloc
[
0
].
dci_length
=
sizeof_DCI2_5MHz_2A_FDD_t
;
((
DCI2A_5MHz_2A_FDD_t
*
)
(
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
))
->
rv1
=
0
;
((
DCI2A_5MHz_2A_FDD_t
*
)
(
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
))
->
ndi1
=
subframe
/
5
;
((
DCI2A_5MHz_2A_FDD_t
*
)
(
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
))
->
mcs1
=
eNB
->
target_ue_dl_mcs
;
...
...
@@ -622,6 +479,7 @@ void fill_dci(DCI_PDU *DCI_pdu,PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
((
DCI2A_5MHz_2A_FDD_t
*
)
(
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
))
->
rah
=
0
;
}
else
{
DCI_pdu
->
dci_alloc
[
0
].
dci_length
=
sizeof_DCI2_5MHz_2A_TDD_t
;
((
DCI2A_5MHz_2A_TDD_t
*
)
(
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
))
->
rv1
=
0
;
((
DCI2A_5MHz_2A_TDD_t
*
)
(
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
))
->
ndi1
=
subframe
/
5
;
((
DCI2A_5MHz_2A_TDD_t
*
)
(
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
))
->
mcs1
=
eNB
->
target_ue_dl_mcs
;
...
...
@@ -639,11 +497,10 @@ void fill_dci(DCI_PDU *DCI_pdu,PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
LOG_E
(
PHY
,
"fill_DCI for TM3 only coded for 25PRB
\n
"
);
break
;
}
}
else
if
(
transmission_mode
==
4
)
{
}
else
if
(
transmission_mode
==
4
)
{
DCI_pdu
->
Num_ue_spec_dci
=
1
;
// user 1
DCI_pdu
->
dci_alloc
[
0
].
dci_length
=
sizeof_DCI2_5MHz_2A_FDD_t
;
DCI_pdu
->
dci_alloc
[
0
].
L
=
3
;
DCI_pdu
->
dci_alloc
[
0
].
rnti
=
0x1235
;
DCI_pdu
->
dci_alloc
[
0
].
format
=
format2
;
...
...
@@ -652,6 +509,7 @@ void fill_dci(DCI_PDU *DCI_pdu,PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
switch
(
eNB
->
frame_parms
.
N_RB_DL
)
{
case
25
:
if
(
eNB
->
frame_parms
.
frame_type
==
FDD
)
{
DCI_pdu
->
dci_alloc
[
0
].
dci_length
=
sizeof_DCI2_5MHz_2A_FDD_t
;
((
DCI2_5MHz_2A_FDD_t
*
)
(
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
))
->
tpmi
=
0
;
((
DCI2_5MHz_2A_FDD_t
*
)
(
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
))
->
rv1
=
0
;
((
DCI2_5MHz_2A_FDD_t
*
)
(
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
))
->
ndi1
=
subframe
/
5
;
...
...
@@ -666,6 +524,7 @@ void fill_dci(DCI_PDU *DCI_pdu,PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
((
DCI2_5MHz_2A_FDD_t
*
)
(
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
))
->
rah
=
0
;
}
else
{
DCI_pdu
->
dci_alloc
[
0
].
dci_length
=
sizeof_DCI2_5MHz_2A_TDD_t
;
((
DCI2_5MHz_2A_TDD_t
*
)
(
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
))
->
tpmi
=
0
;
((
DCI2_5MHz_2A_TDD_t
*
)
(
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
))
->
rv1
=
0
;
((
DCI2_5MHz_2A_TDD_t
*
)
(
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
))
->
ndi1
=
subframe
/
5
;
...
...
@@ -681,10 +540,11 @@ void fill_dci(DCI_PDU *DCI_pdu,PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
}
break
;
default:
LOG_E
(
PHY
,
"fill_DCI for TM
8
only coded for 25PRB
\n
"
);
LOG_E
(
PHY
,
"fill_DCI for TM
4
only coded for 25PRB
\n
"
);
break
;
}
}
else
if
(
transmission_mode
==
5
)
{
}
else
if
(
transmission_mode
==
5
)
{
DCI_pdu
->
Num_ue_spec_dci
=
2
;
// user 1
DCI_pdu
->
dci_alloc
[
0
].
dci_length
=
sizeof_DCI1E_5MHz_2A_M10PRB_TDD_t
;
...
...
@@ -729,7 +589,6 @@ void fill_dci(DCI_PDU *DCI_pdu,PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
else
if
(
transmission_mode
==
8
)
{
DCI_pdu
->
Num_ue_spec_dci
=
1
;
// user 1
DCI_pdu
->
dci_alloc
[
0
].
dci_length
=
sizeof_DCI2B_5MHz_TDD_t
;
DCI_pdu
->
dci_alloc
[
0
].
L
=
3
;
DCI_pdu
->
dci_alloc
[
0
].
rnti
=
0x1235
;
DCI_pdu
->
dci_alloc
[
0
].
format
=
format2B
;
...
...
@@ -738,6 +597,7 @@ void fill_dci(DCI_PDU *DCI_pdu,PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
switch
(
eNB
->
frame_parms
.
N_RB_DL
)
{
case
25
:
if
(
eNB
->
frame_parms
.
frame_type
==
FDD
)
{
DCI_pdu
->
dci_alloc
[
0
].
dci_length
=
sizeof_DCI2B_5MHz_FDD_t
;
((
DCI2B_5MHz_FDD_t
*
)
(
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
))
->
rv1
=
0
;
((
DCI2B_5MHz_FDD_t
*
)
(
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
))
->
ndi1
=
subframe
/
5
;
((
DCI2B_5MHz_FDD_t
*
)
(
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
))
->
mcs1
=
eNB
->
target_ue_dl_mcs
;
...
...
@@ -750,6 +610,7 @@ void fill_dci(DCI_PDU *DCI_pdu,PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
((
DCI2B_5MHz_FDD_t
*
)
(
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
))
->
rah
=
0
;
}
else
{
DCI_pdu
->
dci_alloc
[
0
].
dci_length
=
sizeof_DCI2B_5MHz_TDD_t
;
((
DCI2B_5MHz_TDD_t
*
)
(
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
))
->
rv1
=
0
;
((
DCI2B_5MHz_TDD_t
*
)
(
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
))
->
ndi1
=
subframe
/
5
;
((
DCI2B_5MHz_TDD_t
*
)
(
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
))
->
mcs1
=
eNB
->
target_ue_dl_mcs
;
...
...
@@ -795,40 +656,149 @@ void fill_dci(DCI_PDU *DCI_pdu,PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
*/
// user 2
/*
DCI_pdu->dci_alloc[1].dci_length = sizeof_DCI0_5MHz_TDD_1_6_t ;
#if 0
DCI_pdu->dci_alloc[1].L = 2;
DCI_pdu->dci_alloc[1].rnti = 0x123
6
;
DCI_pdu->dci_alloc[1].rnti = 0x123
5
;
DCI_pdu->dci_alloc[1].format = format0;
DCI_pdu->dci_alloc[1].ra_flag = 0;
UL_alloc_pdu.type = 0;
UL_alloc_pdu.hopping = 0;
if (cooperation_flag==0)
UL_alloc_pdu.rballoc = computeRIV(25,2+eNB->ue_ul_nb_rb,eNB->ue_ul_nb_rb);
else
UL_alloc_pdu.rballoc = computeRIV(25,0,eNB->ue_ul_nb_rb);
UL_alloc_pdu.mcs = eNB->target_ue_ul_mcs;
UL_alloc_pdu.ndi = proc->frame_tx&1;
UL_alloc_pdu.TPC = 0;
if ((cooperation_flag==0) || (cooperation_flag==1))
UL_alloc_pdu.cshift = 0;
else
UL_alloc_pdu.cshift = 1;
UL_alloc_pdu.dai = 0;
UL_alloc_pdu.cqi_req = 1;
memcpy((void*)&DCI_pdu->dci_alloc[1].dci_pdu[0],(void *)&UL_alloc_pdu,sizeof(DCI0_5MHz_TDD_1_6_t));
*/
/*
DCI_pdu->nCCE = 0;
for (i=0; i<DCI_pdu->Num_common_dci+DCI_pdu->Num_ue_spec_dci; i++) {
DCI_pdu->nCCE += (1<<(DCI_pdu->dci_alloc[i].L));
if (eNB->frame_parms.frame_type == FDD) {
switch (eNB->frame_parms.N_RB_DL) {
case 6:
((DCI0_1_5MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->type = 0;
((DCI0_1_5MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->hopping = 0;
((DCI0_1_5MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->rballoc = computeRIV(6,1,4);
((DCI0_1_5MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->mcs = eNB->target_ue_ul_mcs;
((DCI0_1_5MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->ndi = proc->frame_tx&1;
((DCI0_1_5MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->TPC = 0;
((DCI0_1_5MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cshift = 0;
((DCI0_1_5MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cqi_req = 1;
break;
/* case 15:
((DCI0_3MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->type = 0;
((DCI0_3MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->hopping = 0;
((DCI0_3MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->rballoc = computeRIV(25,2,eNB->ue_ul_nb_rb);
((DCI0_3MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->mcs = eNB->target_ue_ul_mcs;
((DCI0_3MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->ndi = proc->frame_tx&1;
((DCI0_3MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->TPC = 0;
((DCI0_3MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cshift = 0;
((DCI0_3MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->dai = 0;
((DCI0_3MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cqi_req = 1;
break;*/
case 25:
((DCI0_5MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->type = 0;
((DCI0_5MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->hopping = 0;
((DCI0_5MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->rballoc = computeRIV(25,1,20);
((DCI0_5MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->mcs = eNB->target_ue_ul_mcs;
((DCI0_5MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->ndi = proc->frame_tx&1;
((DCI0_5MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->TPC = 0;
((DCI0_5MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cshift = 0;
((DCI0_5MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cqi_req = 1;
break;
case 50:
((DCI0_10MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->type = 0;
((DCI0_10MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->hopping = 0;
((DCI0_10MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->rballoc = computeRIV(50,1,48);
((DCI0_10MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->mcs = eNB->target_ue_ul_mcs;
((DCI0_10MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->ndi = proc->frame_tx&1;
((DCI0_10MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->TPC = 0;
((DCI0_10MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cshift = 0;
((DCI0_10MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cqi_req = 1;
break;
/* case 75:
((DCI0_15MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->type = 0;
((DCI0_15MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->hopping = 0;
((DCI0_15MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->rballoc = computeRIV(25,2,eNB->ue_ul_nb_rb);
((DCI0_15MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->mcs = eNB->target_ue_ul_mcs;
((DCI0_15MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->ndi = proc->frame_tx&1;
((DCI0_15MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->TPC = 0;
((DCI0_15MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cshift = 0;
((DCI0_15MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cqi_req = 1;
break;*/
case 100:
((DCI0_20MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->type = 0;
((DCI0_20MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->hopping = 0;
((DCI0_20MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->rballoc = computeRIV(100,1,96);
((DCI0_20MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->mcs = eNB->target_ue_ul_mcs;
((DCI0_20MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->ndi = proc->frame_tx&1;
((DCI0_20MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->TPC = 0;
((DCI0_20MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cshift = 0;
((DCI0_20MHz_FDD_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cqi_req = 1;
break;
}
*/
}
else {
switch (eNB->frame_parms.N_RB_DL) {
case 6:
((DCI0_1_5MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->type = 0;
((DCI0_1_5MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->hopping = 0;
((DCI0_1_5MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->rballoc = computeRIV(6,1,5);
((DCI0_1_5MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->mcs = eNB->target_ue_ul_mcs;
((DCI0_1_5MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->ndi = proc->frame_tx&1;
((DCI0_1_5MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->TPC = 0;
((DCI0_1_5MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cshift = 0;
((DCI0_1_5MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->dai = 0;
((DCI0_1_5MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cqi_req = 1;
break;
/* case 15:
((DCI0_3MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->type = 0;
((DCI0_3MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->hopping = 0;
((DCI0_3MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->rballoc = computeRIV(25,2,eNB->ue_ul_nb_rb);
((DCI0_3MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->mcs = eNB->target_ue_ul_mcs;
((DCI0_3MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->ndi = proc->frame_tx&1;
((DCI0_3MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->TPC = 0;
((DCI0_3MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cshift = 0;
((DCI0_3MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->dai = 0;
((DCI0_3MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cqi_req = 1;
break;*/
case 25:
((DCI0_5MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->type = 0;
((DCI0_5MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->hopping = 0;
((DCI0_5MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->rballoc = computeRIV(25,2,20);
((DCI0_5MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->mcs = eNB->target_ue_ul_mcs;
((DCI0_5MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->ndi = proc->frame_tx&1;
((DCI0_5MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->TPC = 0;
((DCI0_5MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cshift = 0;
((DCI0_5MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->dai = 0;
((DCI0_5MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cqi_req = 1;
break;
case 50:
((DCI0_10MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->type = 0;
((DCI0_10MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->hopping = 0;
((DCI0_10MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->rballoc = computeRIV(50,1,48);
((DCI0_10MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->mcs = eNB->target_ue_ul_mcs;
((DCI0_10MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->ndi = proc->frame_tx&1;
((DCI0_10MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->TPC = 0;
((DCI0_10MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cshift = 0;
((DCI0_10MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->dai = 0;
((DCI0_10MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cqi_req = 1;
break;
/* case 75:
((DCI0_15MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->type = 0;
((DCI0_15MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->hopping = 0;
((DCI0_15MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->rballoc = computeRIV(25,2,eNB->ue_ul_nb_rb);
((DCI0_15MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->mcs = eNB->target_ue_ul_mcs;
((DCI0_15MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->ndi = proc->frame_tx&1;
((DCI0_15MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->TPC = 0;
((DCI0_15MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cshift = 0;
((DCI0_15MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->dai = 0;
((DCI0_15MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cqi_req = 1;
break;*/
case 100:
((DCI0_20MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->type = 0;
((DCI0_20MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->hopping = 0;
((DCI0_20MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->rballoc = computeRIV(100,1,96);
((DCI0_20MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->mcs = eNB->target_ue_ul_mcs;
((DCI0_20MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->ndi = proc->frame_tx&1;
((DCI0_20MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->TPC = 0;
((DCI0_20MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cshift = 0;
((DCI0_20MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->dai = 0;
((DCI0_20MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->cqi_req = 1;
break;
}
}
#endif
}
void
fill_dci_emos
(
DCI_PDU
*
DCI_pdu
,
uint8_t
subframe
,
PHY_VARS_eNB
*
eNB
)
...
...
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