Способ и устройство обработки информации и устройство связи

Иллюстрации

Показать все

Группа изобретений относится к области кодирования. Техническим результатом является обеспечение кодирования информационных битовых последовательностей множества длин. Способ содержит: кодирование информационной битовой последовательности с использованием матрицы проверки четности низкой плотности, LDPC, причем базовый граф LDPC матрицы представлен как матрица с m строками и n столбцами, m является целым числом, большим или равным 5, и n является целым числом, большим или равным 16; и базовый граф включает в себя подматрицу A и подматрицу B, причем подматрица A является матрицей A0 или подматрица A включает в себя первые 16 столбцов матрицы A0, причем матрица A0 является матрицей с пятью строками и 22 столбцами; и подматрица B является матрицей с пятью строками и пятью столбцами и подматрица B включает в себя один столбец, вес которого равен 3, и одну подматрицу B’ бидиагональной структуры. 7 н. и 18 з.п. ф-лы, 3 табл., 8 ил.

Реферат

ОБЛАСТЬ ТЕХНИКИ

[0001] Варианты осуществления настоящего изобретения относятся к области связи и, в частности, к способу и устройству обработки информации и устройству связи.

ПРЕДШЕСТВУЩИЙ УРОВЕНЬ ТЕХНИКИ

[0002] Код проверки четности низкой плотности (low density parity check, LDPC) является типом линейного компактного кодирования с разреженной проверочной матрицей и характеризуется гибкой структурой и низкой сложностью декодирования. Поскольку для LDPC кода используется алгоритм частично параллельного итерационного декодирования, LDPC код имеет более высокую пропускную способность, чем обычный турбо код. LDPC код может быть использован в коде с исправлением ошибок в системе связи, чтобы улучшить надежность передачи канала и использование мощности. LDPC код может также широко использоваться в космической связи, волоконно-оптической связи, системе персональной связи, ADSL, устройстве магнитной записи и т.п. В настоящее время, в мобильной связи пятого поколения, использование LDPC кода рассматривается в качестве одной из схем канального кодирования.

[0003] В процессе действительного использования, может быть использована LDPC матрица со специальным структурным признаком. LDPC матрица H со специальным структурным признаком может быть получена путем расширения LDPC базовой матрицы квазициклической (quasi cycle, QC) структуры.

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

[0006] В соответствии с первым аспектом, обеспечен способ кодирования, включающий в себя:

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

[0007] В соответствии с вторым аспектом, обеспечен способ декодирования, включающий в себя:

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

[0008] В первой реализации первого аспекта или второго аспекта,

базовый граф LDPC матрицы представлен как матрица с m строками и n столбцами, m является целым числом, большим или равным 5, и n является целым числом, большим или равным 16; и

базовый граф включает в себя подматрицу A и подматрицу B, причем

подматрица A является матрицей A0, или подматрица A включает в себя первые 16 столбцов матрицы A0, где матрица A0 является матрицей с пятью строками и 22 столбцами; и

подматрица B является матрицей с пятью строками и пятью столбцами, и подматрица B включает в себя один столбец, вес которого равен 3, и подматрицу Bʹ бидиагональной структуры.

[0009] В матрице A0, имеется одна строка, вес которой больше, чем 0, и меньше, чем 5, две строки, веса которых больше, чем 9, и меньше, чем 15, и две строки, веса которых больше, чем 19, и меньше, чем 22.

[0010] В одной реализации, в матрице A0, имеется одна строка, вес которой равен 2, две строки, веса которых равны 12, и две строки, веса которых равны 21.

[0011] В этой реализации, матрица A0 может включать в себя пять строк от 0-й строки по 4-ю строку и от 0-го столбца по 22-й столбец в базовом графе 30a, строки могут быть взаимозаменяемыми, и столбцы могут также быть взаимозаменяемыми.

[0012] На основе вышеописанной реализации, базовая матрица LDPC матрицы включает в себя матрицу сдвига подматрицы A и матрицу сдвига подматрицы B, матрица сдвига подматрицы B может быть представлена в качестве базовой матрицы 30b-0; и

матрица сдвига подматрицы A является матрицей сдвига матрицы A0, или матрица сдвига подматрицы A включает в себя первые 16 столбцов матрицы сдвига матрицы A0, где матрица сдвига матрицы A0 может быть от 0-й строки по 4-ю строку и от 0-го столбца по 22-й столбец любой одной из базовых матриц 30b-1, 30b-2, 30b-3, 30b-4, 30b-5, 30b-6, 30b-7 и 30b-8.

