Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
oai
openairinterface5G
Commits
841078e6
Commit
841078e6
authored
May 26, 2016
by
Dominique Nussbaum
Committed by
Florian Kaltenberger
Jun 10, 2016
Browse files
fixes for 20MHz
parent
dfd2a541
Changes
2
Hide whitespace changes
Inline
Side-by-side
openair1/SCHED/phy_mac_stub.c
View file @
841078e6
...
...
@@ -56,6 +56,7 @@ void fill_dci(DCI_PDU *DCI_pdu, uint8_t sched_subframe, PHY_VARS_eNB *phy_vars_e
uint32_t
rballoc
=
0x7FFF
;
//uint32_t rballoc2 = 0x000F;
uint32_t
rballoc_test
=
0xFFFF
;
int
subframe
=
phy_vars_eNB
->
proc
[
sched_subframe
].
subframe_tx
;
LTE_eNB_DLSCH_t
*
DLSCH_ptr
=
phy_vars_eNB
->
dlsch_eNB
[
0
][
0
];
...
...
@@ -142,7 +143,7 @@ void fill_dci(DCI_PDU *DCI_pdu, uint8_t sched_subframe, PHY_VARS_eNB *phy_vars_e
DCI_pdu
->
dci_alloc
[
0
].
dci_length
=
sizeof_DCI1A_10MHz_FDD_t
;
((
DCI1A_10MHz_FDD_t
*
)
&
bcch_pdu
)
->
type
=
1
;
((
DCI1A_10MHz_FDD_t
*
)
&
bcch_pdu
)
->
vrb_type
=
0
;
((
DCI1A_10MHz_FDD_t
*
)
&
bcch_pdu
)
->
rballoc
=
computeRIV
(
2
5
,
10
,
3
);
((
DCI1A_10MHz_FDD_t
*
)
&
bcch_pdu
)
->
rballoc
=
computeRIV
(
5
0
,
10
,
3
);
((
DCI1A_10MHz_FDD_t
*
)
&
bcch_pdu
)
->
ndi
=
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_tx
&
1
;
((
DCI1A_10MHz_FDD_t
*
)
&
bcch_pdu
)
->
rv
=
1
;
((
DCI1A_10MHz_FDD_t
*
)
&
bcch_pdu
)
->
mcs
=
1
;
...
...
@@ -153,7 +154,7 @@ void fill_dci(DCI_PDU *DCI_pdu, uint8_t sched_subframe, PHY_VARS_eNB *phy_vars_e
DCI_pdu
->
dci_alloc
[
0
].
dci_length
=
sizeof_DCI1A_10MHz_TDD_1_6_t
;
((
DCI1A_10MHz_TDD_1_6_t
*
)
&
bcch_pdu
)
->
type
=
1
;
((
DCI1A_10MHz_TDD_1_6_t
*
)
&
bcch_pdu
)
->
vrb_type
=
0
;
((
DCI1A_10MHz_TDD_1_6_t
*
)
&
bcch_pdu
)
->
rballoc
=
computeRIV
(
2
5
,
10
,
3
);
((
DCI1A_10MHz_TDD_1_6_t
*
)
&
bcch_pdu
)
->
rballoc
=
computeRIV
(
5
0
,
10
,
3
);
((
DCI1A_10MHz_TDD_1_6_t
*
)
&
bcch_pdu
)
->
ndi
=
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_tx
&
1
;
((
DCI1A_10MHz_TDD_1_6_t
*
)
&
bcch_pdu
)
->
rv
=
1
;
((
DCI1A_10MHz_TDD_1_6_t
*
)
&
bcch_pdu
)
->
mcs
=
1
;
...
...
@@ -169,7 +170,7 @@ void fill_dci(DCI_PDU *DCI_pdu, uint8_t sched_subframe, PHY_VARS_eNB *phy_vars_e
DCI_pdu
->
dci_alloc
[
0
].
dci_length
=
sizeof_DCI1A_20MHz_FDD_t
;
((
DCI1A_20MHz_FDD_t
*
)
&
bcch_pdu
)
->
type
=
1
;
((
DCI1A_20MHz_FDD_t
*
)
&
bcch_pdu
)
->
vrb_type
=
0
;
((
DCI1A_20MHz_FDD_t
*
)
&
bcch_pdu
)
->
rballoc
=
computeRIV
(
25
,
10
,
3
);
((
DCI1A_20MHz_FDD_t
*
)
&
bcch_pdu
)
->
rballoc
=
computeRIV
(
100
,
10
,
3
);
((
DCI1A_20MHz_FDD_t
*
)
&
bcch_pdu
)
->
ndi
=
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_tx
&
1
;
((
DCI1A_20MHz_FDD_t
*
)
&
bcch_pdu
)
->
rv
=
1
;
((
DCI1A_20MHz_FDD_t
*
)
&
bcch_pdu
)
->
mcs
=
1
;
...
...
@@ -180,7 +181,7 @@ void fill_dci(DCI_PDU *DCI_pdu, uint8_t sched_subframe, PHY_VARS_eNB *phy_vars_e
DCI_pdu
->
dci_alloc
[
0
].
dci_length
=
sizeof_DCI1A_20MHz_TDD_1_6_t
;
((
DCI1A_20MHz_TDD_1_6_t
*
)
&
bcch_pdu
)
->
type
=
1
;
((
DCI1A_20MHz_TDD_1_6_t
*
)
&
bcch_pdu
)
->
vrb_type
=
0
;
((
DCI1A_20MHz_TDD_1_6_t
*
)
&
bcch_pdu
)
->
rballoc
=
computeRIV
(
25
,
10
,
3
);
((
DCI1A_20MHz_TDD_1_6_t
*
)
&
bcch_pdu
)
->
rballoc
=
computeRIV
(
100
,
10
,
3
);
((
DCI1A_20MHz_TDD_1_6_t
*
)
&
bcch_pdu
)
->
ndi
=
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_tx
&
1
;
((
DCI1A_20MHz_TDD_1_6_t
*
)
&
bcch_pdu
)
->
rv
=
1
;
((
DCI1A_20MHz_TDD_1_6_t
*
)
&
bcch_pdu
)
->
mcs
=
1
;
...
...
@@ -230,14 +231,14 @@ void fill_dci(DCI_PDU *DCI_pdu, uint8_t sched_subframe, PHY_VARS_eNB *phy_vars_e
if
(
phy_vars_eNB
->
lte_frame_parms
.
frame_type
==
FDD
)
{
DCI_pdu
->
dci_alloc
[
0
].
dci_length
=
sizeof_DCI1_5MHz_FDD_t
;
((
DCI1_5MHz_FDD_t
*
)
&
dlsch_pdu
)
->
rballoc
=
rballoc
;
((
DCI1_5MHz_FDD_t
*
)
&
dlsch_pdu
)
->
rballoc
=
rballoc
;
//computeRIV(25,10,3);
((
DCI1_5MHz_FDD_t
*
)
&
dlsch_pdu
)
->
TPC
=
0
;
((
DCI1_5MHz_FDD_t
*
)
&
dlsch_pdu
)
->
harq_pid
=
DLSCH_ptr
->
harq_pid_freelist
[
DLSCH_ptr
->
head_freelist
];
((
DCI1_5MHz_FDD_t
*
)
&
dlsch_pdu
)
->
mcs
=
openair_daq_vars
.
target_ue_dl_mcs
;
//((DCI1_5MHz_FDD_t *)&dlsch_pdu)->mcs = (unsigned char) ((phy_vars_eNB->frame%1024)%28);
((
DCI1_5MHz_FDD_t
*
)
&
dlsch_pdu
)
->
ndi
=
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_tx
&
1
;
((
DCI1_5MHz_FDD_t
*
)
&
dlsch_pdu
)
->
rv
=
0
;
memcpy
((
void
*
)
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
[
0
],(
void
*
)
&
dlsch_pdu
,
sizeof
(
DCI1_5MHz_
T
DD_t
));
memcpy
((
void
*
)
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
[
0
],(
void
*
)
&
dlsch_pdu
,
sizeof
(
DCI1_5MHz_
F
DD_t
));
/*
//user2
...
...
@@ -260,7 +261,7 @@ void fill_dci(DCI_PDU *DCI_pdu, uint8_t sched_subframe, PHY_VARS_eNB *phy_vars_e
}
else
{
DCI_pdu
->
dci_alloc
[
0
].
dci_length
=
sizeof_DCI1_5MHz_TDD_t
;
((
DCI1_5MHz_TDD_t
*
)
&
dlsch_pdu
)
->
rballoc
=
rballoc
;
((
DCI1_5MHz_TDD_t
*
)
&
dlsch_pdu
)
->
rballoc
=
rballoc
;
//computeRIV(25,10,3);
((
DCI1_5MHz_TDD_t
*
)
&
dlsch_pdu
)
->
TPC
=
0
;
((
DCI1_5MHz_TDD_t
*
)
&
dlsch_pdu
)
->
dai
=
0
;
((
DCI1_5MHz_TDD_t
*
)
&
dlsch_pdu
)
->
harq_pid
=
DLSCH_ptr
->
harq_pid_freelist
[
DLSCH_ptr
->
head_freelist
];
...
...
@@ -297,14 +298,14 @@ void fill_dci(DCI_PDU *DCI_pdu, uint8_t sched_subframe, PHY_VARS_eNB *phy_vars_e
if
(
phy_vars_eNB
->
lte_frame_parms
.
frame_type
==
FDD
)
{
DCI_pdu
->
dci_alloc
[
0
].
dci_length
=
sizeof_DCI1_10MHz_FDD_t
;
((
DCI1_10MHz_FDD_t
*
)
&
dlsch_pdu
)
->
rballoc
=
rballoc
;
((
DCI1_10MHz_FDD_t
*
)
&
dlsch_pdu
)
->
rballoc
=
rballoc
;
//computeRIV(50,10,3);
((
DCI1_10MHz_FDD_t
*
)
&
dlsch_pdu
)
->
TPC
=
0
;
((
DCI1_10MHz_FDD_t
*
)
&
dlsch_pdu
)
->
harq_pid
=
DLSCH_ptr
->
harq_pid_freelist
[
DLSCH_ptr
->
head_freelist
];
((
DCI1_10MHz_FDD_t
*
)
&
dlsch_pdu
)
->
mcs
=
openair_daq_vars
.
target_ue_dl_mcs
;
//((DCI1_10MHz_FDD_t *)&dlsch_pdu)->mcs = (unsigned char) ((phy_vars_eNB->frame%1024)%28);
((
DCI1_10MHz_FDD_t
*
)
&
dlsch_pdu
)
->
ndi
=
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_tx
&
1
;
((
DCI1_10MHz_FDD_t
*
)
&
dlsch_pdu
)
->
rv
=
0
;
memcpy
((
void
*
)
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
[
0
],(
void
*
)
&
dlsch_pdu
,
sizeof
(
DCI1_10MHz_
T
DD_t
));
memcpy
((
void
*
)
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
[
0
],(
void
*
)
&
dlsch_pdu
,
sizeof
(
DCI1_10MHz_
F
DD_t
));
/*
//user2
...
...
@@ -327,7 +328,7 @@ void fill_dci(DCI_PDU *DCI_pdu, uint8_t sched_subframe, PHY_VARS_eNB *phy_vars_e
}
else
{
DCI_pdu
->
dci_alloc
[
0
].
dci_length
=
sizeof_DCI1_10MHz_TDD_t
;
((
DCI1_10MHz_TDD_t
*
)
&
dlsch_pdu
)
->
rballoc
=
rballoc
;
((
DCI1_10MHz_TDD_t
*
)
&
dlsch_pdu
)
->
rballoc
=
rballoc
;
//computeRIV(50,10,3);
((
DCI1_10MHz_TDD_t
*
)
&
dlsch_pdu
)
->
TPC
=
0
;
((
DCI1_10MHz_TDD_t
*
)
&
dlsch_pdu
)
->
dai
=
0
;
((
DCI1_10MHz_TDD_t
*
)
&
dlsch_pdu
)
->
harq_pid
=
DLSCH_ptr
->
harq_pid_freelist
[
DLSCH_ptr
->
head_freelist
];
...
...
@@ -361,16 +362,16 @@ void fill_dci(DCI_PDU *DCI_pdu, uint8_t sched_subframe, PHY_VARS_eNB *phy_vars_e
case
100
:
if
(
phy_vars_eNB
->
lte_frame_parms
.
frame_type
==
FDD
)
{
DCI_pdu
->
dci_alloc
[
0
].
dci_length
=
sizeof_DCI1_
5
MHz_FDD_t
;
DCI_pdu
->
dci_alloc
[
0
].
dci_length
=
sizeof_DCI1_
20
MHz_FDD_t
;
((
DCI1_
5
MHz_FDD_t
*
)
&
dlsch_pdu
)
->
rballoc
=
rballoc
;
((
DCI1_
5
MHz_FDD_t
*
)
&
dlsch_pdu
)
->
TPC
=
0
;
((
DCI1_
5
MHz_FDD_t
*
)
&
dlsch_pdu
)
->
harq_pid
=
DLSCH_ptr
->
harq_pid_freelist
[
DLSCH_ptr
->
head_freelist
];
((
DCI1_
5
MHz_FDD_t
*
)
&
dlsch_pdu
)
->
mcs
=
openair_daq_vars
.
target_ue_dl_mcs
;
((
DCI1_
20
MHz_FDD_t
*
)
&
dlsch_pdu
)
->
rballoc
=
rballoc
;
//computeRIV(100,10,3);
((
DCI1_
20
MHz_FDD_t
*
)
&
dlsch_pdu
)
->
TPC
=
0
;
((
DCI1_
20
MHz_FDD_t
*
)
&
dlsch_pdu
)
->
harq_pid
=
DLSCH_ptr
->
harq_pid_freelist
[
DLSCH_ptr
->
head_freelist
];
((
DCI1_
20
MHz_FDD_t
*
)
&
dlsch_pdu
)
->
mcs
=
openair_daq_vars
.
target_ue_dl_mcs
;
//((DCI1_5MHz_FDD_t *)&dlsch_pdu)->mcs = (unsigned char) ((phy_vars_eNB->frame%1024)%28);
((
DCI1_
5
MHz_FDD_t
*
)
&
dlsch_pdu
)
->
ndi
=
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_tx
&
1
;
((
DCI1_
5
MHz_FDD_t
*
)
&
dlsch_pdu
)
->
rv
=
0
;
memcpy
((
void
*
)
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
[
0
],(
void
*
)
&
dlsch_pdu
,
sizeof
(
DCI1_
5
MHz_
T
DD_t
));
((
DCI1_
20
MHz_FDD_t
*
)
&
dlsch_pdu
)
->
ndi
=
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_tx
&
1
;
((
DCI1_
20
MHz_FDD_t
*
)
&
dlsch_pdu
)
->
rv
=
0
;
memcpy
((
void
*
)
&
DCI_pdu
->
dci_alloc
[
0
].
dci_pdu
[
0
],(
void
*
)
&
dlsch_pdu
,
sizeof
(
DCI1_
20
MHz_
F
DD_t
));
/*
//user2
...
...
@@ -393,7 +394,7 @@ void fill_dci(DCI_PDU *DCI_pdu, uint8_t sched_subframe, PHY_VARS_eNB *phy_vars_e
}
else
{
DCI_pdu
->
dci_alloc
[
0
].
dci_length
=
sizeof_DCI1_20MHz_TDD_t
;
((
DCI1_20MHz_TDD_t
*
)
&
dlsch_pdu
)
->
rballoc
=
rballoc
;
((
DCI1_20MHz_TDD_t
*
)
&
dlsch_pdu
)
->
rballoc
=
rballoc
;
//computeRIV(100,10,3);
((
DCI1_20MHz_TDD_t
*
)
&
dlsch_pdu
)
->
TPC
=
0
;
((
DCI1_20MHz_TDD_t
*
)
&
dlsch_pdu
)
->
dai
=
0
;
((
DCI1_20MHz_TDD_t
*
)
&
dlsch_pdu
)
->
harq_pid
=
DLSCH_ptr
->
harq_pid_freelist
[
DLSCH_ptr
->
head_freelist
];
...
...
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
841078e6
...
...
@@ -562,6 +562,7 @@ void phy_eNB_lte_check_measurement_thresholds(instance_t instanceP, ral_threshol
unsigned
int
taus
(
void
);
DCI_PDU
DCI_pdu_tmp
;
void
phy_procedures_eNB_TX
(
unsigned
char
sched_subframe
,
PHY_VARS_eNB
*
phy_vars_eNB
,
uint8_t
abstraction_flag
,
relaying_type_t
r_type
,
PHY_VARS_RN
*
phy_vars_rn
)
...
...
@@ -573,7 +574,7 @@ void phy_procedures_eNB_TX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e
uint8_t
harq_pid
;
DCI_PDU
*
DCI_pdu
;
uint8_t
*
DLSCH_pdu
=
NULL
;
DCI_PDU
DCI_pdu_tmp
;
//
DCI_PDU DCI_pdu_tmp;
uint8_t
DLSCH_pdu_tmp
[
768
*
8
];
int8_t
UE_id
;
uint8_t
num_pdcch_symbols
=
0
;
...
...
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