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

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

8 minutes ago, uriy said:

Покажете где взять исходники? Я не могу найти.

Написать самому. Гуглить: Алгоритм Берлекэмпа — Мэсси.

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


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

нашел вот тут http://the-art-of-ecc.com/3_Cyclic_BCH/bch_bm.c

В visual studio вроде работает как надо, но пришлось уменьшить размеры локальных переменных (уменьшил пока до значений с потолка). 

Там было: 

int elp[1026][1024], d[1026], l[1026], u_lu[1026], s[1025];
int root[200], loc[200], err[1024], reg[201];

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


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

6 часов назад, uriy сказал:

нашел вот тут http://the-art-of-ecc.com/3_Cyclic_BCH/bch_bm.c

В visual studio вроде работает как надо, но пришлось уменьшить размеры локальных переменных (уменьшил пока до значений с потолка). 

Там было: 


int elp[1026][1024], d[1026], l[1026], u_lu[1026], s[1025];
int root[200], loc[200], err[1024], reg[201];

Это от минимального расстояния зависит.

Если мин расстояние Q,  то

int elp[Q+1][Q-1], d[Q+1], l[Q+1], u_lu[Q+1], s[Q];

int root[Q/2], loc[Q/2], err[Q-1], reg[Q/2+1];

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


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

Возможно помочь  перемежением в Вашем случае. Оно + помехоустойчивое кодирование вдвоем эффективнее.

http://celnet.ru/peremez.php

„Добрым словом и пистолетом вы можете добиться гораздо большего, чем одним только добрым словом.“ — Аль Капоне

:yes:

 

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


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

5 hours ago, litv said:

Возможно помочь  перемежением в Вашем случае. Оно + помехоустойчивое кодирование вдвоем эффективнее.

http://celnet.ru/peremez.php

„Добрым словом и пистолетом вы можете добиться гораздо большего, чем одним только добрым словом.“ — Аль Капоне

:yes:

 

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

Теперь вижу что для рида-соломона в радиоканале это ничего не даст. Ведь после интерливинга поврежденные биты не соберутся в один символ. 

А для БЧХ нет никакой разницы как расположены поврежденные биты.

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


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

uriy

 

Теперь вижу что для рида-соломона в радиоканале это ничего не даст. Ведь после интерливинга поврежденные биты не соберутся в один символ.

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

 

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


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

27 minutes ago, petrov said:

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

Не только RS - я в своё время для передачи данных длиной 324 байта использовал 72 блока БЧХ(48,36,5) с последующим глубоким перемежением

таким образом я считал что искаженные подряд 144 бита из 3456 могут быть исправлены, т.к. боялся больше короткой помехи чем малого SNR.

 

Интересно что в приведённом выше исходнике Robert Morelos-Zaragozа от 1997 для m = 6 задаётся p[1] = 1;

а уже в 2002 для m = 6 он предпочитает p[0] = p[1] = p[6] = 1;

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


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

21 hours ago, uriy said:

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

Теперь вижу что для рида-соломона в радиоканале это ничего не даст. Ведь после интерливинга поврежденные биты не соберутся в один символ. 

А для БЧХ нет никакой разницы как расположены поврежденные биты.

потратили бы час на изучение что такое БЧХ и РС, не задавали бы глупых вопросов.

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


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

Я уже потратил несколько дней, статьи ориентированы не на инженеров а на математиков. 

Вам судя по всему тоже понадобилось дней 5 чтобы понять разницу между БЧХ и РС 

 

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


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

19 hours ago, uriy said:

Я уже потратил несколько дней, статьи ориентированы не на инженеров а на математиков. 

Да, при этом в книге морелоса сарагосы 2 главы вы прочитать не догадались.

Quote

Вам судя по всему тоже понадобилось дней 5 чтобы понять разницу между БЧХ и РС

разница там понимается за 15 минут прочтения книги. а на реализацию да, ушло дней на 5 больше, т.к. там помимо полинома локаторов ошибок надо считать значения ошибок.

19 hours ago, uriy said:

 

а тема эта, посвещена вопросам рассчета генераторных полиномов БЧХ, которые я хотел научиться считать самостоятельно, а не брать из таблиц. Особенно меня интересовали полиномы, которые не вписывались в общую формулу, когда количество исправляемых ошибок челочисенно кратно t. Генераторные полиномы RS, в отличии от БЧХ считаются намного проще.

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


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

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

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

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

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

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

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

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

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

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