carrier_generator HDL Worker

Detail

Implementation of a numerically controlled oscillator using the (Coordinate Rotation Digital Computer (CORDIC) algorithm.

The carrier generator is implemented as a numerically controlled oscillator. The step_size property sets the step size in a phase accumulator unit which generates a sawtooth waveform between \(0\) and \(2^{32}-1\). The frequency of the sawtooth wave determines the frequency of the output waveform.

The sawtooth waveform is input into a phase-to-amplitude converter (PAC) which generates a complex sinusoid at the desired frequency. The PAC is implemented using 16 iterations of the CORDIC algorithm to approximate the sine and cosine of the input phase.

The sine and cosine are combined together to generate a complex short output signal.

Worker Properties

  • ocpi_buffer_size_output

    • Type: ushort

    • Access:

      • Parameter: False

      • Writable: False

      • Initial: True

      • Volatile: False

      • Read back: False

    • Default value: 0

  • ocpi_blocked_output

    • Type: ulong

    • Access:

      • Parameter: False

      • Writable: False

      • Initial: False

      • Volatile: True

      • Read back: False

    • Default value: None

  • ocpi_max_latency_output

    • Type: ushort

    • Access:

      • Parameter: True

      • Writable: False

      • Initial: False

      • Volatile: False

      • Read back: False

    • Default value: None

  • ocpi_latency_output

    • Type: ushort

    • Access:

      • Parameter: False

      • Writable: False

      • Initial: False

      • Volatile: True

      • Read back: False

    • Default value: None

  • ocpi_messages_output

    • Type: ulong

    • Access:

      • Parameter: False

      • Writable: False

      • Initial: False

      • Volatile: True

      • Read back: False

    • Default value: None

  • ocpi_bytes_output

    • Type: ulong

    • Access:

      • Parameter: False

      • Writable: False

      • Initial: False

      • Volatile: True

      • Read back: False

    • Default value: None

Worker Ports

    Outputs:

  • output

    • Protocol: complex_short_timed_sample

    • Optional: False