Декодирование высокоизбыточных кодов с контролем четности с использованием многопорогового прохождения сообщения

Изобретение относится к способу и устройству для исправления ошибок в сигнале связи. Многопороговая схема для итеративного декодирования принятого высоко-избыточного кодового слова с контролем четности включает в себя использование сравнения обновленной битовой надежности с порогом для создания восстановленной версии принятого кодового слова. В каждой итерации обновляются битовая надежность и восстановленное кодовое слово на основе сравнения с использованием порога, который был обновлен для данной итерации. Варианты осуществления изобретения включают в себя способы декодирования и/или соответствующего кодирования и устройство, использующее порог, который имеет два или более значений во время итеративного кодирования. Технический результат - обеспечение точности и быстродействия при уменьшении количества итераций. 9 н. и 37 з.п. ф-лы, 6 ил.

 

Область техники

Варианты изобретения относятся в общем случае к исправлению ошибок в сигналах связи.

Уровень техники

Канал связи, будь то волоконно-оптический канал, коаксиальный канал, проводной канал, беспроводный канал или шина, соединяющая элементы системы, по которой пересылаются большие объемы данных, может внести шум и ошибки в информацию, передаваемую по такому каналу. Для исправления ошибок, добавленных каналом связи, информацию можно посылать в виде кодовых слов, где каждое кодовое слово содержит одинаковое общее количество битов и в котором некоторое количество битов являются информационными битами (биты сообщения), а несколько битов используются для исправления ошибок. Кодовое слово длиной n битов включает в себя k битов для длины кода сообщения и r=n-k избыточных битов. r битов предназначены для исправления ошибок и могут представлять собой r битов контроля четности. Матрица H контроля четности содержит набор уравнений контроля четности, которые определяют кодовое слово согласно соотношению:

HCT=0,

где C - n-мерный вектор битов кодового слова. Если это соотношение в приемнике не удовлетворяется, то принятое кодовое слово является недостоверным и должно быть либо исправлено, либо повторно передано.

Существует множество различных схем для декодирования кодового слова, которое прошло через канал связи. Некоторые схемы могут обеспечить точность, а другие схемы способны обеспечить быстрое декодирование. При высокоскоростной передаче данных необходима схема декодирования, обеспечивающая точность и быстроту действия, но в то же время ее реализация не должна отличаться большой сложностью.

Краткое описание чертежей

Фиг.1 - блок-схема варианта способа для итеративного декодирования информации, полученной из канала связи, согласно настоящему изобретению;

Фиг.2 - вариант устройства для итеративного декодирования информации, полученной из канала связи, согласно настоящему изобретению;

Фиг.3 - блок-схема варианта способа для кодирования информации для передачи кодового слова, представляющего информацию, в канал связи согласно настоящему изобретению;

Фиг.4 - вариант устройства для кодирования информации, которая итеративно декодируется на приемном конце канала связи с использованием множества значений для порога согласно настоящему изобретению;

Фиг.5 - блок-схема варианта сети связи, имеющей систему для кодирования высоко-избыточного кодового слова с контролем четности и систему для декодирования версии закодированного высоко-избыточного кодового слова с контролем четности, полученного из канала связи между двумя системами согласно настоящему изобретению;

Фиг.6 - блок-схема варианта способа для итеративного декодирования высоко-избыточного кодового слова с контролем четности с использованием декодера, который может быть сконфигурирован, как показано на фиг.5, согласно настоящему изобретению.

Подробное описание изобретения

В последующем подробном описании делаются ссылки на чертежи, где в качестве иллюстрации показаны возможные конкретные детали и варианты практической реализации изобретения. Эти варианты описаны достаточно подробно, чтобы дать возможность специалистам в данной области техники реализовать на практике настоящее изобретение. Можно использовать другие варианты и внести структурные и логические изменения, а также изменения в электрических схемах, без изменения объема изобретения. Раскрытые варианты осуществления не обязательно взаимно исключают друг друга, напротив, некоторые раскрытые варианты могут объединяться с одним или более другими раскрытыми вариантами для создания новых вариантов. Таким образом, последующее подробное описание не следует трактовать как ограничение, а объем вариантов осуществления настоящего изобретения определяется только прилагаемой формулой изобретения вместе с полным объемом эквивалентов, на которые указанная формула изобретения дает право.

Высокоизбыточные коды с контролем четности (LDPC) обеспечивают эффективный инструмент прямого исправления ошибок в высокоскоростных системах связи благодаря невысокой сложности декодирования и низкой частоте ошибок по битам (BER), достигаемой в канале с аддитивным белым гауссовым шумом (AWGN). Стандартные декодеры LDPC работают, используя схему однопорогового декодирования. Примеры известных декодеров LDPC включают в себя, среди прочих, алгоритм минимальных сумм, алгоритм декодирования на основе апостериорных вероятностей (APP) и равномерно наиболее мощный (UMP) декодер.

Коды LDPC используют матрицу контроля четности, содержащую большинство нулей и ограниченное количество единиц. Двоичный (n, γ, ρ) код LDPC имеет длину кодового слова или длину блока, равную n битов, и матрицу контроля четности, содержащую ровно γ единиц в каждом столбце и ровно ρ единиц в каждой строке. В коде LDPC каждый кодовый бит проверяется с помощью γ проверок четности, а каждая проверка четности использует ρ кодовых битов. Кроме того, у кода имеется скорость R, определяемая как R=k/n, где k - количество битов сообщения (информационных битов) в кодовом слове, имеющем n битов.

Процесс итеративного декодирования может включать в себя проверку того, удовлетворяется или нет уравнение контроля четности для каждого бита, принятого из канала. Если все уравнения контроля четности удовлетворяются, то считается, что принятые биты являются переданным кодовым словом. Если большинство уравнений контроля четности для данного принятого бита не удовлетворяются, то значение данного принятого бита может быть изменено на противоположное; в противном случае, значение данного принятого бита сохраняется. Изменение значения бита на противоположное означает изменение нуля на единицу или единицы на ноль. После восстановления кодового слова с изменением значения бита на противоположное уравнения контроля четности проверяются вновь. Если все уравнения контроля четности удовлетворяются, то считают, что принятые биты являются переданным кодовым словом; в противном случае, итеративная процедура продолжается, пока не будет достигнуто максимальное количество допустимых итераций.

При декодировании LDPC может быть применен алгоритм декодирования с доверительным распространением на основе использования вероятностных значений. Как правило, итеративное декодирование кода LDPC связано с определением вектора x с максимальной вероятностью, где HxT mod 2 = 0. Вероятность x может быть задана произведением вероятностей того, что для каждой битовой позиции n, Xn=x. Для двоичного кодового слова x принимает значение 0 и 1, так что вероятность того, что x=1, равна единице минус вероятность того, что x=0. Кроме того, вероятностные значения могут быть представлены логарифмическими отношениями правдоподобия. Для двоичного сигнала с вероятностью p, заданной в качестве вероятности 1, логарифмическое отношение правдоподобия (LLR) может быть задано в виде

LLR(p) = loge((1-p)/p).

