Перейти к содержанию
    

Алгоритм 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.

Изменено пользователем repstosw

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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/ на графиках чел показывает как работает частотное резервирование каналов БПЛА

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 hours ago, repstosw said:

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

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, _4afc_ said:

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

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

3 hours ago, _4afc_ said:

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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.

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

Изменено пользователем repstosw

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Изменено пользователем sasamy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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   или самому рисовать плату.

 

Изменено пользователем repstosw

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...