Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Алгоритмы помехоустойчивого кодирования
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
VTrue
Добрый день)))

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

Заранее спасибо, Владимир
Мусатов Константин
Слишком мало вводных. Скорость - это пол дела. Важны еще и расстояния и характерные размеры пакетов. Способ соединения: point to point или много абонентов? Может достаточно взять некую стандартную шину со своим протоколом и добавить к ней CRC. Ведь, если сбои есть но редко, то дешевле не кодировать а контролировать и перепосылать в случае сбоя.
А так, обобщенно, есть канальные коды, есть помехозащищенные коды, есть коды против выпадений (например если помеха длинная и вышибает сразу много бит подряд)
Только это мало относится к ЦОСу
petrov
Цитата(Мусатов Константин @ Apr 5 2011, 12:43) *
Только это мало относится к ЦОСу


Вот те раз...
VTrue
Предполагается передавать данные пакетами длиной 12 байт.
Соединение точка-точка, длина 200 - 600 метров.
Данные должны быть переданы с минимальными задержками, значит с минимальным кол-вом переприемов.
Соответсвенно нужны коды способные корректировать ошибки
vadimuzzz
отличная книга и много примеров

http://www.eccpage.com/
Мусатов Константин
Цитата
Вот те раз...

Все же задача не DSPшная sm.gif
Цитата
2 мб.с 600 метров

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

Это не постановка задачи.
Цитата
Соответсвенно нужны коды способные корректировать ошибки

Любые коды подбираются под статистику сбоев канала передачи. Нет статистики - нет и кода.
VTrue
Цитата(Мусатов Константин @ Apr 5 2011, 18:58) *
Все же задача не DSPшная sm.gif

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

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

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



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

Это же цифровой канал телефонной связи по оптоволокну. Он имеет высокую помехозищищенность. Зачем Вам еще кодировать сигнал? Если Вам не хватает его помехозищищенности, я не помню какой уровень потерь на нем гарантируется, то надо, все равно, получить статистику сбоев и требования по итоговой помехозащищенности.
vadimuzzz
Цитата(Мусатов Константин @ Apr 7 2011, 02:43) *
Это же цифровой канал телефонной связи по оптоволокну.

вообще-то изначально коаксиал или витая пара
Цитата
Он имеет высокую помехозищищенность.

там не средств контроля целостности данных и тем более исправления ошибок
VTrue
Цитата(vadimuzzz @ Apr 7 2011, 02:45) *
вообще-то изначально коаксиал или витая пара

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


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

Цитата(vadimuzzz @ Apr 5 2011, 17:52) *
отличная книга и много примеров

http://www.eccpage.com/


B спасибо за книгу, только проблема со временем на ее изучение(((
Подскажите хоть в каком напрвлении двигаться, какие коды/декодеры рассматривать??
vadimuzzz
Цитата(VTrue @ Apr 7 2011, 13:27) *
Подскажите хоть в каком напрвлении двигаться, какие коды/декодеры рассматривать??

все зависит от того, сколько ошибок хотите исправлять и сколько ресурсов готовы на это потратить.
из простых - коды Хеммнига, Рида-Маллера.
посложнее и получше - БЧХ, в частности Рида-Соломона. можно сверточный с декодером Витерби.
лучшие коды используют мягкие решения, у вас их нет.

Я почему ту книгу и посоветовал - там есть примеры, чтобы можно было оценить сложность. а задача сложная, без теории тут ловить нечего.
Блейхута посмотрите, "Теория и практика кодов, контролирующих ошибки".
Serg76
Цитата(VTrue @ Apr 5 2011, 09:21) *
Добрый день)))

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

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

Посмотрите как это делается в памяти с коррекцией ошибок, может подойдет
http://www.reviews.ru/clause/article.asp?id=59
Мусатов Константин
Цитата
вообще-то изначально коаксиал или витая пара

Исходно - да. Что-то я забыл корни sm.gif
И, все же, вы говорите об ошибках. От чего они, какой характер? Это пропадания битов поштучно или в цеху стоит сварочный агрегат и пропадает несколько единиц или десятков миллисекунд?
VTrue
Характер ошибок вызванных высоковольтными импульсными выбросами, при переключении реле например))
Мусатов Константин
Импульсы от разрядов в силовых реле могут достигать примерно 1 мс, это до 2000 битов в канале. Если задержка на такое время допустима, то можно думать о кодировании, а если нет, то надо думать об снижении помех в канале.
VTrue
Цитата(Мусатов Константин @ Apr 9 2011, 01:50) *
Импульсы от разрядов в силовых реле могут достигать примерно 1 мс, это до 2000 битов в канале. Если задержка на такое время допустима, то можно думать о кодировании, а если нет, то надо думать об снижении помех в канале.


Да, задержка на 1 мс приемлема, так что будем работать над кодированием
А есть ли у вас пример реализации кодера и декодера Рида - Соломона на blackfin
НИИ Квант
Цитата(VTrue @ Apr 8 2011, 15:15) *
Характер ошибок вызванных высоковольтными импульсными выбросами, при переключении реле например))
блоковый каскадный код (RS/RS, RS/BCH, BCH/BCH, LDPC/BCH ) через глубокий перемежитель
Мусатов Константин
На самом деле, еще один вопрос. Какой характер потока данных? Это ограниченные пакеты данных с большими дырами между или непрерывный поток в, например, 1МБит/с
Предложение от ННИ Квант больше подходит под второй вариант.
Oldring
Цитата(VTrue @ Apr 8 2011, 15:15) *
Характер ошибок вызванных высоковольтными импульсными выбросами, при переключении реле например))



Не дешевле ли кинуть оптоволокно?

Цитата(НИИ Квант @ Apr 11 2011, 12:35) *
блоковый каскадный код (RS/RS, RS/BCH, BCH/BCH, LDPC/BCH ) через глубокий перемежитель


Только если там длительность помехи может быть пара миллисекунд, то блок должен быть размазан на несколько десятков миллисекунд минимум. С соответствующей задержкой.
VTrue
Цитата(Мусатов Константин @ Apr 12 2011, 11:49) *
На самом деле, еще один вопрос. Какой характер потока данных? Это ограниченные пакеты данных с большими дырами между или непрерывный поток в, например, 1МБит/с
Предложение от ННИ Квант больше подходит под второй вариант.


Как раз в моем случае - это непрерывный поток цифровых данных)) Только вот у меня проблема, так как раньше не приходилось решать подобные задачи, тоесть связанные с кодированием((( Вот поэтому пока глаза разбегаются, и не знаю с чего начать

Цитата(Oldring @ Apr 12 2011, 14:12) *
Не дешевле ли кинуть оптоволокно?



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


Волокно - это конечно же хорошо, но ведь помехи могут возникнуть на стыке волокно - электрические цепи. Думаю и в этом случае без кодирования не обойтись((
Oldring
Цитата(VTrue @ Apr 13 2011, 09:43) *
Волокно - это конечно же хорошо, но ведь помехи могут возникнуть на стыке волокно - электрические цепи. Думаю и в этом случае без кодирования не обойтись((



Или от экранирования. Приемник заэкранировать от помех обычно проще, чем кабель.
VTrue
Цитата(НИИ Квант @ Apr 11 2011, 12:35) *
блоковый каскадный код (RS/RS, RS/BCH, BCH/BCH, LDPC/BCH ) через глубокий перемежитель


А нет ли у вас примеров реализации кодирования и декодирования каскадных кодов??
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.