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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG
OpenXG-RAN
Commits
4cf94f9d
Commit
4cf94f9d
authored
Jan 15, 2024
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add kbar parameter
parent
a4d3a8d8
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
21 additions
and
4 deletions
+21
-4
radio/ETHERNET/oran/5g/oaioran.c
radio/ETHERNET/oran/5g/oaioran.c
+6
-4
radio/ETHERNET/oran/5g/oran-config.c
radio/ETHERNET/oran/5g/oran-config.c
+9
-0
radio/ETHERNET/oran/5g/oran-config.h
radio/ETHERNET/oran/5g/oran-config.h
+3
-0
radio/ETHERNET/oran/5g/oran-params.h
radio/ETHERNET/oran/5g/oran-params.h
+2
-0
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.273prb.fhi72.4x4-liteon.conf
...IC-NR-5GC/CONF/gnb.sa.band78.273prb.fhi72.4x4-liteon.conf
+1
-0
No files found.
radio/ETHERNET/oran/5g/oaioran.c
View file @
4cf94f9d
...
...
@@ -36,6 +36,8 @@
#include "oaioran.h"
#include <rte_ethdev.h>
#include "oran-config.h" // for g_kbar
#define USE_POLLING 1
// Declare variable useful for the send buffer function
volatile
uint8_t
first_call_set
=
0
;
...
...
@@ -171,13 +173,13 @@ int read_prach_data(ru_info_t *ru, int frame, int slot)
if
(
sym_idx
==
0
)
{
for
(
idx
=
0
;
idx
<
139
*
2
;
idx
++
)
{
dst
[
idx
]
=
((
int16_t
)
ntohs
(
src
[
idx
+
4
]));
dst
[
idx
]
=
((
int16_t
)
ntohs
(
src
[
idx
+
g_kbar
]));
}
}
else
{
for
(
idx
=
0
;
idx
<
139
*
2
;
idx
++
)
{
dst
[
idx
]
+=
((
int16_t
)
ntohs
(
src
[
idx
+
4
]));
dst
[
idx
]
+=
((
int16_t
)
ntohs
(
src
[
idx
+
g_kbar
]));
}
}
}
else
if
(
ru_conf
->
compMeth_PRACH
==
XRAN_COMPMETHOD_BLKFLOAT
)
{
...
...
@@ -202,9 +204,9 @@ int read_prach_data(ru_info_t *ru, int frame, int slot)
xranlib_decompress_avx512
(
&
bfp_decom_req
,
&
bfp_decom_rsp
);
// note: this is hardwired for 139 point PRACH sequence, kbar=2
if
(
sym_idx
==
0
)
//
for
(
idx
=
0
;
idx
<
(
139
*
2
);
idx
++
)
dst
[
idx
]
=
local_dst
[
idx
+
4
];
for
(
idx
=
0
;
idx
<
(
139
*
2
);
idx
++
)
dst
[
idx
]
=
local_dst
[
idx
+
g_kbar
];
else
for
(
idx
=
0
;
idx
<
(
139
*
2
);
idx
++
)
dst
[
idx
]
+=
(
local_dst
[
idx
+
4
]);
for
(
idx
=
0
;
idx
<
(
139
*
2
);
idx
++
)
dst
[
idx
]
+=
(
local_dst
[
idx
+
g_kbar
]);
}
// COMPMETHOD_BLKFLOAT
}
//aa
}
// symb_indx
...
...
radio/ETHERNET/oran/5g/oran-config.c
View file @
4cf94f9d
...
...
@@ -637,6 +637,13 @@ static enum xran_cp_filterindex get_prach_filterindex_fr1(duplex_mode_t mode, in
return
XRAN_FILTERINDEX_STANDARD
;
}
// PRACH guard interval. Raymond: "[it] is not in the configuration, (i.e. it
// is deterministic depending on others). LiteON must hard-code this in the
// O-RU itself, benetel doesn't (as O-RAN specifies). So we will need to tell
// the driver what the case is and provide"
// this is a hack
int
g_kbar
;
static
bool
set_fh_prach_config
(
const
openair0_config_t
*
oai0
,
const
paramdef_t
*
prachp
,
int
nprach
,
struct
xran_prach_config
*
prach_config
)
{
const
split7_config_t
*
s7cfg
=
&
oai0
->
split7
;
...
...
@@ -663,6 +670,8 @@ static bool set_fh_prach_config(const openair0_config_t* oai0, const paramdef_t
prach_config
->
eAxC_offset
=
*
gpd
(
prachp
,
nprach
,
ORAN_PRACH_CONFIG_EAXC_OFFSET
)
->
uptr
;
DevAssert
(
prach_config
->
eAxC_offset
==
4
);
g_kbar
=
*
gpd
(
prachp
,
nprach
,
ORAN_PRACH_CONFIG_KBAR
)
->
uptr
;
return
true
;
}
...
...
radio/ETHERNET/oran/5g/oran-config.h
View file @
4cf94f9d
...
...
@@ -34,4 +34,7 @@ bool set_fh_init(struct xran_fh_init *fh_init);
struct
openair0_config
;
bool
set_fh_config
(
int
ru_idx
,
const
struct
openair0_config
*
oai0_cfg
,
struct
xran_fh_config
*
fh_config
);
// hack to workaround LiteOn limitation
extern
int
g_kbar
;
#endif
/* ORAN_CONFIG_H */
radio/ETHERNET/oran/5g/oran-params.h
View file @
4cf94f9d
...
...
@@ -105,10 +105,12 @@
#define CONFIG_STRING_ORAN_PRACH "prach_config"
#define ORAN_PRACH_CONFIG_EAXC_OFFSET "eAxC_offset"
#define ORAN_PRACH_CONFIG_KBAR "kbar"
// clang-format off
#define ORAN_PRACH_DESC {\
{ORAN_PRACH_CONFIG_EAXC_OFFSET, "RU's eAxC offset for PRACH\n", PARAMFLAG_MANDATORY, .u8ptr=NULL, .defuintval=0, TYPE_UINT8, 0}, \
{ORAN_PRACH_CONFIG_KBAR, "PRACH guard interval\n", 0, .uptr=NULL, .defuintval=4, TYPE_UINT, 0}, \
}
// clang-format on
...
...
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.273prb.fhi72.4x4-liteon.conf
View file @
4cf94f9d
...
...
@@ -297,6 +297,7 @@ fhi_72 = {
};
prach_config
= {
eAxC_offset
=
4
;
kbar
=
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