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

Помехоустойчивые протоколы передачи данных

Товарищи,

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

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


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

Видал однажды техпроект широкополосной радио линии, там по-моему каскадный код применялся.

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

Обычно применяется контроль ошибок и перезапрос пакета.

возможный вариант - при ошибке попытаться восстановить пакет, а при невозможности - перезапрос.

 

Восстанавливающие коды намного более избыточные, чем просто контролирующие.

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


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

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

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

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


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

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

Мало данных. Нужно подробно описать систему, нужно задание на проектирование.

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


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

Если вылетает полпакета, никакие коды не помогут.

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

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


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

Спасибо.

Я так понял копать нужно в сторону кодирования Рида-Соломона и сверточного кода...

Скорость канала ~150 кбит/с. Нужно передавать файлы размером 300-400 kB. Размер пакета может быть любой(сейчас 512 байт). Помехи искажают 1--5 байт в пакете(512 байт), повреждается примерно каждый пятый пакет. Принимающая сторона должна принять все пакеты, востановить поврежденные(с помощью этих самых алгоритмов), при невозможности восстановления некоторых поврежденных пакетов послать запрос на повторную передачу именно этих нескольких пакетов.

Тоесть если из 20 битых пакетов приемник сможет восстановить хотя бы 15 это будет отлично, повторно придется запрашивать всего 5 пакетов. Это значительно может снизить общее время передачи.

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

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


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

Посмотрите трансиверы Chipcon от TI -там все есть для вашей задачи.

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


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

Я так понял копать нужно в сторону кодирования Рида-Соломона и сверточного кода...

Ну необязательно, может и код Голея сгодится. В случае со свёрточными кодами программа декодера может оказаться довольно жирной. Очень может быть, что гораздо дешевле и надёжнее поставить усилитель на передачу. Но если хотите решать проблему с помощью математики, а не физики, то тема "Помехоустойчивое кодирование" (канальное кодирование) в любой книге по цифровой связи, например, Дж. Прокис "Цифровая связь" или Бернард Скляр "Цифровая связь" вам в помощь. Но стоит просвятиться и в теме "бюджет канала".

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

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


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

Если поцедура кодирования/декодирования/восстановления занимает времени больше, чем повторная передача пакета, то эффективней не навороченные коды юзать, а просто повторную отправку пакета.

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


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

Если поцедура кодирования/декодирования/восстановления занимает времени больше, чем повторная передача пакета, то эффективней не навороченные коды юзать, а просто повторную отправку пакета.

Есть специфические моменты.

Например, радиорелейка.

Чтобы отправить пакет с конца на конец, необходимо, допустим, пройти 10 пролётов. Вот и считайте затраты на "туда-обратно"

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


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

Есть специфические моменты.

Например, радиорелейка.

Чтобы отправить пакет с конца на конец, необходимо, допустим, пройти 10 пролётов. Вот и считайте затраты на "туда-обратно"

Ничего не имею против. Я же писал :

Если поцедура кодирования/декодирования/восстановления занимает времени больше, чем повторная передача пакета...

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


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

Размер пакета может быть любой(сейчас 512 байт). Помехи искажают 1--5 байт в пакете(512 байт), повреждается примерно каждый пятый пакет.

 

Какого рода ошибки? Пакетированные или одиночные? Сатистика есть? Какова требуемая достоверность на выходе?

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


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

Пакетные ошибки можно превратить в одиночные с помощью перемежителя. Отталкиваться нужно также от количества ошибок в канале связи и допустимого снижения скорости передачи.

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


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

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

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

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

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

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

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

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

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

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