|
Код Рида-Соломона для короткого пакета из 2-х байт., Подойдет ли? |
|
|
|
May 24 2018, 20:17
|
Знающий
Группа: Свой
Сообщений: 565
Регистрация: 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
|
|
|
|
|
May 25 2018, 08:20
|
Местный
Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755
|
Цитата(Grizzzly @ May 24 2018, 23:17) А существует ли код Рида-Соломона с такими параметрами? Если не вру, то должен быть код (8,4), укороченный из (15,11) с 4-хбитными символами и исправлением одной символьной ошибки. Можно сделать укороченный БЧХ (32,16) с исправлением двух битовых ошибок. Лучше будет, или хуже зависит от характера ошибок.
Сообщение отредактировал KalashKS - May 25 2018, 08:37
|
|
|
|
|
May 25 2018, 09:56
|
Местный
Группа: Свой
Сообщений: 454
Регистрация: 3-07-07
Из: С-Петербург
Пользователь №: 28 859
|
KalashKS, спасибо, буду пробовать. Цитата и исправлением одной символьной ошибки А не двух символов? Вроде бы код Рида-Соломона может исправить количество ошибок равное половине избыточности? Если у меня избыточность 4 символа по 4 бита, значит должен исправить до 8-и битовых ошибок. Или же я ошибаюсь?
|
|
|
|
|
May 25 2018, 10:30
|
Местный
Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755
|
Цитата(soldat_shveyk @ May 25 2018, 12:56) KalashKS, спасибо, буду пробовать.
А не двух символов? Вроде бы код Рида-Соломона может исправить количество ошибок равное половине избыточности? Если у меня избыточность 4 символа по 4 бита, значит должен исправить до 8-и битовых ошибок. Или же я ошибаюсь? Все-таки наврал, вы правы. Исправляет 2 ошибки. Пойду вспоминать, как они работают. А по реализации на таких длинах, возможно, готовые блоки будут неоптимальны. Если тактовые частоты позволяют, табличное декодирование может быть лучшим вариантом.
|
|
|
|
|
May 25 2018, 11:13
|
Местный
Группа: Свой
Сообщений: 454
Регистрация: 3-07-07
Из: С-Петербург
Пользователь №: 28 859
|
Цитата а может просто Хэмминг 7,4 по нибблам? Да, наверное, Рида-Соломона не подходит для такого короткого пакета. Посему, переформулирую вопрос: какой код лучше использовать для кодирования 16-и бит информации с увеличением длины до 32-х бит? Среда - радио, с помехами и замираниями. Код Голея бы прекрасно подошел, но он 12-бит - ни то ни се, и не 8 и не 16. Сразу в умные книги просьба не отправлять, уже скачал, читаю
|
|
|
|
|
May 25 2018, 15:10
|
Знающий
Группа: Свой
Сообщений: 565
Регистрация: 22-02-13
Пользователь №: 75 748
|
Может быть, такая конструкция https://ieeexplore.ieee.org/document/260165/ ? Каково время когерентности канала? Сколько битов укладывается? Если оно велико, то можно БЧХ и перемежитель. Но здесь требования по задержке нужно учитывать. Возможно, следует посмотреть в сторону полярных кодов: http://elkhamy.byethost13.com/pubs/GC15_HARQ_RC_Polar_CW.pdfПравда, для них декодирование требует бОльших затрат. Конечно, для малых длин они тоже не очень, но в 5G как раз для коротких пакетов в канале служебной информации были выбраны они.
|
|
|
|
|
May 25 2018, 18:35
|
ʕʘ̅͜ʘ̅ʔ
Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691
|
Для таких коротких пакетов строить канал по принципу "демодулятор с жестким решением + декодер" наверное не стоит. Из вариантов я бы рассмотрел сигнально-кодовые конструкции, например, на основе преобразования Адамара (Complementary code keying)
Дальше в списке коды, позволящие осуществлять декодирование "мягких" решений: TC, BPTC, LDPC, Сверточный
Если демодулятор - данность, то, да, ваш выбор - это RS или BCH с индикацией "затираний" на входе. Дробить пакет на более короткие смысла не имеет.
Если у вас канал с замираниями, то лучше сразу ориентироваться на разнесение - пространственное, временное и/или частотное.
|
|
|
|
|
May 26 2018, 06:55
|
Местный
Группа: Свой
Сообщений: 454
Регистрация: 3-07-07
Из: С-Петербург
Пользователь №: 28 859
|
Спасибо за ответы!!! Цитата Если у вас канал с замираниями Да, канал с замираниями - ионосферный КВ. Частотное и пространственное разнесение планируем использовать, но пока юзаем железку без разнесения. Цитата Если демодулятор - данность, Не, демодулятор тоже свой, пока начали с QPSK, а дальше видно будет. Я уже осознал, что дробить короткий пакет на еще более мелкие смысла нет. Буду искать код 32-16. Сначала попробуем на жестких решениях, посмотрим, насколько плохо получается, а затем попробуем сделать мягкое декодирование. Цитата сигнально-кодовые конструкции, например, на основе преобразования Адамара (Complementary code keying) Это не функции Уолша? Можно в двух словах смысл использования Адамар в качестве кода? Не понимаю просто этого.
|
|
|
|
|
May 26 2018, 07:07
|
Частый гость
Группа: Участник
Сообщений: 112
Регистрация: 27-12-08
Пользователь №: 42 786
|
Цитата(soldat_shveyk @ May 26 2018, 09:55) Можно в двух словах смысл использования Адамар в качестве кода? Можно построить код Рида-Маллера с декодером на основе быстрого преобразования Уолша-Адамара, такой декодер, будучи блочным, может работать на честных мягких решениях без алгоритмов вроде Чейза. Пример: код Рида-Маллера (32, 10), используемый для кодирования бит TFCI в 3G (UMTS). Информации в интернете полно, например погуглите патент US20140169273A1.
|
|
|
|
|
May 26 2018, 07:59
|
ʕʘ̅͜ʘ̅ʔ
Группа: Свой
Сообщений: 1 008
Регистрация: 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) Спасибо за ответы!!!
Это не функции Уолша? Можно в двух словах смысл использования Адамар в качестве кода? Не понимаю просто этого.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|