Jump to content
    

Алгоритм CIRC, CD, Red Book

2 hours ago, des00 said:

ИМХО, при такой структуре ошибок(у вас тупо теряется пакет в некоторых точках), никакой код не поможет.

Если радикально, то согласен.  Но уменьшить число неисправляемых пакетов при пешем движении можно.

2 hours ago, des00 said:

Облегчить, вы сами к этому пришли: большой блок и мазать, мазать, мазать.

На счёт "мазать" - не понял.  Если имеется ввиду перемежение, то выше я как раз объяснил, что оно не подходит по двум причинам:

1. Большая задержка

2. Не поможет в случае, когда несколько смежных кадров полностью битые.  Не делать же 10-секундное перемежение в Full-Duplex 🙂

3. Реально помогут длинные коды в пределах одного фрейма.  Вышеприведённая статистика показывает, что 90% пакетов содержат не более 10% ошибок. Поэтому RS GF(2^16) тут сам Бог велел.  И не надо делать перемежение внутри одного фрейма, как это было с короткими RS GF(2^8).

2 hours ago, des00 said:

Прыжки по частоте можно попробовать, как выше упоминалось.

Что дадут прыжки по частоте?  При движении картина будет меняться.  Время одного фрейма -  66 - 100 мс.  Он же - один большой пакет.   Резать пакет на серию маленьких - это будет лишний оверхед из-за множества преамбул и синхрослов.  А во время передачи пакета менять частоту - как мне кажется нет смысла.

За 100 мс  ситуация сто раз поменяется.

2 hours ago, des00 said:

Есть системы которые прыгают по частотам + изучают куда прыгать не стоит. Ну и опять же значение прыжка определяется свойствами канала (какой смысл прыгать из замирания в замирание).

Делал прыжки по частотам для AT86RF215 - разницы особо не заметил - точки минимума практически не зависят от частоты приёма.

2 hours ago, des00 said:

Но это наверное все же больше в сторону кастомного радиотракта

Ну может смотреть в сторону DVB-T2, хотя увенен, что при небольшой мощности (100 мВт) он тоже даст мертвые точки приёма при движении.

2 hours ago, des00 said:

Но и может уже пришло время смотреть в сторону частотного резервирования: одновременная прием-передача на существенно разных частотах?

Ну допустим передача на 438 МГц,  приём на 436 МГц.  Что улучшится?

43 minutes ago, des00 said:

У него процессор мелкий, от такого БЧХ он подохнет. На плис да, 3-5к логики и будет летать

Ну как сказать мелкий...   Два ядра  Cortex-A7 на частоте 1200 МГц.   Вот играюсь со вторым ядром, чтобы повешать на него RS 2^16.

Edited by repstosw

Share this post


Link to post
Share on other sites

33 minutes ago, repstosw said:

На счёт "мазать" - не понял.  Если имеется ввиду перемежение, то выше я как раз объяснил, что оно не подходит по двум причинам:

"Мазать" - размазывать вашу ошибку на как можно больший блок. Если это не применимо, и нельзя поставить второй тракт, ну значит нет других вариантов.

33 minutes ago, repstosw said:

Что дадут прыжки по частоте?  При движении картина будет меняться.  Время одного фрейма -  66 - 100 мс.  Он же - один большой пакет.   Резать пакет на серию маленьких - это будет лишний оверхед из-за множества преамбул и синхрослов.  А во время передачи пакета менять частоту - как мне кажется нет смысла.

ЕМНП если прыгать за пределы полосы когеретности то состояние канала в другой частотной точке будет отличаться. Если прыгаете из нуля туда где нуля нет и добавите перемежение данных согласованное с прыжком то может быть что-то можно будет выиграть.

33 minutes ago, repstosw said:

За 100 мс  ситуация сто раз поменяется.

типичное значение 1000 скачков частоты в секунду. Это 1мс. Но это похоже не для вашего радиотракта.

33 minutes ago, repstosw said:

Ну допустим передача на 438 МГц,  приём на 436 МГц.  Что улучшится?

Это не частотное резервирование. Частотное резервирование это у вас два тракта RX-TX, один на 438МГц, другой например на 832 МГц, информация ходит одинаковая, по приему вы декодируете оба и выбираете пакет из того канала, который не битый. Вот например тут https://habr.com/ru/articles/480124/ на графиках чел показывает как работает частотное резервирование каналов БПЛА

Share this post


Link to post
Share on other sites

