Доброе время суток!
Некоторое время назад я заинтересовался возможностью регулярного обмена данными с использованием сигналов, лежащих ниже уровня шума. Представьте себе, например, систему, позволяющую обмениваться данными на законных основаниях, без лицензии, но на расстояниях в десятки и сотни километров. Ни одно из сущестующих решений меня не устроило, и тогда я стал помаленьку разрабатывать собственную.
Первая часть системы - алгоритм обмена файлами. О нём я здесь уже рассказывал. Изначально был рассчитан на обмен данными через последовательный порт. Но, так как по сути идёт обмен пакетами фиксированной длины, то можно приспособить его и для любого другого канала с передачей пакетов.
https://github.com/dimss1979/asft
Вторая часть системы - модем, способный передавать пакеты с низкой скоростью и мощностью, но при очень низком соотношении сигнал-шум.
После долгих экспериментов, я остановился на сигнале, в котором один символ (один байт, M=256) кодируется как несколько посылок MFSK. Комбинация посылок, соответствующая каждому значению байта, псевдослучайная. Пакет целиком (например, 100 байт) кодируется кодом Рида-Соломона (GF256).
Приём сигнала осуществляется перебором (поиском) в пространстве время-частота. Потому что мы не знаем точно, в какое время и на какой частоте ждать сигнал. Для каждой версии принимаемого сигнала (каждый сдвиг по частоте и фазе чипа) строится "водопад", и затем для каждого возможного значения переданного символа (байта) суммируется энергия чипов в этом "водопаде". Выигрывает то значение символа, которое набрало максимум энергии. В текущей версии сигнал-кандидат выбирается исходя из максимума энергии за 9 символов (4 до, 4 после и 1 текущий символ). Таким образом, задержка декодирования сейчас - 4 символа.
Сигнал обладает следующими свойствами:
- постоянная мощность передатчика (PAPR = 0)
- пригоден для ионосферного распространение - многолучевое, с коротким интервалом когерентности
- кодовое разделение пользователей (CDMA) - передатчик и приемник должны изпользовать одинаковое начальное значение генератора псевдослучайных случайных кодов.
- нет никакой необходимости в синхронизации - не нужно для этого тратить отдельные символы или тоны
- низкая чувствительность к дрейфу несущей частоты (в текущей версии)
- низкая чувствительность к отклонению скорости следования символов
- высокая гибкость - почти все параметры сигнала легко изменять в широких пределах. При изменении параметров сигнала (а особенно числа чипов на символ) Eb/No меняется где-то в пределах 5..8 dB.
В данный момент Eb/No (соотношение энергии бита к спектральной плотности шума) для AWGN и вероятности приёма паета около 0.5 составляет ~5.1 dB, как и у сигнала FT8. Но, в отличие от FT8, не нужно соблюдать точное время отправки пакета и имеется кодовое разделение (CDMA). При этом имеются возможности для дальнейшего повышения чувствительности (снижения Eb/No).
То есть оказалось, что сделать сигнал и приемник для него со свойствами, сравнимыми с FT8, не так уж и сложно. Но этот вид сигнала вряд ли будет интересен радиолюбителям. Скорее, он подходит для безлицензионной связи в стиле LoRa, Wi-Fi, Bluetooth, но на большие расстояния.
Предварительная версия алгоритма приема и передачи сигнала:
https://www.radioscanner.ru/uploader/2025/myfido.zip
Это ещё не готовый к применению продукт :)