Lab047: transmit JPEG over real RF link

This commit is contained in:
LittleSam129
2026-09-03 13:13:23 +03:00
parent b0111d2232
commit 6fb7e4ec54
11 changed files with 2858 additions and 17 deletions

View File

@@ -0,0 +1,89 @@
{
"stage": "LAB047_SOFTWARE_PREPARATION",
"source": "data\\raw\\lab011_scene.jpg",
"jpeg": {
"path": "data\\processed\\lab047\\tx_image.jpg",
"file_bytes": 8724,
"width": 320,
"height": 240,
"mode": "RGB",
"format": "JPEG",
"sha256": "e913dab9ac32795250880a4be67fbbbf89a4f96536842476ab591d1acaafc02a",
"quality": 35,
"subsampling": "4:2:0",
"optimize": false,
"progressive": false
},
"transport": {
"jpeg_file_bytes": 8724,
"fragment_count": 36,
"rf_frame_count": 36,
"samples_per_frame": 2306400,
"tx_sample_count": 83030400,
"tx_file_bytes": 166060800,
"estimated_airtime_seconds": 10.3788,
"useful_goodput_bits_per_second": 6724.476818129264
},
"software_roundtrip": {
"crc_pass": 36,
"crc_fail": 0,
"valid_fragments": 36,
"missing_fragments": [],
"object_complete": true,
"tx_sha256": "e913dab9ac32795250880a4be67fbbbf89a4f96536842476ab591d1acaafc02a",
"recovered_sha256": "e913dab9ac32795250880a4be67fbbbf89a4f96536842476ab591d1acaafc02a",
"sha_match": true,
"byte_errors": 0,
"bit_errors": 0
},
"software_image_decode": "PASS",
"recovered_jpeg": {
"path": "data\\processed\\lab047\\recovered_image.jpg",
"file_bytes": 8724,
"width": 320,
"height": 240,
"mode": "RGB",
"format": "JPEG",
"sha256": "e913dab9ac32795250880a4be67fbbbf89a4f96536842476ab591d1acaafc02a"
},
"planned_rx": {
"duration_seconds": 15.0,
"sample_count": 120000000,
"file_bytes": 240000000,
"lead_seconds": 0.75
},
"hardware": {
"master_tx_serial": "000000000000000097c063dc323b97d3",
"slave_rx_serial": "000000000000000097c063dc2e5327d3",
"frequency_hz": 1400000000,
"sample_rate_hz": 8000000,
"symbol_rate": 20000,
"samples_per_symbol": 400,
"digital_carrier_hz": 50000,
"tx_vga_db": 10,
"tx_rf_amp": false,
"tx_bias_tee": false,
"rx_lna_db": 24,
"rx_vga_db": 24,
"rx_rf_amp": false,
"rx_bias_tee": false,
"master_clkout_to_slave_clkin": true,
"slave_clkout": false,
"expected_reg29": 38
},
"candidate_rule": {
"method": "pre-TX local-peak Q99.9 + 4 * local-peak MAD",
"quantile": 0.999,
"mad_multiplier": 4.0,
"fixed_before_full_decode": true
},
"receiver_oracles": {
"expected_frame_count": false,
"tx_coded_bits": false,
"tx_fragment_indexes": false,
"tx_frame_offsets": false,
"tx_image": false,
"tx_packets": false
},
"rf_tx": 0
}