[0013] Для поддержки различных длин блока, LDPC код требует различных коэффициентов поднятия Z. На основе вышеописанной реализации, в возможной реализации, базовые матрицы, соответствующие различным коэффициентам поднятия Z, могут быть использованы на основе различных коэффициентов поднятия Z. Коэффициент поднятия может быть представлен как Z=a⋅2n, где a является любым целым числом в диапазоне от 8 до 15, и используется базовая матрица, соответствующая значению a.

[0014] Например,

если значение а равно 8, матрица сдвига матрицы A0 может быть представлена как от 0-й строки по 4-ю строку и от 0-го столбца по 22-й столбец базовой матрицы 30b-1 на фиг. 3b.

[0015] Если значение а равно 9, матрица сдвига матрицы A0 может быть представлена как от 0-й строки по 4-ю строку и от 0-го столбца по 22-й столбец базовой матрицы 30b-2 на фиг. 3b.

[0016] Если значение а равно 10, матрица сдвига матрицы A0 может быть представлена как от 0-й строки по 4-ю строку и от 0-го столбца по 22-й столбец базовой матрицы 30b-3 на фиг. 3b.

[0017] Если значение а равно 11, матрица сдвига матрицы A0 может быть представлена как от 0-й строки по 4-ю строку и от 0-го столбца по 22-й столбец базовой матрицы 30b-4 на фиг. 3b.

[0018] Если значение а равно 12, the матрица сдвига матрицы A0 может быть представлена как от 0-й строки по 4-й строку и от 0-го столбца по 22-й столбец базовой матрицы 30b-5 на фиг. 3b.

[0019] Если значение а равно 13, матрица сдвига матрицы A0 может быть представлена как от 0-й строки по 4-ю строку и от 0-го столбца по 22-й столбец базовой матрицы 30b-6 на фиг. 3b.

[0020] Если значение а равно 14, матрица сдвига матрицы A0 может быть представлена как от 0-й строки по 4-ю строку и от 0-го столбца по 22-й столбец базовой матрицы 30b-7 на фиг. 3b.

[0021] Если значение а равно 15, матрица сдвига матрицы A0 может быть представлена как от 0-й строки по 4-ю строку и от 0-го столбца по 22-й столбец базовой матрицы 30b-8 на фиг. 3b.

[0022] Подматрица A может дополнительно включать в себя два столбца встроенных выколотых битов.

[0023] Дополнительно, чтобы получить гибкие кодовые скорости, подматрица C, подматрица D и подматрица E в соответствующих размерах могут добавляться, основываясь на матрице ядра, чтобы получать различные кодовые скорости.

[0024] Подматрица C является нулевой матрицей с пятью строками и mD столбцами;

подматрица D включает в себя mD строк и 27 столбцов матрицы F, или подматрица D включает в себя mD строк и 21 столбец матрицы F, где матрица F является матрицей с 85 строками и 27 столбцами;

подматрица E является единичной матрицей с mD строками и mD столбцами; и

mD является целым числом и 0≤mD≤85.

[0025] Весами строк для строк матрицы F являются, соответственно, 5, 7, 7, 7, 6, 6, 6, 6, 6, 5, 6, 5, 4, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 4, 3, 5, 4, 3, 4, 3, 3, 3, 4, 3, 3, 4, 4, 4, 3, 3, 4, 3, 3, 3, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 2, 3, 2, 3, 3, 3, 3, 3, 2, 3, 3, 3, 2, 3, 3, 3, 4, 3, 3, 2, 3, 2, 3, 3, 3, 4, 3, 3.

[0026] В возможной реализации, матрица F является матрицей, составленной из 5-й строки по 89-ю строку и 0-го столбца по 26-й столбец базового графа 30a.

[0027] В возможной реализации, матрица сдвига матрицы F может быть представлена как любая одна из базовых матриц 3c-1, 3c-2, 3c-3, 3c-4, 3c-5, 3c-6, 3c-7 и 3c-8.

[0028] Для поддержки различных длин блока, LDPC код требует различных коэффициентов поднятия Z. На основе вышеописанной реализации, в возможной реализации, базовые матрицы, соответствующие различным коэффициентам поднятия Z, могут быть использованы на основе различных коэффициентов поднятия Z. Например,

значение а может быть определено на основе Z, и может быть использована базовая матрица, соответствующая значению a.

[0029] Если значение а равно 8, матрица сдвига матрицы F может быть представлена как 3c-1.

[0030] Если значение а равно 9, матрица сдвига матрицы F может быть представлена как 3c-2.

