DSP Builder for Intel® FPGAs (Advanced Blockset): Handbook

ID 683337
Date 7/15/2024
Public
Document Table of Contents

12.1.11. Real Mixer (Mixer)

The DSP Builder Mixer block performs a real by complex multiply on streams of data. This function creates quadrature data from an antenna input, where the real data is the antenna data and the complex data is the cosine and sine data provided by an NCO.

The Mixer block multiplies a real input stream by a synchronized complex data stream, sample by sample.

You can use the Mixer block in a digital down converter for a radio system or a general purpose DSP application. The data has fixed-point types, and the output is the implied full precision fixed-point type.

Note: You can easily replicate the Mixer block with a Multiply block that takes one real and one complex input within a primitive subsystem.

The Mixer performs element-by-element multiplication on n channels and m frequencies.

The system specification, including such factors as the channel count and sample rates, determines the main parameters for this block. The input sample rate of the block determines the number of channels present on each input wire and the number of wires:

Number of Channels per wire = Clock_Rate/Sample_Rate

Number of Wires = ceiling(Chan_Count×Sample_Rate/Clock_Rate)

For example, a sample rate of 60 MSPS and system clock rate of 240 MHz gives four samples to be TDM on to each input wire:

If there are more channels than TDM slots available on a wire, the input wire is a vector of sufficient width to hold all the samples. Similarly, the number of frequencies (the number of complex numbers) determines the width of the sine and cosine inputs. The number of results that the Mixer produces is the product of the sample input vector and the frequency vector. The results are TDM on to the i and q outputs in a similar way to the inputs.

Table 56.  Parameters for the Mixer Block
Parameter Description
Input Rate Per Channel (MSPS) The data rate per channel measured in millions of samples per second.
Number of Channels The number of real input channels.
Number of Frequencies The number of real frequencies in the multiplier.
Table 57.  Port Interface for the Mixer Block
Signal Direction Description
a Input The real data input to the block. If you request more channels than can fit on a single bus, this signal is a vector. The width in bits is inherited from the input wire.
v Input Indicates the validity of the data input signals. If v is high, the data on the a wire is valid.
c Input Indicates the channel of the data input signals. If v is high, c indicates the data channel.
sin Input The imaginary part of the complex number. For example, the NCO's sine output.
cos Input The real part of the complex number. For example, the NCO’s cosine output.
i Output The in-phase (real) output of the mixer, which is (a × cos). If you request more channels than can fit on a single bus, this signal is a vector. The width in bits is wide enough for the full precision result.
q Output The quadrature phase (imaginary) output of the mixer, which is (a × sin). If you request more channels than can fit on a single bus, this signal is a vector. The width in bits is wide enough for the full precision result.
v Output Indicates the validity of the data output signals.
c Output Indicates the channel of the data output signals.