Lab043: add hardware diagnostics and HackRF comparison tools

This commit is contained in:
LittleSam129
2026-08-21 17:33:57 +03:00
parent f0fa7e8a46
commit 42b0120eea
42 changed files with 8763 additions and 6 deletions

View File

@@ -0,0 +1,4 @@
boundary_sample,low_phase_jump_rad,high_phase_jump_rad
2490368,-0.2270746402238407,0.936322989443652
2621440,-1.685691421437402,0.09155935561800127
2752512,-1.962337630395535,1.0596287040560621
1 boundary_sample low_phase_jump_rad high_phase_jump_rad
2 2490368 -0.2270746402238407 0.936322989443652
3 2621440 -1.685691421437402 0.09155935561800127
4 2752512 -1.962337630395535 1.0596287040560621

View File

@@ -0,0 +1,32 @@
Lab043: единственный сравнительный S с HackRF
Результат: недействителен для BER и локализации асимметрии 000/001.
Классификация: D, данных недостаточно для локализации.
Raw: data\raw\lab043_hackrf\lab043_hackrf_prbs11_s_20260820_141720.npy
SHA-256: 02cd707262c042404cd8b9ac5176e2e24ee74fcf84e5f64223c2c22015958962
Waveform SHA-256: 981aeddde3ed63192c24bfbe8a11f58b2896b50a643dd5faf3f81eaa9c2bf0bc
HackRF: 000000000000000097c063dc323b97d3, firmware 2024.02.1 (API:1.08), libhackrf 2024.02.1 (0.9).
RX: 435 МГц, запрос 2 400 000 отсчётов/с, RF amp OFF, LNA 0 дБ, VGA 0 дБ.
Pluto+: фактически 435000000 Гц, 2399998 отсчётов/с, gain -30.0 дБ, RF bandwidth 200000 Гц.
Программная сборка: 32 рабочих callback после одного заранее отброшенного разогревочного; индексы последовательны, дубликатов полных блоков 0, пропусков очереди 0.
Средняя callback-скорость: 2399817.412 отсчётов/с.
USB-потери аппаратно не доказаны и не опровергнуты: внутреннего счётчика API нет.
Два тона найдены неизменным спектральным порогом 10 дБ: нижний +15.582 дБ, верхний +15.510 дБ.
Максимальный рост полной мощности: только 0.871 дБ, поэтому исходный широкополосный локатор не сработал.
Предварительная оценка CFO: +462.074 Гц (+1.062239 ppm).
Предварительная оценка SRO: +273.149 ppm.
Эти оценки нельзя считать итоговыми: RMSE фазовой модели 19.909 рад и в калибровке подтверждено 3 фазовых разрыва из 3 проверенных границ; максимум 1.962 рад при пределе 0,25 рад.
Маркер: N/A.
BER (доля ошибочных битов): N/A.
BER по четвертям: N/A.
EVM (величина вектора ошибки): N/A.
Тройки 000–111, серии и кластеры: N/A, чтобы не выдавать недостоверный захват за измерение.
Сравнение с RTL-SDR невозможно: два RTL-SDR S валидны, а HackRF S не прошёл контроль непрерывности. Главный текущий подозреваемый не 000/001-механизм, а достоверность приёма HackRF на минимальном усилении и/или непрерывность USB/драйвера. Усиления и пороги не менялись, повторный TX не выполнялся.
Следующий шаг, пока не выполненный: отдельно доказать непрерывность HackRF RX и достаточную фазовую точность на 2,4 Мвыб/с без изменения протокола; только затем отдельно решить, разрешать ли новый S или изменение усиления.

View File

