Vectorization of the Mixer - Vectorization of the Mixer - 2025.2 English - XD100

Vitis Tutorials: AI Engine Development (XD100)

Document ID
XD100
Release Date
2026-03-27
Version
2025.2 English

Consider a single-channel mixer. Because it involves only one carrier, you can vectorize frequency generation across consecutive time-domain samples using the following approach. Assume a carrier angular frequency of \(\omega_o\). Use the sincos() generator one time per cycle to produce the term \(\exp(j\omega(8T_s))\). Advance the sincos() generator by eight samples to match the desired vectorization; \(T_s\) represents the sampling period.

Pre-compute a fixed vector phase ramp with elements \([1, \exp(j\omega T_s), \exp(j\omega 2T_s), \ldots, \exp(j\omega 7T_s)]\). Compute the next eight samples of the single-channel mixer in vectorized fashion by multiplying this vector phase ramp lane-by-lane with the scalar exponential from the sincos() generator. Repeat this in a sustained loop on a cycle-by-cycle basis because the phase ramp is fixed and the sincos() generator processes a new input in each cycle.