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
wangjie
OpenXG-RAN
Commits
b4f46144
Commit
b4f46144
authored
5 years ago
by
Sakthivel Velumani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed bugs in frame sync for UE
UE is a bit more stable now
parent
5c041cc1
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
14 additions
and
4 deletions
+14
-4
executables/nr-ue.c
executables/nr-ue.c
+6
-3
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
+7
-1
openair1/PHY/defs_nr_UE.h
openair1/PHY/defs_nr_UE.h
+1
-0
No files found.
executables/nr-ue.c
View file @
b4f46144
...
...
@@ -666,6 +666,8 @@ void *UE_thread(void *arg) {
int
thread_idx
=
0
;
notifiedFIFO_t
freeBlocks
;
initNotifiedFIFO_nothreadSafe
(
&
freeBlocks
);
NR_UE_MAC_INST_t
*
mac
=
get_mac_inst
(
0
);
for
(
int
i
=
0
;
i
<
RX_NB_TH
+
1
;
i
++
)
// RX_NB_TH working + 1 we are making to be pushed
pushNotifiedFIFO_nothreadSafe
(
&
freeBlocks
,
...
...
@@ -683,11 +685,12 @@ void *UE_thread(void *arg) {
syncRunning
=
false
;
syncData_t
*
tmp
=
(
syncData_t
*
)
NotifiedFifoData
(
res
);
// shift the frame index with all the frames we trashed meanwhile we perform the synch search
decoded_frame_rx
=
(
tmp
->
proc
.
decoded_frame_rx
+
trashed_frames
)
%
MAX_FRAME_NUMBER
;
decoded_frame_rx
=
((((
mac
->
mib
->
systemFrameNumber
.
buf
[
0
]
>>
mac
->
mib
->
systemFrameNumber
.
bits_unused
)
<<
4
)
|
tmp
->
proc
.
decoded_frame_rx
)
+
(
!
UE
->
init_sync_frame
)
+
trashed_frames
)
%
MAX_FRAME_NUMBER
;
delNotifiedFIFO_elt
(
res
);
}
else
{
readFrame
(
UE
,
&
timestamp
,
true
);
trashed_frames
+
+
;
trashed_frames
+
=
2
;
continue
;
}
}
...
...
@@ -722,7 +725,7 @@ void *UE_thread(void *arg) {
// and we shifted above to the first slot of next frame
decoded_frame_rx
++
;
// we do ++ first in the regular processing, so it will be begin of frame;
absolute_slot
=
decoded_frame_rx
*
nb_slot_frame
+
nb_slot_frame
-
1
;
absolute_slot
=
decoded_frame_rx
*
nb_slot_frame
-
1
;
continue
;
}
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
View file @
b4f46144
...
...
@@ -303,7 +303,13 @@ int nr_initial_sync(UE_nr_rxtx_proc_t *proc, PHY_VARS_NR_UE *ue, runmode_t mode,
// sync at symbol ue->symbol_offset
// computing the offset wrt the beginning of the frame
sync_pos_frame
=
(
fp
->
ofdm_symbol_size
+
fp
->
nb_prefix_samples0
)
+
((
ue
->
symbol_offset
)
-
1
)
*
(
fp
->
ofdm_symbol_size
+
fp
->
nb_prefix_samples
);
ue
->
rx_offset
=
ue
->
ssb_offset
-
sync_pos_frame
;
if
(
ue
->
ssb_offset
<
sync_pos_frame
)
ue
->
rx_offset
=
fp
->
samples_per_frame
-
sync_pos_frame
+
ue
->
ssb_offset
;
else
ue
->
rx_offset
=
ue
->
ssb_offset
-
sync_pos_frame
;
ue
->
init_sync_frame
=
is
;
}
nr_gold_pdcch
(
ue
,
0
,
2
);
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/defs_nr_UE.h
View file @
b4f46144
...
...
@@ -1012,6 +1012,7 @@ typedef struct {
// uint8_t prach_timer;
uint8_t
decode_SIB
;
uint8_t
decode_MIB
;
uint8_t
init_sync_frame
;
/// temporary offset during cell search prior to MIB decoding
int
ssb_offset
;
uint16_t
symbol_offset
;
// offset in terms of symbols for detected ssb in sync
...
...
This diff is collapsed.
Click to expand it.
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