Читать книгу Multi-Processor System-on-Chip 2 - Liliana Andrade - Страница 26

1.3.3. Pseudo-code

Оглавление

Observing only the equation, a naive programmer could see the modulo load operation on g [.] and get stuck or try to write % for modulo in their C code, hoping that the compiler could deal with it. Fortunately for us, we have drawn the processing graph and can infer the processing required and how to circumvent the modulo operation altogether.

Figure 1.8. Visualization of time-domain GFDM filtering


Figure 1.9. GFDM pseudo-code

GFDM filtering consists of three mutually independent “for” loops (shown in Figure 1.9)15. Since the loops are mutually independent, they can be interchanged freely, which effectively changes the processing order to the programmer’s desire. Again, naively, we could think that the order does not matter as long as the “job gets done”, but, as we will see in section 1.5, the loop order has a notable impact on memory and processor utilization when using a vector machine. However, before we discuss different loop orders, we need to investigate fixed-point precision requirements, i.e. bit-lengths required to achieve acceptably low quantization error based on the 4G and 5G standard specification.

Multi-Processor System-on-Chip 2

Подняться наверх