225 lines
6.5 KiB
JSON
225 lines
6.5 KiB
JSON
{
|
|
"lab": "Lab066",
|
|
"stage": "SINGLE_RF_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": 500000,
|
|
"samples_per_symbol": 16,
|
|
"digital_carrier_hz": 50000.0,
|
|
"packets": 16,
|
|
"payload_bytes": 256,
|
|
"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"
|
|
},
|
|
"geometry_unchanged": true,
|
|
"clock_path": "10 MHz TCXO -> MASTER -> MASTER CLKOUT -> SLAVE CLKIN"
|
|
},
|
|
"tx_sha256": "621b0bb8ec72bba4f522c79a5c77669c850740ea481270c4dcc2a7317819f199",
|
|
"process_before": {
|
|
"state": "CLEAR",
|
|
"attempts": [
|
|
{
|
|
"state": "CLEAR",
|
|
"mechanism": "psutil",
|
|
"matches": [],
|
|
"inspected": 300,
|
|
"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": 131.2907999381423,
|
|
"elapsed_ms": 131.2907999381423,
|
|
"polls": [
|
|
{
|
|
"query": 1,
|
|
"start_ms": 50.125200068578124,
|
|
"end_ms": 66.83470006100833,
|
|
"raw": "CLKIN status: no clock signal detected",
|
|
"state": "NOT_DETECTED",
|
|
"exit_code": 0
|
|
},
|
|
{
|
|
"query": 2,
|
|
"start_ms": 116.86519999057055,
|
|
"end_ms": 131.2907999381423,
|
|
"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.952423095703125,
|
|
"mean_q": 1.83642578125,
|
|
"power_code2": 5.656829833984375,
|
|
"ac_power_code2": 1.377260430715979,
|
|
"rms_code": 2.3784090972716143,
|
|
"peak_magnitude_code": 5.385164807134504,
|
|
"max_abs_i": 4.0,
|
|
"max_abs_q": 5.0,
|
|
"papr_db": 7.0982488319834305,
|
|
"clipped_components_fraction": 0.0,
|
|
"clipped_samples_fraction": 0.0,
|
|
"saturation_detected": false,
|
|
"analog_compression": "UNKNOWN_WITHOUT_CALIBRATION",
|
|
"ac_rms_code": 1.173567395046394,
|
|
"unexpected_strong_signal": false
|
|
},
|
|
"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": 336
|
|
},
|
|
{
|
|
"count": 0,
|
|
"role": "UNKNOWN",
|
|
"kind": "underrun",
|
|
"text": "0 underruns",
|
|
"character_offset": 506
|
|
}
|
|
],
|
|
"selected_counts": [
|
|
0,
|
|
0
|
|
],
|
|
"final_count": 0,
|
|
"maximum_count": 0,
|
|
"unparsed_loss_text": false,
|
|
"clean": true
|
|
},
|
|
"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": 580
|
|
},
|
|
{
|
|
"count": 0,
|
|
"role": "UNKNOWN",
|
|
"kind": "overrun",
|
|
"text": "0 overruns",
|
|
"character_offset": 751
|
|
}
|
|
],
|
|
"selected_counts": [
|
|
0,
|
|
0,
|
|
0,
|
|
0
|
|
],
|
|
"final_count": 0,
|
|
"maximum_count": 0,
|
|
"unparsed_loss_text": false,
|
|
"clean": true
|
|
},
|
|
"rx_samples": 16000000,
|
|
"rx_sha256": "72ff7ddd8b30baa4a5c066361ca1f8dfa664f1da37f65c0c373b211ce6cf00f0",
|
|
"rx_level": {
|
|
"samples": 16000000,
|
|
"mean_i": 0.9510684375,
|
|
"mean_q": 1.844211625,
|
|
"power_code2": 5.0153848125,
|
|
"ac_power_code2": 0.7097371219061666,
|
|
"rms_code": 2.239505483918269,
|
|
"peak_magnitude_code": 5.830951894845301,
|
|
"max_abs_i": 4.0,
|
|
"max_abs_q": 5.0,
|
|
"papr_db": 8.311746565484663,
|
|
"clipped_components_fraction": 0.0,
|
|
"clipped_samples_fraction": 0.0,
|
|
"symbol_energy_code2_seconds": 0.000250769240625,
|
|
"saturation_detected": false,
|
|
"analog_compression": "UNKNOWN_WITHOUT_CALIBRATION"
|
|
},
|
|
"rx_clipping": false,
|
|
"process_after": {
|
|
"state": "CLEAR",
|
|
"attempts": [
|
|
{
|
|
"state": "CLEAR",
|
|
"mechanism": "psutil",
|
|
"matches": [],
|
|
"inspected": 300,
|
|
"errors": []
|
|
}
|
|
]
|
|
},
|
|
"cleanup_errors": []
|
|
}
|