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
littleBu
OpenXG-RAN
Commits
268172a4
Commit
268172a4
authored
Jan 19, 2025
by
Laurent THOMAS
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
pure bad code fix
parent
284b7af4
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
24 additions
and
37 deletions
+24
-37
common/platform_types.h
common/platform_types.h
+6
-0
openair1/PHY/NR_ESTIMATION/nr_measurements_gNB.c
openair1/PHY/NR_ESTIMATION/nr_measurements_gNB.c
+4
-2
openair1/PHY/NR_ESTIMATION/nr_ul_estimation.h
openair1/PHY/NR_ESTIMATION/nr_ul_estimation.h
+1
-1
openair1/PHY/NR_TRANSPORT/nr_prs.c
openair1/PHY/NR_TRANSPORT/nr_prs.c
+5
-19
openair1/PHY/NR_TRANSPORT/srs_rx.c
openair1/PHY/NR_TRANSPORT/srs_rx.c
+2
-2
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+4
-4
openair1/SIMULATION/NR_PHY/psbchsim.c
openair1/SIMULATION/NR_PHY/psbchsim.c
+2
-9
No files found.
common/platform_types.h
View file @
268172a4
...
...
@@ -288,6 +288,12 @@ typedef struct protocol_ctxt_s {
#define CHECK_CTXT_ARGS(CTXT_Pp)
static
inline
int
ceil_mod
(
const
unsigned
int
v
,
const
unsigned
int
mod
)
{
return
((
v
+
mod
-
1
)
/
mod
)
*
mod
;
}
#define exit_fun(msg) exit_function(__FILE__, __FUNCTION__, __LINE__, "exit_fun", OAI_EXIT_NORMAL)
#ifdef __cplusplus
extern
"C"
{
...
...
openair1/PHY/NR_ESTIMATION/nr_measurements_gNB.c
View file @
268172a4
...
...
@@ -38,8 +38,10 @@
extern
openair0_config_t
openair0_cfg
[
MAX_CARDS
];
int
nr_est_timing_advance_srs
(
const
NR_DL_FRAME_PARMS
*
frame_parms
,
const
int32_t
srs_estimated_channel_time
[][
frame_parms
->
ofdm_symbol_size
])
{
int
nr_est_timing_advance_srs
(
const
NR_DL_FRAME_PARMS
*
frame_parms
,
const
c16_t
srs_estimated_channel_time
[][
frame_parms
->
ofdm_symbol_size
])
{
int
timing_advance
=
0
;
int
max_val
=
0
;
...
...
openair1/PHY/NR_ESTIMATION/nr_ul_estimation.h
View file @
268172a4
...
...
@@ -64,7 +64,7 @@ void nr_gnb_measurements(PHY_VARS_gNB *gNB,
uint8_t
nrOfLayers
);
int
nr_est_timing_advance_srs
(
const
NR_DL_FRAME_PARMS
*
frame_parms
,
const
int32
_t
srs_estimated_channel_time
[][
frame_parms
->
ofdm_symbol_size
]);
const
c16
_t
srs_estimated_channel_time
[][
frame_parms
->
ofdm_symbol_size
]);
void
nr_pusch_ptrs_processing
(
PHY_VARS_gNB
*
gNB
,
NR_DL_FRAME_PARMS
*
frame_parms
,
...
...
openair1/PHY/NR_TRANSPORT/nr_prs.c
View file @
268172a4
...
...
@@ -4,11 +4,10 @@
#include "PHY/NR_REFSIG/nr_refsig.h"
#include "PHY/sse_intrin.h"
#include "openair1/PHY/NR_REFSIG/refsig_defs_ue.h"
#include "openair1/PHY/NR_REFSIG/nr_mod_table.h"
//#define DEBUG_PRS_MOD
//#define DEBUG_PRS_MAP
extern
short
nr_qpsk_mod_table
[
8
];
int
nr_generate_prs
(
int
slot
,
c16_t
*
txdataF
,
int16_t
amp
,
...
...
@@ -18,7 +17,7 @@ int nr_generate_prs(int slot,
{
int
k_prime
=
0
,
k
=
0
,
idx
;
int16_t
mod_prs
[
NR_MAX_PRS_LENGTH
<<
1
];
c16_t
mod_prs
[
NR_MAX_PRS_LENGTH
];
int16_t
k_prime_table
[
K_PRIME_TABLE_ROW_SIZE
][
K_PRIME_TABLE_COL_SIZE
]
=
PRS_K_PRIME_TABLE
;
// PRS resource mapping with combsize=k which means PRS symbols exist in every k-th subcarrier in frequency domain
...
...
@@ -45,25 +44,12 @@ int nr_generate_prs(int slot,
uint32_t
*
gold
=
nr_gold_prs
(
prs_cfg
->
NPRSID
,
slot
,
l
);
for
(
int
m
=
0
;
m
<
(
12
/
prs_cfg
->
CombSize
)
*
prs_cfg
->
NumRB
;
m
++
)
{
idx
=
(((
gold
[(
m
<<
1
)
>>
5
])
>>
((
m
<<
1
)
&
0x1f
))
&
3
);
mod_prs
[
m
<<
1
]
=
nr_qpsk_mod_table
[
idx
<<
1
];
mod_prs
[(
m
<<
1
)
+
1
]
=
nr_qpsk_mod_table
[(
idx
<<
1
)
+
1
];
#ifdef DEBUG_PRS_MOD
LOG_D
(
"m %d idx %d gold seq %d mod_prs %d %d
\n
"
,
m
,
idx
,
nr_gold_prs
[
l
][(
m
<<
1
)
>>
5
],
mod_prs
[
m
<<
1
],
mod_prs
[(
m
<<
1
)
+
1
]);
#endif
mod_prs
[
m
]
=
nr_qpsk_mod_table
[
idx
];
#ifdef DEBUG_PRS_MAP
LOG_D
(
"m %d at k %d of l %d reIdx %d
\n
"
,
m
,
k
,
l
,
(
l
*
frame_parms
->
ofdm_symbol_size
+
k
)
<<
1
);
#endif
((
int16_t
*
)
txdataF
)[(
l
*
frame_parms
->
ofdm_symbol_size
+
k
)
<<
1
]
=
(
amp
*
mod_prs
[
m
<<
1
])
>>
15
;
((
int16_t
*
)
txdataF
)[((
l
*
frame_parms
->
ofdm_symbol_size
+
k
)
<<
1
)
+
1
]
=
(
amp
*
mod_prs
[(
m
<<
1
)
+
1
])
>>
15
;
#ifdef DEBUG_PRS_MAP
LOG_D
(
"(%d,%d)
\n
"
,
((
int16_t
*
)
txdataF
)[(
l
*
frame_parms
->
ofdm_symbol_size
+
k
)
<<
1
],
((
int16_t
*
)
txdataF
)[((
l
*
frame_parms
->
ofdm_symbol_size
+
k
)
<<
1
)
+
1
]);
#endif
txdataF
[
l
*
frame_parms
->
ofdm_symbol_size
+
k
]
=
c16mulRealShift
(
mod_prs
[
m
],
amp
,
15
);
k
=
k
+
prs_cfg
->
CombSize
;
...
...
openair1/PHY/NR_TRANSPORT/srs_rx.c
View file @
268172a4
...
...
@@ -88,7 +88,7 @@ int nr_get_srs_signal(PHY_VARS_gNB *gNB,
const
uint8_t
K_TC
=
2
<<
srs_pdu
->
comb_size
;
const
uint16_t
M_sc_b_SRS
=
get_m_srs
(
srs_pdu
->
config_index
,
srs_pdu
->
bandwidth_index
)
*
NR_NB_SC_PER_RB
/
K_TC
;
int32
_t
*
rx_signal
;
c16
_t
*
rx_signal
;
bool
no_srs_signal
=
true
;
for
(
int
ant
=
0
;
ant
<
frame_parms
->
nb_antennas_rx
;
ant
++
)
{
...
...
@@ -117,7 +117,7 @@ int nr_get_srs_signal(PHY_VARS_gNB *gNB,
srs_received_signal
[
ant
][
l_line_offset
+
subcarrier
]
=
rx_signal
[
l_line_offset
+
subcarrier
];
if
(
rx_signal
[
l_line_offset
+
subcarrier
]
!=
0
)
{
if
(
rx_signal
[
l_line_offset
+
subcarrier
].
r
||
rx_signal
[
l_line_offset
+
subcarrier
].
i
)
{
no_srs_signal
=
false
;
}
...
...
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
268172a4
...
...
@@ -647,8 +647,9 @@ int fill_srs_channel_matrix(uint8_t *channel_matrix,
const
uint16_t
prg_size
,
const
uint16_t
num_prgs
,
const
NR_DL_FRAME_PARMS
*
frame_parms
,
const
int32_t
srs_estimated_channel_freq
[][
1
<<
srs_pdu
->
num_ant_ports
][
frame_parms
->
ofdm_symbol_size
*
(
1
<<
srs_pdu
->
num_symbols
)])
{
const
c16_t
srs_estimated_channel_freq
[][
1
<<
srs_pdu
->
num_ant_ports
]
[
frame_parms
->
ofdm_symbol_size
*
(
1
<<
srs_pdu
->
num_symbols
)])
{
const
uint64_t
subcarrier_offset
=
frame_parms
->
first_carrier_offset
+
srs_pdu
->
bwp_start
*
NR_NB_SC_PER_RB
;
const
uint16_t
step
=
prg_size
*
NR_NB_SC_PER_RB
;
...
...
@@ -664,8 +665,7 @@ int fill_srs_channel_matrix(uint8_t *channel_matrix,
}
for
(
int
pI
=
0
;
pI
<
num_prgs
;
pI
++
)
{
c16_t
*
srs_estimated_channel16
=
(
c16_t
*
)
&
srs_estimated_channel_freq
[
gI
][
uI
][
subcarrier
];
const
c16_t
*
srs_estimated_channel16
=
srs_estimated_channel_freq
[
gI
][
uI
]
+
subcarrier
;
uint16_t
index
=
uI
*
num_gnb_antenna_elements
*
num_prgs
+
gI
*
num_prgs
+
pI
;
if
(
normalized_iq_representation
==
0
)
{
...
...
openair1/SIMULATION/NR_PHY/psbchsim.c
View file @
268172a4
...
...
@@ -260,15 +260,8 @@ static int freq_domain_loopback(PHY_VARS_NR_UE *UE_tx, PHY_VARS_NR_UE *UE_rx, in
nr_tx_psbch
(
UE_tx
,
frame
,
slot
,
&
phy_data
->
psbch_vars
,
txdataF
);
int
estimateSz
=
sl_ue2
->
sl_frame_params
.
samples_per_slot_wCP
;
__attribute__
((
aligned
(
32
)))
struct
complex16
rxdataF
[
1
][
estimateSz
];
for
(
int
i
=
0
;
i
<
sl_ue1
->
sl_frame_params
.
samples_per_slot_wCP
;
i
++
)
{
struct
complex16
*
txdataF_ptr
=
(
struct
complex16
*
)
&
txdataF
[
0
][
i
];
struct
complex16
*
rxdataF_ptr
=
(
struct
complex16
*
)
&
rxdataF
[
0
][
i
];
rxdataF_ptr
->
r
=
txdataF_ptr
->
r
;
rxdataF_ptr
->
i
=
txdataF_ptr
->
i
;
// printf("r,i TXDATAF[%d]- %d:%d, RXDATAF[%d]- %d:%d\n",
// i, txdataF_ptr->r, txdataF_ptr->i, i, txdataF_ptr->r, txdataF_ptr->i);
}
__attribute__
((
aligned
(
32
)))
c16_t
rxdataF
[
1
][
estimateSz
];
memcpy
(
rxdataF
[
0
],
txdataF
[
0
],
sl_ue1
->
sl_frame_params
.
samples_per_slot_wCP
*
sizeof
(
**
rxdataF
));
uint8_t
err_status
=
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