[0031] Если значение а равно 10, матрица сдвига матрицы F может быть представлена как 3c-3.

[0032] Если значение а равно 11, матрица сдвига матрицы F может быть представлена как 3c-4.

[0033] Если значение а равно 12, матрица сдвига матрицы F может быть представлена как 3c-5.

[0034] Если значение а равно 13, матрица сдвига матрицы F может быть представлена как 3c-6.

[0035] Если значение а равно 14, матрица сдвига матрицы F может быть представлена как 3c-7.

[0036] Если значение а равно 15, матрица сдвига матрицы F может быть представлена как 3c-8.

[0037] Во второй реализации первого аспекта или второго аспекта,

базовый граф LDPC матрицы представлен как матрица с m строками и n столбцами, m является целым числом, большим или равным 4, и n является целым числом, большим или равным 14; и

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

подматрица A является матрицей с четырьмя строками и 10 столбцами; и

подматрица B является матрицей с четырьмя строками и четырьмя столбцами, и подматрица B включает в себя один столбец, вес которого равен 3, один столбец, вес которого равен 1, и подматрицу Bʹ бидиагональной структуры.

[0038] В матрице, состоящей из подматрицы A и подматрицы B, имеется одна строка, вес которой больше или равен 1 и меньше или равен 5, и веса остальных трех строк, каждый, больше или равны 10 и меньше или равны 13.

[0039] В одной реализации, в матрице, составленной из подматрицы A и подматрицы B, имеется одна строка, вес которой равен 3, и три строки, веса которых равны 12.

[0040] В этой реализации, матрица, составленная из подматрицы A и подматрицы B, может включать в себя четыре строки от 0-й строки по 3-ю строку и от 0-го столбца по 13-й столбец в базовом графе 40a, строки могут быть взаимозаменяемыми, и столбцы могут также быть взаимозаменяемыми.

[0041] На основе вышеописанной реализации, часть, которая является базовой матрицей LDPC матрицы и соответствует матрице, составленной из подматрицы A и подматрицы B, может быть представлена как любая одна из базовых матриц 40b-1, 40b-2, 40b-3, 40b-4, 40b-5, 40b-6, 40b-7 и 40b-8.

[0042] Для поддержки различных длин блока, LDPC код требует различных коэффициентов поднятия Z. На основе вышеописанной реализации, в возможной реализации, базовые матрицы, соответствующие различным коэффициентам поднятия Z, могут быть использованы на основе различных коэффициентов поднятия Z.

[0043] Например,

коэффициент поднятия может быть представлен как Z=a⋅2n, где a является любым целым числом от 8 до 15, и используется базовая матрица, соответствующая значению а.

[0044] Если значение а равно 8, часть, которая находится в базовой матрице в базовом графе 40a и соответствует подматрице A и подматрице B, может быть представлена как базовая матрица 40b-1 на фиг. 4b.

[0045] Если значение а равно 9, часть, которая находится в базовой матрице в базовом графе 40a и соответствует подматрице A и подматрице B, может быть представлена как базовая матрица 40b-2 на фиг. 4b.

[0046] Если значение а равно 10, часть, которая находится в базовой матрице в базовом графе 40a и соответствует подматрице A и подматрице B, может быть представлена как базовая матрица 40b-3 на фиг. 4b.

[0047] Если значение а равно 11, часть, которая находится в базовой матрице в базовом графе 40a и соответствует подматрице A и подматрице B, может быть представлена как базовая матрица 40b-4 на фиг. 4b.

[0048] Если значение а равно 12, часть, которая находится в базовой матрице в базовом графе 40a и соответствует подматрице A и подматрице B, может быть представлена как базовая матрица 40b-5 на фиг. 4b.

[0049] Если значение а равно 13, часть, которая находится в базовой матрице в базовом графе 40a и соответствует подматрице A и подматрице B, может быть представлена как базовая матрица 40b-6 на фиг. 4b.

[0050] Если значение а равно 14, часть, которая находится в базовой матрице в базовом графе 40a и соответствует подматрице A и подматрице B, может быть представлена как базовая матрица 40b-7 на фиг. 4b.

[0051] Если значение а равно 15, часть, которая находится в базовой матрице в базовом графе 40a и соответствует подматрице A и подматрице B, может быть представлена как базовая матрица 40b-8 на фиг. 4b.

[0052] Подматрица A может дополнительно включать в себя два столбца встроенных выколотых битов.

[0053] Дополнительно, для получения гибких кодовых скоростей, подматрица C, подматрица D и подматрица E в соответствующих размерах могут быть добавлены на основе матрицы ядра, чтобы получить различные кодовые скорости.

