Skip to content
Snippets Groups Projects
Commit c8a61331 authored by Sakthivel Velumani's avatar Sakthivel Velumani
Browse files

Update UE design doc

parent 0004626a
No related branches found
No related tags found
No related merge requests found
...@@ -16,19 +16,20 @@ The UE exits when at any point in operation it gets out of synchronization. When ...@@ -16,19 +16,20 @@ The UE exits when at any point in operation it gets out of synchronization. When
## Initial Synchronization Block ## Initial Synchronization Block
```mermaid ```mermaid
graph TD graph TD
A(Start) -->|UE_thread| B["readFrame<br/>--Reads samples worth 2 frames"] start(Start) -->|UE_thread| rxRu["RU read<br/>(Reads two frames)"]
B --> |Tpool thread| C["UE_synch<br/>--PSS & SSS detection<br/>--PBCH decode"] rxRu --> |Tpool thread| sync["SSB detection<br/>(PSS & SSS detection<br/>PBCH decoding<br/>SIB decoding)"]
B --> |UE_thread| D["readFrame<br/>--trash samples to unblock radio"] rxRu --> |UE_thread| rxRuDummy["RU read<br/>(Dummy read till sync detection to avoid buffer overflow at radio)"]
C --> |Tpool thread| E[syncInFrame<br/>--shift first sample to start of frame] sync --> |Tpool thread| frameSync["Frame synchronization<br/>(Shift received samples to align with frame)"]
D --> |UE_thread| E rxRuDummy --> |UE_thread| frameSync
``` ```
## Regular Slot Processing ## Regular Slot Processing
```mermaid ```mermaid
graph TD graph TD
E[syncInFrame<br/>--shift first sample to start of frame] -->|UE_thread| F["trx_read_func (slot n)"] sync["Frame synchronization<br/>(Shift received samples to align with frame)"] -->|UE_thread| hw_read["RU read (slot n)"]
F --> |Tpool thread| G["processSlotTX (slot n+4)<br/>--PUSCH encode<br/>--PUCCH encode<br/>--trx_write_func"] hw_read --> |UE_thread| rxPreProc["PBCH & PDCCH decoding (slot n)"]
F --> |Tpool thread| J["UE_processing (slot n)<br/>--PDCCH decode<br/>--PDSCH decode"] hw_read --> |Tpool thread| txProc["Tx processing (slot n+3)<br/>PUSCH encode<br/>PUCCH encode (wait for DLSCH in slot n+3-k1 to finish)<br/>RU write"]
F --> |UE_thread| I(Merge) rxPreProc --> |Tpool thread| rxProc["PDSCH decoding (slot n)"]
G --> |Tpool thread| I rxPreProc --> |UE_thread| join(Merge)
I --> |Go to next slot<br/>UE_thread| F txProc --> |Tpool thread| join
join --> |Go to next slot<br/>UE_thread| hw_read
``` ```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment