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
lizhongxiao
OpenXG-RAN
Commits
dee115da
Commit
dee115da
authored
Aug 29, 2018
by
WEI-TAI CHEN
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Change the dl/ul_channel_bandwidth to dl/ul_carrier_bandwidth
parent
7475a22e
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
76 additions
and
81 deletions
+76
-81
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h
+45
-50
openair1/PHY/INIT/nr_init.c
openair1/PHY/INIT/nr_init.c
+14
-14
openair1/PHY/INIT/nr_parms.c
openair1/PHY/INIT/nr_parms.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/config.c
openair2/LAYER2/NR_MAC_gNB/config.c
+4
-4
targets/RT/USER/nr-ru.c
targets/RT/USER/nr-ru.c
+5
-5
targets/RT/USER/nr-softmodem.c
targets/RT/USER/nr-softmodem.c
+7
-7
No files found.
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h
View file @
dee115da
...
@@ -81,17 +81,17 @@ typedef struct
...
@@ -81,17 +81,17 @@ typedef struct
typedef
struct
{
typedef
struct
{
nfapi_tl_t
tl
;
nfapi_tl_t
tl
;
uint16_t
co
ntrolResourceSetId
;
///// L1 parameter 'CORESET-ID'
uint16_t
co
rset_ID
;
///// L1 parameter 'CORESET-ID'
uint16_t
freq
uencyDomainResources
;
///// L1 parameter 'CORESET-freq-dom'
uint16_t
freq
_dom
;
///// L1 parameter 'CORESET-freq-dom'
uint16_t
duration
;
///// L1 parameter 'CORESET-time-duration'
uint16_t
duration
;
///// L1 parameter 'CORESET-time-duration'
uint16_t
cce_REG_MappingT
ype
;
///// L1 parameter 'CORESET-CCE-REG-mapping-type'
uint16_t
reg_t
ype
;
///// L1 parameter 'CORESET-CCE-REG-mapping-type'
uint16_t
reg_
BundleS
ize
;
///// L1 parameter 'CORESET-REG-bundle-size'
uint16_t
reg_
bundles
ize
;
///// L1 parameter 'CORESET-REG-bundle-size'
uint16_t
interleaver
S
ize
;
///// L1 parameter 'CORESET-interleaver-size'
uint16_t
interleaver
s
ize
;
///// L1 parameter 'CORESET-interleaver-size'
uint16_t
shift
I
ndex
;
///// L1 parameter 'CORESET-shift-index'
uint16_t
shift
i
ndex
;
///// L1 parameter 'CORESET-shift-index'
uint16_t
precoder
G
ranularity
;
///// L1 parameter 'CORESET-precoder-granuality'
uint16_t
precoder
g
ranularity
;
///// L1 parameter 'CORESET-precoder-granuality'
uint16_t
TCI_S
tateId
;
///// L1 parameter 'TCI-StatesPDCCH'
uint16_t
tci_s
tateId
;
///// L1 parameter 'TCI-StatesPDCCH'
uint16_t
tci_
PresentInDCI
;
///// L1 parameter 'TCI-PresentInDCI'
uint16_t
tci_
present
;
///// L1 parameter 'TCI-PresentInDCI'
uint16_t
pdcch_DMRS_S
cramblingID
;
///// L1 parameter 'PDCCH-DMRS-Scrambling-ID'
uint16_t
dmrs_s
cramblingID
;
///// L1 parameter 'PDCCH-DMRS-Scrambling-ID'
}
nfapi_nr_ControlResourcesSet_t
;
}
nfapi_nr_ControlResourcesSet_t
;
typedef
struct
{
typedef
struct
{
...
@@ -104,10 +104,9 @@ typedef struct{
...
@@ -104,10 +104,9 @@ typedef struct{
uint16_t
nrofCand_aggLevel4
;
///// L1 parameter 'Aggregation-level-4'
uint16_t
nrofCand_aggLevel4
;
///// L1 parameter 'Aggregation-level-4'
uint16_t
nrofCand_aggLevel8
;
///// L1 parameter 'Aggregation-level-8'
uint16_t
nrofCand_aggLevel8
;
///// L1 parameter 'Aggregation-level-8'
uint16_t
nrofCand_aggLevel16
;
///// L1 parameter 'Aggregation-level-16'
uint16_t
nrofCand_aggLevel16
;
///// L1 parameter 'Aggregation-level-16'
uint16_t
Com_dci_Format2_0_nrofCand_SFI_And_aggLevel
;
///// L1 parameters 'SFI-Num-PDCCH-cand' and 'SFI-Aggregation-Level'
uint16_t
sfi_agg_fmt2_0
;
///// L1 parameters 'SFI-Num-PDCCH-cand' and 'SFI-Aggregation-Level'
uint16_t
Com_dci_Format2_3_monitoringPeriodicity
;
///// L1 parameter 'SRS-monitoring-periodicity'
uint16_t
monitoringperiodicity_fmt2_3
;
///// L1 parameter 'SRS-monitoring-periodicity'
uint16_t
Com_dci_Format2_3_nrofPDCCH_Candidates
;
///// L1 parameter 'SRS-Num-PDCCH-cand'
uint16_t
nrof_candidates_fmt_2_3
;
///// L1 parameter 'SRS-Num-PDCCH-cand'
uint16_t
ue_Specific_dci_Formats
;
}
nfapi_nr_SearchSpace_t
;
}
nfapi_nr_SearchSpace_t
;
...
@@ -127,24 +126,22 @@ typedef struct {
...
@@ -127,24 +126,22 @@ typedef struct {
typedef
struct
{
typedef
struct
{
nfapi_uint16_tlv_t
tx_antenna_ports
;
nfapi_uint16_tlv_t
tx_antenna_ports
;
nfapi_uint16_tlv_t
rx_antenna_ports
;
nfapi_uint16_tlv_t
rx_antenna_ports
;
nfapi_uint16_tlv_t
dl_channel_bandwidth
;
nfapi_uint16_tlv_t
dl_carrier_bandwidth
;
nfapi_uint16_tlv_t
ul_channel_bandwidth
;
nfapi_uint16_tlv_t
ul_carrier_bandwidth
;
nfapi_uint16_tlv_t
dl_BWP_carrierBandwidth
;
nfapi_uint16_tlv_t
dl_bwp_subcarrierspacing
;
nfapi_uint16_tlv_t
ul_BWP_carrierBandwidth
;
nfapi_uint16_tlv_t
ul_bwp_subcarrierspacing
;
nfapi_uint16_tlv_t
dl_locationAndBandwidth
;
nfapi_uint16_tlv_t
dl_locationandbandwidth
;
nfapi_uint16_tlv_t
ul_locationAndBandwidth
;
nfapi_uint16_tlv_t
ul_locationandbandwidth
;
nfapi_uint16_tlv_t
dl_BWP_SubcarrierSpacing
;
nfapi_uint16_tlv_t
dl_absolutefrequencypointA
;
nfapi_uint16_tlv_t
ul_BWP_SubcarrierSpacing
;
nfapi_uint16_tlv_t
ul_absolutefrequencypointA
;
nfapi_uint16_tlv_t
dl_absoluteFrequencyPointA
;
nfapi_uint16_tlv_t
dl_offsettocarrier
;
nfapi_uint16_tlv_t
ul_absoluteFrequencyPointA
;
nfapi_uint16_tlv_t
ul_offsettocarrier
;
nfapi_uint16_tlv_t
dl_offsetToCarrier
;
nfapi_uint16_tlv_t
dl_scs_subcarrierspacing
;
nfapi_uint16_tlv_t
ul_offsetToCarrier
;
nfapi_uint16_tlv_t
ul_scs_subcarrierspacing
;
nfapi_uint16_tlv_t
dl_SCS_SubcarrierSpacing
;
nfapi_uint16_tlv_t
dl_scs_specificcarrier_k0
;
nfapi_uint16_tlv_t
ul_SCS_SubcarrierSpacing
;
nfapi_uint16_tlv_t
ul_scs_specificcarrier_k0
;
nfapi_uint16_tlv_t
dl_SCS_SpecificCarrier_k0
;
nfapi_uint16_tlv_t
NIA_subcarrierspacing
;
nfapi_uint16_tlv_t
ul_SCS_SpecificCarrier_k0
;
nfapi_uint16_tlv_t
NIA_SubcarrierSpacing
;
}
nfapi_nr_rf_config_t
;
}
nfapi_nr_rf_config_t
;
#define NFAPI_NR_RF_CONFIG_DL_CHANNEL_BANDWIDTH_TAG 0x500A
#define NFAPI_NR_RF_CONFIG_DL_CHANNEL_BANDWIDTH_TAG 0x500A
...
@@ -215,35 +212,33 @@ typedef struct {
...
@@ -215,35 +212,33 @@ typedef struct {
typedef
struct
{
typedef
struct
{
//NR TDD-UL-DL-ConfigCommon ///// L1 parameter 'UL-DL-configuration-common'
//NR TDD-UL-DL-ConfigCommon ///// L1 parameter 'UL-DL-configuration-common'
nfapi_uint16_tlv_t
referenceSubcarrierS
pacing
;
///// L1 parameter 'reference-SCS'
nfapi_uint16_tlv_t
subcarriers
pacing
;
///// L1 parameter 'reference-SCS'
nfapi_uint16_tlv_t
dl_
UL_TransmissionP
eriodicity
;
///// L1 parameter 'DL-UL-transmission-periodicity'
nfapi_uint16_tlv_t
dl_
ul_p
eriodicity
;
///// L1 parameter 'DL-UL-transmission-periodicity'
nfapi_uint16_tlv_t
nrofDownlinkSlots
;
///// L1 parameter 'number-of-DL-slots'
nfapi_uint16_tlv_t
nrofDownlinkSlots
;
///// L1 parameter 'number-of-DL-slots'
nfapi_uint16_tlv_t
nrofDownlinkSymbols
;
///// L1 parameter 'number-of-DL-symbols-common'
nfapi_uint16_tlv_t
nrofDownlinkSymbols
;
///// L1 parameter 'number-of-DL-symbols-common'
nfapi_uint16_tlv_t
nrofUplinkSlots
;
///// L1 parameter 'number-of-UL-slots'
nfapi_uint16_tlv_t
nrofUplinkSlots
;
///// L1 parameter 'number-of-UL-slots'
nfapi_uint16_tlv_t
nrofUplinkSymbols
;
///// L1 parameter 'number-of-UL-symbols-common'
nfapi_uint16_tlv_t
nrofUplinkSymbols
;
///// L1 parameter 'number-of-UL-symbols-common'
}
nfapi_nr_tdd_ul_dl_config_t
;
}
nfapi_nr_tdd_ul_dl_config_t
;
typedef
struct
{
typedef
struct
{
//RateMatchPattern is used to configure one rate matching pattern for PDSCH ///// L1 parameter 'Resource-set-cekk'
//RateMatchPattern is used to configure one rate matching pattern for PDSCH ///// L1 parameter 'Resource-set-cekk'
nfapi_uint16_tlv_t
rateMatchPattern
Id
;
nfapi_uint16_tlv_t
Match_
Id
;
nfapi_uint16_tlv_t
RateMatchPattern_
patternType
;
nfapi_uint16_tlv_t
patternType
;
nfapi_uint16_tlv_t
symbolsInResourceBlock
;
///// L1 parameter 'rate-match-PDSCH-bitmap2
nfapi_uint16_tlv_t
symbolsInResourceBlock
;
///// L1 parameter 'rate-match-PDSCH-bitmap2
nfapi_uint16_tlv_t
periodicityAndPattern
;
///// L1 parameter 'rate-match-PDSCH-bitmap3'
nfapi_uint16_tlv_t
periodicityAndPattern
;
///// L1 parameter 'rate-match-PDSCH-bitmap3'
nfapi_uint16_tlv_t
RateMatchPattern_
controlResourceSet
;
nfapi_uint16_tlv_t
controlResourceSet
;
nfapi_uint16_tlv_t
RateMatchPattern_subcarrierSpacing
;
///// L1 parameter 'resource-pattern-scs'
nfapi_uint16_tlv_t
subcarrierSpacing
;
///// L1 parameter 'resource-pattern-scs'
nfapi_uint16_tlv_t
RateMatchPattern_
mode
;
nfapi_uint16_tlv_t
mode
;
}
nfapi_nr_ratematchpattern_t
;
}
nfapi_nr_ratematchpattern_t
;
typedef
struct
{
typedef
struct
{
//NR RateMatchPatternLTE-CRS
//NR RateMatchPatternLTE-CRS
nfapi_uint16_tlv_t
RateMatchPatternLTE_CRS_carrierFreqDL
;
///// L1 parameter 'center-subcarrier-location'
nfapi_uint16_tlv_t
carrierfreqDL
;
///// L1 parameter 'center-subcarrier-location'
nfapi_uint16_tlv_t
RateMatchPatternLTE_CRS_carrierBandwidthDL
;
///// L1 parameter 'BW'
nfapi_uint16_tlv_t
dl_bandwidth
;
///// L1 parameter 'BW'
nfapi_uint16_tlv_t
RateMatchPatternLTE_CRS_nrofCRS_Ports
;
///// L1 parameter 'rate-match-resources-numb-LTE-CRS-antenna-port'
nfapi_uint16_tlv_t
nrofcrs_Ports
;
///// L1 parameter 'rate-match-resources-numb-LTE-CRS-antenna-port'
nfapi_uint16_tlv_t
RateMatchPatternLTE_CRS_v_Shift
;
///// L1 parameter 'rate-match-resources-LTE-CRS-v-shift'
nfapi_uint16_tlv_t
v_Shift
;
///// L1 parameter 'rate-match-resources-LTE-CRS-v-shift'
nfapi_uint16_tlv_t
RateMatchPatternLTE_CRS_radioframeAllocationPeriod
;
nfapi_uint16_tlv_t
frame_Period
;
nfapi_uint16_tlv_t
RateMatchPatternLTE_CRS_radioframeAllocationOffset
;
nfapi_uint16_tlv_t
frame_Offset
;
nfapi_uint16_tlv_t
RateMatchPatternLTE_CRS_subframeAllocation_choice
;
}
nfapi_nr_ratematchpattern_lte_crs_t
;
}
nfapi_nr_ratematchpattern_lte_crs_t
;
typedef
struct
{
typedef
struct
{
...
@@ -406,7 +401,7 @@ typedef struct {
...
@@ -406,7 +401,7 @@ typedef struct {
typedef
struct
{
typedef
struct
{
nfapi_tl_t
tl
;
nfapi_tl_t
tl
;
uint16_t
length
;
uint16_t
length
;
int16_t
pdu_index
;
int16_t
pdu_index
;
uint16_t
transmission_power
;
uint16_t
transmission_power
;
}
nfapi_nr_dl_config_bch_pdu_rel15_t
;
}
nfapi_nr_dl_config_bch_pdu_rel15_t
;
#define NFAPI_NR_DL_CONFIG_REQUEST_BCH_PDU_REL15_TAG 0x5025
#define NFAPI_NR_DL_CONFIG_REQUEST_BCH_PDU_REL15_TAG 0x5025
...
...
openair1/PHY/INIT/nr_init.c
View file @
dee115da
...
@@ -203,13 +203,13 @@ int phy_init_nr_gNB(PHY_VARS_gNB *gNB,
...
@@ -203,13 +203,13 @@ int phy_init_nr_gNB(PHY_VARS_gNB *gNB,
for
(
i
=
0
;
i
<
2
;
i
++
)
{
for
(
i
=
0
;
i
<
2
;
i
++
)
{
// RK 2 times because of output format of FFT!
// RK 2 times because of output format of FFT!
// FIXME We should get rid of this
// FIXME We should get rid of this
pusch_vars
[
UE_id
]
->
rxdataF_ext
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
sizeof
(
int32_t
)
*
cfg
->
rf_config
.
ul_c
hannel
_bandwidth
.
value
*
12
*
fp
->
symbols_per_slot
);
pusch_vars
[
UE_id
]
->
rxdataF_ext
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
sizeof
(
int32_t
)
*
cfg
->
rf_config
.
ul_c
arrier
_bandwidth
.
value
*
12
*
fp
->
symbols_per_slot
);
pusch_vars
[
UE_id
]
->
rxdataF_ext2
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
sizeof
(
int32_t
)
*
cfg
->
rf_config
.
ul_c
hannel
_bandwidth
.
value
*
12
*
fp
->
symbols_per_slot
);
pusch_vars
[
UE_id
]
->
rxdataF_ext2
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
sizeof
(
int32_t
)
*
cfg
->
rf_config
.
ul_c
arrier
_bandwidth
.
value
*
12
*
fp
->
symbols_per_slot
);
pusch_vars
[
UE_id
]
->
drs_ch_estimates
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
sizeof
(
int32_t
)
*
cfg
->
rf_config
.
ul_c
hannel
_bandwidth
.
value
*
12
*
fp
->
symbols_per_slot
);
pusch_vars
[
UE_id
]
->
drs_ch_estimates
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
sizeof
(
int32_t
)
*
cfg
->
rf_config
.
ul_c
arrier
_bandwidth
.
value
*
12
*
fp
->
symbols_per_slot
);
pusch_vars
[
UE_id
]
->
drs_ch_estimates_time
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
2
*
sizeof
(
int32_t
)
*
fp
->
ofdm_symbol_size
);
pusch_vars
[
UE_id
]
->
drs_ch_estimates_time
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
2
*
sizeof
(
int32_t
)
*
fp
->
ofdm_symbol_size
);
pusch_vars
[
UE_id
]
->
rxdataF_comp
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
sizeof
(
int32_t
)
*
cfg
->
rf_config
.
ul_c
hannel
_bandwidth
.
value
*
12
*
fp
->
symbols_per_slot
);
pusch_vars
[
UE_id
]
->
rxdataF_comp
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
sizeof
(
int32_t
)
*
cfg
->
rf_config
.
ul_c
arrier
_bandwidth
.
value
*
12
*
fp
->
symbols_per_slot
);
pusch_vars
[
UE_id
]
->
ul_ch_mag
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
symbols_per_slot
*
sizeof
(
int32_t
)
*
cfg
->
rf_config
.
ul_c
hannel
_bandwidth
.
value
*
12
);
pusch_vars
[
UE_id
]
->
ul_ch_mag
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
symbols_per_slot
*
sizeof
(
int32_t
)
*
cfg
->
rf_config
.
ul_c
arrier
_bandwidth
.
value
*
12
);
pusch_vars
[
UE_id
]
->
ul_ch_magb
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
symbols_per_slot
*
sizeof
(
int32_t
)
*
cfg
->
rf_config
.
ul_c
hannel
_bandwidth
.
value
*
12
);
pusch_vars
[
UE_id
]
->
ul_ch_magb
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
symbols_per_slot
*
sizeof
(
int32_t
)
*
cfg
->
rf_config
.
ul_c
arrier
_bandwidth
.
value
*
12
);
}
}
pusch_vars
[
UE_id
]
->
llr
=
(
int16_t
*
)
malloc16_clear
(
(
8
*
((
3
*
8
*
6144
)
+
12
))
*
sizeof
(
int16_t
)
);
pusch_vars
[
UE_id
]
->
llr
=
(
int16_t
*
)
malloc16_clear
(
(
8
*
((
3
*
8
*
6144
)
+
12
))
*
sizeof
(
int16_t
)
);
...
@@ -235,8 +235,8 @@ void phy_config_request(PHY_Config_t *phy_config) {
...
@@ -235,8 +235,8 @@ void phy_config_request(PHY_Config_t *phy_config) {
NR_DL_FRAME_PARMS *fp;
NR_DL_FRAME_PARMS *fp;
PHICH_RESOURCE_t phich_resource_table[4]={oneSixth,half,one,two};
PHICH_RESOURCE_t phich_resource_table[4]={oneSixth,half,one,two};
int eutra_band = cfg->nfapi_config.rf_bands.rf_band[0];
int eutra_band = cfg->nfapi_config.rf_bands.rf_band[0];
int dl_Bandwidth = cfg->rf_config.dl_c
hannel
_bandwidth.value;
int dl_Bandwidth = cfg->rf_config.dl_c
arrier
_bandwidth.value;
int ul_Bandwidth = cfg->rf_config.ul_c
hannel
_bandwidth.value;
int ul_Bandwidth = cfg->rf_config.ul_c
arrier
_bandwidth.value;
int Nid_cell = cfg->sch_config.physical_cell_id.value;
int Nid_cell = cfg->sch_config.physical_cell_id.value;
int Ncp = cfg->subframe_config.dl_cyclic_prefix_type.value;
int Ncp = cfg->subframe_config.dl_cyclic_prefix_type.value;
int p_eNB = cfg->rf_config.tx_antenna_ports.value;
int p_eNB = cfg->rf_config.tx_antenna_ports.value;
...
@@ -353,8 +353,8 @@ void install_schedule_handlers(IF_Module_t *if_inst)
...
@@ -353,8 +353,8 @@ void install_schedule_handlers(IF_Module_t *if_inst)
gNB_config->subframe_config.numerology_index_mu.value = 1;
gNB_config->subframe_config.numerology_index_mu.value = 1;
gNB_config->subframe_config.duplex_mode.value = FDD;
gNB_config->subframe_config.duplex_mode.value = FDD;
gNB_config->rf_config.tx_antenna_ports.value = 1;
gNB_config->rf_config.tx_antenna_ports.value = 1;
gNB_config->rf_config.dl_c
hannel
_bandwidth.value = 106;
gNB_config->rf_config.dl_c
arrier
_bandwidth.value = 106;
gNB_config->rf_config.ul_c
hannel
_bandwidth.value = 106;
gNB_config->rf_config.ul_c
arrier
_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.n_ssb_crb.value = 86;
...
@@ -388,8 +388,8 @@ void nr_phy_config_request(NR_PHY_Config_t *phy_config)
...
@@ -388,8 +388,8 @@ void nr_phy_config_request(NR_PHY_Config_t *phy_config)
gNB_config
->
nfapi_config
.
earfcn
.
value
=
phy_config
->
cfg
->
nfapi_config
.
earfcn
.
value
;
//6600
gNB_config
->
nfapi_config
.
earfcn
.
value
=
phy_config
->
cfg
->
nfapi_config
.
earfcn
.
value
;
//6600
gNB_config
->
subframe_config
.
numerology_index_mu
.
value
=
phy_config
->
cfg
->
subframe_config
.
numerology_index_mu
.
value
;
//1
gNB_config
->
subframe_config
.
numerology_index_mu
.
value
=
phy_config
->
cfg
->
subframe_config
.
numerology_index_mu
.
value
;
//1
gNB_config
->
rf_config
.
tx_antenna_ports
.
value
=
phy_config
->
cfg
->
rf_config
.
tx_antenna_ports
.
value
;
//1
gNB_config
->
rf_config
.
tx_antenna_ports
.
value
=
phy_config
->
cfg
->
rf_config
.
tx_antenna_ports
.
value
;
//1
gNB_config
->
rf_config
.
dl_c
hannel_bandwidth
.
value
=
phy_config
->
cfg
->
rf_config
.
dl_channel
_bandwidth
.
value
;
//106;
gNB_config
->
rf_config
.
dl_c
arrier_bandwidth
.
value
=
phy_config
->
cfg
->
rf_config
.
dl_carrier
_bandwidth
.
value
;
//106;
gNB_config
->
rf_config
.
ul_c
hannel_bandwidth
.
value
=
phy_config
->
cfg
->
rf_config
.
ul_channel
_bandwidth
.
value
;
//106;
gNB_config
->
rf_config
.
ul_c
arrier_bandwidth
.
value
=
phy_config
->
cfg
->
rf_config
.
ul_carrier
_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
=
phy_config
->
cfg
->
sch_config
.
ssb_subcarrier_offset
.
value
;
//0;
gNB_config
->
sch_config
.
ssb_subcarrier_offset
.
value
=
phy_config
->
cfg
->
sch_config
.
ssb_subcarrier_offset
.
value
;
//0;
gNB_config
->
sch_config
.
n_ssb_crb
.
value
=
86
;
gNB_config
->
sch_config
.
n_ssb_crb
.
value
=
86
;
...
@@ -412,8 +412,8 @@ void nr_phy_config_request(NR_PHY_Config_t *phy_config)
...
@@ -412,8 +412,8 @@ void nr_phy_config_request(NR_PHY_Config_t *phy_config)
Mod_id
,
Mod_id
,
CC_id
,
CC_id
,
gNB_config
->
nfapi_config
.
rf_bands
.
rf_band
[
0
],
gNB_config
->
nfapi_config
.
rf_bands
.
rf_band
[
0
],
gNB_config
->
rf_config
.
dl_c
hannel
_bandwidth
.
value
,
gNB_config
->
rf_config
.
dl_c
arrier
_bandwidth
.
value
,
gNB_config
->
rf_config
.
ul_c
hannel
_bandwidth
.
value
,
gNB_config
->
rf_config
.
ul_c
arrier
_bandwidth
.
value
,
gNB_config
->
sch_config
.
physical_cell_id
.
value
,
gNB_config
->
sch_config
.
physical_cell_id
.
value
,
gNB_config
->
rf_config
.
tx_antenna_ports
.
value
,
gNB_config
->
rf_config
.
tx_antenna_ports
.
value
,
fp
->
dl_CarrierFreq
);
fp
->
dl_CarrierFreq
);
...
...
openair1/PHY/INIT/nr_parms.c
View file @
dee115da
...
@@ -30,7 +30,7 @@ int nr_init_frame_parms(nfapi_nr_config_request_t* config,
...
@@ -30,7 +30,7 @@ int nr_init_frame_parms(nfapi_nr_config_request_t* config,
NR_DL_FRAME_PARMS
*
frame_parms
)
NR_DL_FRAME_PARMS
*
frame_parms
)
{
{
int
N_RB
=
config
->
rf_config
.
dl_c
hannel
_bandwidth
.
value
;
int
N_RB
=
config
->
rf_config
.
dl_c
arrier
_bandwidth
.
value
;
int
Ncp
=
config
->
subframe_config
.
dl_cyclic_prefix_type
.
value
;
int
Ncp
=
config
->
subframe_config
.
dl_cyclic_prefix_type
.
value
;
int
mu
=
config
->
subframe_config
.
numerology_index_mu
.
value
;
int
mu
=
config
->
subframe_config
.
numerology_index_mu
.
value
;
...
...
openair2/LAYER2/NR_MAC_gNB/config.c
View file @
dee115da
...
@@ -194,13 +194,13 @@ void config_common(int Mod_idP,
...
@@ -194,13 +194,13 @@ void config_common(int Mod_idP,
//cfg->subframe_config.tl.tag =
//cfg->subframe_config.tl.tag =
//cfg->num_tlv++;
//cfg->num_tlv++;
cfg
->
rf_config
.
dl_c
hannel
_bandwidth
.
value
=
dl_BandwidthP
;
cfg
->
rf_config
.
dl_c
arrier
_bandwidth
.
value
=
dl_BandwidthP
;
cfg
->
rf_config
.
dl_c
hannel
_bandwidth
.
tl
.
tag
=
NFAPI_RF_CONFIG_DL_CHANNEL_BANDWIDTH_TAG
;
//temporary
cfg
->
rf_config
.
dl_c
arrier
_bandwidth
.
tl
.
tag
=
NFAPI_RF_CONFIG_DL_CHANNEL_BANDWIDTH_TAG
;
//temporary
cfg
->
num_tlv
++
;
cfg
->
num_tlv
++
;
LOG_I
(
PHY
,
"%s() dl_BandwidthP:%d
\n
"
,
__FUNCTION__
,
dl_BandwidthP
);
LOG_I
(
PHY
,
"%s() dl_BandwidthP:%d
\n
"
,
__FUNCTION__
,
dl_BandwidthP
);
cfg
->
rf_config
.
ul_c
hannel
_bandwidth
.
value
=
dl_BandwidthP
;
cfg
->
rf_config
.
ul_c
arrier
_bandwidth
.
value
=
dl_BandwidthP
;
cfg
->
rf_config
.
ul_c
hannel
_bandwidth
.
tl
.
tag
=
NFAPI_RF_CONFIG_UL_CHANNEL_BANDWIDTH_TAG
;
//temporary
cfg
->
rf_config
.
ul_c
arrier
_bandwidth
.
tl
.
tag
=
NFAPI_RF_CONFIG_UL_CHANNEL_BANDWIDTH_TAG
;
//temporary
cfg
->
num_tlv
++
;
cfg
->
num_tlv
++
;
//cfg->sch_config.half_frame_index.value = 0; Fix in PHY
//cfg->sch_config.half_frame_index.value = 0; Fix in PHY
...
...
targets/RT/USER/nr-ru.c
View file @
dee115da
...
@@ -1181,7 +1181,7 @@ void fill_rf_config(RU_t *ru, char *rf_config_file) {
...
@@ -1181,7 +1181,7 @@ void fill_rf_config(RU_t *ru, char *rf_config_file) {
NR_DL_FRAME_PARMS
*
fp
=
ru
->
nr_frame_parms
;
NR_DL_FRAME_PARMS
*
fp
=
ru
->
nr_frame_parms
;
nfapi_nr_config_request_t
*
gNB_config
=
&
ru
->
gNB_list
[
0
]
->
gNB_config
;
//tmp index
nfapi_nr_config_request_t
*
gNB_config
=
&
ru
->
gNB_list
[
0
]
->
gNB_config
;
//tmp index
openair0_config_t
*
cfg
=
&
ru
->
openair0_cfg
;
openair0_config_t
*
cfg
=
&
ru
->
openair0_cfg
;
int
N_RB
=
gNB_config
->
rf_config
.
dl_c
hannel
_bandwidth
.
value
;
int
N_RB
=
gNB_config
->
rf_config
.
dl_c
arrier
_bandwidth
.
value
;
int
mu
=
gNB_config
->
subframe_config
.
numerology_index_mu
.
value
;
int
mu
=
gNB_config
->
subframe_config
.
numerology_index_mu
.
value
;
if
(
mu
==
NR_MU_0
)
{
//or if LTE
if
(
mu
==
NR_MU_0
)
{
//or if LTE
...
@@ -1867,8 +1867,8 @@ void configure_ru(int idx,
...
@@ -1867,8 +1867,8 @@ void configure_ru(int idx,
//config->tdd_config_S[0] = ru->nr_frame_parms->tdd_config_S;
//config->tdd_config_S[0] = ru->nr_frame_parms->tdd_config_S;
config
->
att_tx
[
0
]
=
ru
->
att_tx
;
config
->
att_tx
[
0
]
=
ru
->
att_tx
;
config
->
att_rx
[
0
]
=
ru
->
att_rx
;
config
->
att_rx
[
0
]
=
ru
->
att_rx
;
config
->
N_RB_DL
[
0
]
=
gNB_config
->
rf_config
.
dl_c
hannel
_bandwidth
.
value
;
config
->
N_RB_DL
[
0
]
=
gNB_config
->
rf_config
.
dl_c
arrier
_bandwidth
.
value
;
config
->
N_RB_UL
[
0
]
=
gNB_config
->
rf_config
.
ul_c
hannel
_bandwidth
.
value
;
config
->
N_RB_UL
[
0
]
=
gNB_config
->
rf_config
.
ul_c
arrier
_bandwidth
.
value
;
config
->
threequarter_fs
[
0
]
=
ru
->
nr_frame_parms
->
threequarter_fs
;
config
->
threequarter_fs
[
0
]
=
ru
->
nr_frame_parms
->
threequarter_fs
;
/* if (ru->if_south==REMOTE_IF4p5) {
/* if (ru->if_south==REMOTE_IF4p5) {
config->prach_FreqOffset[0] = ru->nr_frame_parms->prach_config_common.prach_ConfigInfo.prach_FreqOffset;
config->prach_FreqOffset[0] = ru->nr_frame_parms->prach_config_common.prach_ConfigInfo.prach_FreqOffset;
...
@@ -1899,8 +1899,8 @@ void configure_rru(int idx,
...
@@ -1899,8 +1899,8 @@ void configure_rru(int idx,
gNB_config
->
subframe_config
.
duplex_mode
.
value
=
FDD
;
gNB_config
->
subframe_config
.
duplex_mode
.
value
=
FDD
;
ru
->
att_tx
=
config
->
att_tx
[
0
];
ru
->
att_tx
=
config
->
att_tx
[
0
];
ru
->
att_rx
=
config
->
att_rx
[
0
];
ru
->
att_rx
=
config
->
att_rx
[
0
];
gNB_config
->
rf_config
.
dl_c
hannel
_bandwidth
.
value
=
config
->
N_RB_DL
[
0
];
gNB_config
->
rf_config
.
dl_c
arrier
_bandwidth
.
value
=
config
->
N_RB_DL
[
0
];
gNB_config
->
rf_config
.
ul_c
hannel
_bandwidth
.
value
=
config
->
N_RB_UL
[
0
];
gNB_config
->
rf_config
.
ul_c
arrier
_bandwidth
.
value
=
config
->
N_RB_UL
[
0
];
ru
->
nr_frame_parms
->
threequarter_fs
=
config
->
threequarter_fs
[
0
];
ru
->
nr_frame_parms
->
threequarter_fs
=
config
->
threequarter_fs
[
0
];
//ru->nr_frame_parms->pdsch_config_common.referenceSignalPower = ru->max_pdschReferenceSignalPower-config->att_tx[0];
//ru->nr_frame_parms->pdsch_config_common.referenceSignalPower = ru->max_pdschReferenceSignalPower-config->att_tx[0];
if
(
ru
->
function
==
NGFI_RRU_IF4p5
)
{
if
(
ru
->
function
==
NGFI_RRU_IF4p5
)
{
...
...
targets/RT/USER/nr-softmodem.c
View file @
dee115da
...
@@ -574,8 +574,8 @@ void set_default_frame_parms(nfapi_nr_config_request_t *config[MAX_NUM_CCs], NR_
...
@@ -574,8 +574,8 @@ void set_default_frame_parms(nfapi_nr_config_request_t *config[MAX_NUM_CCs], NR_
config
[
CC_id
]
->
subframe_config
.
numerology_index_mu
.
value
=
1
;
config
[
CC_id
]
->
subframe_config
.
numerology_index_mu
.
value
=
1
;
config
[
CC_id
]
->
subframe_config
.
duplex_mode
.
value
=
1
;
//FDD
config
[
CC_id
]
->
subframe_config
.
duplex_mode
.
value
=
1
;
//FDD
config
[
CC_id
]
->
subframe_config
.
dl_cyclic_prefix_type
.
value
=
0
;
//NORMAL
config
[
CC_id
]
->
subframe_config
.
dl_cyclic_prefix_type
.
value
=
0
;
//NORMAL
config
[
CC_id
]
->
rf_config
.
dl_c
hannel
_bandwidth
.
value
=
106
;
config
[
CC_id
]
->
rf_config
.
dl_c
arrier
_bandwidth
.
value
=
106
;
config
[
CC_id
]
->
rf_config
.
ul_c
hannel
_bandwidth
.
value
=
106
;
config
[
CC_id
]
->
rf_config
.
ul_c
arrier
_bandwidth
.
value
=
106
;
config
[
CC_id
]
->
rf_config
.
tx_antenna_ports
.
value
=
1
;
config
[
CC_id
]
->
rf_config
.
tx_antenna_ports
.
value
=
1
;
config
[
CC_id
]
->
rf_config
.
rx_antenna_ports
.
value
=
1
;
config
[
CC_id
]
->
rf_config
.
rx_antenna_ports
.
value
=
1
;
config
[
CC_id
]
->
sch_config
.
physical_cell_id
.
value
=
0
;
config
[
CC_id
]
->
sch_config
.
physical_cell_id
.
value
=
0
;
...
@@ -633,7 +633,7 @@ void init_openair0(void) {
...
@@ -633,7 +633,7 @@ void init_openair0(void) {
openair0_cfg[card].mmapped_dma=mmapped_dma;
openair0_cfg[card].mmapped_dma=mmapped_dma;
openair0_cfg[card].configFilename = NULL;
openair0_cfg[card].configFilename = NULL;
if(config[0]->rf_config.dl_c
hannel
_bandwidth.value == 100) {
if(config[0]->rf_config.dl_c
arrier
_bandwidth.value == 100) {
if (frame_parms[0]->threequarter_fs) {
if (frame_parms[0]->threequarter_fs) {
openair0_cfg[card].sample_rate=23.04e6;
openair0_cfg[card].sample_rate=23.04e6;
openair0_cfg[card].samples_per_frame = 230400;
openair0_cfg[card].samples_per_frame = 230400;
...
@@ -645,17 +645,17 @@ void init_openair0(void) {
...
@@ -645,17 +645,17 @@ void init_openair0(void) {
openair0_cfg[card].tx_bw = 10e6;
openair0_cfg[card].tx_bw = 10e6;
openair0_cfg[card].rx_bw = 10e6;
openair0_cfg[card].rx_bw = 10e6;
}
}
} else if(config[0]->rf_config.dl_c
hannel
_bandwidth.value == 50) {
} else if(config[0]->rf_config.dl_c
arrier
_bandwidth.value == 50) {
openair0_cfg[card].sample_rate=15.36e6;
openair0_cfg[card].sample_rate=15.36e6;
openair0_cfg[card].samples_per_frame = 153600;
openair0_cfg[card].samples_per_frame = 153600;
openair0_cfg[card].tx_bw = 5e6;
openair0_cfg[card].tx_bw = 5e6;
openair0_cfg[card].rx_bw = 5e6;
openair0_cfg[card].rx_bw = 5e6;
} else if (config[0]->rf_config.dl_c
hannel
_bandwidth.value == 25) {
} else if (config[0]->rf_config.dl_c
arrier
_bandwidth.value == 25) {
openair0_cfg[card].sample_rate=7.68e6;
openair0_cfg[card].sample_rate=7.68e6;
openair0_cfg[card].samples_per_frame = 76800;
openair0_cfg[card].samples_per_frame = 76800;
openair0_cfg[card].tx_bw = 2.5e6;
openair0_cfg[card].tx_bw = 2.5e6;
openair0_cfg[card].rx_bw = 2.5e6;
openair0_cfg[card].rx_bw = 2.5e6;
} else if (config[0]->rf_config.dl_c
hannel
_bandwidth.value == 6) {
} else if (config[0]->rf_config.dl_c
arrier
_bandwidth.value == 6) {
openair0_cfg[card].sample_rate=1.92e6;
openair0_cfg[card].sample_rate=1.92e6;
openair0_cfg[card].samples_per_frame = 19200;
openair0_cfg[card].samples_per_frame = 19200;
openair0_cfg[card].tx_bw = 1.5e6;
openair0_cfg[card].tx_bw = 1.5e6;
...
@@ -673,7 +673,7 @@ void init_openair0(void) {
...
@@ -673,7 +673,7 @@ void init_openair0(void) {
RC.gNB[0][0]->gNB_config.rf_config.tx_antenna_ports.value );
RC.gNB[0][0]->gNB_config.rf_config.tx_antenna_ports.value );
openair0_cfg[card].Mod_id = 0;
openair0_cfg[card].Mod_id = 0;
openair0_cfg[card].num_rb_dl=config[0]->rf_config.dl_c
hannel
_bandwidth.value;
openair0_cfg[card].num_rb_dl=config[0]->rf_config.dl_c
arrier
_bandwidth.value;
openair0_cfg[card].clock_source = clock_source;
openair0_cfg[card].clock_source = clock_source;
...
...
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