soldat_shveyk 3 24 мая, 2018 Опубликовано 24 мая, 2018 · Жалоба Доброго дня! Есть два байта информации, мне надо передать их по радиоканалу. Хочу взять код с избыточностью 100%, то есть превратить их в 4 байта. Подойдет ли код Рида-Соломона для этой цели? Делать буду на FPGA Altera, там есть IP-блоки кодера и декодера Р-С. Или код РС больше подходит для более длинных пакетов? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Grizzly 0 24 мая, 2018 Опубликовано 24 мая, 2018 · Жалоба Доброго дня! Есть два байта информации, мне надо передать их по радиоканалу. Хочу взять код с избыточностью 100%, то есть превратить их в 4 байта. Подойдет ли код Рида-Соломона для этой цели? А существует ли код Рида-Соломона с такими параметрами? Стр. 4, правая колонка, в самом низу примеры: https://www.um.edu.mt/__data/assets/pdf_fil...tion_Part_1.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
soldat_shveyk 3 25 мая, 2018 Опубликовано 25 мая, 2018 · Жалоба Уважаемый Grizzzly, нет страницы 4 в приложенном Вами документе. Может не ту часть приложили? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KalashKS 0 25 мая, 2018 Опубликовано 25 мая, 2018 (изменено) · Жалоба А существует ли код Рида-Соломона с такими параметрами? Если не вру, то должен быть код (8,4), укороченный из (15,11) с 4-хбитными символами и исправлением одной символьной ошибки. Можно сделать укороченный БЧХ (32,16) с исправлением двух битовых ошибок. Лучше будет, или хуже зависит от характера ошибок. Изменено 25 мая, 2018 пользователем KalashKS Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
soldat_shveyk 3 25 мая, 2018 Опубликовано 25 мая, 2018 · Жалоба KalashKS, спасибо, буду пробовать. и исправлением одной символьной ошибки А не двух символов? Вроде бы код Рида-Соломона может исправить количество ошибок равное половине избыточности? Если у меня избыточность 4 символа по 4 бита, значит должен исправить до 8-и битовых ошибок. Или же я ошибаюсь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KalashKS 0 25 мая, 2018 Опубликовано 25 мая, 2018 · Жалоба KalashKS, спасибо, буду пробовать. А не двух символов? Вроде бы код Рида-Соломона может исправить количество ошибок равное половине избыточности? Если у меня избыточность 4 символа по 4 бита, значит должен исправить до 8-и битовых ошибок. Или же я ошибаюсь? Все-таки наврал, вы правы. Исправляет 2 ошибки. Пойду вспоминать, как они работают. А по реализации на таких длинах, возможно, готовые блоки будут неоптимальны. Если тактовые частоты позволяют, табличное декодирование может быть лучшим вариантом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 77 25 мая, 2018 Опубликовано 25 мая, 2018 · Жалоба а может просто Хэмминг 7,4 по нибблам? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
soldat_shveyk 3 25 мая, 2018 Опубликовано 25 мая, 2018 · Жалоба а может просто Хэмминг 7,4 по нибблам? Да, наверное, Рида-Соломона не подходит для такого короткого пакета. Посему, переформулирую вопрос: какой код лучше использовать для кодирования 16-и бит информации с увеличением длины до 32-х бит? Среда - радио, с помехами и замираниями. Код Голея бы прекрасно подошел, но он 12-бит - ни то ни се, и не 8 и не 16. Сразу в умные книги просьба не отправлять, уже скачал, читаю :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Grizzly 0 25 мая, 2018 Опубликовано 25 мая, 2018 · Жалоба Может быть, такая конструкция https://ieeexplore.ieee.org/document/260165/ ? Каково время когерентности канала? Сколько битов укладывается? Если оно велико, то можно БЧХ и перемежитель. Но здесь требования по задержке нужно учитывать. Возможно, следует посмотреть в сторону полярных кодов: http://elkhamy.byethost13.com/pubs/GC15_HARQ_RC_Polar_CW.pdf Правда, для них декодирование требует бОльших затрат. Конечно, для малых длин они тоже не очень, но в 5G как раз для коротких пакетов в канале служебной информации были выбраны они. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KalashKS 0 25 мая, 2018 Опубликовано 25 мая, 2018 (изменено) · Жалоба Из любопытсва глянул в матлабе. Для ФМ2 и АГБШ полубайтовый RS (8,4) выигрывает у 4-х Хэммингов примерно 0,5 дБ по PER 1e-4. А дальше, как написали выше, нужна конкретика про ваш канал и то, какие там ошибки. Изменено 25 мая, 2018 пользователем KalashKS Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FatRobot 3 25 мая, 2018 Опубликовано 25 мая, 2018 · Жалоба Для таких коротких пакетов строить канал по принципу "демодулятор с жестким решением + декодер" наверное не стоит. Из вариантов я бы рассмотрел сигнально-кодовые конструкции, например, на основе преобразования Адамара (Complementary code keying) Дальше в списке коды, позволящие осуществлять декодирование "мягких" решений: TC, BPTC, LDPC, Сверточный Если демодулятор - данность, то, да, ваш выбор - это RS или BCH с индикацией "затираний" на входе. Дробить пакет на более короткие смысла не имеет. Если у вас канал с замираниями, то лучше сразу ориентироваться на разнесение - пространственное, временное и/или частотное. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
soldat_shveyk 3 26 мая, 2018 Опубликовано 26 мая, 2018 · Жалоба Спасибо за ответы!!! Если у вас канал с замираниями Да, канал с замираниями - ионосферный КВ. Частотное и пространственное разнесение планируем использовать, но пока юзаем железку без разнесения. Если демодулятор - данность, Не, демодулятор тоже свой, пока начали с QPSK, а дальше видно будет. Я уже осознал, что дробить короткий пакет на еще более мелкие смысла нет. Буду искать код 32-16. Сначала попробуем на жестких решениях, посмотрим, насколько плохо получается, а затем попробуем сделать мягкое декодирование. сигнально-кодовые конструкции, например, на основе преобразования Адамара (Complementary code keying) Это не функции Уолша? Можно в двух словах смысл использования Адамар в качестве кода? Не понимаю просто этого. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
stealth-coder 2 26 мая, 2018 Опубликовано 26 мая, 2018 · Жалоба Можно в двух словах смысл использования Адамар в качестве кода? Можно построить код Рида-Маллера с декодером на основе быстрого преобразования Уолша-Адамара, такой декодер, будучи блочным, может работать на честных мягких решениях без алгоритмов вроде Чейза. Пример: код Рида-Маллера (32, 10), используемый для кодирования бит TFCI в 3G (UMTS). Информации в интернете полно, например погуглите патент US20140169273A1. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
soldat_shveyk 3 26 мая, 2018 Опубликовано 26 мая, 2018 · Жалоба Спасибо, Stelth-Coder! А бывает код Рида-Малера размером (32, 16)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FatRobot 3 26 мая, 2018 Опубликовано 26 мая, 2018 · Жалоба На здоровье. https://en.m.wikipedia.org/wiki/Complementary_code_keying. В .11b исползуются последовательности 8 bits -> 8 chips qpsk. Вам нужно расширить этот вид модуляции до 16bits -> 16 chips qpsk и построить для него демодулятор-декодер макс. правдоподобия на основе преобразования Уолша-Адамара. В двух словах: вам нужно построить ансамбль из 2^16 последовательностей с максимальным значением евклидовой метрики между соседними. Спасибо за ответы!!! Это не функции Уолша? Можно в двух словах смысл использования Адамар в качестве кода? Не понимаю просто этого. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться