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
a0b3edd4
Commit
a0b3edd4
authored
Dec 05, 2023
by
Thomas Schlichter
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add support for band 255 and 256 according to TS 38.108
parent
7155c4b3
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
14 additions
and
8 deletions
+14
-8
common/utils/nr/nr_common.c
common/utils/nr/nr_common.c
+4
-2
openair1/PHY/INIT/nr_parms.c
openair1/PHY/INIT/nr_parms.c
+3
-2
openair2/GNB_APP/gnb_config.c
openair2/GNB_APP/gnb_config.c
+3
-0
openair2/LAYER2/NR_MAC_UE/config_ue.c
openair2/LAYER2/NR_MAC_UE/config_ue.c
+2
-2
openair2/LAYER2/NR_MAC_gNB/config.c
openair2/LAYER2/NR_MAC_gNB/config.c
+1
-1
openair2/RRC/NR/nr_rrc_config.c
openair2/RRC/NR/nr_rrc_config.c
+1
-1
No files found.
common/utils/nr/nr_common.c
View file @
a0b3edd4
...
@@ -57,8 +57,8 @@ int get_supported_band_index(int scs, int band, int n_rbs)
...
@@ -57,8 +57,8 @@ int get_supported_band_index(int scs, int band, int n_rbs)
}
}
// Table 5.2-1 NR operating bands in FR1 & FR2 (3GPP TS 38.101)
// Table 5.2-1 NR operating bands in FR1 & FR2 (3GPP TS 38.101
and TS 38.108
)
// Table 5.4.2.3-1 Applicable NR-ARFCN per operating band in FR1 & FR2 (3GPP TS 38.101)
// Table 5.4.2.3-1 Applicable NR-ARFCN per operating band in FR1 & FR2 (3GPP TS 38.101
and TS 38.108
)
// Notes:
// Notes:
// - N_OFFs for bands from 80 to 89 and band 95 is referred to UL
// - N_OFFs for bands from 80 to 89 and band 95 is referred to UL
// - Frequencies are expressed in KHz
// - Frequencies are expressed in KHz
...
@@ -120,6 +120,8 @@ const nr_bandentry_t nr_bandtable[] = {
...
@@ -120,6 +120,8 @@ const nr_bandentry_t nr_bandtable[] = {
{
94
,
880000
,
915000
,
1432000
,
1517000
,
20
,
286400
,
100
},
{
94
,
880000
,
915000
,
1432000
,
1517000
,
20
,
286400
,
100
},
{
95
,
2010000
,
2025000
,
000
,
000
,
20
,
402000
,
100
},
{
95
,
2010000
,
2025000
,
000
,
000
,
20
,
402000
,
100
},
{
96
,
5925000
,
7125000
,
5925000
,
7125000
,
1
,
795000
,
15
},
{
96
,
5925000
,
7125000
,
5925000
,
7125000
,
1
,
795000
,
15
},
{
255
,
1626500
,
1660500
,
1525000
,
1559000
,
20
,
305000
,
100
},
{
256
,
1980000
,
2010000
,
2170000
,
2200000
,
20
,
434000
,
100
},
{
257
,
26500020
,
29500000
,
26500020
,
29500000
,
1
,
2054166
,
60
},
{
257
,
26500020
,
29500000
,
26500020
,
29500000
,
1
,
2054166
,
60
},
{
257
,
26500080
,
29500000
,
26500080
,
29500000
,
2
,
2054167
,
120
},
{
257
,
26500080
,
29500000
,
26500080
,
29500000
,
2
,
2054167
,
120
},
{
258
,
24250080
,
27500000
,
24250080
,
27500000
,
1
,
2016667
,
60
},
{
258
,
24250080
,
27500000
,
24250080
,
27500000
,
1
,
2016667
,
60
},
...
...
openair1/PHY/INIT/nr_parms.c
View file @
a0b3edd4
...
@@ -29,7 +29,7 @@ static const uint32_t nr_subcarrier_spacing[MAX_NUM_SUBCARRIER_SPACING] = {15e3,
...
@@ -29,7 +29,7 @@ static const uint32_t nr_subcarrier_spacing[MAX_NUM_SUBCARRIER_SPACING] = {15e3,
static
const
uint16_t
nr_slots_per_subframe
[
MAX_NUM_SUBCARRIER_SPACING
]
=
{
1
,
2
,
4
,
8
,
16
};
static
const
uint16_t
nr_slots_per_subframe
[
MAX_NUM_SUBCARRIER_SPACING
]
=
{
1
,
2
,
4
,
8
,
16
};
// Table 5.4.3.3-1 38-101
// Table 5.4.3.3-1 38-101
static
const
int
nr_ssb_table
[
48
][
3
]
=
{
static
const
int
nr_ssb_table
[
51
][
3
]
=
{
{
1
,
15
,
nr_ssb_type_A
},
{
2
,
15
,
nr_ssb_type_A
},
{
3
,
15
,
nr_ssb_type_A
},
{
5
,
15
,
nr_ssb_type_A
},
{
5
,
30
,
nr_ssb_type_B
},
{
1
,
15
,
nr_ssb_type_A
},
{
2
,
15
,
nr_ssb_type_A
},
{
3
,
15
,
nr_ssb_type_A
},
{
5
,
15
,
nr_ssb_type_A
},
{
5
,
30
,
nr_ssb_type_B
},
{
7
,
15
,
nr_ssb_type_A
},
{
8
,
15
,
nr_ssb_type_A
},
{
12
,
15
,
nr_ssb_type_A
},
{
14
,
15
,
nr_ssb_type_A
},
{
18
,
15
,
nr_ssb_type_A
},
{
7
,
15
,
nr_ssb_type_A
},
{
8
,
15
,
nr_ssb_type_A
},
{
12
,
15
,
nr_ssb_type_A
},
{
14
,
15
,
nr_ssb_type_A
},
{
18
,
15
,
nr_ssb_type_A
},
{
20
,
15
,
nr_ssb_type_A
},
{
25
,
15
,
nr_ssb_type_A
},
{
26
,
15
,
nr_ssb_type_A
},
{
28
,
15
,
nr_ssb_type_A
},
{
29
,
15
,
nr_ssb_type_A
},
{
20
,
15
,
nr_ssb_type_A
},
{
25
,
15
,
nr_ssb_type_A
},
{
26
,
15
,
nr_ssb_type_A
},
{
28
,
15
,
nr_ssb_type_A
},
{
29
,
15
,
nr_ssb_type_A
},
...
@@ -39,7 +39,8 @@ static const int nr_ssb_table[48][3] = {
...
@@ -39,7 +39,8 @@ static const int nr_ssb_table[48][3] = {
{
65
,
15
,
nr_ssb_type_A
},
{
66
,
15
,
nr_ssb_type_A
},
{
66
,
30
,
nr_ssb_type_B
},
{
70
,
15
,
nr_ssb_type_A
},
{
71
,
15
,
nr_ssb_type_A
},
{
65
,
15
,
nr_ssb_type_A
},
{
66
,
15
,
nr_ssb_type_A
},
{
66
,
30
,
nr_ssb_type_B
},
{
70
,
15
,
nr_ssb_type_A
},
{
71
,
15
,
nr_ssb_type_A
},
{
74
,
15
,
nr_ssb_type_A
},
{
75
,
15
,
nr_ssb_type_A
},
{
76
,
15
,
nr_ssb_type_A
},
{
77
,
30
,
nr_ssb_type_C
},
{
78
,
30
,
nr_ssb_type_C
},
{
74
,
15
,
nr_ssb_type_A
},
{
75
,
15
,
nr_ssb_type_A
},
{
76
,
15
,
nr_ssb_type_A
},
{
77
,
30
,
nr_ssb_type_C
},
{
78
,
30
,
nr_ssb_type_C
},
{
79
,
30
,
nr_ssb_type_C
},
{
90
,
15
,
nr_ssb_type_A
},
{
90
,
30
,
nr_ssb_type_C
},
{
91
,
15
,
nr_ssb_type_A
},
{
92
,
15
,
nr_ssb_type_A
},
{
79
,
30
,
nr_ssb_type_C
},
{
90
,
15
,
nr_ssb_type_A
},
{
90
,
30
,
nr_ssb_type_C
},
{
91
,
15
,
nr_ssb_type_A
},
{
92
,
15
,
nr_ssb_type_A
},
{
93
,
15
,
nr_ssb_type_A
},
{
94
,
15
,
nr_ssb_type_A
},
{
96
,
30
,
nr_ssb_type_C
}};
{
93
,
15
,
nr_ssb_type_A
},
{
94
,
15
,
nr_ssb_type_A
},
{
96
,
30
,
nr_ssb_type_C
},
{
255
,
15
,
nr_ssb_type_A
},
{
255
,
30
,
nr_ssb_type_B
},
{
256
,
15
,
nr_ssb_type_A
}};
void
set_Lmax
(
NR_DL_FRAME_PARMS
*
fp
)
{
void
set_Lmax
(
NR_DL_FRAME_PARMS
*
fp
)
{
if
(
get_softmodem_params
()
->
sl_mode
==
2
)
{
if
(
get_softmodem_params
()
->
sl_mode
==
2
)
{
...
...
openair2/GNB_APP/gnb_config.c
View file @
a0b3edd4
...
@@ -128,6 +128,9 @@ const sync_raster_t sync_raster[] = {
...
@@ -128,6 +128,9 @@ const sync_raster_t sync_raster[] = {
{
77
,
1
,
7711
,
1
,
8329
},
{
77
,
1
,
7711
,
1
,
8329
},
{
78
,
1
,
7711
,
1
,
8051
},
{
78
,
1
,
7711
,
1
,
8051
},
{
79
,
1
,
8480
,
16
,
8880
},
{
79
,
1
,
8480
,
16
,
8880
},
{
255
,
0
,
3818
,
1
,
3892
},
{
255
,
1
,
3824
,
1
,
3886
},
{
256
,
0
,
5429
,
1
,
5494
},
{
257
,
3
,
22388
,
1
,
22558
},
{
257
,
3
,
22388
,
1
,
22558
},
{
257
,
4
,
22390
,
2
,
22556
},
{
257
,
4
,
22390
,
2
,
22556
},
{
258
,
3
,
22257
,
1
,
22443
},
{
258
,
3
,
22257
,
1
,
22443
},
...
...
openair2/LAYER2/NR_MAC_UE/config_ue.c
View file @
a0b3edd4
...
@@ -346,7 +346,7 @@ void config_common_ue(NR_UE_MAC_INST_t *mac,
...
@@ -346,7 +346,7 @@ void config_common_ue(NR_UE_MAC_INST_t *mac,
}
}
uint32_t
band
=
*
frequencyInfoDL
->
frequencyBandList
.
list
.
array
[
0
];
uint32_t
band
=
*
frequencyInfoDL
->
frequencyBandList
.
list
.
array
[
0
];
mac
->
frequency_range
=
band
<
100
?
FR1
:
FR2
;
mac
->
frequency_range
=
band
<
257
?
FR1
:
FR2
;
frame_type_t
frame_type
=
get_frame_type
(
*
frequencyInfoDL
->
frequencyBandList
.
list
.
array
[
0
],
*
scc
->
ssbSubcarrierSpacing
);
frame_type_t
frame_type
=
get_frame_type
(
*
frequencyInfoDL
->
frequencyBandList
.
list
.
array
[
0
],
*
scc
->
ssbSubcarrierSpacing
);
...
...
openair2/LAYER2/NR_MAC_gNB/config.c
View file @
a0b3edd4
...
@@ -190,7 +190,7 @@ static void config_common(gNB_MAC_INST *nrmac, int pdsch_AntennaPorts, int pusch
...
@@ -190,7 +190,7 @@ static void config_common(gNB_MAC_INST *nrmac, int pdsch_AntennaPorts, int pusch
}
}
uint32_t
band
=
*
frequencyInfoDL
->
frequencyBandList
.
list
.
array
[
0
];
uint32_t
band
=
*
frequencyInfoDL
->
frequencyBandList
.
list
.
array
[
0
];
frequency_range_t
frequency_range
=
band
<
100
?
FR1
:
FR2
;
frequency_range_t
frequency_range
=
band
<
257
?
FR1
:
FR2
;
frame_type_t
frame_type
=
get_frame_type
(
*
frequencyInfoDL
->
frequencyBandList
.
list
.
array
[
0
],
*
scc
->
ssbSubcarrierSpacing
);
frame_type_t
frame_type
=
get_frame_type
(
*
frequencyInfoDL
->
frequencyBandList
.
list
.
array
[
0
],
*
scc
->
ssbSubcarrierSpacing
);
nrmac
->
common_channels
[
0
].
frame_type
=
frame_type
;
nrmac
->
common_channels
[
0
].
frame_type
=
frame_type
;
...
...
openair2/RRC/NR/nr_rrc_config.c
View file @
a0b3edd4
...
@@ -1843,7 +1843,7 @@ NR_BCCH_DL_SCH_Message_t *get_SIB1_NR(const gNB_RrcConfigurationReq *configurati
...
@@ -1843,7 +1843,7 @@ NR_BCCH_DL_SCH_Message_t *get_SIB1_NR(const gNB_RrcConfigurationReq *configurati
}
}
const
NR_FreqBandIndicatorNR_t
band
=
*
configuration
->
scc
->
downlinkConfigCommon
->
frequencyInfoDL
->
frequencyBandList
.
list
.
array
[
0
];
const
NR_FreqBandIndicatorNR_t
band
=
*
configuration
->
scc
->
downlinkConfigCommon
->
frequencyInfoDL
->
frequencyBandList
.
list
.
array
[
0
];
frequency_range_t
frequency_range
=
band
<
100
?
FR1
:
FR2
;
frequency_range_t
frequency_range
=
band
<
257
?
FR1
:
FR2
;
sib1
->
servingCellConfigCommon
->
downlinkConfigCommon
.
frequencyInfoDL
.
offsetToPointA
=
get_ssb_offset_to_pointA
(
*
configuration
->
scc
->
downlinkConfigCommon
->
frequencyInfoDL
->
absoluteFrequencySSB
,
sib1
->
servingCellConfigCommon
->
downlinkConfigCommon
.
frequencyInfoDL
.
offsetToPointA
=
get_ssb_offset_to_pointA
(
*
configuration
->
scc
->
downlinkConfigCommon
->
frequencyInfoDL
->
absoluteFrequencySSB
,
configuration
->
scc
->
downlinkConfigCommon
->
frequencyInfoDL
->
absoluteFrequencyPointA
,
configuration
->
scc
->
downlinkConfigCommon
->
frequencyInfoDL
->
absoluteFrequencyPointA
,
configuration
->
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
genericParameters
.
subcarrierSpacing
,
configuration
->
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
genericParameters
.
subcarrierSpacing
,
...
...
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