[0054] Подматрица C является нулевой матрицей с четырьмя строками и mD столбцами;

подматрица D является матрицей с mD строками и 14 столбцами;

подматрица E является единичной матрицей с mD строками и mD столбцами; и

mD является целым числом и 0≤mD≤113.

[0055] Подматрица D включает в себя mD строк матрицы F, матрица F имеет 113 строк и 14 столбцов, и веса строк для строк матрицы F, соответственно, равны 5, 4, 5, 4, 5, 4, 4, 4, 4, 4, 4, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 2, 4, 3, 3, 3, 3, 2, 4, 2, 3, 4, 2, 4, 2, 4, 2, 2, 5, 2, 4, 3, 2, 6, 2, 3, 3, 2, 4, 2, 5, 2, 5, 2, 6, 2, 3, 3, 3, 2, 5, 2, 3, 4, 2, 6, 2, 5, 2, 5, 4, 3, 3, 2, 4, 4, 2, 3, 2, 6, 2, 3, 3, 4, 2, 2, 6, 2, 3.

[0056] В возможной реализации, матрица F является матрицей, составленной из 4-й строки по 116-ю строку и 0-го столбца по 13-й столбец в базовом графе 40a.

[0057] В возможной реализации, матрица сдвига матрицы F может быть представлена как любая одна из базовых матриц 4c-1, 4c-2, 4c-3, 4c-4, 4c-5, 4c-6, 4c-7 и 4c-8.

[0058] Для поддержки различных длин блока, LDPC код требует различных коэффициентов поднятия Z. На основе вышеописанной реализации, в возможной реализации, базовые матрицы, соответствующие различным коэффициентам поднятия Z, могут быть использованы на основе различных коэффициентов поднятия Z. Например,

если значение а равно 8, подматрица D в базовой матрице может включать в себя mD строк матрицы сдвига, показанной в 4c-1;

если значение а равно 9, подматрица D в базовой матрице может включать в себя mD строк матрицы сдвига, показанной в 4c-2;

если значение а равно 10, подматрица D в базовой матрице может включать в себя mD строк матрицы сдвига, показанной в 4c-3;

если значение а равно 11, подматрица D в базовой матрице может включать в себя mD строк матрицы сдвига, показанной в 4c-4;

если значение а равно 12, подматрица D в базовой матрице может включать в себя mD строк матрицы сдвига, показанной в 4c-5;

если значение а равно 13, подматрица D в базовой матрице может включать в себя mD строк матрицы сдвига, показанной в 4c-6;

если значение а равно 14, подматрица D в базовой матрице может включать в себя mD строк матрицы сдвига, показанной в 4c-7; и

если значение а равно 15, подматрица D в базовой матрице может включать в себя mD строк матрицы сдвига, показанной в 4c-8.

[0059] Базовый граф и базовая матрица LDPC матрицы в первой реализации могут удовлетворять KB=22 и требование к рабочим характеристикам кодового блока с длиной блока от 640 до 8448 битов и удовлетворять KB=16 и требование к рабочим характеристикам кодового блока с длиной блока от 40 до 2560 битов. Базовый граф и базовая матрица LDPC матрицы во второй реализации могут удовлетворять KB=10 и требование к рабочим характеристикам кодового блока с длиной блока от 40 до 2560 битов.

[0060] На основе любого из вышеописанных аспектов или возможных реализаций аспектов, в другой возможной реализации, способ дополнительно включает в себя: определение коэффициента поднятия Z. Например, значение коэффициента поднятия Z определяется в соответствии с длиной K информационной битовой последовательности. Например, если длина информационной битовой последовательности равна K, минимальное значение, которое удовлетворяет 22×Z≥K, может быть определено во множестве коэффициентов поднятия, определенных в системе.

[0061] Для устройства связи на передающем конце, кодирование информационной битовой последовательности с использованием LDPC матрицы включает в себя:

кодирование информационной битовой последовательности с использованием LDPC матрицы, соответствующей коэффициенту поднятия Z.

[0062] Для устройства связи на приемном конце, декодирование принятого сигнала с использованием LDPC матрицы включает в себя:

декодирование принятого сигнала с использованием LDPC матрицы, соответствующей коэффициенту поднятия Z.

[0063] На основе любого из предыдущих аспектов или возможных реализаций аспектов, в другой возможной реализации, базовая матрица LDPC матрицы сохранена в памяти.

