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
zzha zzha
OpenXG-RAN
Commits
d2c6d665
Commit
d2c6d665
authored
Dec 15, 2021
by
rmagueta
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
SRS Tracer improvements
parent
8aac9606
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
25 additions
and
8 deletions
+25
-8
common/utils/T/tracer/gnb.c
common/utils/T/tracer/gnb.c
+4
-4
openair1/PHY/INIT/nr_init.c
openair1/PHY/INIT/nr_init.c
+2
-0
openair1/PHY/INIT/nr_init_ue.c
openair1/PHY/INIT/nr_init_ue.c
+2
-0
openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
+10
-0
openair1/PHY/NR_ESTIMATION/nr_ul_estimation.h
openair1/PHY/NR_ESTIMATION/nr_ul_estimation.h
+1
-0
openair1/PHY/defs_nr_common.h
openair1/PHY/defs_nr_common.h
+1
-0
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+5
-4
No files found.
common/utils/T/tracer/gnb.c
View file @
d2c6d665
...
...
@@ -188,10 +188,10 @@ static void gnb_main_gui(gnb_gui *e, gui *g, event_handler *h, void *database, g
w
=
new_xy_plot
(
g
,
490
,
200
,
""
,
50
);
e
->
ul_freq_estimate_ue_xy_plot
=
w
;
widget_add_child
(
g
,
line
,
w
,
-
1
);
xy_plot_set_range
(
g
,
w
,
0
,
100
*
10
,
-
10
,
80
);
xy_plot_set_range
(
g
,
w
,
0
,
2048
,
-
10
,
80
);
l
=
new_framelog
(
h
,
database
,
"GNB_PHY_UL_FREQ_CHANNEL_ESTIMATE"
,
"subframe"
,
"chest_t"
);
framelog_set_update_only_at_sf9
(
l
,
0
);
v
=
new_view_xy
(
100
*
10
,
10
,
g
,
w
,
new_color
(
g
,
"#0c0c72"
),
XY_LOOP_MODE
);
v
=
new_view_xy
(
2048
,
10
,
g
,
w
,
new_color
(
g
,
"#0c0c72"
),
XY_LOOP_MODE
);
logger_add_view
(
l
,
v
);
e
->
ul_freq_estimate_ue_logger
=
l
;
...
...
@@ -199,10 +199,10 @@ static void gnb_main_gui(gnb_gui *e, gui *g, event_handler *h, void *database, g
w
=
new_xy_plot
(
g
,
490
,
200
,
""
,
50
);
e
->
ul_time_estimate_ue_xy_plot
=
w
;
widget_add_child
(
g
,
line
,
w
,
-
1
);
xy_plot_set_range
(
g
,
w
,
0
,
100
*
10
,
-
10
,
80
);
xy_plot_set_range
(
g
,
w
,
0
,
2048
,
-
10
,
80
);
l
=
new_framelog
(
h
,
database
,
"GNB_PHY_UL_TIME_CHANNEL_ESTIMATE"
,
"subframe"
,
"chest_t"
);
framelog_set_update_only_at_sf9
(
l
,
0
);
v
=
new_view_xy
(
100
*
10
,
10
,
g
,
w
,
new_color
(
g
,
"#0c0c72"
),
XY_LOOP_MODE
);
v
=
new_view_xy
(
2048
,
10
,
g
,
w
,
new_color
(
g
,
"#0c0c72"
),
XY_LOOP_MODE
);
logger_add_view
(
l
,
v
);
e
->
ul_time_estimate_ue_logger
=
l
;
...
...
openair1/PHY/INIT/nr_init.c
View file @
d2c6d665
...
...
@@ -203,11 +203,13 @@ int phy_init_nr_gNB(PHY_VARS_gNB *gNB,
gNB
->
nr_srs_info
[
id
]
->
srs_ls_estimated_channel
=
(
int32_t
**
)
malloc16
(
Prx
*
sizeof
(
int32_t
*
));
gNB
->
nr_srs_info
[
id
]
->
srs_estimated_channel_freq
=
(
int32_t
**
)
malloc16
(
Prx
*
sizeof
(
int32_t
*
));
gNB
->
nr_srs_info
[
id
]
->
srs_estimated_channel_time
=
(
int32_t
**
)
malloc16
(
Prx
*
sizeof
(
int32_t
*
));
gNB
->
nr_srs_info
[
id
]
->
srs_estimated_channel_time_shifted
=
(
int32_t
**
)
malloc16
(
Prx
*
sizeof
(
int32_t
*
));
for
(
i
=
0
;
i
<
Prx
;
i
++
){
gNB
->
nr_srs_info
[
id
]
->
srs_received_signal
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
samples_per_frame
*
sizeof
(
int32_t
));
gNB
->
nr_srs_info
[
id
]
->
srs_ls_estimated_channel
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
samples_per_frame
*
sizeof
(
int32_t
));
gNB
->
nr_srs_info
[
id
]
->
srs_estimated_channel_freq
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
samples_per_frame
*
sizeof
(
int32_t
));
gNB
->
nr_srs_info
[
id
]
->
srs_estimated_channel_time
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
samples_per_frame
*
sizeof
(
int32_t
));
gNB
->
nr_srs_info
[
id
]
->
srs_estimated_channel_time_shifted
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
fp
->
samples_per_frame
*
sizeof
(
int32_t
));
}
}
...
...
openair1/PHY/INIT/nr_init_ue.c
View file @
d2c6d665
...
...
@@ -330,11 +330,13 @@ int init_nr_ue_signal(PHY_VARS_NR_UE *ue,
ue
->
nr_srs_info
->
srs_ls_estimated_channel
=
(
int32_t
**
)
malloc16
(
fp
->
nb_antennas_rx
*
sizeof
(
int32_t
*
)
);
ue
->
nr_srs_info
->
srs_estimated_channel_freq
=
(
int32_t
**
)
malloc16
(
fp
->
nb_antennas_rx
*
sizeof
(
int32_t
*
)
);
ue
->
nr_srs_info
->
srs_estimated_channel_time
=
(
int32_t
**
)
malloc16
(
fp
->
nb_antennas_rx
*
sizeof
(
int32_t
*
)
);
ue
->
nr_srs_info
->
srs_estimated_channel_time_shifted
=
(
int32_t
**
)
malloc16
(
fp
->
nb_antennas_rx
*
sizeof
(
int32_t
*
)
);
for
(
i
=
0
;
i
<
fp
->
nb_antennas_rx
;
i
++
)
{
ue
->
nr_srs_info
->
srs_received_signal
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
(
2
*
(
fp
->
samples_per_frame
)
+
2048
)
*
sizeof
(
int32_t
)
);
ue
->
nr_srs_info
->
srs_ls_estimated_channel
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
(
2
*
(
fp
->
samples_per_frame
)
+
2048
)
*
sizeof
(
int32_t
)
);
ue
->
nr_srs_info
->
srs_estimated_channel_freq
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
(
2
*
(
fp
->
samples_per_frame
)
+
2048
)
*
sizeof
(
int32_t
)
);
ue
->
nr_srs_info
->
srs_estimated_channel_time
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
(
2
*
(
fp
->
samples_per_frame
)
+
2048
)
*
sizeof
(
int32_t
)
);
ue
->
nr_srs_info
->
srs_estimated_channel_time_shifted
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
(
2
*
(
fp
->
samples_per_frame
)
+
2048
)
*
sizeof
(
int32_t
)
);
}
if
(
abstraction_flag
==
0
)
{
...
...
openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
View file @
d2c6d665
...
...
@@ -1093,6 +1093,7 @@ int nr_srs_channel_estimation(PHY_VARS_gNB *gNB,
int32_t
**
srs_received_signal
,
int32_t
**
srs_estimated_channel_freq
,
int32_t
**
srs_estimated_channel_time
,
int32_t
**
srs_estimated_channel_time_shifted
,
uint32_t
*
noise_power
)
{
if
(
nr_srs_info
->
n_symbs
==
0
)
{
...
...
@@ -1114,6 +1115,7 @@ int nr_srs_channel_estimation(PHY_VARS_gNB *gNB,
memset
(
srs_ls_estimated_channel
[
ant
],
0
,
frame_parms
->
samples_per_frame
*
sizeof
(
int32_t
));
memset
(
srs_estimated_channel_freq
[
ant
],
0
,
frame_parms
->
samples_per_frame
*
sizeof
(
int32_t
));
memset
(
srs_estimated_channel_time
[
ant
],
0
,
frame_parms
->
samples_per_frame
*
sizeof
(
int32_t
));
memset
(
srs_estimated_channel_time_shifted
[
ant
],
0
,
frame_parms
->
samples_per_frame
*
sizeof
(
int32_t
));
int16_t
*
srs_estimated_channel16
=
(
int16_t
*
)
&
srs_estimated_channel_freq
[
ant
][
nr_srs_info
->
subcarrier_idx
[
0
]];
...
...
@@ -1201,6 +1203,14 @@ int nr_srs_channel_estimation(PHY_VARS_gNB *gNB,
freq2time
(
gNB
->
frame_parms
.
ofdm_symbol_size
,
(
int16_t
*
)
srs_estimated_channel_freq
[
ant
],
(
int16_t
*
)
srs_estimated_channel_time
[
ant
]);
memcpy
(
&
srs_estimated_channel_time_shifted
[
ant
][
0
],
&
srs_estimated_channel_time
[
ant
][
gNB
->
frame_parms
.
ofdm_symbol_size
>>
1
],
(
gNB
->
frame_parms
.
ofdm_symbol_size
>>
1
)
*
sizeof
(
int32_t
));
memcpy
(
&
srs_estimated_channel_time_shifted
[
ant
][
gNB
->
frame_parms
.
ofdm_symbol_size
>>
1
],
&
srs_estimated_channel_time
[
ant
][
0
],
(
gNB
->
frame_parms
.
ofdm_symbol_size
>>
1
)
*
sizeof
(
int32_t
));
}
*
noise_power
=
calc_power
(
noise_real
,
frame_parms
->
nb_antennas_rx
*
nr_srs_info
->
n_symbs
)
...
...
openair1/PHY/NR_ESTIMATION/nr_ul_estimation.h
View file @
d2c6d665
...
...
@@ -72,5 +72,6 @@ int nr_srs_channel_estimation(PHY_VARS_gNB *gNB,
int32_t
**
srs_received_signal
,
int32_t
**
srs_estimated_channel_freq
,
int32_t
**
srs_estimated_channel_time
,
int32_t
**
srs_estimated_channel_time_shifted
,
uint32_t
*
noise_power
);
#endif
openair1/PHY/defs_nr_common.h
View file @
d2c6d665
...
...
@@ -249,6 +249,7 @@ typedef struct {
int32_t
**
srs_ls_estimated_channel
;
int32_t
**
srs_estimated_channel_freq
;
int32_t
**
srs_estimated_channel_time
;
int32_t
**
srs_estimated_channel_time_shifted
;
uint32_t
*
noise_power
;
}
nr_srs_info_t
;
...
...
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
d2c6d665
...
...
@@ -811,13 +811,14 @@ int phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx) {
gNB
->
nr_srs_info
[
i
]
->
srs_received_signal
,
gNB
->
nr_srs_info
[
i
]
->
srs_estimated_channel_freq
,
gNB
->
nr_srs_info
[
i
]
->
srs_estimated_channel_time
,
gNB
->
nr_srs_info
[
i
]
->
srs_estimated_channel_time_shifted
,
gNB
->
nr_srs_info
[
i
]
->
noise_power
);
T
(
T_GNB_PHY_UL_FREQ_CHANNEL_ESTIMATE
,
T_INT
(
0
),
T_INT
(
srs_pdu
->
rnti
),
T_INT
(
frame_rx
),
T_INT
(
slot_rx
%
1
0
),
T_INT
(
0
),
T_BUFFER
(
gNB
->
nr_srs_info
[
i
]
->
srs_estimated_channel_freq
[
0
],
100
*
4
));
T
(
T_GNB_PHY_UL_FREQ_CHANNEL_ESTIMATE
,
T_INT
(
0
),
T_INT
(
srs_pdu
->
rnti
),
T_INT
(
frame_rx
),
T_INT
(
0
),
T_INT
(
0
),
T_BUFFER
(
gNB
->
nr_srs_info
[
i
]
->
srs_estimated_channel_freq
[
0
],
gNB
->
frame_parms
.
ofdm_symbol_size
*
sizeof
(
int32_t
)
));
T
(
T_GNB_PHY_UL_TIME_CHANNEL_ESTIMATE
,
T_INT
(
0
),
T_INT
(
srs_pdu
->
rnti
),
T_INT
(
frame_rx
),
T_INT
(
slot_rx
%
1
0
),
T_INT
(
0
),
T_BUFFER
(
gNB
->
nr_srs_info
[
i
]
->
srs_estimated_channel_time
[
0
],
100
*
4
));
T
(
T_GNB_PHY_UL_TIME_CHANNEL_ESTIMATE
,
T_INT
(
0
),
T_INT
(
srs_pdu
->
rnti
),
T_INT
(
frame_rx
),
T_INT
(
0
),
T_INT
(
0
),
T_BUFFER
(
gNB
->
nr_srs_info
[
i
]
->
srs_estimated_channel_time
_shifted
[
0
],
gNB
->
frame_parms
.
ofdm_symbol_size
*
sizeof
(
int32_t
)
));
srs
->
active
=
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