# Daily Note 22/07/2020
###### tags: `Daily Notes` , `O-RAN`
## Name : Christofel Rio Goenawan
## University : Bandung Institute of Technology (ITB)
---
## Schedule:
1. Weekly Meeting
2. Study background ( what ? why ? how ? ) about O- DU High
3. Study background ( what ? why ? how ? ) about O- DU Low
## Outcome :
1. Explain the detailed background and architectures of O- DU High.
2. Explain the detailed background and architectures of O- DU Low.
## Further Plan :
- Study more detailed about O-DU High and Low
- Study more detailed about AIO Installation in Kubernets
- Try to deploy Acumos AIO in NTUST server
---
## Daily Log
### 1.Weekly Meeting. <mark>(9.00)</mark>
- In this meeting Writer presents the progress and latest result to Prof Ray, mentors and internee.
### 2.Study background ( what ? why ? how ? ) about O- DU High <mark>(11.30)</mark>
- Study more detail explanation in [Documentation](https://wiki.o-ran-sc.org/display/ORANDU/O-DU+High) and other sources.
### 3. Study background ( what ? why ? how ? ) about O- DU Low <mark>(14.30)</mark>
- Study more detail explanation in [Documentation](https://static1.squarespace.com/static/5ad774cce74940d7115044b0/t/5d8f874c4e12d813b0d5435a/1569687378988/ORAN-WG8.AAD.0-v1.0.pdf).
---
## Report
### 1. How O- DU High works ?
>In this note Writer use [Documentation](https://wiki.o-ran-sc.org/display/ORANDU/O-DU+High) and [Ferlinda's Note](https://hackmd.io/@ferlinda/ry-JAbXL8) as study sources.
#### What is O-DU High ?
From reference , **O-DU (High) project provides the implementation of F1AP, RLC, MAC, Scheduler modules and API between them. O-DU High’s scope is to leverage seed code of 5GNR RLC and MAC protocol functions and developing F1AP module, CU stub and L1 Stub. Architecture shown below**.
#### O- DU High Architecture
The simple O- DU High architecture can be seen as below.

#### O- DU Thread Components
From scheme above we can see O- DU Thread Components as below.
- **Thread 1**: O-DU thread
- **Thread 2**: DU APP inclusive of Config Handler, DU Manager, UE Manager, EGTP Handler and ASN.1 Codecs
- **Thread 3**: 5G NR RLC DL and MAC (inclusive of 5G NR SCH and Lower MAC)
- **Thread 4**: 5G NR RLC UL
- **Thread 5**: SCTP Handler
#### O- DU Modules
From Ferlinda's Note there are 4 main modules as below.
1. **DU APP**
This module configures and manages all the operations of O-DU.
It interfaces with external entities as follows:
- **OAM**: Interacts on the O1 interface for configuration, alarms and performance management.
- **O-CU**: For RAN functionalities over the F1 interface, built on SCTP. Control messages are exchanged on the F1-C interface and data messages on the F1-U interface.
- **RIC**: Interacts on E2 interface over SCTP.
DU App submodules are as follows:
**Config Handler** manages the configurations received on O1 interfaces and stores them within DU APP context.
- **DU Manager** handles all cell operations at the DU APP.
- **UE Manager** handles UE contexts at the DU APP.
- **SCTP handler** is responsible for establishing SCTP connections with O-CU, RIC.
- **EGTP handler** is responsible for establishing EGTP connection with O-CU for data message exchange.
- **ASN.1 Codecs** contain ASN.1 encode/decode functions which are used for System information, F1AP and E2AP messages.
2. **5G NR RLC**
Provides services for transferring the control and data messages between MAC layer and OCU (via DU App).
Submodules: 5G NR RLC UL (Uplink) and 5G NR RLC DL (Downlink)
3. **5G NR MAC**
This module uses the services of the NR physical layer to send and receive data on the various logical channels.
Functions of the 5G NR MAC module are as follows:
- 5G NR MAC is responsible for multiplexing and de-multiplexing of the data on various logical channels.
- 5G NR SCH schedules resources on UL and DL for cell and UE based procedures.
- Lower MAC interfaces between the MAC and the lower layers of the O-DU and implements all the messages of FAPI specification.
4. **O-DU Utility and Common Functions**
These modules help in the working of O-DU and message exchanges between the O-DU modules.
:::info
**Next Writer will learn more detailed about O- DU High**
:::
---
### 2. How O- DU Low works ?
> In this note Writer use [Documentation](https://static1.squarespace.com/static/5ad774cce74940d7115044b0/t/5d8f874c4e12d813b0d5435a/1569687378988/ORAN-WG8.AAD.0-v1.0.pdf) and [Ferlinda's Note](https://hackmd.io/@ferlinda/BJ6dLz06U) as study sources.
#### General Architectures
From reference , Simple O- DU Low architecture can be seen as below.

L1 functional development mainly focus on the open interface development, three interfaces will be involved to interact with L1 as above.
#### Software Architectures
The communication between O-DU High and O-DU Low can be seen as simple scheme below, through interface FAPI.

#### Functional Block
The simple functional block of O- DU Low can be seen as below.

#### Functionality
From scheme above , we can see there are 8 functionality as below.
1. **PUSCH (Physical Uplink Shared Channel)**
This functionality consist of these steps as below.
- Transport Block CRC attachment
- Code block segmentation and Code Block CRC attachment
- Channel coding: LDPC coding
- Physical layer hybrid-ARQ processing
- Rate matching
- Scrambling
- Modulation: π/2 BPSK (with transform precoding only), QPSK, 16QAM, 64QAM and 256QAM
- Layer mapping, transform precoding (enabled/disabled by configuration), and precoding
- Mapping to assigned resources and antenna ports
2. **PUCCH (Physical Uplick Control Channel)**
Conveys Uplink Control Information (UCI).
Control message including:
- HARQ-ACK (Hybrid Automated Repeat Request Acknowledgement)
- Scheduling Request (SR)
- Channel State Information (CSI)
3. **Uplink Reference Signals**
There are 3 main functionality as below.
- Demodulation Reference Signal (DMRS) for PUSCH and PUCCH
- Phase Tracking Reference Signal (PTRS)
- Sounding Reference Signal (SRS)
4. **PDSCH (Physical Donwlink Shared Channel)**
This functionality consist of following steps
* Transport Block CRC attachment
* Code block segmentation and Code Block CRC attachment
* Channel coding: LDPC coding
* Physical layer hybrid-ARQ processing
* Rate matching
* Scrambling
* Modulation: QPSK, 16QAM, 64QAM and 256QAM
* Layer mapping
* Mapping to assigned resources and antenna ports
The Functional Blocks can be seen as below.

5. **Fronthaul Module**
Carries out the communication between the O-DU and O-RU.
Example implementation of hardware accelerated packet processing:

The FH library APIs:

O-RAN FH Lib is developed according to the O-RAN WG4 specification. It performs communication between the O-DU and RU and consists of multiple HW and SW components. Logical representation of HW and SW components is shown as below diagram:

6. **PDCCH (Physical Downlink Control Channel)**
This function consists of the steps as below.
* Carries control information (DCI) such as scheduling information and resource grant to UEs.
* Includes one or more control channel elements (CCE, consists of 6 resource element group) based on the aggregation level defined by 3GPP specification.
* Processing flow is similar to PDSCH
* Control channel: polar code
* Modulation scheme: QPSK modulation
7. **Downlink Reference Signals**
This function consists of the steps as below.
- Demodulation Reference Signal (DMRS) for PDSCH, PDCCH and PBCH.
- Phase Tracking Reference Signal (PTRS)
- Channel State Information Reference Signal (CSI-RS)
---
## Reference
1. https://wiki.o-ran-sc.org/display/ORANDU/O-DU+High
2. https://static1.squarespace.com/static/5ad774cce74940d7115044b0/t/5d8f874c4e12d813b0d5435a/1569687378988/ORAN-WG8.AAD.0-v1.0.pdf