СПОСОБЫ И СИСТЕМЫ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ LDPC КОДОВ
METHODS AND SYSTEMS FOR ENCODING AND DECODING LDPC CODES

Область техники, к которой относится изобретение
Настоящее изобретение относится к технологиям мобильного радиоинтерфейса, в частности к способам и системам кодирования и декодирования кодов с низкой плотностью проверок на четность (LDPC).
Уровень техники
Для кодирования исходных слов для генерирования кодовых слов в передатчике используют LDPC кодер. Для декодирования принятых кодовых слов в приемнике используют LDPC декодер. В стандарте IEEE 802.11ad были приняты LDPC коды различной скорости.
В IEEE 802.11REVmc было предложено несколько LDPC кодов со скоростью 7/8. Однако предложенные LDPC коды либо не были оптимизированы по отношению к частоте ошибок, либо имеют длину кодового слова, отличную от длины LDPC кодов в IEEE 802.11ad стандарте. Различия в длине кодового слова могут влиять на реализацию процессов составления блоков и распаковки блоков в передатчике и приемнике соответственно.
Раскрытие сущность изобретения
n
n
n
1
1
Согласно одному варианту осуществления настоящего изобретения предоставлен способ кодирования исходного слова. Способ содержит прием вектора  строки 1 x K исходного слова; и генерирование вектора  кодового слова 1 x N, в котором G является K x N порождающей матрицей, и где G получают из матрицы H проверки на четность, и H имеет коэффициент Z поднятия, и в котором H содержит множество подматриц, каждая подматрица имеет размер Z x Z, и в которой, по меньшей мере, одна подматрица имеет m диагонали «1», и в котором m является целым числом > = 2.
Согласно одному варианту осуществления настоящего изобретения, , где  представляет собой двоичную матрицу и  представляет собой матрицу идентификации порядка n-k, где «T» обозначает транспонирование матрицы; и в котором матрица  проверки на четность.
n
1
1
n
1
1
n
Согласно одному варианту осуществления настоящего изобретения, H генерируют посредством разделения первой M х N матрицы H проверки на четность коэффициентом Z поднятия, в котором M = I x Z, N = J x Z, и в котором I и J являются целыми числами, I > 2 и J > 0, на квадратные подматрицы, в котором разделенная матрица H проверки на четность содержит подматрицы (M/Z) строк x (N/Z) столбцов; выбором m строк из M/Z строк подматриц разделенной матрицы H проверки на четность; и добавлением m строк подматриц первой разделенной матрицы H проверки на четность в виде строки подматриц матрицы H, и m представляет собой целое число > = 2. В одном варианте осуществления M-(mxZ) + Z = N-K. В одном варианте осуществления Z = 42, N = 672. В другом варианте осуществления K = 588, и новая матрица H содержит 84 строк x 672 столбцов.
2
n
2
2
1
Согласно одному варианту осуществления настоящего изобретения, оставшиеся m строки подматриц разделенной матрицы H проверки на четность добавляют в качестве второй новой строки подматриц новой матрицы H, и m является целым числом > = 1. В одном варианте осуществления m = < ((M/Z)-m).
2
1
n
3
1
2
4
1
2
3
n
1
2
3
4
1
2
3
4
1
2
3
4
Согласно одному варианту осуществления настоящего изобретения, способ дополнительно включает в себя добавление m строк из оставшихся (M/Z-m) строк подматриц первой разделенной матрицы H проверки на четность в качестве второй строки подматрицы новой матрицы H; добавление mстрок из оставшихся (M/Z-m-m) строк подматриц первой разделенной матрицы H проверки на четность в качестве третьей строки подматриц новой матрицы Hn; и добавление m строк из оставшихся (M/Z-m-m-m) строк подматриц первой разделенной матрицы H проверки на четность в качестве четвертой строки подматрицы новой матрицы H, в котором N = 1344, Z = 42, m, m, m и m являются целыми числами, m + m + m + m = < M/Z, m> 1 m> = 1, m> = 1 и m> = 1.
1
Согласно одному варианту осуществления настоящего изобретения первая матрица H проверки на четность представляет собой LDPC матрицу с кодовой скоростью 13/16, определенную в 802.11 ad стандарте, в которой первая матрица H = 126 строк х 672 столбцов и Z = 42, и в котором вторую матрицу Hn генерируют с параметрами m = 2, Z = 42.
n
1
Согласно одному варианту осуществления настоящего изобретения первая матрица H проверки на четность является матрицей кода с низкой плотностью проверок на четность (LDPC) кодовой скорости 13/16, в которой первая матрица H = 252 строк х 1344 столбцов и Z = 84 и, в котором вторую матрицу H генерируют с параметрами m = 2, Z = 84.
n
Согласно одному варианту осуществления настоящего изобретения вторая матрица H представляет собой
n
Согласно одному варианту осуществления настоящего изобретения вторая матрица H представляет собой
1
2
В соответствии с одним вариантом осуществления настоящего изобретения первая матрица H проверки на четность представляет собой LDPC матрицу с кодовой скоростью 3/4, определенную в 802.11 ad стандарте, в которой первая матрица H = 168 строк х 672 столбцов и Z = 42, и, в котором вторую матрицу Hn генерируют с параметрами m = 2 и m = 2, Z = 42.
n
1
2
Согласно одному варианту осуществления настоящего изобретения первая матрица H проверки на четность представляет собой LDPC матрицу с кодовой скоростью 3/4, в которой первая матрица H = 336 строк х 1344 столбцов и Z = 84, и в которой вторую матрицу H генерируют с параметрами m = 2 и m = 2, Z = 84.
n
Согласно одному варианту осуществления настоящего изобретения вторая матрица H представляет собой
n
Согласно одному варианту осуществления настоящего изобретения вторая матрица H представляет собой
n=
1
2
1
1
2
Согласно одному варианту осуществления настоящего изобретения H[HH], и в котором матрица H = (n-k) x (k) с коэффициентом Z поднятия, в котором H содержит множество подматриц, причем каждая подматрица имеет размер Z x Z, и в котором H представляет собой матрицу полного ранга (n-k) x (n-k), столбцы которой имеют вес 2, за исключением последнего столбца.
1
В соответствии с одним вариантом осуществления настоящего изобретения Hпредставляет собой
2
и H представляет собой
n
n
n
1
1
Согласно одному варианту осуществления настоящего изобретения, предложен способ декодирования демодулированного сигнала. Способ содержит: прием демодулированного сигнала, причем сигнал имеет вектор S строки; и декодирование вектора S строки 1 × N матрицей H проверки четности, которую используют в процессе кодирования; и генерирование вектора  1 x N для восстановления вектора  строки исходного слова 1 x K, в котором H содержит множество подматриц, H имеет коэффициент Z поднятия, причем каждая подматрица имеет размер Z x Z, и в котором, по меньшей мере, одна подматрица имеет m диагонали, и в котором m является целым числом > = 2.
В соответствии с одним вариантом осуществления настоящего изобретения, предложена система для выполнения описанных выше способов.
В соответствии с одним вариантом осуществления настоящего изобретения предложена система для реализации описанных выше способов. В одном варианте осуществления система представляет собой станцию. В одном варианте осуществления система является точкой доступа. В одном варианте осуществления система представляет собой блок приемопередатчика беспроводной связи.
Краткое описание чертежей
Далее приведено иллюстративное описание со ссылкой на сопровождающие чертежи, которые показывают примерные варианты осуществления настоящего изобретения и, на которых:
фиг. 1А представляет собой блок-схему, иллюстрирующую пример системы связи в соответствии с одной реализацией настоящего изобретения;
фиг. 1B представляет собой блок-схему, иллюстрирующую пример системы обработки в соответствии с одной реализацией настоящего изобретения;
фиг. 2А представляет собой блок-схему, иллюстрирующую пример реализации передатчика по настоящему изобретению;
фиг. 2B представляет собой блок-схему алгоритма, иллюстрирующую примерные этапы в способе обработки информационного битового потока настоящего изобретения;
фиг. 3 представляет собой блок-схему, иллюстрирующую пример реализации LDCP кодера по настоящему изобретению;
фиг. 4A представляет собой схему, иллюстрирующую пример формата кадра с одной несущей 802.11ad стандарта;
фиг. 4В представляет собой схему, иллюстрирующую пример структуры блоков данных формата кадра с одной несущей 802.11ad стандарта;
фиг. 5A-5D показывают матрицы LDPC проверки на четность, указанные в IEEE802.11ad, с длиной 672 кодового слова, и фиг. 5E показывает подматрицы циклической перестановки, полученные из 4 × 4 единичной матрицы;
фиг. 6A-6D показывают матрицы LPDC проверки на четность, предложенные в IEEE802.11ay стандарте, с длиной 1344 кодового слова;
фиг. 7A-7C иллюстрируют схемы, показывающие алгоритм формирования блока с одной несущей с разными схемами модуляции в 802.11ad и в 802.11REVmc;
n
фиг. 8 представляет собой блок-схему алгоритма, иллюстрирующую примерные этапы процесса генерирования матрицы H проверки на четность для LDPC кодирования в соответствии с одним вариантом осуществления настоящего изобретения;
n
фиг. 9А и 9В представляют собой схемы, иллюстрирующие примерные LDPC матрицы H проверки на четность кодовой скорости 7/8, основанные на скорости 13/16 LDPC в 802.11 согласно настоящему изобретению;
n
фиг. 10А и 10В представляют собой схемы, иллюстрирующие примерные LDPC матрицы H проверки на четность кодовой скорости 7/8, основанные на скорости 3/4 LDPC в 802.11 согласно настоящему изобретению;
n
фиг. 11 является схемой, иллюстрирующей пример подматрицы LDPC матрицы H проверки на четность согласно настоящему изобретению;
n
фиг. 12 является схемой, иллюстрирующей пример LDPC матриц H проверки на четность, сгенерированных согласно одному варианту осуществления настоящего изобретения;
фиг. 13A-13C являются схемами, иллюстрирующими производительность различных LDPC кодов с использованием разных способов модуляции;
фиг. 14A-14C являются схемами, иллюстрирующими производительность различных LDPC кодов с использованием разных способов модуляции;
фиг. 15A представляет собой блок-схему, представляющую собой пример реализации приемника по настоящему изобретению;
фиг. 15B представляет собой блок-схему алгоритма, представляющую собой примерные этапы в процессе декодирования принятого сигнала согласно одному варианту осуществления настоящего изобретения;
фиг. 16 представляет собой блок-схему, представляющую собой примерную реализацию LDCP декодера по настоящему изобретению; и
фиг. 17 показывает схему, иллюстрирующую пример процесса LDPC декодирования.
Одинаковые ссылочные позиции используют на всех чертежах для обозначения аналогичных элементов и признаков. Хотя аспекты изобретения будут описаны в связи с проиллюстрированными вариантами осуществления, следует понимать, что настоящее изобретения не предназначено для ограничения такими вариантами осуществления.
Осуществление изобретения
Настоящее изобретение раскрывает способы, устройства и системы для кодирования исходных слов и декодирования кодовых слов в сети беспроводной связи. Несмотря на то, что приведенное ниже описание, главным образом, относится к сетям 802.11ad, настоящее изобретение также может быть применено к другим системам, основанным на блочном кодировании.
Фиг. 1A иллюстрирует сеть 100 связи, содержащую множество станций (STAs) 102 и точку доступа (AP) 104. Каждая из STA 102 и AP 104 может включать в себя передатчик, приемник, кодер и/или декодер, как описано в настоящем документе. Сеть 100 может работать в соответствии с одним или несколькими стандартами, или технологиями связи или данных, включающие в себя, но не ограничиваясь, IEEE 802.11 сети, телекоммуникационные сети пятого поколения (5G) или четвертого поколения (4G), стандарт «Долгосрочное развитие» (LTE), Проект партнерства третьего поколения. (3GPP), Универсальная система мобильной связи (UMTS) и другие сети беспроводной или мобильной связи. STA 102 обычно может быть любым устройством, способным обеспечивать беспроводную связь или использовать 802.11 протокол. STA 102 может быть ноутбуком, настольным РС, PDA, точкой доступа или телефоном Wi-Fi, блоком беспроводной передачи/приема (WTRU), мобильной станцией (MS), мобильным терминалом, смартфоном, сотовым телефоном или другими компьютерами с поддержкой беспроводной связи. или мобильным устройством. В некоторых вариантах осуществления STA 102 содержит машину, которая выполнена с возможностью отправлять, принимать или отправлять и принимать данные в сети 100 связи, но которая выполняет основные функции, отличные от связи. В одном варианте осуществления машина включает в себя приспособление или устройство со средством для передачи и/или приема данных через сеть 100 связи, но таким приспособление или устройством обычно не управляет пользователь для основной цели связи. AP 104 может содержать базовую станцию (BS), усовершенствованный узел B (eNB), беспроводной маршрутизатор или другой сетевой интерфейс, который функционирует как точка беспроводной передачи и/или приема для STA 102 в сети 100. AP 104 подключена к транзитной сети 110, которая обеспечивает обмен данными между AP 104 и другими удаленными сетями, узлами, APs и устройствами (не показаны). AP 104 может поддерживать связь с каждой STA 102 путем установления каналов связи восходящей линии связи и нисходящей линии связи с каждой STA 102, как показано стрелками на фиг. 1A. Связь в сети 100 может быть незапланированной, запланированной AP 104 или объектом планирования или управления (не показан) в сети 100, или комбинацией запланированных и незапланированных связей.
Фиг. 1B иллюстрирует примерную систему 150 обработки, которая может использоваться для реализации способов и систем, описанных в настоящем документе, таких как STA 102 или AP 104. Система 150 обработки может быть базовой станцией, беспроводным маршрутизатором, мобильным устройством, например, или любой подходящей системой обработки. Могут быть использованы другие системы обработки, подходящие для реализации настоящего изобретения, которые могут включать в себя компоненты, отличные от тех, которые описаны ниже. Хотя на фиг. 1В показан один экземпляр каждого компонента, в системе 150 обработки может быть несколько экземпляров каждого компонента.
Система 150 обработки может включать в себя одно или несколько устройств 152 обработки, таких как процессор, микропроцессор, специализированная интегральная схема (ASIC), программируемая пользователем вентильная матрица (FPGA), выделенная логическая схема или их комбинации. Система 150 обработки также может включать в себя один или несколько интерфейсов 154 ввода/вывода (I/O), которые могут обеспечивать взаимодействие с одним или несколькими соответствующими устройствами ввода и/или вывода (не показаны). Одно или несколько устройств ввода и/или устройств вывода могут быть использованы в качестве компонента системы 150 обработки или могут быть внешними по отношению к системе 150 обработки. Система 150 обработки может включать в себя один или несколько сетевых интерфейсов 158 для проводной или беспроводной связи с сетью, такой как, но не ограничиваясь этим, интрасеть, интернет, P2P сеть, WAN, LAN, WLAN и/или сеть сотовой или мобильной связи, такая как 5G, 4G, LTE или другая сеть, как отмечено выше. Сетевой интерфейс (ы) 208 может включать в себя проводные линии связи (например, кабель Ethernet) и/или беспроводные линии связи (например, одну или несколько радиочастотных линий) для внутрисетевой и/или межсетевой связи. Сетевой интерфейс (ы) 158 может, например, обеспечивать беспроводную связь через один или несколько передатчиков, или передающих антенн, один или нескольких приемников или приемных антенн, а также различные аппаратные и программные средства обработки сигналов. В этом примере показана одиночная антенна 160, которая может служить как передающей, так и приемной антенной. Однако в других примерах могут быть использованы отдельные антенны для передачи и приема. Сетевой интерфейс(ы) 158 может быть выполнен с возможностью отправлять и принимать данные в транзитную сеть 110 или в другие пользовательские устройства, точки доступа, точки приема, точки передачи, сетевые узлы, шлюзы или реле (не показаны) в сети 100.
Система 150 обработки также может включать в себя один или несколько блоков 170 хранения, которые могут включать в себя блок запоминающего устройства, такой как твердотельный накопитель, накопитель на жестких дисках, накопитель на магнитном диске и/или накопитель на оптических дисках. Система 150 обработки может включать в себя одну или несколько память 172, которые могут включать в себя энергозависимую или энергонезависимую память (например, флэш-память, оперативное запоминающее устройство (RAM) и/или постоянное запоминающее устройство (ROM)). Энергонезависимая память (и) 172 может хранить инструкции для выполнения устройством (устройствами) 152 обработки, например, для осуществления настоящего изобретения. Память (памяти) 172 может включать в себя другие программные инструкции, например, для реализации операционной системы и других приложений/функций. В некоторых примерах один или несколько наборов данных и/или модулей могут быть предоставлены внешней памятью (например, внешним накопителем в проводной или беспроводной связи с системой 150 обработки) или могут быть предоставлены энергонезависимыми машиночитаемыми носителями информации. Примеры энергонезависимых считываемых компьютером носителей информации включают в себя RAM, ROM, стираемое программируемое ROM (EPROM), электрически стираемое программируемое ROM (EEPROM), флэш-память, CD-ROM или другое портативное запоминающее устройство.
Система 150 обработки может включать в себя кодер 162 для кодирования исходных слов в кодовые слова и/или модулятор 164 для модуляции кодовых слов в символы. Кодер 162 может выполнять кодирование исходных слов для генерирования кодовых слов в битах. Модулятор 164 может затем выполнять модуляцию кодовых слов (например, с помощью схем модуляции, таких как BPSK, QPSK, 16QAM или 64QAM). В некоторых примерах инструкции, закодированные в памяти 172, могут конфигурировать устройство 152 обработки для выполнения функций кодера 162 и/или модулятора 164, так что кодер 162 и/или модулятор 164 не могут быть отдельными модулями системы обработки. 150. В некоторых примерах кодер 162 и модулятор 164 могут быть воплощены в модуле передатчика в системе 150 обработки. В некоторых примерах передающая антенна 160, кодер 162 и модулятор 164 могут быть воплощены как компонент передатчика, внешний по отношению к системе 150 обработки и может просто передавать исходные слова из системы 150 обработки.
Система 150 обработки может включать в себя демодулятор 180 и декодер 190 для обработки принятого сигнала. Демодулятор 180 может выполнять демодуляцию принятого модулированного сигнала (например, сигнала BPSK, QPSK, 16QAM или 64QAM). Затем декодер 190 может выполнить соответствующее декодирование демодулированного сигнала, чтобы восстановить исходный сигнал, содержащийся в принятом сигнале. В некоторых примерах инструкции, закодированные в памяти 172, могут конфигурировать устройство 152 обработки для выполнения функций демодулятора 180 и/или декодера 190 так, что демодулятор 180 и/или декодер 190 могут не быть отдельными модулями системы 150 обработки. В некоторых примерах демодулятор 180 и декодер 190 могут быть воплощены в модуле приемника в системе 150 обработки. В некоторых примерах приемная антенна 160, демодулятор 180 и декодер 190 могут быть воплощены как компонент приемника, внешний по отношению к системе 150 обработки и может просто передавать сигнал, декодированный из принятого сигнала, в систему 150 обработки.
Может быть использована шина 192, обеспечивающая связь между компонентами системы 150 обработки, включающую в себя устройство (устройства) 152 обработки, интерфейс (ы) 154 ввода/вывода, сетевой интерфейс (ы) 158, кодер 162, модулятор 164, блок (блоки) 170 хранения, память (памяти) 172, демодулятор 180 и декодер 190. Шина 192 может быть любой подходящей шинной архитектурой, включающей в себя, например, шину памяти, периферийную шину или видео шину.
Связь между STA 102 и AP 104 в сети 100 может быть реализована посредством кодирования исходных слов, которые должны быть переданы, с использованием способов кодирования кодов с низкой плотностью проверок на четность (LDPC) и/или путем декодирования кодовых слов, принятых с использованием способов декодирования LDPC кода. После того, как исходные слова кодируют с помощью способов LDPC кодирования, когда кодированные кодовые слова передают в сигнале из AP 104 в STA 102 или из STA 102 в AP 104, информация кодирования LDPC передаваемого сигнала может содержаться в переданном кадре. После того, как переданный сигнал будет принят STA 102 или AP 104 с информацией кодирования LDPC принятого сигнала, STA 102 или AP 104 может затем выбрать соответствующие способы декодирования LDPC для декодирования принятого сигнала.
Передатчик и кодер
Фиг. 2A представляет собой примерную реализацию передатчика STA 102 или AP 104. Передатчик может включать в себя модуль 202 сегментирования исходных слов, LDPC кодер 204, модулятор 206 отображения бит на символ и модуль 208 составления блока.
Фиг. 2B иллюстрирует примерные этапы обработки входного информационного битового потока передатчиком.
Модуль 202 сегментирования исходных слов может использоваться для сегментирования входных информационных битовых потоков на исходные слова с соответствующими размерами (этап 222). Например, с помощью модуля 202 сегментирования исходных слов входные информационные битовые потоки могут быть сегментированы на исходные слова с размерами 336 бит (для 1/2 скорости кодирования в 802.11ad), 420 битов (для 5/8 скорости кодирования в 802.11ad) 504 бит (для скорости кодирования 3/4 в 802.11ad), 546 бит (для скорости кодирования 13/16 в 802.11ad) и 588 бит (для скорости кодирования 7/8 с размером кодового слова 672 бита). Исходное слово K битов может рассматриваться как вектор строки 1×K или одномерная двоичная 1×K матрица. Например, 588-битное исходное слово может рассматриваться как вектор 1×588 строк или одномерная двоичная 1х588 матрица.
Исходные слова затем могут быть закодированы в кодовые слова с помощью LDPC кодера 204 (этап 224). Фиг. 3 представляет собой примерную реализацию LDPC кодера 204. В варианте осуществления LDPC кодер 204 может включать в себя генератор 302 LDPC матрицы, модуль 304 порождающей матрицы, интерфейс 306 ввода исходного слова и генератор 308 кодовых слов.
n
Генератор 302 LDPC матрицы проверки на четность может генерировать LDPC матрицу H проверки на четность, которая является двоичной (N-K) x N матрицей, например, N=672, K=588. LDPC коды функционально определяют матрицей разреженной проверки на четность. (N, k) LDPC код является линейным двоичным блочным кодом C с k-мерным подпространством, равным {0, 1}. Использование гауссовского исключения и переупорядочения столбцов может привести к эквивалентной матрице проверки на четность в систематической форме , где  является двоичной матрицей и  является единичной матрицей порядка n-k.
T
На основании LDPC матрицы проверки на четность, сгенерированной LDPC генератором 302 матрицы, модуль 304 порождающей матрицы может генерировать порождающую матрицу G. Порождающая матрица G в систематической форме, которая соответствует H, может быть , где «T» обозначает транспортирование матрицы. Порождающая матрица G является двоичной KxN матрицей. Пространство строк G ортогонально H так, что GH = 0. Следовательно, в LDPC кодировании после того, как H была сформирована, G также может быть определен соответствующим образом. Также матрица H удовлетворяет , где  является кодовым словом из N битов. Модуль 304 порождающей матрицы затем направляет сгенерированную двоичную (K×N) порождающую матрицу G в генератор 308 кодовых слов.
Интерфейс 306 ввода исходного слова принимает исходные слова из модуля 202 сегментирования исходных слов. Как обсуждалось ранее, принятое исходное слово может рассматриваться как вектор  строки. Интерфейс 306 ввода исходного слова затем направляет принятые исходные слова в генератор 308 кодовых слов. С исходным словом  и двоичной порождающей матрицей G (KxN), путем умножения исходного слова на порождающую матрицу G, , генератор 308 кодовых слов генерирует кодовые слова из N битов .
В одном варианте осуществления порождающая матрица G может быть предварительно сохранена в LDPC кодере 204. После того, как исходные слова  были приняты генератором 308 кодовых слов, генератор 308 кодовых слов может генерировать кодовые слова ,  не генерируя LDPC матрицу H или порождающую матрицу G.
Ссылаясь на фиг. 2, кодированные кодовые слова  затем могут быть модулированы в символы на модуляторе 206 сопоставления битов на символы (этап 226). Подходящими способами модуляции могут быть, но не ограничиваются ими, BPSK, QPSK, 16QAM или 64QAM. Модуляции BPSK, QPSK и 16QAM определены в 802.11ad. Модуляция 64QAM принята в стандарте 802.11REVmc. В модуляции BPSK двоичные биты просто отображаются как биполярные {-1, 1} символы. В модуляции QPSK, 16QAM и 64QAM входные кодированные битовые потоки (кодовые слова  в битах) группируют в наборы из 2, 4 и 6 битов соответственно. Каждый набор битов отображается на символ в соответствующих созвездиях. Например, для BPSK, QPSK, 16QAM и 64QAM символ представляет 1 бит, 2 бита, 4 бита и 6 битов соответственно. Множество символов может быть сгруппировано как модулированные кодовые слова. Например, модулированные кодовые слова могут включать в себя 336 символов (для SC QPSK блока в 802.11 ad), 168 символов (для SC 16QAM блока в 802.11ad), 112 символов (для SC 64QAM блока в 802.11ad).
Модулированные кодовые слова могут быть дополнительно собраны в блоки данных (BLKs) с соответствующим размером в модуле 208 составления блока (этап 228). В варианте осуществления собранные блоки данных могут содержать 448 символов, как указано в 802.11ad стандарте.
Следовательно, передатчик на фиг. 2 может быть использован для генерирования блоков данных, требуемых в 802.11ad стандарте.
Фиг. 4A иллюстрирует пример структуры кадра с одной несущей (SC) 802.11ad стандарта. Кадр включает в себя короткое поле подстройки (STF), поле оценки канала (CE), PHY заголовок, SC блоки данных (BLKs) и возможные подполя автоматической регулировки усиления (AGC) и TRN-R/T для подстройки формирования луча. SC кадр 802.11ad стандарта может включать в себя множество BLKs, как показано на фиг. 4А и 4В.
Фиг. 4B иллюстрирует пример конструкции SC блоков данных (BLKs) в соответствии с 802.11ad стандартом. На фиг. 4B каждый BLK состоит из 448 символов. Для разделения соседних блоков данных между каждыми двумя смежными BLKs применяют 64-битный защитный интервал (GI).
LDPC коды с длиной 672 кодового слова в 802.11ad
Поскольку LDPC кодированные кодовые слова генерируют посредством операций исходных слов и порождающей матрицы G, и при получении порождающей матрицы G из LDPC матрицы H проверки на четность, LDPC матрица H проверки на четность осуществляет кодирование исходных слов в кодовые слова. Структура LDPC матрицы H проверки на четность может повысить производительность кода. Матрица H проверки на четность может быть дополнительно разбита на квадратные подматрицы размера Z х Z. Z является коэффициентом поднятия. Подматрицы являются, либо единичной матрицей циклической перестановки, либо нулевыми подматрицами со всеми нулевыми записями.
0
Местоположение с индексом i обозначает подматрицу Pi, циклической перестановки полученную из Z х Z единичной матрицы P путем циклического сдвига столбцов вправо на i элементов.
Фиг. 5А-5D иллюстрируют матрицы проверки на четность четырех LDPC кодов, указанных в 802.11ad, со скоростями 1/2, 5/8, 3/4 и 13/16. В 802.11ad каждый LDPC код имеет общую длину кодового слова 672 бита. Кодовая скорость K/N обозначает, что исходное слово из K битов кодируют в кодовое слово из N битов. Что касается стандарта 802.11ad, то длина N кодового слова составляет 672 бита. Следовательно, для кодовых скоростей 1/2, 5/8, 3/4 и 13/16 размеры соответствующего исходного слова составляют 336 бит, 420 бит, 504 бит и 546 бит соответственно.
1
3
0
1
0
3
0
Фиг. 5E иллюстрирует пример подматриц P и P циклической перестановки, полученных из Z х Z единичной матрицы P. На фиг. 5E Z=4. P получают путем смещения столбцов P вправо на один элемент, и P получают путем смещения столбцов P вправо на три элемента.
0
0
0
На фиг. 5А подматрица со значением «0» представляет P, которая является 42x42 единичной подматрицей, и первую подматрицу со значением «40» на фиг. 5А получают путем сдвига столбцов P вправо на 40 элементов. Аналогично, любые ненулевые значения i подматрицы Pi на фиг. 5B-5D также могут быть получены из соответствующей единичной матрицы P.
На фиг. 5А показана LDPC матрица H = 336 строк х 672 столбца с Z = 42 проверки на четность с кодовой скоростью 1/2. На фиг. 5В показана LDPC матрица H = 252 строк х 672 столбца с Z = 42 проверки на четность с кодовой скоростью 5/8. На фиг. 5C показана LDPC матрица H = 168 строк x 672 столбца с Z = 42 проверки на четность с кодовой скоростью 3/4. На фиг. 5D показана LDPC матрица H = 126 строк x 672 столбца с Z = 42 проверки на четность с кодовой скоростью 13/16. На фиг. 5А-5D пустые записи представляют Z x Z подматрицы со всеми нулевыми записями.
LDPC коды с длиной 1344 кодового слова в 802.11ay
Фиг. 6А-6D иллюстрируют четыре LDPC кода, предложенные в 802.11ay со скоростями 13/16, 3/4, 5/8 и 1/2. Кодовая скорость K/N обозначает, что исходное слово из K битов кодируют в кодовое слово из N битов. Что касается стандарта 802.11ay, то длина N кодового слова составляет 1344 бита. Следовательно, для кодовых скоростей 13/16, 3/4, 5/8 и 1/2 размеры соответствующего исходного слова составляют 1092, 1008, 840 и 672 бита соответственно.
LDPC коды, показанные на фиг. 6А-6D, генерируют двухэтапным поднятием. В примере на фиг. 6А LDPC код 606 кодовой скорости 13/16 с длиной 1344 кодового слова генерируют из поднятой матрицы 602 и базовой матрицы 604 скорости 13/16 в 802.11ad с коэффициентом поднятия Z = 42, как показано н фиг. 5D. Другими словами, базовая матрица 604 имеет размер 126 строк × 672 столбца, Z = 42 или 3 строки × 16 столбцов подматриц.
Как показано на фиг. 6А, поднятая матрица 602 имеет те же строки и столбцы подматриц, что и базовая матрица 604 скорости 13/16 стандарта 802.11ad.
Поднятая матрица 602 предложена в IEEE 802.11ay стандарте для обеспечения второго поднятия. Каждая запись в поднятой матрице 602 имеет одно из трех возможных значений «1», «0» и «-1». Если подматрица базовой матрицы 604 равна нулю, что обозначено как «-1», то соответствующая запись в поднятой матрице 604 также обозначена как «-1». Например, запись в строке 1, столбец 16 поднятой матрицы 604 соответствует подматрице в строке 1, столбце 16 базовой матрицы 602. Как запись поднятой матрицы 604, так и подматрицы базовой матрицы 602 имеют значение "-1".
Для генерации LDPC кода 606 13/16 с длиной 1344 кодового слова применяют поднятую матрицу 602 к LDPC базовой матрице 604 13/16 с длиной 672 кодового слова. В частности, для подматрицы, имеющей значение «V» базовой матрицы 604, если запись соответствующей поднятой матрицы 602 имеет значение «1», применение поднятой матрицы 602 к базовой матрице 604 генерирует 4 подматрицы следующим образом:
-1
V
V
-1
Для подматрицы, имеющей значение «V» базовой матрицы 604, если запись соответствующей поднятой матрицы 602 имеет значение «0», применение поднятой матрицы 602 к базовой матрице 604 генерирует 4 подматрицы в виде следующим образом:
V
-1
-1
V
На фиг. 6А в примере подматрицы в строке 1 столбец 1 базовой матрицы 604, которое имеет значение «29», в качестве соответствующей записи в строке 1 столбца 1 поднятой матрицы 602 имеет значение «1», применение записи поднятой матрицы 602 к соответствующей подматрице базовой матрицы 604, генерирует 4 подматрицы следующим образом
-1
29
29
-1
Кроме того, в примере подматрицы в строке 3, столбец 9 базовой матрицы 604, который имеет значение «4», в качестве соответствующей записи в строке 3, столбец 9 поднятой матрицы 602 имеет значение «0», применение записи поднятой матрицы 602 к соответствующей подматрице базовой матрицы 604, генерирует 4 подматрицы следующим образом:
4
-1
-1
4
Для подматриц со значением «-1» в базовой матрице 604 соответствующие записи поднятой матрице 602 также имеют значение «-1». Применение одной записи со значением «-1» в поднятой матрице 602 к соответствующей подматрице в базовой матрице 604 генерирует четыре нулевые подматрицы.
Аналогично, с теми же правилами, описанными выше в отношении LDPC кода скорости 13/16 с длиной 1344 кодового слова, применение соответствующей поднятой матрицы 602, как показано на фиг. 6B-6D, со скоростями 3/4, 5/8 и 1/2 базовой матрицы 604 с длиной 672 кодового слова стандарта 802.11ad генерирует кодовые скорости 3/4, 5/8 и 1/2 LDPC с длиной 1344 кодового слова.
Кроме того, LDPC коды с длиной 1344 кодового слова также могут быть сгенерированы путем увеличения коэффициента Z поднятия. В частности, для построения кодов с размером 672x2 = 1344 подматрицы, структура базовой матрицы и сдвиги позиции столбца остаются прежними, но коэффициент поднятия увеличивается с Z = 42 до Z = 84. Например, базовая матрица 3/4 с длиной 672 кодового слова стандарта 802.11ad содержит 168 строк x 672 столбца, Z = 42, как показано на фиг. 5C. Другими словами, базовая матрица 3/4 содержит 4 строки x 16 столбцов подматриц, и каждая подматрица имеет размер Z x Z (42 x 42). Когда коэффициент Z поднятия увеличивают с 42 до 84, то 3/4 базовой матрицы, содержащей 4 строки x 16 столбцов подматриц, станут 336 строками x 1344 столбцами.
Предлагаемые коды
Стандарт 802.11ad не определяет LDPC коды с кодовой скоростью 7/8. LDPC код со скоростью 7/8 с длиной 624 кодового слова введен в стандарте 802.11 REVmc. LDPC код скорости 7/8 стандарта 802.11 REVmc генерируют путем выкалывания первых 48 битов четности из кодовых слов скорости 13/16 на основании существующего LDPC кода скорости 13/16, указанного в 802.11ad. В реализации передатчик не передает проколотые биты, и приемник выставляет равную вероятность для 1/0 проколотых битов. Размеры исходного слова и кодового слова кодовой скорости 7/8 составляют 546 бит и 624 бит соответственно.
LDPC код со скоростью 7/8 с длиной 1248 кодового слова введен в стандарте 802.11ay. LDPC код скорости 7/8 стандарта 802.11ay генерируют путем выкалывания первых 96 битов четности из LDPC код скорости 13/16 с длиной 1344 кодового слова. В реализации передатчик не передает проколотые биты, и приемник выдает равную вероятность за 1/0 для проколотых битов. Размеры исходного слова и кодового слова кодовой скорости 7/8 составляют 1092 бит и 1248 бит соответственно.
Поскольку LDPC коды 7/8, представленные в стандартах 802.11 REVmc и 802.11ay, не были оптимизированы, их пропускная способность может потребовать дополнительного улучшения.
Дополнительно, размеры LDPC кодовых слов были изменены со стандартных 672 битов в 802.11ad на 624 битов в 802.11 REVmc и с 1344 битов для скоростей 1/2, 5/8, 3/4 и 13/16 до 1248 бит для скорости 7/8 в 802.11ay. Однако, поскольку модулированные кодовые слова все еще должны быть собраны в блоки данных с размером блока 448 символов в 802.11ad или 896 символов в 802.11ay, процесс составления блоков данных, в котором собирают модулированные кодовые слова в блоки данных, должен быть соответственно изменен. Эти изменения в операции сборки блоков данных требуют дополнительных процессов для реализации кодирования и декодирования для LDPC кода 7/8, представленного в 802.11 REVmc, или LDPC кода, предложенного в 802.11ay.
Например, на фиг. 7А показаны примеры операции QPSK SC сборки блоков данных в 802.11ad и 802.11REVmc. В 802.11ad с QPSK одно 672-битное кодовое слово после модуляции становится одним кодовым словом с 336 символами. Каждые три SC блока данных составлены из четырех кодовых слов 336 символов, и каждый блок данных 448 символов составлен из двух кодовых слов 336 символов, а именно, 448 = 336 + 112 или 448 = 224 + 224. Однако в 802.11REVmc, поскольку первые 48 битов четности были исключены из LDPC кода со скоростью 13/16, каждое из кодированных кодовых слов содержит 624 бита, и в QPSK одно 624-битное кодовое слово после модуляции становится одним кодовым словом из 312 символов. В результате процесс составления блоков данных становится более сложным: каждые 39 блоков данных состоят из 56 кодовых слов, и каждый блок данных состоит из двух или трех кодовых слов, например, 448 = 312 + 136 или 448 = 176 + 272 или 448 = 40 + 312 + 96 или 448 = 216 + 232 и т.д.
На фиг. 7B показаны примеры SC 16QAM составления блоков данных в 802.11ad и 802.11REVmc. В 802.11ad с 16QAM одно 672-битное кодовое слово после модуляции становится одним кодовым словом с 168 символами. Каждые три SC блока данных состоят из семи 168 символов кодовых слов, и каждый блок данных из 448 символов составлен из трех или четырех 168 символов кодовых слов, а именно, 448 = 168 + 168 + 112 или 448 = 56 + 168 + 168 + 56. Однако в 802.11REVmc, каждое из кодированных кодовых слов содержит 624 бита, и в 16QAM одно 624-битное кодовое слово после модуляции становится одним 156 символьным кодовым словом. В результате, процесс составления блоков данных становится более сложным: каждые 39 блоков данных составляются из 112 кодовых слов, и каждый блок данных состоит из трех или четырех кодовых слов, например, 448 = 156 + 156 + 136, 448 = 20 + 156 + 156 + 116, т. д.
Аналогично, на фиг. 7C показаны примеры процесса составления SC 64QAM блоков данных в 802.11ad и 802.11REVmc. В 802.11ad с 64QAM одно кодовое слово 672 бита после модуляции становится одним кодовым словом 112 символов. Каждый блок данных 448 символов состоит из четырех кодовых слов 112 символов, а именно, 448 = 112 + 112 + 112 + 112. Однако в 802.11REVmc, одно 624-битное кодовое слово после модуляции становится одним кодовым словом с 104 символами. В результате, процесс составления блоков данных становится более сложным: каждые 13 блоков данных составляются из 56 кодовых слов, а каждый блок данных состоит из пяти или шести кодовых слов.
Кроме того, поскольку LDPC код скорости 7/8, введенный в 802.11 REVmc, имеет длину кодового слова (624 бита), отличную от LDPC кодовых слов 672 бита, указанных в 802.11ad, это различие делает его более сложным при кодировании исходных слов в передатчике и при декодировании кодовых слов в приемнике.
Новые коды
n
n
1
1
В одном варианте осуществления настоящего изобретения вектор  строки исходного слова 1 × K может быть закодирован в LDPC кодере 204 в вектор  кодового слова 1 × N. G представляет собой K x N порождающую матрицу. G может быть получена из (N-K) x N матрицы  проверки на четность с фактором Z поднятия.  является двоичной матрицей и  является единичной матрицей N-K порядка. H содержит множество подматриц, и каждая подматрица имеет размер Z x Z. По меньшей мере, одна подматрица в H содержит mдиагонали «1», и m является целым числом > = 2.
Затем G может быть получена из H, а именно, . «Т» обозначает транспонирование  матрицы.
n
1
1
1
n
1
n
n
1
n
1
В одном варианте осуществления настоящего изобретения может быть сгенерирована LPDC матрица Hn проверки на четность со скоростью K/N в LDPC генераторе 302 матрицы из матрицы H проверки на четность M x N с коэффициентом Z поднятия, где M = I x Z, N = J x Z, I и J являются целыми числами > = 2. Как показано на фиг. 8, матрица H проверки на четность M x N может быть дополнительно разделена на квадратные подматрицы размера Z x Z (этап 802). Разделенная матрица H проверки на четность содержит подматрицы (M/Z) строк х (N/Z) столбцов. Другими словами, разделенная матрица H проверки на четность содержит M/Z проверочных вершин и N/Z символьных вершин. LPDC код скорости K/N может быть получен путем генерирования новой матрицы H проверки на четность коэффициентом Z поднятия из разделенной матрицы H проверки на четность. В частности, LDPC генератор 302 матрицы может выбирать m строки из M/Z строк подматриц разделенной матрицы H проверки на четность (этап 804), где m> = 2, и добавлять m строк подматриц разделенной матрицы H проверки на четность в виде одной новой строки подматриц новой матрицы H (этап 806). Каждая из оставшихся строк ((M/Z)-m) подматриц разделенной матрицы H проверки на четность становится одной строкой новой матрицы H. В этом случае, новая матрица H проверки на четность содержит подматрицы ((M/Z)-m + 1) строк x (N/Z) столбцов. Другими словами, новая матрица H проверки на четность содержит (((M/Z)-m + 1) x Z) = N-K.
2
1
n
1
2
1
2
1
2
2
2
n
В одном варианте осуществления LDPC генератор 302 матрицы может добавлять mстрок из оставшихся строк ((M/Z)-m) подматриц разделенной матрицы H проверки на четность в качестве второй новой строки подматриц новой матрицы H (этап 808), где mи m являются целыми числами, m + m = <M/Z, m> 1 и m> = 1. В одном варианте осуществления m + m = M/Z, и, следовательно, в этом варианте осуществления новая матрица H содержит подматрицы из 2 строк х (N/Z) столбцов.
n
n
1
n
2
1
n
2
2
2
2
2
n
В одном варианте осуществления N = 672, Z = 42, LDPC матрица H проверки на четность может быть сгенерирована из LDPC матрицы H проверки на четность из M строк х 672 столбцов, Z = 42. Матрица H проверки на четность M x 672 может быть дополнительно разбита на квадратные матрицы размером 42 x 42. Разделенная матрица H проверки на четность содержит подматрицы (M/42) строк х (672/42) столбцов. Другими словами, разделенная матрица H проверки на четность содержит M проверочных вершин и 672 символьных вершин. В одном варианте осуществления LPDC код со скоростью 7/8 может быть получен на основании новой матрицы H с Z = 42 из разделенной матрицы H проверки на четность. В частности, LDPC генератор 302 матрицы добавляет m строк подматриц разделенной матрицы H проверки на четность в качестве первой строки подматрицы новой матрицы H. В одном варианте осуществления LDPC генератор 302 матрицы добавляет m строк из оставшихся строк ((M/Z)-m) подматриц разделенной матрицы H проверки на четность в качестве второй строки подматрицы новой матрицы H, где m > = 1 и m + m = <M/42 В одном варианте осуществления m+ m = M/42 и, следовательно, в этом варианте осуществления новая матрица H содержит подматрицы из 2 строк х (672/42) столбцов.
n
n
1
n
2
n
1
2
1
2
1
2
1
2
n
В одном варианте осуществления N = 1344, Z = 84, LDPC матрица H проверки на четность может быть сгенерирована на основании LDPC матрицы H проверки на четность из M строк х 1344 столбцов, Z = 84. Матрица H проверки на четность M x 1344 может быть дополнительно разделена на квадратные матрицы размером 84 x 84. Разделенная матрица H проверки на четность содержит подматрицы (M/84) строк х (1344/84) столбцов. Другими словами, разделенная матрица H проверки на четность содержит M проверочных вершин и 1344 символьных вершин. В одном варианте осуществления LPDC код со скоростью 7/8 может быть получен на основании новой матрицы H с Z = 84 из разделенной матрицы H проверки на четность. В частности, во-первых, LDPC генератор 302 матриц добавляет m ряд подматриц разделенной матрицы Н проверки на четность в качестве первой строки подматрицы новой матрицы H. Во-вторых, LDPC генератор 302 матрицы добавляет m строк подматриц разделенной матрицы H контроля на четность в качестве второй строки подматриц новой матрицы H. Mи m являются целыми числами, m + m = <M/84, m> 1 и m> = 1. В одном варианте осуществления m + m = M/84 и, следовательно, в этом варианте осуществления новая матрица H содержит подматрицы 2 строки x 16 столбцов с Z = 84.
n
n
1
n
2
n
3
n
4
n
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
n
В одном варианте осуществления N = 1344, Z = 42, может быть сгенерирована LDPC матрица H проверки на четность на основании LDPC матрицы H проверки на четность из M строк х 1344 столбцов, Z = 42. Матрица H проверки на четность M x 1344 может быть дополнительно разбита на квадратные матрицы размером 42х42. Разделенная матрица H проверки на четность содержит подматрицы (M/42) строк х (1344/42) столбцов. Другими словами, разделенная матрица H проверки на четность содержит M проверочных вершин и 1344 символьных вершин. В одном варианте осуществления LPDC код со скоростью 7/8 может быть получен на основании новой матрицы H с Z = 42 из разделенной матрицы H проверки на четность. В частности, во-первых, сначала LDPC генератор 302 матрицы добавляет m ряд подматриц разделенной матрицы H проверки на четность в качестве первой строки подматрицы новой матрицы H. Во-вторых, LDPC генератор 302 матрицы добавляет m строк подматриц разделенной матрицы H проверки на четность в качестве второй строки подматриц новой матрицы H. В-третьих, LDPC генератор 302 матрицы добавляет mстроки подматриц разделенной матрицы H проверки на четность в качестве третьей строки подматрицы новой матрицы H. Наконец, LDPC генератор 302 матрицы суммирует m строки из оставшихся строк подматриц разделенной матрицы H проверки на четность в качестве четвертой строки подматрицы новой матрицы H. m, m, m и mявляются целыми числами, m + m + m + m = <M/42, m> 1 m> = 1, m> = 1 и m> = 1. В одном варианте осуществления m+ m + m + m = M/42 и, следовательно, новая матрица H содержит подматрицы 4 строки x 32 столбца.
n
В одном варианте осуществления в LDPC матрице Н проверки на четность M = 126, N = 672, Z = 42, и новая матрица H содержит 84 строки x 672 столбца.
n
В одном варианте осуществления в LDPC матрице H проверки на четность M = 168, N = 672, Z = 42, и новая матрица H содержит 84 строки x 672 столбца.
n
В одном варианте осуществления LDPC матрице H проверки на четность M = 252, N = 672, Z = 42, и новая матрица H содержит 84 строки x 672 столбца.
n
В одном варианте осуществления в LDPC матрице H проверки на четность M = 336, N = 672, Z = 42 и новая матрица H содержит 84 строки x 672 столбца.
n
В одном варианте осуществления в LDPC матрице H проверки на четность M = 252, N = 1344, Z = 42, и новая матрица H содержит 168 строк x 1344 столбца.
n
В одном варианте осуществления в LDPC матрице H проверки на четность M = 336, N = 1344, Z = 42, и новая матрица H содержит 168 строк × 1344 столбца.
n
В одном варианте осуществления в LDPC матрице H проверки на четность M = 504, N = 1344, Z = 42, и новая матрица H содержит 168 строк × 1344 столбца.
n
В одном варианте осуществления в LDPC матрице H проверки на четность M = 672, N = 1344, Z = 42 и новая матрица H содержит 168 строк × 1344 столбца.
1
2
3
4
1
2
3
4
Путем добавления строк m, m, m или m из строк M/Z подматриц разделенной матрицы H проверки на четность для генерирования новой строки, по меньшей мере, одна из подматриц новой строки содержит m, mm или m диагонали «1», как показано в примере на фиг. 11, который будет обсуждаться ниже.
n
В одном варианте осуществления LDPC матрица Hn проверки на четность со скоростью 7/8 может быть сгенерирована из LDPC кода скорости 13/16, указанного в 802.11ad H, содержащей 126 строк x 672 столбца, Z = 42 или LDPC матрицы H проверки на четность скорости 13/16, содержащую 252 строки x 1344 столбца, Z = 84.
n
n
n
n
n
n
Как показано на фиг. 5D, LDPC матрица H проверки на четность скорости 13/16 содержит 126 строк x 672 столбца с Z = 42. Другими словами, LDPC матрица H проверки на четность скорости 13/16 содержит 3 (= 126/42) строки x 16 (= 672/42) столбцов разделенных подматриц, и каждая подматрица имеет размер 42 x 42. В варианте осуществления, LDPC код со скоростью 7/8 может быть получен путем выбора первой строки со второй строкой разделенных подматриц LDPC матрица H проверки на четность со скоростью 13/16 в 802.11ad и добавления первой строки со второй строкой разделенных подматриц как первая строка новой LDPC матрицы H проверки на четность. Оставшаяся третья строка выбирается в качестве второй строки новой LDPC матрицы H проверки на четность. Новая LDPC матрица H проверки на четность содержит 2 подматрицы строк x 16 столбцов размером 42 x 42, как показано на фиг. 9A.
n
n
Аналогично, LDPC матрица H проверки на четность скорости 13/16 с длиной 1344 кодового слова содержит 3 (= 252/84) строки x 16 (= 1344/84) столбцов разделенных подматриц, Z = 84, и каждая подматрица имеет размер 84 х 84. В одном варианте осуществления LDPC код скорости 7/8 может быть получен путем выбора первой строки со второй строкой разделенных подматриц LDPC матрицы Н проверки на четность скорости 13/16 длины 1344 кодового слова, и суммирования первой строки со второй строкой разделенных подматриц в качестве первой строки новой LDPC матрицы H проверки на четность. Оставшаяся третья строка выбирается в качестве второй строки новой LDPC матрицы H проверки на четность.
n
n
n
В другом варианте осуществления LDPC матрица Hn проверки на четность со скоростью 7/8 может быть сгенерирована посредством выбора второй строки разделенных подматриц LDPC матрицы H проверки на четность со скоростью 13/16 в 802.11ad в качестве первой строки новой LDPC матрицы H проверки на четность, и затем путем выбора первой строки и третьей строки разделенных подматриц LDPC матрицы H проверки на четность скорости 13/16 и суммированием первой строки с третьей строкой разделенных подматриц в качестве второй строки новой LDPC матрицы H проверки на четность. Опять же новая LDPC матрица H проверки на четность содержит 2 строки x 16 столбцов подматриц размером 42 x 42, как показано на фиг. 10B.
n
n
n
n
Аналогично, LDPC матрица H проверки на четность скорости 7/8 может быть сгенерирована путем выбора второй строки разделенных подматриц LDPC матрицы H проверки на четность со скоростью 13/16 с длиной 1344 кодового слова, Z = 84, в качестве первой строки новой LDPC матрицы H проверки на четность, и затем путем выбора первой строки и третьей строки разделенных подматриц со скоростью 13/16 LDPC матрицы H проверки на четность с длиной 1344 кодового слова и сложения первой строки с третьей строкой разделения подматрицы как вторая строка новой LDPC матрицы H проверки на четность. Опять же новая LDPC матрица H проверки на четность содержит 2 строки x 16 столбцов подматриц размером 84 x 84.
n
n
n
Как правило, LDPC матрица H проверки на четность со скоростью 7/8 может быть сгенерирована из LDPC кода скорости 13/16, определенного в 802.11ad, с H, содержащей 126 строк x 672 столбца, Z = 42 или LDPC матрицы Н проверки на четность скорости 13/16, содержащей 252 строки x 1344 столбца, Z = 84. Во-первых, LDPC генератор 302 матриц может выбрать и добавить любые две строки разделенных подматриц LDPC матрицы Н проверки на четность 13/16 для генерирования одной строки новой LDPC матрицы H проверки на четность скорости 7/8. Во-вторых, LDPC генератор 302 матриц может выбрать оставшуюся одну строку разделенных подматриц LDPC матрицы Н проверки на четность 13/16 в качестве другой строки новой LDPC матрицы H проверки на четность скорости 7/8.
В одном варианте осуществления LDPC матрица Hn проверки на четность со скоростью 7/8 может быть сгенерирована из LDPC матрицы H проверки на четность со скоростью 3/4, содержащей 168 строк x 672 столбцов с Z = 42 или LDPC матрицы H проверки на четность со скоростью 3/4, содержащей 336 строк х 1344 столбов, Z = 84.
Как показано на фиг. 5C, LDPC матрица H проверки на четность со скоростью 3/4 содержит 168 строк × 672 столбца с Z = 42. Другими словами, LDPC матрица H проверки на четность со скоростью 3/4 содержит 4 (= 168/42) строки x 16 (= 672/42) столбцов разделенных подматриц, и каждая подматрица имеет размер 42 x 42. Аналогично, LDPC матрица H проверки на четность со скоростью 3/4, содержащая 336 строк x 1344 столбца, Z = 84 также состоит из 4 строк x 16 столбцов разделенных подматриц, и каждая подматрица имеет размер 84 x 84.
n
n
n
В одном варианте осуществления LDPC матрица H проверки на четность со скоростью 7/8 с длиной 672 или 1344 кодового слова может быть сгенерирована путем выбора первой строки и третьей строки разделенных подматриц LDPC матрицы H проверки на четность 3/4 и сложением первой строки с третьей строкой разделенных подматриц в качестве первой строки новой LDPC матрицы Hn проверки на четность. Оставшаяся вторая строка и четвертая строка разделенных подматриц могут быть затем выбраны и добавлены в качестве второй строки новой LDPC матрицы H проверки на четность. На фиг. 10A показана новая LDPC матрица H проверки на четность со скоростью 7/8, которая содержит подматрицы из 2 строк x 16 столбцов, каждый из которых имеет размер Z x Z, где Z = 42 x 42.
n
n
n
n
В другом варианте осуществления LDPC матрица H проверки на четность со скоростью 7/8, с длиной 672 или 1344 кодового слова, может быть сгенерирована посредством первого выбора второй строки и третьей строки разделенных подматриц LDPC матрицы H проверки на четность скорости 3/4 и сложением выбранной второй строки и третьей строки разделенных подматриц в качестве первой строки новой LDPC матрицы H проверки на четность. Оставшаяся первая строка и четвертая строка разделенных подматриц могут затем быть выбраны и добавлены в качестве второй строки новой LDPC матрицы H проверки на четность. На фиг. 10В показана новая LDPC матрица H проверки на четность, содержащая подматрицы из 2 строк x 16 столбцов, каждый из которых имеет размер Z x Z, где Z = 42.
n
n
Как правило, LDPC матрица Hn проверки на четность со скоростью 7/8 с длиной 672 или 1344 кодового слова может быть сгенерирована из LDPC матрицы H проверки на четность со скоростью 13/16 путем выбора и сложения любых двух строк разделенных подматрицы LDPC матрицы H проверки на четность 13/16 скорости в качестве первой строки новой LDPC матрицы H проверки на четность 7/8 и использования оставшейся одной строки в качестве второй строки новой LDPC матрицы H проверки на четность скорости 7/8. Если длина кодового слова равна 672, Z = 42; если длина кодового слова равна 1344, Z = 84.
n
n
n
Кроме того, LDPC матрица H проверки на четность со скоростью 7/8 с длиной 672 или 1344 кодового слова может быть сгенерирована из LDPC матрицы H проверки на четность со скоростью 3/4 путем выбора и сложения любых двух или более строк разделенных подматриц LDPC матрицы H проверки на четность 3/4 в качестве первой строки новой LDPC матрицы H проверки на четность скорости 7/8, и путем добавления оставшейся одной или нескольких строк в качестве второй строки новой LDPC матрицы H проверки на четность со скоростью 7/8. Если длина кодового слова равна 672, Z = 42; если длина кодового слова равна 1344, Z = 84.
n
n
Аналогично, LDPC матрица Hn проверки на четность со скоростью 7/8 с длиной 672 или 1344 кодового слова может быть сгенерирована из LDPC матрицы H проверки на четность со скоростью 1/2 или 5/8 путем добавления любых двух или большее количество строк разделенных подматриц LDPC матрицы H проверки на четность со скоростью 1/2 или 5/8 в качестве первой строки новой LDPC матрицы H проверки на четность со скоростью 7/8, и затем добавлением оставшихся строк в качестве второй строки новой LDPC матрицы H проверки на четность 7/8. Если длина кодового слова равна 672, Z = 42, если длина кодового слова равна 1344, Z = 84.
Длина кодового слова = 1344, Z = 42
n
n
n
В одном варианте осуществления LDPC код со скоростью 7/8 с длиной 1344 кодового слова может быть сгенерирован из LDPC матрицы H проверки на четность со скоростью 13/16, содержащей 336 строк × 1344 столбца, Z = 42. Как показано на фиг. 6A, сгенерированная матрица 606 H имеет подматрицы 6 строк x 32 столбца, каждая подматрица имеет размер 42 x 42. В одном варианте осуществления можно добавить любые три строки подматриц сгенерированной 1344 кодовой матрицы 606 на фиг. 6A, как одну строку новой LDPC матрицы H проверки на четность со скоростью 7/8, и оставшиеся три строки становятся тремя строчками LDPC матрицы H проверки на четность со скоростью 7/8 с длиной 1344 кодового слова. В этом случае, LDPC матрица H проверки на четность 7/8 с длиной 1344 кодового слова имеет подматрицы из 4 строк по 32 столбца, Z = 42.
n
n
n
n
В другом варианте осуществления любые две строки подматриц могут быть выбраны из шести строк сгенерированной матрицы 606 H с длиной 1344 кодового слова на фиг. 6A. Затем две выбранные строки могут быть добавлены в качестве одной строки новой LDPC матрицы H проверки на четность со скоростью 7/8. Еще две строки могут быть выбраны из оставшихся четырех строк подматриц матрицы 606 H и добавлены в качестве еще одной строки новой LDPC матрицы H проверки на четность со скоростью 7/8. Оставшиеся две строки матрицы 606 H становятся оставшимися двумя строками LDPC матрицы H проверки на четность со скоростью 7/8 с длиной 1344 кодового слова. В этом случае, LDPC матрица H проверки на четность со скоростью 7/8 с длиной 1344 кодового слова имеет подматрицы 4 строки x 32 столбцы, Z = 42.
В одном варианте осуществления выбранные строки получены из разных строк базовой матрицы 604 проверки на четность.
n
n
В одном варианте осуществления LDPC матрица H проверки на четность скорости K/N и/или соответствующая ей порождающая матрица G, например, LDPC матрица H проверки на четность скорости 7/8 и/или соответствующая ей порождающая матрица G, могут быть предварительно заданы, хранится в памяти передатчика для кодирования исходного слова или в памяти приемника для декодирования демодулированного кодового слова.
В примерах на фиг. 9A-9B и 10A-10B в результате добавления двух строк разделенных подматриц со скоростью 13/16 или 3/4 LDPC матрицы H проверки на четность в LDPC матрицах скорости 7/8, ранее сгенерированных, может использоваться матрица перестановок с двойным циклическим сдвигом может в некоторых подматрицах. На фиг. 9A-9B и 10A-10B «-» обозначает нулевые подматрицы со всеми нулевыми элементами. Матрица перестановок с двойным циклическим сдвигом представлена в случае, если две объединяющие подматрицы не являются нулевыми подматрицами со всеми нулевыми элементами.
n
n
Например, подматрица на фиг. 9A, обозначенная как «37 + 29» в матрице H проверки на четность кода 7/8, полученного путем сложения первой строки со второй строкой LDPC матрицы H проверки на четность скорости 13/16 в 802.11ad или сложения второй строки с третьей строкой LDPC матрицы H проверки на четность скорости 3/4 в 802.11ad в качестве первой строки новой LDPC матрицы H проверки четности. Как показано на фиг. 11 подматрица, обозначенная «37 + 29», показывает две диагонали «1». Первая диагональ «1» из столбцов 0-36 и затем из столбцов 37-41, и вторая диагональ «1» из столбцов 0-28 и затем из столбцов 29-41.
Когда добавляют две строки, распределение степени переменной узла кода остается неизменным, в то время как степень узлов проверки удваивается, а именно, в каждой строке два «1». Например, на фиг. 11 в строке «10» есть две «1»: одна в столбце 5, другая в столбце 40.
n
1
n
2
n
1
2
1
2
1
2
3
4
n
1
2
3
4
1
2
3
4
Как описано выше, в примере длины 672 кодового слова, когда LDPC генератор 302 матрицы генерирует новую LPDC кодовую матрицу H скорости K/N из разделенной матрицы H проверки на четность, LDPC генератор 302 матрицы может сначала добавить m строки подматриц разделенной матрицы H проверки на четность в виде одной строки подматриц новой матрицы H (этап 806) и, возможно, m строк, выбранных из оставшихся подматриц разделенной матрицы H проверки на четность, также могут быть добавлены в качестве второй строки подматриц новой матрицы H (этап 808), где m и mявляются целыми числами, m + m = <M/Z, m> 1 и m> = 1. В примере длины 1344 кодового слова строки m и m также могут быть выбраны из оставшихся подматриц разделенной матрицы H проверки на четность, а также могут быть добавлены в качестве третьей или четвертой строки новой матрицы H. В этом случае, m + m + m + m = <M / Z, m> 1, m> = 1, m> = 1 и m> = 1.
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
1
2
3
4
Путем добавления m, m, m и/или m строк из строк M/Z подматриц разделенной матрицы H проверки на четность для генерирования новой строки подматриц, по меньшей мере, одна из подматриц новой строки содержит m, m, m или m диагонали «1», если хотя бы одна подматрица генерируется всеми ненулевыми содержит m , m, m или m подматрицами. Когда добавляют m, m, m или m строки, распределение степени переменной для кода остается неизменным, в то время как степень проверочных узлов равна содержит m, m, m или m, а именно, содержит m, m, m или m «1» в каждом ряду.
Сочленение
1
2
LDPC коды могут быть ограничены структурой расширенного нерегулярного кода повторения накопления (eIRA), характеризующейся матрицей проверки на четность (n-k, n), полученной путем сочленения двух матриц H = [H1H2], где H представляет собой (n-k) x (k) систематическую часть, представляющая собой блочно-структурированную матрицу, составляющие подматрицы которой являются нулевые или циклически сдвинутые единичные матрицы Z x Z, и H является матрицей полного ранга (n-k) x (n-k), столбец которой имеет вес 2 за исключением последнего, как показано на фиг. 12.
Чтобы увеличить наибольшую степень переменного узла, факт, который может улучшить характеристики минимального уровня ошибки, алгоритм формирования позволяет, когда необходимо, составлять подматрицы с двумя или более диагоналями с различными циклическими сдвигами. Например, на фиг. 12 подматрица со значением «9 + 24 + 31» содержит три диагонали.
1
1
На фиг. 12 первая строка 1202 является индексом подматрицы и не является частью H. Вторая и третья строки 1204 являются подматрицами H и используют для генерирования LDPC матрицы H.
1
2
В одном варианте осуществления, чтобы сгенерировать LDPC матрицу H скорости 7/8 с параметрами K = 588, N = 672 и Z = 42, матрица H 1201 кода имеет только 2 строки 1204 подматриц размера 42 x. 42. В примере на фиг. 12 степень переменного узла может составлять до 4, например, первый столбец (9 + 24 + 31) +41. H является матрицей полного ранга 84x84 с Z = 42.
1
2
Как показано на фиг. 12, H содержит подматрицы из 2 строк × 14 столбцов с Z = 42. H является матрицей полного ранга 84x84, размер которой эквивалентен подматрицам из 2 строк по 2 столбца с Z = 42. Следовательно, размер H = [H1H2] эквивалентен подматрицам из 2 строк по 16 столбцов, Z = 42.
1
2
В одном варианте осуществления, чтобы сгенерировать LDPC матрицу H со скоростью 7/8 с параметрами K = 1176, N = 1344 и Z = 84, матрица H 1201 кода имеет только 2 строки 1204 подматриц размера 84 x. 84. H является матрицей полного ранга 168x168.
1
2
Как показано на фиг. 12, H содержит подматрицы из 2 строк × 14 столбцов с Z = 84. H является матрицей полного ранга 168x168, размер которой эквивалентен подматрицам из 2 строк и 2 столбцов с Z = 84. Следовательно, размер H = [H1H2] эквивалентен подматрицам из 2 строк по 16 столбцов, Z = 84.
Пропускная способность
n
1
2
Примеры на фиг. 13A-13C показывают пропускную способность скорости 7/8 для N = 672 кодов H, Z = 42, сгенерированных путем прокалывания кода 13/16; добавление строк 1 и 2 кода 13/16 стандарта 802.11ad; добавление строк 1 и 3, строк 2 и 4 кода 3/4 и оптимизированного кода путем сопряжения H и H. Кодовые слова на фиг. 13A, 13B и 13C модулируют с помощью QPSK, 16QAM и 64QAM соответственно.
n
1
2
n
1
2
Как показано на фиг. 13A, 13B и 13C, с данным значением отношения сигнал/шум (SNR), LDPC матрица H проверки на четность скорости 7/8, генерируемая путем добавления строк 1 и 3 и строк 2 и 4 из 3/4 кода и оптимизированный код путем сопряжения H и H обычно получают более низкую частоту кадровых ошибок (FER). В качестве альтернативы, LDPC матрица H проверки на четность скорости 7/8, генерируемая путем добавления строк 1 и 3, а также строк 2 и 4 кода 3/4 и оптимизированного кода путем сопряжения H и H, требует более низких значений SNR для достижения заданной FER.
n
n
Что касается кода 7/8, сгенерированного путем добавления строк 1 и 2 кода 13/16, для данного SNR, LDPC матрица H проверки на четность скорости 7/8, сгенерированная путем добавления строк 1 и 2, обычно имеет немного выше FER. Однако, поскольку длина кодового слова этого кода равна 672, что совпадает с длиной других кодов, указанных в 802.11ad, реализация способа составления блоков и разбивки блоков этой LDPC матрицы H проверки на четность со скоростью 7/8 является неизменной, в то время как реализация способа составления блоков и разбивки блоков кода 7/8, проколотого из кода 13/16 стандарта 802.11ad, требует дополнительной модификации на передатчике и приемнике.
n
Примеры на фиг. 14A-14C показывают производительности скорости 7/8 для N = 1344 кодов H, Z = 42, сгенерированных путем прокалывания кода 13/16 (n = 1248, K = 1092) и путем добавления строк 1 и 3, а также строки 2 и 4 кода 3/4. Кодовые слова на фиг. 14А, 14В и 14С модулируют с помощью QPSK, 16QAM и 64QAM соответственно. Как показано на фиг. 14А, 14В и 14С, с заданным отношением шума к сигналу (SNR) LDPC матрица Hn проверки на четность со скоростью 7/8, генерируемая строками 1 и 3, и строки 2 и 4 кода 3/4 обычно имеют низкий уровень частоты кадровых ошибок (FER).
Декодер и способ декодирования
n
LDPC кодированный сигнал может быть принят в приемнике STA 102 или AP 104. Как проиллюстрировано в примере на фиг. 15A, приемник включает в себя модуль 1502 выравнивания и распаковки, демодулятор 1504, LLR калькулятор 1506 и LDPC декодер 1508. Возможно, LLR калькулятор 1506 может быть компонентом демодулятора 1504. Как показано на фиг. 15B, с принятым LDPC кодированным сигналом модуль 1502 выравнивания и распаковки сначала выравнивает принятый сигнал 1501 для снижения межсимвольных помех, вызванных каналом, по которому передают принятый сигнал, и затем распаковывают выровненный сигнал для восстановления символов кодовых слов (этап 1522). Демодулятор 1504 демодулирует распакованные символы кодовых слов в кодовые слова в битах (этап 1524), например, посредством BPSK, QPSK, 16QAM или 64QAM. LLR калькулятор 1504 может использоваться для генерирования логарифмического отношения правдоподобия значения битов распакованных символов кодового слова (этап 1526). Логарифмическое отношение правдоподобия может быть использовано в качестве входных данных LDPC декодера 1508. Затем LDPC декодер 1508 может использовать LDPC матрицу Н, которую используют при кодировании исходных слов, для декодирования демодулированного сигнала, причем сигнал имеет вектор S строки 1 × N (этап 1528). LDPC декодер 1508 генерирует вектор  строки 1 × N, чтобы восстановить вектор  строки исходного слова 1 × K. Чтобы быть действительным кодовым словом , . Для декодирования LDPC кодированного сигнала используют различные алгоритмы, например, алгоритм передачи сообщений. На фиг. 16 показан пример LDPC декодера, использующего алгоритм передачи сообщений для декодирования LDPC кодированных исходных слов. Для реализации LDPC декодирования также может использоваться другой алгоритм декодирования. В случае использования алгоритма передачи сообщений, LDPC декодер 1508 может включать в себя контроллер 1602, модуль 1604 проверочной вершины и модуль 1606 символьной вершины.
n
n
n
1
1
Как описано выше, LDPC информация кодирования передаваемого сигнала может содержаться в передаваемом кадре, например, информация о LPDC коде скорости K/N Нn = (N-K) x N LDPC матрицы, используемой для кодирования исходных слов. В одном варианте осуществления настоящего изобретения LDРC код скорости K/N H = (N-K) x N может использоваться в LDPC декодере 1508 с коэффициентом Z поднятия. Как описано в процессе кодирования, H содержит множество подматриц, и каждая подматрица имеет размер Z x Z. По меньшей мере, одна подматрица в H содержит m диагонали «1», где m является целым числом > = 2. В процессе кодирования были описаны способы генерирования матрицы проверки на четность.
n
n
n
Кодовые слова в битах могут быть декодированы с помощью H, например, с использованием алгоритма передачи сообщений (MPA) со LLR значениями. Как показано в примере на фиг. 17, LDPC декодирование с использованием MPA является алгоритмом итеративного декодирования, который использует структуру графа Таннера, который является графическим представлением LPDC матрицы H проверки на четность. В LDPC декодере 1508 каждая проверочная вершина 1702 определяет значение стертого бита на основании LLR значения, если он является единственным стертым битом в своем уравнении проверки на четность. Сообщения, передаваемые по ребрам 1706 графа Таннера. Для каждой итерации алгоритма каждая символьная вершина 1704 отправляет сообщение («внешняя информация») каждой проверочной вершине 1702, к которой подключена символьная вершина 1704. Каждая проверочная вершина 1702 отправляет сообщение («внешняя информация») символьным вершинам 1704, к которым подключена проверочная вершина 1702. «Внешний» в данном контексте означает, что информация, которой уже обладают проверочные вершины 1702 или символьные вершины 1704, не передается на данную вершину. Апостериорная вероятность для каждого бита кодового слова вычисляют на основании принятого сигнала в LLR калькуляторе 1506 и ограничений четности, определенных в H, а именно, чтобы быть действительным кодовым словом , .
n
1
1
n
При декодировании, поскольку, по меньшей мере, одна подматрица в H содержит m диагонали «1», где m> = 2, наличие наложенных уровней в матрице H проверки на четность оказывает незначительное влияние на реализацию LDPC декодера 1508, который, как можно предположить, имеет многоуровневую архитектуру.
Во многоуровневой архитектуре LDPC декодера 1508 процессоры Z параллельных проверочных вершин последовательно обрабатывают сообщения ребер относительно подматрицы Z строк матрицы проверки на четность. В одном примере, Z = 42 и ребра равны 16. Структура циклического сдвига упрощает архитектуру декодера, которая позволяет обеспечивать работу параллельных процессоров простой многорегистровой схемой циклического сдвига. По завершении процесса обработки уровня, процессоры проверки на четность повторно инициализируют и обрабатывают следующий уровень.
1
n
1
1
1
Когда на m строки накладывают проверочную вершину на четность, по меньшей мере, одна подматрица в H содержит m диагонали «1», где m представляет собой целое число > = 2. Процессоры не инициализируют после окончания первого уровня, а продолжают обработку следующих 16 ребер наложенной строки-подматрицы. Данный процесс будут повторять m раз. Таким образом, сложность декодирования остается такой же, как и у исходного кода, и существующая аппаратная архитектура может быть использована повторно.
Настоящее изобретение предоставляет некоторые примерные алгоритмы и вычисления для реализации примеров раскрытых способов и систем. Однако настоящее изобретение не ограничено каким-либо конкретным алгоритмом или вычислением. Хотя настоящее изобретение описывает способы и процессы с этапами в определенном порядке, один или несколько этапов способов и процессов могут быть опущены или изменены в зависимости от ситуации. Один или несколько этапов могут быть выполнены в порядке, отличном от того, в котором они описаны, в зависимости от ситуации.
Посредством описаний вариантов осуществления настоящее изобретение может быть реализовано с использованием только аппаратного обеспечения, или с использованием программного обеспечения и необходимой универсальной аппаратной платформы, или с помощью комбинации аппаратного и программного обеспечения. Исходя из такого понимания, техническое решение по настоящему изобретению может быть воплощено в форме программного продукта. Программный продукт может храниться на энергонезависимом или постоянном носителе данных, который может быть компактным диском только для чтения (CD-ROM), флэш-накопителем USB или жестким диском. Программный продукт включает в себя ряд инструкций, которые позволяют компьютерному устройству (персональному компьютеру, серверу или сетевому устройству) выполнять способы, предусмотренные в вариантах осуществления настоящего изобретения.
Хотя настоящее изобретение и его преимущества были подробно описаны, следует понимать, что могут быть сделаны различные изменения, замены и модификации, не отступая от изобретения, как определено в прилагаемой формуле изобретения.
Кроме того, объем настоящего изобретения не ограничен конкретными вариантами осуществления процесса, машины, изготовления, состава вещества, средства, способов и этапов, описанных в настоящем документе. Специалист в данной области техники легко поймет из описания настоящего изобретения, что процессы, машины, производство, составы веществ, средства, способы или этапы, существующие в настоящее время, или которые будут разработаны позднее, выполняют, по существу, ту же функцию или достигают, по существу, тот же результат, что и соответствующие варианты осуществления, описанные в данном документе, которые могут быть использованы в соответствии с настоящим изобретением. Соответственно, прилагаемая формула изобретения включает в себя такие процессы, машины, производство, составы веществ, средства, способы или этапы.