Jump to content

    

Корректирующие коды (эффективнее чем Голей, Хемминг)

Цель другая - исправлять пакеты от передатчика, когда приёмник на грани чувствительности.

 

Иными словами - вытаскивать тухлые биты и/или байты в пакете на граничных условиях приёма, там где враги: либо шум эфира, либо интерференция.

Если абонент не дурак, то поймёт что это предел возможности аппаратуры :)

 

Вопрос: эффективно ли на этот ПАКЕТ навернуть что-то

 

Бог в помощь!

 

Share this post


Link to post
Share on other sites

тоесть в моем случае восстановить пакет программными методами не удастся?

 

Инными словами: Если приёмник на грани чувствительности и я не дурак, то пойму что на этот ПАКЕТ с пользой не навернуть? :biggrin:

 

И всё-же я не могу точно утверждать что приемник на грани возможностей, поэтому вопрос остается в силе:

вот теперь реалия: есть RFM96 у которого данные аппаратно кодируется сверточным кодером FEC с опциями 4/5 4/6 4/7 4/8 для программиста это невидно.

Имеем декодированый FEC-декодером поток уже с жеским решением: ПАКЕТ.

 

Вопрос: эффективно ли на этот ПАКЕТ навернуть что-то (каскадные коды, турбо-коды, простой RS или просто Голей/Хемминг) - программно, чтобы потом этот ПАКЕТ, пройдя через аппаратный LoRa FEC , был более надёжнее принят?

Edited by Mister_DSP

Share this post


Link to post
Share on other sites
Или если на выходе трансивера жесткое решение c аппаратного декодера , то бессмысленно внедрять дополнительную коррекцию ошибок?

Для коротких пакетов в этом случае бессмысленно.

Вот если бы были радиомодули типа RFM с выходом оцифрованных IQ...но я таких не знаю.

Share this post


Link to post
Share on other sites

А раньше куда смотрели? В Этих модулях не доступны, выходы после детектора. Для них почти все бесполезно наворачивать кодирование сверху. Просто подумайте о том, при ваших коротких пакетах, что ваш синхропакет недоступен и основная проблема при дальней связи будет начинаться с него. Все же перед Скляром нужно основы освоить с примерами, ... короче курс пройти. Кстати у Si4432 можно данные вывести наружу и получить дополнительный выигрыш, есть такие наработки и ранее тут обсуждали.

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

 

тоесть в моем случае восстановить пакет программными методами не удастся?

 

Инными словами: Если приёмник на грани чувствительности и я не дурак, то пойму что на этот ПАКЕТ с пользой не навернуть? :biggrin:

 

И всё-же я не могу точно утверждать что приемник на грани возможностей, поэтому вопрос остается в силе:

приёмник на грани чувствительности ... ну вот нет такого понятия в цифровой радиосвязи. Еще раз вы забываете про синхру, она порой главнее всего при коротких пакетах!

Грани возможности определены даташитом у таких законченых решений, особо более ничего не добится. Разве самому что либо делать на чипах, к примеру у CML, AD, RF, ... есть все необходимое для вас, но не дешево.

Share this post


Link to post
Share on other sites
Грани возможности определены даташитом у таких законченых решений, особо более ничего не добится.

 

Именно. Но у ув. Мистера есть законченное изделие. Он хочет улучшить его дальность при неизменной сверхмалой мощности методом посткоррекции уже дешифрованных пакетов. Черт его знает, может быть полдецибельчика и удастся вытащить (хотя вряд ли). Но нельзя же забывать об остальных потребительских свойствах изделия, которое должно "пойти в люди". Конкуренция на этом рынке жесточайшая.

Надо, как мне кажется, немножко подвинуть радиолюбительскую мечту о рекордной экономии батарей, тем более, что авторегулировка мощности передатчика может не только повышать энергопотребление, но и снижать его (как это происходит в GSM стандарте).

А если сопоставить трудозатраты на АРМ и на эвристическую коррекцию уже покалеченных цифровых пакетов, то выбор очевиден: мечту надо временно отправить, как сейчас принято говорить, - ффтопку.

Share this post


Link to post
Share on other sites

Все кто написал ответы - верно написали!

 

У меня была цель - я её достиг, а именно : сделать пару небольших раций с дальностью связи до 1-1,5 км при максимальных битрейтах 2400-4800 бит/с.

Цель достигнута!

 

Но захотелось большего!!! :rolleyes: А именно - проверить - что можно улучшить чтоб выжать хотя бы ещё 20-40% дальности. А вдруг в Semtech что-то сделали не совсем хорошо? Вот исходя из таких позиций хотел решить вопрос программными методами.

 

Понятно, что нужно аппаратно решать - переходить на другую элементную базу, при условии изменения цели, например: дальность 10 км при мощностях 100 мВт на портативках с битрейтом 2400. Как вы думаете - реально(если антенны укорочены) ? В итоге восходим к теме Ане Иволгиной которая тут уже писала :)

 

Просто был эксперимент - не более, исходя из предположения что ЛоРа ФЕК слабенький и его можно заменить программным алгоритмом... Но коль уж жёсткое решение после встроенного ФЕК декодера не обмануть и не оспорить - таки да - остальные коды - безрезультатны.

 

Ну и по моему RFM96 может работать в сыром режиме - валить всю кашу с эфира, но она однобитовая.

 

Ещё есть GFSK режим с отключениями преамбулы, синхры и кодового слова - может тут есть поле для улучшения?

Share this post


Link to post
Share on other sites

Дальность во многом определяется антенной и местностью, а затем только подводимой мощностью, и только потом протоколами и кодами. С головы на ноги поставьте все и придет понимание.

С внешними дорогими чипами, антеннами, кодами вы можете получить значительно большую дальность. Но раз вы RFM96 решили, то те кто его проектировал никак не дураки, и искать чего то крутого, то чего они профукали бессмысленно.

 

Почему дальность во многом определяется антенной, простая аналогия. То пространство между двумя станциями это такой условный 3D "кабель", а коаксиал 2D. А антенны это просто трансформаторы волнового на концах этого условного 3D "кабеля", со своими кпд, и тп.

Так вот если выбраны равные условия для этого 3D "кабеля" сравнения корректны, если нет то сравнивать не получается, пример ровнина, город, горная месность, пром объекты и тп.

Чтобы хотеть бльшего надо антеннами также заниматься.

 

В LoRa RFM96 не может работать в сыром режиме. Другие режимы, тотже GFSK, может дать вам такую же дальность, если сумеете повторами как у LoRa, обеспечить энергию на инфобит.

 

...

Ещё есть GFSK режим с отключениями преамбулы, синхры и кодового слова - может тут есть поле для улучшения?

К сожалению нет, ... .

Share this post


Link to post
Share on other sites

Да, уважаемые Милливольт и Aner были правы: бесполезно с практической точки зрения наворачиваь дополнительные корректирующие коды, когда аппаратный декодер уже выносит жесткое решение.

 

Экспериментально я испытал 2 реализации коррекции ошибок, реализуемых программно:

 

1) код Рида-Соломона, о нём писал выше

 

2) Свёрточный кодер Витерби с перемежением и де-перемежением на приемной стороне.

 

Выигрыша в устойчивости связи я не получил. Даже со свёрточным кодером Витерби получился проигрыш, из за того что пришлось уменьшить код-рейт аппаратной коррекции ошибок LoRa FEC чтоб уложиться в пакет с заданным битрейтом для сохранения той же чувствительности.

 

А вот переход от CR=4/5 к CR=4/8 аппаратной LoRa FEC - действительно ощутимо даёт выигрыш! Связь устойчивая в "злачных местах" на границе приёма.

 

Все эти выплакивания децибелл из приёмника путём заужения полосы, снижения скорости - всё в прошлом! :)

 

Вот испытал новый LoRa-модуль LoRa1278F30 мощностью 1Вт - c MELP 2400 дало 3 км устойчивого уверенного приема: передатчик был внутри балкона, приемник во внутреннем кармане куртки !!! Ура! :santa2:

 

Ну и с китайским Новым Годом всех поздравляю! :rolleyes:

 

Подробнее тут: http://vrtp.ru/index.php?showtopic=27904&st=600

Share this post


Link to post
Share on other sites
Вот если бы были радиомодули типа RFM с выходом оцифрованных IQ...но я таких не знаю.

Lora модулей таких не знаю, но CC1125 есть такие недокументированные возможности: https://electronix.ru/forum/index.php?showtopic=112978

Share this post


Link to post
Share on other sites
приёмник на грани чувствительности ... ну вот нет такого понятия в цифровой радиосвязи.

 

А куда же делось понятие "чувствительность"? При заданном виде модуляции для достижения максимально допустимой вероятности ошибки требуется совершенно конкретное соотношение сигнал/шум, которое в случае канала АБГШ будет определяться мощностью передатчика, антеннами и их направленностью, затуханием в канале, тепловым шумом (который, в свою очередь, определяется полосой сигнала). Например, в стандартах ETSI четко указаны требуемые значения чувствительности для базовых и мобильных станций (например, для телефона GSM -102 дБм, для TETRA -112 дБм (для АБГШ канала)).

Share this post


Link to post
Share on other sites
НАПОМИНАЮ:

Хорошие коды подразумевают мягенькое декодирование,

поэтому там вообще-то нет понятия "ошибки".

Ошибкой можно условно договориться считать LLR, сменивший знак.

 

Не надо велосипед изобретать, всё уже придумано. Из коротких лучше Голея ничего нет.

 

Находил статью по "мягкому" Голею. Никто не встречал готовой С-реализации?

 

PS:

 

у SX1276 аппаратный FEC мягкий, поэтому городить свое после жесткого решения нет смысла. Но можно использовать IC880A

там "сырой" сигнал от SX1257 обрабатывается baseband-процессором SX1301, если есть желание - невспаханное поле для творчества. Исходники прошивки FPGA для обработки LoRa закрыты, используются в виде hex.

Share this post


Link to post
Share on other sites

Так кто же не хочет "мягкого" Голея в готовой С-реализации. Еще как хотим, но пока не встретил в инете. Да и не все там просто в связке с железом.

А с доступностью SX1301 пока трудновато, семтех только крупным продает. Да и доки закрытые пока. Подозреваю, что невспаханное поле для творчества корпораций с ёмкими фин ресурсами. И количество таких будет ограничено, дав им фору перед остальными на пару, тройку лет. Как это неоднократно повторялось ранее с перспективными технологическими решениями. Бизнес должен взять своё.

Share this post


Link to post
Share on other sites

А в чём сложность с мягким Голеем? Алгоритм Чейза даёт 2 дБ, плата - увеличение количества вычислений. Можно построить код Рида-Маллера на основе функций Уолша, тогда для декодирования используется быстрое преобразование Адамара, т.е. честные мягкие решения. Так сделано кодирование TFCI для UMTS (см. 3GPP 25.212).

Share this post


Link to post
Share on other sites
Так кто же не хочет "мягкого" Голея в готовой С-реализации.

 

А всегда ли стоит двухдецибельная овчинка выделки?

 

post-86729-1487362557_thumb.png

 

Причем при ухудшении С/Ш выигрыш падает нелинейно, а на плохих каналах асимптотически бежит к нулю.

Т.е. план ув. Мистера был изначально неудачным.

Edited by Милливольт

Share this post


Link to post
Share on other sites
Понятно, что нужно аппаратно решать - переходить на другую элементную базу, при условии изменения цели, например: дальность 10 км при мощностях 100 мВт на портативках с битрейтом 2400. Как вы думаете - реально(если антенны укорочены) ?

 

Реально существуют с 2006.

post-60179-1487405264_thumb.png

https://www.google.com/url?sa=t&rct=j&a...bGs&cad=rjt

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this