soldat_shveyk 3 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба Доброго дня! Есть радиоканал с QPSK модуляцией, в котором использую расширенный код Голея длиной (24, 12, 8). Сейчас принимаю жесткое решение и декодирую Голея через перебор всех 4096 комбинаций с выбором по минимуму ошибок. Работает, исправляет до 4-х ошибок. Есть время и желание еще улучшить прием за счет мягкого декодирования. Что это может дать в конкретных цифрах, будет ли стоить игра свеч? И возможно ли в принципе мягкое декодирование для кода Голея? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x736C 0 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба И возможно ли в принципе мягкое декодирование для кода Голея?Возможно. Что это может дать в конкретных цифрах, будет ли стоить игра свеч?Правильнее будет в матлабе набросать на стандартных функциях скрипт и посчитать выигрыш. Погуглите по словам: extended Golay code soft decoding https://ieeexplore.ieee.org/document/5450028/ https://pdfs.semanticscholar.org/a562/14de7...0425fd42d50.pdf и т.п. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
soldat_shveyk 3 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба Правильнее будет в матлабе набросать на стандартных функциях скрипт и посчитать выигрыш. Вот именно это и хотелось бы сделать, чтобы сравнить с тем, что сейчас работает. Но для этого надо написать модель мягкого декодера. Написать не проблема, но алгоритм мне пока что не известен. За ссылки спасибо, попробую скачать. А может существуют хотя бы приблизительные оценки прироста SNR для мягкого декодирования блочного кода? Что-то типа для блочного кода 1/2 длиной 24 бита мягкое декодирование обеспечит выигрыш 2 дБ (ли 3, или 0.2). Было бы интересно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serg76 0 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба Для кода Голея (24,12) алгоритм Чейза дает следующие характеристики Алгоритмы 1 и 2: Pb Eb/No, dB 1e-3 3,7 1e-4 4,7 1e-5 5,4 Алгоритм 3: Pb Eb/No, dB 1e-3 4,3 1e-4 5,3 1e-5 6,0 Сравнивайте с вашим жестким декодером Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
soldat_shveyk 3 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба Serg76, спасибо огромное!!! Сейчас сравню со своим декодером при SNR 6дБ. А как Вы это посчитали? Ткните в источник, если не трудно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serg76 0 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба Кларк. Кодирование с исправлением ошибок в системах цифровой связи. стр.161, рис.4.8 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
soldat_shveyk 3 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба Спасибо, скачал, изучаю. Промоделировал свой декодер в мталабе, получил следующие цифры: SNR 6 dB, BER = 2.5e-4 SNR 5 dB, BER = 1.7e-3 SNR 4 dB, BER = 1.1e-2 SNR 3 dB, BER = 2.4e-2 SNR 2 dB, BER = 5.7e-2 SNR 1 dB, BER = 1.1e-1 SNR 0 dB, BER = 1.4e-1 По сравнению с этим, алгоритм Чейза 1 и 2 дает неплохой профит. Попробую разобраться с реализацией. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serg76 0 5 сентября, 2018 Опубликовано 5 сентября, 2018 (изменено) · Жалоба Да, выигрыш больше, чем на порядок по BER и около 1,5 дБ по С/Ш. Да и реализация декодера сама по себе несложная Изменено 5 сентября, 2018 пользователем Serg76 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andyp 9 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба По сравнению с этим, алгоритм Чейза 1 и 2 дает неплохой профит. Попробую разобраться с реализацией. Если в вычислительной дури не сильно ограничены, то можно декодер максимального правдоподобия реализовать - потребуется вычисление 4096 сверток длиной 24 и выбор максимума. Писать там мало, а работать будет чуть лучше самого хорошего Чейза. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
soldat_shveyk 3 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба можно декодер максимального правдоподобия реализовать - потребуется вычисление 4096 сверток длиной 24 и выбор максимума У меня QPSK, и один код длиной 24 имеет укладывается 12 символов - комплексных отсчетов. Я попробовал сделать 4096 dot product с выбором максимума на модели в матлабе - получил такой же результат, как и в моем декодере с жестким решением. Это максимальное правдоподобие или нет? Я брал принятые 12 символов QPSK и делал скалярное произведение с каждым из 4096 кодом, который тоже был модулирован QPSK. B процессе умножения выбирал код с максимальным результатом dot. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serg76 0 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба а работать будет чуть лучше самого хорошего Чейза. Да, разница будет порядка одной десятой дБ :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andyp 9 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба У меня QPSK, и один код длиной 24 имеет укладывается 12 символов - комплексных отсчетов. Я попробовал сделать 4096 dot product с выбором максимума на модели в матлабе - получил такой же результат, как и в моем декодере с жестким решением. Это максимальное правдоподобие или нет? Я брал принятые 12 символов QPSK и делал скалярное произведение с каждым из 4096 кодом, который тоже был модулирован QPSK. B процессе умножения выбирал код с максимальным результатом dot. Это максимальное правдоподобие для binary symmetric channel ;). А Вам на входе декодера "мягкий" демодулятор нужен, оценивающий LLR принятых бит. Но тут с Чейзом никакой разницы нет. У него на входе тоже мягкие решения должны быть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
soldat_shveyk 3 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба Вам на входе декодера "мягкий" демодулятор нужен Мягкий демодулятор у меня есть. После установления синхронизации, я получаю по 12 комплексных отсчетов - символов, в которых лежит 24-битный код Голея. Сейчас я каждый символ жестко интерпретирую в два бита [00], [01]... [11] и получаю 24 бита, которые идут на декодер. Чтобы перейти на мягкое решение, я должен каждый комплексный отсчет символа интерпретировать на некое малоразрядное число, и подавать эти числа на алгоритм Чейза? Это максимальное правдоподобие для binary symmetric channel Понятно. Это только для BPSK будет работать. А как тогда для QPSK реализовать максимальное правдоподобие? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
thermit 1 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба Мягкий демодулятор у меня есть. После установления синхронизации, я получаю по 12 комплексных отсчетов - символов, в которых лежит 24-битный код Голея. Сейчас я каждый символ жестко интерпретирую в два бита [00], [01]... [11] и получаю 24 бита, которые идут на декодер. Чтобы перейти на мягкое решение, я должен каждый комплексный отсчет символа интерпретировать на некое малоразрядное число, и подавать эти числа на алгоритм Чейза? Каждый комплексный отсчет - 2 мягких бита (re и im), по сути LLR. Их и подаем на чейза. Или на мп-декодер. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
soldat_shveyk 3 5 сентября, 2018 Опубликовано 5 сентября, 2018 · Жалоба Или на мп-декодер. Если я правильно понял, то таким образом можно 12 комплексных отсчетов преобразовать в 24 вещественных для реализации максимального правдоподобия? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться