Область техники
[0001] Варианты осуществления настоящей заявки относятся к области связи и, в частности, к способу обработки информации и аппаратуре связи.
Уровень техники
[0002] Код проверки четности с низкой плотностью (LDPC) представляет собой тип линейного блочного кода, характеризуемого разреженной матрицей проверки, и имеет гибкую структуру и низкую сложность декодирования. Поскольку частично параллельный алгоритм итеративного декодирования может быть использован при декодировании кодированного слова с кодированием LDPC, код LDPC имеет более высокую эффективность, чем традиционный турбокод. Код LDPC может использоваться в качестве кода с исправлением ошибок в системе связи, чтобы улучшить надежность и использование мощности при канальной передаче. Код LDPC также может широко использоваться в пространственной связи, оптоволоконной связи, системах персональной связи, асимметричной цифровой абонентской линии (ADSL), устройствах магнитной записи и тому подобном. В настоящее время код LDPC считается одной из схем канального кодирования в системах мобильной связи пятого поколения (5G).
[0003] В реальных применениях могут использоваться матрицы LDPC, имеющие разные специальные структуры. Матрица H LDPC, имеющая специальную структуру, может быть получена путем расширения (также называемого подъемом) базовой матрицы LDPC, имеющей структуру квазицикла (QC). Схема кодирования с использованием матриц QC-LDPC подходит для аппаратных средств с высокой степенью параллелизма и обеспечивает более высокую эффективность. Матрица QC-LDPC может быть спроектирована так, чтобы она подходила для канального кодирования.
[0004] Схема кодирования с использованием матриц QC-LDPC подходит для аппаратных средств с высокой степенью параллелизма и обеспечивает более высокую эффективность. Матрица QC-LDPC может быть спроектирована так, чтобы она подходила для канального кодирования.
Сущность изобретения
[0005] Варианты осуществления настоящей заявки предоставляют способ обработки информации, а также аппаратуру и систему связи, чтобы поддерживать кодирование и декодирование информационных битовых последовательностей с множеством длин.
[0006] Согласно первому аспекту предоставлены способ кодирования и кодер. Кодер кодирует входную последовательность с использованием матрицы проверки четности с низкой плотностью (LDPC).
[0007] Согласно второму аспекту предоставлены способ декодирования и декодер. Декодер декодирует входную последовательность с использованием матрицы LDPC.
[0008] В первой реализации первого аспекта или второго аспекта матрица LDPC получается на основе коэффициента Z подъема и базовой матрицы.
[0009] На основании вышеизложенной реализации базовая матрица базового графа включает в себя одно из следующего:
базовая матрица включает в себя строку 0 - строку 6, столбец 0 - столбец 16 одной из матриц, показанных на фиг. с 3b-1 по 3b-8 или
базовая матрица включает в себя строку 0 - строку 6, некоторые из столбца 0 - столбца 16 в одной из матриц, показанных на фиг. с 3b-1 по 3b-8 или
базовая матрица является матрицей, полученной путем выполнения преобразования строки/столбца для строки 0 - строки 6, столбца 0 столбца 16 в одной из матриц, показанных на фиг. с 3b-1 по 3b-8 или
базовая матрица представляет собой матрицу, полученную путем выполнения преобразования строки/столбца в строке 0 – строке 6, некоторых из столбца 0 - столбца 16 в одной из матриц, показанных на фиг. с 3b-1 по 3b-8.
[0010] Чтобы поддерживать разные длины кодовых блоков, для кода LDPC требуются разные коэффициенты Z подъема. На основе вышеупомянутых реализаций используются базовые матрицы, соответствующие различным коэффициентам Z подъема, на основе различных коэффициентов Z подъема. В некоторых реализациях Z=a×2j, где 0≤j<7, и a∈ {2,3,5,7,9,11,13,15}.
[0011] Кроме того, на основе вышеупомянутых реализаций матрица LDPC может быть получена на основе коэффициента Z подъема и матрицы Hs, которая получается путем сдвига вышеупомянутой базовой матрицы. Альтернативно, матрица LDPC может быть получена на основе коэффициента Z подъема и матрицы, которая получается путем выполнения преобразования строки/столбца для матрицы Hs, а Hs получается путем сдвига вышеупомянутой базовой матрицы. Сдвиг вышеуказанной базовой матрицы может увеличивать или уменьшать значение сдвига, большее или равное 0, в одном или нескольких столбцах посредством некоторого сдвига.
[0012] Базовый граф и базовая матрица матрицы LDPC в вышеприведенных реализациях могут удовлетворять требованию к производительности кодовых блоков множества длин блоков.
[0013] Коэффициент Z подъема может быть определен кодером или декодером на основе длины K входной последовательности или может быть определен другим устройством и предоставлен кодеру или декодеру в качестве входного параметра. Необязательно, матрица LDPC может быть получена на основе полученного коэффициента Z подъема и базовой матрицы, соответствующей коэффициенту Z подъема.
[0014] Во второй реализации первого аспекта или второго аспекта матрица LDPC получается на основе коэффициента Z подъема и параметра(ов) матрицы LDPC.
[0015] Параметры матрицы LDPC могут включать в себя индекс строки, индекс столбца некоторого столбца, в котором расположен ненулевой элемент, и значение сдвига ненулевого элемента. Параметры хранятся таким образом, как строки от 0 до 6 в одной из таблицы 2 и с таблицы 3b-1 по таблицу 3b-8. Параметры матрицы LDPC могут дополнительно включать в себя вес строки. Расположение ненулевых элементов в столбцах находится в однозначном соответствии со значениями сдвига ненулевых элементов.
[0016] Для устройства связи на передающей стороне кодирование входной последовательности с использованием матрицы LDPC может включать в себя: кодирование входной последовательности с использованием матрицы LDPC, соответствующей коэффициенту Z подъема; или кодирование входной последовательности с использованием матрицы, полученной путем выполнения преобразования строки/столбца в матрице LDPC, соответствующей коэффициенту Z подъема. Преобразование строки/столбца в этой заявке означает преобразование строки, преобразование столбца или преобразование строки и преобразование столбца.
[0017] Для устройства связи на приемной стороне декодирование входной последовательности с использованием матрицы LDPC может включать в себя: декодирование входной последовательности с использованием матрицы LDPC, соответствующей коэффициенту Z подъема; или декодирование входной последовательности с использованием матрицы, полученной путем выполнения преобразования строки/столбца в матрице LDPC, соответствующей коэффициенту Z подъема. Преобразование строки/столбца в этой заявке означает преобразование строки, преобразование столбца или преобразование строки и преобразование столбца.
[0018] В возможной реализации матрица LDPC может быть сохранена, и матрица LDPC используется для кодирования входной последовательности, или матрица LDPC, которая может использоваться для кодирования, получается путем выполнения преобразования (преобразования строки/столбца) или подъема на основе матрицы LDPC.
[0019] В другой возможной реализации параметр или параметры могут быть сохранены, и матрица LDPC, используемая для кодирования или декодирования, может быть получена на основе параметра, так что входная последовательность может быть кодирована или декодирована на основе матрицы LDPC. Параметр или параметры включают в себя по меньшей мере одно из следующего: базовый граф, базовую матрицу, преобразованную матрицу, полученную посредством выполнения преобразования строки/столбца на базовом графе или базовой матрице, поднимающую матрицу на основе базового графа или базовой матрицы, значение сдвига ненулевого элемента в базовой матрице или любой параметр, используемый для получения матрицы LDPC.
[0020] В еще одной возможной реализации базовая матрица матрицы LDPC может храниться в памяти.
[0021] В еще одной возможной реализации базовый граф матрицы LDPC может храниться в памяти, а значение сдвига ненулевого элемента в базовой матрице матрицы LDPC может храниться в памяти.
[0022] В еще одной возможной реализации параметр матрицы LDPC сохраняется в памяти способами, подобными Таблице 2 или Таблицам 3b-1 - 3b-8, или могут быть сохранены некоторые группы элементов параметра.
[0023] На основании вышеизложенных возможных реализаций, в возможном исполнении по меньшей мере одно из базового графа и базовой матрицы, используемых для кодирования или декодирования LDPC, получается посредством выполнения преобразования строки или преобразования столбца, или преобразования строки и преобразования столбца, по меньшей мере, для одного из базового графа и базовой матрицы упомянутой матрицы LDPC.
[0024] Согласно третьему аспекту предоставляется аппаратура связи. Аппаратура связи может включать в себя программные модули и/или аппаратные компоненты, сконфигурированные для выполнения вышеизложенных способов исполнения.
[0025] В возможном исполнении аппаратура связи, предусмотренная в третьем аспекте, включает в себя процессор и компонент приемопередатчика. Процессор и компонент приемопередатчика могут быть выполнены с возможностью выполнения любой из возможных реализаций способа кодирования или способа декодирования. Устройство связи может быть терминалом, базовой станцией или другим сетевым устройством, а компонент приемопередатчика аппаратуры связи может быть приемопередатчиком. Аппаратура связи может быть микросхемой основной полосы частот или платой основной полосы частот, а компонент приемопередатчика аппаратуры связи может быть схемой ввода/вывода микросхемы основной полосы частот или платы основной полосы частот и сконфигурирована для приема/отправки входного/выходного сигнала. Необязательно, аппаратура связи может дополнительно включать в себя память, сконфигурированную для хранения данных и/или инструкций.
[0026] В одной реализации процессор может включать в себя кодер в соответствии с первым аспектом и блок определения. Блок определения выполнен с возможностью определения коэффициента Z подъема, требуемого для кодирования входной последовательности. Кодер сконфигурирован для кодирования входной последовательности с использованием матрицы LDPC, соответствующей коэффициенту подъема Z подъема.
[0027] В другой реализации процессор может включать в себя декодер согласно второму аспекту и модуль получения. Модуль получения выполнен с возможностью получения программного значения кода LDPC и коэффициента Z подъема. Декодер выполнен с возможностью декодировать программное значение кода LDPC на основе базовой матрицы HB, соответствующей коэффициенту Z подъема, для получения последовательности битов информации.
[0028] Согласно четвертому аспекту предоставлена аппаратура связи. Аппаратура связи включает в себя один или несколько процессоров. В возможном исполнении один или несколько процессоров сконфигурированы для выполнения любой из возможных реализаций кодера согласно первому аспекту. В другом возможном исполнении кодер в соответствии с первым аспектом может быть частью процессора. В дополнение к функциям кодера согласно первому аспекту процессор может дополнительно реализовывать другие функции. В возможном исполнении один или несколько процессоров могут реализовывать функции декодера согласно второму аспекту. В другом возможном исполнении декодер согласно второму аспекту может быть частью процессора.
[0029] Необязательно, аппаратура связи может дополнительно включать в себя приемопередатчик и антенну. Необязательно, аппаратура связи может дополнительно включать в себя компонент для циклическим избыточным кодом (CRC) транспортного блока, компонент для сегментации кодового блока и проверки CRC, перемежитель для перемежения, модулятор для обработки модуляции или тому подобное. В возможном исполнении функции этих компонентов могут быть реализованы с использованием одного или нескольких процессоров.
[0030] Необязательно, аппаратура связи может дополнительно включать в себя демодулятор для операции демодуляции, обращенный перемежитель для обратного перемежения, компонент для обеспечения несовпадения скорости или тому подобное. Функции этих устройств могут быть реализованы с использованием одного или нескольких процессоров.
[0031] Согласно пятому аспекту вариант осуществления настоящей заявки предоставляет систему связи. Система включает в себя аппаратуру связи согласно третьему аспекту.
[0032] Согласно шестому аспекту вариант осуществления настоящей заявки предоставляет систему связи. Система включает в себя одну или несколько аппаратур связи в соответствии с четвертым аспектом.
[0033] Согласно еще одному аспекту вариант осуществления настоящей заявки предоставляет компьютерный носитель данных. Компьютерный носитель данных хранит программу, и когда программа запускается, компьютер должен выполнять способы, описанные в предыдущих аспектах.
[0034] Еще один аспект этой заявки предоставляет компьютерный программный продукт, включающий в себя одну или несколько инструкций, которые при выполнении компьютером заставляют компьютер выполнять способы в соответствии с вышеизложенными аспектами.
[0035] Согласно способу обработки информации, аппаратуре, устройству связи и системе связи в вариантах осуществления настоящей заявки, требования гибкой кодовой длины и скорости кодирования системы могут быть удовлетворены с точки зрения производительности кодирования и минимального уровня ошибок.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0036] Фиг. 1 показывает примеры базового графа, базовой матрицы и матриц циклической перестановки, которые используются в коде LDPC;
[0037] Фиг. 2 - структурная схема базового графа, который используется в коде LDPC;
[0038] Фиг. 3a является схематической диаграммой базового графа, который используется в коде LDPC согласно варианту осуществления настоящей заявки;
[0039] Фиг. 3b-1 является схематической диаграммой базовой матрицы в соответствии с вариантом осуществления настоящей заявки;
[0040] Фиг. 3b-2 - схематическая диаграмма другой базовой матрицы в соответствии с вариантом осуществления настоящей заявки;
[0041] Фиг. 3b-3 - схематическая диаграмма другой базовой матрицы в соответствии с вариантом осуществления настоящей заявки;
[0042] Фиг. 3b-4 является схематической диаграммой другой базовой матрицы согласно варианту осуществления настоящей заявки;
[0043] Фиг. 3b-5 является схематической диаграммой другой базовой матрицы согласно варианту осуществления настоящей заявки;
[0044] Фиг. 3b-6 - схематическая диаграмма другой базовой матрицы в соответствии с вариантом осуществления настоящей заявки;
[0045] Фиг. 3b-7 - схематическая диаграмма другой базовой матрицы в соответствии с вариантом осуществления настоящей заявки;
[0046] Фиг. 3b-8 - схематическая диаграмма другой базовой матрицы в соответствии с вариантом осуществления настоящей заявки;
[0047] Фиг. 4 является диаграммой производительности, обеспеченной вариантом осуществления настоящей заявки;
[0048] Фиг. 5 - блок-схема процедуры обработки информации в соответствии с вариантом осуществления настоящей заявки;
[0049] Фиг. 6 - блок-схема процедуры обработки информации в соответствии с вариантом осуществления настоящей заявки;
[0050] Фиг.7 - упрощенная блок-схема устройства связи в соответствии с вариантом осуществления настоящей заявки; и
[0051] Фиг. 8 - блок-схема системы связи в соответствии с вариантом осуществления настоящей заявки.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0052] Для простоты понимания ниже описаны некоторые термины, используемые в данной заявке.
[0053] В этой заявке термины «сеть» и «система» часто используются взаимозаменяемо, «аппаратура» и «устройство» часто используются взаимозаменяемо, и «информация» и «данные» также часто используются взаимозаменяемо. Значения этих терминов общеприняты. «Аппаратура связи» может относиться к микросхеме (например, микросхеме основной полосы частот, микросхеме цифровой обработки сигналов или микросхеме общего назначения), терминалу, базовой станции или другим сетевым устройствам. Терминал - это устройство, имеющее функции связи. Терминал может быть портативным устройством, автомобильным устройством, носимым устройством или другими видами устройств, которые имеют функции беспроводной связи. Терминал может называться разными названиями в разных сетях, такими как пользовательское оборудование, мобильная станция, абонентское устройство, станция, сотовый телефон, персональный цифровой помощник, беспроводной модем, устройство беспроводной связи, портативное устройство, портативный компьютер, беспроводной телефонный аппарат или беспроводная локальная линейная станция. Для простоты описания эти устройства все вместе упоминаются как терминал в этой заявке. Базовая станция (base station, BS) или называемая устройством базовой станции - это устройство, развернутое в сети радиодоступа для обеспечения функций беспроводной связи. Базовая станция может называться разными названиями в разных системах беспроводного доступа. Например, базовая станция в сети Универсальной системы мобильной связи (UMTS) упоминается как NodeB (узел B). Базовая станция в сети долгосрочного развития (LTE) упоминается как развитый NodeB (eNB или eNodeB). Базовая станция в новой сети радиосвязи (NR) упоминается как точка приема передачи (TRP) или NodeB следующего поколения (gNB). Базовые станции в других сетях могут называться другими названиями. Это не ограничено в настоящей заявке.
[0054] Технические решения в вариантах осуществления настоящей заявки описаны ниже со ссылкой на прилагаемые чертежи.
[0055] Код LDPC может быть определен матрицей H проверки на четность H. В одной реализации матрица H проверки на четность для кода LDPC, также называемая матрицей LDPC, представлена матрицей, называемой базовым графом, и каждый элемент в базовом графе представляет собой матрицу расширения (подъема) Z×Z. Z представляет собой положительное целое число и упоминается как коэффициент Z подъема. Z также может упоминаться как размер подъема или тому подобное. Базовый граф используется для указания местоположения нулевых элементов и ненулевых элементов. Каждый ненулевой элемент в базовом графе соответствует значению сдвига. Матрица H проверки на четность для кода LDPC может быть получена на основе базового графа и значений сдвига. Обычно базовый граф включает в себя m × n матричных элементов (также называемые записями) и представлен матрицей из m строк и n столбцов. Значение каждого элемента матрицы равно 0 или 1. Элемент, значение которого равно 0, называется нулевым элементом, который соответствует матрице из всех нулей Z столбца ×Z строки. Элемент, значение которого равно 1, называется ненулевым элементом, который соответствует матрице циклической перестановки Z столбца×Z строки. Другими словами, каждый элемент базового графа представляет собой либо матрицу из всех нулей, либо матрицу циклической перестановки. В примере 10a базового графа, показанном на фиг. 1, m=7 и n=17, и базовый граф 10a имеет структуру QC. Следует отметить, что во всем этой заявке индексы строк и индексы столбцов базовых графов и базовых матриц нумеруются начиная с 0, и это просто для простоты описания. Например, индекс 0 столбца представляет первый столбец в базовом графе или базовой матрице, индекс 1 столбца представляет второй столбец в базовом графе или базовой матрице, индекс 0 строки представляет первую строку в базовом графе или базовой матрице индекс 1 строки представляет вторую строку в базовом графе или базовой матрице и так далее.
[0056] Понятно, что строки и столбцы могут альтернативно быть пронумерованы, начиная с 1. В этом случае индексы строк и столбцов, показанные в данном описании, увеличиваются на 1 соответственно. Например, если индексы строк и индексов столбцов нумеруются, начиная с 1, столбец 1 представляет первый столбец в базовом графе и матрице, столбец 2 представляет второй столбец в базовом графе и матрице, строка 1 представляет первую строку в базовом графе и матрице, строка 2 представляет вторую строку в базовом графе и матрице и так далее.
[0057] В другой реализации базовая матрица из m строк и n столбцов может быть определена и иногда упоминается как PCM (parity check matrix). Например, любая матрица, представленная на фиг. с 3b-1 по фиг. 3b-8 или матрица, включающая в себя некоторые строки и столбцы в любой матрице на фиг. с 3b-1 по фиг. 3b-8 определена. Элементы в базовой матрице однозначно соответствуют элементам в базовом графе. Нулевой элемент в базовом графе имеет такую же позицию в базовой матрице. В базовой матрице нулевой элемент может быть представлен как -1 или «ноль». Расположение ненулевого элемента в строке i и столбце j, значение которого равно 1 в базовом графе, имеет такую же позицию в базовой матрице, и ненулевой элемент представлен как Vi,j. Значение Vi,j в базовой матрице может быть определено системой или может быть предварительно определено, или Vi,j может быть получено на основе значения Pi,j сдвига ненулевого элемента в базовом графе и коэффициента Z подъема. Pi,j является значением сдвига, соответствующим заранее определенному или конкретному коэффициенту Z подъема. Pi,j может быть получено на основе Z и Vi,j. В реализации Pi,j и Vi,j удовлетворяют следующему соотношению:
Pi,j=mod(Vi,j, Z)
где i и j представляют индекс строки и индекс столбца ненулевого элемента и указывают местоположение элемента в базовой матрице.
[0058] В вариантах осуществления этой заявки иногда базовая матрица также упоминается как матрица сдвига базового графа. Базовая матрица может быть получена в соответствии с базовым графом и значением сдвига. Если элемент в строке i и столбце j базового графа имеет значение 1, а значение сдвига элемента равно Pi,j, где Pi,j - целое число, большее или равное 0, это означает, что элемент может быть заменен на матрицу циклической перестановки Z×Z, соответствующую Pi,j. Матрица циклической перестановки также может называться матрицей сдвига. Матрица циклической перестановки может быть получена путем циклического сдвига единичной матрицы Z×Z вправо или влево Pi,j раз. В реализации,
Pi,j=mod(Vi,j, Z)
где Vi,j - это значение в базовой матрице, которое соответствует ненулевому элементу в базовом графе. Иногда Vi,j также может упоминаться как значение сдвига, значение циклического сдвига или коэффициент сдвига. Vi,j может быть, например, значением сдвига, соответствующим максимальному коэффициенту Zmax. Zmax является максимальным значением в наборе значений Z. Если значение элемента в строке i и столбце j в базовом графе равно 0, элемент может быть заменен на матрицу Z×Z со всеми нулями. Если значение элемента в строке i и столбце j в базовом графе равно 1, элемент может быть заменен матрицей циклической перестановки Z×Z, имеющей значение сдвига Pi,j. Таким образом, получается матрица H проверки четности для кода LDPC. Z является положительным целым числом и может упоминаться как коэффициент подъема, размер подъема или тому подобное. Z может быть определен на основе размера кодового блока и размера информационных данных, которые поддерживаются системой. Можно видеть, что для базового графа из m строк × n столбцов размер матрицы H проверки четности для кода LDPC составляет (m×Z) строк × (n×Z) столбцов. Например, если коэффициент Z подъема равен 4, каждый нулевой элемент заменяется матрицей из всех нулей размером 4×4 (см. 11a на фиг. 1). Если P2,3=2, ненулевой элемент в строке 2 и столбце 3 базовой матрицы заменяется матрицей 11d циклической перестановки 4×4 на фиг. 1. Матрица 11d получается путем циклического сдвига единичной матрицы 11b 4×4 вправо дважды. Если P2,4=0, ненулевой элемент в строке 2 и столбце 4 заменяется единичной матрицей 11b. Следует отметить, что этот пример приведен только для иллюстрации и не предназначен для ограничения.
[0059] Значение Pi,j может зависеть от коэффициента Z подъема. Для элемента 1 в базовом графе Pi,j может отличаться для разных коэффициентов Z подъема. Базовая матрица, соответствующая базовому графу 10a, показана на фиг.10b на фиг. 1. Например, для значения 1 в строке 1 и столбце 3 в базовом графе 10a соответствующее значение Vi,j сдвига в строке 1 и столбце 3 в базовой матрице 10b равно 27. Значение Pi,j может быть получено в соответствии с Pi,j=mod(Vi,j, Z). Таким образом, элемент в строке 1 и столбце 3 может быть заменен матрицей циклической перестановки, которая получается путем циклического сдвига единичной матрицы размера Z×Z вправо или влево Pi,j раз.
[0060] Обычно базовый граф или базовая матрица для кода LDPC могут дополнительно включать в себя p столбцов встроенного выколотого столбца, где p может быть целым числом от 0 до 2. Эти столбцы могут использоваться при кодировании, но закодированные системные биты, соответствующие встроенным выколотым столбцам, не отправляются. В этом случае скорость кодирования базовой матрицы для кода LDPC удовлетворяет условию R=(n-m)/(n-p). Используя базовый граф 10a в качестве примера, если имеется два встроенных выколотых столбца, скорость кодирования составляет (17–7)/(17–2)=0.667, что составляет приблизительно 2/3.
[0061] Код LDPC, используемый в системе беспроводной связи, представляет собой код QC-LDPC. Часть бита четности в коде QC-LDPC имеет двухдиагональную структуру или структуру, подобную раптору. Это может упростить кодирование и поддерживать гибридное повторение с добавочной избыточностью. Декодер для кода QC-LDPC обычно использует сеть сдвига QC-LDPC (QSN), сеть Banyan или сеть Benes для информации циклического сдвига.
[0062] Базовый граф 200 для кода QC-LDPC, который имеет структуру, похожую на раптор, представляет собой матрицу из m строк и n столбцов. Базовый граф 200 может включать в себя пять подматриц A, B, C, D и E. Вес строки или столбца матрицы определяется количеством ненулевых элементов в строке или столбце. Вес строки (row weight) означает количество ненулевых элементов в строке, а вес столбца (column weight) означает количество ненулевых элементов в столбце. Следующее показано на базовом графе 200 на фиг. 2:
[0063] Подматрица A является матрицей строк mA и столбцов nA, а размер подматрицы A равен mA × nA. Каждый столбец соответствует Z системным битам в коде LDPC, а системный бит иногда упоминается как информационный бит.
[0064] Подматрица B является матрицей из строк mA и столбцов mA, а размер подматрицы B равен mA × mA. Каждый столбец соответствует Z битам четности в коде LDPC. Подматрица B включает в себя подматрицу B', имеющую двухдиагональную структуру, и столбец матрицы, вес столбца которого равен 3 (столбец c весом 3 для краткости). Столбец с весом 3 может быть расположен с левой стороны подматрицы B', как показано позицией 20a на фиг. 2. Подматрица B может дополнительно включать в себя один или несколько столбцов матрицы, вес столбца которых равен 1 (столбец с весом 1 для краткости). 20b и 20c на фиг. 2 - примеры возможных расположений столбцов с весом 1.
[0065] Обычно матрица, сгенерированная на основе подматриц A и B, может упоминаться как базовая матрица, которая может использоваться для поддержки кодирования с высокой кодовой скоростью.
[0066] Подматрица C является матрицей из всех нулей, а размер подматрицы C равен mA×mD.
[0067] Подматрица E является единичной матрицей, а размер подматрицы E равен mD×mD, где mD=m-mA.
[0068] Размер подматрицы D равен mD×(nA+mA), и обычно может использоваться для генерации битов четности с низкой кодовой скоростью.
[0069] Поскольку подматрицы C и E имеют относительно определенные структуры, структуры трех подматриц A, B и D являются одними из факторов, влияющих на производительность кодирования/декодирования кода LDPC.
[0070] Понятно, что вышеизложенное описывает структуру базового графа/базовой матрицы с точки зрения принципов. Разделение подматриц A, B, C, D и E просто для облегчения понимания с точки зрения принципов. Понятно, что разделение подматриц A, B, C, D и E не ограничивается вышеупомянутым способом разделения. В некоторой реализации, C является матрицей из всех нулей, E является единичной матрицей, и структуры C и E известны. Следовательно, матрица LDPC может быть представлена в упрощенной форме без использования всех подматриц A, B, C, D и E. Например, матрица LDPC может быть представлена в упрощенной форме подматрицами A, B и D, подматрицами A, B, C и D или подматрицами A, B, D и E. В другой реализации, поскольку подматрица B включает в себя один или несколько столбцов с весом 1, для одного или нескольких столбцов с весом 1 в подматрице B, структура относительно определена. Поэтому один или несколько столбцов с весом 1 не могут использоваться для представления матрицы LDPC. Например, подматрица A, некоторые столбцы в подматрице B и соответствующие столбцы в подматрице D могут использоваться для представления матрицы LDPC. Когда для кодирования используется матрица LDPC, имеющая подобную раптору структуру, возможная реализация состоит в том, что часть матрицы, включающая в себя подматрицы A и B, а именно базовую матрицу, может сначала использоваться в кодировании для получения одного или нескольких битов четности соответствующих подматрице B. Затем вся матрица LDPC используется в кодировании для получения одного или нескольких битов четности, соответствующих подматрице E. Поскольку подматрица B может включать в себя подматрицу B’ с двухдиагональной структурой и один или несколько столбцов с весом 1, во время кодирования сначала могут быть получены биты четности, соответствующие подматрице B’, и затем могут быть получены биты четности, соответствующие столбцам с весом 1.
[0071] Пример схемы кодирования приведен ниже. Предположим, что базовая матрица, включающая в себя подматрицы A и B, является Hcore. Последняя строка и последний столбец Hcore удаляются. Другими словами, столбец с весом 1 и строка, в которой расположен ненулевой элемент в столбце с весом 1, удаляются из Hcore для получения матрицы Hcore-dual. Часть битов четности в Hcore-dual представлена как He=[He1 He2], где He1 столбец с весом 3, а He2 имеет двухдиагональную структуру. Согласно определению матрицы LDPC, Hcore-dual⋅[S Pe]T=0, где S - входная последовательность и представлена вектором информационных битов, Pe - вектор битов четности, а [S Pe]T представляет собой транспонированную матрицу, образованную входной последовательностью S и Pe. Следовательно, биты четности, соответствующие Hcore-dual, могут быть сначала вычислены на основе входной последовательности S и Hcore-dual, где входная последовательность S включает в себя все информационные биты. Затем биты четности, соответствующие одному или нескольким столбцам с весом 1 в подматрице B, вычисляются на основе битов четности, соответствующих Hcore-dual, и входной последовательности S. В этом случае все биты четности, соответствующие подматрице B, могут быть получены. Биты четности, соответствующие подматрице E, получают путем кодирования подматрицы D на основе входной последовательности S и битов четности, соответствующих подматрице B, для получения всех информационных битов и всех битов четности. Эти биты составляют кодированную последовательность, а именно, кодовое слово LDPC.
[0072] Код LDPC может дополнительно включать в себя операцию сокращения (shortening) или операцию выкалывания в кодированной последовательности. Сокращенные биты или выколотые биты не отправляются.
[0073] Сокращение обычно выполняется, начиная с последнего бита из информационных битов, и может выполняться различными способами. Например, если количество сокращенных битов равно s0, последние s0 битов во входной последовательности S могут быть установлены как известные биты, например, равны 0, пустому значению или другому значению, чтобы получить входную последовательность S'. Затем входная последовательность S’ кодируется с использованием матрицы LDPC. В другом примере последние (s0 mod Z) биты во входной последовательности S могут альтернативно быть установлены как известные биты, например, установлены как 0, пустое значение или какое-либо другое значение, чтобы получить входную последовательность S’. Последние ⌊s0/Z⌋ столбцы в подматрице A удаляются для получения матрицы H’ LDPC, а входная последовательность S’ кодируется с использованием матрицы H’ LDPC; или последние ⌊s0/Z⌋ столбцы в подматрице A не участвуют в кодировании входной последовательности S’. После кодирования сокращенные биты не отправляются.
[0074] Выкалывание может быть выполнено на встроенном(ых) бите(ах) выкалывания или бите(ах) четности во входной последовательности. Выкалывание битов четности обычно выполняется, начиная с последнего бита в битах четности. В качестве альтернативы, выкалывание бита(ов) четности может выполняться в соответствии с предварительно установленным порядком выкалывания системы. Возможная реализация заключается в следующем: входная последовательность сначала кодируется, а затем последние p битов в битах четности выбирается/выбираются на основе количества p битов, которые должны быть выколоты, или p битов выбирается/выбираются на основе предварительно установленного порядка выкалывания системы. p битов не отправляется/ не отправляются. В другой возможной реализации альтернативно могут быть определены p столбцов в матрице, которые соответствуют выколотым битам, и p строк, в которых расположены ненулевые элементы в столбцах. Эти строки и столбцы не участвуют в кодировании, и соответствующие биты четности не генерируются.
[0075] Следует отметить, что реализация кодирования, описанная в данном документе, является просто примером, и другие реализации кодирования, известные специалисту в данной области техники, могут альтернативно использоваться на основе базового графа и/или базовой матрицы, предоставленных в вариантах осуществления этой заявки. В данной заявке это однозначно не ограничено. Декодирование в этой заявке может выполняться множеством способов декодирования, например, может использоваться способ декодирования с минимальной суммой (MS) или способ декодирования с доверительным распространением. Способ декодирования MS иногда упоминается как способ декодирования MS заливки (Flood MS). Например, входная последовательность инициализируется, а затем выполняется обработка итерации. Обнаружение жесткого решения выполняется после итерации, и выполняется проверка результата жесткого решения. Если результат декодирования удовлетворяет проверочному уравнению, декодирование завершается успешно, итерация заканчивается, и результат решения выводится. Если результат декодирования не удовлетворяет проверочному уравнению, обработка итерации выполняется снова в пределах максимального количества итераций. Если проверка все еще не проходит, когда достигнуто максимальное количество итераций, декодирование завершается неудачно. Принцип MS декодирования понятен специалисту в данной области техники, и подробности здесь не описаны.
[0076] Следует отметить, что способ декодирования, описанный здесь, является просто примером, и другие способы декодирования, известные специалисту в данной области техники, могут альтернативно использоваться на основе базового графа и/или базовой матрицы, предоставленной в этой заявке. Способ декодирования не ограничен в этой заявке.
[0077] Кодовое слово LDPC получается в зависимости от конструкции базового графа или базовой матрицы. Например, верхний предел производительности кода LDPC может быть определен путем выполнения эволюции плотности на базовом графе или базовой матрице. Минимальный уровень ошибки кода LDPC определяется на основе значения сдвига в базовой матрице. Эффективность кодирования или декодирования может быть улучшена, а минимальный уровень ошибок может быть уменьшен путем правильного проектирования базового графа или базовой матрицы. В системах беспроводной связи длина кода является гибкой, например, 2560 бит или 38400 бит. Фиг. 3a показывает пример базового графа для кода LDPC. Фиг. с 3b-1 по 3b-8 показывают примеры базовых матриц, соответствующих базовому графу на фиг. 3a. Базовые матрицы могут удовлетворять требованиям производительности множества длин блоков. Для простоты описания и понимания индексы столбцов и индексы строк соответственно показаны на самой верхней стороне и самой левой стороне на 3а и фиг. с 3b-1 по 3b-8.
[0078] Фиг. 4 - схематическая диаграмма производительности кода LDPC, показанного на фиг. 3a. На диаграмме производительности, показанной на фиг. 4, показаны кривые производительности кодирования с использованием любой из матриц, показанных на фиг. с 3b-1 до 3b-8. Горизонтальная координата представляет длину последовательности информационных битов в единицах битов, а вертикальная координата представляет собой отношение сигнал/шум (Es/N0) для символа, требуемого для достижения соответствующей частоты блочных ошибок (BLER). Две линии каждой кодовой скорости соответствуют двум BLER 0,01 и 0,0001. Для той же кодовой скорости 0,01 соответствует верхней кривой, а 0,0001 соответствует нижней кривой. Если кривые гладкие, это указывает на то, что матрица имеет относительно высокую производительность в случаях различных длин блока.
[0079] Фиг. 3a показывает пример базового графа кода LDPC. На базовом графе фиг. 3а, числа от 0 до 51 в самой верхней строке являются индексами столбцов и соответствуют столбцам от 0 до столбца 51 базового графа соответственно. Числа от 0 до 41 в крайнем левом столбце являются индексами строк и соответствуют от 0 до 41 строкам основного графа соответственно. То есть базовый граф имеет размер из 42 строк и 52 столбца.
[0080] В реализации комбинация подматрицы A и подматрицы B может рассматриваться как базовая матрица базового графа для кода LDPC, а базовая матрица может использоваться для кодирования с высокой кодовой скоростью. Как показано на фиг. 3a, матрица из 7 строк и 17 столбцов в верхнем углу базового графа может рассматриваться как базовая матрица базового графа. Базовая матрица включает в себя подматрицу A и подматрицу B. Подматрица A представляет собой матрицу из 7 строк и 10 столбцов и состоит из строки 0 - строки 6 и столбца 0 - столбца 9 базовой матрицы на фиг. 3a. Подматрица B представляет собой матрицу из 7 строк и 7 столбцов и состоит из строки 0 - строки 6 и столбца 10 - столбца 16 базовой матрицы на фиг. 3a.
[0081] В другой реализации матрица состоит из 7 строк и 14 столбцов, или матрица, состоящая из 7 строк и 15 столбцов, или матрица, состоящая из 7 строк и 16 столбцов, в верхнем левом углу базового графа, показанного на фиг. 3а, может рассматриваться как основная часть. Другими словами, в базовом графе, показанном на фиг. 3a, матрица, состоящая из строки 0 - строки 6 и столбца 0 - столбца 13, или матрица, состоящая из строки 0 - строки 6 и столбца 0 - столбца 14, или матрица, состоящая из строки 0 - строки 6 и столбца 0 - столбца 15, может рассматриваться как основная часть. Соответственно, часть в любой из матриц, показанных на фиг. с 3b-1 по 3b-8, которая соответствует основной части на базовом графе на фиг. 3a альтернативно может рассматриваться как основная часть.
[0082] В реализации подматрица A может включать в себя один или несколько встроенных выколотых столбцов. Например, подматрица A может включать в себя два встроенных выколотых столбца. В этом случае после выкалывания скорость кодирования, которая может поддерживаться базовой матрицей, составляет 2/3. Подматрица B может включать в себя один столбец с весом 1. Конкретнее, вес столбца первого столбца в подматрице B равен 3 (столбец 10 в базовой матрице). Вес столбца второго столбца в подматрице B равен 5 (столбец 11 в базовой матрице). Со второго столбца до четвертого столбца (от столбца 11 до столбца 13 в базовой матрице) и со строки 0 до строки 3 в подматрице B имеют двухдиагональную структуру, где веса столбцов третьего столбца и четвертого столбца (столбец 12 и столбец 13 в базовой матрице) равны 2. Подматрица B дополнительно включает в себя три столбца с весом 1 (столбцы с 14 по 16 в базовой матрице).
[0083] В реализации подматрица A может соответствовать системным битам, иногда также упоминается как информационные биты и имеет размер mA строк и 10 столбцов, где mA=5. Подматрица A состоит из элементов в строке от 0 до строки 4 и от столбца 0 до столбца 9 на базовом графе 30a на фиг. 3a.
[0084] В реализации подматрица B может соответствовать битам четности и иметь размер mA строк и mA столбцов. Подматрица B состоит из элементов в строке от 0 до строки 6 и от столбца 10 до столбца 16 на базовом графе 30a на фиг. 3a.
[0085] Чтобы получить гибкую кодовую скорость, подматрица C, подматрица D и подматрица E соответствующих размеров могут быть добавлены на основе базовой матрицы, чтобы получить разные кодовые скорости. Поскольку подматрица C является нулевой матрицей, подматрица E является единичной матрицей, а размеры подматриц в основном определяются на основе кодовых скоростей, структуры являются относительно фиксированными. На производительность кодирования/декодирования в основном влияют базовая матрица и подматрица D. Строки и столбцы добавляются на основе базовой матрицы, чтобы сформировать соответствующие части C, D и E, тем самым получая различные кодовые скорости.
[0086] Количество mD столбцов в подматрице D является суммой количеств столбцов в подматрице A и подматрице B. Количество строк в подматрице D главным образом связано с кодовой скоростью. Используя базовый граф 30a на фиг. 3a, например, подматрица D имеет 17 столбцов. Если скорость кодирования, поддерживаемая кодом LDPC, равна Rm, базовый граф или базовая матрица для кода LDPC имеет m строк и n столбцов, где n=nA/Rm+p, m=n-nA=nA/Rm+p-nA, а p - количество встроенных выколотых столбцов. Скорость кодирования, поддерживаемая кодом LDPC, может быть получена на основе формулы. Если самая низкая скорость кодирования равна Rm=1/3, а количество p встроенных выколотых столбцов равно 2, в примере базового графа 30a на фиг. 3a, например, n=52, m=42 и количество mD строк в подматрице D может составлять до m–mA=42–7=35, так что 0≤mD≤35.
[0087] Используя базовый граф 30a на фиг. 3a в качестве примера, подматрица D может включать в себя mD строк в строке с 7 по 41.
[0088] В этой заявке, если в каждом столбце имеется не более одного ненулевого элемента для двух смежных строк в базовом графе, эти две строки являются ортогональными. В других столбцах, отличающихся от некоторых столбцов для двух смежных строк в базовом графе, если в каждом столбце других столбцов для двух смежных строк содержится не более одного ненулевого элемента, две соседние строки являются квазиортогональными. Например, для двух смежных строк в каждом столбце, отличном от встроенных выколотых столбцов, если имеется только один ненулевой элемент, можно считать, что две смежные строки являются квазиортогональными.
[0089] Строка 7 - строка 41 на базовом графе 30a на фиг. 3a, могут включать в себя множество строк в квазиортогональной структуре и по меньшей мере две строки в ортогональной структуре. Например, строка 32 и строка 33 на базовом графе 30a на фиг. 3а являются ортогональными, строка 34 и строка 35 ортогональны, и строки 36, 37 и 38 являются ортогональными. Для любых двух смежных строк в других столбцах, отличных от встроенного выколотого столбца, если в каждом столбце имеется не более одного ненулевого элемента, две смежные строки удовлетворяют квазиортогональной структуре. Если включены встроенные выколотые столбцы, то в любом из столбцов имеется не более одного ненулевого элемента, две соседние строки удовлетворяют ортогональной структуре.
[0090] Если mD=15, подматрица D в базовом графе кода LDPC имеет 15 строк и 17 столбцов и может быть матрицей, состоящей из строки 7 - строки 21 и столбца 0 - столбца 16 в базовом графе 30a на фиг. 3a. Соответствующая скорость кодирования, поддерживаемая кодом LDPC, может быть получена на основе вышеупомянутой формулы вычисления.
[0091] Подматрица E является единичной матрицей из 15 строк и 15 столбцов, а подматрица C является матрицей из всех нулей из 7 строк и 15 столбцов.
[0092] Если mD=19, подматрица D в базовом графе кода LDPC имеет 19 строк и 17 столбцов и может быть матрицей, состоящей из строки 7 - строки 25 и столбца 0 - столбца 16 в базовом графе 30a на фиг. 3a. Соответствующая скорость кодирования, поддерживаемая кодом LDPC, может быть получена на основе вышеупомянутой формулы вычисления. При этой кодовой скорости базовый граф кода LDPC соответствует матрице, состоящей из строки 0 - строки 25 и столбца 0 - столбца 16 в базовом графе 30a на фиг. 3a. Подматрица E является единичной матрицей из 16 строк и 16 столбцов, а подматрица C является матрицей из всех нулей из 7 строк и 16 столбцов. То же самое верно, если mD - другое значение, детали не описаны.
[0093] В некотором исполнении перестановка строк/столбцов может выполняться на базовом графе и/или базовой матрице. Перестановка строк/столбцов может быть перестановкой строк, перестановкой столбцов или перестановкой строк и перестановок столбцов. Перестановка строк/столбцов не изменяет вес строки или вес столбца, а также не меняет количество ненулевых элементов. Следовательно, базовый граф и/или базовая матрица, полученные путем выполнения перестановки строк/столбцов, оказывает/оказывают ограниченное влияние на производительность системы. В целом, влияние на производительность системы из-за перестановки строк/столбцов является приемлемым и находится в пределах допуска. Например, производительность снижается в пределах допустимого диапазона в некоторых сценариях или в некоторых диапазонах, в то время как в некоторых сценариях или в некоторых диапазонах производительность улучшается до некоторой степени, и общая производительность не сильно изменяется.
[0094] Например, строку 34 и строку 36 базового графа 30a на фиг. 3a, можно переставлять, а столбец 44 и столбец 45 можно менять местами. В другом примере подматрица D включает в себя mD строк в матрице F. Перестановка строк может не выполняться в mD строках, или перестановка строк может выполняться в одной или нескольких из mD строк. Подматрица E по-прежнему имеет диагональную структуру, и на подматрице E не выполняется перестановка строк или перестановка столбцов. Например, перестановка строк выполняется в строке 27 и строке 29 в матрице F. Подматрица D включает в себя mD строк в матрице F, и подматрица E все еще имеют диагональную структуру. Понятно, что если базовый граф или базовая матрица включает в себя подматрицу D, то когда перестановка столбов выполняется на базовой матрице, перестановка столбцов должна выполняться соответственно на подматрице D.
[0095] Матрицы, показанные на фиг. с 3b-1 по 3b-8 являются примерами базовых матриц, соответствующих базовому графу 30a на фиг. 3a. Расположение ненулевого элемента в строке i и столбце j на базовом графе 30a на фиг. 3a является таким же, как в матрицах, показанных на фиг. с 3b-1 по 3b-8. Значение сдвига ненулевого элемента равно Vi,j. Нулевой элемент представлен как значение -1 или ноль в базовой матрице. Соответствующая часть подматрицы D в базовой матрице может включать в себя mD строк в строке с 7 по 41 в любой из базовых матриц, и значения mD могут выбираться на основе разных кодовых скоростей. Можно понять, что если базовый граф является матрицей, полученной путем выполнения преобразования строки/столбца на базовом графе 30a на фиг. 3a, соответственно, базовая матрица является соответствующей матрицей, полученной посредством выполнения преобразования строки/столбца.
[0096] В возможном исполнении, поскольку структуры подматриц C и E относительно фиксированы, базовый граф/базовая матрица кода LDPC может быть представлен с использованием подматриц A, B и D, то есть строк от строки 0 до строки 41 и столбцов от столбца 0 до столбца 16 в любой матрице, показанной на фиг. 3а или фиг. с 3b-1 по 3b-8.
[0097] В возможном исполнении, поскольку столбцы с 14 по 51 имеют относительно определенную структуру, базовый граф/базовая матрица кода LDPC может быть представлена в упрощенной форме с использованием строки 0 - строки 41 и столбца 0 - столбца 13 в любой из матриц, показанных на фиг. 3а или фиг. с 3b-1 по 3b-8.
[0098] В возможном исполнении базовый граф/базовая матрица кода LDPC может быть представлена с использованием строки от 0 до строки 41 и от столбца 0 до столбца 13, а также от некоторого из столбца 14 до столбца 51 в любой матрице, показанной на фиг. 3а или фиг. с 3b-1 по 3b-8. Например, базовый граф/базовая матрица кода LDPC может быть представлена с использованием строки 0 - строки 41 и столбца 0 - столбца 15 или строки 0 - строки 41 и столбца 0 - столбца 14 в любой из матриц, показанных на фиг. , 3а или фиг. с 3b-1 по 3b-8.
[0099] В возможном исполнении базовая матрица кода LDPC может включать в себя строки от 0 до строки 6 и от столбца 0 до столбца 16 в любой из матриц, показанных на фиг. с 3b-1 по 3b-8. В этом случае матрица, состоящая из строки 0 - строки 6 и столбца 0 - столбца 16 в любой из матриц, показанных на фиг. с 3b-1 по 3b-8 может использоваться в качестве основной части базовой матрицы. В этом исполнении структура другой части, например, подматрицы C, D и E базовой матрицы кода LDPC, не ограничена. Например, любая структура, показанная на фиг. от 3b-1 до 3b-8 или другая структура матрицы может использоваться.
[0100] В другом возможном исполнении базовая матрица кода LDPC может включать в себя матрицу, состоящую из строки от 0 до строки m-1 и от столбца 0 до столбца n-1 в любой из матриц, показанных на фиг. с 3b-1 по 3b-8, где 7≤m≤42, m - целое число, 18≤n≤52, и n - целое число.
[0101] В этой конструкции структура другой части базовой матрицы кода LDPC не ограничена. Например, любая структура, показанная на фиг. с 3b-1 до 3b-8 или другая структура матрицы может использоваться.
[0102] В еще одном возможном исполнении базовая матрица кода LDPC может включать в себя строки от 0 до строки 6 и некоторые столбцы от столбца 0 до столбца 16 в любой из матриц с 3b-1 по 3b-8, показанных на фиг. с 3b-1 по 3b-8. Например, основная часть (строка 0 - строка 6 и столбец 0 - столбец 16) матриц, показанных на фиг. с 3b-1 по 3b-8, могут быть сокращены и/или выколоты. В реализации базовая матрица кода LDPC может не включать в себя столбец (столбцы), соответствующий сокращенному и/или выколотому биту (битам).
[0103] В этом исполнении другая часть базовой матрицы кода LDPC не ограничена. Например, структура, показанная на фиг. с 3b-1 по 3b-8 может использоваться, могут использоваться и другие структуры.
[0104] В еще одном возможном исполнении базовая матрица кода LDPC может включать в себя матрицу, состоящую из строк от 0 до строки m-1 и некоторых столбцов из столбца 0 до столбца n-1 в любой из матриц, показанных на фиг. с 3b-1 по 3b-8, где 7≤m≤42, m - целое число, 18≤n≤52, а n - целое число. Например, операция сокращения и/или операция выкалывания может выполняться в строке от 0 до строки m-1 и от столбца 0 до столбца n-1 любой из матриц, показанных на фиг. с 3b-1 по 3b-8. В реализации базовая матрица кода LDPC может не включать в себя столбец (столбцы), соответствующий укороченному и/или выколотому биту (битам). В этом исполнении другая часть базовой матрицы кода LDPC не ограничена. Например, структура, показанная на любой из фиг. с 3b-1 по 3b-8 может использоваться, могут использоваться и другие структуры.
[0105] В реализации операция сокращения может быть сокращением информационных битов. Используя любую из матриц, показанных, например, на фиг. с 3b-1 по 3b-8, один или несколько столбцов из столбца 0 - столбца 9 сокращены. В этом случае базовая матрица кода LDPC может не включать в себя один или несколько сокращенных столбцов в любой из матриц, показанных на фиг. с 3b-1 по 3b-8. Например, если столбец 9 сокращен, базовая матрица кода LDPC может включать в себя столбцы от 0 до столбца 8 и от столбца 10 до столбца 16 в любой из матриц на фиг. с 3b-1 по 3b-8.
[0106] В другой реализации операция выкалывания может быть выкалыванием битов четности. Используя любую из матриц, показанных, например, на фиг. с 3b-1 по 3b-8, один или несколько столбцов от столбца 10 до столбца 16 выколоты. В этом случае базовая матрица кода LDPC может не включать в себя один или несколько выколотых столбцов в любой из матриц, показанных на фиг. с 3b-1 по 3b-8. Например, если столбец 16 выколот, базовая матрица кода LDPC может включать в себя столбцы с 0 по 15 в любой из матриц, показанных на фиг. с 3b-1 по 3b-8.
[0107] Чтобы поддерживать разные длины блоков, код LDPC требует разных коэффициентов Z подъема. В возможном исполнении могут использоваться разные базовые матрицы для разных коэффициентов подъема, чтобы достичь относительно высокой производительности. Например, коэффициент подъема составляет Z=a×2j, где 0≤j<7 и a∈{2,3,5,7,9,11,13,15}. В таблице 1 показан возможный поддерживаемый набор коэффициентов подъема { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22, 24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384}. Каждая из ячеек, за исключением самой верхней строки и самого левого столбца, представляет значение Z, соответствующее значениям соответствующих a и j. Например, для столбца a=2 и строки j=1, Z равно 4. Для другого примера, для a=11 и j=3, Z равно 88. По аналогии подробности не описаны.
Таблица 1
[0108] Можно понять, что в таблице 1 просто показана форма описания набора коэффициентов подъема. Реальная реализация продукта не ограничена формой в Таблице 1, и факторы подъема могут иметь другую форму представления.
[0109] Например, каждое значение соответствует набору коэффициента подъема. Набор коэффициентов подъема может быть идентифицирован с помощью индекса набора. Например, таблица 1’ показывает другую форму представления набора коэффициентов подъема.
Таблица 1’
( Set of lifting sizes)
[0110] Набор коэффициентов подъема, поддерживаемый базовым графом, может включать в себя все коэффициенты подъема или некоторые коэффициенты подъема в Таблице 1 или Таблице 1’. Например, набор коэффициентов подъема может быть {24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384}. Другими словами, Z больше или равно 24. В другом примере набор коэффициентов подъема может представлять собой набор объединений из {24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384} и один или несколько из {2, 3, 4, 5, 6, 7, 8 , 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22}. Следует отметить, что это просто пример. Набор коэффициентов подъема, поддерживаемый базовым графом, может быть разделен на различные поднаборы на основе значения a. Например, если a=2, поднабор коэффициентов Z подъема может включать в себя один или несколько из {2, 4, 8, 16, 32, 64, 128, 256}; для другого примера, если a=3, подмножество коэффициентов Z подъема может включать в себя один или несколько из {3, 6, 12, 24, 48, 96, 192, 384}; и так далее.
[0111] Набор коэффициентов подъема, поддерживаемый базовым графом, может быть разделен на основе различных значений a, и определена соответствующая базовая матрица.
[0112] Если a=2 или значение коэффициента Z подъема равно одному из {2, 4, 8, 16, 32, 64, 128, 256}, базовая матрица может включать в себя строки от строки 0 до строки 6 и от столбца 0 до столбца 16 в любой из матриц, показанных на фиг. с 3b-1 по 3b-8; или базовая матрица включает в себя строки от строки 0 до строки m-1 и от столбца 0 до столбца n-1 в матрице, показанной на фиг. 3b-1, где 7≤m≤42, m представляет собой целое число, 17≤n≤52 и n представляет собой целое число; или базовая матрица включает в себя строки от 0 до строки m-1 и некоторые столбцы от столбца 0 до столбца n-1 в матрице, показанной на фиг. 3b-1, где 7≤m≤42, m является целым числом, 17≤n≤52, а n является целым числом.
[0113] Если a=3 или значение коэффициента Z подъема равно одному из {3, 6, 12, 24, 48, 96, 192, 384}, базовая матрица может включать в себя строки от 0 до строки 6 и от столбца 0 до столбца 16 в матрице, показанной на фиг. 3b-2; или базовая матрица включает в себя строки от 0 до строки m-1 и от столбца 0 до столбца n-1 в матрице, показанной на фиг. 3b-2, где 7≤m≤42, m представляет собой целое число, 17≤n≤52 и n представляет собой целое число; или базовая матрица включает в себя строки от 0 до строки m-1 и некоторые столбцы от столбца 0 до столбца n-1 в матрице, показанной на фиг. 3b-2, где 7≤m≤42, m является целым числом, 17≤n≤52, а n является целым числом.
[0114] Например, базовая матрица PCM включает в себя строки от 0 до строки 41 и столбцы от 0 до столбца 13, или от столбца 0 до столбца 14, или от столбца 0 до столбца 15 на фиг. 3b-2.
[0115] Если a=5 или значение коэффициента Z подъема равно одному из {5, 10, 20, 40, 80, 160, 320}, базовая матрица может включать в себя строки от 0 до 6 и столбцы от 0 до 16 в матрице, показанной на фиг. 3b-3; или базовая матрица включает в себя строки от 0 до строки m-1 и столбцы от столбца 0 до столбца n-1 в матрице, показанной на фиг. 3b-3, где 7≤m≤42, m представляет собой целое число, 17≤n≤52 и n представляет собой целое число; или базовая матрица включает в себя строки от 0 до строки m-1 и некоторые столбцы от столбца 0 до столбца n-1 в матрице, показанной на фиг. 3b-3, где 7≤m≤42, m - целое число, 17≤n≤52, и n - целое число.
[0116] Если a=7 или значение коэффициента Z подъема равно одному из {7, 14, 28, 56, 112, 224}, базовая матрица может включать в себя строки от 0 до строки 6 и от столбца 0 до столбца 16 в матрице, показанной на фиг. 3b-4; или базовая матрица включает в себя строки от 0 до строки m-1 и от столбца 0 до столбца n-1 в матрице, показанной на фиг. 3b-4, где 7≤m≤42, m - целое число, 17≤n≤52, и n - целое число; или базовая матрица включает в себя строки от 0 до строки m-1 и некоторые столбцы от столбца 0 до столбца n-1 в матрице, показанной на фиг. 3b-4, где 7≤m≤42, m - целое число, 17≤n≤52, и n - целое число.
[0117] Если a=9 или значение коэффициента Z подъема равно одному из {9, 18, 36, 72, 144, 288}, базовая матрица может включать в себя строки от 0 до 6 и столбцы от 0 до 16 в матрице, показанной на фиг. 3b-5; или базовая матрица включает в себя строки от 0 до строки m-1 и от столбца 0 до столбца n-1 в матрице, показанной на фиг. 3b-5, где 7≤m≤42, m - целое число, 17≤n≤52, а n - целое число; или базовая матрица включает в себя строки от 0 до строки m-1 и некоторые столбцы от столбца 0 до столбца n-1 в матрице, показанной на фиг. 3b-5, где 7≤m≤42, m - целое число, 17≤n≤52 и n - целое число.
[0118] Если a=11 или значение коэффициента Z подъема равно одному из {11, 22, 44, 88, 176, 352}, базовая матрица может включать в себя строки от 0 до строки 6 и от столбца 0 до столбца 16 в матрице, показанной в фиг. 3b-6; или базовая матрица включает в себя строки от 0 до строки m-1 и от столбца 0 до столбца n-1 в матрице, показанной на фиг. 3b-6, где 7≤m≤42, m - целое число, 17≤n≤52 и n - целое число; или базовая матрица включает в себя строки от 0 до строки m-1 и некоторые столбцы от столбца 0 до столбца n-1 в матрице, показанной на фиг. 3b-6, где 7≤m≤42, m - целое число, 17≤n≤52, и n - целое число.
[0119] Если a=13 или значение коэффициента Z подъема равно одному из {13, 26, 52, 104, 208}, базовая матрица может включать в себя строки с 0 по 6 и столбцы с 0 по 16 в матрице, показанной на фиг. 3b-7; или базовая матрица включает в себя строки от 0 до строки m-1 и от столбца 0 до столбца n-1 в матрице, показанной на фиг. 3b-7, где 7≤m≤42, m - целое число, 17≤n≤52, а n - целое число; или базовая матрица включает в себя строки от 0 до строки m-1 и некоторые столбцы от столбца 0 до столбца n-1 в матрице, показанной на фиг. 3b-7, где 7≤m≤42, m - целое число, 17≤n≤52 и n - целое число.
[0120] Если a=15 или значение коэффициента Z подъема равно одному из {15, 30, 60, 120, 240}, базовая матрица может включать в себя строки от 0 до строки 6 и от столбца 0 до столбца 16 в матрице 3b-8; или базовая матрица включает в себя строки от 0 до строки m-1 и от столбца 0 до столбца n-1 в матрице, показанной на фиг. 3b-8, где 7≤m≤42, m - целое число, 17≤n≤52 и n - целое число; или базовая матрица включает в себя и некоторые столбцы от столбца 0 до столбца n-1 в матрице, показанной на фиг. 3b-8, где 7≤m≤42, m - целое число, 17≤n≤52, а n - целое число.
[0121] Необязательно, для базовой матрицы кода LDPC значения сдвига ненулевых элементов в одном или нескольких столбцах могут быть увеличены или уменьшены на значение Offsets компенсации, без существенного влияния на производительность системы. Значения компенсации ненулевых элементов в разных столбцах могут быть одинаковыми или разными. Например, чтобы компенсировать один или несколько столбцов в матрице, значения компенсации для разных столбцов могут быть одинаковыми или разными. В данной заявке это однозначно не ограничено.
[0122] Незначительное влияние на производительность системы означает, что влияние на производительность системы является приемлемым и находится в допустимом диапазоне. Например, производительность снижается в пределах допустимого диапазона в некоторых сценариях или в некоторых диапазонах. Однако в некоторых сценариях или в некоторых диапазонах производительность улучшается до некоторой степени. Общая производительность не сильно страдает.
[0123] Например, значение Offsets компенсации добавляется или вычитается из каждого значения сдвига, большего или равного 0, в столбце s в любой из матриц, показанных на фиг. с 3b-1 по 3b-8, для получения скомпенсированной матрицы Hs, где Offsets - целое число, большее или равное 0, а s - целое число, большее или равное 0 и меньшее, чем 11. Значения Offsets компенсации для одного или нескольких столбцов могут быть одинаковыми или разными.
[0124] На диаграмме производительности, показанной на фиг. 4, на основе кривых производительности матриц кодирования, показанных на фиг. 3b-1 и фиг.3b-2 горизонтальная координата представляет длину последовательности информационных битов, а единица длины - бит, а вертикальная координата - отношение сигнал/шум символа (Es/N0), необходимое для достижения соответствующей BLER. Две линии каждой кодовой скорости соответствуют двум случаям BLER 0,01 и 0,0001. При той же кодовой скорости, 0,01 соответствует верхней кривой, а 0,0001 соответствует нижней кривой. Если кривые гладкие, это указывает на то, что матрица имеет относительно высокую производительность в случаях различных дин блоков.
[0125] Фиг. с 1 по фиг. 3а и фиг. с 3b-1 по 3b-8 показывают структуры базового графа и базовой матрицы, которые связаны с кодом LDPC. Для достаточного описания исполнений базового графа и/или базовой матрицы в реализациях настоящей заявки структура базовой матрицы может быть представлена в другой форме, которая может быть идентифицирована системой, например, в табличной форме.
[0126] В исполнении базовый граф, показанный позицией 10а на фиг. 1 представляет собой матрицу из 7 строк и 10 столбцов, и соответствующие параметры могут быть представлены в таблице 2.
Таблица 2
(индекс строки)
(степень строки/вес строки)
[0127] Понятно, что поскольку столбцы с 14 по 16 в базовом графе 10a являются столбцами, вес столбца которых равен 1, и местоположения столбцов относительно фиксированы или легко определяются, местоположения ненулевых элементов в столбцах 14 - 16 могут не быть записаны в таблице 2, но записаны в другой форме.
[0128] В одном исполнении с использованием базовых матриц, показанных, качестве примеров, на фиг. с 3b-1 по 3b-8, параметры, относящиеся к базовым матрицам, могут быть соответственно представлены в таблицах с 3b-1 по таблицу 3b-8.
Таблица 3b-1
Таблица 3b-2
Таблица 3b-3
Таблица 3b-4
Таблица 3b-5
Таблица 3b-6
Таблица 3b-7
Таблица 3b-8
[0129] Можно понять, что фиг. 3а, фиг. с 3b-1 по 3b-8, таблица 2 и таблицы с 3b-1 по 3b-8 предназначены для того, чтобы помочь понять исполнения базовых графов и базовых матриц, и их формы представления не ограничиваются этим. Другие возможные варианты также могут быть включены. Например, для вариаций Таблицы 3b-1 и Таблицы 3b-3 по Таблицу 3b-8 можно сослаться на форму Таблицы 3b-2’. Информация об элементах в столбцах, таких как столбцы с 14 по 51, которые имеют относительно определенные структуры и которые соответствуют значению 0 сдвига, может выборочно включаться в таблицу или не включаться в таблицу для экономии места для хранения.
[0130] В исполнении для части, имеющей относительно определенную структуру в базовом графе или базовой матрице, местоположения ненулевых элементов базового графа или базовой матрицы могут быть получены посредством вычисления на основе местоположения строки/столбца, и местоположения ненулевых элементов могут не быть сохранены. Используя фиг. 3b-2 и Таблицу 3b-2 в качестве примера, местоположения столбца 14 - столбца 51 в матрице, показанной на фиг. 3b-2, являются относительно определенными, а значения сдвига Vi,j все равны 0. Расположение ненулевых элементов может быть вычислено на основе известных ненулевых элементов. В Таблице 3b-2 информация о столбцах с 14 по 51 может быть не включена или информация о некоторых столбцах с 14 по 51 может быть не включена. Например, ненулевые элементы от столбца 16 до столбца 51 и соответствующие значения сдвига ненулевых элементов могут не быть включены. Например, матрица, показанная на фиг. 3b-2 альтернативно может быть представлена в таблице 3b-2’.
Таблица 3b-2’
[0131] Для другого примера, используя фиг. 3b-2, в качестве примера, значения Vi,j сдвига в строке 0 также равны 0, и информация о строке 0 может не сохраняться, но получается посредством вычисления.
[0132] В реализации параметр «вес строки» в таблице 2, таблицах с 3b-1 по 3b-8 и в таблице 3b-2’ альтернативно может быть опущен. Количество ненулевых элементов в строке может быть изучено на основе столбца, в котором расположены ненулевые элементы в строке. Таким образом, вес строки также изучен.
[0133] В реализации значения параметров в «столбец, в котором расположен ненулевой элемент» в таблице 2, таблицах с 3b-1 по таблицу 3b-8 и в таблице 3b-2’, могут не быть расположены в порядке возрастания, при условии, что значения параметров индексируются для столбцов, в которых расположены ненулевые элементы. Кроме того, значения параметров в «значение сдвига ненулевого элемента» в Таблице 2 и Таблице 3b-1 - Таблице 3b-8 могут не располагаться в порядке столбцов, при условии, что значения параметров в «значение сдвига ненулевого элемента» находятся в взаимно-однозначном соответствии со значениями параметров в «индекс столбца ненулевого элемента».
[0134] В реализации вышеупомянутые разные базовые матрицы могут быть объединены в одну или несколько таблиц для представления. Например, ненулевые элементы, соответствующие разным базовым матрицам, имеют одинаковое местоположение и одинаковый номер строки, но имеют разные значения Vi,j сдвига. Следовательно, множество базовых матриц может быть представлено с использованием одной таблицы путем перечисления номеров строк, индекса столбцов, в которых расположены ненулевые элементы, и значений сдвига множества групп ненулевых элементов. Например, значения сдвига двух групп ненулевых элементов могут быть перечислены в разных столбцах и указаны с использованием индексов.
[0135] В реализации базовый граф может использоваться для указания местоположения ненулевых элементов. Параметр «индекс столбца ненулевого элемента» в вышеприведенных таблицах может альтернативно быть необязательным.
[0136] В реализации матрицы, показанные на фиг. 3а и фиг. с 3b-1 по 3b-8 альтернативно могут быть представлены с использованием номеров столбцов (индексов столбцов), строк, в которых расположены ненулевые элементы, и значений сдвига ненулевых элементов. Необязательно вес столбца может быть включен.
[0137] В другой реализации 1 и 0 в каждой строке или каждом столбце в базовом графе или базовой матрице могут рассматриваться как двоичные числа, и сохранение двоичных чисел в десятичных или шестнадцатеричных числах может экономить место для хранения. Используя любой вышеприведенный базовый граф или базовую матрицу в качестве примера, местоположения ненулевых элементов в первых 14 столбцах или первых 17 столбцах могут быть сохранены с использованием шестнадцатеричных чисел. Например, если первые 14 столбцов в строке 0 являются 11110010011100, местоположения ненулевых элементов в строке 0 могут быть записаны как 0xF2 и 0x70. То есть каждые 8 столбцов образуют шестнадцатеричное число. Для последних двух столбцов соответствующие шестнадцатеричные числа могут быть получены путем заполнения нулей, чтобы получить целое число, кратное 8 битам. Альтернативно, соответствующее шестнадцатеричное число может быть получено путем заполнения нулей в первых двух столбцах для достижения целого числа, кратного 8 битам. То же самое относится и к другим строкам, и подробности здесь не описаны.
[0138] Фиг. 5 показывает блок-схему процесса обработки данных. Процесс обработки данных может быть реализован с использованием аппаратуры связи. Аппаратура связи может быть базовой станцией, терминалом или другим объектом, таким как микросхема связи, или кодером/декодером и т.д.
[0139] Этап 501: получить входную последовательность. В реализации входная последовательность для кодирования может быть последовательностью информационных битов, заполненной последовательностью информационных битов или последовательностью, полученной путем добавления битовой последовательности CRC к последовательности информационных битов. Иногда последовательность информационных битов также упоминается как кодовый блок, например, может быть выходной последовательностью, полученной посредством выполнения сегментации кодового блока на транспортном блоке. В реализации входная последовательность для декодирования может быть последовательностью программных значений кода LDPC.
[0140] Этап 502: кодировать/декодировать входную последовательность на основе матрицы LDPC. Базовая матрица матрицы LDPC может быть любой базовой матрицей, показанной в предыдущих примерах.
[0141] В реализации матрица LDPC может быть получена на основе коэффициента Z подъема и базовой матрицы.
[0142] В реализации параметры, связанные с матрицей LDPC, могут быть сохранены. Параметры включают в себя одно или несколько из следующего:
(а) Параметры, используемые для получения любой базовой матрицы, перечисленной в предыдущих реализациях. Базовая матрица может быть получена на основе параметров. Например, параметры могут быть одним или несколькими из следующего: индекс строки, вес строки, индекс столбца, вес столбца; местоположения ненулевых элементов (например, индексы строк ненулевых элементов или индексы столбцов ненулевых элементов), значения сдвига в базовой матрице, значения сдвига ненулевых элементов и соответствующие местоположения ненулевых элементов, значение компенсации, коэффициент Z подъема, базовый граф, скорость кодирования и т.п;
(b) базовая матрица, которая является одной из любых базовых матриц, перечисленных в предыдущих реализациях;
(c) матрица Hs компенсации, полученная путем компенсации по меньшей мере одного столбца для любой базовой матрицы, перечисленной в предыдущих реализациях;
(d) матрица, полученная поднятием (расширением) базовой матрицы или поднятием из матрицы Hs компенсации базовой матрицы;
(e) базовая матрица, полученная путем выполнения преобразования строки/столбца в любой базовой матрице или матрице Hs компенсации базовой матрицы, перечисленной в предыдущих реализациях;
(f) матрица, полученная поднятием базовой матрицы преобразованной строки/столбца или матрицы Hs компенсации преобразованной строки/столбца упомянутой базовой матрицы; и
(g) базовая матрица, полученная путем выполнения операции сокращения или выкалывания в отношении любой базовой матрицы или матрицы Hs компенсации упомянутой базовой матрицы, перечисленной в предыдущих реализациях.
[0143] В возможной реализации кодирование/декодирование входной последовательности на основе матрицы проверки четности с низкой плотностью (LDPC) может выполняться в процессе кодирования/декодирования одним или несколькими из следующих способов:
i. получение базовой матрицы на основе некоторых или всех параметров, перечисленных в предшествующем пункте (а), и затем:
кодирование/декодирование информации на основе полученной базовой матрицы; или
выполнение преобразования строки/столбца в полученной базовой матрице и кодирование/декодирование информации на основе преобразованной строки/столбца базовой матрицы; или
кодирование/декодирование информации на основе матрицы Hs компенсации упомянутой полученной базовой матрицы; или
кодирование/декодирование информации на основе матрицы, которая получается путем выполнения преобразования строки/столбца в матрице Hs компенсации базовой матрицы. Альтернативно, кодирование/декодирование информации на основе базовой матрицы или матрицы Hs компенсации может дополнительно включать в себя: кодирование/декодирование информации на основе базовой матрицы, поднятой из базовой матрицы, или матрицы Hs компенсации упомянутой базовой матрицы; или
кодирование/декодирование информации на основе матрицы, полученной путем выполнения операции сокращения или выкалывания на базовой матрице или матрице Hs компенсации.
ii. кодирование/декодирование информации на основе матрицы сохраненной в соответствии с предшествующим элементом (b), (c), (d) или (e). Матрица может быть сохраненной базовой матрицей, матрицей Hs компенсации базовой матрицы, матрицей, полученной путем выполнения преобразования строки/столбца в базовой матрице, или матрицей, полученной путем выполнения преобразования строки/столбца в матрице Hs компенсации. Альтернативно, преобразование строки/столбца выполняется в сохраненной базовой матрице, и кодирование/декодирование выполняется на основе матрицы, полученной посредством выполнения преобразования строки/столбца. Здесь, необязательно, кодирование/декодирование на основе базовой матрицы или матрицы Hs компенсации может дополнительно включать в себя: выполнение кодирования/декодирования на основе матрицы расширения базовой матрицы или матрицы расширения матрицы Hs компенсации; или выполнение кодирования/декодирования на основе матрицы, полученной после выполнения операции сокращения или выкалывания на базовой матрице или матрице Hs компенсации.
iii. кодирование/декодирование информации основано на матрице, описанной в вышеизложенном (d), (f) или (g).
[0144] Этап 503: вывод закодированной/декодированной битовой последовательности. В схеме входная последовательность c = {c0, c1, c2, ..., cK-1} может быть закодирована для получения выходной последовательности d = {d0, d1, d2, ..., dN-1}, где K и N являются целыми числами больше 0. Выходная последовательность d включает в себя K0 битов во входной последовательности c и биты четности в последовательности w проверки четности, где K0 - целое число, и 0<K0≤K. Последовательность w четности и входная последовательность c удовлетворяют формуле
,
где cT=[c0,c1,c2, ..., cK-1]T - транспонированный вектор вектора, образованного битами во входной последовательности c, wT=[w0,w1,w2, ..., wN-K0-1]T - транспонированный вектор вектора, образованного битами в последовательности четности w; 0T является вектором столбца, а значения всех элементов в 0T равны 0; и H - матрица проверки четности с низкой плотностью (LDPC). Базовый граф H включает в себя HBG и HBG,EXT:
,
где представляет собой матрицу из всех нулей размера mc × nc и представляет единичную матрицу размера nc × nc; и HBG включает в себя столбцы, соответствующие Kb столбцам информационных битов в HBG2, и столбцы с 10 по 10+mA - 1 в HBG2, где количество столбцов в HBG2 равно 10+mA, 4≤mA≤7, где Kb∈ {6,8,9,10}. Для mc=7 и 0≤nc≤35 количество столбцов в HBG2 равно 17; или для mc=6 и 0≤nc≤36 количество столбцов в HBG2 равно 16; или для mc=5 и 0≤nc≤37 количество столбцов в HBG2 равно 15; или для mc=4 и 0≤nc≤38 количество столбцов в HBG2 равно 14.
[0145] Фиг. 6 показывает блок-схему процесса обработки данных, который может быть применен к блоку (этапу) 502 на фиг. 5.
[0146] Этап 601: получить коэффициент Z подъема. В возможном исполнении заполнение может выполняться для последовательности информационных битов, чтобы получить входную последовательность. Длина входной последовательности K=Kb⋅Z, а Z=K/Kb. В другом возможном исполнении биты, которые должны быть выколоты или сокращены в последовательности информационных битов, могут быть заполнены. Другими словами, биты заполнения используются для замены битов, которые необходимо выколоть или сократить, чтобы после кодирования биты заполнения могли быть идентифицированы и не отправлены. Например, нулевое значение, значение 0, значение, согласованное в системе, или предварительно определенное значение могут использоваться в качестве значения бита заполнения. В исполнении биты, которые необходимо выкалывать, выкалываются без заполнения. Биты заполнения заполняются после последовательности информационных битов.
[0147] В реализации коэффициент Z подъема может быть определен на основе длины K входной последовательности. Например, минимум Z0, который соответствует Kb⋅Z0≥K, может быть определен из множества коэффициентов подъема в поддерживаемом наборе коэффициентов подъема и может использоваться как значение коэффициента Z подъема. В возможном исполнении Kb может быть количество столбцов информационных битов в базовой матрице кода LDPC. Для базового графа 30а на фиг. 3a количество столбцов информационных битов равно Kbmax=10. Предполагается, что набор коэффициентов подъема, поддерживаемый базовым графом 30a на фиг. 3а, следующий: {24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176 192, 208, 224, 240, 256, 288, 320, 352, 384}. Если длина входной последовательности равна K=529 бит, Z равен 26. Если длина входной последовательности K=5000 битов, Z равен 240. Следует отметить, что это просто пример в данном документе, который не ограничивается этим.
[0148] Для другого примера значение Kb может изменяться на значение K, но не превышает количество столбцов информационных битов в базовой матрице кода LDPC. Например, разные пороговые значения могут быть установлены для Кб.
[0149] В исполнении следует отметить, что пороговые значения 640, 560 и 192 здесь являются просто примерами. В качестве альтернативы может быть задано другое значение в зависимости от требований к исполнению системы.
если (K>640), Kb=10;
или если (K>560), Kb=9;
или если (K>192), Kb=8;
или Kb=6; конец
[0150] Коэффициент Z подъема может быть определен аппаратурой связи на основе длины K входной последовательности или может быть получен аппаратурой связи от другого объекта (например, процессора).
[0151] Этап 602: получить матрицу LDPC на основе коэффициента подъема и базовой матрицы. Базовая матрица - это любая базовая матрица, перечисленная в вышеприведенных реализациях, матрица компенсации, полученная путем компенсации по меньшей мере одного столбца в любой базовой матрице, перечисленной выше, или базовая матрица, полученная после выполнения преобразования для порядка строк, порядка столбцов или порядок строк и порядка столбцов любой базовой матрицы, перечисленной выше, или матрицы компенсации. Базовый граф базовой матрицы включает в себя, по меньшей мере, подматрицу A и подматрицу B. Необязательно, базовый граф может дополнительно включать в себя подматрицу C, подматрицу D и подматрицу E. Для описания подматриц можно обратиться к описаниям в предыдущих вариантах осуществления. Подробности не описаны здесь снова. Базовая матрица может быть получена на основе базового графа и значения сдвига, может быть любой сохраненной базовой матрицей, перечисленной в предшествующих реализациях, или может быть получена путем изменения любой базовой матрицы, перечисленной в вышеприведенных реализациях.
[0152] В возможной реализации соответствующая базовая матрица определяется на основе коэффициента Z подъема, и базовая матрица переставляется на основе коэффициента Z подъема для получения матрицы LDPC.
[0153] В реализации матрица H LDPC может быть получена на основе соответствия между коэффициентом подъема и базовой матрицей. Например, соответствующая базовая матрица определяется на основе коэффициента Z подъема, полученного в блоке (этапе) 601.
[0154] Например, если Z равно 26, и а равно 13, базовая матрица может включать в себя строки от 0 до строки 6 и от столбца 0 до столбца 16 в матрице, показанной на фиг. 3b-7, или базовая матрица включает в себя строки от 0 до 6 и некоторые столбцы от 0 до 16 в матрице, показанной на фиг. 3b-7. Кроме того, альтернативно, базовая матрица дополнительно включает в себя строку 0 - строку m - 1 и столбец 0 - столбец n - 1 в матрице, где 7≤m≤42, m это целое число, 17≤n≤52 и n целое число; или базовая матрица включает в себя строки от 0 до строки m-1 и от столбца 0 до столбца n-1 в матрице, показанной на фиг. 3b-7, где 7≤m≤4, m – целое число, 17≤n≤52, и n - целое число. Базовая матрица переставляется на основе коэффициента Z подъема для получения матрицы LDPC. Следует отметить, что здесь Z=26, a=13 и матрица, показанная на фиг. 3b-7 используются только в качестве примера для описания. Это просто пример в данном документе, и настоящая заявка не ограничивается этим. Понятно, что разные коэффициенты подъема приводят к разным базовым матрицам.
[0155] В возможной реализации соответствие между коэффициентом подъема и базовой матрицей может быть указано в таблице 4, и индекс базовой матрицы, соответствующий коэффициенту подъема, определяется на основе таблицы 4. В возможном исполнении PCM1 может быть матрицей, показанной на фиг. 3b-1, PCM2 может быть матрицей, показанной на фиг. 3b-2, PCM3 может быть матрицей, показанной на фиг. 3b-3, PCM4 может быть матрицей, показанной на фиг. 3b-4, PCM5 может быть матрицей, показанной на фиг. 3b-5, PCM6 может быть матрицей, показанной на фиг. 3b-6, PCM7 может быть матрицей, показанной на фиг. 3b-7, и PCM8 может быть матрицей, показанной на фиг. 3б-8. Это просто пример здесь, который не ограничен этим.
Таблица 4
[0156] В другом исполнении альтернативно может использоваться следующий способ:
Таблица 4А
[0157] Дополнительно, в возможном исполнении для коэффициента Z подъема элемент Pi,j в строке i и столбце j в базовой матрице может удовлетворять следующему соотношению:
где Vi,j может быть значением сдвига элемента в строке i и столбце j в базовой матрице для набора, к которому принадлежит коэффициент Z подъема, или значением сдвига ненулевого элемента в строке i и столбце j в базовой матрице, соответствующей максимальному коэффициенту подъема в наборе, которому принадлежит коэффициент Z подъема.
[0158] Например, Z равно 13. Элемент Pi,j в строке i и столбце j в базовой матрице, соответствующей Z, удовлетворяет:
где Vi,j - это значение сдвига ненулевого элемента в строке i и столбце j в PCM7, то есть матрица, показанная на фиг. 3b-7. Для Z=13 выполните операцию по модулю Vi,j по модулю 13, где Vi,j - это значение сдвига ненулевого элемента в строке i и столбце j в матрице, показанной на фиг. 3b-7. Следует отметить, что это просто пример в данном документе, и настоящая заявка не ограничивается этим.
[0159] Этап 603: кодировать/декодировать входную последовательность на основе матрицы LDPC.
[0160] В реализации входная последовательность для кодирования может быть последовательностью информационных битов. В другой реализации входная последовательность для декодирования может быть последовательностью программных значений кода LDPC, и может быть сделана ссылка на соответствующие описания на фиг. 5. При кодировании/декодировании входной последовательности матрица H LDPC может быть получена путем подъема базовой матрицы на основе Z. Для каждого ненулевого элемента Pi,j в базовой матрице определяют матрицу циклической перестановки hi,j размера Z×Z, где hi,j - матрица циклической перестановки, полученная путем циклического сдвига единичной матрицы Pi,j раз. Ненулевой элемент Pi,j заменяется на hi,j, а нулевые элементы в базовой матрице HB заменяются матрицей из всех нулей размером Z×Z, чтобы получить матрицу H проверки четности.
[0161] В возможной реализации базовая матрица кода LDPC может храниться в памяти. Аппаратура связи получает матрицу LDPC, соответствующую коэффициенту Z подъема, для кодирования/декодирования входной последовательности.
[0162] В возможной реализации, поскольку существует множество базовых матриц кода LDPC, относительно большое пространство памяти занято, если базовые матрицы хранятся на основе матричной структуры. Альтернативно, базовый граф кода LDPC может быть сохранен в памяти, и значения сдвига ненулевых элементов в каждой базовой матрице сохраняются строка за строкой или столбец за столбцом, и затем получается матрица LDPC на основе базового графа и значения сдвига в базовой матрице, ассоциированной с коэффициентом Z подъема.
[0163] В возможной реализации значения сдвига ненулевых элементов в каждой базовой матрице могут быть сохранены в соответствии с таблицей 2 и таблицами с 3b-1 по таблицу 3b-8. В качестве параметра матрицы LDPC параметр «вес строки» матрицы LDPC является необязательным. Другими словами, параметр «вес строки» может быть или не быть сохранен. Количество ненулевых элементов в строке определяется на основе столбца, в котором расположены ненулевые элементы в строке. Таким образом, вес строки также узнан. В возможной реализации значения параметров в «индекс столбца ненулевого элемента» в Таблице 2 и Таблицах с 3b-1 по Таблицу 3b-8 могут альтернативно не располагаться в порядке возрастания, если значения параметров индексируются для индекса столбца, в котором расположены ненулевые элементы. Кроме того, значения параметров в «значение сдвига ненулевого элемента» в Таблице 2 и Таблицах 3b-1 - Таблице 3b-8 могут альтернативно не располагаться в порядке индекса столбца, если значения параметров в «значение сдвига ненулевого элемента» находятся в взаимно-однозначном соответствии со значениями параметров в «индекс столбца ненулевого элемента», и аппаратура связи может узнать значение сдвига ненулевого элемента, в какой строке и каком столбце. Например, в реализации значение сдвига ненулевых элементов может быть узнано согласно значениям параметра индекса столбца, веса столбца и индекса строки ненулевого элемента или индекса строки нулевого элемента. Это аналогично форме в Таблице 2 и Таблице 3b-1 - Таблице 3b-8, и подробности здесь снова не описываются.
[0164] В возможной реализации связанные параметры матрицы LDPC могут быть сохранены со ссылкой на связанные описания на фиг. 5.
[0165] В возможной реализации, когда сохраняются соответствующие параметры матрицы LDPC, не все строки в матрицах на фиг. 3а и фиг. с 3b-1 по 3b-8, или не все строки в матрицах в таблице 2 и таблицах с 3b-1 по таблицу 3b-8 сохранены, и параметры, указанные соответствующими строками в таблицах, могут быть сохранены на основе строк, включенных в базовую матрицу. Например, матрица, состоящая из строк и столбцов, включенных в базовую матрицу матрицы LDPC, описанной в предыдущих вариантах осуществления, или связанные параметры матрицы, состоящей из строк и столбцов могут быть сохранены.
[0166] Например, для строки 0 - строки 6 и столбца 0 - столбца 16 в любой матрице на фиг. с 3b по 1-3b-8, матрица, составленная из строки 0 по строку 6 и столбца 0 по столбец 16, и/или связанные параметры матрицы, состоящей из строки 0 по строку 6 и столбца 0 по столбец 16, могут быть сохранены. Для получения подробной информации можно сослаться на параметры, перечисленные в таблицах с 3b-1 по 3b-8 и некоторые из приведенных выше описаний.
[0167] Для строки от 0 до строки m - 1 и от столбца 0 до столбца n - 1 в любой матрице на фиг. с 3b-1 по 3b-8, где 7≤m≤42, m - целое число, 17≤n≤52, и n - целое число, матрица, состоящая из строки 0 по строку m - 1 и столбца 0 по столбец n -1 и/или связанные параметры матрицы, составленной из строки 0 по строку m - 1 и столбца 0 по столбец n - 1, могут быть сохранены. Для получения дополнительной информации можно сослаться на параметры, перечисленные в таблицах с 3b-1 по 3b-8 и некоторые из приведенных выше описаний.
[0168] В возможной реализации значение Offsets компенсации может добавляться или вычитаться из каждого значения сдвига, которое больше или равно 0, по меньшей мере, в одном местоположении, указанном «индексом столбца ненулевого элемента» в любой из Таблицы 2 и таблицы 3b-1 до таблицы 3b-8. Следует отметить, что это просто пример в данном документе, который не ограничивается этим.
[0169] Используя фиг. 1 в качестве примера, в реализации, после того как базовая матрица HB определена, сначала могут быть получены биты четности, соответствующие столбцу с 10 по столбец 15, на основе входной последовательности и строке 0 - строке 3 и столбцу 0 - столбцу 9 в базовой матрице, то есть Hcore-dual. Затем биты четности, соответствующие столбцу 16, то есть столбцу с весом 1 столбца, получают на основе входной последовательности и битов четности, соответствующих Hcore-dual. Затем биты четности, соответствующие подматрице E, получают путем кодирования подматрицы D на основе входной последовательности и битов четности, соответствующих столбцу 10 - столбцу 16, для завершения кодирования. Для процесса кодирования кода LDPC может быть сделана ссылка на описания в вышеприведенных реализациях. Подробности не описаны здесь снова.
[0170] В исполнении в вышеупомянутой части 502 и части 603, когда входная последовательность кодируется/декодируется на основе матрицы LDPC, входная последовательность может кодироваться с использованием матрицы H LDPC, соответствующей коэффициенту Z подъема.
[0171] В возможной реализации кодирование LDPC может быть реализовано следующим образом:
[0172] (1) Входная последовательность, подлежащая кодированию, представлена в виде c={c0,c1,c2, ..., cK-1}, длина входной последовательности c равна K, а выходная последовательность, полученная путем кодирования входной последовательности c посредством кодера, представлена как d={d0,d1,d2, ..., dN-1}, где K - целое число, большее 0, K может быть целым числом, кратным коэффициенту Z подъема, коэффициент подъема входной последовательности c может быть представлен как Z или Zc, а нижний индекс c указывает, что коэффициент подъема связан с входной последовательностью c. Необязательно, другие параметры в этой реализации могут быть снабжены или не снабжены индексом нижнего индекса. Это не влияет на существенное значение параметра. Специалист в данной области техники может понять его значение, где N=50Z или N = (40+Кb)⋅Z. Длина входной последовательности c равна K, длина выходной последовательности d равна N, а выходная последовательность из N битов может включать в себя K0 битов во входной последовательности c и N - K0 битов четности в последовательности w четности, где K0 является целым числом, и 0<K0≤K. Последовательность w четности может быть представлена как {w0,w1,w2, ..., wN-K0-1}, и длина последовательности w четности это N-K0. В исполнении, если матрица H LDPC включает в себя p встроенных выколотых столбцов, где p является целым числом, большим или равным 0, p встроенных выколотых столбцов не участвует/не участвуют в кодировании, например, p=2, длина последовательности w четности равна N+2Zc-K, а последовательность w четности может быть представлена как as {w0,w1,w2, ..., wN+2Zc-K-1}. Если в кодировании участвуют p встроенных выколотых столбцов, длина последовательности w четности равна N-K, а последовательность w четности может быть представлена как {w0,w1,w2, ..., wN-K-1} .
[0173] Для значения Kb можно сослаться на вышеприведенное исполнение. Например:
если (K>640), Kb=10;
или, если (K>560), Kb=9;
или, если (K>192), Kb=8;
или, Kb=6;
конец
[0174] (2) Индекс PCM или индекс набора коэффициентов подъема, соответствующий длине K битового сегмента, определяется на основе Zc=K/Kb. Например, коэффициент подъема Zc может быть определен со ссылкой на таблицу 1 и таблицу 2.
[0175] (3) Значения присваиваются первым K-2Zc битам в кодированной битовой последовательности d={d0,d1,d2, ..., dN-1}. Здесь первые 2Zc битов заполнения в сегменте битов, который должен быть закодирован, должны быть пропущены, и необходимо учитывать, что сегмент битов, который должен быть закодирован, может включать в себя бит заполнения.
[0176] В реализации присвоение значения может быть выполнено следующим образом:
для K=2Zc до K-1,
если ck≠<NULL>
dk-2Zc=ck;
или
ck=0;
dk-2Zc=<NULL>;
коне, если
конец для
где k - значение индекса, k - целое число, <NULL> представляет бит заполнения, и его значение может быть 0 или другим предварительно определенным значением. При желании бит заполнения может не отправляться.
[0177] (4) Биты w четности генерируются так, чтобы биты четности удовлетворяли следующей формуле:
В формуле (1) c=[c0,c1,c2, ...,cK-1]T, где
[0178] В реализации H можно получить на основе любого базового графа, перечисленного в предыдущих вариантах осуществления, и матрицы расширения Zc×Zc. Каждый нулевой элемент в базовом графе заменяется матрицей из всех нулей размером Zc×Zc. Элемент, чье значение равно 1 (ненулевой элемент) в базовом графе, заменяется матрицей I(Pi,j) циклической перестановки Z*Z, соответствующей значению Pi,j сдвига элемента, где i и j представляют индекс строки и индекс столбца упомянутого элемента. Матрица I(Pi,j) циклической перестановки получается путем циклического сдвига матрицы размера Zc×Zc вправо или влево Pi,j раз, где Pi,j=mod(Vi,j,Zc), и Vi,j - это значение сдвига, которое находится в базовой матрице и соответствует ненулевому элементу в базовом графе.
[0179] В реализации H1 может быть частями A, B и D базового графа или базовой матрицы, перечисленных в предыдущих вариантах осуществления, то есть строкой 10 - строкой 41 и столбцом 0 - колонкой 16 на фиг. 3а и фиг. с 3b-1 по 3b-8.
[0180] В реализации H1 может представлять собой несколько строк и несколько столбцов в частях A, B и D базового графа или базовой матрицы, перечисленных в предшествующих вариантах осуществления, например строки от 0 до строки 41 и от столбца 0 до столбца 13, или от строки 0 до строки 41 и от столбца 0 до столбца 14, или от строки 0 до строки 41 и от столбца 0 до столбца 15, или от строки 1 до строки 41 и от столбца 0 до столбца 13.
[0181] В реализации H1 может альтернативно представлять собой m строк и n столбцов в базовом графе или базовой матрице, перечисленных в предыдущих вариантах осуществления, например, m=7 и n=35, или m=4 и n=38, или m=5 и n=37, или m=6 и n=36.
[0182] В реализации, основанной на значении Kb, длина входной последовательности кодера равна Kb×Z. Если Kb<9, столбцы {Kb,Kb+1, ...,9} в матрице H1 удаляются, и затем выполняется кодирование.
[0183] В реализации матрица H может включать в себя M строк и (N+p⋅Z) столбцов или M строк и N столбцов, а размер базовой матрицы H равен m=M/Z строк, и n=(N+p⋅Z)/Z столбцов или n=N/Z столбцов.
[0184] В реализации H2 может быть представлена как
где 0m×n представляет собой матрицу m×n из всех нулей (m строк и n столбцов), например, может иметь 7 строк и 35 столбцов, или 4 строки и 38 столбцов, или 5 строк и 37 столбцов, или 6 строк и 36 столбцов, а In×n представляет матрицу n×n (n строк и n столбцов), например, может иметь 35 строк и 35 столбцов, или 36 строк и 36 столбцов, или 37 строк и 37 столбцов, или 38 строк и 38 столбцов.
[0185] В реализации, когда матрица H используется для кодирования, кодирование может быть выполнено на основе любого из вышеописанных базовых графов или базовых матриц, например, может быть выполнено на основе матрицы от строки 0 по строку 41 и столбца 0 по столбец 16 в любой из матриц на фиг. 3а или фиг. с 3b-1 по 3b-8, или могут быть выполнены на основе матрицы строк от 0 по 41 и столбца от 0 по 13 в любой из матриц на фиг. 3а или фиг. с 3b-1 по 3b-8.
[0186] В исполнении для Kb∈{6,8,9} матрица H может быть матрицей, полученной после удаления столбцов {Kb,Kb+1,...,9} из любой базовой матрицы или базовой матрицы, описанной выше; для Kb=10 матрица H может быть любым базовым графом или базовой матрицей, описанной выше.
[0187] Значение Vi,j сдвига в матрице H может быть получено на основе фиг. с 3b-1 по 3b-8, или с таблиц с 3b-1 по таблицу 3b-8 и с таблицы 3b-2’, или любым способом, описанным выше. На основе индекса матрицы проверки, который иногда рассматривается как индекс установки коэффициента подъема, может быть определена соответствующая матрица проверки, в результате чего получено соответствующее значение Vi,j сдвига.
[0188] В исполнении H включает в себя p встроенных выколотых столбцов, где p - целое число, большее или равное 0, а p встроенных выколотых столбцов не участвует/не участвуют в кодировании. Например, p равно 2, а длина последовательности w четности равна N+2Zc-K. Если в кодировании участвуют p встроенных выколотых столбцов, длина последовательности w N+2Zc-K равна N-K.
[0189] В исполнении 0m×n может быть подматрицей C, подматрицей C плюс последний столбец в подматрице B, подматрицей C плюс два последних столбца подматрицы B или подматрицей C плюс три последних столбца подматрицы B в вышеупомянутых вариантах осуществления.
[0190] In×n может быть подматрицей E, подматрицей E плюс последний столбец в каждой из подматрицы B и подматрицы D, подматрицей E плюс два последних столбца каждой из подматрицы B и подматрицы D или подматрицей E плюс последние три столбца каждой из подматрицы B и подматрицы D в вышеупомянутых вариантах осуществления.
[0191] (5) Необязательно, для k=K до N+2Zc-1 dk-2Zc=wk-K.
[0192] В вышеприведенных реализациях кодер может выполнять кодирование и вывод множеством способов. Любой из базовых графов или базовых матриц, показанных на фиг. 3а и фиг. 3b-1 - 3b-8, перечисленные в предыдущих вариантах осуществления, используются в качестве примера для описания ниже. Базовый граф имеет максимум 42 строки и максимум 52 столбца, включая два встроенных выколотых столбца. Для простоты описания в настоящей заявке иногда базовый граф/базовая матрица с максимальным количеством строк и максимальным количеством столбцов упоминается как полный базовый граф или базовая матрица. Базовый граф/базовая матрица, полученная путем удаления двух встроенных выколотых столбцов из полного базового графа/базовой матрицы, называется полным базовым графом/базовой матрицей, которая не содержит встроенного выколотого столбца.
[0193] Способ 1
Кодирование выполняется на основе полного базового графа/базовой матрицы или полного базового графа/базовой матрицы, которая не содержит встроенного выколотого столбца, чтобы получить как можно больше битов четности. В этом случае m равно 42. Если в кодировании участвуют встроенные выколотые столбцы, то n равно 52, то есть от строки 0 до строки 41 и от столбца 0 до столбца 51 в любой из матриц на фиг. 3а и фиг. с 3b-1 по 3b-8. Если встроенные выколотые столбцы не участвуют в кодировании, n равно 51, то есть от строки 0 до строки 41 и от столбца 2 до столбца 51. Соответственно, для матрицы H LDPC, M равно 41Z, а N равно 52Z или 51Z. В последующем процессе обработки информационные биты и биты четности, которые должны быть отправлены, могут быть определены из выходной последовательности, сгенерированной кодером.
[0194] Способ 2
Кодирование выполняется на основе некоторых строк и столбцов полного базового графа. Строка и столбец могут быть выбраны из полного базового графа или полного базового графа, который не содержит встроенного выколотого столбца и на основе кодовой скорости, которая должна использоваться для отправки, информационных битов и битов четности, или аналогично для кодирования. Например, скорость кодирования составляет 2/3, а m равно 7. Если в кодировании участвуют встроенные выколотые столбцы, n равно 17. В частности, кодирование выполняется на основе некоторых строк от 0 до 6 и столбцов от 0 до 16 в любой матрице на фиг. 3а и фиг. с 3b-1 по 3b-8. Если в кодировании участвуют встроенные выколотые столбцы, то n равно 15, то есть от строки 0 до строки 6 и от столбца 2 до столбца 16 в любой матрице на фиг. 3а и фиг. с 3b-1 по 3b-8.
[0195] В возможном исполнении столбец 14 - столбец 51 в любой матрице на фиг. 3а и фиг. перечисленных выше с 3b-1 по 3b-8 представляют собой столбцы с весом 1 столбца, и один или несколько столбцов с весом 1 столбца в основной матрице могут быть выколоты. Один или более соответствующих столбцов в основной матрице могут быть закодированы на основе некоторых строк от 0 до 6 и столбцов от 0 до 15 в любой матрице на фиг. 3а и фиг. с 3b-1 по 3b-8, где, например, m равно 6, n равно 16, и встроенные выколотые столбцы участвуют в кодировании. В реализации встроенные выколотые столбцы могут альтернативно не участвовать в кодировании, так что может быть получена более высокая скорость кодирования.
[0196] Следует отметить, что вышеизложенное описывает принцип матрицы H. Решение, предоставленное в этом варианте осуществления настоящей заявки, может быть реализовано на основе различных преобразований матрицы H при условии, что сгенерированные биты четности удовлетворяют формуле (1).
[0197] Возможная реализация состоит в том, что квазицикличное (QC) расширение выполняется на матрице H перед использованием. В другой возможной реализации в процессе использования матрицы H квазицикличное (QC) расширение выполняется в части, соответствующей текущим подлежащим обработке элементам.
[0198] Возможная реализация состоит в том, что (вычисление значения сдвига), матрица H не поднимается в процессе использования, но метод для расширяемой формулы эквивалентности используется для вычисления отношения соединения между строками и столбцами матрицы.
[0199] Возможная реализация состоит в том, что матрица H не может быть поднята. В процессе кодирования для каждого элемента, подлежащего обработке, операция сдвига выполняется в сегменте битов, подлежащем кодированию, соответствующем элементу, на основании значения сдвига упомянутого элемента. Затем выполняется операция кодирования во всех битовых сегментах, на которых выполняется операция сдвига.
[0200] В возможной реализации базовая матрица может быть получена путем предварительного определения PCM базовой матрицы или определения PCM базовой матрицы системой без использования базового графа. Например, матрица LDPC может быть получена на основе базовых матриц, представленных на фиг. с 3b-1 по 3b-8, или матрица LDPC может быть получена на основе соответствующих таблиц с 3b-1 по таблицу 3b-8.
[0201] В процессе реализации передающая сторона или принимающая сторона могут хранить полную матрицу, то есть все A, B, C, D и E. Альтернативно, полная матрица может не сохраняться, чтобы сэкономить пространство для хранения. Например, кодирование/декодирование может быть реализовано путем сохранения только части полной матрицы, или должны быть сохранены параметры, соответствующие матрице. По сравнению со способом, в котором хранится полная матрица, сохранение только части матрицы может уменьшить издержки устройства хранения в кодеке. За подробностями можно обратиться к описаниям в предшествующих вариантах осуществления.
[0202] Например, в реализации части A, B и D в матрице сохраняются, или части A, B и D не включают в себя часть с весом 1 столбца. В реальном процессе кодирования/декодирования значения частей C и E или значения части с весом 1 столбца вычисляются с использованием формулы. Точнее, сохраняются только первые 17 столбцов или первые 14 столбцов в исходной полной матрице. Поскольку часть C представляет собой матрицу из всех нулей и может быть получена, а часть E является единичной матрицей, для местоположения ненулевого элемента в части E можно получить соответствующий индекс столбца посредством вычисления на основе номера текущей обрабатываемой строки. Например, когда текущей обрабатываемой строкой является строка 18, ненулевой элемент, соответствующий части E, находится в столбце 28; когда текущей обрабатываемой строкой является строка 19, ненулевой элемент, соответствующий части E, находится в столбце 29; и так далее. Если местоположения всех ненулевых элементов в части E получены посредством вычисления, результат вычисления может быть сохранен или не сохранен. Местоположение ненулевого элемента может быть получено, когда соответствующая строка и столбец вычисляются в процессе кодирования или декодирования.
[0203] В другой реализации первые 14 столбцов в исходной полной матрице сохраняются. В части, которая не сохранена на правой стороне матрицы, местоположение ненулевого элемента в части, которая не сохранена, может быть получено посредством вычисления. Например, когда текущей обрабатываемой строкой является строка 4, ненулевой элемент, соответствующий сохраненной части, располагается в столбце 14; когда текущей обрабатываемой строкой является строка 5, ненулевой элемент, соответствующий сохраненной части, находится в столбце 15; и так далее. Когда местоположения всех ненулевых элементов в части, которая не сохранена в матрице, получены посредством вычисления, результат вычисления может быть сохранен или может быть не сохранен. Местоположение ненулевого элемента может быть получено, когда соответствующая строка и столбец вычисляются в процессе кодирования или декодирования.
[0204] В другой реализации первые 14+x столбцов в исходной полной матрице сохраняются. В несохраненной части правой стороны матрицы первые 4 строки представляют собой матрицу из всех нулей, другая часть представляет собой единичную матрицу, и местоположение ненулевого элемента в части, которая не сохраняется, может быть получено с помощью вычисления. Например, когда текущей обрабатываемой строкой является строка 3+x, ненулевой элемент, соответствующий части, которая не сохранена, находится в столбце (14+x)z; когда текущая обрабатываемая строка - это строка (3+x)+1, ненулевой элемент, соответствующий части E, находится в столбце (14+x)z+1; и так далее. Когда местоположения всех ненулевых элементов в части, которая не сохранена в матрице, получены посредством вычисления, результат вычисления может быть сохранен. Альтернативно, результат вычисления может быть не сохранен, и местоположение ненулевого элемента может быть вычислено при кодировании или декодировании соответствующей строки и столбца.
[0205] В еще одной реализации, когда матрица сдвига сохраняется, значения, записанные в матрице сдвига, могут быть сохранены, или может быть сохранено значение, полученное после того, как простое математическое преобразование выполняется для значений в матрице сдвига, описанных в этой заявке.
[0206] В реализации значения в матрице сдвига преобразуются и затем сохраняются. Во время преобразования, преобразование выполняется строка за строкой, начиная с первой строки в текущей матрице сдвига. В случае, когда элемент (например, -1) представляет матрицу из всех нулей, элемент сохраняется без преобразования. В случае элемента (неотрицательного элемента), который представляет ненулевую матрицу и который является первым элементом (неотрицательным элементом), представляющим ненулевую матрицу в столбце, элемент сохраняется без преобразования. В случае элемента (неотрицательного элемента), который представляет ненулевую матрицу и который не является первым элементом (неотрицательным элементом), представляющим ненулевую матрицу в столбце, разница между неотрицательным элементом и предыдущим элементом, представляющим ненулевую матрицу в том же столбце, сохраняется. Если разница положительная, это указывает на сдвиг вправо. Если разница отрицательная, это указывает на сдвиг влево.
[0207] Следует отметить, что подобное преобразование может не выполняться, начиная с первой строки в матрице сдвига, и может выполняться, начиная с любой строки. После того, как аналогичное преобразование выполняется в последнем ряду в матрице, преобразование продолжается, начиная с первого ряда. Кроме того, такой способ хранения разности может изменяться на основе различных коэффициентов Z подъема. Фактическое значение сдвига вычисляется в соответствии с Pi,j=mod(Vi,j,Zc), а затем вычисляется разность.
[0208] В процессе кодирования/декодирования значение сдвига до преобразования может быть восстановлено посредством вычисления рекурсии на основе значения предыдущего элемента в том же столбце. Альтернативно, относительное значение сдвига может использоваться для выполнения кодирования и декодирования.
[0209] В реализации значение Vi,j в матрице сдвига может быть преобразовано и затем сохранено. В процессе операции преобразования местоположения и значения всех элементов (например, -1), представляющих матрицу из всех нулей в матрице, остаются неизменными. Для элемента (неотрицательного элемента), представляющего ненулевую матрицу, при условии, что исходное значение элемента равно Vi,j , преобразованное значение равно is (z–Vi,j) mod z. В реальном процессе кодирования/декодирования операция сдвига влево (которая первоначально была операцией сдвига вправо) выполняется на единичной матрице на основе преобразованного значения сдвига, чтобы реализовать нормальное кодирование и декодирование.
[0210] В реализации значение Vi,j в матрице значений сдвига преобразуется и затем сохраняется. В процессе операции преобразования исходное значение десятичного сдвига преобразуется в число в другой базе, такой как двоичная система, восьмеричная система или шестнадцатеричная система. В процессе кодирования/декодирования преобразованная матрица значений сдвига может быть выбрана для восстановления, а затем кодируется/декодируется. Альтернативно, преобразованная матрица значений сдвига может непосредственно использоваться для кодирования/декодирования.
[0211] В реализации сторона кодера не хранит матрицу проверки, но сохраняет возможно требуемую матрицу генерации для кодирования. Предполагается, что кодируемый битовый сегмент представляет собой c={c0,c1,c2,c3,...,cK-1}, а кодированный битовый сегмент представляет собой d={d0,d1,d2,...,dN-1}. Матрица G генерации удовлетворяет условию d=c⋅G.
Матрица генерации может быть получена путем преобразования матрицы H. Правая сторона матрицы H может быть преобразована в форму диагональной матрицы посредством преобразования строки/столбца и может быть представлена как:
H = [PI] (2)
В этом случае соответствующая матрица G генерации удовлетворяет:
G = [I PT] (3)
Матрица H проверки может быть любой из матриц четности или базовых матриц в вышеупомянутых вариантах осуществления или матрицей LDPC. Во время кодирования кодированный битовый сегмент d={d0,d1,d2,...dN-1} может быть вычислен на основе кодируемого битового сегмента c={c0,c1,c2,c3,...,cK-1} с использованием сохраненной матрицы G генерации.
[0212] В реализации во время кодирования для двойной диагональной части матрицы кодирование может быть выполнено любым из вышеперечисленных способов или с использованием способа хранения матрицы, имеющей множество наложенных строк.
[0213] В реализации матрица сдвига, соответствующая каждому коэффициенту Z подъема, может быть вычислена на основе Pi,j=mod(Vi,j,Zc), и затем матрицы, соответствующие 51 коэффициенту подъема, все сохраняются для кодирования/декодирования.
[0214] Необязательно, в системе связи кодирование может выполняться с использованием вышеизложенного способа, чтобы получить код LDPC. После того, как код LDPC получен, аппаратура связи может дополнительно выполнять следующие одну или несколько операций: выполнение согласования скорости для кода LDPC; перемежение, согласно решению перемежения, код LDPC, для которого выполняется согласование скорости; модулирование перемеженного кода LDPC в соответствии со схемой модуляции, чтобы получить битовую последовательность X; и отправка битовой последовательности X.
[0215] Декодирование - это обратный процесс кодирования. Базовая матрица, используемая во время декодирования, и базовая матрица, используемая во время кодирования, имеют одинаковые характеристики. Для процесса кодирования кода LDPC может быть сделана ссылка на описания в вышеприведенных реализациях. Подробности не описаны здесь снова. В реализации перед декодированием аппаратура связи может дополнительно выполнять следующие одну или несколько операций: прием сигнала, включающего в себя информацию, основанную на кодировании LDPC, демодуляцию сигнала, выполнение обратного перемежения и обратного согласования скорости для получения последовательности программных значений кода LDPC и декодирование последовательности программных значений кода LDPC. Альтернативно, декодирование может выполняться на основе полного базового графа, полного базового графа, который не содержит встроенного выколотого столбца, или некоторых строк и столбцов полного базового графа.
[0216] «Носитель хранения» в этой заявке может быть носителем хранения в одной или нескольких ячейках памяти. Одна или несколько памятей могут быть расположены отдельно или могут быть интегрированы в кодер, декодер, процессор, микросхему, аппаратуру связи или терминал. Альтернативно, некоторые из одного или нескольких памятей могут быть расположены отдельно или могут быть интегрированы в декодер, процессор, микросхему, аппаратуру связи или терминал. Память может быть носителем данных в любой форме. В данной заявке это однозначно не ограничено.
[0217] В соответствии с схемами процесса обработки данных, описанными на фиг. 5 и фиг. 6, вариант осуществления настоящей заявки дополнительно предоставляет соответствующую аппаратуру связи. Аппаратура связи включает в себя соответствующий модуль, сконфигурированный для выполнения каждой части на фиг. 5 или фиг. 6. Модуль может быть программным, аппаратным или сочетанием программного и аппаратного обеспечения. Например, модуль может включать в себя память, электронное устройство, электронный компонент, логическую схему или любую их комбинацию. Фиг. 7 является структурной схемой аппаратуры 700 связи. Аппаратура 700 может быть сконфигурирована для реализации способов, описанных в предыдущих вариантах осуществления способа. За подробностями можно обратиться к описаниям в вышеприведенных вариантах осуществления способа. Аппаратура 700 связи может быть микросхемой, базовой станцией, терминалом или другим сетевым устройством.
[0218] Аппаратура 700 связи включает в себя один или несколько процессоров 701. Процессор 701 может быть процессором общего назначения или выделенным процессором, например, процессором основной полосы частот или центральным процессором. Процессор основной полосы частот может быть сконфигурирован для обработки протокола связи и данных связи. Центральный процессор может быть сконфигурирован для управления устройством связи (например, базовой станцией, терминалом или микросхемой) для выполнения программы программного обеспечения и обработки данных в программе программного обеспечения.
[0219] В возможном исполнении один или несколько модулей на фиг. 5 и фиг. 6, могут быть реализованы одним или несколькими процессорами или одним или несколькими процессорами и памятью.
[0220] В возможном исполнении аппаратура 700 связи включает в себя один или несколько процессоров 701. Один или несколько процессоров 701 могут реализовывать функцию кодирования/декодирования. Например, аппаратура связи может быть кодером или декодером. В другом возможном варианте процессор 701 может реализовывать другие функции в дополнение к функции кодирования/декодирования.
[0221] Аппаратура 700 связи кодирует/декодирует входную последовательность на основе матрицы LDPC. Базовая матрица матрицы LDPC может быть любой базовой матрицей в вышеприведенных примерах, базовой матрицей, полученной путем выполнения преобразования в отношении порядка строк, порядка столбцов или порядка строк и порядка столбцов в любой базовой матрице, перечисленной выше, базовой матрицы, полученной путем сокращения или выкалывания на основе любой базовой матрицы, указанной выше, или матрицы, полученной путем расширения любой базовой матрицы, указанной выше. Для обработки кодирования/декодирования может быть сделана ссылка на описания связанных частей на фиг. 5 и фиг. 6. Подробности не описаны здесь снова.
[0222] Необязательно, в исполнении процессор 701 может включать в себя одну или несколько инструкций 703 (или иногда упоминаемых как код или программа). Инструкции могут выполняться в процессоре, так что аппаратура 700 связи выполняет способы, описанные в предыдущих вариантах осуществления. В другой возможном исполнении аппаратура 700 связи может дополнительно включать в себя схему. Схема может реализовывать функцию кодирования/декодирования в вышеупомянутых вариантах осуществления.
[0223] Необязательно, в исполнении аппаратура 700 связи может включать в себя одно или несколько памятей 702. Память 702 хранит одну или несколько инструкций 704. Инструкции могут выполняться в процессоре, так что аппаратура 700 связи выполняет способы, описанные в вышеупомянутых вариантах осуществления способа.
[0224] При желании память может дополнительно хранить данные. Необязательно, процессор может дополнительно хранить одну или несколько инструкций и/или данных. Процессор и память могут быть расположены отдельно или могут быть объединены вместе.
[0225] Необязательно, «носитель хранения» в вышеприведенных вариантах осуществления может быть носителем хранения в памяти 702 или может быть носителем хранения в другой внешней памяти или устройстве хранения.
[0226] Например, одна или несколько памятей 702 могут хранить параметр, связанный с матрицей LDPC, перечисленной выше, например, параметр, связанный с базовой матрицей, такой как значение сдвига, базовый граф, расширение матрицы на основе базового графа, каждой строки в базовой матрице, коэффициента подъема, базовой матрицы или расширения матрицы на основе базовой матрицы. Для подробностей можно обратиться к связанным описаниям в части на фиг. 5.
[0227] Необязательно, аппаратура 700 связи может дополнительно включать в себя приемопередатчик 705 и антенну 706. Процессор 701 может упоминаться как блок обработки и управляет устройством связи (терминалом или базовой станцией). Приемопередатчик 505 может упоминаться как приемопередающий блок, схема приемопередатчика или тому подобное и конфигурируется для реализации функций отправки и приема аппаратуры 700 связи с использованием антенны 506.
[0228] Необязательно, аппаратура 700 связи может дополнительно включать в себя устройство для генерации CRC транспортного блока, устройство для сегментации кодового блока и проверки CRC, перемежитель для перемежения, устройство для согласования скорости, модулятор для обработки модуляции и т.п. Функции этих устройств могут быть реализованы с использованием одного или нескольких процессоров 701.
[0229] Необязательно, аппаратура 700 связи может дополнительно включать в себя демодулятор для операции демодуляции, обратный перемежитель для обратного перемежения, устройство для обратного согласования скоростей, устройство для конкатенации кодовых блоков и проверки CRC и т.п. Функции этих устройств могут быть реализованы с использованием одного или нескольких процессоров 701.
[0230] Фиг. 8 является схематической диаграммой системы 800 связи. Система 800 связи включает в себя устройства 80 и 81 связи. Информационные данные принимаются и отправляются между устройствами 80 и 81 связи. Устройства 80 и 81 связи могут быть аппаратурой 700 связи, или каждое из устройств 80 и 81 связи включает в себя аппаратуру 700 связи и может принимать и/или отправлять информационные данные. В одном примере устройство 80 связи может быть терминалом, а соответствующее устройство 81 связи может быть базовой станцией. В другом примере устройство 80 связи может быть базовой станцией, а соответствующее устройство 81 связи может быть терминалом.
[0231] Кроме того, специалист в данной области техники поймет, что различные иллюстративные логические блоки и этапы могут быть реализованы с помощью электронного оборудования, компьютерного программного обеспечения или их комбинации. Будут ли такие функции реализованы аппаратными средствами или программным обеспечением, зависит от конкретного применения и требований к исполнению всей системы. Для каждого конкретного применения могут быть использованы различные способы для реализации функций. Однако такие реализации не следует истолковывать как выходящие за пределы объема защиты вариантов осуществления настоящей заявки.
[0232] Технологии, описанные в этой заявке, могут быть реализованы различными способами. Например, технологии могут быть реализованы посредством аппаратного обеспечения, программного обеспечения или их комбинации. Для реализации посредством аппаратного обеспечения блок обработки, сконфигурированный для реализации технологий в устройстве связи (например, базовой станции, терминале, сетевом объекте или микросхеме), может быть реализован в одном или нескольких процессорах общего назначения, цифровом процессоре сигналов (DSP), устройстве цифровой обработки сигналов (DSPD), специализированной интегральной схеме (ASIC), программируемом логическом устройстве (PLD), полевой программируемой логической матрице (FPGA), другом программируемое логическом устройстве, дискретном вентиле, транзисторной логике, дискретном аппаратном компоненте или любой их комбинации. Процессор общего назначения может быть микропроцессором. Необязательно, универсальный процессор может быть любым обычным процессором, контроллером, микроконтроллером или машиной состояния. Процессор может быть реализован с использованием комбинации вычислительных устройств, например, процессора цифровых сигналов и микропроцессора, множества микропроцессоров, одного или нескольких микропроцессоров в сочетании с ядром процессора цифровых сигналов или любых других подобных конфигураций.
[0233] Этапы способов или алгоритмов, описанных в вариантах осуществления настоящей заявки, могут быть непосредственно встроены в аппаратные средства, одну или несколько инструкций, выполняемых процессором, или их комбинацию. Память может быть памятью RAM, флэш-памятью, памятью ROM, памятью EPROM, памятью EEPROM, регистром, жестким диском, съемным диском, CD-ROM или любым другим видом носителя информации в данной области техники. Например, память может быть подключена к процессору, так что процессор может считывать информацию из памяти, а также сохранять и записывать информацию в память. При желании память может быть интегрирована в процессор. Процессор и память могут быть расположены в ASIC, и ASIC может быть расположена в терминале или базовой станции, или других сетевых устройствах. Необязательно, процессор и память могут быть расположены в разных компонентах терминала или базовой станции или других сетевых устройствах.
[0234] С описаниями вышеупомянутых реализаций специалист в данной области техники может четко понимать, что настоящая заявка может быть реализована посредством аппаратного обеспечения, встроенного программного обеспечения или их комбинации. Когда настоящая заявка реализуется с помощью программного обеспечения, настоящая заявка может быть реализована полностью или частично в форме компьютерного программного продукта, где компьютерный программный продукт включает в себя одну или несколько компьютерных инструкций. Когда компьютерные инструкции загружаются и выполняются, процедуры или функции в соответствии с вариантами осуществления настоящей заявки полностью или частично генерируются. Когда настоящая заявка реализуется с помощью программного обеспечения, вышеупомянутые функции могут альтернативно храниться на машиночитаемом носителе или передаваться в виде одной или нескольких инструкций или кода на машиночитаемом носителе. Компьютер может быть компьютером общего назначения, выделенным компьютером, компьютерной сетью или другим программируемым устройством. Компьютерные инструкции могут храниться на считываемом компьютером носителе или могут передаваться со считываемого компьютером носителя на другой считываемый компьютером носитель. Машиночитаемый носитель включает в себя компьютерный носитель данных и носитель связи, где носитель связи включает в себя любой носитель, который позволяет передавать компьютерную программу из одного места в другое. Носитель данных может быть любым доступным носителем, к которому может обращаться компьютер. Ниже приведен пример, но не накладывается никаких ограничений: машиночитаемый носитель может включать в себя RAM, ROM, EEPROM, CD-ROM или другой оптический дисковый носитель для хранения, другое магнитное запоминающее устройство или любой другой носитель, который может нести или хранить ожидаемый программный код в форме инструкции (инструкций) или структуры данных, к которой может обращаться компьютер. Кроме того, любое соединение может быть соответствующим образом определено как считываемый компьютером носитель. Например, если программное обеспечение передается с веб-сайта, сервера или другого удаленного источника с использованием коаксиального кабеля, оптоволокна/кабеля, витой пары, цифровой абонентской линии (DSL) или беспроводных технологий, таких как инфракрасное, радио и микроволновое излучение, коаксиальный кабель, оптоволокно/кабель, витая пара, DSL или беспроводные технологии, такие как инфракрасное, радио и микроволновая излучение, включены в определения носителей, к которым они относятся. Например, диски, используемые в настоящей заявке, включают в себя компакт-диск (CD), лазерный диск, оптический диск, цифровой универсальный диск (DVD), дискету и диск Blu-ray, где диск обычно копирует данные магнитно, и диск копирует данные оптически с помощью лазера. Вышеуказанная комбинация также должна быть включена в объем защиты машиночитаемого носителя.
[0235] Следует отметить, что «/» в данной заявке представляет собой и/или. Например, «кодирование/декодирование (encoding and/or decoding)» означает кодирование, декодирование или кодирование и декодирование.
[0236] В заключение, то, что описано выше, является просто примерами вариантов осуществления технических решений настоящей заявки, но не предназначено для ограничения объема защиты настоящей заявки. Любая модификация, эквивалентная замена или улучшение, выполненные без отклонения от принципа настоящей заявки, должны попадать в объем защиты настоящей заявки.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ ОБРАБОТКИ ИНФОРМАЦИИ И УСТРОЙСТВО СВЯЗИ | 2017 |
|
RU2740154C1 |
СПОСОБ ОБРАБОТКИ ИНФОРМАЦИИ, ПРИСПОСОБЛЕНИЕ И УСТРОЙСТВО СВЯЗИ | 2018 |
|
RU2769096C2 |
СПОСОБ ОБРАБОТКИ ИНФОРМАЦИИ И УСТРОЙСТВО СВЯЗИ | 2017 |
|
RU2740151C1 |
Способ и устройство обработки информации и устройство связи | 2017 |
|
RU2667772C1 |
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ КОДОВ С НИЗКОЙ ПЛОТНОСТЬЮ ПРОВЕРОК НА ЧЕТНОСТЬ | 2017 |
|
RU2739465C2 |
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ДАННЫХ | 2005 |
|
RU2370886C2 |
ВЫСОКОСКОРОСТНЫЕ ДЛИННЫЕ LDPC КОДЫ | 2017 |
|
RU2733826C1 |
СПОСОБ КОДИРОВАНИЯ КОДА РАЗРЕЖЕННОГО КОНТРОЛЯ ЧЕТНОСТИ | 2004 |
|
RU2308803C2 |
СПОСОБ И УСТРОЙСТВО ДЛЯ КАНАЛЬНОГО КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ В СИСТЕМЕ СВЯЗИ, В КОТОРОЙ ИСПОЛЬЗУЮТСЯ КОДЫ КОНТРОЛЯ ЧЕТНОСТИ С НИЗКОЙ ПЛОТНОСТЬЮ | 2012 |
|
RU2520405C2 |
СПОСОБ И УСТРОЙСТВО ДЛЯ КАНАЛЬНОГО КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ В СИСТЕМЕ СВЯЗИ, В КОТОРОЙ ИСПОЛЬЗУЮТСЯ КОДЫ КОНТРОЛЯ ЧЕТНОСТИ С НИЗКОЙ ПЛОТНОСТЬЮ | 2012 |
|
RU2520406C2 |
Группа изобретений относится к средствам кодирования и связи. Технический результат – повышение эффективности схем кодирования средств связи. Для этого предложен способ, содержащий получение аппаратурой связи входной последовательности c, причем входная последовательность содержит K битов, K≥1; кодирование аппаратурой связи входной последовательности c, используя матрицу H, чтобы получить кодированную последовательность d, причем кодированная последовательность d содержит N битов и N положительное целое число; и вывод аппаратурой связи кодированной последовательности d; причем матрица H определяется в соответствии с базовой матрицей и коэффициентом Z подъема, Z положительное целое число; причем базовая матрица содержит m строк и n столбцов и элементы в базовой матрице соответственно представлены их индексом i строки и индексом j столбца, причем 0≤i<m, 0≤j<n; причем элемент в базовой матрице является либо нулевым элементом, либо ненулевым элементом и ненулевой элемент в строке i и столбце j имеет значение Vi,j. 3 н. и 34 з.п. ф-лы, 4 табл., 16 ил.
1. Способ беспроводной связи, содержащий:
получение аппаратурой связи входной последовательности c, причем входная последовательность содержит K битов, K ≥1;
кодирование аппаратурой связи входной последовательности c, используя матрицу H, чтобы получить кодированную последовательность d, причем кодированная последовательность d содержит N битов, и N положительное целое число; и
вывод аппаратурой связи кодированной последовательности d;
причем матрица H определяется в соответствии с базовой матрицей и коэффициентом Z подъема, Z положительное целое число;
причем базовая матрица содержит m строк и n столбцов, и элементы в базовой матрице соответственно представлены их индексом i строки и индексом j столбца, причем 0≤i<m, 0≤j<n;
причем элемент в базовой матрице является либо нулевым элементом, либо ненулевым элементом и ненулевой элемент в строке i и столбце j имеет значение Vi,j;
причем каждый нулевой элемент в базовой матрице соответствует матрице из всех нулей размером Z×Z в матрице H, и ненулевой элемент в строке i и столбце j в базовой матрице соответствует матрице hi,jциклической перестановкиразмером Z×Z в матрице H;
причем матрица hi,jциклической перестановки равна единичной матрице Z×Z, которая сдвигается по кругу вправо Pi,jраз, причем Pi,j=mod(Vi,j, Z); и
при этом базовая матрица содержит следующие ненулевые элементы, чьи индексы (i) строки, индексы (j) столбца и соответствующие значения Vi,jявляются следующими:
2. Способ по п.1, причем N равно 50×Z.
3. Способ по п.1 или 2, причем входная последовательность c представлена как c={c0, c1, c2, …, cK-1}, и кодированная последовательность d представлена как d={d0, d1, d2, …, dN-1},, причем при кодировании входной последовательности c, используя матрицу H, элемент ck (k = 0, 1, 2, …, K-1) во входной последовательности c и элемент dn (n = 0, 1, 2, …, N-1)в кодированной последовательности d удовлетворяют:
для k=2Z до K-1,
если ck не является битом заполнения, dk-2z=ck; и
если ck является битом заполнения, ck=0, и dk-2Z является битом заполнения.
4. Способ по любому из пп.1-3, причем входная последовательность c представлена как c={c0, c1, c2, …, cK-1}, и кодированная последовательность d представлена как d={d0, d1, d2, …, dN-1}, причем кодированная последовательность d содержит K0 битов из входной последовательности c и N-K0 битов четности из последовательности w четности, причем последовательность w четности представлена как w={w0, w1, w2, …, wN-K0-1}, причем K0 целое число и 0<K0≤K;
причем матрица H, последовательность w четности и входная последовательность c удовлетворяют:
,
где c=[c0, c1, c2, …,cK-1]T, w=[w0, w1, w2,…,wn-K0-1]T, и 0 является вектором столбца, в котором все элементы равны нулю.
5. Способ по п.4, причем последовательность w четности имеет N+2Z-K битов и последовательность w четности представлена как w={w0, w1, w2, …, wN+2Z-K-1}.
6. Способ по любому из пп.4-5, причем при кодировании входной последовательности c, используя матрицу H, элемент в последовательности w четности и элемент в кодированной последовательности d удовлетворяют:
для k=K до N+2Z-1,
dk-2z=wk-K.
7. Способ по любому из пп.1-6, причем Z является минимальным значением, которое удовлетворяет Kb×Z≥K, и Kb является одним из {6, 8, 9, 10}.
8. Способ по п. 7, причем Kb удовлетворяет:
.
9. Способ по любому из пп.1-8, причем Z является одним из 5, 10, 20, 40, 80, 160 и 320.
10. Способ по любому из пп.1-9, причем m≤42 и n≤52.
11. Способ по любому из пп.1-10, причем базовая матрица дополнительно содержит одну или более строк с ненулевыми элементами, причем индексы (i) строки, индексы (j) столбца и соответствующие значения Vi,jненулевых элементов являются следующими:
12. Аппаратура для беспроводной связи, содержащая по меньшей мере один процессор, сконфигурированный для:
получения входной последовательности c, причем входная последовательность содержит K битов, K≥1;
кодирования входной последовательности c, используя матрицу H, чтобы получить кодированную последовательность d, причем кодированная последовательность d содержит N битов, и N положительное целое число; и
вывода кодированной последовательности d;
причем матрица H определяется в соответствии с базовой матрицей и коэффициентом Z подъема, Z положительное целое число;
причем базовая матрица содержит m строк и n столбцов, и элементы в базовой матрице соответственно представлены их индексом i строки и индексом j столбца, причем 0≤i<m, 0≤j<n;
причем элемент в базовой матрице является либо нулевым элементом, либо ненулевым элементом и ненулевой элемент в строке i и столбце j имеет значение Vi,j;
причем каждый нулевой в базовой матрице соответствует матрице из всех нулей размером Z×Z в матрице H, и ненулевой элемент в строке i и столбце j в базовой матрице соответствует матрице hi,jциклической перестановки размером Z×Z в матрице H;
причем матрица hi,jциклической перестановки равна единичной матрице Z×Z, которая сдвигается по кругу вправо Pi,jраз, причем Pi,j=mod(Vi,j, Z); и
при этом базовая матрица содержит следующие ненулевые элементы, чьи индексы (i) строки, индексы (j) столбца и соответствующие значения Vi,jявляются следующими:
13. Аппаратура по п.12, причем N равно 50×Z.
14. Аппаратура по п.12 или 13, причем входная последовательность c представлена как c={c0, c1, c2, …, cK-1}, и кодированная последовательность d представлена как d={d0, d1, d2, …, dN-1},, причем при кодировании входной последовательности c, используя матрицу H, элемент ck (k = 0, 1, 2, …, K-1) во входной последовательности c и элемент dn (n = 0, 1, 2, …, N-1) в кодированной последовательности d удовлетворяют:
для k=2Z до K-1,
если ck не является битом заполнения, dk-2z=ck; и
если ck является битом заполнения, ck=0, и dk-2Z является битом заполнения.
15. Аппаратура по любому из пп.12-14, причем входная последовательность c представлена как c={c0, c1, c2, …, cK-1}, и кодированная последовательность d представлена как d={d0, d1, d2, …, dN-1}, причем кодированная последовательность d содержит K0 битов из входной последовательности c и N-K0 битов четности из последовательности w четности, причем последовательность w четности представлена как w={w0, w1, w2, …, wN-K0-1}, причем K0 целое число и 0<K0≤K;
причем матрица H, последовательность w четности и входная последовательность c удовлетворяют:
,
где c=[c0, c1, c2, …,cK-1]T, w=[w0, w1, w2, …,wn-K0-1]T, и 0 является вектором столбца, в котором все элементы равны нулю.
16. Аппаратура по п.15, причем последовательность w четности имеет N+2Z-K битов и последовательность w четности представлена как w={w0, w1, w2, …, wN+2Z-K-1}.
17. Аппаратурапо любому из пп.15 или 16, причем при кодировании входной последовательности c, используя матрицу H, элемент в последовательности w четности и элемент в кодированной последовательности d удовлетворяют:
для k=K до N+2Z-1,
dk-2z=wk-K.
18. Аппаратура по любому из пп.12-17, причем Z является минимальным значением, которое удовлетворяет Kb×Z≥K, и Kb является одним из {6, 8, 9, 10}.
19. Аппаратура по п.18, причем Kb удовлетворяет:
.
20. Аппаратура по любому из пп.12-19, причем Z является одним из 5, 10, 20, 40, 80, 160 и 320.
21. Аппаратура по любому из пп.12-20, причем m≤42 и n≤52.
22. Аппаратура по любому из пп.12-21, причем базовая матрица дополнительно содержит одну или более строк с ненулевыми элементами, причем индексы (i) строки, индексы (j) столбца и соответствующие значения Vi,jненулевых элементов являются следующими:
23. Аппаратура по любому из пп.12-22, дополнительно содержащая по меньшей мере одну память, сконфигурированную для хранения базовой матрицы, одного или более коэффициентов Z подъема или одной или более матриц циклической перестановки.
24. Аппаратура по любому из пп.12-23, дополнительно содержащая по меньшей мере одну память, сконфигурированную для хранения параметров, ассоциированных с матрицей H.
25.Аппаратура по любому из пп.12-24, дополнительно содержащая приемопередатчик, сконфигурированный, чтобы:
принимать входную последовательность и передавать кодированную последовательность d.
26. Машиночитаемый носитель данных, хранящий инструкции, которые, когда выполняются компьютером, вынуждают компьютер выполнять процесс, который содержит:
получение входной последовательности c, причем входная последовательность содержит K битов, K ≥1;
кодирование входной последовательности c, используя матрицу H, чтобы получить кодированную последовательность d, причем кодированная последовательность d содержит N битов, и N положительное целое число; и
вывод кодированной последовательности d;
причем матрица H определяется в соответствии с базовой матрицей и коэффициентом Z подъема;
причем базовая матрица содержит m строк и n столбцов, и элементы в базовой матрице соответственно представлены их индексом i строки и индексом j столбца, причем 0≤i<m, 0≤j<n;
причем элемент в базовой матрице является либо нулевым элементом, либо ненулевым элементом и ненулевой элемент в строке i и столбце j имеет значение Vi,j;
причем каждый нулевой в базовой матрице соответствует матрице из всех нулей размером Z×Z в матрице H, и ненулевой элемент в строке i и столбце j в базовой матрице соответствует матрице hi,jциклической перестановкиразмером Z×Z в матрице H;
причем матрица hi,jциклической перестановки равна единичной матрице Z×Z, которая сдвигается по кругу вправо Pi,jраз, причем Pi,j=mod(Vi,j, Z); и
при этом базовая матрица содержит следующие ненулевые элементы, чьи индексы (i) строки, индексы (j) столбца и соответствующие значения Vi,jявляются следующими:
27. Машиночитаемый носитель данных по п.26, причем N равно 50×Z.
28. Машиночитаемый носитель данных по п.26 или 27, причем входная последовательность c представлена как c={c0, c1, c2, …, cK-1}, и кодированная последовательность d представлена как d={d0, d1, d2, …, dN-1}, элемент ck (k = 0, 1, 2,…, K-1) во входной последовательности c и элемент dn (n = 0, 1, 2, …, N-1) в кодированной последовательности d удовлетворяют:
для k=2Z до K-1,
если ck не является битом заполнения, dk-2z=ck; и
если ck является битом заполнения, ck=0, и dk-2Z является битом заполнения.
29. Машиночитаемый носитель данных по любому из пп.26-28, причем входная последовательность c представлена как c={c0, c1, c2, …, cK-1}, и кодированная последовательность d представлена как d={d0, d1, d2, …, dN-1}, причем кодированная последовательность d содержит K0 битов из входной последовательности c и N-K0 битов четности из последовательности w четности, причем последовательность w четности представлена как w={w0, w1, w2, …, wN-K0-1}, причем K0 целое число и 0<K0≤K;
причем матрица H, последовательность w четности и входная последовательность c удовлетворяют:
,
где c=[c0, c1, c2, …,cK-1]T, w=[w0, w1, w2,…,wn-K0-1]T, и 0 является вектором столбца, в котором все элементы равны нулю.
30. Машиночитаемый носитель данных по п.29, причем последовательность w четности имеет N+2Z-K битов и последовательность w четности представлена как w={w0, w1, w2, …, wN+2Z-K-1}, элемент в последовательности w четности и элемент в кодированной последовательности dудовлетворяют:
для k=K до N+2Z-1,
dk-2z=wk-K.
31. Машиночитаемый носитель данных по любому из пп.26-30, причем Z является минимальным значением, которое удовлетворяет Kb×Z≥K, и Kbявляется одним из {6, 8, 9, 10}.
32. Машиночитаемый носитель данных по п.31, причем Kbудовлетворяет:
.
33. Машиночитаемый носитель данных по любому из пп.26-32, причем Z является одним из 5, 10, 20, 40, 80, 160 и 320.
34. Машиночитаемый носитель данных по любому из пп.26-33, причем m≤42 и n≤52.
35. Машиночитаемый носитель данных по любому из пп.26-34, причем базовая матрица дополнительно содержит одну или более строк с ненулевыми элементами, причем индексы (i) строки, индексы (j) столбца и соответствующие значения Vi,jненулевых элементовявляются следующими:
36. Машиночитаемый носитель данных по любому из пп.26-35, сконфигурированный для хранения базовой матрицы, одного или более коэффициентов Z подъема или одной или более матриц циклической перестановки.
37. Машиночитаемый носитель данных по любому из пп.26-36, сконфигурированный для хранения параметров, ассоциированных с матрицей H.
Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз | 1924 |
|
SU2014A1 |
CN 106849958 А, 13.06.2017 | |||
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
УСТРОЙСТВО И СПОСОБ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ КАНАЛА С ИСПОЛЬЗОВАНИЕМ ПАРАЛЛЕЛЬНОГО КАСКАДНОГО КОДА ПРОВЕРКИ НА ЧЕТНОСТЬ С НИЗКОЙ ПЛОТНОСТЬЮ | 2004 |
|
RU2310274C1 |
Авторы
Даты
2021-11-03—Публикация
2018-04-12—Подача