SimTX API/Packets/MonitorBlock
Appearance
| Frame | ServerFrame, field 31
|
|---|---|
| Member | monitor_block
|
| Direction | Server → client |
| Session | Control, moderation |
| Roles | ROLE_CONTROL, ROLE_MODERATION.
|
| Permission | None |
| Defined in | control.proto
|
MonitorBlock carries a block of a monitored transmitter's signal, as requested with StartMonitor. Blocks arrive in real time until MonitorEnd or StopMonitor.
Definition[edit | edit source]
message MonitorBlock {
bytes session_id = 1;
int32 sample_rate = 2;
repeated float iq = 3; // interleaved I, Q
}
Fields[edit | edit source]
| # | Field | Type | Description |
|---|---|---|---|
| 1 | session_id |
bytes |
The monitored transmitter. |
| 2 | sample_rate |
int32 |
Complex samples per second: the transmitter's processing rate. |
| 3 | iq |
repeated float |
Complex baseband, I and Q interleaved, centred on the carrier. At most 262,144 floats. |
Usage[edit | edit source]
- Demodulate the IQ with the transmitter's modulation to hear the signal.
sample_rateis the transmitter's processing rate: its declared sample rate, at least 240,000 forWFM, at most 10,000,000.- Monitor blocks share the session's output queue, which holds at most 64 frames or 8 MiB. A client that cannot keep up has its connection closed. Read on a dedicated thread.
- A wideband transmitter produces a lot of data: 10 MS/s of complex floats is 80 MB/s.