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

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

Добрый день)))

 

Из-за наличия агрессивной среды канала передачи информации по витой паре, встала задача о кодировании и последующем декодировании на стороне абонента передаваемой информации. Кто-нибудь сталкивался с такой проблемой?? Может кто-нибудь подскажет методы кодирования и декодтровании информации, для проводного канала связи со скоростью обмена 2 мб.с. Если есть, то поделитесь примера реализации алгоритмов кодеров и декодеров на blackfin

 

Заранее спасибо, Владимир

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


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

Слишком мало вводных. Скорость - это пол дела. Важны еще и расстояния и характерные размеры пакетов. Способ соединения: point to point или много абонентов? Может достаточно взять некую стандартную шину со своим протоколом и добавить к ней CRC. Ведь, если сбои есть но редко, то дешевле не кодировать а контролировать и перепосылать в случае сбоя.

А так, обобщенно, есть канальные коды, есть помехозащищенные коды, есть коды против выпадений (например если помеха длинная и вышибает сразу много бит подряд)

Только это мало относится к ЦОСу

Изменено пользователем Мусатов Константин

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


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

Предполагается передавать данные пакетами длиной 12 байт.

Соединение точка-точка, длина 200 - 600 метров.

Данные должны быть переданы с минимальными задержками, значит с минимальным кол-вом переприемов.

Соответсвенно нужны коды способные корректировать ошибки

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


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

Вот те раз...

Все же задача не DSPшная :)

2 мб.с 600 метров

Считаем длину бита - 3*10^8 м/с / 2*10^6 = 150 метров. Т.е. ни один синхронный способ передачи не обеспечит требуемую скорость. Т.е. всякие RS-ы, CAN-ы не подойдут, у них скорость будет заметно меньше на такой длине. Вы какой физический интерфейс использовать хотите?

Данные должны быть переданы с минимальными задержками, значит с минимальным кол-вом переприемов.

Это не постановка задачи.

Соответсвенно нужны коды способные корректировать ошибки

Любые коды подбираются под статистику сбоев канала передачи. Нет статистики - нет и кода.

Изменено пользователем Мусатов Константин

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


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

Все же задача не DSPшная :)

 

Считаем длину бита - 3*10^8 м/с / 2*10^6 = 150 метров. Т.е. ни один синхронный способ передачи не обеспечит требуемую скорость. Т.е. всякие RS-ы, CAN-ы не подойдут, у них скорость будет заметно меньше на такой длине. Вы какой физический интерфейс использовать хотите?

 

Это не постановка задачи.

 

Любые коды подбираются под статистику сбоев канала передачи. Нет статистики - нет и кода.

 

 

Канал связи - E1, кодировка сигнала - HDB3

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


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

Канал связи - E1, кодировка сигнала - HDB3

Это же цифровой канал телефонной связи по оптоволокну. Он имеет высокую помехозищищенность. Зачем Вам еще кодировать сигнал? Если Вам не хватает его помехозищищенности, я не помню какой уровень потерь на нем гарантируется, то надо, все равно, получить статистику сбоев и требования по итоговой помехозащищенности.

Изменено пользователем Мусатов Константин

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


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

Это же цифровой канал телефонной связи по оптоволокну.

вообще-то изначально коаксиал или витая пара

Он имеет высокую помехозищищенность.

там не средств контроля целостности данных и тем более исправления ошибок

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


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

вообще-то изначально коаксиал или витая пара

 

там не средств контроля целостности данных и тем более исправления ошибок

 

Согласен с вами коллега)))

Вот поэтому и встала задача по дополнительному кодированию передаваемых данных. Для реализации возможности защиты от помех и коррекции ошибочных данных

 

отличная книга и много примеров

 

http://www.eccpage.com/

 

B спасибо за книгу, только проблема со временем на ее изучение(((

Подскажите хоть в каком напрвлении двигаться, какие коды/декодеры рассматривать??

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


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

Подскажите хоть в каком напрвлении двигаться, какие коды/декодеры рассматривать??

все зависит от того, сколько ошибок хотите исправлять и сколько ресурсов готовы на это потратить.

из простых - коды Хеммнига, Рида-Маллера.

посложнее и получше - БЧХ, в частности Рида-Соломона. можно сверточный с декодером Витерби.

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

 

Я почему ту книгу и посоветовал - там есть примеры, чтобы можно было оценить сложность. а задача сложная, без теории тут ловить нечего.

Блейхута посмотрите, "Теория и практика кодов, контролирующих ошибки".

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


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

Добрый день)))

 

Из-за наличия агрессивной среды канала передачи информации по витой паре, встала задача о кодировании и последующем декодировании на стороне абонента передаваемой информации. Кто-нибудь сталкивался с такой проблемой?? Может кто-нибудь подскажет методы кодирования и декодтровании информации, для проводного канала связи со скоростью обмена 2 мб.с. Если есть, то поделитесь примера реализации алгоритмов кодеров и декодеров на blackfin

 

Заранее спасибо, Владимир

Посмотрите как это делается в памяти с коррекцией ошибок, может подойдет

http://www.reviews.ru/clause/article.asp?id=59

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


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

вообще-то изначально коаксиал или витая пара

Исходно - да. Что-то я забыл корни :)

И, все же, вы говорите об ошибках. От чего они, какой характер? Это пропадания битов поштучно или в цеху стоит сварочный агрегат и пропадает несколько единиц или десятков миллисекунд?

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


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

Характер ошибок вызванных высоковольтными импульсными выбросами, при переключении реле например))

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


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

Импульсы от разрядов в силовых реле могут достигать примерно 1 мс, это до 2000 битов в канале. Если задержка на такое время допустима, то можно думать о кодировании, а если нет, то надо думать об снижении помех в канале.

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


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

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

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

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

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

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

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

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

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

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