Skip to content

v0.6.2 - Measured like a tester

Choose a tag to compare

@github-actions github-actions released this 27 Sep 08:11
· 201 commits to main since this release
v0.6.2
1a37293

Somewhere on the second day I noticed I was no longer measuring Bluetooth.

I was measuring the thing that measures Bluetooth, against a fake transmitter and a fake tester I had built to check how well it measures. Then I measured how long all that measuring took. Then I measured whether measuring faster changed the measurements. It did, so I put it back and measured again. Then again, to be sure. Then once more, because by then I no longer trusted the one that told me to be sure.

The old i3 this is developed on has stopped making eye contact with me.

What came out of it: some numbers moved. Most by a few percent, and one by a factor of two, which is exactly the kind of thing you want to find before anyone else does. 😌


The figures a tester would give you

0.6.1 made NET honest about what it measured. This one makes it measure what a Bluetooth tester measures. The SIG's test suites (RF-PHY.TS for LE, RF.TS for classic) define df1, df2, the initial carrier and the drift on special test patterns. sdrtop now reads the same quantities, by the same definitions, from the ordinary traffic in your room, and a reference built from those suites holds it to them in every test run.

Building the reference was humbling:

  • a classic transmitter sending a modulation index of 0.88 read 0.28 to 0.54. It now reads 0.93, as a compliant tester does;
  • BLE df2 sat 8.7 % low, because at four samples a symbol the straight line between two readings runs under the curve;
  • classic Bluetooth counted, live, about one packet in five, and fitted its slot timing to the survivors.

All fixed. A classic piconet also gets a CARRIER section of its own: f0, drift and drift rate against the limits in the Core Specification. A reading taken while the next channel was shouting is refused, not bent.


Faster, at parity

The rule was simple: a speed-up stays only if the reference prints the same figures to the last digit. Two did not, and are gone. The rest, on the i3:

View 0.6.1 0.6.2
Classic, 4 Msps 1.91x real time 0.73x
Classic, 20 Msps 11.22x 3.28x
Survey, 20 Msps 1.52x 0.99x

The Classic view at 4 Msps now keeps up with the radio on a machine that was chosen for being slow. The Survey spends some of the room on marking classic hits in the coexistence history, on as many channels as its measured load allows, and says so when it has none.


What is honest to say

These figures are held to a reference built from the specification. That is not the same as a real tester next to a real transmitter, and I am not going to pretend it is. That comparison is the next job.


Upgrading

No config change, and the export columns are the same; the numbers in them are just read better now.

cargo install sdrtop --locked

Or the installer, same as before.

As ever: if a number looks wrong, it might be. Open an issue, ideally with the CSV. ❤️

Full Changelog: v0.6.1...v0.6.2