Queried the Pluto over IIO before writing any code. Three findings, one
of which invalidated the specification.
The AD9361 will not sample below 2 083 333 Hz, so the 640 kHz taken from
Lab018 is unreachable by a factor of three. Going lower needs the on-chip
FIR decimator, which would add an untested mechanism to the very first
transmit. Instead raise oversampling from 32 to 128 samples per symbol:
the symbol rate stays at 20 000, rolloff, preamble, sync word and guard
are untouched, and the rate becomes 2 560 000 Hz. Only the device
interface changes, not the signal.
Consequence recorded: the shaping filter grows to 1281 taps, so the
convolution has to go through scipy.signal.fftconvolve.
Also from the device:
- it reports as PlutoSDR Rev.C (Z7010-AD9361) with a single RX and a
single TX buffer channel, so adi.Pluto is right and the adi.ad9361
fallback is unnecessary
- the chip is a full AD9361: RX tunes 70 MHz to 6 GHz, TX from 46.9 MHz,
so the sub-350 MHz target band is available without a firmware hack.
That closes the open question flagged for Lab044
- firmware is v0.32, left alone for now
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>