\usepackage{setspace}\usepackage{amsmath}\usepackage{stackrel}
[encoded data, 30076 characters] V1yWX1NXVddQ09fXs2DBoi2btwObbU+ePBvNVpgAADfb3Qk=
[encoded data, 48253 characters] AQEBAQEBAQEBAQEBAQEBAQEBAQEBARv/PyjEf5A=
[encoded data, 150380 characters] wJn/A5vjFyA=
0 0 m -1 0.333 l -1 -0.333 l h 0 0 m -1 0.333 l -1 -0.333 l h 0 0 m -1 0.333 l -0.8 0 l -1 -0.333 l h 0 0 m -1 0.333 l -0.8 0 l -1 -0.333 l h 0.6 0 0 0.6 0 0 e 0.4 0 0 0.4 0 0 e 0.6 0 0 0.6 0 0 e 0.5 0 0 0.5 0 0 e 0.6 0 0 0.6 0 0 e 0.4 0 0 0.4 0 0 e -0.6 -0.6 m 0.6 -0.6 l 0.6 0.6 l -0.6 0.6 l h -0.4 -0.4 m 0.4 -0.4 l 0.4 0.4 l -0.4 0.4 l h -0.6 -0.6 m 0.6 -0.6 l 0.6 0.6 l -0.6 0.6 l h -0.5 -0.5 m 0.5 -0.5 l 0.5 0.5 l -0.5 0.5 l h -0.6 -0.6 m 0.6 -0.6 l 0.6 0.6 l -0.6 0.6 l h -0.4 -0.4 m 0.4 -0.4 l 0.4 0.4 l -0.4 0.4 l h -0.43 -0.57 m 0.57 0.43 l 0.43 0.57 l -0.57 -0.43 l h -0.43 0.57 m 0.57 -0.43 l 0.43 -0.57 l -0.57 0.43 l h 0 0 m -1 0.333 l -1 -0.333 l h 0 0 m -1 0.333 l -0.8 0 l -1 -0.333 l h 0 0 m -1 0.333 l -0.8 0 l -1 -0.333 l h -1 0.333 m 0 0 l -1 -0.333 l 0 0 m -1 0.333 l -1 -0.333 l h -1 0 m -2 0.333 l -2 -0.333 l h 0 0 m -1 0.333 l -1 -0.333 l h -1 0 m -2 0.333 l -2 -0.333 l h
0 0 m -1 0.333 l -1 -0.333 l h 0 0 m -1 0.333 l -1 -0.333 l h 0.6 0 0 0.6 0 0 e 0.4 0 0 0.4 0 0 e 0.6 0 0 0.6 0 0 e 0.5 0 0 0.5 0 0 e 0.6 0 0 0.6 0 0 e 0.4 0 0 0.4 0 0 e -0.6 -0.6 m 0.6 -0.6 l 0.6 0.6 l -0.6 0.6 l h -0.4 -0.4 m 0.4 -0.4 l 0.4 0.4 l -0.4 0.4 l h -0.6 -0.6 m 0.6 -0.6 l 0.6 0.6 l -0.6 0.6 l h -0.5 -0.5 m 0.5 -0.5 l 0.5 0.5 l -0.5 0.5 l h -0.6 -0.6 m 0.6 -0.6 l 0.6 0.6 l -0.6 0.6 l h -0.4 -0.4 m 0.4 -0.4 l 0.4 0.4 l -0.4 0.4 l h -0.43 -0.57 m 0.57 0.43 l 0.43 0.57 l -0.57 -0.43 l h -0.43 0.57 m 0.57 -0.43 l 0.43 -0.57 l -0.57 0.43 l h 0 0 m -1 0.333 l -1 -0.333 l h 0 0 m -1 0.333 l -0.8 0 l -1 -0.333 l h 0 0 m -1 0.333 l -0.8 0 l -1 -0.333 l h -1 0.333 m 0 0 l -1 -0.333 l 0 0 m -1 0.333 l -1 -0.333 l h -1 0 m -2 0.333 l -2 -0.333 l h 0 0 m -1 0.333 l -1 -0.333 l h -1 0 m -2 0.333 l -2 -0.333 l h \renewcommand\rmdefault{cmss} \makeatletter \leftmargini 1.5em \leftmargin \leftmargini \leftmarginii 1.2em \leftmarginiii 1em \def\@listI{\leftmargin\leftmargini \parsep \z@ \partopsep 3pt \topsep \z@ \itemsep \z@} \@listI \def\@listii {\leftmargin\leftmarginii \labelwidth\leftmarginii \advance\labelwidth-\labelsep \topsep \z@ \parsep \z@ \itemsep \parsep} \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii \advance\labelwidth-\labelsep \topsep \z@ \parsep \z@ \partopsep \z@ \itemsep \topsep} \makeatother
Some Preliminaries
\begin{itemize} \item This description corresponds to the {\tt RU-RAU-split} branch for RAN infrastructure components (located in {\tt targets/DOCS/oai\_L1\_L2\_procedures.pdf}, editable with {\tt ipe}) \item we describe \begin{enumerate} \item node functions \item current functional splits and packet formats \item RAN procedures \item process scheduling \end{enumerate} \end{itemize}
NGFI Harmonization in OAI
\small \begin{itemize} \item New descriptions for OAI RAN infrastructure Node Functions \begin{itemize} \item{\tt NGFI\_RCC} : Radio Cloud Center \item{\tt NGFI\_RAU} : Radio Aggregation Unit \item{\tt NGFI\_RRU} : Remote Radio Unit \item{\tt 3GPP\_BBU} : Baseband Unit \item{\tt 3GPP\_eNodeB} : Complete eNodeB \end{itemize} \end{itemize}
\small Source: China Mobile - {\tt http://www.windriver.com.cn/windforum/download/wf2015\_networking03.pdf}
\small\begin{itemize} \item Current OAI implementation (RRU/RCC) supports either \begin{itemize} \item IF5 time-domain fronthaul ($>$ 1 GbE required) \item IF4.5 split (FFTs) (280 Mbit/s/antenna port fronthaul – 20 MHz carrier) per carrier/sector \item Soon IF2 (NFAPI) \item IF1’ for “PDCP/RRC” soon (3GPP Fh-C/Fh-U) \end{itemize} \end{itemize}
NGFI split points
OAI RAN Software Architecture
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
528 64 m 528 32 l 640 32 l 640 64 l h
528 64 m 528 32 l 640 32 l 640 64 l h
528 101 m 528 48 l 736 48 l 736 101 l h
392 376 m 392 296 l 512 296 l 512 376 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
392 376 m 392 296 l 512 296 l 512 376 l h
136 312 m 136 272 l 200 272 l 200 312 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
624 336 m 624 336 l 624 336 l 624 336 l h
608 336 m 608 336 l 608 336 l 608 336 l h
\tiny\bf LTE\\ MODEM
576 384 m 576 336 l 640 336 l 640 384 l h
624 336 m 624 336 l 624 336 l 624 336 l h
608 336 m 608 336 l 608 336 l 608 336 l h
624 336 m 624 336 l 624 336 l 624 336 l h
608 336 m 608 336 l 608 336 l 608 336 l h
624 336 m 624 336 l 624 336 l 624 336 l h
608 336 m 608 336 l 608 336 l 608 336 l h
96 408 m 96 360 l 208 360 l 208 408 l h
624 336 m 624 336 l 624 336 l 624 336 l h
608 336 m 608 336 l 608 336 l 608 336 l h
\tiny\bf LTE/NR/NB\\ PDCP
128 320 m 128 280 l 192 280 l 192 320 l h
624 336 m 624 336 l 624 336 l 624 336 l h
608 336 m 608 336 l 608 336 l 608 336 l h
\tiny\bf LTE\\ RRC
112 464 m 112 440 l 648 440 l 648 464 l h
432 224 m 432 224 l 432 224 l 432 224 l h
\bf OSS/BSS/MEC
192 296 m 232 296 l 232 404 l 256 404 l
144 288 m 144 320 l
384 368 m 448 368 l
384 352 m 448 352 l
152 456 m 152 368 l
304 456 m 304 408 l
456 456 m 456 416 l
600 456 m 600 409 l
512 368 m 576 368 l
512 352 m 576 352 l
88 384 m 8 384 l
128 264 m 8 264 l
OAI Functional Splits
576 384 m 576 336 l 640 336 l 640 384 l h
\bf\tiny LTE-L1
192 368 m 96 368 l
192 368 m 96 368 l
192 368 m 96 368 l
\bf\tiny Management
\bf\tiny data (user/control plane)
\bf\tiny configuration
576 384 m 576 336 l 640 336 l 640 384 l h
\tiny\bf LTE\\ MAC-RLC
288 432 m 288 432 l 288 432 l 288 432 l h
240 460 m 240 40 l 520 40 l 520 460 l h
384 416 m 384 416 l 384 416 l 384 416 l h
560 416 m 560 336 l 656 336 l 656 416 l h
88 456 m 88 40 l 216 40 l 216 221 l 216 261 l 216 456 l 100.8 456 l 88 456 l
\bf\tiny Radio-Cloud Center (RCC)
\tiny\bf Radio-Access Unit (RAU)
136 248 m 136 208 l 200 208 l 200 248 l h
128 256 m 128 216 l 192 216 l 192 256 l h
\tiny\bf NR\\ RRC
128 229 m 112 229 l 112 261 l 112 360 l
488 368 m 488 304 l 504 304 l 504 368 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
624 336 m 624 336 l 624 336 l 624 336 l h
608 336 m 608 336 l 608 336 l 608 336 l h
624 336 m 624 336 l 624 336 l 624 336 l h
608 336 m 608 336 l 608 336 l 608 336 l h
624 336 m 624 336 l 624 336 l 624 336 l h
608 336 m 608 336 l 608 336 l 608 336 l h
384 368 m 448 368 l
384 352 m 448 352 l
576 384 m 576 336 l 640 336 l 640 384 l h
\bf\tiny NR-L1
\tiny\bf NR\\ MAC-RLC
488 368 m 488 304 l 504 304 l 504 368 l h
\tiny PRECODE
\tiny PRECODE
576 384 m 576 336 l 640 336 l 640 384 l h
624 336 m 624 336 l 624 336 l 624 336 l h
608 336 m 608 336 l 608 336 l 608 336 l h
\tiny\bf NR\\ MODEM
512 368 m 576 368 l
512 352 m 576 352 l
560 231 m 560 160 l 656 160 l 656 231 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
624 336 m 624 336 l 624 336 l 624 336 l h
608 336 m 608 336 l 608 336 l 608 336 l h
624 336 m 624 336 l 624 336 l 624 336 l h
608 336 m 608 336 l 608 336 l 608 336 l h
624 336 m 624 336 l 624 336 l 624 336 l h
608 336 m 608 336 l 608 336 l 608 336 l h
336 264 m 536 264 l
336 248 m 536 248 l
576 384 m 576 336 l 640 336 l 640 384 l h
\bf\tiny LTE-L1
576 384 m 576 336 l 640 336 l 640 384 l h
\tiny\bf LTE\\ MAC-RLC
488 368 m 488 304 l 504 304 l 504 368 l h
\tiny PRECODE
576 384 m 576 336 l 640 336 l 640 384 l h
624 336 m 624 336 l 624 336 l 624 336 l h
608 336 m 608 336 l 608 336 l 608 336 l h
\tiny\bf LTE\\ MODEM
232 264 m 256 264 l
256 424 m 224 424 l 224 316 l 256 316 l
64 264 m 64 264 l
528 288 m 528 208 l 736 208 l 736 288 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
\tiny\bf NR\\ MAC-RLC
576 384 m 576 336 l 640 336 l 640 384 l h
\tiny\bf NB-IoT\\ MAC-RLC
128 264 m 8 264 l
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
576 384 m 576 336 l 640 336 l 640 384 l h
624 336 m 624 336 l 624 336 l 624 336 l h
608 336 m 608 336 l 608 336 l 608 336 l h
624 336 m 624 336 l 624 336 l 624 336 l h
608 336 m 608 336 l 608 336 l 608 336 l h
336 264 m 536 264 l
336 248 m 536 248 l
576 384 m 576 336 l 640 336 l 640 384 l h
\bf\tiny NR-L1
488 368 m 488 304 l 504 304 l 504 368 l h
\tiny PRECODE
576 384 m 576 336 l 640 336 l 640 384 l h
624 336 m 624 336 l 624 336 l 624 336 l h
608 336 m 608 336 l 608 336 l 608 336 l h
\tiny\bf NR\\ MODEM
528 288 m 528 208 l 736 208 l 736 288 l h
\tiny\bf Remote Radio-Unit (RRU)
336 72 m 576 72 l
336 86 m 576 88 l
576 384 m 576 336 l 640 336 l 640 384 l h
\tiny\bf NB-IoT\\ RRC
128 264 m 8 264 l
104 360 m 104 88 l 120 88 l
192 88 m 256 88 l
528 64 m 528 32 l 640 32 l 640 64 l h
\tiny\bf NB-IoT\\ L1/MODEM
224 384 m 208 384 l
192 240 m 256 240 l
232 240 m 232 168 l 256 168 l
224 192 m 224 192 l
224 192 m 224 192 l
224 312 m 224 72 l 256 72 l
OAI Functional Splits
\tiny\begin{itemize} \item OAI currently implements the following entities in openairinterface5g \begin{itemize} \item LTE-MODEM (eNB 36.211 OFDM modulation/demodulation) \item LTE-L1 (eNB 36.211/212/213) \item LTE-MACRLC (eNB 36.321/322) \item LTE-PDCP (eNB PDCP/GTPU 36.323) \item LTE-RRC (eNB RRC/SCTP 36.331) \end{itemize} \item Each entity comprises \begin{itemize} \item a northbound interface (backhaul/midhaul/fronthaul and configuration) \item a southbound interface (midaul/fronthaul and configuration) \item one or two management interfaces \item Three computing nodes \begin{itemize} \item {\bf Radio Cloud Center (RCC)} : multiple RRC/PDCP entities \item {\bf Radio-Access Unit (RAU)}: multiple MACRLC entities with medium-latency midhaul and L1 entities with low-latency fronthaul. \item {\bf Remote Radio-Unit (RRU)}: Equipment at radio site. Varying degrees of processing elements depending on fronthaul/midhaul interface. \end{itemize} \end{itemize} \item Each entity has a configuration which is a local file or received via the management interface \item default interface between all entities is implemented using a UDP socket. Transport is configurable via a dynamically-loadable networking device \end{itemize}
288 192 m 288 64 l 432 64 l 432 192 l h
OAI entity
336 171 m 336 208 l
384 171 m 384 208 l
336 171 m 336 208 l
384 171 m 384 208 l
240 80 m 288 80 l
240 80 m 288 80 l
16 0 0 16 288 224 e
16 0 0 16 288 224 e
\tiny\bf Northbound interface
\tiny\bf Southbound interface
\tiny\bf data
\tiny\bf data
\tiny\bf in-band configuration
\tiny\bf in-band configuration
\tiny\bf OSS/BSS
\tiny\bf FlexRAN
240 80 m 288 80 l
\tiny\tt .conf
511.895 513.539 m 511.895 14.2386 l 734.284 14.2386 l 734.284 513.539 l h
511.895 513.539 m 511.895 14.2386 l 734.284 14.2386 l 734.284 513.539 l h
511.895 513.539 m 511.895 14.2386 l 734.284 14.2386 l 734.284 513.539 l h
16 432 m 16 112 l 192 112 l 192 432 l h
16 432 m 16 112 l 192 112 l 192 432 l h
Functional Splits (Current)
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} MAC TX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PDCP TX \end{tiny}
\setstretch{.5}\begin{tiny} RLC TX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} MAC RX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PDCP RX \end{tiny}
\setstretch{.5}\begin{tiny} RLC RX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} RRC \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} GTP-C \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} GTP-U \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY TX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY RX \end{tiny}
384 432 m 384 384 l
384 432 m 384 384 l
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt rf\_device} \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} MAC TX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PDCP TX \end{tiny}
\setstretch{.5}\begin{tiny} RLC TX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} MAC RX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PDCP RX \end{tiny}
\setstretch{.5}\begin{tiny} RLC RX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} RRC \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} GTP-C \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} GTP-U \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY TX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY RX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt if\_device} \end{tiny}
3GPP\_eNodeB
3GPP\_BBU
\tiny to MME
\tiny to S-PGw
384 432 m 384 384 l
384 432 m 384 384 l
\tiny to MME
\tiny to S-PGw
160 112 m 160 112 l 160 112 l 160 112 l h
144 112 m 144 112 l 144 112 l 144 112 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt USB3 or PCIe} \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt NFGI\_IF5 / ethernet} \end{tiny}
16 432 m 16 112 l 192 112 l 192 432 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} MAC TX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PDCP TX \end{tiny}
\setstretch{.5}\begin{tiny} RLC TX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} MAC RX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PDCP RX \end{tiny}
\setstretch{.5}\begin{tiny} RLC RX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} RRC \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} GTP-C \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} GTP-U \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} upper-PHY RX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt if\_device} \end{tiny}
NGFI\_RCC (IF4.5)
384 432 m 384 384 l
384 432 m 384 384 l
\tiny to MME
\tiny to S-PGw
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt NFGI\_IF4p5 / ethernet} \end{tiny}
\setstretch{.5}\begin{tiny} upper-PHY TX \end{tiny}
384 432 m 384 384 l
\tiny to NGFI\_RRU
384 432 m 384 384 l
\tiny to NGFI\_RRU or RRH\_gw
384 432 m 384 384 l
\tiny to RF Device
1.83417 462.604 m 1.83417 50.8252 l 207.006 50.8252 l 207.006 462.604 l h
1.83417 462.604 m 1.83417 50.8252 l 207.006 50.8252 l 207.006 462.604 l h
16 432 m 16 112 l 192 112 l 192 432 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} MAC TX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PDCP TX \end{tiny}
\setstretch{.5}\begin{tiny} RLC TX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} MAC RX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PDCP RX \end{tiny}
\setstretch{.5}\begin{tiny} RLC RX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} RRC \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} GTP-C \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} GTP-U \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt if\_device} \end{tiny}
NGFI\_RCC (IF1'')
384 432 m 384 384 l
384 432 m 384 384 l
\tiny to MME
\tiny to S-PGw
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt NFGI\_IF1pp} / ethernet \end{tiny}
16 432 m 16 112 l 192 112 l 192 432 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PDCP TX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PDCP RX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} RRC \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} GTP-C \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} GTP-U \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt if\_device} \end{tiny}
NGFI\_RCC (IF1')
384 432 m 384 384 l
384 432 m 384 384 l
\tiny to MME
\tiny to S-PGw
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt NFGI\_IF1p} / ethernet \end{tiny}
\tiny to NGFI\_RRU
384 432 m 384 384 l
\tiny to NGFI\_RAU
384 432 m 384 384 l
\tiny to NGFI\_RAU
Functional Splits (Current)
1.83417 462.604 m 1.83417 50.8252 l 207.006 50.8252 l 207.006 462.604 l h
16 432 m 16 112 l 192 112 l 192 432 l h
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} upper-PHY RX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt if\_device} \end{tiny}
NGFI\_RAU(IF1'')
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt NFGI\_IF4p5 / ethernet} \end{tiny}
\setstretch{.5}\begin{tiny} upper-PHY TX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt if\_device} \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt NFGI\_IF1pp / ethernet} \end{tiny}
384 432 m 384 384 l
\tiny to NGFI\_RCC
384 432 m 384 384 l
\tiny to NGFI\_RRU
1.83417 462.604 m 1.83417 50.8252 l 207.006 50.8252 l 207.006 462.604 l h
1.83417 462.604 m 1.83417 50.8252 l 207.006 50.8252 l 207.006 462.604 l h
1.83417 462.604 m 1.83417 50.8252 l 207.006 50.8252 l 207.006 462.604 l h
16 432 m 16 112 l 192 112 l 192 432 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt if\_device} \end{tiny}
NGFI\_RRU (IF5)
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt NFGI\_IF5/ ethernet} \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt rf\_device} \end{tiny}
NGFI\_RRU (IF4.5)
384 432 m 384 384 l
\tiny to NGFI\_RCC, NGFI\_RAU,3GPP\_BBU
384 432 m 384 384 l
\tiny to RF Device
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt USB3, PCIe, CPRI} \end{tiny}
16 432 m 16 112 l 192 112 l 192 432 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt if\_device} \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt NFGI\_IF4p5/ ethernet} \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt rf\_device} \end{tiny}
384 432 m 384 384 l
\tiny to NGFI\_RCC, NGFI\_RAU
384 432 m 384 384 l
\tiny to RF Device
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt USB3, PCIe, CPRI} \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} lower-PHY RX \end{tiny}
\setstretch{.5}\begin{tiny} lower-PHY TX \end{tiny}
16 432 m 16 112 l 192 112 l 192 432 l h
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt if\_device} \end{tiny}
\setstretch{.5}\begin{tiny} upper-PHY TX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt if\_device} \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt NFGI\_IF1pp\_4P5 / ethernet} \end{tiny}
384 432 m 384 384 l
\tiny to NGFI\_RCC, NGFI\_RAU
384 432 m 384 384 l
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt USB3, PCIe, CPRI} \end{tiny}
\tiny to RF Device
Functional Splits (Current)
NGFI\_RRU\par (IF1'')
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} lower-PHY RX \end{tiny}
\setstretch{.5}\begin{tiny} lower-PHY TX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} upper-PHY RX \end{tiny}
Some Notes on usage of splits
\tiny\begin{itemize} \item IF4p5 corresponds to the split-point at the input (TX) and output (RX) of the OFDM symbol generator (i.e. frequency-domain signals). According to NGFI, IF4 is "Resource mapping and IFFT" and "FFT and Resource demapping". We currently do not try to exploit multiplexing gains for unused spectral components. So, IF4p5 is simply compressed transmitted or received resource elements in the usable channel band. \item The simplest deployment for DAS (indoor) is one NGFI\_RCC (IF4p5) and many NGFI\_RRU (IF4p5). Spatio-temportal filtering (Precoding, later) is done in RCC and RRU perform IFFT/FFT and signal generation/acquisition. Fronthaul rates in this case are feasible with 1GbE copper links. This allows for PoE in addition to fronthaul data. \item More complex indoor, for instance with RCC in a common data center with outdoor RRS, could be \begin{enumerate} \item RCC-RAU with IF1'', RAU-RRU with IF4p5. Spatio-temporal filtering is done in frequency-domain in RAU along with full TX and RX processing (L1/L2) for the indoor RRS. Note that IF1' fronthaul on TX to RRU would be difficult because spatio-temporal filtering should be used. RRU does only IFFT/FFT and signal generation/acquisition \item RCC-RAU with IF1', RAU-RRU with IF4p5. Here RCC does L2, RAU does L1 and precoding for RRS. \end{enumerate} \item A massive-MIMO solution would consist either of \begin{enumerate} \item an embedded RAU with processing (Spatio-temporal in frequency-domain, lower/upper PHY TX/RX) like the IF1' DAS solution above \item or more simply a high-speed fronthaul (IF4p5) with an RAU for multiple sites \item directly connected to RCC via high-speed IF4p5 (several virtual cells, precoder and IFFT/FFT in array). \end{enumerate} \item RCC solution with IF1'' would cater to evolved-PDCP for heterogenity (4G,5G,WIFI,IoT) \item Currently supported node functionalities \begin{enumerate} \item {\tt 3GPP\_eNodeB} \item {\tt 3GPP\_eNodeB\_BBU} [NGFI\_IF5] \item {\tt NGFI\_RCC} [NGFI\_IF4p5] \item {\tt NGFI\_RRU} [NGFI\_IF5] \item {\tt NGFI\_RRU} [NGFI\_IF4p5] \end{enumerate} \end{itemize}
RU - L1 negotiation
64 448 m 64 256 l 256 256 l 256 448 l h
64 448 m 64 256 l 256 256 l 256 448 l h
RRU Entity
RAU/RCC Entity
544 192 m 544 256 l
256 320 m 448 320 l
448 288 m 256 288 l
544 192 m 544 256 l
\tiny\tt .conf
\tiny\tt .conf
\tiny\tt fronthaul data (IF5,IF4p5)
256 320 m 448 320 l
448 288 m 256 288 l
\tiny\tt RRU control/config
\begin{small} Control and Configuration protocol \begin{enumerate} \item RAU$\rightarrow$ RRU : heartbeat (capabilities request) \item RRU$\rightarrow$ RAU: capabilities indication \item RAU$\rightarrow$ RRU: configuration (band, dl\_Carrier,ul\_Carrier, dl\_RS\_EPRE, rx/tx attenuation) \end{enumerate} \end{small} During steady state, the control port manages the link quality and status (packet losses, synchronization state, start/stop, etc.)
\begin{small} \begin{itemize} \item IF5 interface \begin{itemize} \item DL subframes with timestamp (16-bit samples) \item UL subframes with timestamp (16-bit samples) \item optional A-law compression (13$\rightarrow$8bit) \end{itemize} \item IF4p5 interface \begin{itemize} \item DL packets, ofdm symbols with frame/subframe/symbol count \item UL packets, ofdm symbols with frame/subframe/symbol count (16-bit) \item UL PRACH packets with frame/subframe count (16-bit) \item optional A-law compression (13$\rightarrow$8bit) \end{itemize} \end{itemize} \end{small}
RU - L1 data plane
544 288 m 544 256 l 704 256 l 704 288 l h
IF5 Packet Format (16-bit)
64 352 m 64 320 l 224 320 l 224 352 l h
64 352 m 64 320 l 224 320 l 224 352 l h
64 352 m 64 320 l 224 320 l 224 352 l h
64 352 m 64 320 l 224 320 l 224 352 l h
0
16
32
48
15
31
47
63
64 320 m 64 288 l 544 288 l 544 320 l h
544 320 m 544 288 l 704 288 l 704 320 l h
64 288 m 64 256 l 384 256 l 384 288 l h
384 288 m 384 256 l 544 256 l 544 288 l h
544 288 m 544 256 l 704 256 l 704 288 l h
\small Destination Address
\small Source
\small Type (0x1234)
\small RF Config
\small Address
64 160 m 64 128 l 384 128 l 384 160 l h
\small Frame Check Sequence
256 240 m 256 240 l 256 240 l
\small Timestamp
5 63.5079 m 5 46.9999 l 645 46.9999 l 645 63.5079 l h
64 256 m 64 224 l 384 224 l 384 256 l h
64 256 m 64 224 l 384 224 l 384 256 l h
64 256 m 64 224 l 384 224 l 384 256 l h
64 256 m 64 224 l 384 224 l 384 256 l h
256 240 m 256 240 l 256 240 l
166 304 m 165.917 272.508 l 166.247 272.508 l
486 304 m 486.316 272.508 l 485.986 272.508 l
486.316 256 m 486.646 224 l 485.657 224 l
486.316 256 m 486.646 224 l 485.657 224 l
\tiny $I_0$
\tiny $Q_0$
\tiny $I_1$
\tiny $Q_1$
\tiny $Q_{N-2}$
\tiny $Q_{N-2}$
\tiny $I_{N-1}$
\tiny $Q_{N-1}$
\tiny \begin{itemize} \item {\bf Type:} 2 byte (16 bit) field that specifies the RoE protocol \item {\bf RX Config:} 16-bit. Currently just antenna index (0-7). Can later be used for gain/timing adjustments. \item {\bf Timstamp:} Timestamp in samples of the first sample of the received packet. \end{itemize} \begin{itemize} \item {\bf data block :} Uncompressed IQ samples, 16-bit resolution for each real and imaginary component. $N$ complex samples per packet. $N$ can be configured at initialization. \end{itemize}
IF5 Packet Format (8-bit)
64 352 m 64 320 l 224 320 l 224 352 l h
64 352 m 64 320 l 224 320 l 224 352 l h
64 352 m 64 320 l 224 320 l 224 352 l h
64 352 m 64 320 l 224 320 l 224 352 l h
0
16
32
48
15
31
47
63
64 320 m 64 288 l 544 288 l 544 320 l h
544 320 m 544 288 l 704 288 l 704 320 l h
64 288 m 64 256 l 384 256 l 384 288 l h
384 288 m 384 256 l 544 256 l 544 288 l h
544 288 m 544 256 l 704 256 l 704 288 l h
384 256 m 384 224 l 704 224 l 704 256 l h
\small Destination Address
\small Source
\small Type (0xBEEF)
\small RX Flags
\small Address
544 288 m 544 256 l 704 256 l 704 288 l h
\small FIFO\_status
544 288 m 544 256 l 704 256 l 704 288 l h
\tiny SeqNum
\tiny rsvd
248.997 435.732 m 248.997 403.732 l
\small Word0
5 63.5079 m 5 46.9999 l 645 46.9999 l 645 63.5079 l h
64 256 m 64 224 l 384 224 l 384 256 l h
64 256 m 64 224 l 384 224 l 384 256 l h
64 256 m 64 224 l 384 224 l 384 256 l h
166 304 m 165.917 272.508 l 166.247 272.508 l
486 304 m 486.316 272.508 l 485.986 272.508 l
486.316 256 m 486.646 224 l 485.657 224 l
\tiny $I_0$
248.997 435.732 m 248.997 403.732 l
248.997 435.732 m 248.997 403.732 l
248.997 435.732 m 248.997 403.732 l
248.997 435.732 m 248.997 403.732 l
248.997 435.732 m 248.997 403.732 l
248.997 435.732 m 248.997 403.732 l
\tiny $Q_0$
\tiny $I_1$
\tiny $Q_1$
\tiny $I_2$
\tiny $Q_2$
\tiny $I_3$
\tiny $Q_3$
\tiny $I_{638}$
\tiny $Q_{638}$
\tiny $I_{639}$
\tiny $Q_{639}$
\tiny \begin{itemize} \item {\bf Type:} 2 byte (16 bit) field that specifies the RoE protocol \item {\bf RX Flags:} overrun indicator. should be '0'. \item {\bf FIFO status:} 2 bytes. should be '0'. \item {\bf SeqNum:} 1 byte. Sequence number of the ethernet packet. \item {\bf rsvd:} 1 byte. shoult be '0'. \item {\bf Word0:} 4 byte (32-bit). should be '0'. \item {\bf Timstamp:} Timestamp in samples of the first sample of the received packet. \end{itemize} \begin{itemize} \item {\bf data block :} Uncompressed IQ samples, 8-bit resolution for each real and imaginary component. 640 complex samples per packet. \end{itemize}
384 256 m 384 224 l 704 224 l 704 256 l h
\small Timestamp
64 256 m 64 224 l 384 224 l 384 256 l h
486 304 m 486.316 272.508 l 485.986 272.508 l
248.997 435.732 m 248.997 403.732 l
248.997 435.732 m 248.997 403.732 l
\tiny $I_4$
\tiny $Q_4$
\tiny $I_5$
\tiny $Q_5$
64 160 m 64 128 l 384 128 l 384 160 l h
\small Frame Check Sequence
IF4p5 Packet Formats (RAW)
272 512 m 272 512 l 272 512 l 272 512 l h
64 352 m 64 320 l 224 320 l 224 352 l h
64 352 m 64 320 l 224 320 l 224 352 l h
64 352 m 64 320 l 224 320 l 224 352 l h
64 352 m 64 320 l 224 320 l 224 352 l h
0
16
32
48
15
31
47
63
64 320 m 64 288 l 544 288 l 544 320 l h
544 320 m 544 288 l 704 288 l 704 320 l h
64 288 m 64 256 l 384 256 l 384 288 l h
384 288 m 384 256 l 544 256 l 544 288 l h
544 288 m 544 256 l 704 256 l 704 288 l h
64 256 m 64 224 l 384 224 l 384 256 l h
384 256 m 384 224 l 704 224 l 704 256 l h
64 160 m 64 96 l 704 96 l 704 160 l h
\small Destination Address
\small Source
\small Type (0x080A)
\small Subtype (0x0021)
\small Address
\small LTE PRACH Configuration
\small Reserved
\small PRACH data block (one antenna)
64 160 m 64 128 l 384 128 l 384 160 l h
\small Frame Check Sequence
384 160 m 384 128 l 704 128 l 704 160 l h
IF4p5 PRACH Packet (RRU$\rightarrow$ RAU,RCC)
\tiny \begin{itemize} \item {\bf Type:} 2 byte (16 bit) field that specifies the RoE protocol \item {\bf Subtype:} 2 byte (16 bit) field that specifies the packet subtype \item {\bf Reserved:} 4 byte (32 bit) field reserved \item {\bf LTE PRACH conf:} 4 byte (32-bit) field that details the configuration of the LTE PRACH packet \end{itemize} \vskip 3pt \begin{tabular}{|c|c|} \hline {\bf field (0 is LSB, 31 is MSB)} & {\bf description}\\ \hline rsvd (0:2) & Reserved.\\ \hline ant (3:5) & 3-bit Antenna index of LTE PRACH packet\\ \hline RF Num (6:21) & 16-bit field indicating the Radio Frame number of this received PRACH packet\\ \hline SF Num (22:25) & 4-bit field indicating the sub-frame number in the radio frame for the LTE PRACH packet\\ & Valid range of 0 to 9.\\ \hline Exponent (26:31) & FFT exponent output (0 if unscaled) \\ \hline \end{tabular} \begin{itemize} \item {\bf PRACH data block:} Uncompressed IQ samples \end{itemize}
64 256 m 64 224 l 384 224 l 384 256 l h
64 256 m 64 224 l 384 224 l 384 256 l h
\tiny RE 0 (Real)
\tiny RE 0 (Imag)
\tiny RE 1 (Real)
\tiny RE 1 (Imag)
166 304 m 165.917 272.508 l 166.247 272.508 l
486 304 m 486.316 272.508 l 485.986 272.508 l
64 256 m 64 224 l 384 224 l 384 256 l h
64 256 m 64 224 l 384 224 l 384 256 l h
\tiny RE 837 (Real)
\tiny RE 837 (Imag)
\tiny RE 838 (Real)
\tiny RE 838 (Imag)
166 304 m 165.917 272.508 l 166.247 272.508 l
486 304 m 486.316 272.508 l 485.986 272.508 l
6.00001 47.492 m 6.00001 32 l 646 32 l 646 47.492 l h
528 16 m 528 16 l 528 16 l 528 16 l h
560 16 m 560 16 l 560 16 l 560 16 l h
64 224 m 64 192 l 224 192 l 224 224 l h
224 224 m 224 192 l 384 192 l 384 224 l h
384 224 m 384 192 l 544 192 l 544 224 l h
544 224 m 544 192 l 704 192 l 704 224 l h
64 192 m 64 160 l 224 160 l 224 192 l h
224 192 m 224 160 l 384 160 l 384 192 l h
384 192 m 384 160 l 544 160 l 544 192 l h
544 192 m 544 160 l 704 160 l 704 192 l h
\small Gain 0
\small Gain 1
\small Gain 4
\small Gain 5
\small Gain 2
\small Gain 3
\small Gain 6
\small Gain 7
272 512 m 272 512 l 272 512 l 272 512 l h
64 352 m 64 320 l 224 320 l 224 352 l h
64 352 m 64 320 l 224 320 l 224 352 l h
64 352 m 64 320 l 224 320 l 224 352 l h
64 352 m 64 320 l 224 320 l 224 352 l h
0
16
32
48
15
31
47
63
64 320 m 64 288 l 544 288 l 544 320 l h
544 320 m 544 288 l 704 288 l 704 320 l h
64 288 m 64 256 l 384 256 l 384 288 l h
384 288 m 384 256 l 544 256 l 544 288 l h
544 288 m 544 256 l 704 256 l 704 288 l h
64 256 m 64 224 l 384 224 l 384 256 l h
384 256 m 384 224 l 704 224 l 704 256 l h
\small Destination Address
\small Source
\small Type (0x080A)
\small Subtype (0x0019)
\small Address
\small Frame status
\small Reserved
64 160 m 64 128 l 384 128 l 384 160 l h
\small Frame Check Sequence
\tiny \begin{itemize} \item {\bf Type:} 2 byte (16 bit) field that specifies the RoE protocol \item {\bf Subtype:} 2 byte (16 bit) field that specifies the packet subtype \item {\bf Reserved:} 4 byte (32 bit) field reserved \item {\bf Frame Status:} 4 byte (32 bit) field \end{itemize} \vskip 3pt \begin{tabular}{|c|c|} \hline {\bf field (0 is LSB, 31 is MSB)} & {\bf description}\\ \hline {\bf ant} (0:2) & The number of Antenna Carriers represented in the packet. Antenna numbers \\ & range from 0 to 7 with valid inputs being 0,1, 3 and 7 (1,2,4,8 antennas)\\ \hline {\bf ant start} (3:5) & starting antenna number\\ \hline {\bf RF Num} (6:21) & 16-bit field indicating the Radio Frame number of the UL\_RE samples\\ \hline {\bf SF Num} (22:25) & 4-bit field indicating the sub-frame number in the radio frame for the UL\_RE samples\\ & Valid range of 0 to 9.\\ \hline {\bf Sym Num:} (26:29) & Symbol number. Valid range of 0 to 13. \\ {\bf rsvd:} (30:31) & reserved\\ \hline \end{tabular} \begin{itemize} \item {\bf ULRE data block:} compressed IQ samples (8-bit A-law). $N$ is the number of resource elements $N_{\mathrm{RB}}^{\mathrm{UL}}$. \end{itemize}
5 63.5079 m 5 46.9999 l 645 46.9999 l 645 63.5079 l h
64 256 m 64 224 l 384 224 l 384 256 l h
64 256 m 64 224 l 384 224 l 384 256 l h
64 256 m 64 224 l 384 224 l 384 256 l h
64 256 m 64 224 l 384 224 l 384 256 l h
IF4p5 Packets : ULRE (RRU$\rightarrow$ RAU,RCC)
256 240 m 256 240 l 256 240 l
166 304 m 165.917 272.508 l 166.247 272.508 l
486 304 m 486.316 272.508 l 485.986 272.508 l
486.316 256 m 486.646 224 l 485.657 224 l
486.316 256 m 486.646 224 l 485.657 224 l
258.16 141.771 m 258.16 141.771 l
418.597 191.907 m 418.597 191.907 l
429.181 79.9357 m 429.181 79.9357 l
\tiny RE 0\\Ant 1 (Re)
\tiny RE 0\\Ant 1 (Im)
\tiny RE 1\\Ant 1 (Re)
\tiny RE 1\\Ant 1 (Im)
\tiny RE 2\\Ant 1 (Re)
\tiny RE 2\\Ant 1 (Im)
\tiny RE 3\\Ant 1 (Re)
\tiny RE 3\\Ant 1 (Im)
\tiny RE $N-4$\\Ant $R$ (Re)
\tiny RE $N-4$\\Ant $R$ (Im)
\tiny RE $N-3$\\Ant $R$ (Re)
\tiny RE $N-3$\\Ant $R$ (Im)
\tiny RE $N-2$\\Ant $R$ (Re)
\tiny RE $N-2$\\Ant $R$ (Im)
\tiny RE $N-1$\\Ant $R$ (Re)
\tiny RE $N-1$\\Ant $R$ (Im)
248.997 435.732 m 248.997 403.732 l
248.997 435.732 m 248.997 403.732 l
248.997 435.732 m 248.997 403.732 l
248.997 435.732 m 248.997 403.732 l
248.997 435.732 m 248.997 403.732 l
248.997 435.732 m 248.997 403.732 l
248.997 435.732 m 248.997 403.732 l
248.997 435.732 m 248.997 403.732 l
272 512 m 272 512 l 272 512 l 272 512 l h
64 352 m 64 320 l 224 320 l 224 352 l h
64 352 m 64 320 l 224 320 l 224 352 l h
64 352 m 64 320 l 224 320 l 224 352 l h
64 352 m 64 320 l 224 320 l 224 352 l h
0
16
32
48
15
31
47
63
64 320 m 64 288 l 544 288 l 544 320 l h
544 320 m 544 288 l 704 288 l 704 320 l h
64 288 m 64 256 l 384 256 l 384 288 l h
384 288 m 384 256 l 544 256 l 544 288 l h
544 288 m 544 256 l 704 256 l 704 288 l h
64 256 m 64 224 l 384 224 l 384 256 l h
384 256 m 384 224 l 704 224 l 704 256 l h
\small Destination Address
\small Source
\small Type (0x080A)
\small Subtype (0x0020)
\small Address
\small Frame status
\small Reserved
64 160 m 64 128 l 384 128 l 384 160 l h
\small Frame Check Sequence
\tiny \begin{itemize} \item {\bf Type:} 2 byte (16 bit) field that specifies the RoE protocol \item {\bf Subtype:} 2 byte (16 bit) field that specifies the packet subtype \item {\bf Reserved:} 4 byte (32 bit) field reserved \item {\bf Frame Status:} 4 byte (32 bit) field \end{itemize} \vskip 3pt \begin{tabular}{|c|c|} \hline {\bf field (0 is LSB, 31 is MSB)} & {\bf description}\\ \hline {\bf ant} (0:2) & The number of Antenna Carriers represented in the packet. Antenna numbers \\ & range from 0 to 7 with valid inputs being 0,1, 3 and 7 (1,2,4,8 antennas)\\ \hline {\bf ant start} (3:5) & starting antenna number\\ \hline {\bf RF Num} (6:21) & 16-bit field indicating the Radio Frame number of this DLRE packet\\ \hline {\bf SF Num} (22:25) & 4-bit field indicating the sub-frame number in the radio frame for the DLRE packet\\ & Valid range of 0 to 9.\\ \hline {\bf Sym Num:} (26:29) & Symbol number. Valid range of 0 to 13. \\ {\bf rsvd:} (30:31) & reserved\\ \hline \end{tabular} \begin{itemize} \item DLRE data block : compressed IQ samples (8-bit A-law). $N$ is the number of resource elements $N_{\mathrm{RB}}^{\mathrm{DL}}$. \end{itemize}
IF4p5 Packets : DLRE (RAU,RCC $\rightarrow$RRU)
258.16 141.771 m 258.16 141.771 l
418.597 191.907 m 418.597 191.907 l
429.181 79.9357 m 429.181 79.9357 l
5 63.5079 m 5 46.9999 l 645 46.9999 l 645 63.5079 l h
64 256 m 64 224 l 384 224 l 384 256 l h
64 256 m 64 224 l 384 224 l 384 256 l h
64 256 m 64 224 l 384 224 l 384 256 l h
64 256 m 64 224 l 384 224 l 384 256 l h
166 304 m 165.917 272.508 l 166.247 272.508 l
486 304 m 486.316 272.508 l 485.986 272.508 l
486.316 256 m 486.646 224 l 485.657 224 l
486.316 256 m 486.646 224 l 485.657 224 l
\tiny RE 0\\Ant 1 (Re)
\tiny RE 0\\Ant 1 (Im)
\tiny RE 1\\Ant 1 (Re)
\tiny RE 1\\Ant 1 (Im)
\tiny RE 2\\Ant 1 (Re)
\tiny RE 2\\Ant 1 (Im)
\tiny RE 3\\Ant 1 (Re)
\tiny RE 3\\Ant 1 (Im)
\tiny RE $N-4$\\Ant $R$ (Re)
\tiny RE $N-4$\\Ant $R$ (Im)
\tiny RE $N-3$\\Ant $R$ (Re)
\tiny RE $N-3$\\Ant $R$ (Im)
\tiny RE $N-2$\\Ant $R$ (Re)
\tiny RE $N-2$\\Ant $R$ (Im)
\tiny RE $N-1$\\Ant $R$ (Re)
\tiny RE $N-1$\\Ant $R$ (Im)
248.997 435.732 m 248.997 403.732 l
248.997 435.732 m 248.997 403.732 l
248.997 435.732 m 248.997 403.732 l
248.997 435.732 m 248.997 403.732 l
248.997 435.732 m 248.997 403.732 l
248.997 435.732 m 248.997 403.732 l
248.997 435.732 m 248.997 403.732 l
248.997 435.732 m 248.997 403.732 l
640 128 m 640 32 l 704 32 l 704 128 l h
640 480 m 640 176 l 720 176 l 720 480 l h
328.159 119.72 m 328.159 15.3556 l 554.022 15.3556 l 554.022 119.72 l h
96 784 m 96 496 l 224 496 l 224 784 l h
-192 928 m -192 944 l -192 944 l -192 928 l h
96 784 m 96 496 l 224 496 l 224 784 l h
\begin{small}L1 Instance 0\end{small}
LI instance 1
\begin{small}MAC/RLC/PDCP Instance 0\end{small}
364 518 m 364 518 l 364 518 l 364 518 l h
96 784 m 96 496 l 224 496 l 224 784 l h
128 768 m 128 704 l 192 704 l 192 768 l h
\setstretch{.5}\begin{tiny} DL/UL Scheduler \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} MAC RX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PDCP RX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} MAC TX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PDCP TX \end{tiny}
180 460 m 340 460 l
180 460 m 340 460 l
\begin{tiny}1ms TICK\end{tiny}
392.067 448.35 m 232.502 360 l
\begin{tiny}$\mathrm{DCI}_0$, Transport Blocks\end{tiny}
\begin{tiny}$\mathrm{DCI}_1$\end{tiny}
\begin{tiny}$\mathrm{DCI}_2$\end{tiny}
\setstretch{.5}\begin{tiny} RLC RX \end{tiny}
\setstretch{.5}\begin{tiny} RLC TX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY RX $n$\\ $\mathrm{eNB}_0$ \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY RX $n$\\ $\mathrm{eNB}_1$ \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY RX $n$\\ $\mathrm{eNB}_2$ \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY TX $n+4$\\ $\mathrm{eNB}_0$ \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY TX $n+4$\\ $\mathrm{eNB}_1$ \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY TX $n+4$\\ $\mathrm{eNB}_2$ \end{tiny}
234.502 211.006 m 387 210 l
243.386 213.48 m 243.386 213.48 l
232.502 250.102 m 387.004 250.371 l
232.502 310 m 387 310 l
232.502 346.88 m 387 347 l
336.917 451.424 m 185.872 274.589 l
232.5 410 m 386.079 409.083 l
\begin{tiny}Transport Blocks\end{tiny}
\begin{tiny}Transport Blocks\end{tiny}
\setstretch{.5}\begin{tiny}CQI/SR/ACK/NAK/PHR\\Transport Blocks\end{tiny}
\setstretch{.5}\begin{tiny}CQI/SR/ACK/NAK/PHR\\Transport Blocks\end{tiny}
\setstretch{.5}\begin{tiny}CQI/SR/ACK/NAK/PHR\\Transport Blocks\end{tiny}
180 460 m 340 460 l
180 460 m 340 460 l
\begin{tiny}1ms TICK\end{tiny}
\begin{tiny}$\mathrm{DCI}_0$, Transport Blocks\end{tiny}
184.502 313 m 332 313 l
\begin{small}MAC/RLC/PDCP Instance 1\end{small}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} MAC TX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PDCP TX \end{tiny}
\setstretch{.5}\begin{tiny} RLC TX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} MAC TX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PDCP TX \end{tiny}
\setstretch{.5}\begin{tiny} RLC TX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} MAC RX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PDCP RX \end{tiny}
\setstretch{.5}\begin{tiny} RLC RX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} MAC RX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PDCP RX \end{tiny}
\setstretch{.5}\begin{tiny} RLC RX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY RX \\ $\mathrm{eNB}_0$ \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY TX \\ $\mathrm{eNB}_0$ \end{tiny}
\setstretch{.5}\begin{tiny}CQI/SR/ACK/NAK/PHR\\Transport Blocks\end{tiny}
128 768 m 128 704 l 192 704 l 192 768 l h
\setstretch{.5}\begin{tiny} DL/UL Scheduler \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} MAC RX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PDCP RX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} MAC TX \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PDCP TX \end{tiny}
\setstretch{.5}\begin{tiny} RLC RX \end{tiny}
\setstretch{.5}\begin{tiny} RLC TX \end{tiny}
RU/L1 Instances and Component Carriers
96 784 m 96 496 l 224 496 l 224 784 l h
96 784 m 96 496 l 224 496 l 224 784 l h
364 518 m 364 518 l 364 518 l 364 518 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} $\mathrm{RU}_3$ \end{tiny}
144 480 m 144 32 l 176 32 l 176 480 l h
176 432 m 176 432 l
192 464 m 176 464 l
190.041 464 m 190.041 464 l
190.041 464 m 190.041 464 l
192 464 m 176 464 l
192 464 m 176 464 l
192 464 m 176 464 l
192 464 m 176 464 l
192 464 m 176 464 l
192 464 m 176 464 l
192 464 m 176 464 l
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} $\mathrm{RU}_0$ \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} $\mathrm{RU}_1$ \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} $\mathrm{RU}_2$ \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} $\mathrm{RU}_4$ \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} $\mathrm{RU}_5$ \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} $\mathrm{RU}_6$ \end{tiny}
144 464 m 129.959 464 l
144 464 m 129.959 464 l
144 464 m 129.959 464 l
144 464 m 129.959 464 l
144 464 m 129.959 464 l
144 464 m 129.959 464 l
144 464 m 129.959 464 l
144 464 m 129.959 464 l
144 464 m 129.959 464 l
144 464 m 129.959 464 l
144 464 m 129.959 464 l
144 464 m 129.959 464 l
144 464 m 129.959 464 l
144 464 m 129.959 464 l
640 400 m 640 400 l 640 400 l 640 400 l h
\small\begin{itemize} \item {\em Radio Unit} (RU) is \begin{itemize} \item an entity managing a set of {\bf physical} antennas. It can have a {\em local RF unit} or {\em remote RF unit} \item performs precoding of multiple eNB TX streams and OFDM modulation (TX) and demodulation (RX) (part of 36.211) \end{itemize} \item {\em L1 Instance} (indexed by {\tt Mod\_id}, or {\tt enb\_mod\_id}) is a separate set of threads and contexts for the eNB/gNB procedures. There is one MAC/RLC entity associated to all :1 component carriers. \item {\em L1 Component Carrier} (indexed by {\tt CC\_id}) is \begin{itemize} \item a software entity managing the L1 procedures (36.213,36.212,36.211) and can act on \begin{itemize} \item sectored antenna component \item Rel10+ component carrier \item virtual cell for DAS or Massive-MIMO array \end{itemize} \item each L1 instance is managed by one or two threads which operate on a subframe (TX and RX) and can have a {\em local RU} or {\em remote RU} \item if a remote radio unit the eNB performs the 36.213 specifications only (HARQ, etc.) and connects to the remainder via the IF2 midhaul interface. \end{itemize} \end{itemize}
RU/L1 Instances and Component Carriers
RU/L1 Instances and Component Carriers
\small\begin{itemize} \item RU may have both an {\tt if\_device} for fronthaul and an {\tt rf\_device} for interconnection with a local RF unit \item if the {\tt rf\_device} is absent, it must have a southbound fronthaul interface (either IF5 or IF4p5) depending on the local processing of the remote RU \item if the {\tt if\_device} is absent, it must have a southbound RF interface and {\tt rf\_device}. \item three types of L1 processing are performed by the RU \begin{itemize} \item subset of common L1 procedures from 36.211 specifications \item fronthaul compression/decompression \item framing \end{itemize} \item on TX \begin{itemize} \item A-law compression for (NGFI\_RAU\_IF4p5, NGFI\_RAU\_IF5) \item A-law decompression (for NGFI\_RRU\_IF4p5 and NGFI\_RRU\_IF5) \item OFDM modulation and cyclic prefix insertion (for NGFI\_RRU\_IF4p5,NGFI\_RAU\_IF5,3GPP\_eNodeB\_BBU,3GPP\_eNodeB) \item Precoding (for NGFI\_RAU\_IF5, NGFI\_RAU\_IF4p5,3GPP\_eNodeB\_BBU,3GPP\_eNodeB) \end{itemize} \end{itemize}
RU/L1 Instances and Component Carriers
\small\begin{itemize} \item on RX \begin{itemize} \item A-law compression for (NGFI\_RRU\_IF4p5, NGFI\_RRU\_IF5) \item A-law decompression (for NGFI\_RAU\_IF4p5 and 3GPP\_eNodeB\_BBU) \item cyclic prefix removal, frequency-shifting, OFDM demodulation, PRACH DFT (for NGFI\_RRU\_IF4p5, NGFI\_RAU\_IF5, 3GPP\_eNodeB\_BBU, 3GPP\_eNodeB) \end{itemize} \item On TX path \begin{itemize} \item L1 instances/component carriers operate on a set of logical antenna ports (0-3 for TM1-6, 4 for eMBMS, 5 for TM7, 6 for positioning, 7-8 for TM8, etc.) \item each L1 instance has a list of RUs and the logical antenna ports are mapped to the physical antennas attached to the RUs via the precoding function \end{itemize} \end{itemize}
\small\begin{itemize} \item Example configurations \begin{itemize} \item {\em itsolated eNB:} one instance and one or several component carriers (multiple-frequencies or antenna sectors). Potentially multiple radio-units (for CoMP). Here there is a common MACRLC instnance driving multiple L1 procedures \item {\em indoor DAS system (RCC split with L1/L2 RAU) Multiple layer 2 instances each driving one or more component carriers} here the RAU implements multiple L1/L2 instances and precoding function. Usually with IF2/IF1'' xhaul to RCC or potentially also MAC/RLC in RAU with IF1' xhaul to RCC. \item {\em massive-MIMO array} same as 2nd indoor DAS system (i.e. integrated L1/L2 RAU with array) \end{itemize} \end{itemize}
RU/L1 Instances and Component Carriers
288 384 m 288 96 l 672 96 l 672 384 l h
301.83 142.941 m 301.83 103.286 l 648 104 l 648 144 l h
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt if\_device} \end{tiny}
301.83 142.941 m 301.83 103.286 l 648 104 l 648 144 l h
\setstretch{.5}\begin{tiny} {\tt NFGI\_IF4p5 / ethernet} \end{tiny}
\setstretch{.5}\begin{tiny} upper-PHY TX (212,213) \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt if\_device} \end{tiny}
389.83 375.941 m 389.83 336.286 l 616 336 l 616 376 l h
\setstretch{.5}\begin{tiny} {\tt NFGI\_IF1pp / ethernet} \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt if\_device} \end{tiny}
\setstretch{.5}\begin{tiny} TX PRECODING\\RX COMBINING \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt if\_device} \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt if\_device} \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt if\_device} \end{tiny}
\small\begin{itemize} \item Example: RAU with {\tt NGFI\_IF1pp} xhaul (MAC/PHY split) northbound, {\tt NGFI\_IF4p5} fronthaul southbound, 2 vCell logical interfaces (2 L1/L2 instances, or 1 L2 instance and 2 CCs), 4 RRUs with {\tt NGFI\_IF4p5}