@@ -0,0 +1,15 @@
bit,run_length,status,reason
0,1,N/A,захват недействителен из-за фазовых разрывов
0,2,N/A,захват недействителен из-за фазовых разрывов
0,3,N/A,захват недействителен из-за фазовых разрывов
0,4,N/A,захват недействителен из-за фазовых разрывов
0,5,N/A,захват недействителен из-за фазовых разрывов
0,6,N/A,захват недействителен из-за фазовых разрывов
0,7+,N/A,захват недействителен из-за фазовых разрывов
1,1,N/A,захват недействителен из-за фазовых разрывов
1,2,N/A,захват недействителен из-за фазовых разрывов
1,3,N/A,захват недействителен из-за фазовых разрывов
1,4,N/A,захват недействителен из-за фазовых разрывов
1,5,N/A,захват недействителен из-за фазовых разрывов
1,6,N/A,захват недействителен из-за фазовых разрывов
1,7+,N/A,захват недействителен из-за фазовых разрывов
1 bit run_length status reason
2 0 1 N/A захват недействителен из-за фазовых разрывов
3 0 2 N/A захват недействителен из-за фазовых разрывов
4 0 3 N/A захват недействителен из-за фазовых разрывов
5 0 4 N/A захват недействителен из-за фазовых разрывов
6 0 5 N/A захват недействителен из-за фазовых разрывов
7 0 6 N/A захват недействителен из-за фазовых разрывов
8 0 7+ N/A захват недействителен из-за фазовых разрывов
9 1 1 N/A захват недействителен из-за фазовых разрывов
10 1 2 N/A захват недействителен из-за фазовых разрывов
11 1 3 N/A захват недействителен из-за фазовых разрывов
12 1 4 N/A захват недействителен из-за фазовых разрывов
13 1 5 N/A захват недействителен из-за фазовых разрывов
14 1 6 N/A захват недействителен из-за фазовых разрывов
15 1 7+ N/A захват недействителен из-за фазовых разрывов

View File

@@ -0,0 +1,2 @@
receiver,capture,result_valid,invalid_reason,raw_iq_sha256,sample_count,marker_detected,marker_correlation,carrier_offset_hz_preliminary,carrier_offset_ppm_preliminary,sample_clock_error_ppm_preliminary,phase_fit_rmse_rad,mode_b_bit_errors,mode_b_ber,mode_b_evm_percent,peak_magnitude,clipped_component_fraction,callback_count,accepted_callback_count,program_continuity_confirmed,usb_continuity_proven,mean_callback_stream_sample_rate_hz,confirmed_phase_discontinuities,maximum_phase_jump_rad,classification
HackRF,lab043_hackrf_prbs11_s_20260820_141720,False,в той же записи подтверждён фазовый разрыв,02cd707262c042404cd8b9ac5176e2e24ee74fcf84e5f64223c2c22015958962,4139314,False,nan,462.0737655540943,1.062238541503665,273.14863907035306,19.90879367182428,N/A,N/A,N/A,0.0390625,0.0,33,32,True,False,2399817.411963232,3,1.962337630395535,D
1 receiver capture result_valid invalid_reason raw_iq_sha256 sample_count marker_detected marker_correlation carrier_offset_hz_preliminary carrier_offset_ppm_preliminary sample_clock_error_ppm_preliminary phase_fit_rmse_rad mode_b_bit_errors mode_b_ber mode_b_evm_percent peak_magnitude clipped_component_fraction callback_count accepted_callback_count program_continuity_confirmed usb_continuity_proven mean_callback_stream_sample_rate_hz confirmed_phase_discontinuities maximum_phase_jump_rad classification
2 HackRF lab043_hackrf_prbs11_s_20260820_141720 False в той же записи подтверждён фазовый разрыв 02cd707262c042404cd8b9ac5176e2e24ee74fcf84e5f64223c2c22015958962 4139314 False nan 462.0737655540943 1.062238541503665 273.14863907035306 19.90879367182428 N/A N/A N/A 0.0390625 0.0 33 32 True False 2399817.411963232 3 1.962337630395535 D

View File

@@ -0,0 +1,9 @@
triplet,status,reason
000,N/A,захват недействителен из-за фазовых разрывов
001,N/A,захват недействителен из-за фазовых разрывов
010,N/A,захват недействителен из-за фазовых разрывов
011,N/A,захват недействителен из-за фазовых разрывов
100,N/A,захват недействителен из-за фазовых разрывов
101,N/A,захват недействителен из-за фазовых разрывов
110,N/A,захват недействителен из-за фазовых разрывов
111,N/A,захват недействителен из-за фазовых разрывов
1 triplet status reason
2 000 N/A захват недействителен из-за фазовых разрывов
3 001 N/A захват недействителен из-за фазовых разрывов
4 010 N/A захват недействителен из-за фазовых разрывов
5 011 N/A захват недействителен из-за фазовых разрывов
6 100 N/A захват недействителен из-за фазовых разрывов
7 101 N/A захват недействителен из-за фазовых разрывов
8 110 N/A захват недействителен из-за фазовых разрывов
9 111 N/A захват недействителен из-за фазовых разрывов