На главную страницу сайта
· Наш магазин · Объявления · Рейтинг · Статьи · Частоты · Копилка · Аэродромы · Live!
· Файлы · Диапазоны · Сигналы · Музей · Mods · LPD-форум · Клуб · Радиостанции
На сайте: гостей - 79,
участников - 2 [ dac, killemmy]
 · Начало · Опросы · События · Статистика · Поиск · Регистрация · Правила · FAQ · Галерея ·
 Форум —› Главный раздел —› Догнать и перегнать FT8 
Большой выбор аксессуаров для радиостанций и приемников!


Зарядные устройства

Гарнитуры и тангенты

Аккумуляторы

Динамики

Переходники
Автор Сообщение
dimss
Участник
Offline4.0
с сен 2004
Рига
Сообщений: 1242

Дата: 06 Окт 2025 16:10:22 · Поправил: dimss (06 Окт 2025 16:15:23) #  

Доброе время суток!

Некоторое время назад я заинтересовался возможностью регулярного обмена данными с использованием сигналов, лежащих ниже уровня шума. Представьте себе, например, систему, позволяющую обмениваться данными на законных основаниях, без лицензии, но на расстояниях в десятки и сотни километров. Ни одно из сущестующих решений меня не устроило, и тогда я стал помаленьку разрабатывать собственную.

Первая часть системы - алгоритм обмена файлами. О нём я здесь уже рассказывал. Изначально был рассчитан на обмен данными через последовательный порт. Но, так как по сути идёт обмен пакетами фиксированной длины, то можно приспособить его и для любого другого канала с передачей пакетов.

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

Это ещё не готовый к применению продукт :)
ew2gi
Участник
Offline1.5
с сен 2009
Марьина Горка
Сообщений: 192

Дата: 07 Окт 2025 01:20:49 #  

5ЧТ-20, ЧВС-12
dimss
Участник
Offline4.0
с сен 2004
Рига
Сообщений: 1242

Дата: 07 Окт 2025 10:43:02 #  

Спасибо, это интересно! Конкретно описание 5ЧТ-20, ЧВС-12 я не нашёл, но теперь мне ясно, что в общем такой вид сигнала называется "частотно-временной сигнал". Похоже, я изобрёл велосипед :) Но, судя по публикациям, область актуальная.

Тут важный момент, что эффективность такого сигнала повышается при увеличении увеличении размера алфавита. В отличие от более распространенных QAM и т.п. Но сложность декодирования растет пропорционально размеру алфавита.

Вот здесь суть дела отражена точно:

https://oniip.ru/upload/iblock/f03/%D0%91%D0%B0%D1%82%D0%B5%D0%BD%D0%B5%D0%B2%D0%B0%20%D0%91%D1%83%D0%B4%D0%B2%D0%B8%D1%81%20%D0%A5%D0%BC%D1%8B%D1%80%D0%BE%D0%B2%D0%B0.pdf

Многопозиционные системы ЧВС используются для повышения надежности коротковолновой радиосвязи в условиях селективных замираний при многолучевом распространении и станционных помех. Символы ЧВС представляют собой последовательности элементов (радиоимпульсов), частота которых изменяется по определенному закону. Известны алгоритмы образования систем ЧВС с
хорошими взаимокорреляционными свойствами, символы которых имеют совпадения по частоте не более чем в одном либо двух элементах. Преимуществом ЧВС является передача каждого элемента символа полной мощностью передатчика.
vladisslav2011
Участник
Offline2.1
с фев 2022
СЗФО
Сообщений: 516

Дата: 07 Окт 2025 13:21:07 #  

Приём сигнала осуществляется перебором (поиском) в пространстве время-частота.
Когерентного приема нет?
В текущей версии сигнал-кандидат выбирается исходя из максимума энергии за 9 символов (4 до, 4 после и 1 текущий символ).
Или все-таки есть?

При этом имеются возможности для дальнейшего повышения чувствительности (снижения Eb/No).
Переход к BPSK+LDPC например. И переход к когерентному приему: сначала обнаружение сигнала, потом захват и слежение...

Но в общем, это все изобретение очередного велосипеда, очень медленно едущего велосипеда...
dimss
Участник
Offline4.0
с сен 2004
Рига
Сообщений: 1242

Дата: 07 Окт 2025 16:42:29 · Поправил: dimss (07 Окт 2025 16:50:04) #  

Когерентного приема нет?

