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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG
OpenXG-RAN
Commits
14740aec
Commit
14740aec
authored
May 24, 2018
by
Haruki NAOI
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'remotes/origin/rm916_bugfix' into sp3_master
parents
91db46b6
c652a883
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
49 additions
and
6 deletions
+49
-6
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+49
-6
No files found.
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
14740aec
...
...
@@ -889,7 +889,7 @@ void uci_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
LOG_E
(
PHY
,
"Unknown number for N_RB_UL %d
\n
"
,
fp
->
N_RB_UL
);
break
;
}
SR_payload
=
0
;
switch
(
uci
->
type
)
{
case
SR
:
case
HARQ_SR
:
...
...
@@ -973,8 +973,34 @@ void uci_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
}
else
{
// frame_type == TDD
#if 1
metric
[
0
]
=
rx_pucch
(
eNB
,
uci
->
pucch_fmt
,
i
,
uci
->
n_pucch_1
[
0
][
0
],
0
,
//n2_pucch
uci
->
srs_active
,
// shortened format
pucch_b0b1
[
0
],
frame
,
subframe
,
PUCCH1a_THRES
);
if
(
uci
->
type
==
HARQ_SR
&&
metric
[
0
]
>
metric_SR
)
SR_payload
=
0
;
else
if
(
SR_payload
==
1
)
fill_sr_indication
(
eNB
,
uci
->
rnti
,
frame
,
subframe
,
metric_SR
);
if
(
uci
->
type
==
HARQ_SR
&&
metric
[
0
]
<=
metric_SR
)
{
SR_payload
=
1
;
metric
[
0
]
=
rx_pucch
(
eNB
,
uci
->
pucch_fmt
,
i
,
uci
->
n_pucch_1_0_sr
[
0
],
0
,
//n2_pucch
uci
->
srs_active
,
// shortened format
pucch_b0b1
[
0
],
frame
,
subframe
,
PUCCH1a_THRES
);
}
#else
// if SR was detected, use the n1_pucch from SR
if
(
SR_payload
==
1
)
{
#ifdef DEBUG_PHY_PROC
...
...
@@ -1025,7 +1051,16 @@ void uci_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
LOG_D
(
PHY
,
"RNTI %x type %d SR_payload %d Frame %d Subframe %d pucch_b0b1[0][0] %d pucch_b0b1[0][1] %d pucch_b0b1[1][0] %d pucch_b0b1[1][1] %d
\n
"
,
uci
->
rnti
,
uci
->
type
,
SR_payload
,
frame
,
subframe
,
pucch_b0b1
[
0
][
0
],
pucch_b0b1
[
0
][
1
],
pucch_b0b1
[
1
][
0
],
pucch_b0b1
[
1
][
1
]);
#endif
#endif
if
(
uci
->
pucch_fmt
==
pucch_format1a
)
{
LOG_D
(
PHY
,
"[eNB %d][PDSCH %x] Frame %d subframe %d pucch1a (TDD) payload %d (metric %d)
\n
"
,
eNB
->
Mod_id
,
uci
->
rnti
,
frame
,
subframe
,
pucch_b0b1
[
0
][
0
],
metric
[
0
]);
uci
->
stat
=
metric
[
0
];
fill_uci_harq_indication
(
eNB
,
uci
,
frame
,
subframe
,
pucch_b0b1
[
0
],
0
,
0xffff
);
}
else
if
(
uci
->
pucch_fmt
==
pucch_format1b
)
{
if
(
SR_payload
==
1
)
{
// this implements Table 7.3.1 from 36.213
if
(
pucch_b0b1
[
0
][
0
]
==
4
)
{
// there isn't a likely transmission
harq_ack
[
0
]
=
4
;
// DTX
...
...
@@ -1325,6 +1360,7 @@ void uci_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
AssertFatal
(
1
==
0
,
"Unsupported UCI type %d
\n
"
,
uci
->
type
);
break
;
}
}
if
(
SR_payload
==
1
)
{
LOG_D
(
PHY
,
"[eNB %d][SR %x] Frame %d subframe %d Got SR for PUSCH, transmitting to MAC
\n
"
,
eNB
->
Mod_id
,
...
...
@@ -2010,6 +2046,7 @@ void fill_uci_harq_indication(PHY_VARS_eNB *eNB,
switch
(
harq_ack
[
0
])
{
case
0
:
case
4
:
pdu
->
harq_indication_tdd_rel13
.
harq_data
[
0
].
bundling
.
value_0
=
0
;
break
;
case
1
:
// check if M=1,4,7
...
...
@@ -2018,6 +2055,8 @@ void fill_uci_harq_indication(PHY_VARS_eNB *eNB,
pdu
->
harq_indication_tdd_rel13
.
harq_data
[
0
].
bundling
.
value_0
=
1
;
release_harq
(
eNB
,
UE_id
,
0
,
frame
,
subframe
,
0xffff
);
release_harq
(
eNB
,
UE_id
,
1
,
frame
,
subframe
,
0xffff
);
}
else
{
pdu
->
harq_indication_tdd_rel13
.
harq_data
[
0
].
bundling
.
value_0
=
0
;
}
break
;
case
2
:
// check if M=2,5,8
...
...
@@ -2026,6 +2065,8 @@ void fill_uci_harq_indication(PHY_VARS_eNB *eNB,
pdu
->
harq_indication_tdd_rel13
.
harq_data
[
0
].
bundling
.
value_0
=
1
;
release_harq
(
eNB
,
UE_id
,
0
,
frame
,
subframe
,
0xffff
);
release_harq
(
eNB
,
UE_id
,
1
,
frame
,
subframe
,
0xffff
);
}
else
{
pdu
->
harq_indication_tdd_rel13
.
harq_data
[
0
].
bundling
.
value_0
=
0
;
}
break
;
case
3
:
// check if M=3,6,9
...
...
@@ -2034,6 +2075,8 @@ void fill_uci_harq_indication(PHY_VARS_eNB *eNB,
pdu
->
harq_indication_tdd_rel13
.
harq_data
[
0
].
bundling
.
value_0
=
1
;
release_harq
(
eNB
,
UE_id
,
0
,
frame
,
subframe
,
0xffff
);
release_harq
(
eNB
,
UE_id
,
1
,
frame
,
subframe
,
0xffff
);
}
else
{
pdu
->
harq_indication_tdd_rel13
.
harq_data
[
0
].
bundling
.
value_0
=
0
;
}
break
;
}
...
...
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