Files
SDR-Rover/data/processed/lab042/lab042_frames.csv
LittleSam129 fce14f038e Lab042: transmit an image over the air, add the air loopback mode
First transmission through a real radio path in the project. A 4756-byte
JPEG went from transmitter to receiver over two antennas 60 cm apart at
225 MHz and reassembled byte-identical, reproduced across three runs.

The cable loopback still needs an SMA male-to-male adapter that has not
arrived, so this air run is a track verification, not the controlled
measurement: room levels are not held the way a cable holds them. Its
purpose was to exercise the device wrapper the models cannot cover.

Four defects the software model passed but the hardware exposed, each
reproduced and fixed:

- a 566 528-sample frame did not fit the 262 144 receive buffer, and the
  sample stream is not continuous across separate reads, so a frame on the
  seam was destroyed. Reception now uses one buffer sized to the frame
- carrier correction was always applied, but with a shared reference the
  true offset is near zero and the 80-symbol marker estimate is noise;
  correcting by it rotated phase along the whole frame, 65% bit errors
  measured. Ported should_apply_cfo_correction from Lab023
- receiver gain of 20 dB left the signal at 0.0003 of full scale. Levels
  set by measurement: RX 50 dB, TX -10 dB give zero bit errors with margin
- the error-vector metric returned zero on a failed receive, reporting a
  perfect signal where there was none, the same class of defect as the
  written-in figures of Lab041. Replaced with an explicit not-computed value

The air TX gain ceiling is now derived from the link budget by antenna
distance rather than a constant. Three loopback modes: software, cable,
air. PROJECT_LOG entry 019 records the run and the defects.

Software and cable results stay reproducible; 125 tests pass, gate passes.
2026-08-17 11:50:04 +03:00

1.4 KiB

1indexpacket_bytesframe_bitscorrelation_scoresample_phasecarrier_offset_hzcarrier_coherencecfo_correction_appliederror_vector_magnitudeframe_foundheader_parsedcrc_validfragment_recovered
2053643840.999508367631681215-0.81618046538983440.9999521460387033False0.013939054015288657TrueTrueTrueTrue
3153643840.9994247234007716490.0340585659972418850.9999449532988285False0.007533311365459869TrueTrueTrueTrue
4253643840.9995067920215722121-0.40246541501002750.9999698768639075False0.007802389734928202TrueTrueTrueTrue
5353643840.9995973624847003790.053604292637430720.9999563681724133False0.008067411996806204TrueTrueTrueTrue
6453643840.999557320317938937-0.77260477958978410.999951969069221False0.008830283803028178TrueTrueTrueTrue
7553643840.9994972026358666350.145186731762350970.9999740428064059False0.007829934600060385TrueTrueTrueTrue
8653643840.999499320110044833-0.65759752467877770.9999581020309138False0.008192298206454165TrueTrueTrueTrue
9753643840.999533773635273297-0.321468311214346160.9999654759558527False0.00773812855638587TrueTrueTrueTrue
10853643840.999537713642782990-0.326924159718004150.9999706666958124False0.008197030505111991TrueTrueTrueTrue
11917214720.999447837847537253-0.61751620385743420.9999730687021144False0.011683449034017782TrueTrueTrueTrue