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
397480c1
Commit
397480c1
authored
Oct 24, 2019
by
Hongzhi Wang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update time tracking
parent
2bfec87c
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
50 additions
and
54 deletions
+50
-54
executables/nr-ue.c
executables/nr-ue.c
+3
-3
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
+3
-6
openair1/PHY/NR_UE_ESTIMATION/nr_estimation.h
openair1/PHY/NR_UE_ESTIMATION/nr_estimation.h
+0
-1
openair1/PHY/NR_UE_ESTIMATION/nr_ue_measurements.c
openair1/PHY/NR_UE_ESTIMATION/nr_ue_measurements.c
+1
-1
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
+1
-1
openair1/PHY/TOOLS/nr_phy_scope.c
openair1/PHY/TOOLS/nr_phy_scope.c
+4
-4
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
+38
-38
No files found.
executables/nr-ue.c
View file @
397480c1
...
...
@@ -695,12 +695,12 @@ void *UE_thread(void *arg) {
//LOG_I(PHY,"Process slot %d thread Idx %d total gain %d\n", slot_nr, thread_idx, UE->rx_total_gain_dB);
#ifdef OAI_ADRV9371_ZC706
uint32_t
total_gain_dB_prev
=
0
;
/*
uint32_t total_gain_dB_prev = 0;
if (total_gain_dB_prev != UE->rx_total_gain_dB) {
total_gain_dB_prev = UE->rx_total_gain_dB;
openair0_cfg
[
0
].
rx_gain
[
0
]
=
UE
->
rx_total_gain_dB
-
20
;
openair0_cfg[0].rx_gain[0] = UE->rx_total_gain_dB;
UE->rfdevice.trx_set_gains_func(&UE->rfdevice,&openair0_cfg[0]);
}
}
*/
#endif
for
(
int
i
=
0
;
i
<
UE
->
frame_parms
.
nb_antennas_rx
;
i
++
)
...
...
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
View file @
397480c1
...
...
@@ -199,7 +199,6 @@ int nr_pbch_dmrs_correlation(PHY_VARS_NR_UE *ue,
int
nr_pbch_channel_estimation
(
PHY_VARS_NR_UE
*
ue
,
int
frame_rx
,
uint8_t
eNB_offset
,
unsigned
char
Ns
,
unsigned
char
symbol
,
...
...
@@ -463,17 +462,15 @@ int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue,
assert
(
0
);
}
slot_pbch
=
is_pbch_in_slot
(
pbch_config
,
frame_rx
,
Ns
,
ssb_periodicity
,
ue
->
frame_parms
.
slots_per_frame
);
if
((
ue
->
decode_MIB
==
1
)
&&
slot_pbch
)
if
(
symbol
==
3
)
{
// do ifft of channel estimate
for
(
aarx
=
0
;
aarx
<
ue
->
frame_parms
.
nb_antennas_rx
;
aarx
++
)
for
(
p
=
0
;
p
<
ue
->
frame_parms
.
nb_antenna_ports_eNB
;
p
++
)
{
if
(
ue
->
pbch_vars
[
eNB_offset
]
->
dl_ch_estimates
[(
p
<<
1
)
+
aarx
])
{
LOG_D
(
PHY
,
"Channel Impulse Computation Slot %d ThreadId %d Symbol %d
\n
"
,
Ns
,
ue
->
current_thread_id
[
Ns
],
symbol
);
idft
((
int16_t
*
)
&
ue
->
pbch_vars
[
eNB_offset
]
->
dl_ch_estimates
[(
p
<<
1
)
+
aarx
][
0
],
LOG_D
(
PHY
,
"Channel Impulse Computation Slot %d ThreadId %d Symbol %d
ch_offset %d
\n
"
,
Ns
,
ue
->
current_thread_id
[
Ns
],
symbol
,
ch_offset
);
idft
((
int16_t
*
)
&
ue
->
pbch_vars
[
eNB_offset
]
->
dl_ch_estimates
[(
p
<<
1
)
+
aarx
][
ch_offset
],
(
int16_t
*
)
ue
->
pbch_vars
[
eNB_offset
]
->
dl_ch_estimates_time
[(
p
<<
1
)
+
aarx
],
1
);
}
}
...
...
openair1/PHY/NR_UE_ESTIMATION/nr_estimation.h
View file @
397480c1
...
...
@@ -57,7 +57,6 @@ int nr_pbch_dmrs_correlation(PHY_VARS_NR_UE *ue,
NR_UE_SSB
*
current_ssb
);
int
nr_pbch_channel_estimation
(
PHY_VARS_NR_UE
*
ue
,
int
frame_rx
,
uint8_t
eNB_offset
,
unsigned
char
Ns
,
unsigned
char
symbol
,
...
...
openair1/PHY/NR_UE_ESTIMATION/nr_ue_measurements.c
View file @
397480c1
...
...
@@ -726,7 +726,7 @@ void nr_ue_measurements(PHY_VARS_NR_UE *ue,
ch_offset
=
ue
->
frame_parms
.
ofdm_symbol_size
*
2
;
printf
(
"testing measurements
\n
"
);
//
printf("testing measurements\n");
// signal measurements
for
(
eNB_id
=
0
;
eNB_id
<
ue
->
n_connected_eNB
;
eNB_id
++
)
{
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
View file @
397480c1
...
...
@@ -154,7 +154,7 @@ int nr_pbch_detection(UE_nr_rxtx_proc_t * proc, PHY_VARS_NR_UE *ue, int pbch_ini
#endif
// computing channel estimation for selected best ssb
for
(
int
i
=
pbch_initial_symbol
;
i
<
pbch_initial_symbol
+
3
;
i
++
)
nr_pbch_channel_estimation
(
ue
,
0
,
0
,
0
,
i
,
i
-
pbch_initial_symbol
,
temp_ptr
->
i_ssb
,
temp_ptr
->
n_hf
);
nr_pbch_channel_estimation
(
ue
,
0
,
0
,
i
,
i
-
pbch_initial_symbol
,
temp_ptr
->
i_ssb
,
temp_ptr
->
n_hf
);
#if UE_TIMING_TRACE
stop_meas
(
&
ue
->
dlsch_channel_estimation_stats
);
#endif
...
...
openair1/PHY/TOOLS/nr_phy_scope.c
View file @
397480c1
...
...
@@ -589,8 +589,8 @@ void phy_scope_nrUE(FD_phy_scope_nrue *form,
time
=
calloc
(
samples_per_frame
,
sizeof
(
float
));
corr
=
calloc
(
samples_per_frame
,
sizeof
(
float
));
chest_t
=
(
int16_t
**
)
phy_vars_ue
->
p
dcch_vars
[
phy_vars_ue
->
current_thread_id
[
subframe
]]
[
eNB_id
]
->
dl_ch_estimates_time
;
chest_f
=
(
int16_t
**
)
phy_vars_ue
->
p
dcch_vars
[
phy_vars_ue
->
current_thread_id
[
subframe
]]
[
eNB_id
]
->
dl_ch_estimates
;
chest_t
=
(
int16_t
**
)
phy_vars_ue
->
p
bch_vars
[
eNB_id
]
->
dl_ch_estimates_time
;
chest_f
=
(
int16_t
**
)
phy_vars_ue
->
p
bch_vars
[
eNB_id
]
->
dl_ch_estimates
;
pbch_llr
=
(
int16_t
*
)
phy_vars_ue
->
pbch_vars
[
eNB_id
]
->
llr
;
pbch_comp
=
(
int16_t
*
)
phy_vars_ue
->
pbch_vars
[
eNB_id
]
->
rxdataF_comp
[
0
];
...
...
@@ -697,8 +697,8 @@ void phy_scope_nrUE(FD_phy_scope_nrue *form,
if
(
chest_f
[(
atx
<<
1
)
+
arx
]
!=
NULL
)
{
for
(
k
=
0
;
k
<
frame_parms
->
ofdm_symbol_size
;
k
++
)
{
freq
[
ind
]
=
(
float
)
ind
;
Re
=
(
float
)(
chest_f
[(
atx
<<
1
)
+
arx
][(
2
*
k
)]);
Im
=
(
float
)(
chest_f
[(
atx
<<
1
)
+
arx
][(
2
*
k
)
+
1
]);
Re
=
(
float
)(
chest_f
[(
atx
<<
1
)
+
arx
][
6144
+
(
2
*
k
)]);
Im
=
(
float
)(
chest_f
[(
atx
<<
1
)
+
arx
][
6144
+
(
2
*
k
)
+
1
]);
chest_f_abs
[
ind
]
=
(
short
)
10
*
log10
(
1
.
0
+
((
double
)
Re
*
Re
+
(
double
)
Im
*
Im
));
ind
++
;
...
...
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
View file @
397480c1
...
...
@@ -4165,6 +4165,43 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
}
uint16_t
coreset_nb_rb
=
6
*
coreset_count
;
uint16_t
coreset_start_rb
=
6
*
coreset_start
;
slot_pbch
=
is_pbch_in_slot
(
pbch_config
,
frame_rx
,
nr_tti_rx
,
ssb_periodicity
,
ue
->
frame_parms
.
slots_per_frame
);
// looking for pbch only in slot where it is supposed to be
if
((
ue
->
decode_MIB
==
1
)
&&
slot_pbch
)
{
LOG_I
(
PHY
,
" ------ PBCH ChannelComp/LLR: frame.slot %d.%d ------
\n
"
,
frame_rx
%
1024
,
nr_tti_rx
);
for
(
int
i
=
1
;
i
<
4
;
i
++
)
{
nr_slot_fep
(
ue
,
(
ue
->
symbol_offset
+
i
)
%
(
ue
->
frame_parms
.
symbols_per_slot
),
nr_tti_rx
,
0
,
0
);
#if UE_TIMING_TRACE
start_meas
(
&
ue
->
dlsch_channel_estimation_stats
);
#endif
nr_pbch_channel_estimation
(
ue
,
0
,
nr_tti_rx
,(
ue
->
symbol_offset
+
i
)
%
(
ue
->
frame_parms
.
symbols_per_slot
),
i
-
1
,(
pbch_config
->
ssb_index
)
&
7
,
pbch_config
->
half_frame_bit
);
#if UE_TIMING_TRACE
stop_meas
(
&
ue
->
dlsch_channel_estimation_stats
);
#endif
}
nr_ue_pbch_procedures
(
eNB_id
,
ue
,
proc
,
0
);
if
(
ue
->
no_timing_correction
==
0
)
{
LOG_I
(
PHY
,
"start adjust sync slot = %d no timing %d
\n
"
,
nr_tti_rx
,
ue
->
no_timing_correction
);
nr_adjust_synch_ue
(
&
ue
->
frame_parms
,
ue
,
eNB_id
,
nr_tti_rx
,
0
,
16384
);
}
}
#ifdef NR_PDCCH_SCHED
nr_gold_pdcch
(
ue
,
0
,
2
);
...
...
@@ -4299,44 +4336,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_RA
,
VCD_FUNCTION_OUT
);
}
slot_pbch
=
is_pbch_in_slot
(
pbch_config
,
frame_rx
,
nr_tti_rx
,
ssb_periodicity
,
ue
->
frame_parms
.
slots_per_frame
);
// looking for pbch only in slot where it is supposed to be
if
((
ue
->
decode_MIB
==
1
)
&&
slot_pbch
)
{
LOG_I
(
PHY
,
" ------ PBCH ChannelComp/LLR: frame.slot %d.%d ------
\n
"
,
frame_rx
%
1024
,
nr_tti_rx
);
for
(
int
i
=
1
;
i
<
4
;
i
++
)
{
nr_slot_fep
(
ue
,
(
ue
->
symbol_offset
+
i
)
%
(
ue
->
frame_parms
.
symbols_per_slot
),
nr_tti_rx
,
0
,
0
);
#if UE_TIMING_TRACE
start_meas
(
&
ue
->
dlsch_channel_estimation_stats
);
#endif
nr_pbch_channel_estimation
(
ue
,
frame_rx
,
0
,
nr_tti_rx
,(
ue
->
symbol_offset
+
i
)
%
(
ue
->
frame_parms
.
symbols_per_slot
),
i
-
1
,(
pbch_config
->
ssb_index
)
&
7
,
pbch_config
->
half_frame_bit
);
#if UE_TIMING_TRACE
stop_meas
(
&
ue
->
dlsch_channel_estimation_stats
);
#endif
}
nr_ue_pbch_procedures
(
eNB_id
,
ue
,
proc
,
0
);
if
(
ue
->
no_timing_correction
==
0
)
{
LOG_D
(
PHY
,
"start adjust sync slot = %d no timing %d
\n
"
,
nr_tti_rx
,
ue
->
no_timing_correction
);
nr_adjust_synch_ue
(
&
ue
->
frame_parms
,
ue
,
eNB_id
,
nr_tti_rx
,
0
,
16384
);
}
}
// do procedures for C-RNTI
if
(
ue
->
dlsch
[
ue
->
current_thread_id
[
nr_tti_rx
]][
eNB_id
][
0
]
->
active
==
1
)
{
...
...
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