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
spbro
OpenXG-RAN
Commits
bc9c4cfe
Commit
bc9c4cfe
authored
Aug 22, 2016
by
Xiwen JIANG
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
do_OFDM_mod_rt to perform on each symbol
parent
1cbb2c5c
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
22 additions
and
2 deletions
+22
-2
targets/RT/USER/lte-softmodem.c
targets/RT/USER/lte-softmodem.c
+22
-2
No files found.
targets/RT/USER/lte-softmodem.c
View file @
bc9c4cfe
...
@@ -962,7 +962,21 @@ void do_OFDM_mod_rt(int subframe,PHY_VARS_eNB *phy_vars_eNB)
...
@@ -962,7 +962,21 @@ void do_OFDM_mod_rt(int subframe,PHY_VARS_eNB *phy_vars_eNB)
((
subframe_select
(
&
phy_vars_eNB
->
lte_frame_parms
,
subframe
)
==
SF_S
)))
{
((
subframe_select
(
&
phy_vars_eNB
->
lte_frame_parms
,
subframe
)
==
SF_S
)))
{
// LOG_D(HW,"Frame %d: Generating slot %d\n",frame,next_slot);
// LOG_D(HW,"Frame %d: Generating slot %d\n",frame,next_slot);
do_OFDM_mod_l
(
&
phy_vars_eNB
->
lte_eNB_common_vars
,
0
,
subframe
<<
1
,
&
phy_vars_eNB
->
lte_frame_parms
);
// if S-subframe generate first slot only
if
(
subframe_select
(
&
phy_vars_eNB
->
lte_frame_parms
,
subframe
)
==
SF_DL
)
{
do_OFDM_mod_l
(
&
phy_vars_eNB
->
lte_eNB_common_vars
,
0
,
1
+
(
subframe
<<
1
),
&
phy_vars_eNB
->
lte_frame_parms
);
}
/*
for (aa=0; aa<phy_vars_eNB->lte_frame_parms.nb_antennas_tx; aa++) {
for (aa=0; aa<phy_vars_eNB->lte_frame_parms.nb_antennas_tx; aa++) {
if (phy_vars_eNB->lte_frame_parms.Ncp == EXTENDED) {
if (phy_vars_eNB->lte_frame_parms.Ncp == EXTENDED) {
PHY_ofdm_mod(&phy_vars_eNB->lte_eNB_common_vars.txdataF[0][aa][slot_offset_F],
PHY_ofdm_mod(&phy_vars_eNB->lte_eNB_common_vars.txdataF[0][aa][slot_offset_F],
...
@@ -989,7 +1003,9 @@ void do_OFDM_mod_rt(int subframe,PHY_VARS_eNB *phy_vars_eNB)
...
@@ -989,7 +1003,9 @@ void do_OFDM_mod_rt(int subframe,PHY_VARS_eNB *phy_vars_eNB)
7,
7,
&(phy_vars_eNB->lte_frame_parms));
&(phy_vars_eNB->lte_frame_parms));
}
}
} */
for
(
aa
=
0
;
aa
<
phy_vars_eNB
->
lte_frame_parms
.
nb_antennas_tx
;
aa
++
)
{
// if S-subframe generate first slot only
// if S-subframe generate first slot only
if
(
subframe_select
(
&
phy_vars_eNB
->
lte_frame_parms
,
subframe
)
==
SF_S
)
if
(
subframe_select
(
&
phy_vars_eNB
->
lte_frame_parms
,
subframe
)
==
SF_S
)
len
=
phy_vars_eNB
->
lte_frame_parms
.
samples_per_tti
>>
1
;
len
=
phy_vars_eNB
->
lte_frame_parms
.
samples_per_tti
>>
1
;
...
@@ -1012,9 +1028,13 @@ void do_OFDM_mod_rt(int subframe,PHY_VARS_eNB *phy_vars_eNB)
...
@@ -1012,9 +1028,13 @@ void do_OFDM_mod_rt(int subframe,PHY_VARS_eNB *phy_vars_eNB)
if
(
tx_offset
>=
(
LTE_NUMBER_OF_SUBFRAMES_PER_FRAME
*
phy_vars_eNB
->
lte_frame_parms
.
samples_per_tti
))
if
(
tx_offset
>=
(
LTE_NUMBER_OF_SUBFRAMES_PER_FRAME
*
phy_vars_eNB
->
lte_frame_parms
.
samples_per_tti
))
tx_offset
-=
LTE_NUMBER_OF_SUBFRAMES_PER_FRAME
*
phy_vars_eNB
->
lte_frame_parms
.
samples_per_tti
;
tx_offset
-=
LTE_NUMBER_OF_SUBFRAMES_PER_FRAME
*
phy_vars_eNB
->
lte_frame_parms
.
samples_per_tti
;
((
short
*
)
&
phy_vars_eNB
->
lte_eNB_common_vars
.
txdata
[
0
][
aa
][
tx_offset
])[
0
]
=
((
short
*
)
dummy_tx_b
)[
2
*
i
]
<<
openair0_cfg
[
0
].
iq_txshift
;
/* ((short*)&phy_vars_eNB->lte_eNB_common_vars.txdata[0][aa][tx_offset])[0] = ((short*)dummy_tx_b)[2*i]<<openair0_cfg[0].iq_txshift;
((short*)&phy_vars_eNB->lte_eNB_common_vars.txdata[0][aa][tx_offset])[1] = ((short*)dummy_tx_b)[2*i+1]<<openair0_cfg[0].iq_txshift; */
((
short
*
)
&
phy_vars_eNB
->
lte_eNB_common_vars
.
txdata
[
0
][
aa
][
tx_offset
])[
0
]
=
((
short
*
)
&
phy_vars_eNB
->
lte_eNB_common_vars
.
txdata
[
0
][
aa
][
tx_offset
])[
0
]
<<
openair0_cfg
[
0
].
iq_txshift
;
((
short
*
)
&
phy_vars_eNB
->
lte_eNB_common_vars
.
txdata
[
0
][
aa
][
tx_offset
])[
1
]
=
((
short
*
)
dummy_tx_b
)[
2
*
i
+
1
]
<<
openair0_cfg
[
0
].
iq_txshift
;
((
short
*
)
&
phy_vars_eNB
->
lte_eNB_common_vars
.
txdata
[
0
][
aa
][
tx_offset
])[
1
]
=
((
short
*
)
&
phy_vars_eNB
->
lte_eNB_common_vars
.
txdata
[
0
][
aa
][
tx_offset
])[
1
]
<<
openair0_cfg
[
0
].
iq_txshift
;
}
}
// if S-subframe switch to RX in second subframe
// if S-subframe switch to RX in second subframe
if
(
subframe_select
(
&
phy_vars_eNB
->
lte_frame_parms
,
subframe
)
==
SF_S
)
{
if
(
subframe_select
(
&
phy_vars_eNB
->
lte_frame_parms
,
subframe
)
==
SF_S
)
{
...
...
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