RU178755U1 - Устройство декодирования ldpc-кодов - Google Patents

Устройство декодирования ldpc-кодов Download PDF

Info

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
Application number
RU2017123632U
Other languages
English (en)
Inventor
Владимир Викторович Витязев
Евгений Александрович Лихобабин
Владимир Андреевич Волченков
Original Assignee
Федеральное государственное бюджетное образовательное учреждение высшего образования "Рязанский государственный радиотехнический университет"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Федеральное государственное бюджетное образовательное учреждение высшего образования "Рязанский государственный радиотехнический университет" filed Critical Федеральное государственное бюджетное образовательное учреждение высшего образования "Рязанский государственный радиотехнический университет"
Priority to RU2017123632U priority Critical patent/RU178755U1/ru
Application granted granted Critical
Publication of RU178755U1 publication Critical patent/RU178755U1/ru

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1154Low-density parity-check convolutional codes [LDPC-CC]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear 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].
Figure 00000001
тогда отношение правдоподобия (ОП, likelihood ratio, LR) для этого бита равно:
Figure 00000002
или же в форме логарифмического отношения правдоподобия - ЛОП (log likelihood ratio):
Figure 00000003
Декодер инициализируется установкой всех исходящих из узла VNi сообщений Li→j равными канальным ЛОП:
Figure 00000004
для всех i и j, для которых hij=1. Здесь yi обозначает принятое из канала значение для символа i.
Условие прекращения декодирования - равенство нулю синдрома:
Figure 00000005
где кодовое слово
Figure 00000006
- предположительный результат декодирования.
Таким образом, алгоритм АРД можно представить в виде следующих шагов:
1. Инициализация. В зависимости от используемой модели канала связи для всех узлов i инициализируют значения Li по следующей формуле:
Figure 00000007
Затем для всех i и j, для которых hij=1, устанавливают Li→j=Li.
2. Обновление проверочных узлов. Для всех проверочных узлов CN вычисляют исходящие сообщения Lj→i:
Figure 00000008
и передают их соответствующим информационным узлам VN.
3. Обновление битовых узлов. Вычисляют сообщения Li→j, исходящие от информационных узлов VN:
Figure 00000009
и передают их соответствующим проверочным узлам.
4. Вычисление апостериорных ЛОП. Для всех j=0, 1…, N-1 вычисляют:
Figure 00000010
5. Получение жестких решений. Для всех i=0, 1…, N-1 находят жесткие решения:
Figure 00000011
6. Проверка условия остановки. Вычисляют синдром
Figure 00000012
. Если
Figure 00000013
или число итераций достигло максимума, вычисления прекращаются, а
Figure 00000014
считается результатом декодирования, в противном случае вычисления продолжаются с шага 2.
Данный алгоритм (АРД) очень хорошо справляется с декодированием сигналов даже при очень низком уровне отношения сигнал-шум (ОСШ). Однако имеет ряд недостатков. Самым существенным недостатком предложенного Галлагером алгоритма является высокая сложность его реализации.
Еще одним алгоритмом, используемым в предлагаемом устройстве декодирования LDPC-кода, является алгоритм "минимум-сумма" (АМС).
Обобщенная форма записи алгоритма минимальной суммы имеет вид:
1. Инициализация. Для всех узлов i инициализируют значения Li по (1) в зависимости от используемой модели канала связи. Затем для всех i и j, для которых hij=1, устанавливают Li→j=Li.
2. Обновление проверочных узлов. Для всех проверочных узлов CN вычисляют исходящие сообщения Lj→i:
Figure 00000015
и передают их соответствующим информационным узлам VN.
3. Обновление битовых узлов. Вычисляют сообщения Li→j, исходящие от информационных узлов VN:
Figure 00000016
и передают их соответствующим проверочным узлам.
4. Вычисление апостериорных ЛОП. Для всех j=0, 1…, N-1 вычисляют:
Figure 00000017
5. Получение жестких решений. Для всех i=0, 1…, N-1 находят жесткие решения:
Figure 00000018
6. Проверка условия остановки. Вычисляют синдром
Figure 00000019
. Если
Figure 00000020
или число итераций достигло максимума, вычисления прекращаются, а
Figure 00000021
считается результатом декодирования, в противном случае вычисления продолжаются с шага 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]), плюс вычисление его знака:
Figure 00000022
Второе несомненное достоинство заключается в том, что при использовании модели канала с АБГШ инициализация может осуществляться не канальными ЛОП, а принятыми из канала амплитудами соответствующих бит.
К недостаткам алгоритма (АМС) можно отнести низкую производительность при ОСШ меньше 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], является комбинацией алгоритмов АРД и АМС, модификация касается, алгоритма подсчета сообщений в проверочном узле. В общем виде для АРД эта операция имеет вид:
Figure 00000023
И под оператором min* понимается поиск минимума, и, получаем, что для подсчета сообщений из проверочного узла требуется найти всего два сообщения - первое для узла, сообщение от которого было минимальным, а второе - будет одинаковым для всех остальных узлов.
Алгоритм АМС* использует ту же идеологию - в каждом проверочном узле рассчитывается всего два сообщения - одно для информационного узла, приславшего сообщение с минимальным весом, второе для всех остальных информационных узлов. Отличие заключается лишь в том, что вместо обычного минимума из двух аргументов используется оператор
Figure 00000024
, в котором помимо операции поиска минимума используется еще и функция корректировки g(L1, L2).
В обобщенном виде этот алгоритм выглядит следующим образом.
1. Инициализация. Для всех узлов i инициализировать значения Li по (8) в зависимости от используемой модели канала связи. Затем для всех i и j, для которых hij=1, устанавливается Li→j=Li.
2. Обновление проверочных узлов. Для всех проверочных узлов CN вычислить по формуле
Figure 00000025
исходящие сообщения Lj→i:
- для узла с минимальной достоверностью:
Figure 00000026
- для всех остальных:
Figure 00000027
и передать их соответствующим информационным узлам VN.
3. Обновление битовых узлов. Вычислить сообщения Li→j, исходящие от информационных узлов VN
Figure 00000028
и передать их соответствующим проверочным узлам.
4. Вычисление апостериорных ЛОП. Для всех j=0, 1…, N-1 вычислить:
Figure 00000029
5. Получение жестких решений. Для всех i=0, 1…, N-1 найти жесткие решения:
Figure 00000030
6. Проверка условия остановки. Вычислить синдром
Figure 00000031
. Если
Figure 00000032
или число итераций достигло максимума - вычисления прекращаются, а
Figure 00000033
считается результатом декодирования, в противном случае вычисления продолжаются с шага 2.
Подобная модификация позволяет снизить вычислительные затраты на вычисление сообщений из проверочного узла для АРД-подобных алгоритмов с 3(dc-1) до (dc-1) операции
Figure 00000034
. По эффективности этот алгоритм занимает промежуточное место между АРД-подобными алгоритмами и алгоритмом АМС.
В алгоритме используется оператор
Figure 00000035
, а значит, при реализации может быть использована любая его интерпретация. Видно, что алгоритм сводится к поиску всего двух отсылаемых сообщений вместо dc. Вычисление этих двух сообщений займет всего dc-1 арифметических операций. Правомерность применения такого упрощения можно пояснить, рассмотрев работу алгоритмов АРД и АМС. Если при декодировании проверочного узла два или более входящих в проверочный узел сообщений недостоверны, то недостоверными будут все сообщения, исходящие из этого узла. Это свойство сохраняется и при введении рассматриваемой модификации. Если всего одно входящее в проверочный узел сообщение не верно, то исходящее сообщение для недостоверного информационного узла будет достоверным для всех трех декодеров. Как видно из описания рассматриваемого упрощения, в обоих рассмотренных случаях сообщение, отправляемое к самому ненадежному информационному узлу, всегда будет в точности таким же, как и для алгоритма АРД.
Еще одним алгоритмом, используемым в предлагаемом устройстве декодирования LDPC-кода, является алгоритм вычисления апостериорных вероятностей (ААВ).
Алгоритм вычисления апостериорных вероятностей (алгоритм АВ, ААВ, aposteriory probability, АРР) получил свое название благодаря шагу обновления битовых узлов - если в других АРД-подобных алгоритмах на этом шаге вычислялось сообщение (сумма ЛОП - за исключением ЛОП исходящего из рассматриваемого узла), то в этом алгоритме сразу осуществляется расчет апостериорных вероятностей, именно они используются для дальнейших расчетов. Алгоритм АВ можно рассматривать как дальнейшее упрощение алгоритма АМС. Этот алгоритм отличается от алгоритма АМС шагом обновления битовых узлов. Здесь вычисляется только одно исходящее сообщение от битового узла i, вместо dc (Li вместо Li→j), как это было во всех алгоритмах, основанных на алгоритме АСП. Выражение для подсчета исходящих из информационного узла сообщений имеет вид:
Figure 00000036
Обобщенная форма записи алгоритма имеет вид:
1. Инициализация. В зависимости от используемой модели канала связи для всех узлов i инициализируют значения Li по формуле
Figure 00000037
Затем для всех i и j, для которых hij=1, устанавливают Li→j=Li.
2. Обновление проверочных узлов. Для всех проверочных узлов CN вычисляют исходящие сообщения Lj→i:
Figure 00000038
и передают их соответствующим информационным узлам VN.
3. Обновление битовых узлов. Вычисляют сообщения Li→j, исходящие от информационных узлов VN:
Figure 00000039
и передают их соответствующим проверочным узлам.
4. Получение жестких решений. Для всех i=0, 1…, N-1 находят жесткие решения:
Figure 00000040
5. Проверка условия остановки. Вычисляют синдром
Figure 00000041
. Если
Figure 00000042
или число итераций достигло максимума, вычисления прекращаются, а
Figure 00000043
считается результатом декодирования, в противном случае вычисления продолжаются с шага 2.
Введение упрощения применяемого в данном алгоритме приводит к значительному ухудшению эффективности декодирования, с другой стороны это позволяет существенно снизить вычислительные затраты и затраты памяти на реализацию алгоритма.
Еще одним алгоритмом, используемым в предлагаемом устройстве декодирования LDPC-кода, является алгоритм с инверсией бита (АИБ).
Алгоритм с инверсией бита (алгоритм ИБ, АИБ) был предложен Галлагером в [Gallager R.G. Low-density parity-check codes // Cambridge, MA: M.I.T. Press. - 1963]. В АИБ сначала вычисляются все проверочные уравнения в матрице Н, а затем инвертируются те биты в полученном кодовом слове, которые участвуют более чем в некотором заданном числе t невыполненных проверок. Этот шаг повторяется с измененным принятым кодовым словом, пока все проверки на четность не будут выполнены или пока не будет достигнуто некоторое максимальное число итераций.
На невыполненные проверочные уравнения указывают элементы синдрома s=yHT, а их число для каждого кодового бита можно найти, используя следующее выражение:
f=sH,
причем умножения матриц выполняется над целыми числами, а не над двоичными. Вектор f называют профилем достоверности, а его элементы
Figure 00000044
являются ни чем иным, как достоверностями приема соответствующих бит, причем достоверность тем меньше, чем больше значение
Figure 00000045
. При этом диапазон значений
Figure 00000046
лежит в пределах [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:
Figure 00000047
и передать их соответствующим информационным узлам VN.
3. Обновление битовых узлов. Вычислить сообщения Li→j, исходящие от информационных узлов VN
Figure 00000048
и передать их соответствующим проверочным узлам.
4. Получение окончательных решений. Для всех i=0, 1…, N-1 найти жесткие решения:
Для
Figure 00000049
5. Проверка правильности декодирования. Вычислить синдром
Figure 00000050
. Если
Figure 00000051
или число итераций достигло максимума, вычисления прекращаются, а
Figure 00000052
считается результатом декодирования, в противном случае вычисления продолжаются с шага 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 дБ.
RU2017123632U 2017-07-04 2017-07-04 Устройство декодирования ldpc-кодов RU178755U1 (ru)

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)

* Cited by examiner, † Cited by third party
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 Сан Пэтент Траст Способ формирования сигналов и устройство формирования сигналов

Patent Citations (7)

* Cited by examiner, † Cited by third party
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