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
zzha zzha
OpenXG-RAN
Commits
cf2b532a
Commit
cf2b532a
authored
Nov 26, 2015
by
lukashov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
changes in dci_tools.c for TM4 to support tpmi2
parent
f6e750fb
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
38 additions
and
5 deletions
+38
-5
openair1/PHY/LTE_TRANSPORT/dci_tools.c
openair1/PHY/LTE_TRANSPORT/dci_tools.c
+38
-5
No files found.
openair1/PHY/LTE_TRANSPORT/dci_tools.c
View file @
cf2b532a
...
...
@@ -1551,7 +1551,7 @@ int generate_eNB_dlsch_params_from_dci(int frame,
dlsch0_harq
->
mimo_mode
=
DUALSTREAM_PUSCH_PRECODING
;
dlsch0_harq
->
pmi_alloc
=
DL_pmi_single
;
dlsch1_harq
->
mimo_mode
=
DUALSTREAM_PUSCH_PRECODING
;
dlsch1_harq
->
pmi_alloc
=
DL_pmi_single
;
dlsch1_harq
->
pmi_alloc
=
DL_pmi_single
^
0x1555
;
//opposite; this is just random assignment for first trial
break
;
default:
break
;
...
...
@@ -4806,9 +4806,9 @@ int generate_ue_dlsch_params_from_dci(int frame,
break
;
case
2
:
// PUSCH precoding
dlsch0_harq
->
mimo_mode
=
DUALSTREAM_PUSCH_PRECODING
;
dlsch0_harq
->
pmi_alloc
=
0
;
//TODO: DL_pmi_single
;
dlsch0_harq
->
pmi_alloc
=
dlsch0
->
pmi_alloc
;
dlsch1_harq
->
mimo_mode
=
DUALSTREAM_PUSCH_PRECODING
;
dlsch1_harq
->
pmi_alloc
=
0
;
//TODO: DL_pmi_single
;
dlsch1_harq
->
pmi_alloc
=
dlsch0
->
pmi_alloc
^
0x1555
;
break
;
default:
break
;
...
...
@@ -5774,7 +5774,7 @@ uint32_t pdcch_alloc2ul_frame(LTE_DL_FRAME_PARMS *frame_parms,uint32_t frame, ui
}
uint16_t
quantize_subband_pmi
(
PHY_MEASUREMENTS
*
meas
,
uint8_t
eNB_id
,
int
nb_
subbands
)
uint16_t
quantize_subband_pmi
(
PHY_MEASUREMENTS
*
meas
,
uint8_t
eNB_id
,
int
nb_
rb
)
{
int
i
,
aarx
;
...
...
@@ -5782,6 +5782,25 @@ uint16_t quantize_subband_pmi(PHY_MEASUREMENTS *meas,uint8_t eNB_id,int nb_subba
uint16_t
pmivect
=
0
;
uint8_t
rank
=
meas
->
rank
[
eNB_id
];
int
pmi_re
,
pmi_im
;
int
nb_subbands
=
0
;
switch
(
nb_rb
)
{
case
6
:
nb_subbands
=
6
;
break
;
default:
case
25
:
nb_subbands
=
7
;
break
;
case
50
:
nb_subbands
=
9
;
break
;
case
100
:
nb_subbands
=
13
;
break
;
}
for
(
i
=
0
;
i
<
nb_subbands
;
i
++
)
{
pmi_re
=
0
;
...
...
@@ -5808,7 +5827,21 @@ uint16_t quantize_subband_pmi(PHY_MEASUREMENTS *meas,uint8_t eNB_id,int nb_subba
// printf("subband %d, pmi%d \n",i,pmiq);
pmivect
|=
(
pmiq
<<
(
2
*
i
));
}
else
{
}
else
if
(
rank
==
1
)
{
for
(
aarx
=
0
;
aarx
<
meas
->
nb_antennas_rx
;
aarx
++
)
{
pmi_re
+=
meas
->
subband_pmi_re
[
eNB_id
][
i
][
aarx
];
pmi_im
+=
meas
->
subband_pmi_im
[
eNB_id
][
i
][
aarx
];
}
if
(
pmi_re
>
pmi_im
)
pmiq
=
PMI_2A_11
;
else
if
(
pmi_re
<
pmi_im
)
pmiq
=
PMI_2A_1m1
;
printf
(
"subband %d, pmi%d
\n
"
,
i
,
pmiq
);
pmivect
|=
(
pmiq
<<
(
2
*
i
));
printf
(
"subband %d pmivect %d
\n
"
,
i
,
pmivect
);
}
else
{
// This needs to be done properly!!!
msg
(
"PMI feedback for rank>1 not supported!
\n
"
);
pmivect
=
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