Wideband Input Buffer

Purpose is to replace missing packets (dropped, or otherwise) with packets containing default data (flagged). The output word rate is maintained at a constant value so that downstream processing can minimise its buffer usage.

Error Conditions

  • If the output sample rate is lower than the input sample rate (from packets) the buffer will overflow.

  • If the output sample rate is greater than the input sample rate (from packets) then the buffer will underflow. If this condition persists for more than 1 second, then the number of seconds is counted and reported as loss of signal.

Data Path Interface

Input

  • Stream of packets

Output

  • Stream of samples at the wideband sample rate.

Low Level Driver API

Structs

struct config

  • expected_sample_rate : uint64_t

  • noise_diode_transition_holdoff_seconds : float

struct status

  • buffer_underflowed : boolean

  • buffer_overflowed : boolean

  • loss_of_signal_seconds : uint32_t

  • band_id : unit8_t

Standard methods

Constructor()

  • Set identity (name, address)

recover()

  • enable reset.

configure(struct config)

  • compute register values from config

start()

  • enable processing. Activates on next PPS received.

stop()

  • disable processing. Stops on next PPS received (excluding the PPS packet).

deconfigure(struct config)

  • None

status(clear: bool, struct &status)

  • populate the status struct:

    • meta_frame captured from the same and most recent packet.

  • optionally clear the counters.