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
promise
OpenXG-RAN
Commits
db326bbf
Commit
db326bbf
authored
7 years ago
by
Guy De Souza
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
SSB repositioning
parent
fb23ffd6
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
20 additions
and
14 deletions
+20
-14
nfapi/open-nFAPI/nfapi/public_inc/nfapi_interface.h
nfapi/open-nFAPI/nfapi/public_inc/nfapi_interface.h
+2
-0
openair1/PHY/INIT/nr_init.c
openair1/PHY/INIT/nr_init.c
+2
-0
openair1/PHY/INIT/nr_init_ru.c
openair1/PHY/INIT/nr_init_ru.c
+2
-2
openair1/PHY/NR_TRANSPORT/nr_pss.c
openair1/PHY/NR_TRANSPORT/nr_pss.c
+1
-1
openair1/PHY/NR_TRANSPORT/nr_sss.c
openair1/PHY/NR_TRANSPORT/nr_sss.c
+1
-1
openair1/PHY/defs.h
openair1/PHY/defs.h
+2
-0
openair1/SCHED_NR/defs.h
openair1/SCHED_NR/defs.h
+1
-0
openair1/SCHED_NR/nr_ru_procedures.c
openair1/SCHED_NR/nr_ru_procedures.c
+1
-2
openair1/SCHED_NR/phy_procedures_nr_common.c
openair1/SCHED_NR/phy_procedures_nr_common.c
+4
-4
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+1
-1
targets/RT/USER/nr-ru.c
targets/RT/USER/nr-ru.c
+3
-3
No files found.
nfapi/open-nFAPI/nfapi/public_inc/nfapi_interface.h
View file @
db326bbf
...
@@ -684,6 +684,7 @@ typedef struct {
...
@@ -684,6 +684,7 @@ typedef struct {
nfapi_uint16_tlv_t
ssb_position_in_burst
;
nfapi_uint16_tlv_t
ssb_position_in_burst
;
nfapi_uint16_tlv_t
ssb_periodicity
;
nfapi_uint16_tlv_t
ssb_periodicity
;
nfapi_uint16_tlv_t
ss_pbch_block_power
;
nfapi_uint16_tlv_t
ss_pbch_block_power
;
nfapi_uint16_tlv_t
n_ssb_crb
;
}
nfapi_sch_config_t
;
}
nfapi_sch_config_t
;
#define NFAPI_SCH_CONFIG_PRIMARY_SYNCHRONIZATION_SIGNAL_EPRE_EPRERS_TAG 0x001E
#define NFAPI_SCH_CONFIG_PRIMARY_SYNCHRONIZATION_SIGNAL_EPRE_EPRERS_TAG 0x001E
...
@@ -694,6 +695,7 @@ typedef struct {
...
@@ -694,6 +695,7 @@ typedef struct {
#define NFAPI_SCH_CONFIG_SSB_POSITION_IN_BURST 0x0023
#define NFAPI_SCH_CONFIG_SSB_POSITION_IN_BURST 0x0023
#define NFAPI_SCH_CONFIG_SSB_PERIODICITY 0x0024
#define NFAPI_SCH_CONFIG_SSB_PERIODICITY 0x0024
#define NFAPI_SCH_CONFIG_SS_PBCH_BLOCK_POWER 0x0025
#define NFAPI_SCH_CONFIG_SS_PBCH_BLOCK_POWER 0x0025
#define NFAPI_SCH_CONFIG_N_SSB_CRB 0x0025
typedef
struct
{
typedef
struct
{
nfapi_uint16_tlv_t
configuration_index
;
nfapi_uint16_tlv_t
configuration_index
;
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/INIT/nr_init.c
View file @
db326bbf
...
@@ -347,6 +347,8 @@ void nr_phy_config_request(PHY_VARS_gNB *gNB)
...
@@ -347,6 +347,8 @@ void nr_phy_config_request(PHY_VARS_gNB *gNB)
gNB_config
->
rf_config
.
ul_channel_bandwidth
.
value
=
106
;
gNB_config
->
rf_config
.
ul_channel_bandwidth
.
value
=
106
;
gNB_config
->
sch_config
.
half_frame_index
.
value
=
0
;
gNB_config
->
sch_config
.
half_frame_index
.
value
=
0
;
gNB_config
->
sch_config
.
ssb_subcarrier_offset
.
value
=
0
;
gNB_config
->
sch_config
.
ssb_subcarrier_offset
.
value
=
0
;
gNB_config
->
sch_config
.
n_ssb_crb
.
value
=
86
;
gNB_config
->
sch_config
.
ssb_subcarrier_offset
.
value
=
0
;
gNB
->
mac_enabled
=
1
;
gNB
->
mac_enabled
=
1
;
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/INIT/nr_init_ru.c
View file @
db326bbf
...
@@ -79,14 +79,14 @@ int nr_phy_init_RU(RU_t *ru) {
...
@@ -79,14 +79,14 @@ int nr_phy_init_RU(RU_t *ru) {
LOG_I
(
PHY
,
"[INIT] common.txdata_BF= %p (%lu bytes)
\n
"
,
ru
->
common
.
txdataF_BF
,
LOG_I
(
PHY
,
"[INIT] common.txdata_BF= %p (%lu bytes)
\n
"
,
ru
->
common
.
txdataF_BF
,
ru
->
nb_tx
*
sizeof
(
int32_t
*
));
ru
->
nb_tx
*
sizeof
(
int32_t
*
));
for
(
i
=
0
;
i
<
ru
->
nb_tx
;
i
++
)
{
for
(
i
=
0
;
i
<
ru
->
nb_tx
;
i
++
)
{
ru
->
common
.
txdataF_BF
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
samples_per_frame_wCP
*
sizeof
(
int32_t
)
);
ru
->
common
.
txdataF_BF
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
samples_per_
sub
frame_wCP
*
sizeof
(
int32_t
)
);
LOG_I
(
PHY
,
"txdataF_BF[%d] %p for RU %d
\n
"
,
i
,
ru
->
common
.
txdataF_BF
[
i
],
ru
->
idx
);
LOG_I
(
PHY
,
"txdataF_BF[%d] %p for RU %d
\n
"
,
i
,
ru
->
common
.
txdataF_BF
[
i
],
ru
->
idx
);
}
}
// allocate FFT output buffers (RX)
// allocate FFT output buffers (RX)
ru
->
common
.
rxdataF
=
(
int32_t
**
)
malloc16
(
ru
->
nb_rx
*
sizeof
(
int32_t
*
)
);
ru
->
common
.
rxdataF
=
(
int32_t
**
)
malloc16
(
ru
->
nb_rx
*
sizeof
(
int32_t
*
)
);
for
(
i
=
0
;
i
<
ru
->
nb_rx
;
i
++
)
{
for
(
i
=
0
;
i
<
ru
->
nb_rx
;
i
++
)
{
// allocate 2 subframes of I/Q signal data (frequency)
// allocate 2 subframes of I/Q signal data (frequency)
ru
->
common
.
rxdataF
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
sizeof
(
int32_t
)
*
(
2
*
fp
->
samples_per_frame_wCP
)
);
ru
->
common
.
rxdataF
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
sizeof
(
int32_t
)
*
(
2
*
fp
->
samples_per_
sub
frame_wCP
)
);
LOG_I
(
PHY
,
"rxdataF[%d] %p for RU %d
\n
"
,
i
,
ru
->
common
.
rxdataF
[
i
],
ru
->
idx
);
LOG_I
(
PHY
,
"rxdataF[%d] %p for RU %d
\n
"
,
i
,
ru
->
common
.
rxdataF
[
i
],
ru
->
idx
);
}
}
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_TRANSPORT/nr_pss.c
View file @
db326bbf
...
@@ -63,7 +63,7 @@ int nr_generate_pss( int16_t *d_pss,
...
@@ -63,7 +63,7 @@ int nr_generate_pss( int16_t *d_pss,
{
{
// PSS occupies a predefined position (subcarriers 56-182, symbol 0) within the SSB block starting from
// PSS occupies a predefined position (subcarriers 56-182, symbol 0) within the SSB block starting from
k
=
frame_parms
->
first_carrier_offset
+
config
->
sch_config
.
ssb_subcarrier_offset
.
value
+
56
;
//and
k
=
frame_parms
->
first_carrier_offset
+
frame_parms
->
ssb_start_subcarrier
+
56
;
//and
l
=
ssb_start_symbol
;
l
=
ssb_start_symbol
;
for
(
m
=
0
;
m
<
NR_PSS_LENGTH
;
m
++
)
{
for
(
m
=
0
;
m
<
NR_PSS_LENGTH
;
m
++
)
{
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_TRANSPORT/nr_sss.c
View file @
db326bbf
...
@@ -73,7 +73,7 @@ int nr_generate_sss( int16_t *d_sss,
...
@@ -73,7 +73,7 @@ int nr_generate_sss( int16_t *d_sss,
{
{
// SSS occupies a predefined position (subcarriers 56-182, symbol 2) within the SSB block starting from
// SSS occupies a predefined position (subcarriers 56-182, symbol 2) within the SSB block starting from
k
=
frame_parms
->
first_carrier_offset
+
config
->
sch_config
.
ssb_subcarrier_offset
.
value
+
56
;
//and
k
=
frame_parms
->
first_carrier_offset
+
frame_parms
->
ssb_start_subcarrier
+
56
;
//and
l
=
ssb_start_symbol
+
2
;
l
=
ssb_start_symbol
+
2
;
for
(
m
=
0
;
m
<
NR_SSS_LENGTH
;
m
++
)
{
for
(
m
=
0
;
m
<
NR_SSS_LENGTH
;
m
++
)
{
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/defs.h
View file @
db326bbf
...
@@ -204,6 +204,8 @@ typedef struct {
...
@@ -204,6 +204,8 @@ typedef struct {
uint32_t
samples_per_subframe_wCP
;
uint32_t
samples_per_subframe_wCP
;
/// Number of samples in a radio frame without CP
/// Number of samples in a radio frame without CP
uint32_t
samples_per_frame_wCP
;
uint32_t
samples_per_frame_wCP
;
/// Start in Subcarrier index of the SSB block
uint16_t
ssb_start_subcarrier
;
}
NR_DL_FRAME_PARMS
;
}
NR_DL_FRAME_PARMS
;
struct
PHY_VARS_gNB_s
;
struct
PHY_VARS_gNB_s
;
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED_NR/defs.h
View file @
db326bbf
...
@@ -45,5 +45,6 @@ int nr_generate_sss( int16_t *d_sss,
...
@@ -45,5 +45,6 @@ int nr_generate_sss( int16_t *d_sss,
uint8_t
ssb_start_symbol
,
uint8_t
ssb_start_symbol
,
nfapi_config_request_t
*
config
,
nfapi_config_request_t
*
config
,
NR_DL_FRAME_PARMS
*
frame_parms
);
NR_DL_FRAME_PARMS
*
frame_parms
);
void
nr_set_ssb_first_subcarrier
(
nfapi_config_request_t
*
cfg
,
NR_DL_FRAME_PARMS
*
fp
);
#endif
#endif
This diff is collapsed.
Click to expand it.
openair1/SCHED_NR/nr_ru_procedures.c
View file @
db326bbf
...
@@ -32,8 +32,7 @@
...
@@ -32,8 +32,7 @@
#include "PHY/defs.h"
#include "PHY/defs.h"
#include "PHY/extern.h"
#include "PHY/extern.h"
#include "SCHED/defs.h"
#include "SCHED_NR/defs.h"
#include "SCHED/extern.h"
#include "PHY/LTE_TRANSPORT/if4_tools.h"
#include "PHY/LTE_TRANSPORT/if4_tools.h"
#include "PHY/LTE_TRANSPORT/if5_tools.h"
#include "PHY/LTE_TRANSPORT/if5_tools.h"
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED_NR/phy_procedures_nr_common.c
View file @
db326bbf
...
@@ -31,8 +31,7 @@
...
@@ -31,8 +31,7 @@
*/
*/
#include "PHY/defs.h"
#include "PHY/defs.h"
#include "PHY/extern.h"
#include "PHY/extern.h"
#include "SCHED/defs.h"
#include "SCHED_NR/defs.h"
#include "SCHED/extern.h"
nr_subframe_t
nr_subframe_select
(
nfapi_config_request_t
*
cfg
,
unsigned
char
subframe
)
nr_subframe_t
nr_subframe_select
(
nfapi_config_request_t
*
cfg
,
unsigned
char
subframe
)
...
@@ -75,7 +74,8 @@ int nr_get_ssb_start_symbol(nfapi_config_request_t *cfg, NR_DL_FRAME_PARMS *fp)
...
@@ -75,7 +74,8 @@ int nr_get_ssb_start_symbol(nfapi_config_request_t *cfg, NR_DL_FRAME_PARMS *fp)
return
symbol
;
return
symbol
;
}
}
void
nr_set_ssb_first_subcarrier
(
nfapi_config_request_t
*
cfg
)
void
nr_set_ssb_first_subcarrier
(
nfapi_config_request_t
*
cfg
,
NR_DL_FRAME_PARMS
*
fp
)
{
{
cfg
->
sch_config
.
ssb_subcarrier_offset
.
value
=
0
;
int
start_rb
=
cfg
->
sch_config
.
n_ssb_crb
.
value
/
pow
(
2
,
cfg
->
subframe_config
.
numerology_index_mu
.
value
);
fp
->
ssb_start_subcarrier
=
12
*
start_rb
+
cfg
->
sch_config
.
ssb_subcarrier_offset
.
value
;
}
}
This diff is collapsed.
Click to expand it.
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
db326bbf
...
@@ -51,7 +51,7 @@ void nr_common_signal_procedures (PHY_VARS_gNB *gNB,int frame, int subframe) {
...
@@ -51,7 +51,7 @@ void nr_common_signal_procedures (PHY_VARS_gNB *gNB,int frame, int subframe) {
LOG_D
(
PHY
,
"common_signal_procedures: frame %d, subframe %d
\n
"
,
frame
,
subframe
);
LOG_D
(
PHY
,
"common_signal_procedures: frame %d, subframe %d
\n
"
,
frame
,
subframe
);
int
ssb_start_symbol
=
nr_get_ssb_start_symbol
(
cfg
,
fp
);
int
ssb_start_symbol
=
nr_get_ssb_start_symbol
(
cfg
,
fp
);
//nr_set_ssb_first_subcarrier(cfg
);
nr_set_ssb_first_subcarrier
(
cfg
,
fp
);
if
(
subframe
==
ss_subframe
)
if
(
subframe
==
ss_subframe
)
{
{
...
...
This diff is collapsed.
Click to expand it.
targets/RT/USER/nr-ru.c
View file @
db326bbf
...
@@ -814,9 +814,9 @@ void tx_rf(RU_t *ru) {
...
@@ -814,9 +814,9 @@ void tx_rf(RU_t *ru) {
for
(
i
=
0
;
i
<
ru
->
nb_tx
;
i
++
)
for
(
i
=
0
;
i
<
ru
->
nb_tx
;
i
++
)
txp
[
i
]
=
(
void
*
)
&
ru
->
common
.
txdata
[
i
][(
proc
->
subframe_tx
*
fp
->
samples_per_subframe
)
-
sf_extension
];
txp
[
i
]
=
(
void
*
)
&
ru
->
common
.
txdata
[
i
][(
proc
->
subframe_tx
*
fp
->
samples_per_subframe
)
-
sf_extension
];
/*if (proc->subframe_tx ==
9
){
/*if (proc->subframe_tx ==
0
){
write_output("txdataF_frame.m","txdataF_frame",&ru->common.txdataF_BF[i],fp->samples_per_frame_wCP, 1, 1);
write_output("txdataF_frame.m","txdataF_frame",&ru->common.txdataF_BF[i],fp->samples_per_
sub
frame_wCP, 1, 1);
write_output("txdata_frame.m","txdata_frame",&ru->common.txdata[i],fp->samples_per_frame, 1, 1);
write_output("txdata_frame.m","txdata_frame",&ru->common.txdata[i],fp->samples_per_
sub
frame, 1, 1);
}*/
}*/
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_TRX_TST
,
(
proc
->
timestamp_tx
-
ru
->
openair0_cfg
.
tx_sample_advance
)
&
0xffffffff
);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME
(
VCD_SIGNAL_DUMPER_VARIABLES_TRX_TST
,
(
proc
->
timestamp_tx
-
ru
->
openair0_cfg
.
tx_sample_advance
)
&
0xffffffff
);
...
...
This diff is collapsed.
Click to expand it.
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