{ "lab": "Lab065", "stage": "SINGLE_RF_LEVEL_CAPTURE", "passed": true, "rf_tx_count": 1, "automatic_tx_repeats": 0, "point": { "frequency_hz": 1400000000, "physical_path": "MASTER TX near window -> LOS indoor -> SLAVE RX on desk", "path_confirmed": true, "tx_antenna": "existing 1400 MHz antenna near window", "rx_antenna": "existing 1400 MHz antenna on desk", "distance_m": 1.2, "orientation": "same polarization; fixed during preflight and RF session", "visibility": "LOS indoor" }, "parameters": { "rf_frequency_hz": 1400000000, "sample_rate_hz": 8000000, "symbol_rate": 20000, "samples_per_symbol": 400, "digital_carrier_hz": 50000, "rrc_rolloff": 0.35, "rrc_span_symbols": 10, "prbs": "PRBS7 x^7+x^6+1, deterministic initial state", "full_phy_packet": false, "tx_vga_db": 20, "rx_lna_db": 24, "rx_vga_db": 24, "rf_amplifier": false, "bias_tee": false, "geometry": { "frequency_hz": 1400000000, "physical_path": "MASTER TX near window -> LOS indoor -> SLAVE RX on desk", "path_confirmed": true, "tx_antenna": "existing 1400 MHz antenna near window", "rx_antenna": "existing 1400 MHz antenna on desk", "distance_m": 1.2, "orientation": "same polarization; fixed during preflight and RF session", "visibility": "LOS indoor" }, "clock_path": "10 MHz TCXO -> MASTER -> MASTER CLKOUT -> SLAVE CLKIN", "levels_db_relative_nominal": [ -18.0, -12.0, -6.0, 0.0 ], "geometry_unchanged_from_lab064": true, "waveform_source": "Lab064 exact CS8 copy" }, "tx_sha256": "fa260719659b2984fe29588238415622cd75c6daefec6cc9130ba1bf851bd3f9", "process_before": { "state": "CLEAR", "attempts": [ { "state": "CLEAR", "mechanism": "psutil", "matches": [], "inspected": 292, "errors": [] } ] }, "inventory": { "passed": true, "serials": [ "000000000000000097c063dc2e5327d3", "000000000000000097c063dc323b97d3" ], "master_serial": "000000000000000097c063dc323b97d3", "slave_serial": "000000000000000097c063dc2e5327d3", "raw_output": "hackrf_info version: 2024.02.1\nlibhackrf version: 2024.02.1 (0.9)\nFound HackRF\nIndex: 0\nSerial number: 000000000000000097c063dc323b97d3\nBoard ID Number: 4 (HackRF One)\nFirmware Version: 2024.02.1 (API:1.08)\nPart ID Number: 0xa000cb3c 0x00744f5a\nHardware Revision: r9\nHardware does not appear to have been manufactured by Great Scott Gadgets.\nHardware supported by installed firmware:\n HackRF One\n\nFound HackRF\nIndex: 1\nSerial number: 000000000000000097c063dc2e5327d3\nBoard ID Number: 4 (HackRF One)\nFirmware Version: 2024.02.1 (API:1.08)\nPart ID Number: 0xa000cb3c 0xbc4b4739\nHardware Revision: r9\nHardware does not appear to have been manufactured by Great Scott Gadgets.\nHardware supported by installed firmware:\n HackRF One" }, "clock": { "passed": true, "master_reg29": 38, "slave_reg29": 38, "slave_clkin_status": "DETECTED", "slave_clock_wait": { "state": "DETECTED", "queries": 2, "time_to_detect_ms": 136.89709990285337, "elapsed_ms": 136.89709990285337, "polls": [ { "query": 1, "start_ms": 50.08170008659363, "end_ms": 67.4550998955965, "raw": "CLKIN status: no clock signal detected", "state": "NOT_DETECTED", "exit_code": 0 }, { "query": 2, "start_ms": 117.92290001176298, "end_ms": 136.89709990285337, "raw": "CLKIN status: clock signal detected", "state": "DETECTED", "exit_code": 0 } ] }, "master_serial": "000000000000000097c063dc323b97d3", "slave_serial": "000000000000000097c063dc2e5327d3" }, "rx_level_before_tx": { "samples": 65536, "mean_i": 0.9449310302734375, "mean_q": 1.8423919677734375, "power_code2": 4.87310791015625, "ac_power_code2": 0.5858050952665499, "rms_code": 2.2075117010236323, "peak_magnitude_code": 4.47213595499958, "max_abs_i": 3.0, "max_abs_q": 4.0, "papr_db": 6.132239671543243, "clipped_components_fraction": 0.0, "clipped_samples_fraction": 0.0, "saturation_detected": false, "analog_compression": "UNKNOWN_WITHOUT_CALIBRATION" }, "tx_process": { "returncode": 0, "stdout_file": "tx_stdout.txt", "stderr_file": "tx_stderr.txt" }, "tx_counter_summary": { "expected_kind": "underrun", "observations": [ { "count": 0, "role": "UNKNOWN", "kind": "underrun", "text": "0 underruns", "character_offset": 337 }, { "count": 0, "role": "UNKNOWN", "kind": "underrun", "text": "0 underruns", "character_offset": 509 } ], "selected_counts": [ 0, 0 ], "final_count": 0, "maximum_count": 0, "unparsed_loss_text": false, "clean": true }, "rx_samples": 16000000, "rx_bytes": 32000000, "rx_duration_seconds": 2.0, "rx_counter_summary": { "expected_kind": "overrun", "observations": [ { "count": 0, "role": "UNKNOWN", "kind": "overrun", "text": "0 overruns", "character_offset": 337 }, { "count": 0, "role": "UNKNOWN", "kind": "overrun", "text": "0 overruns", "character_offset": 459 }, { "count": 0, "role": "UNKNOWN", "kind": "overrun", "text": "0 overruns", "character_offset": 581 }, { "count": 0, "role": "UNKNOWN", "kind": "overrun", "text": "0 overruns", "character_offset": 752 } ], "selected_counts": [ 0, 0, 0, 0 ], "final_count": 0, "maximum_count": 0, "unparsed_loss_text": false, "clean": true }, "rx_sha256": "845d7b7dcaef70e179ab69e6ba0041601859630786d2f4d51c16a8c1c7869d7e", "rx_level": { "samples": 16000000, "mean_i": 0.942780625, "mean_q": 1.8349653125, "power_code2": 5.6163274375, "ac_power_code2": 1.3603944325463857, "rms_code": 2.3698792031451728, "peak_magnitude_code": 10.816653826391969, "max_abs_i": 10.0, "max_abs_q": 10.0, "papr_db": 13.187334420841685, "clipped_components_fraction": 0.0, "clipped_samples_fraction": 0.0, "saturation_detected": false, "analog_compression": "UNKNOWN_WITHOUT_CALIBRATION" }, "rx_clipping": false, "process_after": { "state": "CLEAR", "attempts": [ { "state": "CLEAR", "mechanism": "psutil", "matches": [], "inspected": 292, "errors": [] } ] }, "cleanup_errors": [] }