При декодировании сумм-произведений выполняется декодирование с использованием значений LLR.

Что касается процесса, связанного с описанным выше изменением значения принятого бита на противоположное, то по сигналу, полученному из канала связи, было принято начальное жесткое решение. Жесткое решение принимается для бита путем отдельной оценки этого бита. При жестком решении для двоичного бита декодер присваивает биту значение 1 или 0, если этот бит меньше или больше фиксированного значения, установленного декодером. Если декодер устанавливает фиксированное значение равным нулю, при жестком решении бит устанавливается равным 1, если принятый сигнал для этого бита является положительным, и устанавливается равным 0, если принятый сигнал отрицательный. В альтернативном варианте при жестком решении бит может устанавливаться равным 1, если принятый сигнал для этого бита отрицательный, и устанавливаться равным 0, если принятый сигнал положительный.

Мягкое решение - это решение, при котором вероятность того, что бит будет представлять единицу или ноль, учитывается при определении значения бита исходя из принятого сигнала. В декодерах с мягким решением может использоваться информация, относящаяся к степени доверия к принятому сигналу («мягкая» принятая информация), и сведения о свойствах канала для обеспечения вероятностных выражений для принятого сигнала, связанного с переданным сигналом. В то время как жесткое решение для двоичного процесса обеспечивает вектор жесткого решения, где векторные позиции или векторные биты равны единице или нулю, мягкое решение может обеспечить вектор жесткого решения и вектор надежностей или битовых надежностей. Двоичный вектор жесткого решения, обеспечиваемый мягким решением, это вектор, состоящий из единиц и нулей, где каждый бит вектора создается индивидуально в соответствии с фиксированным критерием. Вектор надежностей включает в себя набор битовых надежностей, причем каждая битовая надежность соответствует биту соответствующего вектора жесткого решения. Битовая надежность обеспечивает меру доверия к соответствующему биту в векторе жесткого решения. Битовая надежность может быть выражена в виде вероятности, логарифмического отношения правдоподобия или другого взвешенного коэффициента, коррелированного с каналом связи, по которому передается принимаемое кодовое слово. Битовая надежность может быть непосредственно коррелированна с величиной сигнала, представляющего принятый бит.

Как известно специалистам в данной области техники, различные схемы декодирования реализуют схемы мягкого декодирования с использованием вероятностей. По одной схеме в процессах мягкого решения вычисляется апостериорная вероятность для каждого бита кодового слова, которая представляет собой вероятность того, что данный бит равен единице при условии, что все ограничения для контроля четности удовлетворяются. Собственная или априорная вероятность - это битовая вероятность, не зависящая от кодовых ограничений, а «несобственная» вероятность учитывает то, что стало известно. Например, в алгоритме сумм-произведений для декодирования логарифмическое отношение правдоподобия (LLR) принятого сигнала, представляющего один бит, устанавливается на основе сведений о канале. Для канала с шумом типа AWGN и отношением сигнал-шум SNR начальное отношение LLR для этого бита может быть установлено как

где Yi - принятый сигнал, а σ - стандартное отклонение AWGN. Стандартное отклонение может быть определено через SNR для AWGN как , где n - длина кода, k - длина сообщения, а SNR - это SNR на один бит сообщения. LLRi функционально относится к надежности Ri бита i. Надежность - это мера доверия к значению бита. Итеративное декодирование в различных схемах включает в себя обновление надежности, соответствующей принятым битам, и/или обновление надежности, соответствующей ненулевым элементам матрицы H контроля четности. Указанные итеративные процессы включают в себя проверку достоверности обновленного тестового кодового слова посредством соотношения HxT = 0. Если тест не дает достоверное кодовое слово, то итеративный процесс продолжается, пока не будет получено достоверное кодовое слово или пока не будет выполнено максимальное количество итераций.

В одном варианте многопороговый декодер сконструирован для обеспечения алгоритма итеративного декодирования с пониженной сложностью и хорошими характеристиками исправления ошибок для декодирования кодов LDPC из канала с «мягким» выходным результатом. Этот вариант для многопорогового декодера с вычислением надежностей для быстрого декодирования LDPC работает с использованием канала с «мягким» выходным результатом (мягкого решения) для создания вектора жесткого решения и вектора надежностей принятых битов. Битовые надежности используются для вычисления надежностей для контроля четности, а общая надежность контроля четности устанавливается равной минимальному значению битовой надежности для всех битов, которые включены в данную проверку четности. Для повторного вычисления битовых надежностей используется процедура взвешенного голосования для контроля четности, где весами являются надежности контроля четности. В указанных вариантах, если значение веса контроля четности уменьшается, качество декодирования возрастает. Вначале битовой надежности присваивается значение битовой надежности, коррелированной со значением принятого бита. Голосование для контроля четности применяется к текущему вектору жесткого решения. На основе голосования для контроля четности в сравнении с пороговым значением в данной итерации, битовая надежность устанавливается равной вновь вычисленной битовой надежности, которая увеличивается на значение надежности контроля четности; в противном случае, повторно вычисленная битовая надежность уменьшается на значение надежности контроля четности.

Для каждой итерации обеспечиваются пороговые значения, причем эти пороговые значения могут вычисляться в течение одной или более итераций. Пороговые значения используются для получения решений о том, следует ли обновить бит и связанную с ним надежность. Если конкретная надежность меньше порогового значения, то тогда бит жесткого решения, связанный с этой надежностью, изменяет свое значение на противоположное, и абсолютному значению вновь вычисленной надежности присваивается это новое значение. Данная схема декодирования является итеративной, а пороги могут различаться от одной итерации к другой, причем для вычисления во время процесса декодирования обеспечены или запланированы, по меньшей мере, два значения порога. Хотя пороги могут быть вычислены во время итерации, их значения могут также быть определены заранее. В другом варианте на первой итерации порог решения по ошибке устанавливается равным минимальной из битовых надежностей, а затем на всех остальных итерациях порог решения по ошибке устанавливается равным нулю. В этом варианте схема многопорогового декодирования представляет собой схему декодирования с использованием двух порогов. Двухпороговая схема дает увеличение частоты ошибок по битам 0,1-0,4 дБ по сравнению с быстрым декодированием без использования порога, имеющего множество значений.

Вариант для новой схемы, который может быть реализован в декодерах LDPC, включает в себя схему многопорогового решения. Использование схемы многопорогового решения означает, что значение порога изменяется на вычисленное значение или заранее определенное значение во время одной или более итераций декодирования. В одном варианте во время первой итерации используется максимальное пороговое значение (абсолютное значение), а в последующих итерациях порог изменяется в сторону уменьшения. Изменение пороговых значений позволяет использовать высокое пороговое значение во время первой итерации, что приводит к исключению или уменьшению распространения ошибок. Таким образом, если декодер исправляет даже небольшое количество ошибок, декодирование на последующих итерациях значительно облегчается. Использование варианта со схемой многопорогового декодирования может привести к уменьшению количества итераций, выполняемых во время декодирования. Эти варианты могут быть реализованы с частотой ошибок по битам при декодировании, близкой к схеме декодирования на основе максимальной апостериорной вероятности.

В одном варианте многопороговый декодер обеспечивает итеративный декодер, использующий входной вектор мягкого решения для создания жесткого решения и вектора соответствующих надежностей, который описывает абсолютное значение правдоподобия для каждого бита. На каждой итерации декодер вычисляет надежность каждого уравнения контроля четности, используя битовые надежности. Затем для каждого бита и проверки контроля четности, если уравнение контроля четности не удовлетворяется, то соответствующая битовая надежность (которая соответствует уравнению бита или контроля четности) уменьшается; в противном случае эта битовая надежность увеличивается. Когда все уравнения проверены, выполняется жесткое решение с использованием следующего правила: если обновленная битовая надежность больше порогового значения, то бит и его надежность остаются неизменными; в противном случае, значение бита меняется на противоположное (инвертируется), а его надежность изменяется в функции обновленной надежности и порогового значения. Если обновленная надежность меньше 0, но больше порогового значения в этой итерации, то новое значение битовой надежности устанавливается равным 0. Обновление порогового значения планируется, по меньшей мере, один раз в течение процесса декодирования. Процесс повторяется, пока кодовое слово не будет восстановлено, или пока декодер не выполнит максимально допустимое количество итераций.

На фиг. 1 показана блок-схема варианта способа для итеративного декодирования информации, полученной из канала связи. На шаге 110 осуществляется прием кодового слова. Кодовое слово может содержать некоторое количество информационных битов или битов сообщения и несколько битов для использования при обнаружении ошибок и/или их исправлении. На шаге 120 выбирается значение порога. В одном варианте значение для порога выбирается с использованием битовых надежностей, коррелированных с принятым кодовым словом, во время каждой итерации. Такой выбор может проводиться путем вычисления минимальной надежности для сравнения, первоначально сформированной исходя из процесса мягкого решения, выполненного на основе принятого кодового слова, после чего создается вектор жесткого решения и вектор надежностей. Битовые надежности могут быть коррелированы с каналом связи. В одном варианте битовые надежности создаются с использованием известных, вычисленных или оцененных свойств канала связи, таких как, но не только, отношение сигнал-шум, связанное с сигналами, распространяющимися через канал связи. В другом варианте набор битовых надежностей первоначально коррелируется с набором принятых битов, например, но не только, с абсолютным значением сигнала, принятого для каждой битовой позиции. В одном варианте в качестве порогового значение может быть выбрано одно из заранее определенного набора значений, причем этот выбор зависит от структуры данного кода, SNR канала и номера итерации декодирования.

На шаге 130 битовая надежность, созданная исходя из принятого кодового слова, обновляется на основе сравнения с пороговым значением. В различных вариантах набор битовых надежностей может создаваться, сравниваться с порогом и обновляться. На шаге 140 кодовое слово восстанавливается на основе сравнений вычисленных битовых вероятностей с порогом, где вычисленные битовые надежности получают из первоначально созданных битовых надежностей. Если восстановленное кодовое слово не проходит тест на достоверность, то процесс продолжается с другой итерацией. Восстановленное кодовое слово может быть создано путем инвертирования одного или более битов версии кодового слова в данной итерации. На шаге 150 восстановленное кодовое слово обеспечивается в конце процесса итеративного декодирования. Если процесс декодирования оказался успешным, то считается, что восстановленное кодовое слово является кодовым словом, которое было обеспечено в месте передачи на другом конце канала связи. Если в процессе итеративного декодирования не обеспечено достоверное кодовое слово по окончании нескольких итераций, то целесообразно выполнить повторную передачу кодового слова. В одном варианте этот способ используется для декодирования кодового слова LDPC.

На фиг.2 показан вариант устройства 200 для итеративного декодирования информации, полученной из канала связи. Устройство 200 включает в себя приемник 210, генератор 220 битовых надежностей и блок 230 сравнения. Приемник 210 получает данные из канала связи. В одном варианте полученные данные представлены в виде битов в сигнальном потоке, где указанные биты определяют кодовое слово. В альтернативном варианте приемник 210 может принимать сигнал и преобразовывать принятый сигнал в кодовое слово. Генератор 220 битовых надежностей генерирует одну или более битовых надежностей, связанных с принятым кодовым словом. В одном варианте начальные битовые надежности генерируются на основе принятого кодового слова и отношения правдоподобия, относящегося к вероятностям того, что двоичный сигнал равен единице или нулю. Указанные битовые надежности также могут быть коррелированы с отношением сигнал-шум канала связи, из которого получено принятое кодовое слово. В альтернативном варианте начальные битовые надежности могут генерироваться на основе принятого кодового слова, например, путем установки начальных битовых надежностей равными абсолютному значению принятого кодового слова для каждого бита.

Блок 230 сравнения сравнивает битовые надежности, сформированные генератором битовых надежностей, с порогом. Выполнив указанное сравнение, блок 230 сравнения обновляет битовые надежности и биты тестового кодового слова в зависимости от результатов сравнения со значением порога. Блок 230 сравнения использует множество значений для порога в зависимости от текущей итерации в процессе декодирования. Обновленные биты тестового кодового слова оцениваются, чтобы определить, обеспечили ли обновленные биты достоверное кодовое слово. Если генерировано достоверное кодовое слово, то блок 230 сравнения может выдать достоверное кодовое слово или извлечь информационные биты (биты сообщения) из кодового слова и вывести сообщение. Блок 230 сравнения может быть реализован в виде аппаратной конфигурации либо выполнен в виде программной конфигурации. В одном варианте значения для порога, используемые блоком 230 сравнения, устанавливаются в соответствии с итерацией, в которой используется данное значение. Можно использовать таблицу порогов, связывающую заранее определенное значение с номером итерации, заданной для данной структуры кода и данной ситуации в канале, к примеру, соответственно SNR канала. В другом варианте значения для порога, используемые блоком 230 сравнения, устанавливают, используя битовые надежности и результат сравнения с пороговым значением, установленным для той итерации декодирования, в которой работает в данный момент блок 230 сравнения. В одном варианте устройство 200 декодирует кодовое слово LDPC.

На фиг.3 показана блок-схема варианта способа для кодирования информации с целью передачи кодового слова, представляющего эту информацию, по каналу связи. На шаге 310 информация принимается в кодере в виде информационных битов. На шаге 320 информационные биты кодируются для обеспечения кодового слова. Кодирование реализуется таким образом, что версия кодированного кодового слова после ее приема итеративно декодируется с использованием битовой надежности, обновленной путем сравнения с порогом, где порог обновляется для обеспечения множества значений в ходе итеративного процесса. Если версия кодового слова безошибочно принята на другом конце канала связи, по которому это кодовое слово было передано, то итеративное декодирование может обеспечить кодовое слово без исправления принятой версии кодового слова. Если принятая версия переданного кодового слова содержит ошибки, то процесс итеративного декодирования обеспечивает процесс их исправления, используя множество порогов. На шаге 330 кодовое слово передается по каналу связи. В одном варианте данный способ используется для кодирования кодового слова LDPC.

