Jump to content

    
Sign in to follow this  
soldat_shveyk

Мягкое декодирование кода Голея (24, 12, 8)

Recommended Posts

Доброго дня!

Есть радиоканал с QPSK модуляцией, в котором использую расширенный код Голея длиной (24, 12, 8). Сейчас принимаю жесткое решение и декодирую Голея через перебор всех 4096 комбинаций с выбором по минимуму ошибок. Работает, исправляет до 4-х ошибок. Есть время и желание еще улучшить прием за счет мягкого декодирования. Что это может дать в конкретных цифрах, будет ли стоить игра свеч? И возможно ли в принципе мягкое декодирование для кода Голея?

Share this post


Link to post
Share on other sites
И возможно ли в принципе мягкое декодирование для кода Голея?
Возможно.

 

Что это может дать в конкретных цифрах, будет ли стоить игра свеч?
Правильнее будет в матлабе набросать на стандартных функциях скрипт и посчитать выигрыш.

 

Погуглите по словам: extended Golay code soft decoding

 

https://ieeexplore.ieee.org/document/5450028/

https://pdfs.semanticscholar.org/a562/14de7...0425fd42d50.pdf

и т.п.

Share this post


Link to post
Share on other sites
Правильнее будет в матлабе набросать на стандартных функциях скрипт и посчитать выигрыш.

Вот именно это и хотелось бы сделать, чтобы сравнить с тем, что сейчас работает. Но для этого надо написать модель мягкого декодера. Написать не проблема, но алгоритм мне пока что не известен.

За ссылки спасибо, попробую скачать.

 

А может существуют хотя бы приблизительные оценки прироста SNR для мягкого декодирования блочного кода? Что-то типа для блочного кода 1/2 длиной 24 бита мягкое декодирование обеспечит выигрыш 2 дБ (ли 3, или 0.2). Было бы интересно.

Share this post


Link to post
Share on other sites

Для кода Голея (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

 

Сравнивайте с вашим жестким декодером

Share this post


Link to post
Share on other sites

Serg76, спасибо огромное!!!

Сейчас сравню со своим декодером при SNR 6дБ.

 

А как Вы это посчитали? Ткните в источник, если не трудно.

Share this post


Link to post
Share on other sites

Спасибо, скачал, изучаю.

Промоделировал свой декодер в мталабе, получил следующие цифры:

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 дает неплохой профит. Попробую разобраться с реализацией.

Share this post


Link to post
Share on other sites
По сравнению с этим, алгоритм Чейза 1 и 2 дает неплохой профит. Попробую разобраться с реализацией.

 

Если в вычислительной дури не сильно ограничены, то можно декодер максимального правдоподобия реализовать - потребуется вычисление 4096 сверток длиной 24 и выбор максимума.

Писать там мало, а работать будет чуть лучше самого хорошего Чейза.

 

Share this post


Link to post
Share on other sites
можно декодер максимального правдоподобия реализовать - потребуется вычисление 4096 сверток длиной 24 и выбор максимума

У меня QPSK, и один код длиной 24 имеет укладывается 12 символов - комплексных отсчетов.

Я попробовал сделать 4096 dot product с выбором максимума на модели в матлабе - получил такой же результат, как и в моем декодере с жестким решением.

Это максимальное правдоподобие или нет?

Я брал принятые 12 символов QPSK и делал скалярное произведение с каждым из 4096 кодом, который тоже был модулирован QPSK. B процессе умножения выбирал код с максимальным результатом dot.

 

Share this post


Link to post
Share on other sites
У меня QPSK, и один код длиной 24 имеет укладывается 12 символов - комплексных отсчетов.

Я попробовал сделать 4096 dot product с выбором максимума на модели в матлабе - получил такой же результат, как и в моем декодере с жестким решением.

Это максимальное правдоподобие или нет?

Я брал принятые 12 символов QPSK и делал скалярное произведение с каждым из 4096 кодом, который тоже был модулирован QPSK. B процессе умножения выбирал код с максимальным результатом dot.

 

Это максимальное правдоподобие для binary symmetric channel ;). А Вам на входе декодера "мягкий" демодулятор нужен, оценивающий LLR принятых бит. Но тут с Чейзом никакой разницы нет.

У него на входе тоже мягкие решения должны быть.

 

Share this post


Link to post
Share on other sites
Вам на входе декодера "мягкий" демодулятор нужен

Мягкий демодулятор у меня есть. После установления синхронизации, я получаю по 12 комплексных отсчетов - символов, в которых лежит 24-битный код Голея. Сейчас я каждый символ жестко интерпретирую в два бита [00], [01]... [11] и получаю 24 бита, которые идут на декодер. Чтобы перейти на мягкое решение, я должен каждый комплексный отсчет символа интерпретировать на некое малоразрядное число, и подавать эти числа на алгоритм Чейза?

 

 

Это максимальное правдоподобие для binary symmetric channel

Понятно. Это только для BPSK будет работать. А как тогда для QPSK реализовать максимальное правдоподобие?

Share this post


Link to post
Share on other sites
Мягкий демодулятор у меня есть. После установления синхронизации, я получаю по 12 комплексных отсчетов - символов, в которых лежит 24-битный код Голея. Сейчас я каждый символ жестко интерпретирую в два бита [00], [01]... [11] и получаю 24 бита, которые идут на декодер. Чтобы перейти на мягкое решение, я должен каждый комплексный отсчет символа интерпретировать на некое малоразрядное число, и подавать эти числа на алгоритм Чейза?

 

Каждый комплексный отсчет - 2 мягких бита (re и im), по сути LLR. Их и подаем на чейза. Или на мп-декодер.

 

Share this post


Link to post
Share on other sites
Или на мп-декодер.

Если я правильно понял, то таким образом можно 12 комплексных отсчетов преобразовать в 24 вещественных для реализации максимального правдоподобия?

 

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