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
d31db3dd
Commit
d31db3dd
authored
Dec 15, 2021
by
rmagueta
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Change variable name
parent
096869e0
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
24 additions
and
24 deletions
+24
-24
common/utils/T/tracer/gnb.c
common/utils/T/tracer/gnb.c
+1
-1
openair1/PHY/INIT/nr_init.c
openair1/PHY/INIT/nr_init.c
+2
-2
openair1/PHY/INIT/nr_init_ue.c
openair1/PHY/INIT/nr_init_ue.c
+2
-2
openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
+15
-15
openair1/PHY/NR_ESTIMATION/nr_ul_estimation.h
openair1/PHY/NR_ESTIMATION/nr_ul_estimation.h
+1
-1
openair1/PHY/defs_nr_common.h
openair1/PHY/defs_nr_common.h
+1
-1
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+2
-2
No files found.
common/utils/T/tracer/gnb.c
View file @
d31db3dd
...
...
@@ -91,7 +91,7 @@ static void set_current_ue(gui *g, gnb_data *e, int ue)
sprintf
(
s
,
"GNB_PHY_PUCCH_PUSCH_IQ [UE %d]"
,
ue
);
xy_plot_set_title
(
g
,
e
->
e
->
pucch_pusch_iq_plot
,
s
);
sprintf
(
s
,
"UL
estimated channel
[UE %d]"
,
ue
);
sprintf
(
s
,
"UL
channel estimation in frequency domain
[UE %d]"
,
ue
);
xy_plot_set_title
(
g
,
e
->
e
->
ul_estimate_ue_xy_plot
,
s
);
}
...
...
openair1/PHY/INIT/nr_init.c
View file @
d31db3dd
...
...
@@ -201,11 +201,11 @@ int phy_init_nr_gNB(PHY_VARS_gNB *gNB,
gNB
->
nr_srs_info
[
id
]
->
noise_power
=
(
uint32_t
*
)
malloc16_clear
(
sizeof
(
uint32_t
));
gNB
->
nr_srs_info
[
id
]
->
srs_received_signal
=
(
int32_t
**
)
malloc16
(
Prx
*
sizeof
(
int32_t
*
));
gNB
->
nr_srs_info
[
id
]
->
srs_ls_estimated_channel
=
(
int32_t
**
)
malloc16
(
Prx
*
sizeof
(
int32_t
*
));
gNB
->
nr_srs_info
[
id
]
->
srs_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
*
));
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
[
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
));
}
}
...
...
openair1/PHY/INIT/nr_init_ue.c
View file @
d31db3dd
...
...
@@ -328,11 +328,11 @@ int init_nr_ue_signal(PHY_VARS_NR_UE *ue,
ue
->
nr_srs_info
->
noise_power
=
(
uint32_t
*
)
malloc16_clear
(
sizeof
(
uint32_t
));
ue
->
nr_srs_info
->
srs_received_signal
=
(
int32_t
**
)
malloc16
(
fp
->
nb_antennas_rx
*
sizeof
(
int32_t
*
)
);
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
=
(
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
*
)
);
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
[
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
)
);
}
if
(
abstraction_flag
==
0
)
{
...
...
openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
View file @
d31db3dd
...
...
@@ -1110,7 +1110,7 @@ int nr_srs_channel_estimation(PHY_VARS_gNB *gNB,
nr_srs_info_t
*
nr_srs_info
,
int32_t
*
srs_generated_signal
,
int32_t
**
srs_received_signal
,
int32_t
**
srs_estimated_channel
,
int32_t
**
srs_estimated_channel
_freq
,
uint32_t
*
noise_power
)
{
if
(
nr_srs_info
->
n_symbs
==
0
)
{
...
...
@@ -1130,9 +1130,9 @@ int nr_srs_channel_estimation(PHY_VARS_gNB *gNB,
for
(
int
ant
=
0
;
ant
<
frame_parms
->
nb_antennas_rx
;
ant
++
)
{
memset
(
srs_ls_estimated_channel
[
ant
],
0
,
frame_parms
->
samples_per_frame
*
sizeof
(
int32_t
));
memset
(
srs_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
));
int16_t
*
srs_estimated_channel16
=
(
int16_t
*
)
&
srs_estimated_channel
[
ant
][
nr_srs_info
->
subcarrier_idx
[
0
]];
int16_t
*
srs_estimated_channel16
=
(
int16_t
*
)
&
srs_estimated_channel
_freq
[
ant
][
nr_srs_info
->
subcarrier_idx
[
0
]];
for
(
int
sc_idx
=
0
;
sc_idx
<
nr_srs_info
->
n_symbs
;
sc_idx
++
)
{
...
...
@@ -1160,38 +1160,38 @@ int nr_srs_channel_estimation(PHY_VARS_gNB *gNB,
if
(
sc_idx
==
0
)
{
multadd_real_vector_complex_scalar
(
filt8_l0
,
ls_estimated
,
srs_estimated_channel16
,
8
);
}
else
if
(
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
<
nr_srs_info
->
subcarrier_idx
[
sc_idx
-
1
])
{
srs_estimated_channel16
=
(
int16_t
*
)
&
srs_estimated_channel
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
+
2
]]
-
8
;
srs_estimated_channel16
=
(
int16_t
*
)
&
srs_estimated_channel
_freq
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
+
2
]]
-
8
;
multadd_real_vector_complex_scalar
(
filt8_l0
,
ls_estimated
,
srs_estimated_channel16
,
8
);
}
else
if
(
(
sc_idx
<
(
nr_srs_info
->
n_symbs
-
1
)
&&
nr_srs_info
->
subcarrier_idx
[
sc_idx
+
1
]
<
nr_srs_info
->
subcarrier_idx
[
sc_idx
])
||
(
sc_idx
==
(
nr_srs_info
->
n_symbs
-
1
)))
{
multadd_real_vector_complex_scalar
(
filt8_m0
,
ls_estimated
,
srs_estimated_channel16
,
8
);
srs_estimated_channel
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
1
]
=
srs_estimated_channel
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]];
srs_estimated_channel
_freq
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
1
]
=
srs_estimated_channel_freq
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]];
}
else
if
(
sc_idx
%
2
==
1
)
{
multadd_real_vector_complex_scalar
(
filt8_m0
,
ls_estimated
,
srs_estimated_channel16
,
8
);
}
else
if
(
sc_idx
%
2
==
0
)
{
multadd_real_vector_complex_scalar
(
filt8_mm0
,
ls_estimated
,
srs_estimated_channel16
,
8
);
srs_estimated_channel16
=
(
int16_t
*
)
&
srs_estimated_channel
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]];
srs_estimated_channel16
=
(
int16_t
*
)
&
srs_estimated_channel
_freq
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]];
}
}
else
{
if
(
sc_idx
>
0
)
{
multadd_real_vector_complex_scalar
(
filt8_dcr0_h
,
ls_estimated
,
srs_estimated_channel16
,
8
);
if
(
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
<
nr_srs_info
->
subcarrier_idx
[
sc_idx
-
1
])
{
srs_estimated_channel16
=
(
int16_t
*
)
&
srs_estimated_channel
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
+
1
]]
-
8
;
srs_estimated_channel16
=
(
int16_t
*
)
&
srs_estimated_channel
_freq
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
+
1
]]
-
8
;
}
else
{
srs_estimated_channel16
=
(
int16_t
*
)
&
srs_estimated_channel
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]];
srs_estimated_channel16
=
(
int16_t
*
)
&
srs_estimated_channel
_freq
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]];
}
srs_estimated_channel16
[
0
]
=
0
;
srs_estimated_channel16
[
1
]
=
0
;
}
multadd_real_vector_complex_scalar
(
filt8_dcl0_h
,
ls_estimated
,
srs_estimated_channel16
,
8
);
if
(
sc_idx
==
(
nr_srs_info
->
n_symbs
-
1
))
{
srs_estimated_channel
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
1
]
=
srs_estimated_channel
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]];
srs_estimated_channel
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
2
]
=
srs_estimated_channel
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]];
srs_estimated_channel
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
3
]
=
srs_estimated_channel
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]];
srs_estimated_channel
_freq
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
1
]
=
srs_estimated_channel_freq
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]];
srs_estimated_channel
_freq
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
2
]
=
srs_estimated_channel_freq
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]];
srs_estimated_channel
_freq
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
3
]
=
srs_estimated_channel_freq
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]];
}
}
noise_real
[
ant
*
nr_srs_info
->
n_symbs
+
sc_idx
]
=
abs
(
prev_ls_estimated
[
0
]
-
(
int16_t
)(
srs_estimated_channel
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]]
&
0xFFFF
));
noise_imag
[
ant
*
nr_srs_info
->
n_symbs
+
sc_idx
]
=
abs
(
prev_ls_estimated
[
1
]
-
(
int16_t
)((
srs_estimated_channel
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]]
>>
16
)
&
0xFFFF
));
noise_real
[
ant
*
nr_srs_info
->
n_symbs
+
sc_idx
]
=
abs
(
prev_ls_estimated
[
0
]
-
(
int16_t
)(
srs_estimated_channel
_freq
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]]
&
0xFFFF
));
noise_imag
[
ant
*
nr_srs_info
->
n_symbs
+
sc_idx
]
=
abs
(
prev_ls_estimated
[
1
]
-
(
int16_t
)((
srs_estimated_channel
_freq
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]]
>>
16
)
&
0xFFFF
));
#ifdef SRS_DEBUG
uint64_t
subcarrier_offset
=
frame_parms
->
first_carrier_offset
+
srs_pdu
->
bwp_start
*
12
;
...
...
@@ -1239,8 +1239,8 @@ int nr_srs_channel_estimation(PHY_VARS_gNB *gNB,
subcarrier_log
+
r
,
(
int16_t
)(
srs_ls_estimated_channel
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
r
]
&
0xFFFF
),
(
int16_t
)((
srs_ls_estimated_channel
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
r
]
>>
16
)
&
0xFFFF
),
(
int16_t
)(
srs_estimated_channel
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
r
]
&
0xFFFF
),
(
int16_t
)((
srs_estimated_channel
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
r
]
>>
16
)
&
0xFFFF
),
(
int16_t
)(
srs_estimated_channel
_freq
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
r
]
&
0xFFFF
),
(
int16_t
)((
srs_estimated_channel
_freq
[
ant
][
nr_srs_info
->
subcarrier_idx
[
sc_idx
]
+
r
]
>>
16
)
&
0xFFFF
),
noise_real
[
ant
*
nr_srs_info
->
n_symbs
+
sc_idx
],
noise_imag
[
ant
*
nr_srs_info
->
n_symbs
+
sc_idx
]);
}
...
...
openair1/PHY/NR_ESTIMATION/nr_ul_estimation.h
View file @
d31db3dd
...
...
@@ -70,6 +70,6 @@ int nr_srs_channel_estimation(PHY_VARS_gNB *gNB,
nr_srs_info_t
*
nr_srs_info
,
int32_t
*
srs_generated_signal
,
int32_t
**
srs_received_signal
,
int32_t
**
srs_estimated_channel
,
int32_t
**
srs_estimated_channel
_freq
,
uint32_t
*
noise_power
);
#endif
openair1/PHY/defs_nr_common.h
View file @
d31db3dd
...
...
@@ -247,7 +247,7 @@ typedef struct {
int32_t
*
srs_generated_signal
;
int32_t
**
srs_received_signal
;
int32_t
**
srs_ls_estimated_channel
;
int32_t
**
srs_estimated_channel
;
int32_t
**
srs_estimated_channel
_freq
;
uint32_t
*
noise_power
;
}
nr_srs_info_t
;
...
...
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
d31db3dd
...
...
@@ -809,11 +809,11 @@ int phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx) {
gNB
->
nr_srs_info
[
i
],
gNB
->
nr_srs_info
[
i
]
->
srs_generated_signal
,
gNB
->
nr_srs_info
[
i
]
->
srs_received_signal
,
gNB
->
nr_srs_info
[
i
]
->
srs_estimated_channel
,
gNB
->
nr_srs_info
[
i
]
->
srs_estimated_channel
_freq
,
gNB
->
nr_srs_info
[
i
]
->
noise_power
);
T
(
T_GNB_PHY_UL_CHANNEL_ESTIMATE
,
T_INT
(
0
),
T_INT
(
srs_pdu
->
rnti
),
T_INT
(
frame_rx
),
T_INT
(
slot_rx
%
10
),
T_INT
(
0
),
T_BUFFER
(
gNB
->
nr_srs_info
[
i
]
->
srs_estimated_channel
[
0
],
100
*
4
));
T_BUFFER
(
gNB
->
nr_srs_info
[
i
]
->
srs_estimated_channel
_freq
[
0
],
100
*
4
));
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