\end{itemize}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} upper-PHY RX (212,213) \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} upper-PHY RX (212,213) \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} upper-PHY TX (212,213) \end{tiny}
184.83 261.941 m 184.83 128 l 272 128 l 272 261.941 l h
184.83 261.941 m 184.83 128 l 272 128 l 272 261.941 l h
184.83 261.941 m 184.83 128 l 272 128 l 272 261.941 l h
184.83 261.941 m 184.83 128 l 272 128 l 272 261.941 l h
\setstretch{.5}\begin{tiny} $\mathrm{RU}_0$ \end{tiny}
\setstretch{.5}\begin{tiny} $\mathrm{RU}_1$ \end{tiny}
\setstretch{.5}\begin{tiny} $\mathrm{RU}_2$ \end{tiny}
\setstretch{.5}\begin{tiny} $\mathrm{RU}_3$ \end{tiny}
184.83 261.941 m 184.83 128 l 272 128 l 272 261.941 l h
\setstretch{.5}\begin{tiny} $\mathrm{eNB}_0$ \end{tiny}
184.83 261.941 m 184.83 128 l 272 128 l 272 261.941 l h
\setstretch{.5}\begin{tiny} $\mathrm{eNB}_1$ \end{tiny}
RAU Example (DAS)
168 416 m 168 32 l 576 32 l 576 416 l h
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY RX0 \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt if\_device} \end{tiny}
176 176 m 176 136 l 552 136 l 552 176 l h
\setstretch{.5}\begin{tiny} {\tt NGFI\_IF4p5 / ethernet} \end{tiny}
\setstretch{.5}\begin{tiny} PHY TX0 \end{tiny}
184 360 m 184 336 l 552 336 l 552 360 l h
\setstretch{.5}\begin{tiny} {\tt if\_device} \end{tiny}
184 408 m 184 368 l 552 368 l 552 408 l h
\setstretch{.5}\begin{tiny} {\tt NGFI\_IF1p / ethernet} \end{tiny}
184 264 m 184 224 l 552 224 l 552 264 l h
\setstretch{.5}\begin{tiny} TX PRECODING\\RX COMBINING \end{tiny}
\small\begin{itemize} \item Example: massive-MIMO RAU with {\tt NGFI\_IF1p} fronthaul northbound, 8 L1 component carriers,1 L2 instances, many local RRUs with {\tt NGFI\_IF4p5} southbound