На фиг.4 показан вариант устройства 400 для кодирования информации, которая итеративно декодирована с использованием множества значений для порога на приемном конце канала связи. Устройство 400 включает в себя приемник 410 для получения информации с целью кодирования, кодер 420 и передатчик 430. Приемник 410 получает данные, предоставленные устройству 400 для передачи по каналу связи. Кодер 420 использует эту информацию и создает кодированное слово, содержащее информационные биты (биты сообщения) и биты для исправления ошибок на приемном конце канала передачи. Информация, подаваемая в кодер 420, может быть представлена в виде информационных битов. В альтернативном варианте кодер 420 может использовать предоставленную информацию и сформировать информационные биты. Кодер 420 кодирует информацию, создавая кодовое слово, так что версия этого кодового слова после приема итеративно декодируется с использованием битовой надежности, обновляемой путем сравнения с порогом. Порог обновляется для обеспечения множества значений во время итеративного процесса. Передатчик 430 посылает кодированное кодовое слово по каналу связи.

Канал связи между устройством, в котором используется вариант способа декодирования с использованием множества порогов, и устройством, где используется вариант способа кодирования, связанного с упомянутым способом декодирования, может включать в себя, но не только: волоконно-оптический канал, проводной канал, канал, считывающий данные, хранящиеся в блоке памяти, или беспроводный канал. Дополнительно, варианты осуществления изобретения для декодирования и кодирования могут быть адаптированы для использования с любым протоколом для передачи по любому каналу связи.

На фиг.5 представлена блок-схема варианта сети 500 связи, содержащей систему 502 для кодирования высоко-избыточного кодового слова с контролем четности и систему 520 для декодирования версии кодированного высоко-избыточного кодового слова с контролем четности, полученного из канала 505 связи между этими двумя системами. Источник информации предоставляет информационные биты LDPC кодеру 510 системы 502. Кодер 510 LDPC включает в себя процедуру 512 кодирования, в которой используется структура 514 H-матрицы для создания кодового слова, передаваемого в канал 505. Структура 514 H-матрицы разработана с использованием параметров 514 кода LDPC, которые предоставляются системе 502 и системе 520.

Система 520 включает в себя декодер 522 LDPC, который использует параметры 514 кода LDPC. Параметры кода LDPC используются структурой 524 H-матрицы в декодере 522 LDPC. Кодовое слово, принятое из канала 505, подается в блок 526 начального решения для получения мягких решений, дающих в результате жесткие решения 528 и решения 530 по надежности. Жесткими решениями 528 являются начальные двоичные биты для тестового кодового слова, а решениями по надежности являются начальные битовые надежности, связанные с битами тестового кодового слова. В одном варианте жесткими решениями 528 являются двоичные биты, установленные в соответствии со знаком соответствующего бита принятого кодового слова. Принятый бит, имеющий положительное значение, устанавливается равным единице, а принятый бит, имеющий нулевое значение или отрицательное значение, устанавливается равным нулю. В альтернативном варианте, принятый бит, имеющий нулевое значение или положительное значение, устанавливается равным нулю, а принятый бит, имеющий отрицательное значение, устанавливается равным единице. Начальные битовые надежности для каждого бита принятого кодового слова могут быть установлены равными абсолютному значению соответствующего бита принятого кодового слова.

Жесткие решения 528, решения 530 по надежности и структура 524 H-матрицы подаются в многопороговый декодер 532 для выполнения процесса итеративного декодирования с целью обеспечения информационных битов 508 от системы 520. Многопороговый декодер 532 использует пороги 534, с которыми сравниваются расчетные надежности, а битовые надежности и биты для тестового кодового слова обновляются. Расчетные надежности получают из битовых надежностей. В одном варианте расчетные надежности получают из начальных решений по надежности и вычисленных контрольных сумм. Биты для тестового кодового слова создаются из жестких решений 528 с битами, значения которых изменены на противоположные, в соответствии с результатами сравнения со значением порога на каждой итерации. В одном варианте пороги 534 вычисляются на основе сравнения расчетных битовых надежностей и значения порога для данной итерации. В одном варианте вычисляется набор порогов 534 на основе сравнения расчетных битовых надежностей и значения порога для данной итерации, причем эти пороги используются в нескольких других итерациях. Второй набор порогов 534 устанавливается с фиксированным значением, таким как нуль, и используется в нескольких других итерациях. Фиксированное значение для порога используется в группе итераций, образующих последние итерации в процессе декодирования. В альтернативном варианте пороги 354 устанавливаются равными заранее определенным значениям в зависимости от итерации, в которой используется данное значение порога.

Можно реализовать различные варианты для сети 500 связи, системы 502 и системы 520. Сеть 500 связи может представлять собой наземную сеть, использующую оптические волокна, коаксиальный кабель или провода в качестве среды передачи для каналов связи между различными узлами сети 500 связи. Сеть 500 связи может быть реализована в виде беспроводной сети, в которой системы 502 и 520 сконфигурированы как часть узла сети 500 связи или как часть беспроводного приемного устройства, которое принимает сигналы из узлов сети 500 связи. Системы 502 и 520 могут быть сконфигурированы как часть, но не только, сетевых компонент, таких как базовые станции, и могут быть сконфигурированы как часть, но не только, беспроводных приемных устройств, таких как портативные устройства связи, компьютеры и вычислительные устройства типа «лэптоп». Хотя это не показано, системы 502 и 520, сконфигурированные в системе беспроводной связи 500, включают в себя антенны для передачи и приема сигналов, которые содержат одно или несколько кодовых слов. Схемы и устройства декодирования и кодирования не ограничивают тип или конфигурацию таких компонент поддержки, как антенны в системах 502 и 520. В одном варианте используется фактически всенаправленная антенна.

Каждый узел сети 500 связи, сконфигурированной в виде наземной сети или в виде беспроводной сети, может содержать версию системы 502 и/или версию системы 520, либо систему, являющуюся комбинацией системы 502 и системы 520. Дополнительно, процессы декодирования и кодирования, используемые в кодерах и декодерах систем 502 и 520, а также описанные здесь другие варианты для процессов и устройства декодирования и кодирования могут быть адаптированы для стандартов и протоколов связи, используемых в сети 500 связи.

На фиг.6 показана блок-схема варианта способа, который можно использовать с декодером LDPC, таким как декодер 522 LDPC, с конфигурацией, показанной на фиг. 5. На шаге 610 строится вектор начального жесткого решения и вектор начальных надежностей. Для принятого кодового слова Y=(Y1, Y2, ..., Yn) положим, что N(m) является набором позиций кодового слова, которые используются в m-й проверке четности: N(m)={n:Hm,n=1}, где H - матрица контроля четности, такая как предусмотрена структурой 524 H-матрицы на фиг. 5, а Hm,n=1 означает, что значение матрицы H в позиции m, n равно единице. Кроме того, положим, что M(n) является набором проверок четности, который включает в себя n-ю позицию кодового слова: M(n)={m:Hm,n=1}.

