Anechoic Chamber DF Test — 20 Oct 2026¶
On 20 Oct we measure how accurately the follower drone's KrakenSDR finds the direction of a transmitter, in the anechoic chamber, where there are no reflections to throw it off. The HackRF transmits from a fixed spot and the antenna array turns on the chamber's turntable, so we know the true bearing at every moment and can compare it with what the Kraken reports.
Why the chamber¶
On 16 Oct we tried a first bearing test indoors in the lab. The data path, timing and pairing all worked, but the bearings didn't: the same stationary transmitter read a steady 63° at one power and a steady 276° at another. Signals bouncing off the walls (multipath) dominate in a normal room, so bearing accuracy can't be judged there. The chamber's walls absorb RF instead of reflecting it.
What we want out of it¶
- Bearing accuracy: Kraken bearing vs. the true turntable angle, all the way round.
- Calibration constants for the DOA app:
- the array's mounting offset (where its 0° points),
- the direction the Kraken counts bearings (clockwise or not),
- the timing offset between the Kraken's timestamp and the actual measurement.
- Outliers: how often bearings jump far from the truth (indoors we saw groups ~120° apart), and whether the Kraken's confidence value predicts when a bearing is wrong.
- Power: how bearing quality changes with transmit power.
Setup¶
- HackRF and its Pi stay fixed at the chamber edge, antenna upright and level with the
array, 2.5–3 m from the turntable centre. It transmits with
tx.sh, starting at gain 30 and aiming for −45 to −55 dB at the Kraken. - On the turntable: the follower's Kraken, Pi 4 and Pi 5, all powered from the cart's battery station.
- Everything is controlled from outside the chamber over Ethernet (no Wi-Fi or GPS inside). A laptop, the follower Pi 5 and the HackRF's Pi share one Ethernet switch.
Running the test¶
One command on the Pi 5 opens the whole test screen (chamber test tools):
+---------------------------------------------+
| LOG chamber_log.py (press Enter) |
+----------------------+----------------------+
| MARK ./mark.sh | HACKRF transmitter |
+----------------------+----------------------+
| STATUS rfdf.sh up | DOA app log |
+----------------------+----------------------+
- STATUS starts the whole stack with
rfdf.sh up. Wait until every line says OK. - HACKRF: start the transmitter.
- LOG: start the logger once and leave it running for the whole test. It records every Kraken sample (about 2.3 a second).
- MARK: every time the table turns or the gain changes, type the new point, e.g.
90 30(angle 90°, gain 30). Every sample from then on is tagged with it. - Move to the next point once the bearing has settled and there are about 100 samples (≈ 45 s).
Everything runs on the Pi 5 inside tmux, so if the laptop's connection drops nothing stops; reconnect and run the same command to get back in.
Planned test points (draft)¶
| Block | What | Time |
|---|---|---|
| Setup | Power up, stack OK, transmitter on, first mark | ~20 min |
| Full sweep | Turntable in 30° steps all the way round (12 points), ~60 s each | ~15 min |
| Power | Gain 20 / 30 / 40 at 0° and at 90° | ~10 min |
| Drone timing | Drone in the chamber, Cube giving heading, to check timing while turning | as time allows |
| Stretch | Leader drone's array | as time allows |
| Buffer | ~20 min |
What we learned getting ready¶
- The Kraken needs a real 3 A supply. On the battery station's 2.1 A USB port all five receivers showed up but produced no bearings. A wall adapter plugged into the station's AC outlet works.
- The battery barely notices the cart: about 1% an hour with everything running, so the 2-hour slot uses only a few percent. Don't plug the station into the wall during the test; it switches off.
- The Kraken doesn't recover on its own if its USB link drops (we saw all five receivers
disconnect at once when its power cable was swapped).
rfdf.sh uprestarts just the Kraken in about a minute. Cables get taped down before the table turns. - Keep the laptop awake. It went to sleep mid-session on 19 Oct and dropped the connection; it now connects with a command that keeps it awake while connected.
Still to do before the test¶
- Background transmit on the HackRF Pi, so the transmitter can be started and stopped from the test screen without its own SSH session.
- Check the Ethernet run reaches the chamber edge (switch in the middle if not).
- Analysis script: bearing error, offset, direction, outliers, confidence vs. error.
The full run sheet, with network and login details, is kept in the private repo under
tests/2026-10-20-anechoic-chamber/.