Jump to content

    
Sign in to follow this  
uriy

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

Recommended Posts

нашел вот тут 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];

Share this post


Link to post
Share on other sites
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];

Share this post


Link to post
Share on other sites

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

http://celnet.ru/peremez.php

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

:yes:

 

Share this post


Link to post
Share on other sites
5 hours ago, litv said:

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

http://celnet.ru/peremez.php

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

:yes:

 

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

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

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

Share this post


Link to post
Share on other sites

uriy

 

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

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

 

Share this post


Link to post
Share on other sites
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;

Share this post


Link to post
Share on other sites
21 hours ago, uriy said:

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

 

Share this post


Link to post
Share on other sites
19 hours ago, uriy said:

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

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

Quote

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

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

19 hours ago, uriy said:

 

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this