[0064] На основе любого из предыдущих аспектов или возможных реализаций аспектов, в другой возможной реализации, базовый граф LDPC матрицы сохранен в памяти, и значения сдвига ненулевых элементов в базовой матрице LDPC матрицы сохранены в памяти от строки к строке и от столбца к столбу.

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

[0066] Дополнительно, устройство включает в себя:

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

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

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

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

[0069] Дополнительно, устройство включает в себя:

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

блок обработки, сконфигурированный, чтобы декодировать мягкое значение LDPC кода на основе базовой матрицы HB, соответствующей коэффициенту поднятия Z, чтобы получить информационную битовую последовательность.

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

[0071] В соответствии с пятым аспектом, обеспечено устройство связи, которое включает в себя кодер и приемопередатчик.

[0072] Кодер включает в себя устройство обработки информации в соответствии с третьим аспектом и сконфигурирован, чтобы кодировать информационные данные.

[0073] Приемопередатчик сконфигурирован, чтобы передавать сигнал, соответствующий кодированным информационным данным.

[0074] В соответствии с шестым аспектом, обеспечено устройство связи, включающее в себя декодер и приемопередатчик.

[0075] Декодер включает в себя устройство обработки информации в соответствии с четвертым аспектом и сконфигурирован, чтобы декодировать принятый сигнал.

[0076] Приемопередатчик сконфигурирован, чтобы принимать сигналы, включающие в себя сигнал, кодированный на основе LDPC.

[0077] В соответствии с седьмым аспектом, вариант осуществления настоящего изобретения обеспечивает систему связи, и система включает в себя устройство связи в соответствии с пятым аспектом и устройство связи в соответствии с шестым аспектом.

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

[0079] Еще один аспект настоящей заявки обеспечивает компьютерный программный продукт, включающий в себя инструкцию, и когда компьютерный программный продукт исполняется на компьютере, компьютер выполняет способы в соответствии с вышеописанными аспектами.

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0081] Фиг. 1 является схематичной диаграммой базового графа, базовой матрицы и циркулянтной матрицы перестановок LDPC кода;

[0082] Фиг. 2 является схематичной структурной диаграммой базового графа LDPC кода;

[0083] Фиг. 3a является схематичной структурной диаграммой базового графа LDPC кода в соответствии с вариантом осуществления настоящего изобретения;

[0084] Фиг. 3b является схематичной диаграммой базовой матрицы LDPC кода в соответствии с другим вариантом осуществления настоящего изобретения;

[0085] Фиг. 3c является схематичной диаграммой базовой матрицы LDPC кода в соответствии с другим вариантом осуществления настоящего изобретения;

[0086] Фиг. 4a является схематичной диаграммой базового графа LDPC кода в соответствии с другим вариантом осуществления настоящего изобретения;

[0087] Фиг. 4b является схематичной диаграммой базовой матрицы LDPC кода в соответствии с другим вариантом осуществления настоящего изобретения;

[0088] Фиг. 4c является схематичной диаграммой базовой матрицы LDPC кода в соответствии с другим вариантом осуществления настоящего изобретения;

[0089] Фиг. 5 является структурной схемой устройства обработки информации в соответствии с другим вариантом осуществления настоящего изобретения;

[0090] Фиг. 6 является структурной схемой устройства обработки информации в соответствии с другим вариантом осуществления настоящего изобретения;

[0091] Фиг. 7 является структурной схемой устройства связи в соответствии с другим вариантом осуществления настоящего изобретения; и

[0092] Фиг. 8 является структурной схемой устройства связи в соответствии с другим вариантом осуществления настоящего изобретения.

ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ

[0093] Ниже описаны технические решения в вариантах осуществления настоящего изобретения со ссылкой на приложенные чертежи в вариантах осуществления настоящего изобретения.

[0094] Обычно, LDPC код может быть представлен как матрица Н проверки четности. Матрица Н проверки четности LDPC кода может быть получена с использованием базового графа (base graph) и значения сдвига (shift). Базовый граф может обычно включать в себя m×n матричных элементов и может быть представлен как матрица с m строками и n столбцами. Значением матричного элемента является 0 или 1. Элемент со значением 0 иногда упоминается как нулевой элемент, и это указывает, что элемент может быть заменен Z×Z нулевой матрицей (zero matrix). Элемент со значением 1 иногда упоминается как ненулевой элемент, и это указывает, что элемент может быть заменен Z×Z циркулянтной матрицей перестановок (circulant permutation matrix). Как показано на фиг. 1, 10a является примером элементов базового графа LDPC кода QC структуры, когда m=4 и n=20.

[0095] Если значение элемента в i-й строке и j-м столбце в базовом графе равно 1, значением сдвига элемента является Pi,j, и Pi,j является целым числом, большим или равным 0, это указывает, что элемент со значением 1 в i-й строке и j-м столбце может быть заменен Z×Z циркулянтной матрицей перестановок, соответствующей Pi,j. Циркулянтная матрица перестановок может быть получена путем выполнения Pi,j циклических сдвигов над Z×Z единичной матрицей вправо. Можно видеть, что, в базовом графе, каждый элемент со значением 0 заменяется Z×Z нулевой матрицей, и каждый элемент со значением 1 заменяется Z×Z циркулянтной матрицей перестановок соответственно значению сдвига элемента, так что может быть получена матрица проверки четности LDPC кода. Z является положительным целым числом и может также упоминаться как коэффициент поднятия (lifting) и может быть определен в соответствии с размером кодового блока и размером информационных данных, которые поддерживаются системой. Можно видеть, что размером матрицы Н проверки четности является (m×Z)×(n×Z). Например, если коэффициент поднятия Z=4, каждый нулевой элемент заменяется нулевой матрицей 11a, размером которой является 4×4. Если P2,3=2, ненулевой элемент во второй строке и третьем столбце заменяется 4×4 циркулянтной матрицей перестановок 11d. Матрица получается путем выполнения двух циклических сдвигов над 4×4 единичной матрицей 11b вправо. Если P2,4=0, ненулевой элемент во второй строке и третьем столбце заменяется единичной матрицей 11b. Следует отметить, что это является только примером для описания в настоящем документе и не используется в качестве ограничения.

[0096] Поскольку Pi,j может быть получено на основе коэффициента поднятия Z, для элемента со значением 1 в том же самом местоположении, могут быть различные Pi,j при использовании различных коэффициентов поднятия Z. Чтобы упростить реализацию, обычно, m×n базовая матрица (base matrix) дополнительно определяется в системе. Местоположение каждого элемента в базовой матрице находится в однозначном соответствии с таковым для каждого элемента в базовом графе. Нулевой элемент в базовом графе находится в том же самом местоположении, что и нулевой элемент в базовой матрице, и представлен как -1. Ненулевой элемент со значением 1 в i-й строке и j-м столбце базовой матрицы находится в том же самом местоположении, что и ненулевой элемент в базовом графе, и может быть представлен как Pi,j, где Pi,j является положительным целым числом, большим или равным 0. В вариантах осуществления настоящей заявки, базовая матрица иногда упоминается как матрица сдвига матрицы базового графа.

[0097] 10b на фиг. 1 показывает базовую матрицу, соответствующую базовому графу 10a.

[0098] В общем, базовый граф или базовая матрица LDPC кода может дополнительно включать в себя p столбцов встроенных выколотых (built-in puncture) битов, и p может быть целым числом от 0 до 2. Столбцы участвуют в кодировании, но системный бит, соответствующий кодированию столбцов, не отправляется. В этом случае, кодовая скорость базовой матрицы LDPC кода удовлетворяет R=(n-m)/(n-p). Для базовой матрицы с четырьмя строками и 20 столбцами (4×20), если имеется два столбца встроенных выколотых битов, кодовая скорость равна (20-4)/(20-2)=8/9.

[0099] Размер базового графа LDPC кода, используемого в системе беспроводной связи, равен m×n, и базовый граф может включать в себя пять подматриц A, B, C, D и E. Вес матрицы определяется в соответствии с количеством ненулевых элементов. Вес строки (a row weight) является количеством ненулевых элементов, включенных в строку. Вес столбца (a column weight) является количеством ненулевых элементов, включенных в столбец. Как показано в 200 на фиг. 2,

подматрица A является матрицей с mA строками и nA столбцами, и размер подматрицы A может быть mA×nA. Каждый столбец соответствует Z системным битам в LDPC коде. Системный бит иногда упоминается как информационный бит.

[0100] Подматрица B является матрицей с mA строками и mA столбцами, размер подматрицы B может быть mA×mA, и каждый столбец соответствует Z проверочным битам в LDPC коде. Подматрица B включает в себя подматрицу Bʹ бидиагональной структуры и один столбец матрицы, вес столбца которого равен 3 (кратко упоминается как столбец с весом столбца, равным 3). Как показано в 20a на фиг. 2, столбец матрицы, у которого вес столбца равен 3, расположен перед подматрицей Bʹ. Подматрица B может дополнительно включать в себя столбец матрицы, у которого вес столбца равен 1 (кратко упоминается как столбец с единичным весом столбца). Как показано в 20b или 20c на фиг. 2, столбец с единичным весом столбца может быть расположен в первом столбце или последнем столбце подматрицы B, и ненулевой элемент в столбце с единичным весом столбца находится в последней строке подматрицы B, так что вес строки последней строки подматрицы B равен 1.