Хотелось бы, но нет. Насколько я вижу, на коротких волнах вообще редко применяется по причине нестабильности ионосферы. Фаза сигнала может перевернуться несколько раз за секунду.

Или все-таки есть?

Если посмотрите исходный код, сразу увидите. Из нескольких версий сигнала, сдвинутых по времени-частоте, выбирается самая сильная, у которой суммарная энергия декодированных 9 символов максимальна. Это не когерентный приём, не отслеживание несущей, но статистическое отслеживание последовательности символов. В принципе, это работает, и даёт неплохой результат само по себе. Из девяти символов декодируем средний, пятый. Из-за этого задержка декодирования - 4 символа, но зато вполне нелохо (по 5 символам) отслеживается первый и последний символ пакета. Это позволяет обойтись вообще без каких-либо дополнительных символов синхронизации. Только данные.

Хочу попробовать другой вариант. Вообще ничего не отслеживать. Давать декодеру Рида-Соломона каждую демодулированную последовтельность мягких символов заданной длины, не принимая заранее никаких решений о том, какая из последовательностей правильная. При этом будет возможен прием только пакетов фиксированной длины, но это меня устраивает. По идее, должно снизить Eb/No и устранить задержку декодирования.

Переход к BPSK+LDPC например.

BPSK в чистом виде не позволяет опускаться ниже уровня шума. Для этого его объединяют с DSSS или чем-то подобным. Но тогда сильно повышается Eb/No. Это было первое, что я пробовал. Кроме того, раз уж нет когерентного приёма, то вместо BPSK приходится применять DBPSK. А это дальнейшее снижение эффективности.

LDPC - имеет смысл. Это в планах. Пока код Рида-Соломона, так как он гораздо проще в пользовании.

Но в общем, это все изобретение очередного велосипеда, очень медленно едущего велосипеда...

Раз уж в магазине такого не купить, то делаем сами.
dimss
Участник
Offline4.0
с сен 2004
Рига
Сообщений: 1242

Дата: 16 Окт 2025 19:33:13 #  

https://www.radioscanner.ru/uploader/2025/myfido-20251016.zip

Основная часть закончена. Сделано:

- кодирование и декодирование пакетов с использованием кода Рида-Соломона и CRC24
- многократное тестирование со случайным сдвигом пакета по времени и частоте
- мелкие улучшения

Что попробовано, но отброшено:

- декодирование пакета "из воздуха" целиком - будь то по весам символов, будь то по коду Рида соломона. Существенного прироста вероятности приёма не даёт, но повышает требовательность к стабильности частоты несущей и символов. Кроме того, декодирование каждого кандидата через декодер Рида-Соломона дичайше (во много раз) замедляет декодирование. Лучше сохранить устойчивость при отклонении частоты.

Что получилось:

- Рекорд Eb/No при вероятности приёма ~50% составляет 4.1 dB. Это если брать по три чипа на символ. Очень хороший результат, но только в условиях AWGN. При других видах помех три чипа на символ маловано будет.
- Практическая величина Eb/No при разумных длинах символа в чипах - где-то от 5 то 8 dB. И да, Eb/No в основном зависит именно от длины символа в чипах.
- Путем выбора чудовищно длинных символов получалось опускаться до SNR около -28 dB. При этом Eb/No ухудшается, но что делать...

Далее:

- Надо разобраться, как сделать ввод-вывод звука
- Интегрировать это в ASFT - мою программу для автоматической передачи файлов по медленным каналам
- Рассмотреть способы отбеливания входного сигнала для борьбы с узкополосными помехами
vladisslav2011
Участник
Offline2.1
с фев 2022
СЗФО
Сообщений: 516

Дата: 16 Окт 2025 21:54:40 · Поправил: vladisslav2011 (17 Окт 2025 00:14:45) #  

Давать декодеру Рида-Соломона каждую демодулированную последовтельность мягких символов
Это будет медленно. Алгоритмы декодирования Рида-Соломона с использованием "мягких" символов довольно твжелые.

BPSK в чистом виде не позволяет опускаться ниже уровня шума.
Ну, как сказать... В моих экспериментах с RDS PI detection отрабатывает при уровнях, когда даже на водопаде ничего еще не видно (0.5...0.6 dB SNR по peak/valley). PS начинает декодироваться в районе 1.2dB по peak/valley, когда на водопаде начинают проступать признаки наличия сигнала, но на спектре еще ничего не фиксируется правда это все за счет того, что блоки повторяются.
Но вообще для ухода под шум, нужно DSSS в том или ином виде. Умножение на chirp, как в LoRa тоже вариант.

Пока код Рида-Соломона, так как он гораздо проще в пользовании.
А у вас по статистике ошибки идут в виде редких bursts или все-таки искажаются абсолютно случайные биты? Если в основном редкие случайные биты, то может быть лучше применить BCH (тот же Reed-Solomon, но поверх GF2, декодирование проще, так как исключается Chien search) Upd: исключается следующий за Chien search шаг, так как в GF2 все корни системы уравнений будут равны 1.

Раз уж в магазине такого не купить
"В магазине" есть те же GNSS, которые эффективно опускаются ниже шума, да и LoRa из-под шума вытягивается. Правда если ищем конкретный сигнал, то и то, и другое вполне можно обнаружить, как и медленные MFSK типа WSPR.

Рекорд Eb/No при вероятности приёма ~50% составляет 4.1 dB. Это если брать по три чипа на символ. Очень хороший результат, но только в условиях AWGN.
Мне кажется, модель AWGN для распространения на КВ, особенно пространственной волной с множественными отражениями от ионосферы, не очень подходит. Там будет многолучевой прием с меняющимся сдвигом частот из-за постоянного перемещения отражающих слоев.

декодирование пакета "из воздуха" целиком
Это имеет смысл когда даже примерные параметры сигнала неизвестны. Сначала ищем что-то похожее на наш сигнал в широком диапазоне начальных частот/значение доплеровского сдвига, а после успешного приема 2...3 пакетов, переходим к слежению с вычислением 3...5 корреляций на символ как в GNSS

Рекорд Eb/No при вероятности приёма ~50% составляет 4.1 dB.
Как-то не особо лучше DBPSK или MSK получается. Там тоже где-то в районе 4 dB.
Насколько все становится хуже когда на одной центральной частоте одновременно передается несколько таких сигналов?

Путем выбора чудовищно длинных символов получалось опускаться до SNR около -28 dB. При этом Eb/No ухудшается, но что делать...
Это десятки тысяч чирпов, как в GNSS? В GNSS SNR -15..-26 при минимальном EbNo около 25...30 получается.
dimss
Участник
Offline4.0
с сен 2004
Рига
Сообщений: 1242

Дата: 17 Окт 2025 00:41:48 #  

Я использую готовый декодер Рида-Соломона из состава библиотеки libfec. Он работает только с жёсткими символами, но ему можно давать список стираний. Я этим воспользовался. Первое декодирование делается без стираний, затем при необходимости стираем парами самые слабые символы. И это приносит пользу. До четверти пакетов принимается с числом стираний более нуля, то есть не с первой попытки декодирования. Но есть одно "но". Когда декодеру даёшь стирания, он чаще выдает ложные срабатывания. Для из отлова используется CRC24. Так как CRC16 не хватило. Коллизии происходили где-то раз за тысячу пакетов.

Так как сигнал состоит из 8-битных символов, то искажаются 8-битные символы целиком. Для коррекции ошибок удобно применять именно небинарный код. Хотя, возможно, это и не оптимально. Вообще эту конструкцию можно рассматривать как два вложенных кода. Первый - блочный случайный несистематический небинарный код. Второй - код Рида-Соломона.

WSPR и GNSS - именно это меня вдохновило на эксперименты со слабыми сигналами. Множество маяков WSPR, работающих в диапазоне 13.56 МГц, навели меня на мысль, что так можно не только изучать прохождение, но и практически передавать данные. Пусть и медленно.

Соотношение сигнал-шум порядка -28 дБ достигается при числе чипов менее сотни. Почему не тысячи? Потому что чипы не бинарные.

Да, AWGN это упрощённая модель. Есть и стандартные модели ионосферы для тестирования модемов. Я даже как-то раз находил документ. По этим методам тестируется и FT8, например. Я пока тестирую только с AWGN, но учитываю опыт других протоколов по части КВ. А именно: использую некогерентный MFSK с ограничением длины символа MFSK.

Сколько пользователей смогут разделять канал, зависит от количества чипов в символе. До этих тестов дело пока не дошло.
 

Создавать сообщения могут только зарегистрированные участники форума.
Войти в форум :: » Логин » Пароль
Начало
Средства связи, рации. Купить радиостанции Motorola, Yaesu, Vertex, приемники, антенны.
Время загрузки страницы (сек.): 0.071; miniBB®