Jump to content

    
Sign in to follow this  
soldat_shveyk

Код Рида-Соломона для короткого пакета из 2-х байт.

Recommended Posts

Доброго дня!

Есть два байта информации, мне надо передать их по радиоканалу.

Хочу взять код с избыточностью 100%, то есть превратить их в 4 байта.

Подойдет ли код Рида-Соломона для этой цели?

Делать буду на FPGA Altera, там есть IP-блоки кодера и декодера Р-С.

Или код РС больше подходит для более длинных пакетов?

Share this post


Link to post
Share on other sites
Доброго дня!

Есть два байта информации, мне надо передать их по радиоканалу.

Хочу взять код с избыточностью 100%, то есть превратить их в 4 байта.

Подойдет ли код Рида-Соломона для этой цели?

А существует ли код Рида-Соломона с такими параметрами?

 

Стр. 4, правая колонка, в самом низу примеры: https://www.um.edu.mt/__data/assets/pdf_fil...tion_Part_1.pdf

Share this post


Link to post
Share on other sites
А существует ли код Рида-Соломона с такими параметрами?

Если не вру, то должен быть код (8,4), укороченный из (15,11) с 4-хбитными символами и исправлением одной символьной ошибки.

Можно сделать укороченный БЧХ (32,16) с исправлением двух битовых ошибок. Лучше будет, или хуже зависит от характера ошибок.

Edited by KalashKS

Share this post


Link to post
Share on other sites

KalashKS, спасибо, буду пробовать.

и исправлением одной символьной ошибки

А не двух символов? Вроде бы код Рида-Соломона может исправить количество ошибок равное половине избыточности?

Если у меня избыточность 4 символа по 4 бита, значит должен исправить до 8-и битовых ошибок. Или же я ошибаюсь?

 

Share this post


Link to post
Share on other sites
KalashKS, спасибо, буду пробовать.

 

А не двух символов? Вроде бы код Рида-Соломона может исправить количество ошибок равное половине избыточности?

Если у меня избыточность 4 символа по 4 бита, значит должен исправить до 8-и битовых ошибок. Или же я ошибаюсь?

Все-таки наврал, вы правы. Исправляет 2 ошибки. Пойду вспоминать, как они работают.

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

Share this post


Link to post
Share on other sites
а может просто Хэмминг 7,4 по нибблам?

Да, наверное, Рида-Соломона не подходит для такого короткого пакета.

Посему, переформулирую вопрос: какой код лучше использовать для кодирования 16-и бит информации с увеличением длины до 32-х бит?

Среда - радио, с помехами и замираниями.

Код Голея бы прекрасно подошел, но он 12-бит - ни то ни се, и не 8 и не 16.

Сразу в умные книги просьба не отправлять, уже скачал, читаю :)

 

Share this post


Link to post
Share on other sites

Может быть, такая конструкция https://ieeexplore.ieee.org/document/260165/ ?

Каково время когерентности канала? Сколько битов укладывается? Если оно велико, то можно БЧХ и перемежитель. Но здесь требования по задержке нужно учитывать.

 

Возможно, следует посмотреть в сторону полярных кодов: http://elkhamy.byethost13.com/pubs/GC15_HARQ_RC_Polar_CW.pdf

Правда, для них декодирование требует бОльших затрат. Конечно, для малых длин они тоже не очень, но в 5G как раз для коротких пакетов в канале служебной информации были выбраны они.

Share this post


Link to post
Share on other sites

Из любопытсва глянул в матлабе. Для ФМ2 и АГБШ полубайтовый RS (8,4) выигрывает у 4-х Хэммингов примерно 0,5 дБ по PER 1e-4. А дальше, как написали выше, нужна конкретика про ваш канал и то, какие там ошибки.

Edited by KalashKS

Share this post


Link to post
Share on other sites

Для таких коротких пакетов строить канал по принципу "демодулятор с жестким решением + декодер" наверное не стоит.

Из вариантов я бы рассмотрел сигнально-кодовые конструкции, например, на основе преобразования Адамара (Complementary code keying)

 

Дальше в списке коды, позволящие осуществлять декодирование "мягких" решений: TC, BPTC, LDPC, Сверточный

 

Если демодулятор - данность, то, да, ваш выбор - это RS или BCH с индикацией "затираний" на входе.

Дробить пакет на более короткие смысла не имеет.

 

Если у вас канал с замираниями, то лучше сразу ориентироваться на разнесение - пространственное, временное и/или частотное.

Share this post


Link to post
Share on other sites

Спасибо за ответы!!!

Если у вас канал с замираниями

Да, канал с замираниями - ионосферный КВ. Частотное и пространственное разнесение планируем использовать, но пока юзаем железку без разнесения.

 

Если демодулятор - данность,

Не, демодулятор тоже свой, пока начали с QPSK, а дальше видно будет.

Я уже осознал, что дробить короткий пакет на еще более мелкие смысла нет. Буду искать код 32-16.

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

 

сигнально-кодовые конструкции, например, на основе преобразования Адамара (Complementary code keying)

Это не функции Уолша? Можно в двух словах смысл использования Адамар в качестве кода? Не понимаю просто этого.

Share this post


Link to post
Share on other sites
Можно в двух словах смысл использования Адамар в качестве кода?

 

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

 

Пример: код Рида-Маллера (32, 10), используемый для кодирования бит TFCI в 3G (UMTS). Информации в интернете полно, например погуглите патент US20140169273A1.

Share this post


Link to post
Share on other sites

На здоровье.

 

https://en.m.wikipedia.org/wiki/Complementary_code_keying.

 

В .11b исползуются последовательности 8 bits -> 8 chips qpsk. Вам нужно расширить этот вид модуляции до 16bits -> 16 chips qpsk и построить для него демодулятор-декодер макс. правдоподобия на основе преобразования Уолша-Адамара.

 

В двух словах: вам нужно построить ансамбль из 2^16 последовательностей с максимальным значением евклидовой метрики между соседними.

 

Спасибо за ответы!!!

 

Это не функции Уолша? Можно в двух словах смысл использования Адамар в качестве кода? Не понимаю просто этого.

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