\end{itemize}
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt if\_device} \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt if\_device} \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} {\tt if\_device} \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY RX1 \end{tiny}
\setstretch{.5}\begin{tiny} PHY TX1 \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY RX7 \end{tiny}
\setstretch{.5}\begin{tiny} PHY TX7 \end{tiny}
184 320 m 184 288 l 552 288 l 552 320 l h
\setstretch{.5}\begin{tiny} RLC \end{tiny}
184 280 m 184 248 l 552 248 l 552 280 l h
\setstretch{.5}\begin{tiny} MAC \end{tiny}
376 208 m 448 208 l
184.83 261.941 m 184.83 128 l 272 128 l 272 261.941 l h
\setstretch{.5}\begin{tiny} $\mathrm{eNB}_0$ \end{tiny}
184.83 261.941 m 184.83 128 l 272 128 l 272 261.941 l h
\setstretch{.5}\begin{tiny} $\mathrm{eNB}_1$ \end{tiny}
184.83 261.941 m 184.83 128 l 272 128 l 272 261.941 l h
\setstretch{.5}\begin{tiny} $\mathrm{eNB}_7$ \end{tiny}
184.83 261.941 m 184.83 128 l 272 128 l 272 261.941 l h
\setstretch{.5}\begin{tiny} $\mathrm{RU}_{0\cdots 15}$ \end{tiny}
184.83 261.941 m 184.83 128 l 272 128 l 272 261.941 l h
\setstretch{.5}\begin{tiny} $\mathrm{RU}_{16\cdots 31}$ \end{tiny}
184.83 261.941 m 184.83 128 l 272 128 l 272 261.941 l h
\setstretch{.5}\begin{tiny} $\mathrm{RU}_{32\cdots 47}$ \end{tiny}
184.83 261.941 m 184.83 128 l 272 128 l 272 261.941 l h
\setstretch{.5}\begin{tiny} $\mathrm{RU}_{48\cdots 63}$ \end{tiny}
RAU Example (Massive-MIMO)
330 430 m 330 390 l 380 390 l 380 430 l h
232 384 m 232 256 l 543.99 256 l 543.99 384 l h
96 136 m 96 48 l 540 48 l 540 136 l h
88 192 m 88 80 l 248 80 l 248 192 l h
88 192 m 88 80 l 248 80 l 248 192 l h
153 232 m 153 176 l 228 176 l 228 232 l h
\small\begin{itemize} \item IF5 transports packets of size equal to a subframe and corresponding to a 1ms chunk of signal in the time-domain. This is done via the functions send\_if5 and recv\_if5, in the layer1 transport procedures ({\tt openair1/PHY/LTE\_TRANSPORT/if5\_tools.c}). A timestamp is given along with the samples, corresponding to the time (in samples) of the first sample of the packet. \item each block can be compressed with A-law compression, yielding a compression rate of .5. \end{itemize}
RU Procedures (NGFI\_IF5)
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY RX $n$\\ $\mathrm{eNB}_2$ (211,212) \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY TX $n+4$\\ $\mathrm{eNB}_2$ (211,212) \end{tiny}
144 480 m 144 32 l 176 32 l 176 480 l h
\setstretch{.5}\begin{tiny} $\mathrm{RU}_0$ \end{tiny}
371.001 106.337 m 323.502 106.337 l 323.502 106.337 l
371.001 106.337 m 323.502 106.337 l 323.502 106.337 l
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY RX $n$\\ $\mathrm{eNB}_1$ (211,212) \end{tiny}
371.001 106.337 m 323.502 106.337 l 323.502 106.337 l
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY RX $n$\\ $\mathrm{eNB}_0$ (211,212) \end{tiny}
371.001 106.337 m 323.502 106.337 l 323.502 106.337 l
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY TX $n+4$\\ $\mathrm{eNB}_1$ (211,212) \end{tiny}
371.001 106.337 m 323.502 106.337 l 323.502 106.337 l
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY TX $n+4$\\ $\mathrm{eNB}_0$ (211,212) \end{tiny}
371.001 106.337 m 323.502 106.337 l 323.502 106.337 l
132 294 m 132 208 l 384 208 l 384 294 l h
144.991 145.396 m 289.432 145.382 l
144.991 120.982 m 289.432 121.382 l
\tiny {\tt RU->ru\_time.rxdata[0]}
\tiny {\tt RU->ru\_time.rxdata[R-1]}
153 232 m 153 176 l 228 176 l 228 232 l h
\setstretch{.5}\tt\tiny slot\_fep\_ul\par36.211
153 232 m 153 176 l 228 176 l 228 232 l h
184 268 m 196 268 l
184 244 m 196 244 l
\tiny {\tt eNB->common\_vars.rxdataF[0]}
\tiny {\tt eNB->common\_vars.rxdataF[R-1]}
273 269 m 412 268 l
415.263 120.984 m 575 120.608 l
153 232 m 153 176 l 228 176 l 228 232 l h
\tiny $\mathrm{Alaw}^{-1}()$
56 128 m 110.531 128.542 l
\tiny from IF5 {\tt if\_device}
680 104 m 680 104 l 680 104 l 680 104 l h
544 324 m 544 144 l 576 144 l 576 324 l h
\setstretch{.5}\tt\tiny P\\R\\E\\C\\O\\D\\I\\N\\G\\
632 360 m 632 188 l 660 188 l 660 360 l h
\tiny {\tt RU->ru\_time.txdata[0]}
700 264 m 735.133 264 l
632 264.556 m 671.833 265 l
\setstretch{.5}\tt\tiny do\_ofdm\_mod\_rt()\par 36.211
\setstretch{.5}\begin{tiny} {\tt openair1/SCHED/ru-procedures.c} \end{tiny}
517.232 240.387 m 576.078 240 l 576.078 240 l
517.232 240.387 m 576.078 240 l 576.078 240 l
517.232 240.387 m 576.078 240 l 576.078 240 l
517.232 240.387 m 576.078 240 l 576.078 240 l
\tiny $\mathrm{Alaw}()$
\tiny to IF5 {\tt if\_device}
56 240 m 356.214 240.281 l
700 264 m 735.133 264 l
\tiny {\tt RU->ru\_time.txdata[T-1]}
\setstretch{.5}\begin{tiny} {\tt recv\_IF5()} \end{tiny}
\setstretch{.5}\begin{tiny} {\tt send\_IF5()} \end{tiny}
\setstretch{.5}\begin{tiny} {\tt ru\_fep\_full()} \end{tiny}
IF5 RU eNB end
\tiny $\mathrm{7.5kHz}()$
\setstretch{.5}\begin{tiny} {\tt ru\_thread()} \end{tiny}
\setstretch{.5}\begin{tiny} {\tt ru\_thread\_asynch\_rxtx()} \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
96 136 m 96 48 l 540 48 l 540 136 l h
88 192 m 88 80 l 248 80 l 248 192 l h
88 192 m 88 80 l 248 80 l 248 192 l h
153 232 m 153 176 l 228 176 l 228 232 l h
\small\begin{itemize} \item IF4p5 transports packets of size equal to an OFDM symbol (for DLRE and ULRE) indexed by the symbol, subframe and frame number. This is done via the functions send\_if4p5 and recv\_if4p5, in the layer1 transport procedures ({\tt openair1/PHY/LTE\_TRANSPORT/if4\_tools.c}). \item each block are compressed with A-law compression, yielding a compression rate of .5. \end{itemize}
RU Procedures (NGFI\_IF4p5)
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY RX $n$\\ $\mathrm{eNB}_2$ (211,212) \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY TX $n+4$\\ $\mathrm{eNB}_2$ (211,212) \end{tiny}
144 480 m 144 32 l 176 32 l 176 480 l h
\setstretch{.5}\begin{tiny} $\mathrm{RU}_0$ \end{tiny}
371.001 106.337 m 323.502 106.337 l 323.502 106.337 l
371.001 106.337 m 323.502 106.337 l 323.502 106.337 l
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY RX $n$\\ $\mathrm{eNB}_1$ (211,212) \end{tiny}
371.001 106.337 m 323.502 106.337 l 323.502 106.337 l
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY RX $n$\\ $\mathrm{eNB}_0$ (211,212) \end{tiny}
371.001 106.337 m 323.502 106.337 l 323.502 106.337 l
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY TX $n+4$\\ $\mathrm{eNB}_1$ (211,212) \end{tiny}
371.001 106.337 m 323.502 106.337 l 323.502 106.337 l
330 430 m 330 390 l 380 390 l 380 430 l h
\setstretch{.5}\begin{tiny} PHY TX $n+4$\\ $\mathrm{eNB}_0$ (211,212) \end{tiny}
371.001 106.337 m 323.502 106.337 l 323.502 106.337 l
175.991 137.396 m 575 138.93 l
175.991 112.982 m 575 114.329 l
153 232 m 153 176 l 228 176 l 228 232 l h
\tiny $\mathrm{Alaw}^{-1}()$
56 120 m 141.531 120.07 l
\tiny from IF4p5 {\tt if\_device}
680 104 m 680 104 l 680 104 l 680 104 l h
544 324 m 544 144 l 576 144 l 576 324 l h
\setstretch{.5}\tt\tiny P\\R\\E\\C\\O\\D\\I\\N\\G\\
700 264 m 735.133 264 l
\setstretch{.5}\begin{tiny} {\tt openair1/SCHED/ru-procedures.c} \end{tiny}
517.232 240.387 m 576.078 240 l 576.078 240 l
517.232 240.387 m 576.078 240 l 576.078 240 l
517.232 240.387 m 576.078 240 l 576.078 240 l
517.232 240.387 m 576.078 240 l 576.078 240 l
\tiny $\mathrm{Alaw}()$
\tiny to IF4p5 {\tt if\_device}
56 240 m 356.214 240.281 l
700 264 m 735.133 264 l
\setstretch{.5}\begin{tiny} {\tt recv\_IF4p5()} \end{tiny}
\setstretch{.5}\begin{tiny} {\tt send\_IF4p5()} \end{tiny}
IF4p5 RU eNB end
153 232 m 153 176 l 228 176 l 228 232 l h
111.191 120.045 m 112 70 l 142 69.9344 l
-36 68 m -36 68 l
175.991 112.982 m 575 114.329 l
\tiny {\tt eNB->common\_vars.rxdataF[0]}
\tiny {\tt eNB->common\_vars.rxdataF[R-1]}
\tiny {\tt eNB->prach\_vars.prachF[0$\cdots$ R-1]}
\setstretch{.5}\begin{tiny} {\tt ru\_thread()} \end{tiny}
330 430 m 330 390 l 380 390 l 380 430 l h
232 384 m 232 256 l 543.99 256 l 543.99 384 l h
96 136 m 96 48 l 540 48 l 540 136 l h
132 294 m 132 208 l 384 208 l 384 294 l h
96 384 m 96 148 l 544 148 l 544 256 l 224 256 l 224 384 l h
444 164 m 444 84.382 l 522.222 84.382 l 522.222 164 l h
132 294 m 132 208 l 384 208 l 384 294 l h
444 164 m 444 84.382 l 522.222 84.382 l 522.222 164 l h
153 232 m 153 176 l 228 176 l 228 232 l h
RU Procedures (NGFI\_IF4p5)
\setstretch{.5}\begin{tiny} $\mathrm{RU}_0$ \end{tiny}
144.991 145.396 m 289.432 145.382 l
144.991 120.982 m 289.432 121.382 l
\tiny {\tt RU->ru\_time.rxdata[0]}
\tiny {\tt RU->ru\_time.rxdata[R-1]}
153 232 m 153 176 l 228 176 l 228 232 l h
\setstretch{.5}\tt\tiny slot\_fep\_ul\par36.211
153 232 m 153 176 l 228 176 l 228 232 l h
184 268 m 196 268 l
184 244 m 196 244 l
273 269 m 412 268 l
415.263 120.984 m 575 120.608 l
56 128 m 110.531 128.542 l
\tiny from {\tt rf\_device}
680 104 m 680 104 l 680 104 l 680 104 l h
632 360 m 632 188 l 660 188 l 660 360 l h
\tiny {\tt RU->ru\_time.txdata[0]}
380.13 336.98 m 149.46 336.349 l
632 264.556 m 671.833 265 l
\setstretch{.5}\tt\tiny do\_ofdm\_mod\_rt()\par 36.211
\setstretch{.5}\begin{tiny} {\tt openair1/SCHED/ru-procedures.c} \end{tiny}
\tiny to {\tt rf\_device}
58 240 m 114.121 240.053 l
380.45 296 m 149.46 295.058 l
\tiny {\tt RU->ru\_time.txdata[T-1]}
\setstretch{.5}\begin{tiny} {\tt ru\_fep\_full()} \end{tiny}
IF4p5 RU remote-end
153 232 m 153 176 l 228 176 l 228 232 l h
\tiny $\mathrm{Alaw}^{-1}()$
153 232 m 153 176 l 228 176 l 228 232 l h
\tiny $\mathrm{Alaw}()$
\tiny $\mathrm{7.5kHz}()$
153 232 m 153 176 l 228 176 l 228 232 l h
\setstretch{.5}\begin{tiny} {\tt recv\_IF4p5()} \end{tiny}
\setstretch{.5}\begin{tiny} {\tt send\_IF4p5()} \end{tiny}
485.71 128.939 m 581.963 129.331 l
\tiny to {\tt if\_device}
\tiny from {\tt if\_device}
58 240 m 114.121 240.053 l
131 344 m 131 316 l 276 316 l 276 344 l h
\setstretch{.5}\tt\tiny ru\_prach\_procedures\par36.211
440.514 328 m 477 327.572 l
\tt\tiny ru\_prach\_procedures()
153 232 m 153 176 l 228 176 l 228 232 l h
\setstretch{.5}\tt\tiny rx\_prachl\par36.211
199.412 220.391 m 200 104 l 236.674 103.978 l
178.262 196.069 m 179.06 92 l 236.674 91.6468 l
65.0054 121.159 m 65.0054 121.159 l 65.0054 121.159 l 65.0054 121.159 l h
\setstretch{.5}\begin{tiny} {\tt ru\_thread\_prach()} \end{tiny}
\setstretch{.5}\begin{tiny} {\tt ru\_thread()} \end{tiny}
65.0054 357.66 m 65.0054 357.66 l 65.0054 357.66 l 65.0054 357.66 l h
\setstretch{.5}\begin{tiny} {\tt ru\_thread\_asynch\_rxtx()} \end{tiny}
\tiny to {\tt if\_device}
485.71 128.939 m 581.963 129.331 l
175.695 380 m 176.42 128 l
OAI IF1pp Interface
\tiny\begin{itemize} \item OAI IF1pp is the interface between the 36.213 Physical Layer Procedures (HARQ, SR, CSI, etc.) and the transport/physical channel processing \item it can be networked, although this is not used as an xhaul interface at the moment. \end{itemize}
96 384 m 96 320 l 640 320 l 640 384 l h
128 368 m 128 336 l 352 336 l 352 368 l h
128 368 m 128 336 l 352 336 l 352 368 l h
\tiny {\tt phy\_procedures\_lte\_eNB\_TX}
\tiny {\tt phy\_procedures\_lte\_eNB\_RX}
96 384 m 96 320 l 640 320 l 640 384 l h
\small PHY transport and physical channel procedures
\tiny {\tt common\_signal\_procedures()}
\tiny {\tt pmch\_procedures()}
\tiny {\tt generate\_dlsch\_parameters\_from\_dci()}
\tiny {\tt generate\_ulsch\_parameters\_from\_dci()}
\tiny {\tt phy\_config\_dedicated\_step2()}
\tiny {\tt generate\_dci\_top()}
\tiny {\tt generate\_phich\_top()}
\tiny {\tt pdsch\_procedures()}
175.695 380 m 176.42 128 l
175.695 380 m 176.42 128 l
175.695 380 m 176.42 128 l
175.695 380 m 176.42 128 l
175.695 380 m 176.42 128 l
175.695 380 m 176.42 128 l
175.695 380 m 176.42 128 l
175.695 380 m 176.42 128 l
\tiny {\tt pucch\_procedures()}
\tiny {\tt process\_Msg3()}
175.695 380 m 176.42 128 l
\tiny {\tt rx\_ulsch()}
175.695 380 m 176.42 128 l
\tiny {\tt ulsch\_decoding()}
175.695 380 m 176.42 128 l
\tiny {\tt extract\_cqi()}
175.695 380 m 176.42 128 l
\tiny {\tt get\_Msg3\_alloc\_ret()}
175.695 380 m 176.42 128 l
\tiny {\tt lte\_est\_timing\_advance\_pusch()}
175.695 380 m 176.42 128 l
\tiny {\tt lte\_eNB\_I0\_measurements()}
175.695 380 m 176.42 128 l
\tiny {\tt process\_HARQ\_info()}
175.695 380 m 176.42 128 l
\small {\tt 36.213}\par {\tt openair1/SCHED}
\small {\tt 36.211/212}\par {\tt openair1/PHY}
120 528 m 120 0 l 592 0 l 592 528 l h
180 524 m 180 476 l 588 476 l 588 524 l h
248 520 m 248 483.903 l 400 484 l 400 520 l h
180 493.216 m 180 452 l 536 452 l 536 493.216 l h
404 480 m 404 472 l 404 472 l 404 480 l h
340 488 m 340 464 l 444 464 l 444 488 l h
312 456 m 312 432 l 424 432 l 424.001 456 l h
144 448 m 144 360 l 536 360 l 536 448 l h
144 260 m 144 116 l 536 116 l 536 260 l h
144 344 m 144 264 l 536 264 l 536 344 l h
128 440 m 128 384 l 224 384 l 224 440 l h
\tt\tiny generate\_dci\_top()
0 424 m 0 32 l 48 32 l 48 424 l h
M\\ A\\ C
64 416 m 172 416 l
\tt\tiny DCI\_PDU
128 440 m 128 384 l 224 384 l 224 440 l h
\setstretch{.5}\tt\tiny dlsch\_coding()\par36.212
64 416 m 172 416 l
\tt\tiny DLSCH\_PDU\_0
128 440 m 128 384 l 224 384 l 224 440 l h
64 416 m 172 416 l
\tt\tiny DLSCH\_PDU\_1\_0
128 440 m 128 384 l 224 384 l 224 440 l h
64 416 m 172 416 l
\tt\tiny DLSCH\_PDU\_1\_1
312 456 m 312 432 l 424 432 l 424.001 456 l h
\setstretch{.5}\tt\tiny generate\_pcfich()\par36.212,36.211
304 408 m 304 384 l 400 384 l 400 408 l h
\setstretch{.5}\tt\tiny generate\_dci0()\par36.212
408 400 m 408 352 l 520 352 l 520 400 l h
\setstretch{.5}\tt\tiny pdcch\_scrambling()\par pdcch\_modulation\par pdcch\_interleaving\par36.211
\setstretch{.5}\tt\tiny dlsch\_coding()\par36.212
\setstretch{.5}\tt\tiny dlsch\_coding()\par36.212
268 426.729 m 293 426.729 l
268 399.17 m 293 399.17 l
405 397.373 m 421 397.373 l
294 320 m 294 296 l 392 296 l 392 320 l h
\setstretch{.5}\tt\tiny dlsch\_encoding()\par36.212
268 399.17 m 293 399.17 l
408 322.774 m 408 288 l 520 288 l 520 322.774 l h
\setstretch{.5}\tt\tiny dlsch\_scrambling()\par dlsch\_modulation()\par36.211
405 397.373 m 421 397.373 l
294 320 m 294 296 l 392 296 l 392 320 l h
\setstretch{.5}\tt\tiny dlsch\_encoding()\par36.212
408 251 m 408 144 l 520 144 l 520 251 l h
\setstretch{.5}\tt\tiny dlsch\_scrambling()\par dlsch\_modulation()\par[2-4 layers]\par 36.211
405 397.373 m 421 397.373 l
294 320 m 294 296 l 392 296 l 392 320 l h
\setstretch{.5}\tt\tiny dlsch\_encoding()\par36.212
405 397.373 m 421 397.373 l
268 399.17 m 293 399.17 l
268 399.17 m 293 399.17 l
552 428 m 552 428 l
405 409 m 600 408.924 l
520 381 m 600 380.885 l
521 292.923 m 600 293.648 l
\tt\tiny openair1/SCHED/phy\_procedures\_lte\_eNb.c:pdsch\_procedures()
\tt\tiny openair1/SCHED/phy\_procedures\_lte\_eNb.c:pdsch\_procedures()
\tt\tiny openair1/PHY/LTE\_TRANSPORT/dci.c
360 104 m 360 104 l 360 104 l 360 104 l h
144 344 m 144 264 l 536 264 l 536 344 l h
128 440 m 128 384 l 224 384 l 224 440 l h
\setstretch{.5}\tt\tiny dlsch\_coding()\par36.212
\tt\tiny MCH\_PDU
294 320 m 294 296 l 392 296 l 392 320 l h
\setstretch{.5}\tt\tiny dlsch\_encoding()\par36.212
268 399.17 m 293 399.17 l
408 322.774 m 408 288 l 520 288 l 520 322.774 l h
\setstretch{.5}\tt\tiny dlsch\_scrambling()\par mch\_modulation()\par36.211
405 397.373 m 421 397.373 l
\tt\tiny openair1/SCHED/phy\_procedures\_lte\_eNb.c:pmch\_procedures()
64 416 m 172 416 l
128 488 m 128 452 l 172 452 l 172 488 l h
140 472 m 140 472 l 140 472 l 140 472 l h
\setstretch{.5}\tt\tiny UL CNTL\\36.213
188 476 m 188 460 l 316 460 l 316 476 l h
\tt\tiny generate\_phich\_top()
172 468 m 188 468 l
\setstretch{.5}\tt\tiny generate\_phich()\par36.212,36.211
405 397.373 m 421 397.373 l
445 457 m 600 456.672 l
520.262 58 m 600 58.7558 l
\tt\tiny openair1/PHY/LTE\_TRANSPORT/phich.c
\tiny PHICH REs
\tiny PCFICH REs
\tiny PDCCH REs
\tiny PDSCH REs
104.077 0 0 104.077 528 236 e
\tiny PMCH REs
\setstretch{.5}\tt\tiny generate\_pilots\_slot()\par generate\_pss/sss/pbch()\par36.211
248 488.695 m 248 488.695 l 248 488.695 l 248 488.695 l h
\tt\tiny openair1/SCHED/phy\_procedures\_lte\_eNb.c:common\_signal\_procedures()
401 507 m 600.424 507.963 l
\tiny CS-RS/PSS/SSS/PBCH REs
576 332 m 592 324 l
\tt\tiny openair1/SCHED/phy\_procedures\_lte\_eNb.c:phy\_procedures\_eNB\_TX()
eNB TX Procedures
\tiny eNodeB\_3GPP or NGFI\_RCC\_IF4p5
232 276 m 232 240 l 240 240 l 240 276 l h
\tt\tiny IF2 split points
232 276 m 232 240 l 240 240 l 240 276 l h
521 292.923 m 600 293.648 l
521 292.923 m 600 293.648 l
539.766 93 m 539.306 79.0026 l 340 79.7439 l
447.064 116 m 447.064 92 l 632 92 l 632 116 l h
304 384 m 304 320 l 368 320 l 368 384 l h
225.588 267.631 m 225.588 257.004 l 451.999 257.004 l 451.999 267.631 l h
286.577 417.212 m 286.577 407.581 l 412.989 407.581 l 412.989 417.212 l h
-66.4757 363.53 m -66.4757 358.467 l -65.4632 358.467 l -65.4632 363.53 l h
330 430 m 330 390 l 380 390 l 380 430 l h
\begin{tiny} \tt {\bf phy\_procedures\_eNB\_TX}(sched\_subframe,eNB,abstraction\_flag,r\_type,rn) \end{tiny}
\begin{tiny} eNB instance and component carriers \end{tiny}
\begin{tiny} subframe where TX was scheduled \end{tiny}
293.168 472.33 m 189.522 511.272 l
372.849 474.127 m 310.542 512.47 l
\setstretch{.5}\begin{tiny} Flag to indicate 212/213 Split\\(transport channels, no 211 procedures) \end{tiny}
432.16 473.528 m 526.22 499.29 l
27.6629 0 0 27.6629 531.612 404.032 e
526.819 478.92 m 598.712 484.312 l
\begin{tiny} Experimental (for relays)\end{tiny}
\begin{tiny} \bf\tt Check for dead UEs \end{tiny}
304 384 m 304 320 l 368 320 l 368 384 l h
340.45 451.636 m 340.45 417.212 l
\begin{tiny}\tt eNB$\rightarrow$CC\_id==0?\end{tiny}
\begin{tiny} \bf\tt Call eNB\_dlsch\_ulsch\_scheduler [MAC] \end{tiny}
340.45 451.636 m 340.45 417.212 l
340.45 451.636 m 340.45 417.212 l
340.45 451.636 m 340.45 417.212 l
418.155 336 m 528 336 l 528 248 l 340 247.665 l
\tiny no
225.588 267.631 m 225.588 257.004 l 451.999 257.004 l 451.999 267.631 l h
\begin{tiny}\tt is PMCH subframe?\end{tiny}
\begin{tiny} \bf\tt Call pmch\_procedures \end{tiny}
340.45 451.636 m 340.45 417.212 l
340 97.4877 m 340 52 l
\tiny no
\setstretch{.5} \begin{tiny} \bf\tt Call common\_signal\_procedures\\ (CS-RS/PSS/SSS/PBCH) \end{tiny}
417.889 180.561 m 540 180 l 539.532 116 l
352 0 m 352 12 l 384 12 l 384 12 l 384 0 l 368 -12 l 368 -12 l h
eNB TX Flowchart
225.588 267.631 m 225.588 257.004 l 451.999 257.004 l 451.999 267.631 l h
\setstretch{.5}\begin{tiny} \bf\tt Call get\_dci\_sdu [MAC]\\ dci=first\_dci \end{tiny}
368.672 502.411 m 368 524 l
304 384 m 304 320 l 368 320 l 368 384 l h
\setstretch{.5}\begin{tiny}\tt dci not empty and DL dci?\end{tiny}
368.672 502.411 m 368 524 l
368.297 357.206 m 368 380 l
260 356 m 260 328 l 476 328 l 476 356 l h
\setstretch{.5}\begin{tiny} \bf\tt Call generate\_dlsch\_params\_from\_dci\\ dci=next(dci) \end{tiny}
\tt\tiny no
260 342 m 240.242 342 l 240 472 l 368 472 l
445.666 417.484 m 512.662 417.484 l 512.662 303.725 l 367.862 303.725 l 367.862 288.454 l
260 356 m 260 328 l 476 328 l 476 356 l h
\setstretch{.5}\begin{tiny} \bf\tt Call phy\_config\_dedicated\_step2\\ dci=first\_dci \end{tiny}
272 200 m 344.961 161.229 l 416 200 l 344.961 235.739 l h
\setstretch{.5}\begin{tiny}\tt dci not empty and UL dci?\end{tiny}
368.297 357.206 m 368 380 l
260 356 m 260 328 l 476 328 l 476 356 l h
\setstretch{.5}\begin{tiny} \bf\tt Call generate\_ulsch\_params\_from\_dci\\ dci=next(dci) \end{tiny}
\tt\tiny no
260 123 m 240.242 123 l 240 252 l 368 252 l
416 200 m 488 200 l 489 96 l 345 96 l 344.862 77.0895 l
272 80 m 272 48 l 416 48 l 416 80 l h
\setstretch{.5}\begin{tiny} \bf\tt Call generate\_dci\_top\\ Call generate\_phich\_top \end{tiny}
368.297 357.206 m 368 380 l
352 0 m 352 12 l 384 12 l 384 12 l 384 0 l 368 -12 l 368 -12 l h
344 24 m 344 48 l
\tt\tiny yes
\tt\tiny yes
eNB TX Flowchart
240 96 m 240 56 l 496 56 l 496 96 l h
\setstretch{.5}\begin{tiny} \bf\tt dlsch\_eNB[UE].subframe\_active=false\par [no PUCCH ACK to be checked in TTI n+k]\par UE=next(UE) \end{tiny}
288 464 m 368 432 l 448 464 l 368 496 l h
288 464 m 368 432 l 448 464 l 368 496 l h
368 528 m 368 512 l
288 464 m 368 432 l 448 464 l 368 496 l h
\setstretch{.5}\begin{tiny}\tt is dlsch\_SI active?\end{tiny}
368 528 m 368 504 l
\setstretch{.5}\begin{tiny}\tt is dlsch\_P active?\end{tiny}
368 528 m 368 504 l
\setstretch{.5}\begin{tiny}\tt is dlsch\_RA active?\end{tiny}
\tt\tiny no
\tt\tiny no
\tt\tiny no
368 528 m 368 504 l
456 480 m 456 464 l 648 464 l 648 480 l h
\setstretch{.5}\begin{tiny} \bf\tt Call pdsch\_procedures(dlsch\_SI) \end{tiny}
448 464 m 536 464 l 536 448 l
536 432 m 536 424 l 368 424 l
\tt\tiny yes
456 480 m 456 464 l 648 464 l 648 480 l h
\setstretch{.5}\begin{tiny} \bf\tt Call pdsch\_procedures(dlsch\_P) \end{tiny}
448 464 m 536 464 l 536 448 l
536 432 m 536 424 l 368 424 l
\tt\tiny yes
456 480 m 456 464 l 648 464 l 648 480 l h
\setstretch{.5}\begin{tiny} \bf\tt Call pdsch\_procedures(dlsch\_RA) \end{tiny}
448 464 m 536 464 l 536 448 l
536 432 m 536 424 l 368 424 l
\tt\tiny yes
256 232 m 256 208 l 480 208 l 480 232 l h
\setstretch{.5}\begin{tiny} \bf\tt UE=first\_UE from UE\_list \par [list of UE with t-CRNTI or CRNTI] \end{tiny}
288 464 m 368 432 l 448 464 l 368 496 l h
\setstretch{.5}\begin{tiny}\tt is dlsch\_UE active?\end{tiny}
368 528 m 368 504 l
368 528 m 368 504 l
456 480 m 456 464 l 648 464 l 648 480 l h
\setstretch{.5}\begin{tiny} \bf\tt Call pdsch\_procedures(dlsch\_UE) \end{tiny}
\tt\tiny yes
448 464 m 536 464 l 536 448 l
536 432 m 536 424 l 368 424 l
\tt\tiny no
416 88 m 416 88 l 416 88 l 416 88 l h
320 32 m 368 16 l 416 32 l 368 48 l h
\setstretch{.5}\begin{tiny}\tt UE=NULL?\end{tiny}
368 72 m 368 56 l
320 40 m 224 40 l 224 168 l 288 168 l
\tt\tiny no
352 0 m 352 12 l 384 12 l 384 12 l 384 0 l 368 -12 l 368 -12 l h
416 40 m 640 40 l 640 24 l
\tt\tiny yes
512 48 m 512 32 l 544 32 l 544 48 l h
528 80 m 528 48 l
\bf\setstretch{.5}\tiny IF4p5 \par [All Frequency-domain Signals are created]
eNB TX Flowchart
130 527 m 130 -1 l 608 0 l 608 528 l h
388 288 m 388 208 l 584 208 l 584 288 l h
141 449 m 141 361 l 580.427 361 l 580 448 l h
464 428 m 464 396 l 576 396 l 576 428 l h
462.358 361 m 462.358 287.368 l 602 287.368 l 602 361 l h
462.358 361 m 462.358 287.368 l 602 287.368 l 602 361 l h
492 200 m 492 16 l 596 16 l 596 200 l h
130 202.157 m 130 16 l 484 16 l 484 204 l h
\tt\tiny openair1/SCHED/phy\_procedures\_lte\_eNb.c:phy\_procedures\_eNB\_RX()
0 424 m 0 32 l 48 32 l 48 424 l h
M\\ A\\ C
64 416 m 172 416 l
\setstretch{.5}\tt\tiny RACH Preamble
534 125.858 m 688 126 l
\tt\tiny ULSCH\_SDU(UE\_id)
\tiny eNB\_common\_vars.rxdataF[0]
\tiny eNB\_common\_vars.rxdataF[R-1]
273 269 m 412 268 l
273 245 m 412 244 l
184 128 m 184 100 l 276 100 l 276 128 l h
\setstretch{.5}\tt\tiny rx\_ulsch(UE\_id)\par36.211
208 240 m 208 128 l
\tt\tiny LTE\_TRANSPORT/prach.c
\tt\tiny openair1/PHY/LTE\_TRANSPORT/ulsch\_demodulation.c
393 285 m 393 229 l 552 228 l 552 284 l h
\tt\tiny lte\_eNB\_I0\_measurements()
280 32 m 280 199 l 308 199 l 308 32 l h
\setstretch{.5}\tt\tiny ulsch\_extract\_rbs\_single()\par36.211
332 32 m 332 199 l 360 199 l 360 32 l h
\setstretch{.5}\tt\tiny lte\_ul\_channel\_estimation()\par36.211
332 32 m 332 199 l 360 199 l 360 32 l h
\setstretch{.5}\tt\tiny ulsch\_detection\_mrc()\par36.211
332 32 m 332 199 l 360 199 l 360 32 l h
\setstretch{.5}\tt\tiny frequency\_equalization()\par36.211
332 32 m 332 199 l 360 199 l 360 32 l h
\setstretch{.5}\tt\tiny lte\_idft()\par36.211
332 32 m 332 199 l 360 199 l 360 32 l h
\setstretch{.5}\tt\tiny ulsch\_XXX\_llr()\par36.211
332 32 m 332 199 l 360 199 l 360 32 l h
\setstretch{.5}\tt\tiny ulsch\_decoding()\par36.212
332 32 m 332 199 l 360 199 l 360 32 l h
\setstretch{.5}\tt\tiny ulsch\_channel\_compensation()\par36.211
476 118 m 504.475 118 l
564 220 m 564 220 l 564 220 l 564 220 l h
\tt\tiny ulsch\_decoding.c
476 118 m 504.475 118 l
\tt\tiny ACK/NAK,RI,CQI
131 344 m 131 316 l 276 316 l 276 344 l h
\setstretch{.5}\tt\tiny pucch\_procedures(UE\_id)\par36.211
153 232 m 153 176 l 228 176 l 228 232 l h
\setstretch{.5}\tt\tiny rx\_pucchl\par36.211
476 118 m 504.475 118 l
551.76 312.126 m 687 312.231 l
\tt\tiny ACK/NAK
\tt\tiny SR
440.514 328 m 477 327.572 l
\tt\tiny TRANSPORT/pucch.c
373.112 244.28 m 373.112 316 l
344.968 268.786 m 345.381 316 l
131 344 m 131 316 l 276 316 l 276 344 l h
\setstretch{.5}\tt\tiny prach\_procedures\par36.211
405.275 413 m 464 412.625 l
440.514 328 m 477 327.572 l
\tt\tiny openair1/SCHED/phy\_procedures\_lte\_eNb.c:prach\_procedures()
153 232 m 153 176 l 228 176 l 228 232 l h
\setstretch{.5}\tt\tiny rx\_prachl\par36.211
\setstretch{.5}\tt\tiny E\_PRACH>Lmin\par36.211
\tt\tiny LTE\_ESTIMATION/lte\_eNB\_I0\_measurements.c
eNB PHY RX Procedures
0 416 m 144 416 l
\tiny {\tt eNB->prach\_vars.prachF[0$\cdots$ R-1]}
160 268 m 160 128 l
0 296 m 0 264 l 736 264 l 736 296 l h
0 296 m 0 264 l 736 264 l 736 296 l h
0 296 m 0 264 l 736 264 l 736 296 l h
0 296 m 0 264 l 736 264 l 736 296 l h
0 296 m 0 264 l 736 264 l 736 296 l h
0 296 m 0 264 l 736 264 l 736 296 l h
0 296 m 0 264 l 736 264 l 736 296 l h
0 296 m 0 264 l 736 264 l 736 296 l h
184 128 m 184 100 l 276 100 l 276 128 l h
\setstretch{.5}\tt\tiny rx\_ulsch(UE\_id)\par36.211
\tiny$\mathbf{R}_{r,l}=\mathrm{DFT}_{N_{\mathrm{fft}}}(\mathbf{r}_{r,l}\odot\mathbf{F}_{7.5}),r=0,1,\cdots,R-1,l=0,1,\cdots,N_{\mathrm{symb}}-1$ (\tt\bf eNB\_common\_vars$\rightarrow$rxdataF[][])%,N_{\mathrm{fft}}=2^{1+\left\lceil\log_2 12N^{\mathrm{RB}}_{\mathrm{DL}}\right\rceil$
153 232 m 153 176 l 228 176 l 228 232 l h
\setstretch{.5}\tt\tiny slot\_fep\_ul\par36.211
144 440 m 176 440 l
272 328 m 272 328 l
144 440 m 176 440 l
\tiny $\mathbf{r}_{r,l}$
\tiny $\mathbf{R}_{r,l}$
\tiny $\mathbf{R}_{\mathrm{ext},r,l}$
\tiny $R_{\mathrm{ext},r,l}(n)={R}_{r,l}(12\mathrm{firstPRB}+n),n=0,1,\cdots,12N_{\mathrm{PRB}}-1$ (\tt\bf eNB\_pusch\_vars$\rightarrow$ulsch\_rxdataF\_ext[][])
\tiny $\mathbf{\hat{H}}_{r,l}$
\tiny $\mathbf{\hat{H}}_{r,l} = \mathbf{R}_{\mathrm{ext},r,l}\odot\mathbf{DRS}^*_{l}(\mathrm{cyclicShift},n_{\mathrm{DMRS}^{(2)}},n_{\mathrm{PRS}})$, (\tt\bf eNB\_pusch\_vars$\rightarrow$drs\_ch\_estimates[])
\tiny $\mathbf{R}_{\mathrm{comp},r,l}$
\tiny $\mathbf{R}_{\mathrm{comp},0,l}$
\tiny $\mathbf{R}_{\mathrm{comp},0,l}=\frac{1}{R}\sum_{r=0}^{R-1}\mathbf{R}_{\mathrm{comp},r,l}$
\tiny $\mathbf{R}_{\mathrm{comp},0,l}$
\tiny $\mathbf{r}_{\mathrm{comp},0,l}$
\tiny $R_{\mathrm{comp},0,l}(n)=R_{\mathrm{comp},0,l}(n)\dot Q_8\left(\frac{1}{|\hat{H}(n)|^2+I_0}\right), \hat{H}(n)=\sum_{r=0}^{R-1}\hat{H}_{r}(n)$
\tiny $\mathbf{R}_{\mathrm{comp},r,l}=\mathbf{\hat{H}}_r\odot\mathbf{R}_{\mathrm{ext},r,l}2^{-\log_2|H_\mathrm{max}|}, \mathbf{\hat{H}}_r = \frac{1}{2}(\mathbf{\hat{H}}_{r,3}+\mathbf{\hat{H}}_{r,10})$\par (\tt\bf eNB\_pusch\_vars$\rightarrow$ulsch\_rxdataF\_comp)
\tiny $\mathbf{\lambda}_{l}$
\tiny QPSK : $\lambda_l(2n)=\mathrm{Re}(r_{\mathrm{comp},0,l}(n)), \lambda_l(2n+1)=\mathrm{Im}(r_{\mathrm{comp},0,l}(n))$ (\tt\bf eNB\_pusch\_vars$\rightarrow$ulsch\_llr)
\tiny ${\mathbf r}_{\mathrm{comp},0,l} = \mathrm{IDFT}_{12N_{\mathrm{PRB}}}({\mathbf R}_{\mathrm{comp},0,l})$
\tiny 16QAM : $\lambda_l(4n)=\mathrm{Re}(r_{\mathrm{comp},0,l}(n)), \lambda_l(4n+2)=\mathrm{Im}(r_{\mathrm{comp},0,l}(n))$\par$\lambda_l(4n+1)=|\mathrm{Re}(r_{\mathrm{comp},0,l}(n))|-2\overline{|h(n)|},\lambda_l(4n+3)=|\mathrm{Im}(r_{\mathrm{comp},0,l}(n))|-2\overline{|h(n)|}$
280 32 m 280 199 l 308 199 l 308 32 l h
\setstretch{.5}\tt\tiny ulsch\_extract\_rbs\_single()\par36.211
332 32 m 332 199 l 360 199 l 360 32 l h
\setstretch{.5}\tt\tiny lte\_ul\_channel\_estimation()\par36.211
332 32 m 332 199 l 360 199 l 360 32 l h
\setstretch{.5}\tt\tiny ulsch\_channel\_compensation()\par36.211
332 32 m 332 199 l 360 199 l 360 32 l h
\setstretch{.5}\tt\tiny ulsch\_detection\_mrc()\par36.211
332 32 m 332 199 l 360 199 l 360 32 l h
\setstretch{.5}\tt\tiny frequency\_equalization()\par36.211
332 32 m 332 199 l 360 199 l 360 32 l h
\setstretch{.5}\tt\tiny lte\_idft()\par36.211
332 32 m 332 199 l 360 199 l 360 32 l h
\setstretch{.5}\tt\tiny ulsch\_XXX\_llr()\par36.211
304 236 m 304 236 l 304 236 l 304 236 l h
eNB ULSCH Demodulation
eNB PRACH Detection
0 296 m 0 264 l 736 264 l 736 296 l h
\tiny$\mathbf{R}_{r}=\mathrm{DFT}_{N_{\mathrm{PRACH}}}(\mathbf{r}_{r}),r=0,1,\cdots,R-1$ (\tt\bf lte\_eNB\_prach\_vars$\rightarrow$rxsigF[])%,N_{\mathrm{fft}}=2^{1+\left\lceil\log_2 12N^{\mathrm{RB}}_{\mathrm{DL}}\right\rceil$
0 296 m 0 264 l 736 264 l 736 296 l h
\tiny$\mathbf{R}_{\mathrm{comp},r}=\mathbf{R}_{r}\odot \mathbf{X}^*_u[i],r=0,1,\cdots,R-1$ (\tt\bf lte\_eNB\_prach\_vars$\rightarrow$prachF[])%,N_{\mathrm{fft}}=2^{1+\left\lceil\log_2 12N^{\mathrm{RB}}_{\mathrm{DL}}\right\rceil$
0 296 m 0 264 l 736 264 l 736 296 l h
\tiny$\mathbf{r}_{839,r}=\mathrm{IDFT}_{1024}\left(\mathbf{R}_{\mathrm{comp},r}\right), r=0,1,\cdots,R-1$ (\tt\bf lte\_eNB\_prach\_vars$\rightarrow$prach\_ifft[])
112 460 m 112 400 l 176 400 l 176 460 l h
\tiny $\mathbf{r}_{r}$
144 440 m 176 440 l
DFT
\tiny $\mathbf{R}_{r}$
268 480 m 268 452 l 300 452 l 300 480 l h
$\odot$
176 428 m 208 428 l 208 456 l 268 456 l
208 428 m 208 400 l 268 400 l
\tiny $\mathbf{X}^*_{u}(0)$
\tiny $\mathbf{X}^*_{u}(1)$
284 480 m 284 468 l
284 372 m 284 384 l
268 480 m 268 452 l 300 452 l 300 480 l h
\tiny$R\times\mathrm{IDFT}_{1024}$
300 456 m 336 456 l
300 456 m 336 456 l
268 480 m 268 452 l 300 452 l 300 480 l h
\tiny$R\times\mathrm{IDFT}_{1024}$
268 480 m 268 452 l 300 452 l 300 480 l h
\tiny$\sum_{r}|\cdot|^2$
268 480 m 268 452 l 300 452 l 300 480 l h
\tiny$\sum_{r}|\cdot|^2$
268 480 m 268 452 l 300 452 l 300 480 l h
\tiny max peak in size $\mathrm{NCS}_2$ window, keep delay
412 456 m 440 456 l
412 400 m 440 400 l
500 460 m 532 460 l
500 460 m 532 460 l
500 460 m 532 460 l
624 456 m 672 456 l
624 456 m 672 456 l
268 480 m 268 452 l 300 452 l 300 480 l h
\tiny max peak in size $\mathrm{NCS}_2$ window, keep delay
\tiny\tt preamble\_energy\_list[]\par preamble\_delay\_list[]
\tiny $\mathbf{r}_{839,r}$
\small\begin{itemize} \item PRACH detection is a quasi-optimal non-coherent receiver for vector observations (multiple antennas) \item correlation is done in the frequency-domain, number of correlations (in the example above 2) depends on {\em zeroCorrelationConfig} configuration parameter \item peak-detection (for delay estimation) is performed in each NCS time-window \end{itemize}
268 480 m 268 452 l 300 452 l 300 480 l h
$\odot$
340 416 m 340 340 l 564 340 l 564 416 l h
268 480 m 268 452 l 300 452 l 300 480 l h
\tiny$\sum_{r,l,i}|\cdot|^2$
\begin{tiny}$\stackbin{<}{>}\sigma^2[\mathrm{dB}]$\end{tiny}
eNB PUCCH1 Detection
184 128 m 184 100 l 276 100 l 276 128 l h
\setstretch{.5}\tt\tiny rx\_pucch()\par36.211
153 232 m 153 176 l 228 176 l 228 232 l h
\setstretch{.5}\tt\tiny slot\_fep\_ul\par36.211
144 440 m 176 440 l
144 440 m 176 440 l
\tiny $\mathbf{r}_{r,l}$
\tiny $\mathbf{R}_{r,l}$
\tiny $\mathbf{Z}^*_{l}e^{-j2\pi f/16},-3\leq f\leq 2$
308 448 m 352 448 l
$\odot$
308 448 m 352 448 l
392 484 m 392 456 l
328 448 m 328 400 l 352 400 l
$\odot$
392 484 m 392 456 l
\tiny $\mathbf{Z}^*_{l}$
288 496 m 288 496 l 288 496 l 288 496 l h
308 448 m 352 448 l
412 408 m 412 392 l 464 392 l 464 408 l h
\tiny$\mathbf{\hat{H}}$
$\odot$
420 392 m 420 376 l
384 400 m 384 368 l 412 368 l
428 368 m 464 368 l
\tiny$\mathrm{sgn}(\mathrm{Re}(\cdot))$
444 368 m 444 352 l 464 352 l
\tiny$\mathrm{sgn}(\mathrm{Im}(\cdot))$
532 408 m 532 408 l 532 408 l 532 408 l h
\tiny PUCCH1 (Scheduling Request)
\tiny PUCCH1a/1b (ACK/NAK)
\small\begin{itemize} \item PUCCH1 detection is a quasi-optimal non-coherent receiver (energy detector) for vector observations (multiple antennas) for scheduling request. Care is taken to handle residual frequency-offset. \item PUCCH1A/1B detection is quasi-coherent based on a rough channel estimate obtained on the 3 symbols without data modulation. \item In both cases, correlation is done in the frequency-domain \end{itemize}
\small\begin{itemize} \item Threads (all in {\tt targets/RT/USER/lte-ru.c}) \begin{itemize} \item {\tt ru\_thread}: Thread per RU which sequentially performs \begin{itemize} \item read from south interface (RF or IF fronthaul) \item RX processing for subframe $n$ (if necessary). \item wakeup eNBs that are waiting for signal (if necessary) \item wait for eNB task completion (if necessary) \item do TX processing for subframe $n+4$ (if necessary). Note that this can spawn multiple worker threads for very high order spatial processing (e.g. massive-MIMO or DAS for UDN) \item do outgoing fronthaul (RF or IF fronthaul) \end{itemize} \item {\tt ru\_thread\_prach}: Thread for PRACH processing in remote RU (DFT on RX, IF4p5 RRU) \item {\tt ru\_thread\_asynch}: Thread for asynchronous reception from fronthaul interface (TX direction in RRU). %Allows for some jitter so as not to block the RRU real-time processing. \end{itemize} \item Synchronization on fronthaul interface \begin{itemize} \item {\em synch\_to\_ext\_device} : synchronizes to incoming samples from RF or Fronthaul interface using blocking read \item {\em synch\_to\_other} : synchronizes via POSIX mechanism to other source (other CC, timer) which maintains real-time. \end{itemize} \end{itemize}
RU Threads
\small\begin{itemize} \item Threads (all in {\tt targets/RT/USER/lte-enb.c}) \begin{itemize} \item multi RX/TX thread mode (optional) \begin{itemize} \item {\tt eNB\_thread\_rxtx}: 2 threads per CC/Instance which do both RX procedures for subframe $n$ and TX procedures for subframe $n+4$. One operates on even subframes, one on odd. This allows 1ms subframe processing to use multiple-cores. \end{itemize} \item common RU-eNB RX/TX thread (default if single RU/eNB) \begin{itemize} \item calls {\tt eNB\_top}: procedure per CC/Instance which sequentially \begin{itemize} \item blocks on signal from RU \item RX/TX processing for subframe $n$ and $n+4$ \item signals completion to RU \end{itemize} \end{itemize} \item {\tt eNB\_prach}: Thread per CC\_id/Instance for PRACH processing \end{itemize} \end{itemize}
eNB Threads
400 400 m 400 388 l 520 388 l 520 400 l h
400 432 m 400 420 l 520 420 l 520 432 l h
400 448 m 400 436 l 528 436 l 528 448 l h
400 448 m 400 436 l 528 436 l 528 448 l h
192 388 m 192 364 l 272 364 l 272 388 l h
32 480 m 32 464 l 112 464 l 112 480 l h
eNB Timing (multi-thread mode)
32 480 m 32 464 l 112 464 l 112 480 l h
\tiny SF $n+1$
32 480 m 32 464 l 112 464 l 112 480 l h
\tiny SF $n+2$
32 480 m 32 464 l 112 464 l 112 480 l h
\tiny SF $n+3$
\tiny $n$
32 480 m 32 464 l 112 464 l 112 480 l h
\tiny$n+4$
32 480 m 32 464 l 112 464 l 112 480 l h
\tiny SF $n+4$
32 480 m 212 572 352 480 c
384 464 m 384 464 l
380 472 m 380 472 l
\tiny\begin{itemize} \item The current processing requires approximately 1ms peak in each direction (basically 1 core RX, 1core TX). The current architecture will work on a single core if the sum of RX and TX procedures is limited to 1ms. It can fit on 2 cores if the sum of RX,TX and PRACH is less than 2ms. \item three threads, RX-TX even, RX-TX odd and PRACH. RX-TX blocks until woken by the RU thread with a new RX subframe $n$ that is linked to this eNB process. The RX-TX thread performs ue-specific processing for subframe $n$ and then TX common and ue-specific processing for subframe $n+4$ (frequency-domain generation only). This insures the data dependency between TX $n+4$ and RX $n$ is respected. The duration of this thread should be less than 2ms which can compensate some jitter on the RX processing. \end{itemize}
32 480 m 32 464 l 112 464 l 112 480 l h
\tiny SF $n$
\tiny LTE HARQ periodicity (FDD, TDD can be longer)
\tiny PRACH $n$
32 480 m 32 464 l 112 464 l 112 480 l h
32 480 m 32 464 l 112 464 l 112 480 l h
\tiny $n+1$
\tiny $n$
32 480 m 32 464 l 112 464 l 112 480 l h
\tiny$n+5$
32 480 m 32 464 l 112 464 l 112 480 l h
\tiny $n+1$
124 424 m 172 416 152 392 c
204 424 m 228 424 236 416 c
192 396 m 196 416 l
32 480 m 32 464 l 112 464 l 112 480 l h
\tiny $n-1$
32 480 m 32 464 l 112 464 l 112 480 l h
\tiny$n+3$
32 480 m 32 464 l 112 464 l 112 480 l h
\tiny $n-1$
32 480 m 32 464 l 112 464 l 112 480 l h
\tiny $n+2$
32 480 m 32 464 l 112 464 l 112 480 l h
\tiny$n+6$
32 480 m 32 464 l 112 464 l 112 480 l h
284 424 m 308 424 316 436 c
\tiny $n+2$
268 452 m 276 436 l
\tiny RU thread
\tiny RX-TX thread (even)
400 448 m 400 436 l 528 436 l 528 448 l h
400 448 m 400 436 l 528 436 l 528 448 l h
\tiny RX-TX thread (odd)
\tiny PRACH
192 396 m 196 416 l
96 384 m 96 320 l 640 320 l 640 384 l h
96 384 m 96 320 l 640 320 l 640 384 l h
96 384 m 96 320 l 640 320 l 640 384 l h
96 384 m 96 320 l 640 320 l 640 384 l h
128 368 m 128 336 l 352 336 l 352 368 l h
128 368 m 128 336 l 352 336 l 352 368 l h
175.695 380 m 176.42 128 l
OAI IF1'' Interface (can be NFAPI)
\tiny\begin{itemize} \item OAI IF1'' is the interface between the 36.321 Medium-Access (MAC) Layer Procedures and the 36.213 Physical Layer Procedures. It links several PHY instances to one MAC instance. \item It is a configurable (dynamically loadable) module which can implement an (N)FAPI P5/P7 or a simpler interface. \end{itemize}
128 368 m 128 336 l 352 336 l 352 368 l h
\tiny Random-Access
\tiny Events
\small PHY procedures
\tiny {\tt initiate\_ra\_proc()}
\tiny {\tt terminate\_ra\_proc()}
\tiny {\tt cancel\_ra\_proc()}
\tiny {\tt phy\_config\_dedicated()}
\tiny {\tt phy\_config\_sib1()}
\tiny {\tt phy\_config\_sib2()}
\tiny {\tt phy\_config\_sib13()}
175.695 380 m 176.42 128 l
175.695 380 m 176.42 128 l
175.695 380 m 176.42 128 l
175.695 380 m 176.42 128 l
175.695 380 m 176.42 128 l
175.695 380 m 176.42 128 l
175.695 380 m 176.42 128 l
\tiny {\tt eNB\_dlsch\_ulsch\_scheduler()}
\tiny {\tt get\_dcii\_sdu()}
175.695 380 m 176.42 128 l
\tiny {\tt get\_dlsch\_sdu()}
175.695 380 m 176.42 128 l
\tiny {\tt rx\_sdu()}
175.695 380 m 176.42 128 l
\tiny {\tt get\_mch\_sdu()}
175.695 380 m 176.42 128 l
\tiny {\tt SR\_indication()}
175.695 380 m 176.42 128 l
128 368 m 128 336 l 352 336 l 352 368 l h
\tiny PHY Config
\tiny Scheduling
\small {\tt 36.213/36.321}\\ {\tt openair2/LAYER2/MAC}
\small {\tt 36.211/212}\par {\tt openair1/PHY}
96 384 m 96 320 l 640 320 l 640 384 l h
\small OAI MAC interface
\tiny {\tt phy\_config\_mib()}
175.695 380 m 176.42 128 l
175.695 380 m 176.42 128 l
175.695 380 m 176.42 128 l
175.695 380 m 176.42 128 l
175.695 380 m 176.42 128 l
\small UL-Indication
\small Config-Req
\small Schedule-Resp
\tiny Northbound interface
\tiny Southbound interface
OAI IF1'' Interface
\tiny\begin{itemize} \item The PHY end uses three basic messages \begin{itemize} \item {\tt CONFIG\_REQ}: this provides the cell configuration and UE-specific configuration to the PHY instances. This comprises the following FAPI P5/P7 messages \begin{enumerate} \item CONFIG.request \item UE\_CONFIG.request (**not used in OAI PHY) \end{enumerate} \item {\tt UL\_INDICATION} This is an uplink indication that sends all UL information received in one TTI, including PRACH, if available. It also provides the subframe indication for the DL scheduler. It maps to the following FAPI P7 messages \begin{enumerate} \item {\tt SUBFRAME.indication} \item {\tt HARQ.indication} \item {\tt CRC.indication } \item {\tt RX\_ULSCH.indication} \item {\tt RX\_SR.indication} \item {\tt RX\_CQI.indication} \item {\tt RACH.indication} \item {\tt SRS.indication} \end{enumerate} \item {\tt SCHEDULE\_REQUEST} This message contains the scheduling response information and comprises the following FAPI P7 messages \begin{enumerate} \item {\tt DL\_CONFIG.request} \item {\tt UL\_CONFIG.request} \item {\tt TX.request} \item {\tt HI\_DCI0.request} \end{enumerate} \end{itemize} \item The module is registered both by PHY and MAC and can implement different types of transport (NFAPI, function call, FAPI over UDP, etc.). During registration, fuction pointers for the different messages are provided for the module to interact with either PHY or MAC or both if they are executing in the same machine. Note that for a networked implementation (e.g. NFAPI), there are north and south components running in different machines. \end{itemize}
OAI IF1'' Interface
\small\begin{itemize} \item The PHY-layer timing is assumed to be \begin{enumerate} \item wait for subframe indication $n$ from HW \item trigger PRACH if $n$ has PRACH (parallel thread) \item trigger UE specific RX procedures for $n$ if $n$ is UL \item assemble {\tt UL\_INDICATION} and send to MAC \item wait for {\tt SCHEDULE\_REQUEST} \item do TX procedures if $n+4$ is TX and RX programming if $n+4+k$ is UL \end{enumerate} \item The MAC-layer timing is assumed to be \begin{enumerate} \item do all UL processing for subframe $n$ if $n$ is UL after unraveling of UL\_INDICATION in MAC module \item wait for call to {\tt eNB\_dlsch\_ulsch\_scheduler} \item do DL scheduling for $n+4$ if it is DL \item do UL scheduling for $n+8$ if it is UL \item return from eNB\_dlsch\_ulsch\_scheduler \item let MAC module form SCHEDULE\_REQUEST \end{enumerate} \end{itemize}
96 384 m 96 320 l 640 320 l 640 384 l h
128 368 m 128 336 l 352 336 l 352 368 l h
128 368 m 128 336 l 352 336 l 352 368 l h
OAI MAC
128 368 m 128 336 l 352 336 l 352 368 l h
\tiny Random-Access
\tiny Events
128 368 m 128 336 l 352 336 l 352 368 l h
\tiny PHY Config
\tiny Scheduling
\small {\tt 36.321}\\ {\tt openair2/LAYER2/MAC}
175.695 380 m 176.42 128 l
176 496 m 176 384 l 400 384 l 400 496 l h
176 496 m 176 384 l 400 384 l 400 496 l h
\small RRC
384 384 m 272 144 l
384 384 m 384 144 l
384 384 m 528 144 l
608 384 m 528 144 l
\small RLC
176 496 m 176 384 l 400 384 l 400 496 l h
\small Preprocessor
160 256 m 528 144 l
272 312 m 608 384 l
472 504 m 472 232 l 152 232 l 152 40 l 728 40 l 736 40 l 736 504 l h
\small {\tt 36.322}\\ {\tt openair2/LAYER2/RLC}
\small {\tt user customizable scheduling module}
TX Precoding
\small\begin{itemize} \item Spatio-temporal filtering for muli-cell (vCell) and multi-user transmission. Input and output are frequency-domain signals. \item can be applied to Rel-10/11/12/13 physical channels and Rel-8 common channels \begin{itemize} \item UE-specific precoding (TM7-10) \item vCell-specific precoding (PDCCH + TM1-6) for groups of UEs \item PMCH vCells \end{itemize} \item Precoding applicable to \begin{enumerate} \item indoor DAS \item outdoor co-localized arrays (e,g, Massive-MIMO) \item outdoor CoMP \end{enumerate} \end{itemize}
208 480 m 208 80 l 512 80 l 512 480 l h
128 448 m 208 448.44 l
128 448 m 208 448.44 l
128 448 m 208 448.44 l
400 160 480 192 528 160 400 160 400 160 u
400 96 448 128 512 144 576 96 496 80 400 96 400 96 u
480 160 m 480 160 l
496 160 m 496 160 l
400 96 448 128 512 144 576 96 496 80 400 96 400 96 u
\small UE
\small vCell
\small vCell
TX Precoding
608 516 m 607 37 l 679 37 l 680 516 l h
632 360 m 632 188 l 660 188 l 660 360 l h
TX Precoding (to RF device)
208 480 m 208 80 l 512 80 l 512 480 l h
128 448 m 208 448.44 l
128 448 m 208 448.44 l
128 448 m 208 448.44 l
\tt eNB[0]
\tt eNB[1]
\tt eNB[CC\_max]
128 448 m 208 448.44 l
128 448 m 208 448.44 l
128 448 m 208 448.44 l
128 448 m 208 448.44 l
128 448 m 208 448.44 l
128 448 m 208 448.44 l
128 448 m 208 448.44 l
528 464 m 528 416 l 592 416 l 592 464 l h
\tiny\tt rf\_device[0]
528 464 m 528 416 l 592 416 l 592 464 l h
\tiny\tt rf\_device[1]
528 464 m 528 416 l 592 416 l 592 464 l h
\tiny\tt rf\_device[N-1]
192 432 m 192 368 l 272 368 l 272 432 l h
192 432 m 192 368 l 272 368 l 272 432 l h
192 432 m 192 368 l 272 368 l 272 432 l h
\tiny\tt common signal precoding(vCell)\\ PBCH,PSS/SSS,PCFICH/PHICH/PDCCH\\ PDSCH - TM1-6
\tiny\tt UE-specific signal precoding(vCell)\\ UE-RS,PDSCH - TM7-10
\tiny\tt PMCH precoding
145 413.44 m 192 384 l
145 413.44 m 192 288 l
145 413.44 m 192 192 l
145 349.44 m 192 384 l
145 349.44 m 191.982 288.048 l
145 349.44 m 191.982 192.084 l
145 157.44 m 192 384 l 192 384 l
145 157.44 m 191.982 288.048 l
145 157.44 m 191.982 192.084 l
400 384 m 449 447.637 l
400.059 384.077 m 449 431.796 l
400.059 384.077 m 449 383.637 l
400.059 384.077 m 449 367.763 l
400.059 384.077 m 449 143.57 l
400.059 384.077 m 449 127.637 l
400 288 m 449 383.637 l
400.001 288.002 m 449 367.763 l
400.001 288.002 m 449 143.57 l
400.001 288.002 m 449 127.637 l
400 192 m 449 447.637 l
400.001 288.002 m 449 447.637 l
400.001 288.002 m 448.966 431.763 l
400.001 192.005 m 449 367.763 l
400.001 192.005 m 449 143.57 l
400.001 192.005 m 449 127.637 l
\tiny phy\_vars\_eNB.txdataF
\tiny phy\_vars\_eNB.txdata
632 264.556 m 671.833 265 l
\setstretch{.5}\tt\tiny do\_ofdm\_mod\_rt()\par 36.211
TX Precoding (to IF device, NGFI\_IFv4p5)
208 480 m 208 80 l 512 80 l 512 480 l h
128 448 m 208 448.44 l
128 448 m 208 448.44 l
128 448 m 208 448.44 l
\tt eNB[0]
\tt eNB[1]
\tt eNB[CC\_max]
128 448 m 208 448.44 l
128 448 m 208 448.44 l
128 448 m 208 448.44 l
128 448 m 208 448.44 l
128 448 m 208 448.44 l
128 448 m 208 448.44 l
128 448 m 208 448.44 l
528 464 m 528 416 l 592 416 l 592 464 l h
\tiny\tt if\_device[0]
528 464 m 528 416 l 592 416 l 592 464 l h
\tiny\tt if\_device[1]
528 464 m 528 416 l 592 416 l 592 464 l h
\tiny\tt if\_device[N-1]
192 432 m 192 368 l 272 368 l 272 432 l h
192 432 m 192 368 l 272 368 l 272 432 l h
192 432 m 192 368 l 272 368 l 272 432 l h
\tiny\tt common signal precoding(vCell)\\ PBCH,PSS/SSS,PCFICH/PHICH/PDCCH\\ PDSCH - TM1-6
\tiny\tt UE-specific signal precoding(vCell)\\ UE-RS,PDSCH - TM7-10
\tiny\tt PMCH precoding
145 413.44 m 192 384 l
145 413.44 m 192 288 l
145 413.44 m 192 192 l
145 349.44 m 192 384 l
145 349.44 m 191.982 288.048 l
145 349.44 m 191.982 192.084 l
145 157.44 m 192 384 l 192 384 l
145 157.44 m 191.982 288.048 l
145 157.44 m 191.982 192.084 l
400 384 m 449 447.637 l
400.059 384.077 m 449 431.796 l
400.059 384.077 m 449 383.637 l
400.059 384.077 m 449 367.763 l
400.059 384.077 m 449 143.57 l
400.059 384.077 m 449 127.637 l
400 288 m 449 383.637 l
400.001 288.002 m 449 367.763 l
400.001 288.002 m 449 143.57 l
400.001 288.002 m 449 127.637 l
400 192 m 449 447.637 l
400.001 288.002 m 449 447.637 l
400.001 288.002 m 448.966 431.763 l
400.001 192.005 m 449 367.763 l
400.001 192.005 m 449 143.57 l
400.001 192.005 m 449 127.637 l
448 544 m 448 544 l
432 544 m 432 544 l
624 432 m 672 432 l
624 432 m 672 432 l
624 432 m 672 432 l
\tiny NGFI\_IFv4p5
\tiny NGFI\_IFv4p5
\tiny NGFI\_IFv4p5