реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Код Рида-Соломона для короткого пакета из 2-х байт., Подойдет ли?
soldat_shveyk
сообщение May 24 2018, 13:35
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 434
Регистрация: 3-07-07
Из: С-Петербург
Пользователь №: 28 859



Доброго дня!
Есть два байта информации, мне надо передать их по радиоканалу.
Хочу взять код с избыточностью 100%, то есть превратить их в 4 байта.
Подойдет ли код Рида-Соломона для этой цели?
Делать буду на FPGA Altera, там есть IP-блоки кодера и декодера Р-С.
Или код РС больше подходит для более длинных пакетов?
Go to the top of the page
 
+Quote Post
Grizzzly
сообщение May 24 2018, 20:17
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 537
Регистрация: 22-02-13
Пользователь №: 75 748



Цитата(soldat_shveyk @ May 24 2018, 16:35) *
Доброго дня!
Есть два байта информации, мне надо передать их по радиоканалу.
Хочу взять код с избыточностью 100%, то есть превратить их в 4 байта.
Подойдет ли код Рида-Соломона для этой цели?

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

Стр. 4, правая колонка, в самом низу примеры: https://www.um.edu.mt/__data/assets/pdf_fil...tion_Part_1.pdf
Go to the top of the page
 
+Quote Post
soldat_shveyk
сообщение May 25 2018, 08:00
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 434
Регистрация: 3-07-07
Из: С-Петербург
Пользователь №: 28 859



Уважаемый Grizzzly, нет страницы 4 в приложенном Вами документе. Может не ту часть приложили?
Go to the top of the page
 
+Quote Post
KalashKS
сообщение May 25 2018, 08:20
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 234
Регистрация: 7-02-11
Пользователь №: 62 755



Цитата(Grizzzly @ May 24 2018, 23:17) *
А существует ли код Рида-Соломона с такими параметрами?

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

Сообщение отредактировал KalashKS - May 25 2018, 08:37
Go to the top of the page
 
+Quote Post
soldat_shveyk
сообщение May 25 2018, 09:56
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 434
Регистрация: 3-07-07
Из: С-Петербург
Пользователь №: 28 859



KalashKS, спасибо, буду пробовать.
Цитата
и исправлением одной символьной ошибки

А не двух символов? Вроде бы код Рида-Соломона может исправить количество ошибок равное половине избыточности?
Если у меня избыточность 4 символа по 4 бита, значит должен исправить до 8-и битовых ошибок. Или же я ошибаюсь?
Go to the top of the page
 
+Quote Post
KalashKS
сообщение May 25 2018, 10:30
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 234
Регистрация: 7-02-11
Пользователь №: 62 755



Цитата(soldat_shveyk @ May 25 2018, 12:56) *
KalashKS, спасибо, буду пробовать.

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

Все-таки наврал, вы правы. Исправляет 2 ошибки. Пойду вспоминать, как они работают.
А по реализации на таких длинах, возможно, готовые блоки будут неоптимальны. Если тактовые частоты позволяют, табличное декодирование может быть лучшим вариантом.
Go to the top of the page
 
+Quote Post
_pv
сообщение May 25 2018, 10:51
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 501
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



а может просто Хэмминг 7,4 по нибблам?
Go to the top of the page
 
+Quote Post
soldat_shveyk
сообщение May 25 2018, 11:13
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 434
Регистрация: 3-07-07
Из: С-Петербург
Пользователь №: 28 859



Цитата
а может просто Хэмминг 7,4 по нибблам?

Да, наверное, Рида-Соломона не подходит для такого короткого пакета.
Посему, переформулирую вопрос: какой код лучше использовать для кодирования 16-и бит информации с увеличением длины до 32-х бит?
Среда - радио, с помехами и замираниями.
Код Голея бы прекрасно подошел, но он 12-бит - ни то ни се, и не 8 и не 16.
Сразу в умные книги просьба не отправлять, уже скачал, читаю sm.gif
Go to the top of the page
 
+Quote Post
Grizzzly
сообщение May 25 2018, 15:10
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 537
Регистрация: 22-02-13
Пользователь №: 75 748



Может быть, такая конструкция https://ieeexplore.ieee.org/document/260165/ ?
Каково время когерентности канала? Сколько битов укладывается? Если оно велико, то можно БЧХ и перемежитель. Но здесь требования по задержке нужно учитывать.

Возможно, следует посмотреть в сторону полярных кодов: http://elkhamy.byethost13.com/pubs/GC15_HARQ_RC_Polar_CW.pdf
Правда, для них декодирование требует бОльших затрат. Конечно, для малых длин они тоже не очень, но в 5G как раз для коротких пакетов в канале служебной информации были выбраны они.
Go to the top of the page
 
+Quote Post
KalashKS
сообщение May 25 2018, 15:31
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 234
Регистрация: 7-02-11
Пользователь №: 62 755



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

Сообщение отредактировал KalashKS - May 25 2018, 16:10
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение May 25 2018, 18:35
Сообщение #11


ʕʘ̅͜ʘ̅ʔ
****

Группа: Свой
Сообщений: 989
Регистрация: 3-05-05
Пользователь №: 4 691



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

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

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

Если у вас канал с замираниями, то лучше сразу ориентироваться на разнесение - пространственное, временное и/или частотное.
Go to the top of the page
 
+Quote Post
soldat_shveyk
сообщение May 26 2018, 06:55
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 434
Регистрация: 3-07-07
Из: С-Петербург
Пользователь №: 28 859



Спасибо за ответы!!!
Цитата
Если у вас канал с замираниями

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

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

Не, демодулятор тоже свой, пока начали с QPSK, а дальше видно будет.
Я уже осознал, что дробить короткий пакет на еще более мелкие смысла нет. Буду искать код 32-16.
Сначала попробуем на жестких решениях, посмотрим, насколько плохо получается, а затем попробуем сделать мягкое декодирование.

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

Это не функции Уолша? Можно в двух словах смысл использования Адамар в качестве кода? Не понимаю просто этого.
Go to the top of the page
 
+Quote Post
stealth-coder
сообщение May 26 2018, 07:07
Сообщение #13


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 27-12-08
Пользователь №: 42 786



Цитата(soldat_shveyk @ May 26 2018, 09:55) *
Можно в двух словах смысл использования Адамар в качестве кода?


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

Пример: код Рида-Маллера (32, 10), используемый для кодирования бит TFCI в 3G (UMTS). Информации в интернете полно, например погуглите патент US20140169273A1.
Go to the top of the page
 
+Quote Post
soldat_shveyk
сообщение May 26 2018, 07:14
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 434
Регистрация: 3-07-07
Из: С-Петербург
Пользователь №: 28 859



Спасибо, Stelth-Coder!
А бывает код Рида-Малера размером (32, 16)?
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение May 26 2018, 07:59
Сообщение #15


ʕʘ̅͜ʘ̅ʔ
****

Группа: Свой
Сообщений: 989
Регистрация: 3-05-05
Пользователь №: 4 691



На здоровье.

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

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

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

Цитата(soldat_shveyk @ May 26 2018, 10:55) *
Спасибо за ответы!!!

Это не функции Уолша? Можно в двух словах смысл использования Адамар в качестве кода? Не понимаю просто этого.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st June 2018 - 11:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.00941 секунд с 7
ELECTRONIX ©2004-2016