Известные расхождения¶
Реестр того, что в текущем состоянии проекта работает не так, как выглядит. Страница описывает факты, а не планы: каждый пункт проверен по коду. Часть из них — хорошие задачи для первого вклада.
Обновляйте эту страницу вместе с исправлением: устранили расхождение — удалите пункт в том же коммите.
Сборка и упаковка¶
Сборка пакета вынесена из CI¶
.gitlab-ci.yml больше не публикует в OBS-проекты апстрима
(home:librespace:satnogs2), но своей инфраструктуры сборки у форка пока нет.
В CI остались sign_off, lint, test, flowgraphs, docs и pages:
джоба flowgraphs прогоняет grcc по всем .grc в образе станции, но .deb
собирается вручную.
Последствие: новую версию пакета нужно собирать и раскладывать руками.
Флоуграфы¶
У PHASMA нет аудио¶
satellites/fsk_phasma_decoder.grc — единственный производственный флоуграф без
аудиоветки: в нём нет ни ресемплера, ни стока на zmq_base_port + 2. Аудио для
50 кбод нельзя просто сжать до 48 кГц — получится алиасинг, а не запись, поэтому
ветку не стали копировать из fsk_ax25.grc.
Последствие: наблюдения GFSK Pkst и FSK на 50000/400000 бод дают пустой
OGG. Подписчик zmq_audio_sub предупреждает об этом в stderr.
Что нужно: отдельная ветка с собственной audio_samp_rate, вычисленной от
бодрейта, и согласованный с ней подписчик.
В имени IQ-файла нет частоты дискретизации¶
# TODO: Add sampling rate to the filename в zmq_iq_sub.py. Частота равна
baudrate × decimation, но децимацию считает сам .grc через
satnogs.find_decimation — диспетчер её не знает и без импорта gr-satnogs
вычислить не может.
Последствие: запись IQ бесполезна, если не помнить параметры наблюдения.
Частота аудио зашита¶
zmq_audio_sub.py жёстко открывает OGG на 48000 Гц моно. Соответствие с
флоуграфом ничем не проверяется.
Последствие: при рассогласовании аудио ускорено или замедлено, и об этом ничто не сообщает — кроме случая, когда данных нет совсем.
Разрешение водопада зависит от бодрейта¶
Водопад берёт частоту с выхода доплер-компенсации: 48 кГц у аудио-режимов, 57.6 кГц у FSK 9600, 76.8 кГц у BPSK 9600, 66.56 кГц у APT/SSTV, 200 кГц у PHASMA — при БПФ везде на 1024 точки. Фиксированная полоса из этой точки съёма недостижима: после децимации шире полосы режима ничего нет, а второй тракт децимации — лишний фильтр на полной частоте SDR.
Последствие: водопады разных режимов несопоставимы по полосе и по мощности в
бине. С 2026-09-12 клиент нормирует: отдаёт порталу геометрию из заголовка
.dat и noise_dbhz = noise_db − 10·lg(bin_hz). Если фиксированная ветка
водопада всё же понадобится, теперь это одна правка золотого generic/fm.grc
(см. «Общий фронтенд» в Соглашения в .grc), а не двадцать.
Два флоуграфа недостижимы из клиента¶
generic/iq_receiver.grc и generic/example_flowgraph.grc собираются и
устанавливаются, но ни один режим на них не ведёт. Оставлены как примеры и
инструмент ручной отладки.
test_flowgraphs/frame_decoder_zmq_test.grc неисправен¶
Ссылается на несуществующий iq_9888458.raw и публикует на порт 55555, не
согласованный с zmq_base_port. В сборку не входит.
Рудиментарные параметры¶
decoded_data_file_path, file_path, iq_file_path, enable_iq_dump
объявлены почти во всех .grc, но ни к чему внутри не подключены — запись
файлов живёт в подписчиках. Они существуют, чтобы флоуграф не упал, когда
диспетчер передаст их в общем цикле. doppler_correction_per_sec был таким же
и снят 2026-09-12: диспетчер его принимает и обнуляет.
Последствие: выглядят рабочими, но менять их поведение правкой .grc
бессмысленно.