При инициализации, для каждого элемента yi принятого вектора, такого как принятый в декодере 522 LDPC по фиг.5, вычисляются жесткое решение Xi и битовая надежность Ri. Битовая надежность Ri устанавливается равной абсолютному значению Yi. Жесткое решение может установить Xi равным единице, если Yi больше нуля, и Xi равным нулю, если Yi меньше или равно нулю. Для каждого битовая надежность контроля четности определяется как Ymn, где первоначально Ymn = Rn, а соответствующее жесткое решение определяется как Xmn, где первоначально Xmn = Xn.

После инициализации, на шаге 620 итеративный процесс начинается с выполнения вычисления надежностей контроля четности. В одном варианте для каждого n и каждого контрольные суммы Smn вычисляются как:

Σ Xmn' mod 2, где суммирование выполняется по N(m)/n. Выражение N(m)/n означает набор N(m), где исключен бит n. Значение минимума Ymn определяется как:

Ymn min = min{Ymn'} для N(m)\n.

На шаге 630 вычисляется порог. В одном варианте порог устанавливается равным минимальному значению по всем n из набора обновленных битовых надежностей, определенных для каждого n как

Zn = Rn + Σ (-1)Smn Ymn min для .

Эти обновленные битовые надежности также будут выполнять функцию надежностей для сравнения в процессе декодирования. В одном варианте обеспечивается многозначный порог путем вычисления значения для порога во время каждой итерации процесса декодирования. Такой подход является адаптивным. В одном варианте многозначный порог может быть обеспечен путем вычисления значения для порога во время первой итерации с использованием обновленных битовых надежностей и обеспечивается в виде фиксированного значения, такого как нуль, для остальных итераций. В одном варианте многозначный порог может быть обеспечен путем вычисления значения для порога во время первой итерации с использованием обновленных битовых надежностей и использованием этого значения для первой половины от общего количества итераций и затем с использованием фиксированного значения, например, нуля, для другой половины всех итераций.

В одном варианте многозначный порог может быть обеспечен путем использования заранее определенного набора порогов, где используемое значение коррелируется с номером итерации, в котором оно применяется. В одном варианте заранее определенные значения присваиваются в соответствии с параметрами канала связи, из которого получено принятое кодовое слово. Эти параметры могут включать в себя набор отношений сигнал-шум, набор других канальных параметров или набор стандартных (среднеквадратических) отклонений, коррелированных с канальными параметрами. В одном варианте заранее определенный набор параметров может быть определен посредством процесса моделирования. Один такой процесс может включать в себя моделирование процесса декодирования для обеспечения набора порогов для данного отношения сигнал-шум и установку порога для данного отношения сигнал-шум в виде среднего значения набора моделированных порогов. Этот процесс может выполняться для каждого отношения сигнал-шум в наборе отношений сигнал-шум. Можно реализовать другие статистические вариации в моделированных порогах для процесса декодирования. Эти заранее определенные значения, какой бы вариант ни использовался для обеспечения этих значений, могут быть запомнены в виде таблицы. В дополнение к программной реализации, эти таблицы облегчают аппаратные реализации, путем использования краткой справочной таблицы.

В одном варианте пороги выбирают для множества рабочих режимов декодирования. В одном режиме при декодировании исправляется одна или две ошибки. В этом режиме процесс декодирования не вносит дополнительной ошибки в вектор кодового слова. В другом варианте процесс декодирования исправляет более одной ошибки за одну итерацию и может исправить одну или две ошибки в последующей итерации.

Можно использовать различные комбинации для обеспечения множества пороговых значений в ходе процесса итерации в зависимости от допустимой сложности для данного приложения.

На шаге 640 выполняется обновление битовой надежности контроля четности. Вычисляется набор надежностей для сравнения исходя из надежностей контроля четности, что может рассматриваться как голосование для контроля четности. Для каждого n и каждого величина Zmn определяется как

Zmn = Rn + Σ (-1)Sm'n Ym'n min для N(n)/m.

Для каждого n битовые надежности контроля четности обновляются как соответствующие жесткие решения Xmn на основе надежностей для сравнения Zmn. Обновление надежности или жесткое решение включает в себя поддержание значения надежности или жесткого решения, если сравнение показывает, что надежность или жесткое решение должно остаться тем же самым.

{Zmn,Zmn > 0
Ymn = {-Zmn,Zmn < порога
{0;в противном случае
Xmn,Zmn > порога
Xmn = {
1-Xmn,Zmn < порога

На шаге 650 создается новый вектор С жесткого решения на основе надежностей для сравнения или обновленных битовых надежностей Zn в виде

Xi,Zi>0
Ci = {
1-Xi,Zi<0.

Обновление бита включает в себя сохранение значения бита, если сравнение показывает, что бит должен остаться тем же самым. Члены Сi обеспечивают биты тестового кодового слова для определения того, было ли создано достоверное кодовое слово. На шаге 660 выполняется оценка достоверности тестового кодового слова. Если появляется следующее соотношение

CHТ ≠ 0,

то итеративный процесс возвращается к шагу 620, используя обновленные значения надежности контроля четности.

Другой вариант способа для итеративного декодирования кодового слова LDPC с использованием порога, имеющего множество значений, включает в себя присвоение порогу только двух значений во время итеративного процесса. Первое значение устанавливается равным минимальной из обновленных надежностей Zn для Zn, созданных в первой итерации до выполнения сравнений решений. Второе значение устанавливается равным нулю для последующих итераций. Указанный вариант обеспечивает выигрыш 0,5 дБ за время декодирования по сравнению с другими известными схемами быстрого декодирования, имеющими фактически аналогичную сложность.

В вариантах для схем с множеством порогов декодируется любой код LDPC в любой ситуации. Однако, для заранее заданного кода и известных свойств канала пороги могут выбираться более точно. В различных вариантах количество итераций может быть принято равным log2 n, где n - длина кодового слова. Это обеспечивает максимальное количество итераций для выполнения до завершения итерации до восстановления достоверного кодового слова. Эксперименты показывают, что настройка и оптимизация порога обеспечивают увеличение выигрыша по BER, но определение точной зависимости между порогами, структурой кода и свойствами канала зависит от конкретного приложения.

Различные варианты или комбинации вариантов для устройства и способов для декодирования и кодирования сигналов связи с использованием описанных здесь многопороговых схем можно реализовать аппаратными средствами, программными средствами и комбинациями аппаратных и программных средств. Эти реализации могут включать в себя машиночитаемый носитель, имеющий считываемые компьютером команды для выполнения способа декодирования и/или кодирования с использованием варианта схемы, где применяется множество порогов для итеративного кодирования. Машиночитаемый носитель не ограничивается носителем какого-либо одного типа. Используемый машиночитаемый носитель зависит от приложения, использующего вариант схемы с множеством порогов. В одном варианте процессор, подсоединенный к приемнику и/или передатчику, может использовать различные виды памяти, к которой он подсоединен, и машиночитаемый носитель для управления декодированием и/или кодированием информации для передачи данных. В одном варианте в памяти могут запоминаться параметры, используемые для итеративного декодирования принятого кодового слова.

Хотя вариант способа с использованием многозначного порога можно использовать с любым кодом LDPC, далее представлен один пример, не являющийся ограничением. Этот пример представляет вариант способа декодирования с использованием декодера с множеством порогов для высоко-избыточного кода с контролем четности на основе кодов Рида-Соломона с двумя информационными символами (код RS-LDPC). Это пример (n, γ, ρ) кода RS-LDPC с n=32, γ=4 и ρ=3, причем скорость R примерно равна 0,4, а матрица контроля четности выглядит следующим образом:

HRS-LDPC =

10000000100000001000000010000000
00001000000000100000010001000000
00000100000000010000001000100000
00000010010000000000000100010000
00000001001000000100000000001000
01000000000100000010000000000100
00100000000010000001000000000010
00010000000001000000100000000001
10000000000010000000000101000000
00001000000000010100000010000000
00000100000000100000100000000010
00000010000100001000000000001000
00000001000001000000010000010000
01000000010000000001000000000001
00100000100000000010000000100000
00010000001000000000001000000100
10000000000001000100000000100000
00001000000100000000000100000010
00000100010000000010000010000000
00000010000000010000010000000001
00000001000010001000000000000100
01000000000000100000001000001000
00100000001000000000100001000000
00010000100000000001000000010000

Для этого примера принятый вектор Y={Yi} имеет длину кодового слова 32:

+0,22+1,47+0,52+0,83-2,38+0,71+1,44-1,95
+0,08-0,14+1,19+0,19-1,86-0,16+0,94+0,05
+1,01-0,42+0,78-1,54-0,84+1,44+1,65-0,45
+0,94-2,08-1,31+1,91-0,69+1,04+1,39+0,83

В этом варианте количество итераций установлено равным log2n, где n - длина кодового слова. Для n = 32 количество итераций составляет 5. Пороги для итераций 1, 2 и 3 устанавливаются по минимальной из обновленных битовых надежностей Zn, вычисленных в первой итерации. Пороги для итераций 4 и 5 установлены в 0.

При инициализации вектора жесткого решения X={Xi} выглядит следующим образом:

1 1 1 1 0 1 1 0 1 0 1 1 0 0 1 1

1 0 1 0 0 1 1 0 1 0 0 1 0 1 1 1

битовые надежности Ri составляют

+0,22+1,47+0,52+0,83+2,38+0,71+1,44+1,95
+0,08+0,14+1,19+0,19+1,86+0,16+0,94+0,05
+1,01+0,42+0,78+1,54+0,84+1,44+1,65+0,45
+0,94+2,08+1,31+1,91+0,69+1,04+1,39+0,83

а надежности контроля четности первоначально установлены в виде

Ymn:

На первой итерации вычисляются контрольные суммы, а минимальные надежности контроля четности Ymn-min определяются как

контрольные суммы Smn:

Ymn-min:

Порог вычисляется в результате первого вычисления обновленных битовых надежностей (битовых надежностей для сравнения) Zn как

Zn:

Из этих значений Zn определяется, что порог равен -1,04.

Формируются надежности для сравнения Zmn, и обновляются надежности контроля четности Ymn и соответствующие жесткие решения Xmn следующим образом

Zmn:

Ymn:

Xmn:

Затем формируется тестовое кодовое слово в виде восстановленного кодового слова

C={Ci}:

0 1 1 1 0 0 1 0 0 0 1 1 0 0 1 1

1 1 1 0 0 1 1 0 1 0 0 1 1 1 1 1

Тестовое кодовое слово С таково, что HCT ≠ 0, и выполняется вторая итерация. Итерация 2 начинается с вычисления новых контрольных сумм и новых минимальных надежностей контроля четности Ymn-min как контрольных сумм Smn:

Ymn-min:

Порогу для итераций 1, 2 и 3 присвоено минимальное значение обновленных битовых надежностей (битовые надежности для сравнения) Zn, вычисленных в первой итерации. Таким образом, в этой итерации порог устанавливают равным -1,04, как в первой итерации. Обновленные битовые надежности (битовые надежности для сравнения) Zn для второй итерации определяются как:

Zn:

Формируются надежности для сравнения Zmn для второй итерации, и надежности контроля четности Ymn для второй итерации и обновляются соответствующие жесткие решения Xmn следующим образом.

Zmn:

Ymn:

Xmn:

Затем формируется тестовое кодовое слово в виде восстановленного кодового слова

C ={Ci}:

0 1 1 1 0 0 1 0 0 0 1 1 0 0 1 1

1 0 1 0 0 1 1 0 1 0 0 1 1 1 1 1

Тестовое кодовое слово С таково, что HCT=0, и декодирование заканчивается, поскольку считается успешным. В этом примере итерации 3-5 не требуются, и итерации завершаются. Хотя было выбрано второе значение, которое планировалось использовать в итерациях 4 и 5, необходимость в нем отпала. Этот пример реализации варианта схемы многопорогового декодирования не следует рассматривать как ограничение для различных вариантов осуществления настоящего изобретения.

Различные варианты декодирования принятого кодового слова с использованием многозначного порога могут быть применены для любого высоко-избыточного кода с контролем четности. В указанных вариантах, когда вес проверки четности уменьшается, качество декодирования возрастает. Эти варианты могут быть применены в способе, не сильно усложняющем схему декодирования. В зависимости от допустимой сложности для данного приложения могут быть использованы различные комбинации для обеспечения множества пороговых значений во время итеративного процесса. Использование вариантов способа многопорогового декодирования обеспечивает дополнительное уменьшение сложности, поскольку эти варианты могут действовать в аппаратных реализациях без чисел с плавающей точкой, что упрощает и удешевляет общее техническое решение. Варианты схемы многопорогового декодирования позволяют выполнять конвейерную и/или параллельную обработку в аппаратных реализациях, поскольку использование многозначного порога может обеспечить схему быстрого декодирования.

Варианты схемы многопорогового декодирования можно адаптировать для использования в любой системе, работающей с каналом связи. Канал связи может являться частью наземной сети связи или беспроводной сети связи. Варианты настоящего изобретения действительно могут быть с успехом реализованы как часть любой беспроводной системы, где используются каналы беспроводной связи с несколькими несущими (например, ортогональное мультиплексирование с частотным разделением (OFDM), дискретная многотональная модуляция (DMT), и т.д.), например, могут быть использованы без ограничения в беспроводной персональной сети (WPAN), беспроводной локальной сети (WLAN), беспроводной городской сети WMAN), беспроводной глобальной сети (WWAN), сотовой сети, сети третьего поколения (3G), сети четвертого поколения (4G), универсальной системе мобильной телефонной связи (UMTS) и аналогичных системах связи.

Хотя выше показаны и описаны конкретные варианты осуществления изобретения, специалистам в данной области техники должно быть ясно, что представленные конкретные варианты можно заменить любой структурой, которая вычисляется для достижения той же цели. Подразумевается, что данная заявка охватывает любые адаптации или видоизменения вариантов настоящего изобретения. Должно быть ясно, что вышеприведенное описание предназначено для иллюстрации, а не ограничения, и что использованная здесь фразеология или терминология принята в целях описания, а не ограничения. На основе вышеприведенного описания специалисты в данной области техники без труда смогут предложить комбинации вышеописанных вариантов и другие варианты изобретения. Объем настоящего изобретения включает в себя любые иные приложения, в которых используются варианты вышеописанных структур и способов реализации. Объем вариантов осуществления настоящего изобретения следует определять согласно формуле изобретения вместе с полным объемом соответствующих ей эквивалентов.

1. Способ для итеративного декодирования принятого кодового слова, содержащий

прием кодового слова из канала связи, причем кодовое слово является высоко-избыточным кодовым словом с контролем четности;

выполнение процесса мягкого решения для каждого бита принятого кодового слова, чтобы сгенерировать принятый вектор, из которого генерируются вектор жесткого решения и начальные битовые надежности;

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

выбор значения для порога, причем порог обновляется для обеспечения множества пороговых значений в ходе итеративного декодирования, так что, по меньшей мере, два разных пороговых значения используются для итеративного декодирования принятого кодового слова, причем начальное значение для порога вычисляется с использованием начальных битовых надежностей;

обновление каждой битовой надежности на основе сравнения с использованием значения порога для итерации; и

восстановление принятого кодового слова на основе сравнения обновленных битовых надежностей с порогом.

2. Способ по п.1, в котором итеративное декодирование принятого кодового слова включает в себя использование ненулевого значения для порога в первой итерации и использование нуля в качестве порогового значения в других итерациях.

3. Способ по п.1, в котором способ включает в себя исправление одного или нескольких битов тестового кодового слова на основе сравнения обновленной битовой надежности с порогом для обеспечения достоверного кодового слова, причем тестовое кодовое слово первоначально генерируется из принятого кодового слова.

4. Способ по п.1, в котором использование порога включает в себя использование порога со значением, вычисленным с использованием минимальной надежности для сравнения из набора надежностей для сравнения, причем каждую надежность для сравнения вычисляют на основе начальной битовой надежности и набора надежностей контроля четности.

5. Способ по п.1, в котором генерирование начальных битовых надежностей включает в себя генерирование начальных битовых надежностей, коррелированных с каналом связи.

6. Способ по п.1, в котором для каждого бита принятого вектора битовую надежность генерируют в виде абсолютного значения бита принятого вектора.

7. Способ по п.1, в котором способ включает в себя вычисление надежности контроля четности для каждой проверки четности из набора проверок четности принятого кодового слова.

8. Способ по п.7, включающий в себя

формирование первой надежности для сравнения на основе начальной битовой надежности, относящейся к биту вектора жесткого решения, и на основе первого поднабора надежностей контроля четности;

сравнение первой надежности для сравнения с порогом;

обновление надежности контроля четности на основе сравнения первой надежности для сравнения с порогом;

формирование второй надежности для сравнения на основе начальной битовой надежности, и на основе второго поднабора надежностей контроля четности;

обновление бита тестового кодового слова на основе сравнения второй надежности для сравнения с установленным значением; и

определение того, является ли тестовое кодовое слово достоверным кодовым словом.

9. Способ по п.8, в котором обновление бита тестового кодового слова включает в себя изменение значения бита на противоположное.

10. Способ по п.8, в котором обновление бита тестового кодового слова на основе сравнения второй надежности для сравнения с установленным значением включает в себя обновление бита тестового кодового слова на основе сравнения с нулем второй надежности для сравнения.

11. Способ по п.1, в котором итеративное декодирование принятого кодового слова включает в себя выполнение нескольких итераций, причем количество итераций равно log2n, где n - длина кода кодового слова.

12. Способ для кодирования информационных битов кодового слова, содержащий

прием информационных битов в кодере;

предоставление параметров высокоизбыточного кода с контролем четности, которые также предоставляются процессу декодирования;

кодирование информационных битов для обеспечения высоко-избыточного кодового слова с контролем четности с использованием параметров высоко-избыточного кода с контролем четности, так что версия закодированного кодового слова после приема итеративно декодируется с использованием битовой надежности, обновленной посредством сравнения с порогом, где порог обновлен, чтобы предоставить множество значений в ходе итеративного процесса; и

передачу высокоизбыточного кодового слова с контролем четности по каналу связи.

13. Способ по п.12, в котором передача высокоизбыточного кодового слова с контролем четности по каналу связи включает в себя передачу высокоизбыточного кодового слова с контролем четности по волоконно-оптическому каналу.

14. Способ по п.12, в котором передача высокоизбыточного кодового слова с контролем четности по каналу связи включает в себя передачу высокоизбыточного кодового слова с контролем четности по каналу, считывающему данные, хранящиеся в блоке памяти.

15. Способ по п.12, в котором передача кодового слова включает в себя беспроводную передачу кодового слова.

16. Машиночитаемый носитель, имеющий исполняемые компьютером команды для выполнения способа, содержащего

прием кодового слова из канала связи, причем кодовое слово является высокоизбыточным кодовым словом с контролем четности;

выполнение процесса мягкого решения для каждого бита принятого кодового слова, чтобы сгенерировать принятый вектор, из которого генерируются вектор жесткого решения и начальные битовые надежности;

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

выбор значения для порога, причем порог обновляется для обеспечения множества пороговых значений в ходе итеративного декодирования, так что, по меньшей мере, два разных пороговых значения используются для итеративного декодирования принятого кодового слова, причем начальное значение для порога вычисляется с использованием начальных битовых надежностей;

обновление каждой битовой надежности на основе сравнения с использованием значения порога для итерации; и

восстановление принятого кодового слова на основе сравнения обновленных битовых надежностей с порогом.

17. Машиночитаемый носитель по п.16, в котором способ включает в себя исправление одного или нескольких битов тестового кодового слова, первоначально созданного из принятого кодового слова для обеспечения достоверного кодового слова.

18. Машиночитаемый носитель по п.16, в котором способ включает в себя обеспечение слова сообщения из принятого кодового слова после итеративного декодирования принятого кодового слова.

19. Машиночитаемый носитель по п.16, в котором генерирование начальных битовых надежностей включает в себя генерирование начальных битовых надежностей, коррелированных с каналом связи.

20. Машиночитаемый носитель по п.16, в котором использование порога включает в себя использование порога со значением, вычисленным с использованием минимальной надежности для

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

21. Машиночитаемый носитель по п.16, причем машиночитаемый носитель является компонентой беспроводного устройства.

22. Машиночитаемый носитель, имеющий исполняемые компьютером команды для выполнения способа, содержащего

прием информационных битов в кодере;

предоставление параметров высокоизбыточного кода с контролем четности, которые также предоставляются процессу декодирования;

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

передачу высокоизбыточного кодового слова с контролем четности по каналу связи.

23. Машиночитаемый носитель по п.22, в котором передача высокоизбыточного кодового слова с контролем четности по каналу связи включает в себя передачу высокоизбыточного кодового слова с контролем четности по волоконно-оптическому каналу.

24. Машиночитаемый носитель по п.22, в котором передача высокоизбыточного кодового слова с контролем четности по каналу связи включает в себя передачу высокоизбыточного кодового слова с контролем четности по каналу, считывающему данные, хранящиеся в блоке памяти.

25. Машиночитаемый носитель по п.22, причем машиночитаемый носитель является компонентой беспроводной системы.

26. Устройство для итеративного декодирования принятого кодового слова, содержащее:

приемник для приема кодового слова из канала связи, причем кодовое слово является высокоизбыточным кодовым словом с контролем четности;

генератор битовых надежностей для обеспечения набора битовых надежностей, причем каждая битовая надежность соответствует биту принятого кодового слова, полученного приемником;

блок мягкого решения для обработки каждого бита принятого кодового слова, чтобы сгенерировать принятый вектор, из которого генерируются вектор жесткого решения и набор битовых надежностей; и

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

27. Устройство по п.26, в котором генератор начальных битовых надежностей выполнен с возможностью генерирования начальных битовых надежностей, коррелированных с каналом связи.

28. Устройство по п.27, дополнительно включающее в себя

первый блок вычисления надежности для вычисления надежности контроля четности для каждого контроля четности из набора контролей четности принятого кодового слова;

второй блок вычисления надежности для вычисления первой надежности для сравнения на основе начальной битовой надежности, относящейся к биту вектора жесткого решения, и первого поднабора надежностей контроля четности;

первый блок сравнения для сравнения первой надежности для сравнения с порогом для обновления надежности контроля четности на основе сравнения первой надежности для сравнения с порогом;

третий блок вычисления надежности для вычисления второй надежности для сравнения на основе начальной битовой надежности и второго поднабора надежностей контроля четности;

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

29. Устройство по п.28, в котором каждый блок вычисления надежности и каждый блок сравнения включены в общий пороговый декодер.

30. Устройство по п.29, в котором общий пороговый декодер адаптирован для обеспечения информационных битов из достоверного кодового слова.

31. Устройство по п.26, в котором устройство является беспроводным устройством.

32. Устройство для кодирования информационных битов кодового слова, содержащее

передатчик;

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

структуру h-матрицы для использования параметров высокоизбыточного кода с контролем четности, общих для декодирующих блоков, принимающих версию переданного высокоизбыточного кодового слова с контролем четности, причем структура h-матрицы используется кодером высокоизбыточного контроля четности для генерирования высокоизбыточного кодового слова с контролем четности.

33. Устройство по п.32, в котором канал связи включает в себя волоконно-оптический канал.

34. Устройство по п.32, в котором канал связи включает в себя канал, считывающий данные, хранящиеся в блоке памяти.

35. Устройство по п.32, причем устройство является стационарным беспроводным устройством.

36. Система для итеративного декодирования принятого кодового слова, содержащая

процессор;

по существу, всенаправленную антенну для приема сигнала;

приемник для получения принятого кодового слова из сигнала, причем принятое кодовое слово является высокоизбыточным кодовым словом с контролем четности;

декодер для итеративного декодирования принятого кодового слова, полученного приемником, причем декодер включает в себя

генератор битовых надежностей для обеспечения набора битовых надежностей, причем каждая битовая надежность соответствует биту принятого кодового слова;

блок мягкого решения для обработки каждого бита принятого кодового слова, чтобы сгенерировать принятый вектор, из которого генерируются вектор жесткого решения и набор битовых надежностей; и

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

память, соединенную с процессором, причем память предназначена для запоминания параметров, используемых для итеративного декодирования принятого кодового слова.

37.Система по п.36, причем система является портативной беспроводной системой.

38. Система по п.36, в которой нуль является значением порогового значения в итерациях, других, нежели первая итерация.

39. Система по п.36, в которой генератор битовых надежностей и блок сравнения являются компонентами порогового декодера, адаптированного для использования обновленных пороговых значений для определения достоверного кодового слова и обеспечения информационных бит из достоверного кодового слова.

40. Система, для кодирования информационных битов кодового слова, содержащая

процессор;

передатчик;

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

структуру h-матрицы для использования параметров высокоизбыточного кода с контролем четности, общих для декодирующих блоков, принимающих версию переданного высокоизбыточного кодового слова с контролем четности, причем структура h-матрицы используется кодером высокоизбыточного контроля четности для генерирования высокоизбыточного кодового слова с контролем четности;

память, соединенную с процессором, причем память предназначена для запоминания параметров высокоизбыточного кода с контролем четности; и

по существу, всенаправленную антенну, соединенную с передатчиком.

41. Система по п.40, причем система является стационарной беспроводной системой.

42. Система по п.40, в которой канала связи включает в себя волоконно-оптический канал.

43. Система для итеративного декодирования принятого кодового слова, содержащая

процессор;

приемник для получения принятого кодового слова в сигнале от канала наземной связи, причем кодовое слово является высокоизбыточным кодовым словом с контролем четности;

декодер для итеративного декодирования принятого кодового слова, полученного приемником, причем декодер включает в себя

генератор битовых надежностей для обеспечения набора битовых надежностей, причем каждая битовая надежность соответствует биту принятого кодового слова;

блок мягкого решения для обработки каждого бита принятого кодового слова, чтобы сгенерировать принятый вектор, из которого генерируются вектор жесткого решения и набор битовых надежностей; и

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

память, соединенную с процессором, причем память предназначена для запоминания параметров, используемых для итеративного декодирования принятого кодового слова.

44. Система по п.43, причем система адаптирована для подсоединения к сети волоконно-оптической связи.

45. Система по п.43, в которой в которой нуль является значением порогового значения в итерациях других, нежели первая итерация.

46. Система по п.43, в которой генератор битовых надежностей и блок сравнения являются компонентами порогового декодера, адаптированного для использования обновленных пороговых значений для определения достоверного кодового слова и обеспечения информационных битов из достоверного кодового слова.



 

Похожие патенты:

Изобретение относится к устройству и способу кодирования/декодирования канала с использованием параллельного каскадного кода проверки на четность с низкой плотностью (LDPC).

Изобретение относится к способу кодирования данных. .

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

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

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

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

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

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

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

Изобретение относится к системе мобильной связи и, в частности, к устройству и способу для кодирования/декодирования блочного кода разреженного контроля четности (LDPC), обладающего переменной длиной

Изобретение относится к устройству и способу кодирования блочного кода разреженного контроля четности (LDPC)

Изобретение относится к мобильной связи и может быть использовано для кодирования и декодирования блочных кодов с низкой плотностью контроля по четности (LDPC-кодов), обладающих переменной скоростью кодирования

Изобретение относится к системе мобильной связи и предназначено для кодирования/декодирования блочных кодов проверки на четность с низкой плотностью LDPC с переменной длиной блока

Изобретение относится к способам кодирования и декодирования сообщения К' данных для передачи от передающей станции к принимающей станции

Изобретение относится к средствам кодирования и декодирования с контролем на четность

Изобретение относится к области связи и, в частности, к методам кодирования и декодирования данных

Изобретение относится к системам связи, использующим коды с низкой плотностью проверок на четность

Изобретение относится к системе связи, в которой используются коды контроля четности с низкой плотностью (LDPC), в частности к способу и устройству канального кодирования/декодирования для генерации LDPC-кодов с разными длинами кодового слова и разными скоростями кодирования из LDPC-кода, заданного в модуляции высшего порядка
Наверх