реклама на сайте
подробности

 
 
> Восстановление данных переданных по радиоканалу., Кодирование файла JPEG.
_Leo_
сообщение Apr 22 2010, 14:36
Сообщение #1





Группа: Участник
Сообщений: 5
Регистрация: 23-04-09
Пользователь №: 48 123



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

должна превышать 10% от изначального объёма.
Если чуть подробнее, то полученная картинка обрабатывается (кодируется) микроконтроллером AVR32 AT32UC3 и передаётся по

беспроводному каналу NanoNet. Принимаются данные на ПК, там происходит их декодирование. Язык программирования С.

Так как повторная передача исключена, то кроме корректирующих кодов вариантов вроде нет.
Корректирующие коды выбираются исходя из наиболее вероятного типа ошибок, вот тут пробел - какой тип ошибок более характерен для

NanoNet? У него частота что и у WiFi, но модуляция другая.
Для одиночных ошибок лучше всего подходит классика - код Хемминга. Учитывая 10% ограничение минимально возможный код (63, 57).
Только работа в с файлами происходит побайтно и использование такого кода означает лишние сдвиги, создание массивов и т.д. Как вариант

код (88,80), но он избыточен и лишь чуть более удобен.
Циклические коды БЧХ или Рида-Соломона выглядят более привлекательными и вроде не сложны в реализации. У БЧХ как я понимаю можно

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

В общем задача с разными решениями и где оптимальный путь, пока не определил.
С благодарностью приму любой совет.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
x736C
сообщение Apr 30 2010, 21:49
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Цитата(vallav @ Apr 30 2010, 08:31) *
Вопрос был - как передать видео без искажений.
Согласен, мое предложение не проходит, если искажается более 10% пакетов.
Вопрос вроде не о видео. Из личного опыта, для видео (мпег 1,2,4) потеря 2-3% — смотреть практически невозможно. Допустимо считается менее 0,5-1%. Где-то были тесты в сети, кажется, на ixbt.
Речь, конечно, о UDP-пакетах.

Цитата(r_dot @ Apr 29 2010, 02:46) *
Это зря вы так.
Потеря одного бита при передаче по эфиру - практически нереальная ситуация.
Если на радиоканал действует помеха (например, при искре от мощного контактора), то вышибает сразу блок данных, а то и синхронизацию.
Без повтора всякая коррекция - мёртвому припарки.
Абсолютно реальная ситуация. Потери возникают не только при воздействии на канал импульсных (сосредоточенных) помех, но так же при определенном уровне ОСШ. Поэтому даже простое кодирование увеличит дальность уверенного приема ценой увеличения времени передачи (для технологии NanoNET). В остальном согласен, решение вероятностное.

Кстати о требуемой величине времени передачи (назовем latency) автор темы ничего не сказал.

Цитата(_Leo_ @ Apr 30 2010, 20:18) *
То есть надо спроектироват код (16, 8) или другой (n, k) код, где к<n и оба кратны 8.
...
Допустим как определить d (расстояние Хемминга) у (16, 8) или (24, 16), чтобы в свою
очередь определить количество ошибок ими исправляемых.

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

Сообщение отредактировал x736C - Apr 30 2010, 21:52
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 03:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.06061 секунд с 7
ELECTRONIX ©2004-2016