Lab056: compare 20 and 500 ksymbol/s in controlled RF session
This commit is contained in:
226
PROJECT_LOG.md
226
PROJECT_LOG.md
@@ -2218,3 +2218,229 @@ HEAD прежний0368c6d3e930f4d245e056223fd4e5c4f70e6b49, main; предыд
|
||||
изменения Lab054 сохранены. Git add/commit/push/pull/fetch не выполнялись.
|
||||
Следующий этап: STOP и согласование измерительной схемы, приборов и допустимой
|
||||
частоты; никакого автоматического аппаратного продолжения.
|
||||
|
||||
# Запись 047
|
||||
|
||||
## Дата
|
||||
|
||||
9 сентября 2026 года
|
||||
|
||||
## Тема
|
||||
|
||||
Lab055 — фиксация результата; Lab056 — программная подготовка эфирного ABAB
|
||||
|
||||
## Выполнено
|
||||
|
||||
По новому явному разрешению пользователя Lab055 зафиксирована коммитом
|
||||
5add95ecb8865f59075bbbced08d97b183fb3b48 с сообщением
|
||||
Lab055: audit received signal energy across symbol rates.
|
||||
В коммите семь файлов только Lab055: анализатор, тесты, отчёт, два JSON,
|
||||
запись 046 и раздел индекса. Предшествующие изменения Lab054 сохранены
|
||||
незакоммиченными. Перед коммитом quick_gate 823/28/13 PASS, pytest 823 passed.
|
||||
Push не выполнялся. Исторический Lab054 NOT_A, 0/16, не изменён;
|
||||
повторная проверка SHA-256 всех 34 входов Lab055 не выявила изменений.
|
||||
|
||||
Прямой выбор пользователя — эфирный опыт вместо предпочтительного кабеля
|
||||
из приложения. Подготовлен один TX-файл ABAB: 20/500/20/500 ксимв/с,
|
||||
прежние PRBS7/BPSK/RRC, Fs 8 Мвыб/с и цифровая несущая +50 кГц.
|
||||
Созданы experiments/lab056_abab_energy.py, lab056_capture_runner.py,
|
||||
tests/test_lab056_preparation.py, docs/lab056_current_state.md и малые
|
||||
результаты data/processed/lab056. Большие CS8 находятся в data/raw/lab056.
|
||||
|
||||
TX RMS всего сегмента A/B: 44,004413/44,001925 код; разница мощности
|
||||
−0,000491 дБ. Активные участки отдельно: −0,042606 дБ; клиппинг 0.
|
||||
TX 10 588 544 отсчёта, 1,323568 с; RX планируется 3 с с упреждением 0,5 с.
|
||||
A1=A2 и B1=B2 побайтно. Пять gaps по 0,1 с содержат нулевой цифровой IQ
|
||||
при работающем TX-процессе: это не доказательство выключенного RF.
|
||||
|
||||
Анализатор сохраняет полную и AC-мощность RX, локальный фон, устойчивую
|
||||
разность мощностей, комплексный коэффициент передачи, согласованную
|
||||
компоненту, остаток и интегральный спектр. Мощность и энергия символа
|
||||
выводятся отдельно. RX не выравнивается по амплитуде после приёма.
|
||||
Искусственные записи с одинаковым усилением и падением B на 6,020600 дБ
|
||||
обработаны успешно: оценки разницы коэффициента передачи соответственно
|
||||
+0,001786/−0,002894 дБ и −6,014144/−6,022175 дБ для двух пар.
|
||||
Это программные проверки, не аппаратный результат.
|
||||
|
||||
Подготовлен RX-first runner с единственной конечной TX-попыткой, без повтора,
|
||||
проверкой процессов, SHA, размеров, счётчиков потерь и cleanup. Common clock
|
||||
проверен только mock-тестами; реальные reg29/CLKIN сейчас NOT_PERFORMED.
|
||||
Частота не назначена: 1400 МГц пересекает запрещённую для излучения полосу
|
||||
1400–1427 МГц (ITU RR2024, п. 5.340). Для будущего опыта нужны допустимая
|
||||
частота/полоса, страна и подтверждение антенн/неизменной геометрии.
|
||||
Эфирный ABAB измеряет весь путь, включая антенны и распространение;
|
||||
он не изолирует внутренние аппаратные потери HackRF и не измеряет dBm.
|
||||
|
||||
Verifier независимо пересчитал коэффициенты, проверил TX и mock-отказы.
|
||||
Воспроизведённая ошибка разбора счётчиков с префиксом RX/TX исправлена;
|
||||
повторная проверка закрыла находку. Остаточных воспроизведённых находок нет.
|
||||
34 целевых теста PASS; итоговые quick_gate 857/30/13 PASS,
|
||||
pytest 857 passed, 0 failed, 96,50 с; git diff --check PASS.
|
||||
HackRF не запускался, RF TX=0. Lab056 не коммитилась; push не выполнялся.
|
||||
Следующий этап: STOP, согласование допустимой эфирной конфигурации и отдельное
|
||||
разрешение на конкретный однократный RF-сеанс перед аппаратным preflight.
|
||||
|
||||
# Запись 048
|
||||
|
||||
## Дата
|
||||
|
||||
10 сентября 2026 года
|
||||
|
||||
## Тема
|
||||
|
||||
Lab056 — принятое пользователем изменение методики на контролируемый OTA
|
||||
|
||||
## Выполнено
|
||||
|
||||
Пользователь сообщил об отсутствии необходимого SMA-переходника и осознанно
|
||||
выбрал эфирный ABAB. Кабельный TX → 30 дБ → RX отложен до получения
|
||||
переходника как отдельная проверка. Центральную частоту определяет пользователь:
|
||||
RF_FREQ = USER_AUTHORIZED_RF_HZ. Конкретное значение пока не сообщено;
|
||||
обязательные поля страны/регуляторной полосы убраны из параметров runner,
|
||||
национальная регуляторика повторно не исследовалась. В отчёте подготовлены
|
||||
поля антенн, расстояния, ориентации/поляризации, LOS/NLOS и частоты.
|
||||
|
||||
Готовый ABAB waveform, метаданные, прежние результаты и исходная сводка
|
||||
857 passed сохранены. RMS A/B 44,004413/44,001925 код, разница мощности
|
||||
−0,000491 дБ, TX 1,323568 с, RX 3 с. Усиления TX10/RX24/24,
|
||||
Fs 8 Мвыб/с и несущая +50 кГц не менялись; внешних PA/LNA нет.
|
||||
|
||||
В runner оформлен отдельный RX-only preflight: common clock с обоими
|
||||
reg29=0x26 и SLAVE CLKIN=DETECTED, 0,1 с приёма фона для проверки уровня,
|
||||
сохранение результата и cleanup, затем STOP перед отдельным разрешением TX.
|
||||
При частоте UNKNOWN аппаратных действий нет. capture_once требует PASS
|
||||
этой конфигурации, отдельной авторизации и свежей проверки опоры.
|
||||
При клиппинге до TX — RF TX=0; при обнаружении только в записи ABAB —
|
||||
RF TX=1 и отказ без повтора. Счётчик уже выполненной передачи не обнуляется.
|
||||
Ни частота, ни gains автоматически не подбираются.
|
||||
|
||||
Добавлен явный комплексный h прежней модели, сводки X/Y/Z и повторяемость
|
||||
A2/A1, B2/B1. Те же искусственные IQ прочитаны повторно с новыми именами
|
||||
выходных JSON. Для равного усиления X/Y/Z −0,046404/−0,000553/−14,025804 дБ;
|
||||
для ослабления B на 6,020600 дБ: −6,039124/−6,018156/−20,018524 дБ.
|
||||
Это программные значения, не аппаратный результат Lab056. Эфирный опыт
|
||||
будет характеризовать весь путь, а не отдельно внутренние потери HackRF.
|
||||
|
||||
44 целевых теста PASS. Итоговые quick_gate 867/30/13 PASS,
|
||||
pytest 867 passed, 0 failed, 89,32 с; git diff --check PASS.
|
||||
Verifier независимо исполнил 44 случая с данными в памяти, без записи
|
||||
и оборудования; воспроизведённых находок нет. Исторический Lab054 NOT_A
|
||||
сохранён. HEAD 5add95ecb8865f59075bbbced08d97b183fb3b48, Lab056 не коммитилась,
|
||||
push не выполнялся. Аппаратных команд нет, RF TX=0.
|
||||
Следующий этап: получить RF_FREQ, выполнить разрешённый RX-only аппаратный
|
||||
preflight, остановиться с кратким отчётом и ждать отдельного разрешения
|
||||
на один ABAB-сеанс. Кабельный контроль и PA автоматически не добавляются.
|
||||
|
||||
# Запись 049
|
||||
|
||||
## Дата
|
||||
|
||||
10 сентября 2026 года
|
||||
|
||||
## Тема
|
||||
|
||||
Lab056 — аппаратный common-clock и RX-only preflight на частоте пользователя
|
||||
|
||||
## Выполнено
|
||||
|
||||
Пользователь задал RF_FREQ=1400000000 Гц только для текущей лабораторной
|
||||
проверки. Это не рабочая частота SDR_Rover; ориентир полевых работ около
|
||||
180 МГц и варианты 50/144 МГц здесь не исследуются. Задана геометрия OTA:
|
||||
имеющиеся антенны 1400 МГц, LOS, неподвижное оборудование, одинаковые
|
||||
поляризация/ориентация, расстояние примерно 3–5 м. Точные модели антенн
|
||||
и измеренное расстояние не сообщены; описание сохранено без выдуманных данных.
|
||||
|
||||
Выполнен только разрешённый аппаратный preflight. Инвентаризация подтвердила
|
||||
MASTER ...323b97d3 и SLAVE ...2e5327d3. После коротких RX-start обоих устройств
|
||||
MASTER reg29=0x26, SLAVE reg29=0x26, SLAVE CLKIN=DETECTED; опора обнаружена
|
||||
первым запросом через 67,787 мс ожидания. Затем SLAVE записал 800 000
|
||||
комплексных отсчётов, 0,1 с, на той же частоте, Fs 8 Мвыб/с, RX24/24 дБ,
|
||||
RF amplifier/Bias-Tee OFF. Внешних PA/LNA нет. TX не запускался.
|
||||
|
||||
CS8 1 600 000 байт, SHA-256
|
||||
c4257f26e4cc8562eb32228f9a50fdeb055879c928af0744cdf4a81cf7cd085b.
|
||||
RMS 2,203152571 код, мощность 4,85388125 код², AC-мощность 0,6658039582 код²,
|
||||
максимумы абсолютных I/Q 4/6 код. Клиппинг 0 из 800 000 отсчётов, overruns 0.
|
||||
Отсутствие клиппинга фона без TX не гарантирует отсутствие перегрузки
|
||||
при будущем включении TX. После проверки CLKOUT обеих плат выключены,
|
||||
процессы CLEAR до/после, cleanup без ошибок.
|
||||
|
||||
Сохранены исходный RX, preflight_result/attempt, план и журнал фактических
|
||||
команд. Три hackrf_transfer-команды были только RX: два коротких запуска
|
||||
для опоры и запись фона; TX-команд 0. Отчёт docs/lab056_rx_preflight.md.
|
||||
Verifier только по сохранённым файлам подтвердил 12 команд, регистры,
|
||||
CLKIN, параметры и cleanup; пересчитал SHA и мощность/клиппинг вторым
|
||||
способом. Воспроизведённых расхождений нет, PASS, аппаратных команд не было.
|
||||
Код и готовый TX не менялись; SHA совпадают с проверенной версией.
|
||||
Последние программные проверки этой версии: 44 целевых теста,
|
||||
quick_gate 867/30/13 PASS, pytest 867 passed. Git diff --check PASS.
|
||||
Lab054 NOT_A сохранён. HEAD 5add95ecb8865f59075bbbced08d97b183fb3b48;
|
||||
Lab056 не коммитилась, push не выполнялся. RF TX=0.
|
||||
Следующий этап: STOP с техническим READY FOR SINGLE ABAB TX=YES;
|
||||
дождаться отдельного разрешения пользователя на единственный ABAB TX.
|
||||
|
||||
# Запись 050
|
||||
|
||||
## Дата
|
||||
|
||||
10 сентября 2026 года
|
||||
|
||||
## Тема
|
||||
|
||||
Lab056 — единственный OTA ABAB 20/500 ксимв/с; большой провал не воспроизведён
|
||||
|
||||
## Выполнено
|
||||
|
||||
После отдельного явного разрешения пользователя выполнен один конечный
|
||||
ABAB TX с неизменным ранее подготовленным файлом 10 588 544 отсчёта,
|
||||
1,323568 с. RX запущен первым и сохранил 24 000 000 комплексных отсчётов,
|
||||
48 000 000 байт, 3 с. Частота 1400000000 Гц только для Lab056,
|
||||
Fs 8 Мвыб/с, TX10/RX24/24 дБ, несущая +50 кГц, прежние PRBS7/BPSK/RRC;
|
||||
RF amplifier/Bias-Tee OFF, внешних PA/LNA нет. Геометрия по заданию
|
||||
пользователя: имеющиеся антенны 1400 МГц, LOS, примерно 3–5 м,
|
||||
неподвижность и одинаковые поляризация/ориентация. Параметры между A/B
|
||||
не менялись. Код, пороги, timing, FEC/CRC и цифровой TX не менялись.
|
||||
|
||||
Свежая опора перед сеансом PASS: оба reg29=0x26, SLAVE CLKIN=DETECTED
|
||||
через 137,359 мс штатного ожидания. По журналу RX стартовал на 0,517342 с
|
||||
раньше TX. RX overruns=0, TX underruns=0, клиппинг 0 до и после ABAB.
|
||||
Полный RX RMS 2,235380477 код, максимумы абсолютных I/Q 5/6 код.
|
||||
Все 14 аппаратных команд сохранены; среди них один TX без повтора.
|
||||
CLKOUT после опыта выключены, процессы CLEAR, cleanup без ошибок.
|
||||
|
||||
Подготовленный анализатор нашёл четыре сегмента с корреляцией 0,384366.
|
||||
Начала A1/B1/A2/B2 в RX: 5 254 791 / 7 709 991 / 10 149 062 /
|
||||
12 604 263; общий сдвиг относительно TX расходится лишь на один отсчёт.
|
||||
Все активные окна 0,2048 с, порядок ABAB и gaps подтверждены.
|
||||
Полезные мощности после фона A1/B1/A2/B2:
|
||||
0,462680958 / 0,476010015 / 0,414075173 / 0,423007891 код².
|
||||
Согласованные компоненты: 0,312320987 / 0,297815525 /
|
||||
0,299566893 / 0,285847043 код². Raw/AC/фон/комплексный h/остаток/спектры
|
||||
по каждому сегменту приведены в docs/lab056_rf_result.md и rf_analysis.json.
|
||||
|
||||
Итоги по средним линейным мощностям:
|
||||
X, принятая мощность B/A после вычитания фона: +0,108895 дБ;
|
||||
Y, коэффициент передачи abs(h)² B/A: −0,163042 дБ;
|
||||
Z, энергия символа этой же принятой мощности: −13,870505 дБ.
|
||||
Повтор A2/A1 по мощности −0,482024 дБ, B2/B1 −0,512676 дБ;
|
||||
по abs(h)² −0,181074/−0,178136 дБ. Парные оценки B/A близки.
|
||||
|
||||
Прежний провал порядка 15,41 дБ в одной короткой OTA-сессии не воспроизвёлся.
|
||||
Это не выделяет собственные потери HackRF из антенн и распространения
|
||||
и не объясняет причину старого различия раздельных опытов. Кабельный контроль
|
||||
после SMA-переходника остаётся отдельным необходимым этапом для такого
|
||||
разделения. PA не назначен. Packet/PHY PASS, видео и FEC не исследовались.
|
||||
Исторический Lab054 NOT_A, 0/16 сохранён; 34 исходных SHA Lab055 не изменились.
|
||||
|
||||
Verifier только по сохранённым файлам независимо подтвердил команды,
|
||||
SHA/размеры/клиппинг, четыре начала, мощности/фон и комплексный МНК;
|
||||
расчёты согласованы до 1e−12, воспроизведённых находок нет.
|
||||
RX SHA e336dd653fa554058052fcf851e9f2462f66b8cf7c710815ca2b9a09ffc23ad4.
|
||||
TX SHA 5b34bbe1a8e6d037d2d6d367a74e9eb84e8940db7da61600ffaa7f7497d4f600.
|
||||
Сохранены raw IQ, журналы, машинная сводка rf_result.json и график
|
||||
data/processed/lab056/rf_overview.png. Код прежний: последние проверки
|
||||
44 целевых теста, quick_gate 867/30/13, pytest 867 passed; diff check PASS.
|
||||
HEAD 5add95ecb8865f59075bbbced08d97b183fb3b48. Lab056 не коммитилась,
|
||||
push не выполнялся. Выполненных TX=1, сейчас RF TX=0, повторов нет.
|
||||
Следующий этап: STOP и рассмотрение отчёта пользователем; никакого
|
||||
автоматического второго RF-сеанса, кабельного контроля или добавления PA.
|
||||
|
||||
Reference in New Issue
Block a user