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
ZhouShuya
OpenXG-RAN
Commits
7f4b6a29
Commit
7f4b6a29
authored
Feb 06, 2020
by
Sakthivel Velumani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
updated slot fep for numerology 0
fixed a bug in UE
parent
4d33b341
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
22 additions
and
11 deletions
+22
-11
executables/nr-ue.c
executables/nr-ue.c
+2
-2
openair1/PHY/INIT/nr_parms.c
openair1/PHY/INIT/nr_parms.c
+8
-4
openair1/PHY/MODULATION/slot_fep_nr.c
openair1/PHY/MODULATION/slot_fep_nr.c
+12
-5
No files found.
executables/nr-ue.c
View file @
7f4b6a29
...
...
@@ -748,7 +748,7 @@ void *UE_thread(void *arg) {
for
(
int
i
=
0
;
i
<
UE
->
frame_parms
.
nb_antennas_rx
;
i
++
)
rxp
[
i
]
=
(
void
*
)
&
UE
->
common_vars
.
rxdata
[
i
][
UE
->
frame_parms
.
ofdm_symbol_size
+
-
UE
->
frame_parms
.
nb_prefix_samples0
+
UE
->
frame_parms
.
UE
->
frame_parms
.
nb_prefix_samples0
+
UE
->
frame_parms
.
get_samples_slot_timestamp
(
slot_nr
,
&
UE
->
frame_parms
,
0
)];
for
(
int
i
=
0
;
i
<
UE
->
frame_parms
.
nb_antennas_tx
;
i
++
)
...
...
openair1/PHY/INIT/nr_parms.c
View file @
7f4b6a29
...
...
@@ -184,7 +184,7 @@ void set_scs_parameters (NR_DL_FRAME_PARMS *fp, int mu, uint16_t bw)
case
90
:
case
100
:
default:
AssertFatal
(
1
==
0
,
"
Number of resource blocks %d undefined for mu %d, frame parms = %p
\n
"
,
fp
->
N_RB_DL
,
mu
,
fp
);
AssertFatal
(
1
==
0
,
"
Bandwidth of %d MHz undefined for mu %d, frame parms = %p
\n
"
,
bw
,
mu
,
fp
);
}
break
;
...
...
@@ -223,10 +223,14 @@ void set_scs_parameters (NR_DL_FRAME_PARMS *fp, int mu, uint16_t bw)
uint32_t
get_samples_per_slot
(
int
slot
,
NR_DL_FRAME_PARMS
*
fp
)
{
if
(
slot
%
(
fp
->
slots_per_subframe
/
2
))
return
fp
->
samples_per_slotN0
;
uint32_t
samp_count
;
if
(
fp
->
numerology_index
==
0
)
samp_count
=
fp
->
samples_per_subframe
;
else
return
fp
->
samples_per_slot0
;
samp_count
=
(
slot
%
(
fp
->
slots_per_subframe
/
2
))
?
fp
->
samples_per_slotN0
:
fp
->
samples_per_slot0
;
return
samp_count
;
}
uint32_t
get_samples_slot_timestamp
(
int
slot
,
NR_DL_FRAME_PARMS
*
fp
,
uint8_t
sl_ahead
)
...
...
openair1/PHY/MODULATION/slot_fep_nr.c
View file @
7f4b6a29
...
...
@@ -46,6 +46,7 @@ int nr_slot_fep(PHY_VARS_NR_UE *ue,
unsigned
char
aa
;
unsigned
int
nb_prefix_samples
;
unsigned
int
nb_prefix_samples0
;
unsigned
int
abs_symbol
;
if
(
ue
->
is_synchronized
)
{
nb_prefix_samples
=
(
no_prefix
?
0
:
frame_parms
->
nb_prefix_samples
);
nb_prefix_samples0
=
(
no_prefix
?
0
:
frame_parms
->
nb_prefix_samples0
);
...
...
@@ -125,7 +126,7 @@ int nr_slot_fep(PHY_VARS_NR_UE *ue,
for
(
aa
=
0
;
aa
<
frame_parms
->
nb_antennas_rx
;
aa
++
)
{
memset
(
&
common_vars
->
common_vars_rx_data_per_thread
[
ue
->
current_thread_id
[
Ns
]].
rxdataF
[
aa
][
frame_parms
->
ofdm_symbol_size
*
symbol
],
0
,
frame_parms
->
ofdm_symbol_size
*
sizeof
(
int
));
rx_offset
=
sample_offset
+
slot_offset
+
nb_prefix_samples0
-
SOFFSET
;
rx_offset
=
sample_offset
+
slot_offset
-
SOFFSET
;
// Align with 256 bit
// rx_offset = rx_offset&0xfffffff8;
...
...
@@ -135,8 +136,16 @@ int nr_slot_fep(PHY_VARS_NR_UE *ue,
ue
->
proc
.
proc_rxtx
[(
Ns
)
&
1
].
frame_rx
,
Ns
,
symbol
,
nb_prefix_samples
,
nb_prefix_samples0
,
slot_offset
,
sample_offset
,
rx_offset
,
frame_length_samples
);
#endif
if
(
symbol
==
0
)
{
abs_symbol
=
Ns
*
frame_parms
->
symbols_per_slot
+
symbol
;
for
(
int
idx_symb
=
Ns
*
frame_parms
->
symbols_per_slot
;
idx_symb
<
abs_symbol
;
idx_symb
++
)
rx_offset
+=
(
abs_symbol
%
(
0x7
<<
frame_parms
->
numerology_index
))
?
nb_prefix_samples
:
nb_prefix_samples0
;
rx_offset
+=
frame_parms
->
ofdm_symbol_size
*
symbol
;
if
(
abs_symbol
%
(
0x7
<<
frame_parms
->
numerology_index
))
{
rx_offset
+=
nb_prefix_samples0
;
if
(
rx_offset
>
(
frame_length_samples
-
frame_parms
->
ofdm_symbol_size
))
memcpy
((
short
*
)
&
common_vars
->
rxdata
[
aa
][
frame_length_samples
],
(
short
*
)
&
common_vars
->
rxdata
[
aa
][
0
],
...
...
@@ -161,9 +170,7 @@ int nr_slot_fep(PHY_VARS_NR_UE *ue,
}
}
else
{
rx_offset
+=
(
frame_parms
->
ofdm_symbol_size
+
nb_prefix_samples
)
*
symbol
;
// + (frame_parms->ofdm_symbol_size+nb_prefix_samples)*(l-1);
rx_offset
+=
frame_parms
->
nb_prefix_samples
;
if
(
rx_offset
>
(
frame_length_samples
-
frame_parms
->
ofdm_symbol_size
))
memcpy
((
void
*
)
&
common_vars
->
rxdata
[
aa
][
frame_length_samples
],
(
void
*
)
&
common_vars
->
rxdata
[
aa
][
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