Jump to content

    

Вопросы по итеративному декодированию

2 часа назад, des00 сказал:

Как правильно сравнивать вот такие коды? Можно конечно просто уйди в домен SNR

Интересный вопрос. Если смотреть на таблицы в стандарте, касающиеся минимальной требуемой энергетики для различных MCS, то там будет SNR.

Надо подумать)

Share this post


Link to post
Share on other sites

des00

Про 5G ничего не знаю, не понял в чём вопрос.

вычисляем полную энергию на всю посылку

Ну вот N бит передаются символом(не важно как там что кодируется и отбрасывается), вычисляем энергию символа, делим на количество бит N, находим Eb, хотим посчитать BER при EbNo = 5дб, вычисляем No, прибавляем к сигналу шум с No, считаем BER.

Share this post


Link to post
Share on other sites
19 minutes ago, petrov said:

Про 5G ничего не знаю, не понял в чём вопрос.

Попробую расписать вот на таком примере. Положим у нас есть код 1/2 и 100 бит систематических данных, модуляция BPSK.

1. Обычная система связи.

100 бит -> кодер -> 200 бит -> 200 символов -> AWGN -> 200 метрик -> декодер -> 100 бит

2. 5G

100 бит -> кодер -> 200 бит -> выкалыватель 20% систематических данных -> 180 символов -> AWGN -> 180 метрик -> декодер -> 100 бит.

Т.е. в обычной системе, в кодере и в канале скорость кодирования 1/2 и для передачи информации о 100 битах использовалось 100 символов данных + 100 проверочных символов.

А в 5G, в кодере 1/2, в канале 0,44 (80/180) и для передачи информации о 100 символах использовалось 80 символов данных + 100 проверочных символов. Но количество переданной информации(100 бит), в обоих системах одинаковое.

возникает вопрос, эти 20% как должны учитываються в энергии бита? Если в лоб, как в моем вопросе и как вы пишете, то при одинаковых EbNo, SNR на выколотом 5G коде будет хуже. Т.е. код мы сами "ухудшили" (выкололи), еще и гоняем тесты с большей дисперсией). Вот моя логика здравого смысла говорит что, что-то, тут не так)

Share this post


Link to post
Share on other sites

des00

Вот моя логика здравого смысла говорит что, что-то, тут не так)

Возможно кодирование для ещё каких-то целей используется. Для подсчёта BER не важно как там код устроен, вот отображаются 100 бит в символ с какой-то энергией, этого достаточно.

Share this post


Link to post
Share on other sites
On 2/3/2020 at 8:36 PM, petrov said:

 

Возможно кодирование для ещё каких-то целей используется. Для подсчёта BER не важно как там код устроен, вот отображаются 100 бит в символ с какой-то энергией, этого достаточно.

Не, там все четко. Те кто разрабатывал стандарт учли многое, в том числе постановку задачи: зачем делать высокие скорости кодирования (которые на QC-LDPC приводят к большой длине проверочных матриц по горизонтали), если можно просто выколоть систематические биты, на матрице нормальной длины. Ну а дальше там все решает rate matching на циклическом буфере. Где можно дослать выколотых бит) Ну и 5G решает вопрос взять побольше (высокие скорости), плюнуть на 5-10км. Хотя сами матрицы, в самом стандарте описаны как noise floor absence.

Ну и вопрос не как мерить BER, а как сравнивать кривые кодирования. В целом, результаты моих прогонов кодека в матлабе, показывают что надо идти по классическому варианту. А именно, считать что выкалываются проверочные биты(а не систематические), считать "скорость кодирования" ну и при заданном EbNo определять требуемую дисперсию генератора. 

ЗЫ. А сам LDPC в стандарте ИМХО хорош для применения, Жаль только что сделали "кривые" размеры базовых подматриц 3х3, 5х5, 7х7, 9х9, 11х11, 15х15, не кратные 2^N, со списком проверочных матриц и модульными операциями приведения базовых матриц к рабочим. Вот их обрабатывать довольно сложно, на универсальном ПЛИС движке(

Share this post


Link to post
Share on other sites
40 minutes ago, des00 said:

если можно просто выколоть систематические биты, на матрице нормальной длинны

А зачем выкалывать систематическую часть, ведь "классический" вариант - это выкалывать проверку?

Ведь весь смысл систематического кодирования теряется.

 

По поводу интерпритации.

А если бы выкалывались проверочные биты, то как бы вы тогда канальную скорость искали?

Ведь на приемники из этого блока будет извлечены те же самые 100 бит информации.

 Я бы скорость определил как K/N.

Где K - число информационных бит до кодирования, N - число бит в канале.

Share this post


Link to post
Share on other sites
23 минуты назад, Tpeck сказал:

А зачем выкалывать систематическую часть, ведь "классический" вариант - это выкалывать проверку?

Для удобства реализации циклического буфера и схем ретрансмитов, при этом работая с различными скоростями кода, даже очень высокими. А в "старом" стандарте, который 4G, еще и уменьшить деградацию турбокода. Я приводил выше ссылки, где сказано, что в случае турбокода выкалывание большого числа проверочных битов сильнее ухадшает его свойство, чем выкалывание информационных.

Share this post


Link to post
Share on other sites
11 minutes ago, Grizzly said:

Я приводил выше ссылки, где сказано, что в случае турбокода выкалывание большого числа проверочных битов сильнее ухадшает его свойство, чем выкалывание информационных.

Да, специально сделал сравнение 5G "одинаковых" кодов, например 22/26 классический и 22/28 выколотый по систематическим битам до 22/26, так вот, второй обходит первый, по моей базовой модели с неквантованной метрикой на ~0.3-0.5 дб.   

PS. Как будет время, турбокоды из 13ой рекомендации тоже добью и проверю этот эффект, уж больно там перемежитель хороший, всегда хотел сделать турбокодек на 200 мегабит) 

Share this post


Link to post
Share on other sites
24 минуты назад, des00 сказал:

Да, специально сделал сравнение 5G "одинаковых"

Значит, и для LDPC тоже. Не видел нигде явного упоминание про них. Запишем :mail1:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now