СПОСОБ ДЕКОДИРОВАНИЯ ПОЛЯРНОГО КОДА И УСТРОЙСТВО ДЕКОДИРОВАНИЯ
POLAR CODE DECODING METHOD AND DECODING DEVICE

Область техники
Варианты осуществления настоящего изобретения относятся к области кодирования и, в частности, к способу декодирования полярного кода.
Уровень техники
N
N
N
C
В системе связи кодирование каналов обычно используют для повышения надежности передачи данных и гарантирования качества связи. Полярный код зарекомендовал себя как хороший код, который может достичь шенноновской пропускной способности и имеет низкую сложность кодирования и декодирования. Полярный код представляет собой линейный блочный код. Его порождающая матрица - это , а процесс кодирования - , где , а кодовая длина равна N=2n, где n≥0.  - входные биты, включающие в себя информационные биты и фиксированные биты. Здесь, , a B - транспонированная матрица, например матрица обращенных битов (обращенных битов).  представляет собой кронекеровскую степень (кронекеровская степень) F и определяется как . Полярный код можно представить, используя смежно-групповой код , а процесс его кодирования представляет собой , где А - множество индексов информационных (информационных) битов,  - подматрица G, получаемая использованием строк, которые соответствуют индексам из множества А, а  - подматрица G, полученная использованием строк, которые соответствуют индексам из множества A.  - фиксированные (фиксированные) биты, где число фиксированных битов равно (N - K), при этом фиксированные биты являются известными битами. Для простоты эти фиксированные биты можно задать равными 0.
Полярный код также можно декодировать посредством ML (максимального правдоподобия), и декодер максимального правдоподобия для ML-декодирования находит последовательность информационных битов, чтобы минимизировать квадрат евклидова расстояния:
k
k
k
где z - знак, полученный после BPSK-отображения, где z=(1-2x), k=1, …, N.
-
Сложность ML-декодирования равна O(2^K).
Видно, что при существующем уровне техники ML-декодирование для полярного кода имеет слишком высокую сложность.
Сущность изобретения
В вариантах осуществления настоящего изобретения предложен способ декодирования полярного кода и устройство декодирования для снижения сложности декодирования.
В соответствии с одним аспектом, предложено устройство декодирования полярного кода, содержащее:
разделительный модуль, выполненный с возможностью принимать полярный код длины N, который надо декодировать, и разделять полярный код, который надо декодировать, на m подкодов полярного кода, которые связаны друг с другом, где каждый подкод полярного кода имеет длину N/m, при этом N и m - целые степени 2, и N>m;
m независимых процессорных модулей, каждый из который выполнен с возможностью вычислять для m подкодов полярного кода квадрат евклидовых расстояний входных битов, которые независимы друг о друга в m подкодах полярного кода, чтобы получить минимальные квадраты евклидовых расстояний входных битов, которые независимы друг от друга в m подкодах полярного кода, причем минимальные квадраты евклидовых расстояний входных битов, которые независимы друг от друга в m подкодах полярного кода, называют независимыми минимальными квадратами евклидовых расстояний;
модуль совместной обработки, выполненный с возможностью получать в соответствии с m независимыми минимальными квадратами евклидовых расстояний минимальный квадрат евклидова расстояния входных битов, которые связаны друг с другом в m подкодах полярного кода, причем минимальный квадрат евклидова расстояния входных битов, которые связаны друг с другом в других подкодах полярного кода, называют совместным минимальным квадратом евклидова расстояния; и
модуль вывода результата, выполненный с возможностью получать входные биты, которые соединены в m подкодах полярного кода, и которые дают независимые минимальные квадраты евклидовых расстояний и совместный минимальный квадрат евклидова расстояния, и получать результат декодирования полярного кода, который надо декодировать, со ссылкой на взаимосвязи между m подкодами полярного кода и полярным кодом, который надо декодировать.
В соответствии с другим аспектом, предложен способ декодирования, выполняемый вышеупомянутым устройством.
В соответствии с вариантами осуществления настоящего изобретения, полярный код, который надо декодировать, разделяют и выполняют метод совместного максимального правдоподобия, что сокращает сложность декодирования и задержку декодирования полярного кода и увеличивает пропускную способность ML-декодера для полярного кода.
Краткое описание чертежей
На фиг. 1 показана блок-схема системы 100 беспроводной связи в условиях эксплуатации в соответствии с настоящим изобретением;
на фиг. 2 показана блок-схема системы 200 в варианте осуществления настоящего изобретения;
на фиг. 3 приведена блок-схема устройства 300 декодирования полярного кода в отдельном варианте осуществления;
на фиг. 4 приведена блок-схема способа декодирования полярного кода в отдельном варианте осуществления;
на фиг. 5 приведена развернутая диаграмма двухэтапного параллельного декодирования в варианте осуществления, показанном на фиг. 4;
на фиг. 6 приведена диаграмма способа декодирования полярного кода в другом отдельном варианте осуществления;
на фиг. 7 приведена развернутая диаграмма трехэтапного параллельного декодирования в варианте осуществления, показанном на фиг. 6;
на фиг. 8 приведена блок-схема способа декодирования в отдельном варианте осуществления; и
на фиг. 9 приведена блок-схема устройства декодирования в отдельном варианте осуществления.
Описание вариантов осуществления
Ниже в вариантах осуществления настоящего изобретения ясно описаны технические решения со ссылкой на сопровождающие чертежи вариантов осуществления настоящего изобретения. Очевидно, что описываемые варианты осуществления представляют собой некоторые, а не все варианты осуществления настоящего изобретения. Все другие варианты осуществления, полученные без творческих усилий специалистами в этой области техники, исходя из вариантов осуществления настоящего изобретения, попадают под объем настоящего изобретения.
Теперь, со ссылкой на сопровождающие чертежи, на которых одинаковые метки на сопровождающих чертежах обозначают одинаковые компоненты, будет описано несколько вариантов осуществления. Для простоты иллюстрации в последующем описании приведено много подробностей, так что один или несколько вариантов осуществления будут полностью понятны. Тем не менее, очевидно, что варианты осуществления также могут быть реализованы без этих подробностей. В другом примере хорошо известная структура и устройство показаны в виде блок-схем, чтобы описать один или несколько вариантов осуществления.
Такие термины, как "компонент", "модуль" и "система" в этом описании используют для того, чтобы представить сущность, аппаратное обеспечение, микропрограммное обеспечение, сочетание аппаратного и программного обеспечения, программное обеспечение или программное обеспечение при исполнении на компьютере. Например, компонент может представлять собой, но не ограничиваясь, процесс, выполняемый процессором, процессор, объект, исполняемый файл, поток выполнения и программу и/или компьютер. Для иллюстрации компонентом может быть как приложение, выполняемое на вычислительном устройстве, так и вычислительное устройство. Один или несколько компонентов могут находиться в процессе и/или потоке выполнения, и компоненты могут располагаться на одном компьютере и/или могут быть распределены между двумя или несколькими компьютерами. Кроме того, эти компоненты могут выполняться с различных машинных носителей информации, на которых хранятся различные структуры данных. Компоненты могут осуществлять связь посредством локального и/или удаленного процесса и в соответствии, например, с сигналом, содержащим один или несколько пакетов данных (например, данных от двух компонентов, взаимодействующих с другим компонентом в локальной системе, распределенной системе и/или по сети, такой как Интернет, которая взаимодействует с другой системой посредством сигнала).
Кроме того, терминал доступа в каждом варианте осуществления также может называться системой, пользовательским модулем, пользовательской станцией, мобильной радиостанцией, мобильной станцией, удаленной станцией, удаленным терминалом, мобильным устройством, пользовательским терминалом, терминалом, устройством беспроводной связи, пользовательским агентом, пользовательским прибором или UE (Пользовательским Оборудованием, пользовательским оборудованием). Терминал доступа может представлять собой сотовый телефон, беспроводной телефон, SIP-телефон (протокол установления сессии, протокол установления сессии), WLL-станцию (местная линия радиосвязи, местная линия радиосвязи), PDA (персональный цифровой помощник, персональный цифровой помощник), портативное устройство, имеющее функцию беспроводной связи, вычислительное устройство или другое устройство обработки данных, подключенное к беспроводному модему. Кроме того, каждый вариант осуществления описан со ссылкой на базовую станцию. Базовая станция может быть выполнена с возможностью осуществлять связь с мобильным устройством. Базовая станция может представлять собой BTS (базовую приемопередающую станцию) в GSM (глобальная система мобильных коммуникаций) или CDMA (многостанционный доступ с кодовым разделением каналов), или может представлять собой NB (NodeB) в WCDMA (широкополосный множественный доступ с кодовым разделением каналов), или также может представлять собой eNB или eNodeB (развитый Node В) в LTE (стандарт "Долгосрочное развитие сетей связи"), ретранслятор или точку доступа, или базовую станцию в будущей сети 5G.
Кроме того, все аспекты или признаки настоящего изобретения могут быть реализованы в виде способа, устройства или продукта, который использует стандартное кодирование и/или инженерную технологию. Термин "продукт" в этом приложении охватывает компьютерные программы, получить доступ к которым можно с любого считываемого компьютером устройства, носителя или среды. Например, машинный носитель может включать в себя, но не ограничиваясь, магнитное запоминающее устройство (такое как жесткий диск, флоппи-диск или магнитная лента), оптический диск (такой как CD (компакт-диск) или DVD (универсальный цифровой диск), смарткарту и устройство на флэш-памяти (такое как EPROM (стираемое программируемое постоянное запоминающее устройство) или карту, или флешку). Кроме того, различные носители информации, описанные в этом документе, могут представлять одно или несколько устройств для хранения информации и/или другой машинный носитель информации. Термин "машинный носитель" может включать в себя, но не ограничиваясь, радиоканал и различные другие среды, способные хранить, включать в себя и/или переносить команды и/или данные.
Теперь, можно обратиться к фиг. 1, на которой показана блок-схема системы 100 беспроводной связи в варианте осуществления настоящего изобретения. Система 100 включает в себя базовую станцию 102, причем базовая станция 102 может включать в себя несколько групп антенн. Например, одна группа антенн группа может включать в себя антенны 104 и 106, а другая группа антенн может включать в себя антенны 108 и 110, а дополнительная группа антенн может включать в себя антенны 112 и 114. В каждой группе антенн показано две антенны. Однако для каждой группы может использоваться большее или меньшее число антенн. Базовая станция 102 дополнительно может включать в себя передающую цепь и приемную цепь. Специалистам в области техники понятно, что и передающая цепь, и приемная цепь могут включать в себя несколько компонентов (таких как процессор, модулятор, мультиплексор, модем, демультиплексор или антенна), относящихся к отправлению и приему сигналов.
Базовая станция 102 может осуществлять связь с одним или несколькими терминалами доступа (например, с терминалом доступа 16 и терминалом доступа 122). Тем не менее, понятно, что базовая станция 102 может осуществлять связь почти с любым числом терминалов доступа, аналогичных терминалам доступа 116 и 122. Каждый из терминалов 116 и 122 доступа, например, может представлять собой сотовый телефон, смартфон, портативный компьютер, портативное устройство связи, портативное вычислительное устройство, спутниковое радиоустройство, устройство глобальной системы позиционирования, PDA и/или любое другое подходящее устройство, используемое для связи в системе 100 беспроводной связи. Как показано на фигуре, терминал 116 доступа осуществляет связь с антеннами 112 и 114, причем антенны 112 и 114 оправляют информацию на терминал 116 доступа через прямой канал 118 и принимают информацию от терминала 116 доступа через обратный канал 120. Кроме того, терминал 122 доступа осуществляет связь с антеннами 104 и 106, причем антенны 104 и 106 оправляют информацию на терминал 122 доступа через прямой канал 124 и принимают информацию от терминала 122 доступа через обратный канал 126. В FDD системе (дуплексная связь с частотным разделением каналов, дуплексная связь с частотным разделением каналов), например, прямой канал 118 может использовать полосу частот отличную от полосы частот, используемой обратным каналом 120, а прямой канал 124 может использовать полосу частот отличную от полосы частот, используемой обратным каналом 126. Кроме того, в TDD системе (дуплексная связь с временным разделением, дуплексная связь с временным разделением) прямой канал 118 и обратный канал 120 могут использовать общую полосу частот, и прямой канал 124 и обратный канал 126 могут использовать общую полосу частот.
Каждая группа антенн и/или каждая область, предназначенная для осуществления связи, называется сектором базовой станции 102. Например, группа антенн может быть сконструирована для осуществления связи с терминалом доступа в секторе зона покрытия базовой станции 102. При осуществлении связи посредством прямых каналов 118 и 124 передающая антенна базовой станции 102 может с помощью формирования диаграммы направленности увеличить отношения сигнал-шум прямых каналов 118 и 124, которые соответствуют терминалам 116 и 122 доступа. Кроме того, по сравнению с ситуацией, когда базовая станция отправляет информацию на все терминалы доступа базовой станции, используя единственную антенну, если базовая станция 102 посредством формирования диаграммы направленности передает информацию на терминалы 116 и 122 доступа, которые случайно распределены в соответствующей зоне покрытия, мобильное устройство в соседней соте создает меньше помех.
В заданное время базовая станция 102, терминал 116 доступа и/или терминал 122 доступа может являться передающим устройством беспроводной связи и/или принимающим устройством беспроводной связи. При отправлении данных передающее устройство беспроводной связи может кодировать данные и передавать закодированные данные. В частности, передающее устройство беспроводной связи может иметь (например, создавать, получать и хранить в памяти) некоторое количество информационных битов, которые необходимо отправить на принимающее устройство беспроводной связи по каналу. Такие информационные биты могут входить в состав блока передачи (или нескольких блоков передачи) данных, причем несколько блоков передачи данных могут создаваться посредством сегментации. Кроме того, передающее устройство беспроводной связи может кодировать каждый блок передачи, используя устройство полярного кодирования (которое не показано). Соответственно, при получении данных принимающее устройство беспроводной связи может выполнять полярное декодирование данных, чтобы повысить надежность передачи данных.
На фиг. 2 показана система 200 которая осуществляет способ декодирования полярного кода при беспроводной связи. Система 200 включает в себя устройство 202 беспроводной связи. Показано, что устройство 202 беспроводной связи получает данные через приемный канал. Хотя показано, что устройство 202 беспроводной связи принимает данные, устройство 202 беспроводной связи также может отправлять данные по каналу (например, устройство 202 беспроводной связи может отправлять и принимать данные в одно и то же время, устройство 202 беспроводной связи может отправлять и принимать данные в различные моменты времени, или это устройство 202 беспроводной связи отправляет и принимает данные в одно и то же время, и это устройство 202 беспроводной связи отправляет и принимает данные в различные моменты времени скомбинированы). Устройство 202 беспроводной связи, например, может представлять собой базовую станцию (такую как базовая станция 102 на фиг. 1), или терминал доступа (такой как терминал 116 доступа на фиг. 1 или терминал 122 доступа на фиг. 1).
Устройство 202 беспроводной связи может включать в себя декодер 204 полярного кода и приемник 206. Декодер 204 полярного кода выполнен с возможностью в соответствии с признаком структуры полярного кода, полученного приемником 206, и имеющего длину N, разделять полярный код на m подкодов полярного кода, которые связаны друг с другом, где каждый подкод полярного кода имеет длину N/m, при этом N и m - целые степени 2, и N>m; сначала выполнять минимизацию масштаба методом максимального правдоподобия над входными битами, которые не зависят друг от друга в m подкодах полярного кода (то есть, для m подкодов полярного кода вычисляют квадраты евклидовых расстояний входных битов, которые не зависят друг от друга, чтобы получить минимальный квадрат евклидовых расстояний входных битов, которые независимы друг от друга в m подкодах полярного кода), а затем выполнять минимизацию масштаба методом максимального правдоподобия совместно, чтобы получить результат декодирования методом максимального правдоподобия полярного кода, исходная длина которого равна N.
Со ссылкой на фиг. 3, на которой приведена блок-схема устройства 300 декодирования полярного кода в соответствии с вариантом осуществления настоящего изобретения, устройство декодирования полярного кода включает в себя:
разделительный модуль 302, выполненный с возможностью принимать полярный код длины N, который надо декодировать, и разделять полярный код, который надо декодировать, на m подкодов полярного кода, которые связаны друг с другом, где каждый подкод полярного кода имеет длину N/m, при этом N и m - целые степени 2, и N>m;
m независимых процессорных модулей 304, каждый из который выполнен с возможностью вычислять для m подкодов полярного кода квадрат евклидовых расстояний входных битов, которые независимы друг от друга в m подкодах полярного кода, чтобы получить минимальные квадраты евклидовых расстояний входных битов, которые независимы друг от друга в m подкодах полярного кода, причем минимальные квадраты евклидовых расстояний входных битов, которые независимы друг от друга в m подкодах полярного кода, называют независимыми минимальными квадратами евклидовых расстояний;
модуль 306 совместной обработки, выполненный с возможностью получать в соответствии с m независимыми минимальными квадратами евклидовых расстояний минимальный квадрат евклидова расстояния входных битов, которые связаны друг с другом в m подкодах полярного кода, причем минимальный квадрат евклидова расстояния входных битов, которые связаны друг с другом в других подкодах полярного кода, называют совместным минимальным квадратом евклидова расстояния; и
модуль 308 вывода результата, выполненный с возможностью получать входные биты, которые соединены в m подкодах полярного кода, и которые дают независимые минимальные квадраты евклидовых расстояний и совместный минимальный квадрат евклидова расстояния, и получать результат декодирования полярного кода, который надо декодировать, со ссылкой на взаимосвязи между m подкодами полярного кода и полярным кодом, который надо декодировать.
В предпочтительном примере независимые процессорные модули выполняют обработку параллельно, m может быть равно 2, 4, 8 и т.п. В следующих вариантах осуществления используют примеры, в которых m равно 2 и 4, но в других вариантах осуществления полярный код разделяют на другое количество модулей в соответствии с решением настоящего изобретения. Очевидно, что в вышеприведенном варианте осуществления сложность декодирования полярного кода можно снизить посредством разделения и объединения.
Со ссылкой на фиг. 4, на которой показан вариант осуществления другого способа декодирования в соответствии с настоящим изобретением, используют пример, в котором в варианте осуществления, показанном на фиг. 3, m равно 2, и применяют параллельное декодирование. В этом отдельном варианте осуществления процесс декодирования, в целом, выполняют за два этапа. Устройство декодирования называют двухэтапным параллельным декодером 400.
В вышеупомянутом варианте осуществления, показанном на фиг. 4, в общем, ML-декодирование полярного кода может быть выполнено за два этапа, что существенно сокращает сложность ML-декодирования полярного кода. Псевдокод вышеупомянутого двухэтапного параллельного декодера (ML декодер с двухэтапным поиском) кратко выражается следующим образом:
k
k+N/2
k
k+N/2
k
k
k
k
k
k
k
k+N/2
a
a
Сначала, для простоты описания, в процессах и на сопровождающих чертежах вариантов осуществления полярный код, который надо декодировать, выражают с использованием формулы ; множество индексов  означает, что ν - фиксированный бит, a ν - информационный бит; а множество индексов  означает, что ν - фиксированный бит, a ν - информационный бит. Другими словами, если , то a и b связаны друг с другом, что выражается формулой  = b; а если , то , b независимы друг от друга. Следует отметить, что для полярного кода нет множества индексов , то есть, ν - это информационный бит, a ν - фиксированный бит. В некоторых примерах вышеупомянутое  можно разделить на три подмножества: , где множество индексов  означает все индексы, удовлетворяющие  и , где 1≤k≤N/4, а множество индексов  означает все индексы, удовлетворяющие  и , где 1≤k≤N/4. Аналогично, отсутствует индекс, удовлетворяющий следующим условиям:  и , где 1≤k≤N/4.
Со ссылкой на принцип работы декодирования максимального правдоподобия, со ссылкой на фиг. 4, процесс работы варианта осуществления декодирования, показанного на фиг. 4, включает в себя следующее:
a
k
k
S401: Принимают полярный код, который надо декодировать, длины N, где полярный код, который надо декодировать, выражается формулой , и разделяют полярный код, который надо декодировать, на два подкода полярного кода: первый подкод полярного кода и второй подкод полярного кода, где входные биты, соответствующие двум подкодам полярного кода, равны  и b соответственно, и каждый выражают, используя формулы  и .
a
k
k
S402: Для входного бита , , который находится в первом подкоде полярного кода, и который не зависит от любого входного бита во втором подкоде полярного кода, проводят вычисление, чтобы получить первый независимый минимальный квадрат евклидова расстояния ; и для входного бита b, , который находится во втором подкоде полярного кода, и который не зависит от любого входного бита в первом подкоде полярного кода, проводят вычисление, чтобы получить второй независимый минимальный квадрат евклидова расстояния .
а
b
sum
S403: Объединяют первый независимый минимальный квадрат евклидова расстояния и второй независимый минимальный квадрат евклидова расстояния Е, E, чтобы получить значение E с использованием формулы .
S404: Осуществляют поиск, чтобы получить первый совместный минимальный квадрат евклидова расстояния, который выражается следующей формулой , то есть .
a
a
a
k
k
k
k
а
b
k
k
а
b
S405: Получают входные биты  = b, , которые связывают друг с другом в первом подкоде полярного кода и втором подкоде полярного кода, и которые дают первый совместный минимальный квадрат евклидова расстояния; и получают входные биты , b, , которые не зависят друг от друга в первом подкоде полярного кода и втором подкоде полярного кода, и которые дают первый независимый минимальный квадрат евклидова расстояния Е и второй независимый минимальный квадрат евклидова расстояния E (то есть, осуществляют поиск, чтобы получить входные биты , b, , которые минимизируют Е или E).
a
k
k
S406: После получения посредством вычислений всех , b выполняют вычисления в соответствии с соотношениями  и  между двумя подкодами полярного кода и полярного кода, который надо декодировать, чтобы получить входные биты  и  полярного кода, который надо декодировать.
Можно обратиться к фиг. 5, на которой приведена развернутая диаграмма двухэтапного параллельного декодирования в вышеупомянутом варианте осуществления. Из схематической диаграммы видно, что с помощью параллельного декодирования ожидаемо снижается сложность.
Можно обратиться к фиг. 6, на которой приведен другой отдельный вариант осуществления в соответствии с настоящим изобретением. Этот вариант осуществления представляет собой дополнительное развитие вышеупомянутого решения параллельного декодирования, предназначенное для реализации решения декодирования, в котором m в реализации, показанной на фиг. 3, равно 4. Это решение декодирования кратко называют трехэтапным параллельным ML-декодированием. Со ссылкой на принцип работы декодирования максимального правдоподобия и на фиг. 6 процесс работы вышеупомянутого варианта осуществления включает в себя следующее:
S601: принимают полярный код длины N, который надо декодировать, и разделяют полярный код, который надо декодировать, на четыре подкода полярного кода, которые связаны друг с другом, где каждый подкод полярного кода имеет длину N/4, при этом N и m - целые степени 2, и N>4.
a
k
k
В частности, полярный код, который надо декодировать, выражается формулой , а четыре подкода полярного кода последовательно называют третьим подкодом полярного кода, четвертым подкодом полярного кода, пятым подкодом полярного кода и шестым подкодом полярного кода. Конкретный способ их разделения может заключаться в следующем: полярный код, который надо декодировать, разделяют, применяя способ этапа S401 на фиг. 4, на два подкода полярного кода, то есть, на первый подкод полярного кода и на второй подкод полярного кода, где входные биты, соответствующие двум подкодам полярного кода представляют собой  и b соответственно, и выражаются формулами  и ; а затем, первый подкод полярного кода разделяют на третий подкод полярного кода и четвертый подкод полярного кода, а второй подкод полярного кода разделяют на пятый подкод полярного кода и шестой подкод полярного кода.
k
k
k
k+N/4
k
a
Входные биты вышеупомянутого третьего подкода полярного кода, четвертого подкода полярного кода, пятого подкода полярного кода и шестого подкода полярного кода представляют собой соответственно c, выражаемое формулой , d, выражаемое формулой d=, e, выражаемое формулой , и , где , 1≤k≤N/4, , и .
Конкретный принцип вышеупомянутого разделения заключается в следующем:
может быть дальше разделено на:
Аналогично, можно получить, что:
; и в соответствии со структурой полярного кода, показанной в вышеприведенной формуле, очевидно, можно безболезненно выполнить вышеприведенное разделение.
k
k+N/2
S602: Для входных битов, которые не зависят друг от друга в вышеупомянутых четырех подкодах полярного кода, по-отдельности вычисляют независимые минимальные квадраты евклидовых расстояний, чтобы получить первый независимый минимальный квадрат евклидова расстояния , второй независимый минимальный квадрат евклидова расстояния , третий независимый минимальный квадрат евклидова расстояния  и четвертый независимый минимальный квадрат евклидова расстояния , где индексное множество  означает все индексы, удовлетворяющие  и , а индексное множество  означает, что ν является информационным битом, и ν является информационным битом, где 1≤k≤N/4.
sum1
c
d
S603: Проводят вычисление, чтобы получить сумму квадратов евклидовых расстояний третьего подкода полярного кода и четвертого подкода полярного кода, причем сумма выражается формулой E=E+E, а для входных битов, которые связаны друг с другом в третьем подкоде полярного кода и четвертом подкоде полярного кода осуществляют поиск, чтобы получить первый совместный минимальный квадрат евклидова расстояния, что выражается формулой , где  означает все индексы, удовлетворяющие условию  и , где 1≤k≤N/4.
S604: Проводят вычисление, чтобы получить сумму квадратов евклидовых расстояний пятого подкода полярного кода и шестого подкода полярного кода, причем сумма выражается формулой , а для входных битов, которые связаны друг
с другом в пятом подкоде полярного кода и шестом подкоде полярного кода осуществляют поиск, чтобы получить второй совместный квадрат евклидова расстояния, что выражается формулой , где  означает все индексы, удовлетворяющие условию  и , где 1≤k≤N/4.
k
k+N/2
S605: Для входных битов, которые связаны друг с другом во всех подкодах полярного кода вычисляют суммарный квадрат евклидова расстояния, выражаемый формулой , и осуществляют поиск, чтобы получить третий совместный минимальный квадрат евклидова расстояния , где индексное множество  означает, что ν является фиксированным битом, a ν является информационным битом.
a
a
k
k
k
k
sum2
sum4
S606: Получают входные биты  = b, , дающие третий минимальный квадрат евклидова расстояния , и по-отдельности подставляют входные биты  = b,  в первый совместный минимальный квадрат евклидова расстояния E и во второй совместный минимальный квадрат евклидова расстояния E, чтобы получить другие входные биты.
k
k
k
S607: После получения всех входных битов c, d, e и  получают входные биты  полярного кода, который надо декодировать, в соответствии с соотношениями  между четырьмя подкодами полярного кода и полярным кодом, который надо декодировать.
В вышеупомянутом варианте осуществления, показанном на фиг. 6, в общем, ML-декодирование полярного кода может быть выполнено за три этапа, что существенно сокращает сложность ML-декодирования полярного кода. Псевдокод вышеупомянутого трехэтапного параллельного декодера (ML декодер с трехэтапным поиском) кратко выражается следующим образом:
Технический эффект этого варианта осуществления подробно описан ниже, при этом сложность вышеприведенного трехэтапного параллельного декодирования максимального правдоподобия составляет . Со ссылкой на таблицу 1, приведенную ниже, в которой проведено сравнение между сложностью вышеупомянутого трехэтапного параллельного декодирования максимального правдоподобия и сложностью исходного декодирования максимального правдоподобия для различных значений кодовой длины N, где Сложн.1 - это сложность трехэтапного параллельного ML-декодирования, а Сложн.2 - это сложность исходного ML-декодирования.
Обратимся к фиг. 7, на которой приведена схематическая диаграмма вышеприведенного трехэтапного параллельного декодирования. Из фиг. 7 видно, что сложность декодирования максимального правдоподобия в этом варианте осуществления настоящего изобретения можно существенно снизить.
В вышеприведенных вариантах осуществления значение m равно 2 или 4. Специалистам в области техники понятно, что m также может быть равно 8 или другой целой степени 2. В вышеприведенных вариантах осуществления, сокращая сложность декодирования, и, в частности, используя способ параллельного декодирования, можно существенно повысить пропускную способность декодирования и снизить задержку декодирования.
Способ ML-декодирования, описанный в каждом варианте осуществления настоящего изобретения, можно применять в сочетании с любым способом декодирования, который логически не вступает в конфликт со способом ML-декодирования, который не ограничен вариантами осуществления настоящего изобретения.
В качестве примера, в другом отдельном варианте осуществления настоящего изобретения предложен способ декодирования. В способе, сначала выполняют SC-декодирование независимо (предпочтительно, параллельно) для m подкодов полярного кода, а затем, на подкодах полярного кода выполняют совместный процесс максимального правдоподобия ML, то есть, полное декодирование полярного кода выполняют путем объединения параллельного SC-декодирования и вышеизложенного способа параллельного ML-декодирования (например, двухэтапного параллельного ML-декодирования или трехэтапного параллельного ML-декодирования).
Устройство декодирования полярного кода, показанное на фиг. 3, используют в качестве примера. Как вариант, устройство также включает в себя независимый модуль SC-декодирования, выполненный с возможностью разделять полярный код, имеющий длину S на N подкодов полярного кода, где каждый подкод имеет длину S/N, и по-отдельности выполнять SC-декодирование, чтобы получить N результатов SC-декодирования (например, отношения правдоподобия), где S и N - целые степени 2 и S>N,
так что разделительный модуль, m независимых процессорных модулей, модуль совместной обработки и модуль вывода результата в соответствии с любым из вышеприведенных вариантов осуществления выполняют соответствующую работу, используя все входные биты в N результатах SC-декодирования в качестве полярного кода, который надо декодировать, имеющего длину N;
и
в соответствии со всеми входными битами получают результат декодирования полярного кода, имеющей длину S.
В более конкретном примере в заявке на китайский патент №201310073607.8 приведен вариант осуществления, в котором SC-декодирование может быть выполнено параллельно для восьми подкодов полярного кода (ссылочная позиция 4 в 201310073607.8). По сравнению с вариантом осуществления в заявке на китайский патент №201310073607.8 в этом примере после параллельного SC-декодирования для принятия решения больше нет необходимости обсуждать . Вместо этого, для выполнения комбинированного декодирования применяют принцип ML. Со ссылкой на фиг. 8 этот процесс включает в себя следующее:
Во-первых, полярный код длины S разделяют на восемь полярных кодов, имеющих длину S/8, то есть на восемь векторов принятого сигнала , , , … и .
Соответствующие входные биты удовлетворяют условию:
Восемь компонентных декодеров (SC-декодеры длины S/8) по-отдельности используют в качестве входов , , , … и . Восемь компонентных декодеров независимо по-отдельности вычисляют отношения правдоподобия: , , , … и .
Во-вторых, в соответствии с вышеупомянутыми отношениями правдоподобия, полученными посредством вычисления, выполняют параллельное ML-декодирование входных битов , что конкретно выражается следующей формулой:
Матрица в правой части вышеприведенной формулы в действительности представляет собой порождающую матрицу полярного кода, имеющего длину N=8. Поэтому, в вышеприведенном процессе декодирования в вышеупомянутом варианте осуществления может использоваться способ параллельного ML-декодирования полярного кода.
В частности, , , , …, ,
входные биты представляют собой , и
после получения  (i=1, 2, …, S/8) результат  декодирования полярного кода может быть получен путем замены мест.
В вышеприведенном варианте осуществления полярный код длины S разделяют на восемь полярных кодов длины S/8, по-отдельности выполняют SC-декодирование восьми полярных кодов, а затем, применяют совместное ML-декодирование, например, двухэтапное параллельное ML-декодирование или трехэатпное параллельное ML-декодирование, предложенное в вариантах осуществления настоящего изобретения, тем самым, дополнительно сокращая сложность декодирования и увеличивая пропускную способность.
Понятно, что описанные в этой спецификации варианты осуществления могут быть реализованы посредством аппаратного обеспечения, программного обеспечения, микропрограммного обеспечения, промежуточного программного обеспечения, микрокода и их сочетания. Для реализации с использованием аппаратного обеспечения процессор может быть реализован в виде одной или нескольких ASIC (специализированных интегральных микросхем), DSP (цифровой обработки сигналов, цифровых сигнальных процессоров), DSPD (устройство DSP), PLD (программируемое логическое устройство), FPGA (программируемая логическая интегральная схема), процессоров, контроллеров, микроконтроллеров, микропроцессоров или других электронных блоков, выполненных с возможностью выполнять функции этого приложения, или их сочетаний.
Если варианты осуществления выполнены в виде программного, микропрограммного, промежуточного обеспечения или микрокода, то они могут быть сохранены на машинном носителе, таком как компонент хранения данных. Сегмент кода может представлять процедуру, функцию, подпрограмму, программу, стандартную программу, стандартную подпрограмму, модуль, программную группу, класс или любое сочетание команд, структур данных или программных выражений. Сегмент кода может быть связан с другим сегментом кода или аппаратной схемой путем передачи и/или приема информации, данных, аргументов, параметров или содержимого памяти. Информация, аргументы, параметры, данные и т.п.могут проходить, пересылаться или передаваться с использованием любого подходящего средства, включая совместное использование памяти, передачу сообщений, передачу токенов, сетевую передачу и т.п.
Для реализации с использованием программного обеспечения, технология, описанная в этой спецификации, может быть реализована с использованием модулей (например, процедур и функций), которые выполняют функции, описанные в этой спецификации. Программный код может храниться в блоке памяти и выполняться процессором. Блок памяти может быть реализован в процессоре или за пределами процессора. В последнем случае, блок памяти может быть связан с возможностью коммуникации с процессором различными средствами, известными в области техники.
Обратимся к фиг. 9, на которой показана система 900, которая может применять способ декодирования полярного кода при беспроводной связи. Например, система 900 может по меньшей мере частично располагаться в базовой станции или в терминале доступа. Следует понимать, что система 900 может быть представлена как включающая в себя функциональные блоки, которые могут являться функциональными блоками, функции которых реализованы процессором, программным обеспечением или их сочетанием (например, микропрограммным обеспечением). Система 900 включает в себя логику 902, имеющую электронные компоненты, работающие совместно.
Например, логика 902 может включать в себя: разделительный модуль 904, выполненный с возможностью принимать полярный код длины N, который надо декодировать, и разделять полярный код, который надо декодировать, на m подкодов полярного кода, которые связаны друг с другом, где каждый подкод полярного кода имеет длину N/m, при этом N и m - целые степени 2, и N>m;
m независимых процессорных модулей 906, не все из которых показаны на фигуре, каждый из который выполнен с возможностью вычислять для m подкодов полярного кода квадрат евклидовых расстояний входных битов, которые независимы друг от друга в m подкодах полярного кода, чтобы получить минимальные квадраты евклидовых расстояний входных битов, которые независимы друг от друга в m подкодах полярного кода, причем минимальные квадраты евклидовых расстояний входных битов, которые независимы друг от друга в m подкодах полярного кода называют независимыми минимальными квадратами евклидовых расстояний;
модуль 908 совместной обработки, выполненный с возможностью получать в соответствии с m независимыми минимальными квадратами евклидовых расстояний минимальный квадрат евклидова расстояния входных битов, которые связаны друг с другом в m подкодах полярного кода, причем минимальный квадрат евклидова расстояния входных битов, которые связаны друг с другом в других подкодах полярного кода, называют объединенным минимальным квадратом евклидова расстояния; и
модуль 910 вывода результата, выполненный с возможностью получать входные биты, которые соединены в m подкодах полярного кода, и которые дают независимые минимальные квадраты евклидовых расстояний и совместный минимальный квадрат евклидова расстояния, и получать результат декодирования полярного кода, который надо декодировать, со ссылкой на взаимосвязи между m подкодами полярного кода и полярным кодом, который надо декодировать.
Кроме того, система 900 может включать в себя память 912, причем в памяти 912 хранят команды, используемые для выполнения функций, относящихся к электронным компонентам 904, 906, 908 и 910. Хотя показано, что электронные компоненты 904, 906, 908 и 910 расположены за пределами памяти 912, понятно, что один или несколько из электронных компонентов 904, 906, 908 и 910 могут быть расположены в памяти 912. Соответственно, варианты осуществления вышеизложенных способов предпочтительно также могут быть использованы в вышеупомянутых компонентах. Их подробное описание повторно не приведено.
Вышеприведенное описание включает в себя примеры одного или нескольких компонентов. Конечно, для описания этих вариантов осуществления невозможно описать все возможные сочетания компонентов или способов. Тем не менее, специалисту в области техники должно быть понятно, что эти варианты осуществления также можно комбинировать или преобразовывать. Поэтому, предполагается, что описанные в этой заявке варианты осуществления охватывают все изменения, модификации и варианты, попадающие под объем и защиты и сущность прилагаемой формулы изобретения. Более того, в тех случаях, когда термин "включать в себя", "иметь" или подобный используют в описании или формуле изобретения, предполагается, что такой термин является инклюзивным, так же как интерпретируют термин "содержать" или "содержит" при использовании в качестве переходного слова в формуле изобретения.
Специалисту в области техники понятно, что в сочетании с описанными в вариантах осуществления примерами, изложенными в этой спецификации, блоки и этапы алгоритмов могут быть реализованы с помощью электронного оборудования или сочетания компьютерных программ и электронного оборудования. Какие функции выполняет оборудование, а какие программное обеспечение, зависит от определенных приложений и конструкторских ограничений технических решений. Специалисты в области техники могут применять различные способы для реализации описанных функций для каждого конкретного приложения, но не следует считать, что реализация выходит за пределы объема настоящего изобретения.
Специалисту в области техники вполне понятно, что для удобного и краткого описания Для подробного рассмотрения рабочего процесса вышеописанной системы, устройства и блока можно сослаться на соответствующий процесс в вышеизложенных вариантах осуществления способа, и эти подробности повторно здесь не описаны.
В нескольких вариантах осуществления, предложенных в настоящей заявке, следует понимать, что описанная система, устройство и способ могут быть реализованы по-другому. Например, описанный вариант осуществления устройства является всего лишь примером. Например, разделительный блок является всего лишь логической функцией разделения и в реальной реализации может представлять собой другое разделение. Например, несколько блоков или компонентов могут быть объединены или интегрированы в другой системе, или некоторые признаки могут быть проигнорированы или не быть реализованными. Кроме того, показанные и обсуждавшиеся взаимные связи или непосредственные связи или коммуникационные соединения могут быть реализованы с использованием некоторых интерфейсов. Косвенные связи или коммуникационные соединения между устройствами или блоками могут быть реализованы в электрической, механической или другой форме.
Блоки, описанные в виде отдельных частей, могут быть или не быть физически отдельными, и части, показанные в виде блоков, могут быть или не быть физическими блоками, могут быть расположены в одном месте либо могут быть распределены по нескольким сетевым блокам. Для достижения цели решений вариантов осуществления в соответствии с действительными потребностями могут быть выбраны некоторые или все модули.
Кроме того, функциональные блоки в вариантах осуществления настоящего изобретения могут быть интегрированы в один процессор, либо каждый из блоков может быть выполнен физически отдельно, либо два или несколько блоков могут быть интегрированы в один блок.
Если функции реализованы в виде программного функционального модуля, который продают или используют в качестве независимого продукта, функции могут быть сохранены на машинном носителе информации. Понимая это, технические решение настоящего изобретения по сути или часть, вносящая вклад в существующий уровень техники, или некоторые технические решения могут быть реализованы в виде программного продукта. Программный продукт хранят на носителе информации, и он включает в себя несколько команд, предназначенных для того, чтобы вычислительное устройство (которое может представлять собой персональный компьютер, сервер или сетевое устройство) выполняло все или некоторые этапы способов, описанных в вариантах осуществления настоящего изобретения. Вышеупомянутый носитель информации включает в себя: любой носитель, способный хранить программный код, такой как USB-устройство флэш-памяти, съемный жесткий диск, постоянная память (ROM, постоянная память), память произвольного доступа (RAM, память произвольного доступа), магнитный диск или оптический диск.
Вышеприведенное описание представляет собой всего лишь отдельные варианты осуществления настоящего изобретения, и не предполагается, что оно ограничивает объем защиты настоящего изобретения. Любое изменение или замена, выполненные специалистом в области техники в рамках технического объема, изложенного в настоящем изобретении, попадает под объем защиты настоящего изобретения. Поэтому, защищаемый объем настоящего изобретения является предметом объема защиты формулы изобретения.