RU178755U1 - Устройство декодирования ldpc-кодов - Google Patents
Устройство декодирования ldpc-кодов Download PDFInfo
- Publication number
- RU178755U1 RU178755U1 RU2017123632U RU2017123632U RU178755U1 RU 178755 U1 RU178755 U1 RU 178755U1 RU 2017123632 U RU2017123632 U RU 2017123632U RU 2017123632 U RU2017123632 U RU 2017123632U RU 178755 U1 RU178755 U1 RU 178755U1
- Authority
- RU
- Russia
- Prior art keywords
- algorithm
- signal
- block
- decoding
- minimum
- Prior art date
Links
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 147
- 238000004364 calculation method Methods 0.000 claims abstract description 54
- 230000007480 spreading Effects 0.000 abstract description 2
- 238000012360 testing method Methods 0.000 description 20
- 238000012545 processing Methods 0.000 description 7
- 208000011580 syndromic disease Diseases 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000012795 verification Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1154—Low-density parity-check convolutional codes [LDPC-CC]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computational Mathematics (AREA)
- Quality & Reliability (AREA)
- Algebra (AREA)
- Error Detection And Correction (AREA)
Abstract
Полезная модель относится к системам телекоммуникаций и эфирным видеоинформационным системам вещания и может найти применение в декодерах устройств приема дискретной информации.Технический результат полезной модели заключается в снижении средней вычислительной сложности декодирования с сохранением качества декодирования принятого сигнала и уменьшении потребления электроэнергии пропорционально увеличению эффективности декодирования.Устройство декодирования LDPC-кодов включает блок 1 определения отношения сигнал-шум, соединенный выходом с коммутатором 2, первый, второй, третий, четвертый и пятый выходы которого соединены соответственно с входами блока 3 вычисления алгоритма «распространения доверия», блока 4 вычисления алгоритма «минимум-сумма», блока 5 вычисления алгоритма «апостериорных вероятностей», блока 6 вычисления алгоритма «аппроксимация минимум-сумма» и блока 7 вычисления алгоритма с инверсией бита, выходы которых соединены соответственно с первым, вторым, третьим, четвертым и пятым входами блока 8 объединения результатов декодирования сигналов по разным алгоритмам. Алгоритм «распространения доверия» (АРД) применяют при значениях отношения сигнал-шум меньше 1,25 дБ, алгоритм «аппроксимация минимум-сумма» - при значениях сигнал-шум в диапазоне [1,25, 1,8) дБ, алгоритм «минимум-сумма» - при значениях сигнал-шум в диапазоне [1,8, 4,95) дБ, алгоритм «апостериорных вероятностей» - при значениях отношения сигнал-шум в диапазоне [4,95, 11,5] дБ, алгоритм с инверсией бита - при значениях отношения сигнал-шум больше 11,5 дБ. Предлагаемое устройство позволяет снизить затраты на декодирование в 1,2-1,6 раза в зависимости от применяемого кода.
Description
Полезная модель относится к системам телекоммуникаций и эфирным видеоинформационным системам вещания и может найти применение в декодерах устройств приема дискретной информации.
Известно устройство декодирования LDPC-кодов, включающее блок декодирования на основе алгоритма "распространения доверия" (АРД) и блок декодирования на основе алгоритма "минимум-сумма" (АМС), выполненные с возможностью последовательного декодирования каждого кодового слова сигнала (патент US 8006161, МПК Н03М 13/00, публ. 23.08.2011 г.).
В известном устройстве сначала производится обработка алгоритмом "распространения доверия", затем алгоритмом "минимум-сумма". Переключение между алгоритмами в зависимости от ОСШ не предусмотрено. Недостаток известного устройства декодирования заключается в недостаточной вычислительной эффективности при изменении ОСШ.
Известно устройство декодирования LDPC-кодов, включающее блок вычисления логарифмического отношения правдоподобия через вычисление отношения сигнал-шум (ОСШ), соединенный выходом с блоком переключателя (коммутатором) для переключения обработчиков проверочных узлов или информационных узлов в декодере, блок вычисления алгоритма «распространения доверия» или блок вычисления алгоритма «минимум-сумма», обобщенный блок обработки узлов, объединяющий блок обновления информационных узлов и блок обновления проверочных узлов (патент US 7484158, МПК G06F 11/00; Н03М 13/00, публ. 15.09.2005 г.).
В известном устройстве переключение между указанными алгоритмами декодирования не предусмотрено. Недостаток данного устройства декодирования заключается в недостаточной вычислительной эффективности при изменении ОСШ.
Наиболее близким к предлагаемому устройству является устройство декодирования LDPC-кодов, включающее блок определения отношения сигнал-шум, соединенный выходом с коммутатором, блок вычисления алгоритма «распространения доверия», блок вычисления алгоритма «минимум-сумма», блок вычисления алгоритма «апостериорных вероятностей» и блок объединения результатов декодирования сигналов по разным алгоритмам, первый, второй и третий выходы коммутатора соединены соответственно со входами блока вычисления алгоритма «распространения доверия», блока вычисления алгоритма «минимум-сумма» и блока вычисления алгоритма «апостериорных вероятностей», выходы которых соединены соответственно с первым, вторым и третьим входами блока объединения результатов декодирования сигналов по разным алгоритмам, выход которого является выходом устройства, входом которого является вход блока определения отношения сигнал-шум, выполненного с возможностью задания диапазона значений отношения сигнал-шум соответственно для каждого блока вычисления алгоритма декодирования, причем алгоритм «распространения доверия» применяют при значениях отношения сигнал-шум меньше 1,8 дБ, алгоритм «минимум-сумма» - при значениях сигнал-шум в диапазоне от 1,8 до 4,95 дБ, алгоритм «апостериорных вероятностей» - при значениях отношения сигнал-шум больше 4,95 дБ (патент на полезную модель РФ №168191, МПК Н03М 13/11, опубл. 23.01.2017 г. - прототип).
В известном устройстве предусмотрено переключение только между тремя алгоритмами декодирования. Недостаток данного устройства декодирования заключается в недостаточной вычислительной эффективности при изменении ОСШ.
Технический результат предлагаемого устройства заключается в снижении средней вычислительной сложности декодирования с сохранением качества декодирования принятого сигнала и уменьшении потребления электроэнергии пропорционально увеличению эффективности декодирования.
Технический результат достигается тем, что в устройство декодирования LDPC-кодов, включающее блок определения отношения сигнал-шум, соединенный выходом с коммутатором, блок вычисления алгоритма «распространения доверия», блок вычисления алгоритма «минимум-сумма», блок вычисления алгоритма «апостериорных вероятностей» и блок объединения результатов декодирования сигналов по разным алгоритмам, первый, второй и третий выходы коммутатора соединены соответственно со входами блока вычисления алгоритма «распространения доверия», блока вычисления алгоритма «минимум-сумма» и блока вычисления алгоритма «апостериорных вероятностей», выходы которых соединены соответственно с первым, вторым и третьим входами блока объединения результатов декодирования сигналов по разным алгоритмам, выход которого является выходом устройства, входом которого является вход блока определения отношения сигнал-шум, введены блок вычисления алгоритма «аппроксимация минимум-сумма» и блок вычисления алгоритма с инверсией бита, причем четвертый и пятый выходы коммутатора соединены соответственно со входами блока вычисления алгоритма «аппроксимация минимум-сумма» и блока вычисления алгоритма с инверсией бита, выходы которых соединены соответственно с четвертым и пятым входами блока объединения результатов декодирования сигналов по разным алгоритмам.
Предпочтительно блок определения отношения сигнал-шум выполнить с возможностью задания диапазона значений отношения сигнал-шум соответственно для каждого блока вычисления алгоритма декодирования.
Целесообразно алгоритм «распространения доверия» применить при значениях отношения сигнал-шум меньше 1,25 дБ, алгоритм «аппроксимация минимум-сумма» - при значениях сигнал-шум в диапазоне [1,25, 1,8) дБ, алгоритм «минимум-сумма» - при значениях сигнал-шум в диапазоне [1,8, 4,95) дБ, алгоритм «апостериорных вероятностей» - при значениях отношения сигнал-шум в диапазоне [4,95, 11,5] дБ, алгоритм с инверсией бита - при значениях отношения сигнал-шум больше 11,5 дБ.
Сущность полезной модели заключается в том, что для принятого кодового слова сигнала определяется значение отношения сигнал-шум, затем происходит переключение на оптимальный для данного значения отношения сигнал-шум алгоритм декодирования, после декодирования кодового слова происходит запись декодированного сигнала в общий массив декодированного сигнала.
При проведении патентных исследований не обнаружены решения, идентичные заявленному, следовательно, заявленная полезная модель соответствует критерию «новизна».
На фиг. 1 изображена блок-схема предлагаемого устройства декодирования LDPC-кодов.
На фиг. 1 приняты следующие обозначения:
1 - блок определения отношения сигнал-шум;
2 - коммутатор;
3 - блок вычисления алгоритма «распространения доверия»;
4 - блок вычисления алгоритма «минимум-сумма»;
5 - блок вычисления алгоритма «апостериорных вероятностей»;
6 - блок вычисления алгоритма «аппроксимация минимум-сумма»;
7 - блок вычисления алгоритма с инверсией бита;
8 - блок объединения результатов декодирования сигналов по разным алгоритмам.
Устройство декодирования LDPC-кодов включает блок 1 определения отношения сигнал-шум, соединенный выходом с коммутатором 2, блок 3 вычисления алгоритма «распространения доверия», блок 4 вычисления алгоритма «минимум-сумма», блок 5 вычисления алгоритма «апостериорных вероятностей», блок 6 вычисления алгоритма «аппроксимация минимум-сумма», блок 7 вычисления алгоритма с инверсией бита и блок 8 объединения результатов декодирования сигналов по разным алгоритмам, причем первый, второй, третий, четвертый и пятый выходы коммутатора 2 соединены соответственно со входами блока 3 вычисления алгоритма «распространения доверия», блока 4 вычисления алгоритма «минимум-сумма», блока 5 вычисления алгоритма «апостериорных вероятностей», блока 6 вычисления алгоритма «аппроксимация минимум-сумма», блока 7 вычисления алгоритма с инверсией бита, выходы которых соединены соответственно с первым, вторым, третьим, четвертым и пятым входами блока 8 объединения результатов декодирования сигналов по разным алгоритмам, выход которого является выходом устройства, входом которого является вход блока 1 определения отношения сигнал-шум. Предпочтительно блок 1 определения отношения сигнал-шум выполнить с возможностью задания диапазона значений отношения сигнал-шум соответственно для каждого блока вычисления алгоритма декодирования. Блок 1 определения отношения сигнал-шум может быть реализован на основе различных алгоритмов определения отношения сигнал-шум на миникомпьютере Hardkernel Odroid XU4 с процессором ARM, 8 ядер. Язык реализации C/C++.
Устройство работает следующим образом. Для принятого кодового слова сигнала в блоке 1 определения отношения сигнал-шум принимается информация о значении отношения сигнал-шум (ОСШ). Далее в зависимости от полученного для принятого кодового слова значения ОСШ происходит переключение на оптимальный для данного значения отношения сигнал-шум алгоритм декодирования. Если значение ОСШ меньше 1,25 дБ, то обработка принятого кодового слова сигнала для декодирования LDPC-кода осуществляется блоком 3 вычисления алгоритма «распространения доверия». В случае, если значение ОСШ находится в диапазоне [1,25, 1,8) дБ, то обработка принятого кодового слова сигнала для декодирования LDPC-кода осуществляется блоком 6 вычисления алгоритма «аппроксимация минимум-сумма». Если значение ОСШ находится в диапазоне [1,8, 4,95) дБ, то обработка принятого кодового слова сигнала для декодирования LDPC-кода осуществляется блоком 4 вычисления алгоритма «минимум-сумма». В случае, если значение ОСШ находится в диапазоне [4,95, 11,5] дБ, то обработка принятого кодового слова сигнала для декодирования LDPC-кода осуществляется блоком 5 вычисления алгоритма «апостериорных вероятностей». Если значение ОСШ больше 11,5 дБ, то обработка принятого кодового слова сигнала для декодирования LDPC-кода осуществляется блоком 7 вычисления алгоритма с инверсией бита. После декодирования блок 8 объединения декодированного сигнала принимает информацию с задействованного блока декодирования сигнала и добавляет ее в общий массив декодированного сигнала. Таким образом, в устройстве применены пять алгоритмов декодирования LDPC-кодов.
Первым алгоритмом, используемым в предлагаемом устройстве декодирования LDPC-кода, является алгоритм "распространения доверия" (АРД) также известный под более общим названием - алгоритм "сумма-произведение" (АСП). В его основе лежит критерий максимума апостериорной вероятности, задачей которого является вычисление апостериорной вероятности того, что конкретный бит xi в переданном кодовом слове x=[x0, x1, …xN-1] равен единице, при принятом кодовом слове y=[y0, y1, …yN-1].
тогда отношение правдоподобия (ОП, likelihood ratio, LR) для этого бита равно:
или же в форме логарифмического отношения правдоподобия - ЛОП (log likelihood ratio):
Декодер инициализируется установкой всех исходящих из узла VNi сообщений Li→j равными канальным ЛОП:
для всех i и j, для которых hij=1. Здесь yi обозначает принятое из канала значение для символа i.
Условие прекращения декодирования - равенство нулю синдрома:
Таким образом, алгоритм АРД можно представить в виде следующих шагов:
1. Инициализация. В зависимости от используемой модели канала связи для всех узлов i инициализируют значения Li по следующей формуле:
Затем для всех i и j, для которых hij=1, устанавливают Li→j=Li.
2. Обновление проверочных узлов. Для всех проверочных узлов CN вычисляют исходящие сообщения Lj→i:
и передают их соответствующим информационным узлам VN.
3. Обновление битовых узлов. Вычисляют сообщения Li→j, исходящие от информационных узлов VN:
и передают их соответствующим проверочным узлам.
4. Вычисление апостериорных ЛОП. Для всех j=0, 1…, N-1 вычисляют:
5. Получение жестких решений. Для всех i=0, 1…, N-1 находят жесткие решения:
6. Проверка условия остановки. Вычисляют синдром . Если или число итераций достигло максимума, вычисления прекращаются, а считается результатом декодирования, в противном случае вычисления продолжаются с шага 2.
Данный алгоритм (АРД) очень хорошо справляется с декодированием сигналов даже при очень низком уровне отношения сигнал-шум (ОСШ). Однако имеет ряд недостатков. Самым существенным недостатком предложенного Галлагером алгоритма является высокая сложность его реализации.
Еще одним алгоритмом, используемым в предлагаемом устройстве декодирования LDPC-кода, является алгоритм "минимум-сумма" (АМС).
Обобщенная форма записи алгоритма минимальной суммы имеет вид:
1. Инициализация. Для всех узлов i инициализируют значения Li по (1) в зависимости от используемой модели канала связи. Затем для всех i и j, для которых hij=1, устанавливают Li→j=Li.
2. Обновление проверочных узлов. Для всех проверочных узлов CN вычисляют исходящие сообщения Lj→i:
и передают их соответствующим информационным узлам VN.
3. Обновление битовых узлов. Вычисляют сообщения Li→j, исходящие от информационных узлов VN:
и передают их соответствующим проверочным узлам.
4. Вычисление апостериорных ЛОП. Для всех j=0, 1…, N-1 вычисляют:
5. Получение жестких решений. Для всех i=0, 1…, N-1 находят жесткие решения:
6. Проверка условия остановки. Вычисляют синдром . Если или число итераций достигло максимума, вычисления прекращаются, а считается результатом декодирования, в противном случае вычисления продолжаются с шага 2.
Достоинством алгоритма АМС является то, что значение исходящего сообщения для каждого информационного узла может быть вычислено нахождением всего двух минимальных значений достоверностей, входящих в проверку (что требует всего 1-log2dr-3 операций [Fossorier М., Mihaljevich М., Imai Н. Reduced complexity iterative decoding of low density parity check codes based on belief propagation, IEEE Transactions on Communications. - 1999, May. - Vol. 47. - №5. - pp. 673-680]), плюс вычисление его знака:
Второе несомненное достоинство заключается в том, что при использовании модели канала с АБГШ инициализация может осуществляться не канальными ЛОП, а принятыми из канала амплитудами соответствующих бит.
К недостаткам алгоритма (АМС) можно отнести низкую производительность при ОСШ меньше 1,5 дБ относительно алгоритма АРД, а также вычислительную неэффективность при ОСШ больше 5 дБ относительно алгоритма вычисления апостериорных вероятностей.
Еще одним алгоритмом, используемым в предлагаемом устройстве декодирования LDPC-кода, является алгоритм "аппроксимация минимум-сумма" (АМС*).
Алгоритм называемый «аппроксимация минимум-сумма» (АМС*, approximate min* - a-min*) [T. Tian, C. Jones, J. Villasenor, R. Wesel. Construction of irregular LDPC codes with low error floors // 2003 IEEE International Conference on Communications. - 2003, May. - pp. 3125-3129], является комбинацией алгоритмов АРД и АМС, модификация касается, алгоритма подсчета сообщений в проверочном узле. В общем виде для АРД эта операция имеет вид:
И под оператором min* понимается поиск минимума, и, получаем, что для подсчета сообщений из проверочного узла требуется найти всего два сообщения - первое для узла, сообщение от которого было минимальным, а второе - будет одинаковым для всех остальных узлов.
Алгоритм АМС* использует ту же идеологию - в каждом проверочном узле рассчитывается всего два сообщения - одно для информационного узла, приславшего сообщение с минимальным весом, второе для всех остальных информационных узлов. Отличие заключается лишь в том, что вместо обычного минимума из двух аргументов используется оператор , в котором помимо операции поиска минимума используется еще и функция корректировки g(L1, L2).
В обобщенном виде этот алгоритм выглядит следующим образом.
1. Инициализация. Для всех узлов i инициализировать значения Li по (8) в зависимости от используемой модели канала связи. Затем для всех i и j, для которых hij=1, устанавливается Li→j=Li.
2. Обновление проверочных узлов. Для всех проверочных узлов CN вычислить по формуле
исходящие сообщения Lj→i:
- для узла с минимальной достоверностью:
- для всех остальных:
и передать их соответствующим информационным узлам VN.
3. Обновление битовых узлов. Вычислить сообщения Li→j, исходящие от информационных узлов VN
и передать их соответствующим проверочным узлам.
4. Вычисление апостериорных ЛОП. Для всех j=0, 1…, N-1 вычислить:
5. Получение жестких решений. Для всех i=0, 1…, N-1 найти жесткие решения:
6. Проверка условия остановки. Вычислить синдром . Если или число итераций достигло максимума - вычисления прекращаются, а считается результатом декодирования, в противном случае вычисления продолжаются с шага 2.
Подобная модификация позволяет снизить вычислительные затраты на вычисление сообщений из проверочного узла для АРД-подобных алгоритмов с 3(dc-1) до (dc-1) операции . По эффективности этот алгоритм занимает промежуточное место между АРД-подобными алгоритмами и алгоритмом АМС.
В алгоритме используется оператор , а значит, при реализации может быть использована любая его интерпретация. Видно, что алгоритм сводится к поиску всего двух отсылаемых сообщений вместо dc. Вычисление этих двух сообщений займет всего dc-1 арифметических операций. Правомерность применения такого упрощения можно пояснить, рассмотрев работу алгоритмов АРД и АМС. Если при декодировании проверочного узла два или более входящих в проверочный узел сообщений недостоверны, то недостоверными будут все сообщения, исходящие из этого узла. Это свойство сохраняется и при введении рассматриваемой модификации. Если всего одно входящее в проверочный узел сообщение не верно, то исходящее сообщение для недостоверного информационного узла будет достоверным для всех трех декодеров. Как видно из описания рассматриваемого упрощения, в обоих рассмотренных случаях сообщение, отправляемое к самому ненадежному информационному узлу, всегда будет в точности таким же, как и для алгоритма АРД.
Еще одним алгоритмом, используемым в предлагаемом устройстве декодирования LDPC-кода, является алгоритм вычисления апостериорных вероятностей (ААВ).
Алгоритм вычисления апостериорных вероятностей (алгоритм АВ, ААВ, aposteriory probability, АРР) получил свое название благодаря шагу обновления битовых узлов - если в других АРД-подобных алгоритмах на этом шаге вычислялось сообщение (сумма ЛОП - за исключением ЛОП исходящего из рассматриваемого узла), то в этом алгоритме сразу осуществляется расчет апостериорных вероятностей, именно они используются для дальнейших расчетов. Алгоритм АВ можно рассматривать как дальнейшее упрощение алгоритма АМС. Этот алгоритм отличается от алгоритма АМС шагом обновления битовых узлов. Здесь вычисляется только одно исходящее сообщение от битового узла i, вместо dc (Li вместо Li→j), как это было во всех алгоритмах, основанных на алгоритме АСП. Выражение для подсчета исходящих из информационного узла сообщений имеет вид:
Обобщенная форма записи алгоритма имеет вид:
1. Инициализация. В зависимости от используемой модели канала связи для всех узлов i инициализируют значения Li по формуле
Затем для всех i и j, для которых hij=1, устанавливают Li→j=Li.
2. Обновление проверочных узлов. Для всех проверочных узлов CN вычисляют исходящие сообщения Lj→i:
и передают их соответствующим информационным узлам VN.
3. Обновление битовых узлов. Вычисляют сообщения Li→j, исходящие от информационных узлов VN:
и передают их соответствующим проверочным узлам.
4. Получение жестких решений. Для всех i=0, 1…, N-1 находят жесткие решения:
5. Проверка условия остановки. Вычисляют синдром . Если или число итераций достигло максимума, вычисления прекращаются, а считается результатом декодирования, в противном случае вычисления продолжаются с шага 2.
Введение упрощения применяемого в данном алгоритме приводит к значительному ухудшению эффективности декодирования, с другой стороны это позволяет существенно снизить вычислительные затраты и затраты памяти на реализацию алгоритма.
Еще одним алгоритмом, используемым в предлагаемом устройстве декодирования LDPC-кода, является алгоритм с инверсией бита (АИБ).
Алгоритм с инверсией бита (алгоритм ИБ, АИБ) был предложен Галлагером в [Gallager R.G. Low-density parity-check codes // Cambridge, MA: M.I.T. Press. - 1963]. В АИБ сначала вычисляются все проверочные уравнения в матрице Н, а затем инвертируются те биты в полученном кодовом слове, которые участвуют более чем в некотором заданном числе t невыполненных проверок. Этот шаг повторяется с измененным принятым кодовым словом, пока все проверки на четность не будут выполнены или пока не будет достигнуто некоторое максимальное число итераций.
На невыполненные проверочные уравнения указывают элементы синдрома s=yHT, а их число для каждого кодового бита можно найти, используя следующее выражение:
f=sH,
причем умножения матриц выполняется над целыми числами, а не над двоичными. Вектор f называют профилем достоверности, а его элементы являются ни чем иным, как достоверностями приема соответствующих бит, причем достоверность тем меньше, чем больше значение . При этом диапазон значений лежит в пределах [0,dc], и очевидно, что чем больше вес проверок для каждого из бит, тем более точно можно определить достоверность их приема.
Порог t - расчетная величина, которая должна быть выбрана таким образом, чтобы максимизировать эффективность декодирования при минимизации вычислительных затрат, и зависит от вероятности перехода в канале, а также dc и dr. В [Gallager R.G. Low-density parity-check codes // Cambridge, MA: M.I.T. Press. - 1963], приводится правило выбора оптимального порога для регулярных LDPC кодов при заданной вероятности перехода в канале. Рассчитывать порог в условиях изменяющихся характеристик канала не всегда оправдано, однако существует удобный, хоть и не оптимальный способ, выбора порога, эффективно адаптирующегося к изменению качества канала. Суть его сводится к тому, что инвертируются те биты, для которых число невыполненных проверок максимально, при этом возможны модификации с инверсией только одного бита или нескольких бит за итерацию. Заметим, что при принятых обозначениях невыполненной проверке соответствует отрицательная достоверность. Следовательно, инвертировать следует биты, имеющие минимальное значение достоверности.
Алгоритм ИБ можно представить в обобщенном виде следующим образом:
1. Инициализация. Для всех узлов i, инициализировать значения αi, жесткими оценками принятых бит.
2. Обновление проверочных узлов. Для всех проверочных узлов CN вычислить исходящие сообщения Lj→i:
и передать их соответствующим информационным узлам VN.
3. Обновление битовых узлов. Вычислить сообщения Li→j, исходящие от информационных узлов VN
и передать их соответствующим проверочным узлам.
4. Получение окончательных решений. Для всех i=0, 1…, N-1 найти жесткие решения:
5. Проверка правильности декодирования. Вычислить синдром . Если или число итераций достигло максимума, вычисления прекращаются, а считается результатом декодирования, в противном случае вычисления продолжаются с шага 2.
После декодирования кодового слова одним из пяти алгоритмов происходит запись декодированного сигнала в общий массив декодированного сигнала.
Устройство просто и может быть реализовано на миникомпьютере Hardkernel Odroid XU4 с процессором ARM, 8 ядер. Язык реализации C/C++, возможно использование технологии openCL. По сравнению с прототипом предлагаемое устройство позволяет снизить затраты на декодирование в 1,2-1,6 раза в зависимости от применяемого кода.
Claims (3)
1. Устройство декодирования LDPC-кодов, включающее блок определения отношения сигнал-шум, соединенный выходом с коммутатором, блок вычисления алгоритма «распространения доверия», блок вычисления алгоритма «минимум-сумма», блок вычисления алгоритма «апостериорных вероятностей» и блок объединения результатов декодирования сигналов по разным алгоритмам, первый, второй и третий выходы коммутатора соединены соответственно со входами блока вычисления алгоритма «распространения доверия», блока вычисления алгоритма «минимум-сумма» и блока вычисления алгоритма «апостериорных вероятностей», выходы которых соединены соответственно с первым, вторым и третьим входами блока объединения результатов декодирования сигналов по разным алгоритмам, выход которого является выходом устройства, входом которого является вход блока определения отношения сигнал-шум, отличающееся тем, что введены блок вычисления алгоритма «аппроксимация минимум-сумма» и блок вычисления алгоритма с инверсией бита, причем четвертый и пятый выходы коммутатора соединены соответственно со входами блока вычисления алгоритма «аппроксимация минимум-сумма» и блока вычисления алгоритма с инверсией бита, выходы которых соединены соответственно с четвертым и пятым входами блока объединения результатов декодирования сигналов по разным алгоритмам.
2. Устройство по п. 1, отличающееся тем, что блок определения отношения сигнал-шум выполнен с возможностью задания диапазона значений отношения сигнал-шум соответственно для каждого блока вычисления алгоритма декодирования.
3. Устройство по п. 2, отличающееся тем, что алгоритм «распространения доверия» применяют при значениях отношения сигнал-шум меньше 1,25 дБ, алгоритм «аппроксимация минимум-сумма» - при значениях сигнал-шум в диапазоне [1,25, 1,8) дБ, алгоритм «минимум-сумма» - при значениях сигнал-шум в диапазоне [1,8, 4,95) дБ, алгоритм «апостериорных вероятностей» - при значениях отношения сигнал-шум в диапазоне [4,95, 11,5] дБ, алгоритм с инверсией бита - при значениях отношения сигнал-шум больше 11,5 дБ.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2017123632U RU178755U1 (ru) | 2017-07-04 | 2017-07-04 | Устройство декодирования ldpc-кодов |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2017123632U RU178755U1 (ru) | 2017-07-04 | 2017-07-04 | Устройство декодирования ldpc-кодов |
Publications (1)
Publication Number | Publication Date |
---|---|
RU178755U1 true RU178755U1 (ru) | 2018-04-18 |
Family
ID=61974801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2017123632U RU178755U1 (ru) | 2017-07-04 | 2017-07-04 | Устройство декодирования ldpc-кодов |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU178755U1 (ru) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2337478C2 (ru) * | 2004-03-31 | 2008-10-27 | Интел Корпорейшн | Декодирование высокоизбыточных кодов с контролем четности с использованием многопорогового прохождения сообщения |
US7484158B2 (en) * | 2003-12-03 | 2009-01-27 | Infineon Technologies Ag | Method for decoding a low-density parity check (LDPC) codeword |
US8006161B2 (en) * | 2005-10-26 | 2011-08-23 | Samsung Electronics Co., Ltd | Apparatus and method for receiving signal in a communication system using a low density parity check code |
US8677227B2 (en) * | 2010-08-25 | 2014-03-18 | Royal Institution for the Advancement of Learning / McGill University | Method and system for decoding |
RU2532702C2 (ru) * | 2009-11-13 | 2014-11-10 | Панасоник Интеллекчуал Проперти Корпорэйшн оф Америка | Способ кодирования, способ декодирования, кодер и декодер |
EP2963831A1 (en) * | 2009-03-02 | 2016-01-06 | Panasonic Corporation | Encoding termination for LDPC convolutional codes (LDPC-CC) |
RU2593381C2 (ru) * | 2011-02-18 | 2016-08-10 | Сан Пэтент Траст | Способ формирования сигналов и устройство формирования сигналов |
-
2017
- 2017-07-04 RU RU2017123632U patent/RU178755U1/ru not_active IP Right Cessation
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7484158B2 (en) * | 2003-12-03 | 2009-01-27 | Infineon Technologies Ag | Method for decoding a low-density parity check (LDPC) codeword |
RU2337478C2 (ru) * | 2004-03-31 | 2008-10-27 | Интел Корпорейшн | Декодирование высокоизбыточных кодов с контролем четности с использованием многопорогового прохождения сообщения |
US8006161B2 (en) * | 2005-10-26 | 2011-08-23 | Samsung Electronics Co., Ltd | Apparatus and method for receiving signal in a communication system using a low density parity check code |
EP2963831A1 (en) * | 2009-03-02 | 2016-01-06 | Panasonic Corporation | Encoding termination for LDPC convolutional codes (LDPC-CC) |
RU2532702C2 (ru) * | 2009-11-13 | 2014-11-10 | Панасоник Интеллекчуал Проперти Корпорэйшн оф Америка | Способ кодирования, способ декодирования, кодер и декодер |
US8677227B2 (en) * | 2010-08-25 | 2014-03-18 | Royal Institution for the Advancement of Learning / McGill University | Method and system for decoding |
RU2593381C2 (ru) * | 2011-02-18 | 2016-08-10 | Сан Пэтент Траст | Способ формирования сигналов и устройство формирования сигналов |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Vangala et al. | A comparative study of polar code constructions for the AWGN channel | |
US7246304B2 (en) | Decoding architecture for low density parity check codes | |
US7716561B2 (en) | Multi-threshold reliability decoding of low-density parity check codes | |
KR100891782B1 (ko) | 고속 데이터 전송 시스템에서 순방향 오류 정정 장치 및방법 | |
JP5199255B2 (ja) | 近傍信頼性に依存するスケジューリングを用いたメッセージ・パッシングによる復号方法 | |
US7895500B2 (en) | Systems and methods for reduced complexity LDPC decoding | |
US8209579B2 (en) | Generalized multi-threshold decoder for low-density parity check codes | |
Fritzmann et al. | Analysis of error-correcting codes for lattice-based key exchange | |
KR100846869B1 (ko) | 저 복잡도 ldpc복호 장치 및 그 방법 | |
US20070089017A1 (en) | Error correction decoder, method and computer program product for block serial pipelined layered decoding of structured low-density parity-check (LDPC) codes with reduced memory requirements | |
Trifonov | Design of polar codes for Rayleigh fading channel | |
KR101718543B1 (ko) | 개선된 비트 반전 알고리즘 기반의 저밀도 패리티 검사 부호를 위한 복호 방법, 장치 및 이를 위한 기록 매체 | |
US20040243917A1 (en) | Apparatus and method for decoding a low density parity check code in a communication system | |
KR102061938B1 (ko) | 비-2진 ldpc 코드 디코딩을 위한 신드롬 계산을 위한 기본 체크 노드 처리 | |
KR20100005231A (ko) | 패리티 검사 디코더들에서 사용하기 위한 노드 처리기들 | |
Jayasooriya et al. | A new density evolution approximation for LDPC and multi-edge type LDPC codes | |
US8201049B2 (en) | Low density parity check (LDPC) decoder | |
KR20220028031A (ko) | 생성기 행렬의 삼각 인수분해를 사용한 오류 정정 코딩 방법 및 장치 | |
US8972817B2 (en) | Two low complexity decoding algorithms for LDPC codes | |
US10892783B2 (en) | Apparatus and method for decoding polar codes | |
RU178755U1 (ru) | Устройство декодирования ldpc-кодов | |
RU2651222C1 (ru) | Способ декодирования ldpc-кодов и устройство для его осуществления | |
Leduc-Primeau et al. | Relaxed half-stochastic belief propagation | |
CN111130564A (zh) | 译码方法及装置 | |
RU168191U1 (ru) | Устройство декодирования LDPC-кодов |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM9K | Utility model has become invalid (non-payment of fees) |
Effective date: 20190705 |