Another useful feature of the SDR Virtual Machine is the IQ Queue mechanism to allow one task to send a complex block of (IQ) data to another for processing.

As in many other cases, the name of the queue is unique and the queue is handled by the scheduler. Any task can then access the queue just by using the right queue name, as show below.

  • The producer task (Task #1) creates the queue with the Queues.create() constructor to create a Queue object.
  • Then, it can “push” IQ Blocks (here a simple 440 Hz tone) in the queue with the .enqueue() method
  • The consumer task (Task #2) gets the queue and will wait until data is available with .dequeue( true )

Note : As we may not know which task (#1 or #2) will start first, this example shows that both tasks try to create the task. Internally, as the name is unique, the second call would just return with a reference to the existing queue.

Comments are closed

Our creations :

Custom integration for a Cubesat Ground station, originally designed for UVSQSat from LATMOS

Cubesat Ground station

CAN Module with IO for remote rotataor control. Integrated in the SDR Virtual Machine to send or receive CAN frames.

Distributed via SDR4.Space

HF site survey - remotely controlled SDRVM Based system to estimate the HF pollution around a candidate site

Remote RF survey

GSM-R channels monitoring for railway app

Grafana dashboard

GSM-R channels monitoring for railway device

Outdoor unit

GSM-R channels monitoring for railway device

Outdoor unit

Drone-based RF loc system using two wide-band antennas

Flying recorder

Basic Sensor - Covering 50 to 1700 MHz

Remote controlled sensor