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
canghaiwuhen
OpenXG-RAN
Commits
7934ec45
Commit
7934ec45
authored
Oct 07, 2019
by
Khalid Ahmed
Committed by
Thomas Schlichter
Oct 08, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
In TTD mode consider ssb slot as DL slot
- added nr_is_ssb_slot function
parent
740e4c8a
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
30 additions
and
2 deletions
+30
-2
executables/nr-ru.c
executables/nr-ru.c
+1
-1
openair1/PHY/INIT/nr_parms.c
openair1/PHY/INIT/nr_parms.c
+26
-0
openair1/PHY/INIT/phy_init.h
openair1/PHY/INIT/phy_init.h
+1
-0
openair1/SCHED_NR/phy_procedures_nr_common.c
openair1/SCHED_NR/phy_procedures_nr_common.c
+2
-1
No files found.
executables/nr-ru.c
View file @
7934ec45
...
@@ -731,8 +731,8 @@ void tx_rf(RU_t *ru,int frame,int slot, uint64_t timestamp) {
...
@@ -731,8 +731,8 @@ void tx_rf(RU_t *ru,int frame,int slot, uint64_t timestamp) {
int
i
;
int
i
;
T
(
T_ENB_PHY_OUTPUT_SIGNAL
,
T_INT
(
0
),
T_INT
(
0
),
T_INT
(
frame
),
T_INT
(
slot
),
T
(
T_ENB_PHY_OUTPUT_SIGNAL
,
T_INT
(
0
),
T_INT
(
0
),
T_INT
(
frame
),
T_INT
(
slot
),
T_INT
(
0
),
T_BUFFER
(
&
ru
->
common
.
txdata
[
0
][
slot
*
fp
->
samples_per_slot
],
fp
->
samples_per_slot
*
4
));
T_INT
(
0
),
T_BUFFER
(
&
ru
->
common
.
txdata
[
0
][
slot
*
fp
->
samples_per_slot
],
fp
->
samples_per_slot
*
4
));
nr_subframe_t
SF_type
=
nr_slot_select
(
cfg
,
slot
%
fp
->
slots_per_frame
);
int
sf_extension
=
0
;
int
sf_extension
=
0
;
//nr_subframe_t SF_type = nr_slot_select(cfg,slot%fp->slots_per_frame);
int
siglen
=
fp
->
samples_per_slot
,
flags
=
1
;
int
siglen
=
fp
->
samples_per_slot
,
flags
=
1
;
/*
/*
...
...
openair1/PHY/INIT/nr_parms.c
View file @
7934ec45
...
@@ -79,6 +79,32 @@ int nr_get_ssb_start_symbol(NR_DL_FRAME_PARMS *fp, uint8_t i_ssb, uint8_t half_f
...
@@ -79,6 +79,32 @@ int nr_get_ssb_start_symbol(NR_DL_FRAME_PARMS *fp, uint8_t i_ssb, uint8_t half_f
return
symbol
;
return
symbol
;
}
}
int
nr_is_ssb_slot
(
nfapi_nr_config_request_t
*
cfg
,
int
slot
)
{
uint8_t
n_hf
;
int
rel_slot
;
n_hf
=
cfg
->
sch_config
.
half_frame_index
.
value
;
// if SSB periodicity is 5ms, they are transmitted in both half frames
if
(
cfg
->
sch_config
.
ssb_periodicity
.
value
==
5
)
{
if
(
slot
<
10
)
n_hf
=
0
;
else
n_hf
=
1
;
}
// to set a effective slot number between 0 to 9 in the half frame where the SSB is supposed to be
rel_slot
=
(
n_hf
)
?
(
slot
-
10
)
:
slot
;
if
(
rel_slot
<
10
&&
rel_slot
>=
0
)
return
1
;
else
return
0
;
}
int
nr_init_frame_parms0
(
NR_DL_FRAME_PARMS
*
fp
,
int
nr_init_frame_parms0
(
NR_DL_FRAME_PARMS
*
fp
,
int
mu
,
int
mu
,
...
...
openair1/PHY/INIT/phy_init.h
View file @
7934ec45
...
@@ -378,6 +378,7 @@ void phy_config_request(PHY_Config_t *phy_config);
...
@@ -378,6 +378,7 @@ void phy_config_request(PHY_Config_t *phy_config);
int
init_frame_parms
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
uint8_t
osf
);
int
init_frame_parms
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
uint8_t
osf
);
void
dump_frame_parms
(
LTE_DL_FRAME_PARMS
*
frame_parms
);
void
dump_frame_parms
(
LTE_DL_FRAME_PARMS
*
frame_parms
);
int
nr_get_ssb_start_symbol
(
NR_DL_FRAME_PARMS
*
fp
,
uint8_t
i_ssb
,
uint8_t
half_frame_index
);
int
nr_get_ssb_start_symbol
(
NR_DL_FRAME_PARMS
*
fp
,
uint8_t
i_ssb
,
uint8_t
half_frame_index
);
int
nr_is_ssb_slot
(
nfapi_nr_config_request_t
*
cfg
,
int
slot
);
int
nr_init_frame_parms
(
nfapi_nr_config_request_t
*
config
,
NR_DL_FRAME_PARMS
*
frame_parms
);
int
nr_init_frame_parms
(
nfapi_nr_config_request_t
*
config
,
NR_DL_FRAME_PARMS
*
frame_parms
);
int
nr_init_frame_parms_ue
(
NR_DL_FRAME_PARMS
*
frame_parms
,
int
mu
,
int
Ncp
,
int
N_RB_DL
,
int
n_ssb_crb
,
int
ssb_subcarrier_offset
);
int
nr_init_frame_parms_ue
(
NR_DL_FRAME_PARMS
*
frame_parms
,
int
mu
,
int
Ncp
,
int
N_RB_DL
,
int
n_ssb_crb
,
int
ssb_subcarrier_offset
);
int
init_nr_ue_signal
(
PHY_VARS_NR_UE
*
ue
,
int
nb_connected_eNB
,
uint8_t
abstraction_flag
);
int
init_nr_ue_signal
(
PHY_VARS_NR_UE
*
ue
,
int
nb_connected_eNB
,
uint8_t
abstraction_flag
);
...
...
openair1/SCHED_NR/phy_procedures_nr_common.c
View file @
7934ec45
...
@@ -31,11 +31,12 @@
...
@@ -31,11 +31,12 @@
*/
*/
#include "sched_nr.h"
#include "sched_nr.h"
#include "PHY/INIT/phy_init.h"
nr_subframe_t
nr_slot_select
(
nfapi_nr_config_request_t
*
cfg
,
nr_subframe_t
nr_slot_select
(
nfapi_nr_config_request_t
*
cfg
,
unsigned
char
slot
)
unsigned
char
slot
)
{
{
if
(
cfg
->
subframe_config
.
duplex_mode
.
value
==
FDD
||
slot
==
NR_DOWNLINK_SLOT
)
if
(
cfg
->
subframe_config
.
duplex_mode
.
value
==
FDD
||
slot
==
NR_DOWNLINK_SLOT
||
nr_is_ssb_slot
(
cfg
,
slot
)
==
1
)
return
(
SF_DL
);
return
(
SF_DL
);
else
if
(
slot
==
NR_UPLINK_SLOT
)
else
if
(
slot
==
NR_UPLINK_SLOT
)
return
(
SF_UL
);
return
(
SF_UL
);
...
...
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