7 hours ago, repstosw said:

 Бывает, что и несколько фреймов подряд настолько ужасны, что не поддаются коррекции.

Почему несколько подряд не принимаются? Зашли в точку где лучи в ноль сложились?

Если это так и в этой точке во всём доступном  вам частотном диапазоне ноль - единственный выход это сказать пользователю индикатором качества связи - переместить руку с антенной.

 

Бывают две неподвижных точки в пространства где связь то 100% то 1% ?

Share this post


Link to post
Share on other sites

3 hours ago, _4afc_ said:

Почему несколько подряд не принимаются? Зашли в точку где лучи в ноль сложились?

Потому что мёртвая зона и сигнал слабый.

3 hours ago, _4afc_ said:

Бывают две неподвижных точки в пространства где связь то 100% то 1% ?

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

Преамбула и синхрослово - 2GFSK,  полезные данные - 4GFSK.

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

Тоесть всегда можно найти точки с отличным приёмом и остаться в них.

Share this post


Link to post
Share on other sites

В продолжение темы о применении однокристальных трансиверов для передачи/приёма видео:

Video Transmitter FPV https://www.tindie.com/products/ferntech/fpv-hat-for-raspberry-pi/

Заявлено, что используется Si4463 и FSK.

image.png.d8c558459a78d5b298c642940efb7316.png

 

Так что, имеет право на жизнь.  Без всяких громоздких OFDM и FPGA :biggrin:

 

On 9/7/2023 at 9:46 PM, repstosw said:

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

Как это ни странно, в пределах помещения, это пофиксилось заменой антенны штыря L/2 + противовес - на антенну J-pole.

Нет теперь никаких неисправляемых замираний при передвижении по комнатам.

Edited by repstosw

Share this post


Link to post
Share on other sites

On 12/13/2023 at 2:11 PM, repstosw said:

Так что, имеет право на жизнь.  Без всяких громоздких OFDM и FPGA

у них там h264 для кодирования а его на т113 нет и FEC  написано экспериментально а в описании команды запуска он не упоминается. Ключ есть в описании

 

Quote

The -F FEC (Forward Error Correction) option uses 4/8 FEC. Meaning 4 FEC bits for every 8
data bits. I.e. using 33 pct of available bandwith for error correction.

https://github.com/FernRF/FPV-HAT/blob/master/src/fec.c

а в примере не используется

Edited by sasamy

Share this post


Link to post
Share on other sites

58 minutes ago, sasamy said:

у них там h264 для кодирования а его на т113 нет и FEC  написано экспериментально а в описании команды запуска он не упоминается. Ключ есть в описании

Использую MJPEG на T113-s3 и H264 на V3s.

На счёт FEC, там она на основе матрицы Вандермонде. Что это такое пока не понял, но интересно было бы потестировать его по сравнению с кодеком Рида-Соломона. Хотя, я достиг, чего хотел в коррекции ошибок (ускорил декодирование RS с двукратным запасом).

 

58 minutes ago, sasamy said:

https://github.com/FernRF/FPV-HAT/blob/master/src/fec.c

а в примере не используется

4/8 FEC не подходит для моих целей - слишком много данных приходится на неё отдавать (MJPEG сжатие слабже, чем у H264 при том же визуально субъективном качестве картинки).

Использую FEC 3/4 и 4/5  с 25% и 20% избыточностью соответственно.

 

Посмотрел их конфиги модема: всё точно также, как у меня (на 433 МГц).  Модуль RF4463F30 - лежат у меня на полке - поставлю их в релизы. У них максимальная мощность при питании 5V : 1,2 Вт.

Делал запрос в niceRF на счёт кастомизации модуля - повысить мощность до 5 Вт.  Сказали, что могут, но в количестве от 1000 штук.  

Есть ещё  модуль SV6500Pro  на базе того же однокристальника Si4463, на 5 Вт.  Но он уже завершенный модем и через UART.  А надо SPI.  Поэтому тут либо самому плату рисовать (на тех же шоколадках в качестве усилка RA07H4047M - благо что FSK, можно не бояться, что сигнал может поплющить ), либо брать этот модем и выкидывать их контроллер с UART.

Более пpостой и правильный путь - использовать RF4463PRO (на 0,1 Вт) и доводить мощность до 5 - 8 Вт с помощью RA07H4047M.   Правда, тогда придётся один лишний SPDT ВЧ-ключ ставить, чтобы коммутировать антенну на передачу и приём.  Либо курочить  RF4463PRO   или самому рисовать плату.

 

Edited by repstosw

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...