[0101] Обычно, матрица, которая генерируется на основе подматриц A и B, является матрицей ядра и может быть использована для поддержки кодирования с высокой кодовой скоростью.

[0102] Подматрица C является нулевой матрицей, и размер подматрицы C равен (mA×(n-(mA+nA)).

[0103] Подматрица E является единичной матрицей, и размер подматрицы E равен (m-mA)×(m-mA).

[0104] Размер подматрицы D равен (m-mA)(nA+mA), и подматрица D может обычно использоваться для генерации бита проверки низкой кодовой скорости.

[0105] Поскольку структуры подматриц B, C и E являются относительно определенными, структуры двух подматриц A и D являются одним из факторов, которые влияют на рабочие характеристики кодирования/декодирования LDPC кода.

[0106] Обычно, LDPC код определяется в соответствии с базовым графом и базовой матрицей. Верхний предел рабочих характеристик LDPC кода может быть определен с использованием метода эволюции плотности на базовом графе или базовой матрице, и минимальный уровень ошибок LDPC кода определяется в соответствии со значением сдвига в базовой матрице. Улучшение рабочих характеристик кодирования/декодирования и уменьшение минимального уровня ошибок является одной из целей определения базового графа и базовой матрицы. В системе беспроводной связи применяются гибкие и изменяемые длины кода. Кодовый блок может быть кодовым блоком с малой длиной блока, такой как 40 битов или 1280 битов, или может быть кодовым блоком с большой длиной блока, такой как 5000 битов или 8448 битов. Фиг. 3a, фиг. 3b и фиг. 3c являются, соответственно, примерами базовых графов и базовых матриц LDPC кода, которые получены в соответствии с методом эволюции плотности и могут удовлетворять KB=22 и требование к рабочим характеристикам кодового блока с длиной блока от 640 до 8448 битов. Если удалены с 16-го столбца по 21-й столбец, то есть только первые 16 столбцов взяты для подматрицы A, и соответственно, только первые 16 столбцов взяты для подматрицы D, матрица, составленная из первых 16 столбцов для подматрицы A, первых 16 столбцов для подматрицы D, подматрицы B, подматрицы C и подматрицы D, может удовлетворять KB=16 и требование к рабочим характеристикам кодового блока с длиной блока от 40 до 2560 битов. Фиг. 4a, фиг. 4b и фиг 4c являются, соответственно, примерами базовых графов и базовых матриц, которые соответствуют другому LDPC коду и матрице ядра LDPC кода и которые получены в соответствии с методом эволюции плотности и могут удовлетворять KB=10 и требование к рабочим характеристикам кодового блока с длиной блока от 40 до 2560 битов.

[0107] Фиг. 3a показывает пример базового графа 30a LDPC кода. Числа от 0 до 111 в самой верхней строке на этой фигуре представляют номера столбцов, и числа от 0 до 89 в крайнем левом столбце представляют номера строк.

[0108] Подматрица A соответствует системным битам, то есть информационным битам, и KB является количеством столбцов системных битов в базовом графе.

[0109] Матрица, составленная из элементов в 0-й строке по 4-ю строку и 0-м столбце по 21-й столбец в базовом графе 30a, может упоминаться как A0. Если KB=22, подматрица A является матрицей A0, то есть включает в себя все столбцы матрицы A0. Если KB=16, подматрица A включает в себя первые 16 столбцов матрицы A0.

[0110] Поэтому размер подматрицы A равен пяти строкам и 22 столбцам или пяти строкам и 16 столбцам.

[0111] Подматрица A и подматрица B составляют части матрицы ядра базового графа LDPC кода, то есть составляют матрицу с пятью строками и 27 столбцами или с пятью строками и 21 столбцом и могут быть использованы для кодирования с высокой кодовой скоростью.

[0112] Подматрица A может включать в себя два столбца встроенных выколотых битов. После выкалывания, кодовая скорость, которая может поддерживаться матрицей ядра с пятью строками и 27 столбцами, равна 22/(27-2)=0,88 и кодовая скорость, которая может поддерживаться матрицей ядра с пятью строками и 16 столбцами (с 0-го столбца по 15-й столбец и с 22-го столбца по 26-й столбец) равна 16/(21-2)=16/19.

[0113] Подматрица B соответствует битам проверки, имеет размер пяти строк и пяти столбцов и составлена из элементов в 0-й строке по 4-ю строку и в 22-м столбце по 26-й столбец в базовом графе 30a.

[0114] Подматрица B включает в себя один столбец с весом столбца, равным 3, то есть вес столбца 0-го столбца подматрицы B (22-го столбца матрицы ядра) равен 3. С 1-го по 4-й столбцы (с 23-го по 26-й столбцы матрицы ядра) и с 0-й по 4-ю строки подматрицы B имеют бидиагональную структуру.

[0115] В базовом графе 30a, матрица A0 включает в себя одну строку, вес которой равен 2, две строки, веса которых равны 12, и две строки, веса которых равны 21, и значения весов строк равны, соответственно, 21, 12, 2, 12 и 21. Строка, вес которой равен 2, может быть представлена как 2-я строка и с 0-го по 22-й столбцы матрицы ядра в базовом графе 30a. Строки, веса которых равны 12, могут быть отдельными строками, представленными как 1-я строка или 3-ья строка и с 0-го по 22-й столбец матрицы ядра в базовом графе 30a. Строки, веса которых равны 21, могут быть отдельными строками, представленными как 0-я строка или 4-я строка и с 0-го по 22-й столбцы матрицы ядра в базовом графе 30a. Порядок строк может быть взаимозаменяемым, и порядок столбцов может также быть взаимозаменяемым, и это не влияет на рабочие характеристики кодирования/декодирования.

[0116] Матрица ядра с пятью строками и 27 столбцами в базовом графе 30a использована в качестве примера. Матрица ядра включает в себя одну строку, вес которой равен 5, две строки, веса которых равны 14, и две строки, веса которых равны 23. то есть значения весов строк матрицы ядра, составленной из подматрицы A и подматрицы B, равны, соответственно, 23, 14, 5, 14 и 23. Следует отметить, что порядок строк матрицы ядра является взаимозаменяемым. Например, 0-я строка является взаимозаменяемой с 2-й строкой, и 1-я строка является взаимозаменяемой с 3-й строкой. Строка, вес которой равен 5, может быть представлена как 2-я строка и с 0-го по 26-й столбцы матрицы ядра в базовом графе 30a. Строки, веса которых равны 14, могут быть отдельными строками, представленными как 1-я строка или 3-ья строка и с 0-го по 26-й столбцы матрицы ядра в базовом графе 30a. Строки, веса которых равны 23, могут быть отдельными строками, представленными как 0-я строка или 4-я строка и с 0-го по 26-й столбцы матрицы ядра в базовом графе 30a. Порядок строк может быть взаимозаменяемым, и порядок столбцов может также быть взаимозаменяемым, и это не влияет на рабочие характеристики кодирования/декодирования.

[0117] В общем, для данного базового графа или базовой матрицы LDPC кода, несколько модификаций на элементах матрицы оказывают допустимое воздействие на рабочие характеристики. Для базового графа 30a, выполнено несколько модификаций, например, вес одной строки матрицы A0 сделан большим, чем 0, и меньшим, чем 5, веса двух строк сделаны большими, чем 9, и меньшими, чем 15, и веса двух строк сделаны большими, чем 19, и меньшими, чем 22, так что относительно малое влияние оказывается на рабочие характеристики.

[0118] Для поддержки различных длин блока, LDPC код должен поддерживать различные коэффициенты поднятия Z. Чтобы гарантировать рабочие характеристики LDPC кода для различных длин блока, базовые матрицы, соответствующие различным коэффициентам поднятия Z, могут быть соответственно использованы на основе различных коэффициентов поднятия Z.

[0119] Например, набор поддерживаемых коэффициентов поднятия составляет {8:1:16} υ {16:2:32} υ {32:4:64} υ {64:8:128} υ {128:16:256} υ {256:32:384}. {8:1:16} представляет, что набор коэффициентов поднятия Z соответствует от 8 до 16, и что интервал между соседними коэффициентами поднятия равен 1, например, 8, 9, 10, …, 15 и 16. {16:2:32} представляет, что набор коэффициентов поднятия Z соответствует от 16 до 32, и что интервал между соседними коэффициентами поднятия равен 2, например, 16, 18, 20, …, 30 и 32. По аналогии, {256:32:384} представляет, что набор коэффициентов поднятия Z соответствует от 256 до 384, и что интервал между соседними коэффициентами поднятия равен 32, например, 256, 288, 320,…, 352, 384 и т.п.

[0120] Фиг. 3b