СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ КОДА С НИЗКОЙ ПЛОТНОСТЬЮ ПРОВЕРОК НА ЧЁТНОСТЬ (LDPC), БАЗОВАЯ СТАНЦИЯ И МАШИНОЧИТАЕМЫЙ НОСИТЕЛЬ ДАННЫХ
METHOD AND DEVICE FOR ENCODING LOW-DENSITY PARITY-CHECK CODE (LDPC), BASE STATION AND MACHINE-READABLE DATA CARRIER

Ссылка на родственную заявку
Данная заявка основана на заявке на патент Китая №201910754120.3, поданной 15 августа 2019 года, и испрашивает приоритет по этой заявке на патент Китая, содержание которой полностью включено в настоящий документ посредством ссылки.
Область техники, к которой относится настоящее изобретение
Настоящее изобретение относится к технической области связи, в частности, к способу и устройству для кодирования LDPC (коды с низкой плотностью проверок на четность), базовой станции и машиночитаемому носителю данных.
Предшествующий уровень техники настоящего изобретения
В качестве важнейшей составляющей систем беспроводной связи канальное кодирование, наряду с технологией множественного доступа и технологией с многими входами и выходами, являются одной из этих трех ключевых технологий, которые используются в радиоинтерфейсе 5G.
После выхода формулы Шэннона было использовано множество способов кодирования с исправлением ошибок, в которых коды разбиты на две категории, а именно: блоковые коды и решетчатые коды. Вследствие ограничений по числу состояний решетчатые коды вместе с обычными блоковыми кодами подходят для коротких кодов. Для обоих типов кода сложность декодирования экспоненциально соотносится с длиной кода.
Турбо-коды, используемые в настоящее время в системе 4G, относятся к длинным кодам с производительностью кодирования, приближающейся к пределу Шэннона. Турбо-коды принимают параллельно-каскадную рекурсивную структуру, а коды ее частей в сборе используют систематические сверточные коды. При этом между кодировками вводится перемежение с целью уменьшения корреляции информации между кодировками и симуляции формата случайного кодирования. Во время декодирования используется алгоритм декодирования «Soft-in-Soft-out» (двунаправленное кодирование с мягким решением) и формат декодирования с информационной обратной связью, что приближает турбо-коды к пределу Шэннона. Турбо-коды имеют недостаток, который заключается в высокой сложности кодирования. Кроме того, когда кодовые блоки имеют большую длину, перемежитель срабатывает со слишком большой задержкой.
С развитием технологии 5G проект партнерства третьего поколения (3GPP) определяет, что связь 5G реализует схему кодирования с использованием кодов LDPC в качестве длинных кодов. Представляя собой один из видов линейный блочных кодов с разреженными проверочными матрицами, коды LDPC характеризуются не только высокой производительностью, приближающейся к пределу Шэннона, но также и меньшей сложностью кодирования и гибкостью структуры.
Разные схемы кодирования LDPC имеют огромное влияние на производительность, и они очевидно отличаются друг от друга в плане потребления аппаратных ресурсов.
Краткое раскрытие настоящего изобретения
Вариантами осуществления настоящего изобретения предложен способ и устройство для кодирования LDPC, базовая станция и машиночитаемый носитель данных для того, чтобы устранить в известной мере, по меньшей мере, некоторые проблемы, связанные с большими задержками при кодировании и высоким потреблением ресурсов в некоторых ситуаций.
Согласно первому аспекту настоящего изобретения одним из вариантов его осуществления предложен способ кодирования LDPC. Этот способ может предусматривать: получение кодированных исходных данных и коэффициента расширения и сегментирование кодированных исходных данных с учетом коэффициента расширения с целью получения сегментированных кодированных данных; и определение значения сдвига на основании коэффициента расширения и генерирование контрольной информации с учетом значения сдвига и сегментированных кодированных данных для завершения кодирования.
Согласно другому аспекту настоящего изобретения одним из вариантов его осуществления предложено устройство для кодирования LDPC. Это устройство может включать в себя модуль обработки данных и модуль генерирования контрольной информации. Модуль обработки данных выполнен с возможностью получения кодированных исходных данных и коэффициента расширения, сегментирования кодированных исходных данных на основании коэффициента расширения с целью получения сегментированных кодированных данных и определения значения сдвига с учетом коэффициента расширения. Модуль генерирования контрольной информации выполнен с возможностью генерирования контрольной информации на основании значения сдвига и сегментированных кодированных данных для завершения кодирования.
Согласно еще одному аспекту настоящего изобретения одним из вариантов его осуществления предложен машиночитаемый носитель данных, в котором хранятся программы для осуществления передачи информации. Программы при их выполнении процессором инициируют реализацию этим процессором способа кодирования, описанного выше.
Согласно еще одному из аспектов настоящего изобретения одним из вариантов его осуществления предложена базовая станция. Эта базовая станция может содержать память, процессор и компьютерные программы, хранящиеся в памяти и выполняемые процессором. Компьютерные программы при их выполнении процессором инициируют реализацию этим процессором указанного способа кодирования.
Представленное выше описание лишь вкратце иллюстрирует технические схемы настоящего изобретения. Для прояснения технических средств данной заявки эти технические средства могут быть реализованы в соответствии с контекстом представленного описания, а чтобы указанные и прочие цели, признаки и преимущества данной заявки стали более очевидными, ниже будут проиллюстрированы примеры осуществления настоящего изобретения.
Краткое описание чертежей
Прочие иные преимущества и достоинства станут понятными специалисту в данной области техники после ознакомления с последующим подробным описанием предпочтительных примеров осуществления заявленного изобретения. Чертежи предназначены исключительно для иллюстрации, а не для ограничения предпочтительных вариантов осуществления настоящего изобретения. Кроме того, на всех чертежах одни и те же компоненты обозначены одинаковыми номерами позиций, где:
На фиг. 1 представлена блок-схема согласно первому варианту осуществления настоящего изобретения;
На фиг. 2 показана блок-схема получения сегментированных кодированных данных согласно первому варианту осуществления настоящего изобретения;
На фиг. 3 схематически показана структура устройства согласно второму варианту осуществления настоящего изобретения;
На фиг. 4 схематически показана обработка данных в устройстве согласно второму варианту осуществления настоящего изобретения;
На фиг. 5 показана базисная матрица коэффициента 512 расширения согласно третьему варианту осуществления настоящего изобретения;
На фиг. 6 показана предварительно сдвинутая базисная матрица коэффициента 512 расширения согласно третьему варианту осуществления настоящего изобретения;
На фиг. 7 показана базисная матрица коэффициента 256 расширения согласно четвертому варианту осуществления настоящего изобретения;
На фиг. 8 показана предварительно сдвинутая базисная матрица коэффициента 256 расширения согласно четвертому варианту осуществления настоящего изобретения; а
На фиг. 9 схематически показана структура базовой станции согласно шестому варианту осуществления настоящего изобретения.
Подробное раскрытие настоящего изобретения
Примеры осуществления заявленного изобретения будут подробно описаны ниже в привязке к чертежам. Хотя на чертежах показаны конкретные примеры осуществления настоящего изобретения, следует понимать, что заявленное изобретение может быть реализовано в самых разных формах, и оно не должно ограничиваться вариантами осуществления, описанными в настоящем документе. Правильнее сказать, что эти варианты осуществления представлены для обеспечения более глубокого понимания настоящего изобретения и раскрывают его объем специалистам в данной области техники.
Согласно первому аспекту настоящего изобретения первым вариантом его осуществления предложен способ кодирования LDPC. Как показано на фиг. 1, этот способ предусматривает выполнение стадий S1-S3.
На стадии S1 обеспечивается получение кодированных исходных данных и коэффициента расширения и сегментирование кодированных исходных данных на основании коэффициента расширения с целью получения сегментированных кодированных данных.
На стадии S2 обеспечивается сохранение сегментированных кодированных данных.
На стадии S3 определяется значение сдвига на основании коэффициента расширения, после чего на основании значения сдвига и сегментированных кодированных данных генерируется контрольная информация для завершения кодирования.
В этом варианте осуществления настоящего изобретения за счет сегментирования кодированных исходных данных на основании коэффициента расширения для получения сегментированных кодированных данных, определения значения сдвига на основании коэффициента расширения и генерирования контрольной информации на основании значения сдвига и сегментированных кодированных данных для завершения кодирования зависимость между различной контрольной информацией в процессе кодирования нарушается, и тем самым устраняются проблемы большой задержки кодирования и высокого потребления ресурсов, присущие существующей технологии.
В одном из вариантов осуществления настоящего изобретения, как это показано на фиг. 2, сегментирование кодированных исходных данных на основании коэффициента расширения с целью получения сегментированных кодированных данных предусматривает выполнение стадий S11 и S12.
На стадии S11 выбирается базисная матрица кодирования на основании длины кодированных исходных данных и коэффициента расширения.
На стадии S12 выполняется сегментирование кодированных исходных данных на основании коэффициента расширения с целью получения сегментированных кодированных данных.
В одном из вариантов осуществления настоящего изобретения базисная матрица кодирования делится на правую и левую части, где левая часть отображает беспроверочную матрицу, а правая часть отображает проверочную матрицу. В этом варианте осуществления настоящего изобретения существует соответствие между базисной матрицей и кодированными исходными данными. Например, в том случае, когда кодированные исходные данные записываются как Z×8 (где величина Z обозначает коэффициент расширения), может быть выбрана базисная матрица кодирования 18×26, где беспроверочная матрица имеет размеры 18×8, а проверочная матрица - 18×18.
При использовании указанных технических схем за счет сдвига выбранной базисной матрицы кодирования зависимость между различной контрольной информацией может быть нарушена, и может быть реализована разумная компоновка структуры кодирования, что повышает эффективность самого кодирования.
В одном из вариантов осуществления настоящего изобретения предусмотрено, что после сегментирования исходных данных на основании коэффициента расширения для получения сегментированных кодированных данных предложенный способ дополнительно предусматривает выполнение стадии, описанной ниже.
На стадии S2 обеспечивается сохранение сегментированных кодированных данных.
Сегментированные кодированные данные сохраняются для облегчения планирования данных в ходе их последующей обработки.
В одном из вариантов осуществления настоящего изобретения определение значения сдвига на основании коэффициента расширения предусматривает:
Расчет - по проверочной формуле для генерирования контрольной информации в базисной матрице - значения сдвига базисной матрицы кодирования, соответствующего коэффициенту расширения.
В одном из вариантов осуществления настоящего изобретения значение сдвига проверочной матрицы в базисной матрице кодирования, соответствующее коэффициенту расширения, рассчитывается по проверочной формуле для генерирования контрольной информации в базисной матрице. Предложенный способ заключается в расчете информации циклического сдвига (т.е. значения сдвига) каждого элемента по проверочной формуле для генерирования контрольной информации в базисной матрице, где базисная матрица принята в качестве прототипа, с последующим генерированием на этом основании контрольной информации кодирования. Таким образом, обеспечивается получение значения сдвига, соответствующего каждому элементу в базисной матрице. Можно также рассчитать предварительно сдвинутую базисную матрицу на основании значения сдвига, соответствующего базисной матрице.
В другом варианте осуществления настоящего изобретения предусмотрено, что после определения значения сдвига на основании коэффициента расширения предложенный способ дополнительно предусматривает:
определение промежуточного значения кодирования на основании кодированных исходных данных, базисной матрицы кодирования и значения сдвига.
В этом варианте осуществления настоящего изобретения может быть выполнена операция добавления по модулю 2 в отношении кодированных исходных данных на основании беспроверочной матрицы в левой части базисной матрицы кодирования с целью получения промежуточного значения кодирования. В частности, получение предварительно сдвинутой базисной матрицы может быть обеспечено путем расчета на основании значения сдвига с использованием базисной матрицы кодирования, а операция добавления по модулю 2 выполняется в отношении кодированных исходных данных с использованием предварительно сдвинутой базисной матрицы для получения промежуточного значения кодирования. В этом варианте осуществления настоящего изобретения после получения промежуточного значения кодирования это промежуточное значение кодирования может быть сохранено.
Генерирование контрольной информации на основании значения сдвига и сегментированных кодированных данных предусматривает:
генерирование контрольной информации на основании промежуточного значения кодирования, исходя из значения сдвига.
В одном из вариантов осуществления настоящего изобретения после получения промежуточного значения кодирования на основании значения сдвига, принятого в качестве исходной позиции, с учетом этого промежуточного значения кодирования генерируется контрольная информация.
В сравнении с некоторыми ситуациями при использовании способа согласно первому варианту осуществления настоящего изобретения зависимость между различной контрольной информацией в ходе кодирования нарушается, и реализуется разумная компоновка структуры кодирования, благодаря чему задержка при кодировании по всему каналу физического уровня сокращается параллельным механизмом. При этом за счет использования этого параллельного механизма производительность всей системы повышается, так что кодирование больше не является «узким местом» усилий по повышению производительности системы, а в некоторых случаях устраняются проблемы и недостатки, связанные с большой задержкой при кодировании LDPC, большим потреблением ресурсов и высокой стоимостью аппаратных средств.
Согласно второму аспекту настоящего изобретения вторым вариантом его осуществления предложено устройство для кодирования LDPC. Как показано на фиг. 3, это устройство может включать в себя модуль обработки данных и модуль генерирования контрольной информации.
Модуль обработки данных выполнен с возможностью получения кодированных исходных данных и коэффициента расширения, сегментирования кодированных исходных данных на основании коэффициента расширения с целью получения сегментированных кодированных данных и определения значения сдвига на основании коэффициента расширения.
Модуль генерирования контрольной информации выполнен с возможностью генерирования контрольной информации на основании значения сдвига и сегментированных кодированных данных для завершения кодирования.
В этом варианте осуществления настоящего изобретения модуль обработки данных сегментирует кодированные исходные данные на основании коэффициента расширения с целью получения сегментированных кодированных данных и определяет значение сдвига на основании коэффициента расширения, а модуль генерирования контрольной информации генерирует контрольную информацию на основании значения сдвига и сегментированных кодированных данных для завершения кодирования. Таким образом, зависимость между различной контрольной информацией в ходе кодирования нарушается, и устраняется проблема, состоящая в том, что в некоторых случаях автоматическая коррекция не может быть реализована из-за «застывания» компенсирующего значения.
В одном из вариантов осуществления настоящего изобретения модуль обработки данных выполнен с возможностью выбора базисной матрицы кодирования на основании длины кодированных исходных данных и коэффициента расширения.
Модуль обработки данных выполнен с возможностью сегментирования кодированных исходных данных на основании коэффициента расширения с целью получения сегментированных кодированных данных.
Как показано на фиг. 4, в этом варианте осуществления настоящего изобретения модуль обработки данных включает в себя модуль предварительной обработки данных и модуль предварительного сдвига.
Модуль предварительной обработки данных выполнен с возможностью выбора базисной матрицы кодирования на основании длины кодированных исходных данных и коэффициента расширения, т.е. выбора базисной матрицы кодирования на основании исходной длины данных перед кодированием и коэффициента расширения, и сегментирования кодированных исходных данных на основании базисной матрицы кодирования с целью получения сегментированных кодированных данных, как это показано на фиг. 4. При этом, как показано на фиг. 4, модуль предварительной обработки данных выдает сегментированные данные.
В этом варианте осуществления настоящего изобретения базисная матрица кодирования делится на правую и левую части, где левая часть отображает беспроверочную матрицу, а правая часть отображает проверочную матрицу. В этом варианте осуществления настоящего изобретения существует соответствие между базисной матрицей и кодированными исходными данными. Например, в том случае, когда кодированные исходные данные записываются как Z×8 (где величина Z обозначает коэффициент расширения), может быть выбрана базисная матрица кодирования 18×26, где беспроверочная матрица имеет размеры 18×8, а проверочная матрица - 18×18.
Согласно указанным техническим схемам модуль предварительной обработки данных выбирает базисную матрицу кодирования, вследствие чего зависимость между различной контрольной информацией в процессе кодирования может быть нарушена, и может быть реализована разумная компоновка структуры кодирования, что повышает эффективность самого кодирования.
В одном из вариантов осуществления настоящего изобретения модуль обработки данных выполнен с возможностью расчета - по проверочной формуле для генерирования контрольной информации в базисной матрице - значения сдвига базисной матрицы кодирования, соответствующего коэффициенту расширения.
Модуль обработки данных рассчитывает - по проверочной формуле для генерирования контрольной информации в базисной матрице - значение сдвига проверочной матрицы в базисной матрице кодирования, соответствующее коэффициенту расширения. Модуль предварительного сдвига в составе модуля обработки данных может рассчитать, в порядке генерирования контрольной информации в проверочной матрице, соответствующий контрольно-информационный индекс (т.е. значение сдвига) сдвигового перехода, приняв базисную матрицу за прототип, а затем на этом основании сгенерировать контрольную информацию кодирования. Таким образом, обеспечивается получение модулем предварительного сдвига значения сдвига, соответствующего каждому элементу в базисной матрице. Предварительно сдвинутая базисная матрица может быть также получена путем расчета на основании значения сдвига, соответствующего базисной матрице.
Модуль обработки данных выполнен с дополнительной возможностью определения промежуточного значения кодирования на основании кодированных исходных данных и базисной матрицы кодирования.
Как показано на фиг. 4, модуль обработки данных может дополнительно включать в себя модуль расчета промежуточного значения кодирования. В этом варианте осуществления настоящего изобретения модуль расчета промежуточного значения кодирования может выполнить операцию добавления по модулю 2 в отношении кодированных исходных данных на основании беспроверочной матрицы в левой части базисной матрицы кодирования. В одном из вариантов осуществления настоящего изобретения операция добавления по модулю 2 может быть выполнена в отношении кодированных исходных данных на основании предварительно сдвинутой базисной матрицы, полученной модулем предварительного сдвига с целью получения промежуточного значения кодирования. Таким образом, обеспечивается получение промежуточного значения кодирования.
Модуль генерирования контрольной информации выполнен с возможностью генерирования контрольной информации на основании промежуточного значения кодирования, исходя из значения сдвига.
В одном из вариантов осуществления настоящего изобретения предусмотрено, что после получения промежуточного значения кодирования модуль генерирования контрольной информации генерирует контрольную информацию на основании промежуточного значения кодирования с учетом значения сдвига в качестве исходной позиции.
В одном из вариантов осуществления настоящего изобретения предложенное устройство дополнительно содержит модуль памяти.
Модуль памяти выполнен с возможностью сохранения сегментированных кодированных данных и сохранения промежуточного значения кодирования после получения промежуточного значения кодирования.
В сравнении с некоторыми ситуациями за счет использования устройства согласно второму варианту осуществления настоящего изобретения зависимость между различной контрольной информацией в ходе кодирования нарушается, и реализуется разумная компоновка структуры кодирования, благодаря чему задержка при кодировании по всему каналу физического уровня сокращается параллельным механизмом. При этом за счет использования этого параллельного механизма производительность всей системы повышается, так что кодирование больше не является «узким местом» усилий по повышению производительности системы, а в некоторых случаях устраняются проблемы и недостатки, связанные с большой задержкой при кодировании LDPC, большим потреблением ресурсов и высокой стоимостью аппаратных средств.
Согласно третьему аспекту настоящего изобретения третьим вариантом его осуществления, основанным на первом варианте осуществления, предложен пример реализации способа кодирования LDPC. В этом варианте осуществления заявленного изобретения описан процесс кодирования кодированных исходных данных модулем кодирования LDPC после приема данных и выбора базисной матрицы, показанной на фиг. 5. Этот процесс может предусматривать выполнение стадий S101-S108.
На стадии S101 кодированные исходные данные принимаются в виде матрицы Z×8, и выбирается базисная матрица, показанная на фиг. 5. В базисную матрицу 18×26 входит беспроверочная матрица 18×8 и проверочная матрица 18×18.
На стадии S102 выполняется операция по сегментированию кодового блока в отношении кодированных исходных данных на основании коэффициента расширения Z=512. Каждый элемент кодируемых данных записывается как С, где С составляет 512×8. Беспроверочная матрица содержит 18 строк и 8 колонок, так что исходные кодированные данные делятся на 8 частей для последующего сохранения, которые записываются как [С0, C1, С2, С3, С4, С5, С6, С7]. Каждый элемент данных записывается как 512×1, а индексное значение равно нулю.
На стадии S103, в 0-ой строке базисной матрицы, показанной на фиг. 5, контрольная информация является результатом, выданным по 0-ой строке и 8-ой колонке. Все восемь элементов в 0-ой строке беспроверочной матрицы равны нулю, а это указывает на то, что сдвиг не выполнен. В отношении [С0, C1, С2, С3, С4, С5, С6, С7] и восьми элементов в 0-ой строке беспроверочной матрицы выполняется операция умножения и сложения, а результат записывается как М0, где М0+V0=0, причем значение сдвига равно нулю, благодаря чему мы напрямую получаем величину V0. Величина V0 представляет собой контрольную информацию результата кодирования в 0-ой строке.
На стадии S104, в первой строке базисной матрицы, показанной на фиг. 5, выполняется операция умножения и сложения в отношении [С0, C1, С2, С3, С4, С5, С6, С7] и восьми элементов в первой строке беспроверочной матрицы, а результат записывается как M1. M1+V0'+V1=0, где величина V0' является результатом сдвига величины V0 в течение 405 раз, а величина V1 представляет собой контрольную информацию результата кодирования в первой строке.
107
0
107
В данном случае M1+V0'+V1=0 преобразуется в M1+V0+V1=0 на основании базисной матрицы, показанной на фиг. 5, а значение сдвига равно 107. Для получения значения 107-ого элемента в V1 берется 107-ой элемент в M1 и 0-ой элемент в V0, и это значение напрямую сохраняется в пространстве 107 для хранения данных, соответствующем контрольной информации V1 кодирования.
107
107
Фиг. 6 может быть получена по фиг. 5 после обработки, и на основании фиг. 6 выполняется обработка исходных данных с целью получения промежуточного значения. Получение значения M1 обеспечивается следующим образом: первая беспроверочная матрица в матрице предварительного сдвига, показанной на фиг. 6, записывается как [51, -1, -1, 91, 390, -1, 277, 107], а это говорит о том, что величина С0 смещена 51 раз для участия в операции, величина С3 смещена 91 раз, величина С4 смещена 390 раз, величина С6 смещена 277 раз, величина С7 смещена 107 раз, а -1 с пробелом указывает на неучастие в операции. Таким образом, элементом M1, полученным в первый раз, будет M1.
На стадии S105, во второй строке базисной матрицы, показанной на фиг. 5, выполняется операция умножения и сложения в отношении [С0, C1, С2, С3, С4, С5, С6, С7] и восьми элементов во второй строке беспроверочной матрицы, а результат записывается как М2. М2+V1'+V2=0, где V1' является результатом сдвига величины V1 в течение 195 раз, а величина V2 представляет собой контрольную информацию результата кодирования во второй строке.
424
107
424=
107
В данном случае М2+V1'+V2=0 преобразуется в М2+V1+V20 на основании базисной матрицы, показанной на фиг. 5, а значение сдвига равно 424. Для получения значения 424-ого элемента в V2 берется 424-ый элемент в М2 и V1 на стадии S104, и это значение напрямую сохраняется в пространстве 424 для хранения данных, соответствующем контрольной информации V2 кодирования.
424
424
Получение значения М2 обеспечивается следующим образом: вторая беспроверочная матрица в матрице предварительного сдвига, показанной на фиг. 6, записывается как [412, 73, 43, 382, 115, 396, 284, 425], а это говорит о том, что величина С0 смещена 412 раз для участия в операции, величина С1 смещена 73 раза, величина С2 смещена 73 раза, величина С3 смещена 382 раза, величина С4 смещена 115 раз, величина С5 смещена 396 раз, а величина С7 смещена 425 раз. Таким образом, элементом М2, полученным в первый раз, будет М2.
На стадии S106, в третьей строке базисной матрицы, показанной на фиг. 5, выполняется операция умножения и сложения в отношении [С0, C1, С2, С3, С4, С5, С6, С7] и восьми элементов в третьей строке беспроверочной матрицы, а результат записывается как М3. М3+V2'+V3=0, где V2' является результатом сдвига величины V2 в течение 161 раза, а величина V3 представляет собой контрольную информацию результата кодирования в третьей строке.
263
424
263
424
В данном случае М3+V2'+V3=0 преобразуется в М3+V2+V3=0 на основании базисной матрицы, показанной на фиг. 5, а значение сдвига равно 263. Для получения значения 263-го элемента в V3 берется 263-ий элемент в М3 и V2 на стадии S105, и это значение напрямую сохраняется в пространстве 263 для хранения данных, соответствующем контрольной информации V2 кодирования.
263
263
Получение значения М3 обеспечивается следующим образом: вторая беспроверочная матрица в матрице предварительного сдвига, показанной на фиг. 6, записывается как [-1, 165, 219, 473, -1, 116, -1, 264], а это говорит о том, что величина С0 не смещена, величина С1 смещена 165 раз, величина С2 смещена 219 раз, величина С3 смещена 473 раза, величина С4 не смещена, величина С5 смещена 116 раз, величина С6 не смещена, а величина С7 смещена 264 раз. Таким образом, элементом М3, полученным в первый раз, будет М3.
На стадии S107, по аналогии, в 17-ой строке базисной матрицы, показанной на фиг. 5, выполняется операция умножения и сложения в отношении [С0, C1, С2, С3, С4, С5, С6, С7] и восьми элементов в 17-ой строке беспроверочной матрицы, а результат записывается как М7. М17+V1'+V17=0, где V1' является результатом сдвига V1 в течение 90 раз, а величина V17 представляет собой контрольную информацию результата кодирования в 17-ой строке.
17
107
17
107
В данном случае М17+V1'+V17=0 преобразуется в М17+V1+V17=0 на основании базисной матрицы, показанной на фиг. 5, а значение сдвига равно 17. Для получения значения 17-ого элемента в V17 берется 17-ый элемент в М17 и V1 на стадии S104, и это значение напрямую сохраняется в пространстве 17 для хранения данных, соответствующем контрольной информации V17 кодирования.
17
17
Получение значения М17 обеспечивается следующим образом: 17-ая беспроверочная матрица в матрице предварительного сдвига, показанной на фиг. 6, записывается как [233, 266, -1, -1, -1, -1, -1, 17, -1], а это говорит о том, что величина С0 смещена 233 раза, величина С1 смещена 266 раз, величина С6 смещена 17 раз, а величины С2, С3, С4, С5 и С7 не смещены. Таким образом, элементом М17, полученным в первый раз, будет М17, а к индексному значению добавляется единица.
Стадии S108 и S103-S107 повторяются до тех пор, пока индексное значение не сравняется с коэффициентом расширения 512, что укажет на завершение кодирования. Выходные результаты кодирования будут такими: М0, V0, V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16 и V17.
Согласно четвертому аспекту настоящего изобретения четвертым вариантом его осуществления, основанным на первом варианте осуществления, предложен пример реализации способа кодирования LDPC. В этом варианте осуществления заявленного изобретения описан процесс кодирования кодированных исходных данных модулем кодирования LDPC после приема данных и выбора базисной матрицы, показанной на фиг. 7. Этот процесс может включать в себя стадии S201-S208.
На стадии S201 принимаются кодированные исходные данные в виде матрицы Z×22, и выбирается базисная матрица, показанная на фиг. 7. В базисную матрицу 46×68 входит беспроверочная матрица 46×22 и проверочная матрица 46×46.
На стадии S202 выполняется операция сегментирования кодового блока в отношении кодированных исходных данных на основании коэффициента расширения Z=256. Каждый элемент кодируемых данных записывается как С, где С составляет 256×22. Беспроверочная матрица содержит 46 строк и 22 колонки, так что исходные кодированные данные делятся на 22 части для последующего сохранения, которые записываются как [С0, C1, С2, С3, С4, С5, С6, С7, С8, С9, С10, С11, С12, С13, С14, С15, С16, С17, С18, С19, С20, С21]. Каждый элемент данных записывается как 256×1, а индексное значение равно нулю.
На стадии S203, в строках с 0-ой по третью базовой матрицы, показанной на фиг. 7, выполняется операция умножения и сложения в отношении [С0, С1, С2, С3, С4, С5, С6, С7, С8, С9, С10, С11, С12, С13, С14, С15, С16, С17, С18, С19, С20, С21] и 22-х элементов в 0-ой строке беспроверочной матрицы, а результат записывается как М0. М0+V0'+V1=0, где V0' является результатом одноразового сдвига величины V0, величина V1 представляет собой контрольную информацию результата кодирования в первой строке.
В отношении [С0, C1, С2, С3, С4, С5, С6, С7, С8, С9, С10, С11, С12, С13, С14, С15, С16, С17, С18, С19, С20, С21] и 22-х элементов в первой строке беспроверочной матрицы выполняется операция умножения и сложения, а результат записывается как M1. M1+V0+V1+V2=0, где величины V0 и V2 представляют собой контрольную информацию результатов кодирования в 0-ой строке и 2-ой строке, соответственно.
В отношении [С0, C1, С2, С3, С4, С5, С6, С7, С8, С9, С10, С11, С12, С13, С14, С15, С16, С17, С18, С19, С20, С21] и 22-х элементов во второй строке беспроверочной матрицы выполняется операция умножения и сложения, а результат записывается как М2. М2+V2+V3=0, где величина V3 представляет собой контрольную информацию результата кодирования в третьей строке.
В отношении [С0, C1, С2, С3, С4, С5, С6, С7, С8, С9, С10, С11, С12, С13, С14, С15, С16, С17, С18, С19, С20, С21] и 22-х элементов в третьей строке беспроверочной матрицы выполняется операция умножения и сложения, а результат записывается как М3. М3+V0'+V3=0, где величина V0' является результатом одноразового сдвига величины V0.
М0+V0'+V1=0
M1+V0+V1+V2=0
М2+V2+V3=0
М3+V0'+V3=0
Строки базисной матрицы с нулевой по третью обрабатываются совместно для получения величин V0, V1, V2 и V3.
На стадии S204, в 4-ой строке базисной матрицы, показанной на фиг. 7, выполняется операция умножения и сложения в отношении [С0, C1, С2, С3, С4, С5, С6, С7, С8, С9, С10, С11, С12, С13, С14, CIS, С16, С17, С18, С19, С20, С21] и 22-х элементов в 4-ой строке беспроверочной матрицы, а результат записывается как М4. М4+V4=0, где величина V4 представляет собой контрольную информацию результата кодирования в 4-ой строке.
0
Получение значения М4 обеспечивается следующим образом: 4-ая беспроверочная матрица в матрице предварительного сдвига, показанной на фиг. 8, записывается как [157, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], а это говорит о том, что величина С0 смещена 157 раз, величина С1 смещена 102 раза, а остальные величины не смещены. Таким образом, элементом М4, полученным в первый раз, будет М4.
На стадии S205, в 5-ой строке базисной матрицы, показанной на фиг. 7, выполняется операция умножения и сложения в отношении [С0, C1, С2, С3, С4, С5, С6, С7, С8, С9, С10, С11, С12, С13, С14, С15, С16, С17, С18, С19, С20, С21] и 22-х элементов в 5-ой строке беспроверочной матрицы, а результат записывается как М5. М5+V0'+V5=0, где величина V0' является результатом сдвига величины V0 в течение 115 раз, а величина V5 представляет собой контрольную информацию результата кодирования в 5-ой строке.
141
0
141
0
М5+V0'+V5=0 преобразуется в М5+V0+V5=0 на основании базисной матрицы, показанной на фиг. 7, а значение сдвига равно 141. Для получения значения 141-ого элемента в V5 берется 141-ый элемент в М5 и V0 на стадии S202, и это значение напрямую сохраняется в пространстве 141 для хранения данных, соответствующем контрольной информации 5 кодирования.
141
141
Получение значения М5 обеспечивается следующим образом: 5-ая беспроверочная матрица в матрице предварительного сдвига, показанной на фиг. 8, записывается как [90, 121, -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, 116, -1, -1, -1, 169, -1, -1, -1, -1, 8], а это говорит о том, что величина С0 смещена 90 раз, величина С1 смещена 121 раз, величина С3 смещена 79 раз, величина С12 смещена 116 раз, величина С16 смещена 169 раз, величина С21 смещена 8 раз, а остальные величины не смещены. Таким образом, элементом М5, полученным в первый раз, будет М5.
На стадии S206, по такой же аналогии, в 6-ой строке базисной матрицы, показанной на фиг. 7, выполняется операция умножения и сложения в отношении [С0, C1, С2, С3, С4, С5, С6, С7, С8, С9, С10, С11, С12, С13, С14, С15, С16, С17, С18, С19, С20, С21] и 22-х элементов в 6-ой строке беспроверочной матрицы, а результат записывается как М6. М6+V6=0, где величина V6 представляет собой контрольную информацию результата кодирования в 6-ой строке.
0
Получение значения Мб обеспечивается следующим образом: 6-ая беспроверочная матрица в матрице предварительного сдвига, показанной на фиг. 8, записывается как [183, -1, -1, -1, -1, -1, 22, -1, -1, -1, 28, 67, -1, 244, -1, -1, -1, 11, 157, -1, 211, -1], а это говорит о том, что величина С0 смещена 183 раза, величина С6 смещена 22 раза, величина С10 смещена 28 раз, величина С11 смещена 67 раз, величина С13 смещена 244 раза, величина С17 смещена 11 раз, величина С18 смещена 157 раз, величина С20 смещена 211 раз, а остальные величины не смещены. Таким образом, элементом М6, полученным в первый раз, будет М6.
На стадии S207, по такой же аналогии, в 45-ой строке базисной матрицы, показанной на фиг. 7, выполняется операция умножения и сложения в отношении [С0, C1, С2, С3, С4, С5, С6, С7, С8, С9, С10, С11, С12, С13, С14, С15, С16, С17, С18, С19, С20, С21] и 22-х элементов в 45-ой строке беспроверочной матрицы, а результат записывается как М45. М45+V45=0, где величина V45 представляет собой контрольную информацию результата кодирования в 45-ой строке.
0
Получение значения М45 обеспечивается следующим образом: 45-ая беспроверочная матрица в матрице предварительного сдвига, показанной на фиг. 8, записывается как [-1, 149, -1, -1, -1, -1, 151, -1, -1, -1, 167, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], а это говорит о том, что величина С1 смещена 149 раз, величина С6 смещена 151 раз, величина С10 смещена 167 раз, а остальные величины не смещены. Таким образом, элементом М45, полученным в первый раз, будет М45, а к индексному значению добавляется единица.
Стадии S208 и S202-S207 повторяются до тех пор, пока индексное значение не сравняется с коэффициентом расширения 256 кодового блока, что укажет на завершение кодирования. Выходные результаты кодирования будут такими: М0, V0, V1, V2, …, V15.
Согласно пятому аспекту настоящего изобретения пятым вариантом его осуществления предложен машиночитаемый носитель данных, в котором хранятся программы для осуществления передачи информации. Эти программы при их выполнении процессором инициируют реализацию этим процессором способа кодирования согласно первому варианту осуществления настоящего изобретения.
Согласно шестому аспекту настоящего изобретения, как это показано на фиг. 9, шестым вариантом его осуществления предложена базовая станция. Базовая станция может включать в себя память 901, процессор 902 и компьютерные программы, которые хранятся в памяти и выполняются процессором. Компьютерные программы при их выполнении процессором инициируют реализацию этим процессором способа кодирования согласно первому варианту осуществления настоящего изобретения.
В вариантах осуществления настоящего изобретения за счет сегментирования кодированных исходных данных на основании коэффициента расширения для получения сегментированных кодированных данных, определения значения сдвига на основании коэффициента расширения и генерирования контрольной информации на основании значения сдвига и сегментированных кодированных данных для завершения кодирования в некоторых случаях устраняются проблемы большой задержки кодирования и высокого потребления ресурсов, а также достигаются положительные технические эффекты.
Следует отметить, что в контексте настоящего изобретения термины «содержит/содержащий» «включает в себя/включающий в себя» или любые другие их производные носят неисключительный характер, т.е. какой-либо процесс, способ, объект или устройство, включающее в себя ряд элементов, включает в себя не только эти элементы, но также и другие элементы, не перечисленные в настоящем документе, или же дополнительно включает в себя элементы, являющиеся неотъемлемой частью такого процесса, способа, объекта или устройства. Строго говоря, элемент, заданный фразой «содержащий…», не исключает наличие других идентичных элементов процесса, способа, объекта или устройства, включающих в себя такой элемент.
Последовательные номера в вариантах осуществления настоящего изобретения представлены исключительно в целях описания, и не указывают на превосходство одних вариантов над другими.
Из описанных выше вариантов осуществления настоящего изобретения специалисты в данной области техники могут ясно понять, что варианты осуществления способа могут быть реализованы программными средствами и необходимыми универсальными аппаратными платформами. Разумеется, варианты осуществления способа могут быть также реализованы аппаратными средствами. Однако во многих случаях первый вариант является предпочтительным. Исходя из этого понимания, технические схемы настоящего изобретения могут быть по существу реализованы в виде программных продуктов, или же некоторые из технических схем, которые используются в существующей технологии, могут быть реализованы в виде программных продуктов. Компьютерные программные продукты хранятся в носителе данных (например, в ROM/RAM (постоянное/оперативное запоминающее устройство), на магнитных дисках или оптических дисках) и содержат ряд команд, инициирующих выполнение терминалом (которым может служить мобильный терминал, компьютер, сервер, кондиционер воздуха, сетевое устройство и т.п.) способов согласно различным вариантам осуществления настоящего изобретения.
Хотя выше были описаны конкретные варианты осуществления настоящего изобретения в привязке к чертежам, заявленное изобретение ими не ограничено. Представленные выше примеры осуществления носят исключительно иллюстративный, а не ограничительный характер. Специалист в данной области техники может разработать различные формы в рамках концепции настоящего изобретения без отступления от ее идеи и от объема правовой охраны прилагаемой формулы, и эти формы должны подпадать под объем правовой охраны настоящего изобретения.