СПОСОБ И УСТРОЙСТВО ДЛЯ СОГЛАСОВАНИЯ СКОРОСТИ, СПОСОБ И УСТРОЙСТВО ДЛЯ ДЕСОГЛАСОВАНИЯ СКОРОСТИ
METHOD AND DEVICE FOR RATE MATCHING, METHOD AND DEVICE FOR RATE DES-MATCHING

Область техники, к которой относится изобретение
Настоящее изобретение относится к области технологий связи и, в частности, к способу и устройству для согласования скорости, способу и устройству для де-согласования скорости.
Уровень техники
Для повышения надежности передачи данных и обеспечения качества связи в системе связи, как правило, выполняют канальное кодирование. Полярный код (polar code), предложенный турецким профессором Arikan, является первым кодом с теоретически доказанной высокой производительностью, которая имеет возможность достижения предела Shannon. Кроме того, сложность выполнения кодирования или декодирования с использованием полярного кода является низкой. Полярный код является линейным блочным кодом. Кодирующая матрица полярного кода представляет собой , и процесс кодирования является , где  представляет собой бинарный вектор строки, и длина равна  (а именно, длина материнского кода); и  представляет собой  матрицу и .  определяется как произведение  Кронекера (Kronecker) матриц .
Матрица .
N
N
N
N
C
C
В процессе кодирования полярного кода, некоторые биты в  используются для передачи информации и называются информационными битами. Индекс набора битов обозначают как A. Остальные биты устанавливаются на фиксированные предварительно согласованные значения стороной передачи и стороной приема и называются замороженными битами или замороженные битами (frozen bits). Индекс набора битов обозначают как , то есть, дополнительный набор . Процесс кодирования полярного кода эквивалентен . При этом, G (A) представляет собой подматрицу строк, соответствующие индексам в наборе А в G, G (A) представляет собой подматрицу строк, соответствующие индексам в наборе A в G,  является набором информационных бит в , и количество информационных битов равно К; и  представляет собой набор замороженных бит в , количество замороженных бит равно (N-K) и замороженными битами являются известные биты. Замороженные биты обычно устанавливают равными 0. Однако, замороженные биты могут быть предоставлены случайным образом, так что сторона передачи и сторона приема предварительно согласовывают. Когда замороженные биты установлены на 0, кодирование выхода полярного кода может быть упрощено следующим образом: , и  представляет собой  матрицу.
Процесс построения полярного кода представляет собой процесс выбора набора , и определяет производительность полярного кода. Процесс построения полярного кода, как правило, представляет собой следующее: определение, на основании длины N материнского кода, где используют в общей сложности N полярных каналов, где N полярные каналы соответственно соответствуют N строкам кодирующей матрицы; вычисление надежности полярных каналов; и использование индексов первых K полярных каналов с относительно высокой надежностью в качестве элементов набора А, и использование индексов, соответствующих оставшимся (N-K) полярных каналов как элементы индекса набора  замороженных бит. Набор А определяет позицию информационного бита, и набор  определяет позицию замороженного бита.
Как видно из кодирующей матрицы, длина кода оригинального полярного кода (mother code) является целочисленной степенью 2, и в реальной реализации полярный код с любой длиной кода должен быть использован посредством согласования скорости.
Сущность изобретения
Настоящее изобретение обеспечивает способ и устройство для согласования скорости для реализации полярного кода с любой длиной кода.
В соответствии с первым аспектом предоставлен способ согласования скорости. Способ включает в себя:
получение кодированной последовательности бит, где кодированная последовательность бит включает в себя g группы равной длины, количество кодированных бит в каждой группе равно N/g, N является длиной материнского кода полярного кода, N является целочисленной степенью 2, g представляет собой целое число больше или равно 4 и меньше, чем N, и g является целочисленной степенью 2;
определение, на основании групп, позиции бита, который должен быть выколот/укорочен в кодированной последовательности бит; и
получение, по меньшей мере, одного кодированного бита в кодированной последовательности бит, кроме бит, которые должны быть выколоты/укорочены, для получения кодированной последовательности бит, полученной после согласования скорости.
В соответствии со вторым аспектом предоставлено устройство для согласования скорости, включающее в себя:
блок получения, выполненный с возможностью получать кодированную последовательность бит, где кодированная последовательность бит включает в себя g группы равной длины, количество кодированных бит в каждой группе равно N/g, N является длиной материнского кода полярного кода, N является целочисленной степенью 2, g представляет собой целое число больше или равно 4 и меньше, чем N, и g является целочисленной степенью 2;
первый блок определения, выполненный с возможностью определять, на основании групп, позицию бита, который должен быть выколот/укорочен в кодированной последовательности бит; и
блок согласования скорости, выполненный с возможностью получать кодированный бит в кодированной последовательности бит, кроме бит, которые должны быть выколоты/укорочены, чтобы получить кодированную последовательность бит, полученную после согласования скорости.
Со ссылкой на первый аспект, в возможной реализации, устройство дополнительно включает в себя:
второй блок определения, выполненный с возможностью: если фактическая скорость кода превышает заданное пороговое значение, определять использовать способ согласования скорости укорочения; или, если фактическая скорость кода меньше или равна заданному пороговому значению, определять использовать способ согласования скорости выкалывания, когда фактическая скорость кода равна K/M, K представляет собой количество информационных бит и М представляет собой длину целевого кода.
Со ссылкой на первый аспект, в возможной реализации устройство дополнительно включает в себя:
блок кодирования, выполненный с возможностью: размещать замороженный бит на полярном канале, соответствующий позиции бита, который должно быть выколот/укорочен; в остальных полярных каналах выбирать полярный канал с высокой степенью надежности, размещать информационный бит на полярном канале с высокой надежностью и размещать замороженные биты на других полярных каналах; и сопоставлять последовательность бит, подлежащую кодированию, с информационным битом канала для кодирования канала для получения кодированной последовательности бит.
В соответствии с третьим аспектом, предусмотрено устройство для согласования скорости, включающее в себя:
память, выполненную с возможностью сохранять программу; и
процессор, выполненный с возможностью выполнять программу, хранящуюся в памяти, где, когда программа выполняется, процессор выполнен с возможностью выполнять способ согласования скорости, представленный в первом аспекте вариантов осуществления настоящего изобретения.
В соответствии с четвертым аспектом предусмотрен способ де-согласования скорости, включающий в себя:
получение логарифмического отношения правдоподобия LLR последовательности бит, подлежащей декодированию, для получения LLR последовательности;
определение выколотой/укороченной позиции на основании групп; и
восстановление LLR значения бита на выколотой/укороченной позиции для получения LLR последовательности, полученный после де-согласования скорости, где LLR последовательность, полученная после де-согласования скорости, включает в себя g группы равной длины, количество LLRs в каждой группе равно N/g, N является длиной материнского кода полярного кода, N является целочисленной степенью 2, g представляет собой целое число больше или равно 4 и меньше, чем N, и g является целочисленной степенью 2.
В соответствии с пятым аспектом предоставлено устройство для де-согласования скорости, включающее в себя:
блок получения, выполненный с возможностью получать логарифмическое отношение правдоподобия LLR последовательности бит, подлежащей декодированию, для получения LLR последовательности;
блок определения, выполненный с возможностью определять выколотую/укороченную позицию, на основании групп; и
блок де-согласования скорости, выполненный с возможностью восстановить LLR значение бита на выколотой/укороченной позиции для получения LLR последовательности, полученный после де-согласования скорости, где LLR последовательность, полученная после де-согласования скорости, включает в себя g группы равной длины, количество LLRs в каждой группе равно N/g, N является длиной материнского кода полярного кода, N является целочисленной степенью 2, g представляет собой целое число больше или равно 4 и меньше, чем N, и g является целочисленной степенью 2.
В соответствии с шестым аспектом предусмотрено устройство для де-согласования скорости, включающее в себя:
память, выполненную с возможностью сохранять программу; и
процессор, выполненный с возможностью выполнять программу, хранящуюся в памяти, где, когда программа выполняется, процессор выполнен с возможностью выполнять способ де-согласования скорости в четвертом аспекте и всех возможных реализаций способа де-согласования скорости.
Со ссылкой на любой первый по шестой аспект, в возможной реализации определение, на основе групп, позиции бита, который должны быть выколот/укорочен в кодированной последовательности бит, включает в себя: определение, на основе групп и шаблона выкалывания/укорочения, позиции бита, который должен быть выколот/укорочен в кодированной последовательности бит, где шаблон выкалывания/укорочения определяет порядок приоритета выкалывания/укорочения g групп.
В возможной реализации между шаблоном выкалывания и шаблоном укорочения используют обратную взаимосвязь.
В другом возможном варианте выполнения шаблон выкалывания/укорочения включает в себя: последовательное определение, на основании порядка приоритета выкалывания/укорочения всех групп, позиций битов, которые должны быть выколоты/укорочены во всех группах.
В другом возможной реализации шаблон выкалывания/укорочения включает в себя: последовательное определение, основываясь на порядке приоритета групп, бит в группах с различными приоритетами, как позиции бит, которые должны быть выколоты/укорочены, и последовательное определение, в альтернативный порядке, бит в различных группах с одинаковым приоритетом, как позиции битов, которые должны быть выколоты/укорочены.
В другой возможной реализации шаблон выкалывания/укорочения указан последовательностью S, элементы в последовательности S включают в себя номера групп g групп, которые сортируют на основании порядка приоритета выкалывания/укорочения g групп, и позиции первых g/2 групп в последовательности S симметричны позициям последних g/2 групп в последовательности S.
В другой возможной реализации шаблон выкалывания/укорочения указан последовательностью S, элементы в последовательности S включают в себя номера групп из g групп, которые сортируют на основании порядка приоритета выкалывания/укорочения g групп, где
последовательность S представляет собой последовательность на основании естественного порядка, порядка инвертирования бит, порядка надежности или порядка кодового веса полярных каналов, когда длина материнского кода равна g.
В другой возможной реализации шаблон выкалывания/укорочения указан последовательностью S, шаблон выкалывания включает в себя: последовательное выкалывание групп в первом порядке, на основании последовательности S; и шаблон укорочения включает в себя: последовательное укорочение групп в втором порядке, на основании последовательности S, где первый порядок образован от переднего к последнему или от последнего к переднему, и первый порядок и второй порядок являются взаимно обратными.
В другой возможной реализации шаблон выкалывания/укорочения указан последовательностью S, элементы в последовательности S включают в себя номера групп из g групп, отсортированные на основе порядка приоритета выкалывания/укорочения g групп.
Если g = 4, S = [0, 1, 2, 3]; или
если g = 8, S = [0, 1, 2, 4, 3, 5, 6, 7]; или
если g = 16, S = [0, 1, 2, 4, 8, 3, 5, 9, 6, 10, 12, 7, 11, 13, 14, 15]; или
если g = 32,
S = [0, 1, 2, 3, 4, 8, 16, 5, 6, 7, 9, 17, 10, 18, 11, 19, 12, 20, 13, 21, 14, 22, 24, 25, 26, 15, 23, 27, 28, 29, 30, 31]; или
если g = 32,
S = [0, 1, 2, 3, 4, 8, 16, 5, 6, 7, 9, 17, 10, 18, 12, 20, 11, 19, 13, 21,14, 22, 24, 25, 26, 15, 23, 27, 28, 29, 30, 31]; или
если g = 64,
S = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 16, 32, 17, 33, 12, 18, 34, 20, 36, 11, 13, 14, 15, 19, 35, 21, 37, 22, 38, 23, 39, 24, 40, 25, 41, 26, 42, 28, 44, 48, 49, 50, 52, 27, 43, 29, 45, 51, 30, 46, 31, 47, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63].
Позиция бита, который должен быть выколот, определяют в порядке возрастания естественного порядка элементов последовательности S. Шаблон укорочения включает в себя: определение, в порядке убывания естественного порядка элементов последовательности S, позиции бита, который должен быть укорочен.
В другой возможной реализации,
Если g = 4, шаблон выкалывания представляет собой: сначала выкалывают нулевую группу и затем поочередно выкалывают первую группу и вторую группу; и шаблон укорочения представляет собой следующее: сначала укорачивают третью группу и затем поочередно укорачивают вторую группу и первую группу; или
если g = 8, то шаблон выкалывания выглядит следующим образом: сначала последовательно выкалывают нулевую группу и первую группу, поочередно выкалывают вторую группу и четвертую группу и затем поочередно выкалывают шестую группу и седьмую группу; и шаблон укорочения заключается в следующем: сначала укорачивают седьмую группу и шестую группу и затем поочередно укорачивают пятую группу и третью группу; или
если g = 16, то шаблон выкалывания выглядит следующий образом: сначала последовательно выкалывают с нулевой по вторую группы, поочередно выкалывают четвертую группу и восьмую группу, выкалывают третью группу и затем поочередно выкалывают пятую группу и девятую группу; и шаблон укорочения заключается в следующем: во-первых, последовательно укорачивают 15-ю группу, 14-ю группу и 13-ю группу, попеременно укорачивают 11-ю группу и седьмую группу, укорачивают 12-ю группу и затем поочередно укорачивают 10-ю группу и шестую группу; или
если g = 32, то шаблон выкалывания выглядит следующим образом: сначала последовательно выкалывают с нулевого по четвертую группы, поочередно выкалывают восьмую группу и 16-ю группу, последовательно выкалывают пятую группу, шестую группу и седьмую группу, поочередно выкалывают девятую группу и 17-ю группу, поочередно выкалывают 10-ю группу и 18-ю группу, и затем поочередно выкалывают 11-ю группу и 19-й группу; и, соответственно, шаблон укорочения заключается в следующем: во-первых, последовательно укорачивают 31-ю группу, 30-ю группу, 29-ю группу, 28-ю группу и 27-ю группу, поочередно укорачивают 23-ю группу и 15-ю группу, последовательно укорачивают 26-ю группу, 25-ю группу и 24-ю группу, поочередно укорачивают 22-ю группу и 14-ю группу, поочередно укорачивают 21-ю группу и 13-ю группу и затем поочередно укорачивают 20-ю группу и 12-ю группу; или
если g = 32, то шаблон выкалывания выглядит следующим образом: сначала последовательно выкалывают с нулевой по четвертою группы, поочередно выкалывают восьмую группу и 16-ю группу, последовательно выкалывают пятую группу, шестую группу и седьмую группу, поочередно выкалывают девятую группу и 17-ю группу, поочередно выкалывают 10-ю группу и 18-ю группу, и затем поочередно выкалывают 12-ю группу и 20-ю группу; и, соответственно, шаблон укорочения заключается в следующем: во-первых, последовательно укорачивают 31-ю группу, 30-ю группу, 29-ю группу, 28-ю группу и 27-ю группу, поочередно укорачивают 23-ю группу и 15-ю группу, последовательно укорачивают 26-ю группу, 25-ю группу и 24-ю группу, поочередно укорачивают 22-ю группу и 14-ю группу, поочередно укорачивают 21-ю группу и 13-ю группу и затем поочередно укорачивают 19-ю группу и 11-ю группу; или
если g = 64, то шаблон выкалывания выглядит следующим образом: сначала последовательно выкалывают с нулевой по 10-ю группу, поочередно выкалывают 16-ю группу и 32-ю группу, поочередно выкалывают 17-ю группу и 33--ю группу, выкалывают 12-ю группу, поочередно выкалывают 12-ю группу и 34-ю группу, поочередно выкалывают 20-ю группу и 36-ю группу, последовательно выкалывают 11-ю группу, 13-ю группу, 14-ю группу и 15-ю группу, поочередно выкалывают 19-ю группу и 35-ю группу, поочередно выкалывают 21-ю группу и 37-ю группу, поочередно выкалывают 22-ю группу и 38-ю группу и затем поочередно выкалывают 23-ю группу и 39-ю группу; и шаблон укорочения заключается в следующем: во-первых, последовательно укорачивают 63-ю группу, 62-ю группу, 61-ю группу, 60-ю группу, 59-ю группу, 58-ю группу, 57-ю группу, 56-ю группу, 55-ю группу, 54-ю группу и 53-ю группу, поочередно укорачивают 47-ю группу и 31-ю группу, поочередно укорачивают 46-ю группу и 30-ю группу, укорачивают 51-ю группу, поочередно укорачивают 45-ю группу и 29-ю группу, поочередно укорачивают 43-ю группу и 27-ю группу, последовательно укорачивают 52-ю группу, 50-ю группу, 49-группу, 48-ю группу, поочередно укорачивают 44-ю группу и 28-ю группу, попеременно укорачивают 42-ю группу и 26-ю группу, поочередно укорачивают 41-ю группу и 25-ю группу, и затем поочередно укорачивают 40-ю группу и 24-ю группу.
В другой возможной реализации шаблон выкалывания/укорочения указан последовательностью S, элементы в последовательности S включают в себя номера групп из g групп, отсортированные на основании порядка приоритета выкалывания/укорочения g групп.
Если g = 4, S = [0, (1, 2), 3]; или
если g = 8, S = [0, 1, (2, 4), (3, 5), 6, 7]; или
если g = 16, S = [0, 1, 2, (4, 8), 3, (5, 9), (6, 10), 12, (7, 11), 13, 14, 15]; или
если g = 32,
S = [0, 1, 2, 3, 4, (8, 16), 5, 6, 7, (9, 17), (10, 18), (11, 19), (12, 20), (13, 21), (14, 22), 24, 25, 26, (15, 23), 27, 28, 29, 30, 31]; или
если g = 32,
S = [0, 1, 2, 3, 4, (8, 16), 5, 6, 7, (9, 17), (10, 18), (12, 20), (11, 19), (13, 21), (14, 22), 24, 25, 26, (15, 23), 27, 28, 29, 30, 31]; или
если g = 64,
S = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, (16, 32), (17, 33), 12, (18, 34), (20, 36), 11, 13, 14, 15, (19, 35), (21, 37), (22, 38), (23, 39), (24, 40), (25, 41), (26, 42), (28, 44), 48, 49, 50, 52, (27, 43), (29, 45), 51, (30, 46), (31, 47), 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63].
В данном случае () используют для указания двух групп с одинаковым приоритетом, и кодированные биты в этих двух группах поочередно выколоты/укорочены.
Со ссылкой на любой из первого по шестой аспект в возможной реализации g равно 4, 8, 16, 32, 64, 128, 256, 512 или 1024.
Со ссылкой на любой из первого по шестой аспект в возможной реализации g количество групп определяется длиной материнского кода.
В возможной реализации, N/g является фиксированным значением; или, когда N меньше или равно заданному значению N0, g = g1; или, когда N больше, чем N0, g = g2, где g1 и g2 являются различными значениями, и g1 и g2 каждой из них равно одному из 4, 8, 16, 32, 64, 128, 256, 512 или 1024.
Со ссылкой на любой из первого по шестой аспект в возможной реализации, порядок межгруппового выкалывания или укорачивая кодированных бит является естественным порядком, инвертированием порядка бит, порядок надежности или порядок кодового веса.
Со ссылкой на любой из первого по шестой аспект в возможной реализации согласование скорости осуществляется с использованием блочного перемежителя: последовательно размещая N кодированные биты в блочный перемежитель по столбцам, где каждый столбец соответствует одной группе; перестанавливая столбцы блочного перемежителя на основании определенного порядка приоритета межгруппового выкалывания или укорочения, и перестанавливая строки блочного перемежителя на основании порядка внутригруппового выкалывания или укорочения; и, если определено использовать способ согласования скорости выкалыванием, последовательное считывание М кодированных битов из первой начальной точки блочного перемежетиля; или последовательное считывание кодированных бит одновременно с первой точкой и второй начальной точкой блочного перемежителя до получения M бит после комбинации; или, если определенно использовать способ согласования скорости укорочением, последовательное считывание М кодированных биты из третьей начальной точки блочного перемежителя; или последовательное считывание кодированные бит одновременно считывать из третьей начальной точки и четвертой начальной точки блочного перемежителя до получения M бит после комбинации, где N представляет собой длину материнского кода полярного кода, М представляет собой целевую длину кода, первая начальная точка соответствует биту на позиции, отличном от выколотой позиции, и вторая начальная точка соответствует биту на позиции, отличном от укороченной позиции.
В возможной реализации первая начальная точка находится в правом нижнем углу блочного перемежителя, вторая начальная точка является конечной точкой, отличной от первой точки на обоих концах бит, подлежащих передаче, третья начальная точка находится в верхнем левом углу блочного перемежителя и четвертая начальная точка является конечной точкой, отличной от третьей точки на двух концах битов, подлежащих передаче.
В возможной реализации, если определено использовать способ согласования скорости выкалыванием, М кодированные биты последовательно считываются из первой начальной точки блочного перемежителя.
Со ссылкой на любой из первый по шестой аспект в возможной реализации, если фактическая скорость кода больше, чем заданное пороговое значение, то определяют использовать способ согласования скорости укорочением; или, если фактическая скорость кода меньше или равна заданному пороговому значению, то определяют использовать способ согласования скорости выкалыванием, когда фактическая скорость кода равна K/M, K представляет собой количество информационных бит, и М представляет собой целевую длину кода.
В возможной реализации диапазон значений заданного порогового значения находится в пределах интервала [2/5, 1/2].
В возможной реализации заданное пороговое значение равно 2/5, 4/9 или 1/2.
В соответствии с седьмым аспектом предоставлено устройство связи, включающее в себя шину, процессор, носитель данных, интерфейс шины, сетевой адаптер, пользовательский интерфейс и антенну.
Шина выполнена с возможностью подключать процессор, носитель данных, интерфейс шины и пользовательский интерфейс.
Процессор выполнен с возможностью выполнять способ согласования скорости в соответствии с первым аспектом или любой реализацией первого аспекта, или выполнен с возможностью выполнять способ де-согласования скорости в четвертом аспекте или любой реализацией четвертого аспекта.
Носитель выполнен с возможностью хранить операционную систему и данные, подлежащие отправке, или принятые данные.
Интерфейс шины подключен к сетевому адаптеру.
Сетевой адаптер выполнен с возможностью реализации функции обработки сигналов физического уровня в сети беспроводной связи.
Пользовательский интерфейс выполнен с возможностью подключения к устройству пользовательского ввода.
Антенна выполнена с возможностью передавать и принимать сигнал.
Другой аспект настоящего изобретения обеспечивает машиночитаемый носитель данных. Машиночитаемый носитель данных хранит инструкцию. Когда инструкция выполняется на компьютере, компьютер выполняет способ по любому одному из указанных выше аспектов или реализаций.
Другой аспект настоящего изобретения предоставляет компьютерный программный продукт, включающий в себя инструкцию. Когда инструкция выполняется на компьютере, компьютер выполняет способ по любому одному из указанных выше аспектов или реализаций.
Другой аспект настоящего изобретения обеспечивает компьютерную программу. Когда компьютерная программа выполняется на компьютере, компьютер выполняет способ по любому одному из указанных выше аспектов или реализаций.
В вариантах осуществления настоящего изобретения, закодированные биты разделяют на g группы и, легко реализовать способ согласования скорости на основании групп выкалывания/укорочения, тем самым, повышая производительность полярного кода.
Краткое описание чертежей
Фиг. 1 представляет собой схему базовой процедуры беспроводной связи;
фиг. 2 показывает схему сценария использования в соответствии с одним из вариантов осуществления настоящего изобретения;
фиг. 3 представляет собой конструкцию Arikan полярного кода;
фиг. 4 представляет собой блок-схему последовательности операций способа согласования скорости полярного кода в соответствии с вариантом осуществления настоящего изобретения;
фиг. 5 представляет собой схему разделения кодированных битов полярного кода на четыре группы для выкалывания в соответствии с вариантом осуществления настоящего изобретения;
фиг. 6 представляет собой схему разделения кодированных битов полярного кода на 32 группы для последовательного выкалывания в соответствии с вариантом осуществления настоящего изобретения;
фиг. 7 представляет собой схему реализации последовательного выкалывания/укорочения с использованием блочного перемежителя согласно варианту осуществления настоящего изобретения;
фиг. 8 представляет собой схему считывания кодированных битов в блочном перемежителе по столбцам в соответствии с вариантом осуществления настоящего изобретения;
фиг. 9 представляет собой схему считывания кодированных битов в блочном перемежителе по строкам в соответствии с вариантом осуществления настоящего изобретения;
фиг. 10 представляет собой схему шаблона выкалывания/укорочения 32 групп в соответствии с вариантом осуществления настоящего изобретения;
фиг. 11 представляет собой схему реализации последовательного и альтернативного выкалывания/укорочения, используя перемежитель согласно варианту осуществления настоящего изобретения;
фиг. 12 показывает сравнение между производительностью, полученной с использованием последовательной и альтернативной схемой согласования скорости, когда g=32, и производительностью, полученный с использованием последовательной и альтернативной схемой согласования скорости, когда g=4 в соответствии с вариантом осуществления настоящего изобретения;
фиг. 13 показывает схему устройства 1300 для согласования скорости в соответствии с вариантом осуществления настоящего изобретения;
фиг. 14 показывает схему другого устройства 1400 для согласования скорости согласно настоящему изобретению;
фиг. 15 представляет собой блок-схему последовательности операций способа де-согласования скорости полярного кода в соответствии с вариантом осуществления данного приложения;
фиг. 16 показывает структурную схему устройства для де-согласования скорости в соответствии с вариантом осуществления настоящего изобретения;
фиг. 17 показывает схему другого устройства для де-согласования скорости в соответствии с вариантом осуществления настоящего изобретения; и
фиг. 18 показывает схему устройства связи в соответствии с вариантом осуществления настоящего изобретения.
Описание вариантов осуществления
Далее дополнительно приведено подробное описание конкретных вариантов осуществления настоящего изобретения со ссылкой на сопровождающие чертежи.
На фиг. 1 показана базовая процедура беспроводной связи. На стороне передачи сигнал источника передают после выполнения кодирования источника, канального кодирования, согласования скорости и отображения модуляции. На стороне приема получают сигнал адресата после выполнения обратного отображения демодуляции, де-согласования скорости, канального декодирования и декодирования сигнала источника. Для канального кодирования и декодирования может быть использован полярный код. Поскольку длина кода оригинального полярного кода (mother code) является целочисленной степенью 2, то в реальной реализации полярный код с любой длиной кода должен быть реализован посредством согласования скорости. Сторона передачи выполняет согласование скорости после канального кодирования для реализации любой целевой длины кода, и сторона приема выполняет де-согласование скорости перед декодированием канала.
Варианты осуществления настоящего изобретения могут быть применены к системе беспроводной связи. Система беспроводной связи обычно включает в себя соту. Каждая сота включает в себя базовую станцию (base station, BS), и базовая станция предоставляет услугу связи для множества мобильных станций (mobile station, MS). Как показано на фиг. 2, базовая станция подключена к основному сетевому устройству. Базовая станция включает в себя блок основной полосы частот (baseband unit, BBU) и удаленный блок радиосвязи (remote radio unit, RRU). BBU и RRU могут быть размещены в разных местах. Например, RRU является удаленным и размещен в области плотного трафика, и BBU установлен в центральной аппаратной. BBU и RRU могут быть альтернативно установлены в одной аппаратной. BBU и RRU могут альтернативно быть различными компонентами одной стойки.
Следует отметить, что упомянутая система беспроводной связи в вариантах осуществления настоящего изобретения, включает в себя, но не ограничиваясь ими: систему узкополосного интернет вещей (Narrowband Internet of Things, NB-IoT), глобальную систему мобильной связи (Global System for Mobile Communications, GSM), перспективную систему для развития стандарта GSM (Enhanced Data rates for GSM Evolution, EDGE), систему широкополосного множественного доступа с кодовым разделением (Wideband Code Division Multiple Access, WCDMA), систему множественного доступа с кодовым разделением каналов 2000 (Code Division Multiple Access 2000, CDMA 2000), систему множественного доступа с синхронным кодовым разделением и временным разделением каналов (Time Division-Synchronous Code Division Multiple Access, TD-SCDMA), систему «Долгосрочное развитие» (Long Term Evolution, LTE) и три основных сценария применения eMBB, URLLC и ЕМТС системы мобильной связи 5G следующего поколения.
rd
В вариантах осуществления настоящего изобретения, базовая станция представляет собой устройство, которое развернуто в сети радиодоступа, и которое обеспечивает беспроводную связь для MS. Базовая станция может включать в себя макро базовую станцию, микро базовую станцию (также упоминается как малая сота), ретрансляционную станцию, точку доступа или тому подобное в различных формах. В системах, в которых используют различные технологии радиодоступа, устройство, имеющее функцию базовой станции, может иметь различные названия. Например, устройство упоминается как усовершенствованный NodeB (evolved NodeB, eNB или eNodeB) в LTE системе или упоминается как NodeB (NodeB) в системах 3-го поколения (3 Generation, 3G) или т.п. Для простоты описания, во всех вариантах осуществления настоящего изобретения, устройство, которое обеспечивает функции беспроводной связи для MS, коллективно называют сетевым устройством, базовой станцией или BS.
MS, относящаяся к вариантам осуществления настоящего изобретения, может включать в себя портативное устройство, устройство в транспортном средстве, носимое устройство или вычислительное устройство, которое имеет функцию беспроводной связи, или другое устройство обработки, соединенное с беспроводным модемом. МS может быть альтернативно упоминаться как оконечное устройство (terminal). MS может быть в качестве альтернативы, абонентским блоком (subscriber unit), сотовым телефоном (cellular phone), смартфоном (smartphone), беспроводной картой данных, персональным цифровым помощником (personal digital assistant, PDA), компьютером, планшетным компьютером, беспроводным модемом (modem), портативным устройством (handset), портативным компьютером (laptop computer, LC), оконечным устройством связи машинного типа (machine type communication, MTC) или тому подобное. Для простоты описания, устройство, упомянутое выше, совместно обозначают как MS во всех вариантах осуществления настоящего изобретения.
Устройство для согласования скорости в вариантах осуществления настоящего изобретения может быть BS или MS, как уже упоминалось выше, или устройство может быть расположено в BS или MS, или устройство может быть расположено в другом устройстве беспроводной связи.
Квазиравномерное выкалывание (quasi-uniform puncturing, QUP) является одним из способов кодирования и согласование скорости для реализации полярного кода с любой длиной кода. Во-первых, определяют длину материнского кода, чтобы быть больше или равной целочисленной степени 2 целевой длины кода. Затем определяют шаблон выкалывания (позиция, подлежащая выкалыванию) на основании материнской длины кода и целевой длины кода. Шаблон выкалывания может быть представлен с использованием двоичной последовательности. Установлено, что «0» указывает позицию, подлежащую выкалыванию, и «1» указывает на не выкалываемую позицию. Емкость канала, соответствующая позиции, подлежащей выкалыванию, устанавливают на 0 (или вероятность ошибки устанавливается на 1, или отношение SNR сигнал-шум установлено быть бесконечно малым). Вычисляют и сортируют величину надежности полярного канала с использованием способа эволюции плотности, способа гауссовой аппроксимации или способа линейной подгонки. Определяют позицию информационного бита (включающий в себя бит проверки и служебный бит) и позицию замороженного бита. Сторона кодирования удаляет бит, расположенный на позиции, подлежащей выкалыванию, после кодирования, чтобы получить полярный код.
N
Другой способ согласования скорости и кодирования полярного кода представляет собой укорочение (Shorten) полярного кода. Кодированный бит на позиции, подлежащей укорочению (Shorten), относятся только к замороженному биту. Прежде всего, на основании материнского кода вычисляют надежность полярного канала. Затем определяют позицию, подлежащую укорочению. Замороженный бит размещают на соответствующем полярном канале, и определяют позицию информационного бита (включающий в себя бит проверки и служебный бит) и позицию замороженного бита на оставшемся полярном канале на основании надежности. Удаляют бит, расположенный на позиции, подлежащей укорочению после кодирования, чтобы получить полярный код, тем самым реализуя согласование скорости. В схеме кодирования и согласование скорости, основанной на укорочении, надежность полярного канала не должна быть пересчитана (не требуется восстановление) на основании позиции, подлежащей укорочению, замороженный бит помещают на полярном канал, соответствующий позиции, подлежащей укорочению, тем самым, значительно уменьшая сложность построения полярного кода. Как показано на фиг. 3, кодирующая матрица G является нижней треугольной матрицей, последние N-M кодированные биты (N является длиной материнского кода и М представляет собой целевую длину кода), могут быть удалены, и замороженные биты размещают на последних N-M полярных каналах. В этом случае, бит, подлежащий выкалыванию, относится только к замороженному биту. Это может быть использовано в качестве возможного шаблона укорочения.
Настоящее изобретение обеспечивает способ согласования скорости полярного кода. Способ основан операции выкалывания или укорочения групп. Как показано на фиг. 4, способ согласования скорости включает в себя следующие этапы.
402. Получить кодированную последовательность бит, где кодированная последовательность бит включает в себя g группы равной длиной, количество кодированных бит в каждой группе равно N/g, N является длинной материнского кода полярного кода, N представляет собой целочисленную степень 2, g представляет собой целое число больше или равно 4 и меньше, чем N, и g является целочисленной степенью 2.
Если g = 4, закодированные биты полярного кода последовательно разделены на четыре группы одинаковой длины, и количество кодированных битов в каждой группе равно N/4. Например, если длина материнского кода N равна 64, и кодированные биты разделены на четыре группы, то количество кодированных бит в каждой группе равно 16; или, если длина материнского кода N равна 256, и кодированные биты разделены на четыре группы, то количество битов, кодированных в каждой группе равно 64. Это можно узнать, что большее значение N указывает на большее количество кодированных битов в каждой группе. Гранулярность группы является относительно большой, когда кодированные биты разделены на четыре группы. Таким образом, для дополнительного повышения производительности, может быть использован способ группирования с относительно небольшой гранулярностью. Например, g равно 8, 16, 32, 64, 128, 256, 512, 1024 или тому подобное, и g является целочисленной степенью 2. Конечно, g должно быть меньше, чем N, так что группировка имеет смысл.
Количество групп может быть фиксированным, например, 32. Таким образом, согласование скорости для любой длины кода может быть реализовано с использованием фиксированного блочного перемежителя, конкретно, определяется с помощью последовательности S, длина которой равна 32. В другом варианте осуществления, обеспечивается то, что количество битов в каждой группе является фиксированным, например, 16. Тем не менее, некоторое количество групп увеличивается при увеличении длины кода. Другими словами, количество групп равно N/16. Количество групп может также варьироваться в зависимости от длины кода. Например, большая длина материнского код указывает на большее количество групп. Таким образом, меньшая гранулярность предназначена для согласования скорости и более гибкая конструкция может свидетельствовать о более высокой производительности. Например, может быть установлено пороговое значение N0. Если N меньше или равно заданному значению N0, g = g1; и когда N больше, чем N0, g = g2, где g1 и g2 являются различные значения, а g1 и g2 каждое из них равно одному из 4, 8, 16, 32, 64, 128, 256, 512 или 1024. Например, N0 = 256, g1 = 8, и g2 = 32. Взаимосвязь между N и g может также быть предварительно сохранена в таблице, и количество групп, полученные посредством деления, определяется путем поиска в таблице.
403. Определить, на основании групп, позицию бита, который должен быть выколот/укорочен в кодированной последовательности бит.
В частности, позиция бита, который должен быть выколот/укорочен в кодированном последовательности битов, может быть определена на основании групп и шаблона выкалывания/укорочения. Шаблон выкалывания/укорочения определяет порядок приоритета выкалывания/укорочения g групп. Обратное соотношение может быть между шаблоном выкалывания и шаблоном укорочения. Позиции битов, которые должны быть выколоты/укорочены во всех группах, могут быть последовательно определены на основании приоритета порядка выкалывания/укорочения всех групп. Этот шаблон кратко упоминается как способ последовательного выкалывания/укорочения. Может быть альтернативно использован способ последовательного и поочередного выкалывания/укорочения. Более конкретно, позиции битов, которые должны быть выколоты/укорочены в первом количестве групп, определяют способом последовательного выкалывания/укорочения на основании порядка приоритета, и способ поочередного выкалывания/укорочения используют для кодированных битов в группах с одним и тем же приоритетом во втором количестве групп. Другими словами, последовательно определяют биты в группах с различными приоритетами, основываясь на порядке приоритета групп, как позиции битов, которые должны быть выколоты/укорочены, и с использованием способа поочередного определения бит в различных группах с одинаковым приоритетом, как позиции бит, которые должны быть выколоты/укорочены.
404. Получают кодированную последовательность бит в кодированной последовательности бит, за исключением бита, который должен быть выколот/укорочен, чтобы получить кодированную битовую последовательность, полученную после согласования скорости. Другими словами, кодированный бит на позиции, указанной шаблоном выкалывания/укорочения, может быть удален, и остальная закодированная последовательность битов представляет собой кодированную последовательность битов, полученную после согласования скорости.
Возможно, способ согласования скорости может дополнительно включать в себя процесс полярного кодирования:
размещение замороженного бита на полярном канале, соответствующем позиции бита, который должен быть выколот/укорочен; в остальных полярных каналах выбирают полярный канал с высокой степенью надежности, размещение информационного бита (включающий в себя бит проверки и служебный бит) на полярном канале с высокой степенью надежности, а также размещение замороженного бита на других полярных каналах; и сопоставление бита, подлежащего кодированию, с информационным битом для кодирования канала, чтобы получить закодированную последовательность битов.
Возможно, способ согласования скорости может дополнительно включать в себя следующий этап:
401. Определить использовать способ согласование скорости выкалыванием/укорочением.
Полярные коды с разными длинами кода соответствуют различным QUP шаблонам выкалывания. Надежность полярного канала должна быть повторно вычислена (должен быть повторно построен) на основании параметра кодирования, например, скорость кода, и сложность является относительно высокой. Для шаблона укорочения надежность более позднего полярного канала в полярной коде является относительно высокой, и размещение замороженных бит на полярном канале может привести к нестабильности производительности. В частности, когда скорость кодирования является низкой, это может привести к чрезвычайно большой потере производительности.
В частности, способ выкалывания/укорочения может быть определен на основе фактической скорости передачи кода. Значение фактической кодовой скорости, сравнивается с заданным пороговым значением, чтобы определить, выполнить согласование скорости выкалыванием или укорачиванием. Если фактическая скорость кода R = K / M> R0, то выполняют способ согласования скорости укорачиванием. Кодированный бит на позиции, подлежащей укорачиванию (удалению), и замороженный бит помещают на полярном канале, чей номер последовательности равен позиции, подлежащей укорачиванию. Во время декодирования устанавливают логарифмическое отношение правдоподобия LLR укороченной позиции, равной бесконечно большому значению. Если фактическая скорость кода R≤R0, то выполняют процесс согласования скорости выкалыванием. Кодированный бит на позиции, подлежащей выкалыванию, выкалывают (удаляют) и замороженный бит помещается на полярном канал, номер последовательности которого равно позиции, подлежащей выкалыванию. Во время декодирования, LLR укороченной позиции устанавливается равного 0. Значения заданного порогового значения R0 может быть в пределах от 2/5 до 1/2, например, значения R0 является 2/5, 4/9, 1/2 или т.п.
Шаблон выкалывания или шаблон укорочения в этом варианте осуществления настоящего изобретения указывает порядок, который используют для определения группы, которая сначала выколота или укорочена и группа, которая выколота или укорочена позже, во время выкалывания или укорочения. Порядок приоритета, указанный в шаблоне выкалывания или шаблоне укорочения, может быть использован для определения позиции кодового бита, подлежащей выкалыванию или укорочению. Может быть обратная взаимосвязь между проектируемым шаблоном выкалывания и укорочения. Для кодирования битов выполняют выкалывание с начало к концу, и укорочение осуществляется с конца к началу.
Шаблон выкалывания или шаблон укорочения может быть указан с использованием последовательности S, и число групп g групп сортируются на основании порядка приоритета выкалывания или укорочения g групп. Элементы последовательности S включают в себя число групп g групп, отсортированные на основании порядка приоритета выкалывания или укорочения g групп. Указание последовательности S может представлять собой последовательность надежности, последовательность естественного порядка, код последовательность порядка кодового веса полярного кода или другой последовательности с отличной производительностью. Шаблон выкалывания включает в себя: последовательное выкалыванием групп в первом порядке на основании последовательности S. Шаблон укорочения включает в себя: последовательное укорочение групп во втором порядке на основании последовательности S. Первый порядок представляет собой порядок от начала к концу или от конца к началу, и первый порядок и второй порядок являются взаимно обратными.
Например, g = 32, и последовательность, которую получают после полярных каналов полярного кода, чьи длины материнского кода равны 32, сортируют на основании надежности, может быть использована в качестве указания последовательности. В качестве примера, последовательность, которую получают после вычисления надежности на основании веса поляризации, сортируется в порядке возрастания, выглядит следующим образом:
S = [0, 1, 2, 4, 8, 16, 3, 5, 6, 9, 10, 17, 12, 18, 20, 24, 7, 11, 13, 19, 14, 21, 22, 25, 26, 28, 15, 23, 27, 29, 30, 31].
В другом примере последовательность, которую получают после надежности, вычисленную на основании способа гауссовой аппроксимации (Gaussian approximation, GA)/эволюции плотности (density evolution, DE), сортируют в порядке возрастания, выглядит следующим образом:
S = [0, 1, 2, 4, 8, 16, 3, 5, 6, 9, 10, 17, 12, 18, 20, 7, 24, 11, 13, 19, 14, 21, 22, 25, 26, 28, 15, 23, 27, 29, 30, 31].
В еще одном примера, количество 1s в строке кодирующей матрицы полярного кода является кодовым весом строки. Выполняют сортировку в порядке возрастания на основе кодового веса. Меньший порядковый номер в последовательности чисел с одинаковым кодовым весом находится в начале. Таким образом, получают последовательность сортировки кодовых весов. Последовательность сортировки кодовых весов в порядке возрастания представляет собой следующее:
S = [0, 1, 2, 4, 8, 16, 3, 5, 6, 9, 10, 12, 17, 18, 20, 24, 7, 11, 13, 14, 19, 21, 22, 25, 26, 28, 15, 23, 27, 29, 30, 31].
Для указания последовательности, когда используют другое значение g, может быть получена соответствующая последовательность надежности, последовательность естественного порядка, последовательность порядка кодового веса полярного кода со ссылкой на способ, используемый при g = 32. Выкалывание выполняют с начала к концу, основанному на указании последовательности S. Более конкретно, выкалывание выполняют с группы, указанной первым элементом последовательности, и дополнительно выполняется на группе, указанной вторым элементом, если количество выколотых бит меньше, чем количество битов, которые должны быть выколоты. Последовательное выкалывание выполняют до тех пор, количество битов, которые должны быть выколоты, являются выколотыми. Укорочение осуществляется с конца к началу. Более конкретно, укорочение выполняют с группы, указанной последним элементом последовательности S, и дополнительно выполняется с группы, указанной предпоследним элементом, если количество укороченных бит меньше, чем количество бит, которые должны быть укороченными. Последовательное укорачивание выполняется до тех пор, пока количество битов, которые должны быть укорочены, являются укороченными. В процессе выкалывания или укорочения, если количество оставшихся битов, которые должны быть выколоты или укорочены, меньше, чем общее количество битов в одной группе, для описания порядка внутригруппового выкалывания или укорочения может быть сделана ссылка на порядок межгруппового выкалывания/укорочения. Другими словами, порядок внутригруппового выкалывания или укорачивания может представлять собой последовательность надежности, последовательность естественного порядка, последовательность порядка кодового веса полярного кода или другую последовательность с отличной производительностью. Предполагают, что длина материнского кода равна N=256 и g = 32. Количество бит в каждой группе равно 256/32 = 8. 8 бит в каждой группе может быть отсортированы на основе последовательности надежности, используемой при N = 8, в естественном порядке или на основании используемого порядка кодового веса, когда N = 8. Описание порядка выкалывания или укорочения может быть сделана ссылка на описанный ранее порядок межгруппового выкалывания или укорачивания.
Возможно использовать два режима выкалывания или укорочения, основанные на группе. Одним из способов является естественный порядок выкалывания/укорочения. Позиции бит, которые должны быть выколоты/укорочены во всех группах, полученных путем деления, последовательно определяют на основании порядка приоритета выкалывания/укорочения всех групп и который определяется на основании шаблона выкалывания/укорочения. Другой способ представляет собой естественный порядок и поочередное выкалывание/укорочение. Шаблон выкалывания/укорочения включает в себя: последовательное определение, основываясь на порядке приоритета группы, бит в первом количестве групп, как позиции бит, которые должны быть выколоты/укорочены и последовательное определение поочередным образом бит в различных группах с один и тем же приоритетом во втором количестве групп, как позиции битов, которые должны быть выколоты/укорочены. Ниже описаны два способа со ссылкой на процесс кодирования и согласования скорости.
(1) Схема кодирования последовательного выкалывания/укорачивания и согласования скорости.
Кодированные биты полярного кода последовательно разделены на несколько групп одинаковой длины. Выполняют выкалывание/укорочение в блоке группы (на основе групп) на основе шаблона выкалывания/укорочения, указанного конкретной последовательностью S. Длина S является такой же, как количество групп S. Все биты в группе, указанной элементом, выколоты/укорочены на основании порядка элемента S. Если количество оставшихся бит, которые должны быть выколоты/укорочены, превышает количество бит в одной группы, все биты в группе, указанной следующим элементом, выколоты/укорочены; или, если количество оставшихся битов, которые должны быть выколоты/укорочены меньше, чем количество битов в одной группе, то биты в группе выколоты/укорочены на основании другого конкретного порядка. Определенная позиция, подлежащая выкалыванию/укорачиванию, указывает, что определен шаблон выкалывания/укорачивания. Замороженный бит помещают на полярном канале, соответствующий порядковому номеру бита, подлежащего выкалыванию/укорачиванию. В остальных полярных каналах выбирают полярный канал с высокой степенью надежности, информационный бит (включающий в себя бит проверки и служебный бит) помещают на полярном канале с высокой надежностью, и замороженные биты размещают на других полярных каналах. Бит, подлежащий кодированию, сопоставляют с информационным битом для кодирования канала, и кодированный бит на позиции, указанной шаблоном выкалывания/укорочения, будет удален, чтобы получить кодированный бит, полученный после согласования скорости. Следует ли выбрать способ согласования скорости выкалыванием или способ согласования скорости укорочением, может быть определено на основании скорости кода. Более конкретно, способ согласования скорости укорочением выбирают, когда скорость кода превышает заданную пороговую величину; или способ согласования скорости выкалыванием выбирают, когда скорость кода не превышает заданное пороговое значение.
(2) Схема кодирования и согласование скорости, в которой объединены естественный порядок выкалывания или укорочения и поочередное выкалывание или укорочение.
В этой схеме, в группах, указанных всеми элементами указания последовательности, последовательно выполняют выкалывание и укорочение в естественном порядке на несколько группах, и выполняют межгрупповое поочередное выкалывание или укорочение на некоторых межгрупповых кодированных битах. Более конкретно, шаблон выкалывания устанавливаются следующим образом: выкалывают первое количество групп, основанные на порядке приоритета, и выкалывают группы с одинаковым приоритетом во втором количестве групп в поочередном порядке. Соответственно, шаблон укорачивания устанавливаются следующим образом: укорачивают первое количество групп, основанные на порядке приоритета, и укорачивают группы с одинаковым приоритетом во втором количестве групп в поочередном порядке.
Так, например, g = 4. Как показано на фиг. 5, закодированные биты полярного кода в естественном порядке разделены на четыре группы: B0, B1, B2, B3. Во время выкалывания, первый В0 сегмент последовательно выколот в порядке от начала к концу. Если количество бит, подлежащие выкалыванию, превышает количество кодированных бит в одном сегменте, после того как все кодированные биты в первом сегменте выколоты, два средних сегмента B1 и B2 поочередно выколоты в порядке начало-конец, пока не будет достигнута требуемая длина кодирования. Позиция, подлежащая укорочению, находится напротив позиции, подлежащей выкалыванию. Последний сегмент В3 сначала укорачивают, а затем два средних сегмента поочередно укорачивают в порядке конец-начало. При g = 4, производительность, полученная в некоторой области, в которой используют порядок выкалывания в последовательной и поочередной схеме, может приблизительно быть производительностью, полученной путем реконструкции. Однако, когда количество бит, подлежащие выкалыванию, приблизительно равно 1/4 от материнского кода, то наблюдают очевидную потерю производительности по сравнению с производительностью, полученной путем выкалывания, основываясь на надежности. Если g больше, чем 4, например, 16, 32, 64 или больше, порядок приоритета выкалывания/укорачивание групп относится к последовательному и поочередному принципу, используемому при наличии четырех групп при делении. Например, первые N/4 кодированные биты последовательно выколоты/укорочены, средние N/2 кодированные биты поочередно выколоты/укорочены и последние N/4 биты последовательно выколоты/укорочены. Конечно, количество кодированных бит, которые должны быть выколоты/укорочены обычно не превышает N/2, потому что, если количество превышает N/2, то меньшая длина материнского кода может быть использована во время кодирования. Поэтому, если выполняют выкалывание с начала к концу и укорочение осуществляются в порядке с конца к началу, то первые N/4 закодированные биты только выколоты и не укорочены, то средние N/2 кодированные биты могут быть выколоты/укорочены и последние N/4 закодированные биты только укорачивается. Другими словами, если выполняют выкалывание с начала к концу, и укорочение выполняется с конца в начало, то первые g/4 группы только выколоты и не укорочены, средние g/2 группы могут быть выколоты/укорочены и последние g/4 группы только укорочены.
Для дополнительного повышения производительности может быть изменена гранулярность группы или шаблон выкалывания/укорочения (последовательность S) может быть оптимизирован. Дополнительно, в целях содействия осуществлению и повышению устойчивости работы, может быть использована симметричная последовательность S. Более конкретно, групповые позиции в последовательности S симметричны на основе сортировки результата группы. Другими словами, позиции первых g/2 групп расположены симметрично на позиции последних g/2 групп в последовательности S. Ниже перечислены некоторые симметричные последовательности S, которые могут быть применены к последовательным выкалываниям/укорачиваниям. В последовательности, жирным шрифтом указывают номера групп первых g/2 групп, и не жирным шрифтом указывают номера групп в последних g/2 группах. Жирный шрифт используют только для простоты описания, и не влияет на порядковый номер в последовательности и не является отличительным признаком.
Если g = 4, S = [0, 1, 2, 3].
Если g = 8, S = [0, 1, 2, 4, 3, 5, 6, 7].
Если g = 16, S = [0, 1, 2, 4, 8, 3, 5, 9, 6, 10, 12, 7, 11, 13, 14, 15].
Если g = 32,
S = [0, 1, 2, 3, 4, 8, 16, 5, 6, 7, 9, 17, 10, 18, 11, 19, 12, 20, 13, 21, 14, 22, 24, 25, 26, 15, 23, 27, 28, 29, 30, 31].
Если g = 32, то последовательность S может быть дополнительно скорректирована:
S = [0, 1, 2, 3, 4, 8, 16, 5, 6, 7, 9, 17, 10, 18, 12, 20, 11, 19, 13, 21, 14, 22, 24, 25, 26, 15, 23, 27, 28, 29,30, 31].
Если g = 64,
S = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 16, 32, 17, 33, 12, 18, 34, 20, 36, 11, 13, 14, 15, 19, 35, 21, 37, 22, 38, 23, 39, 24, 40, 25, 41, 26, 42, 28, 44, 48, 49, 50, 52, 27, 43, 29, 45, 51, 30, 46, 31, 47, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63].
Позиция бита, который должен быть выколот, определяется в порядке возрастания естественного порядка элементов последовательности S. Шаблон укорочения включает в себя определение, в порядке убывания естественного порядка элементов последовательности S, позиции бита, который должен быть укорочен.
Если симметричная последовательность S является последовательно и поочередно выколотой/укороченной, то порядок группы не меняется. Тем не менее, в ходе поочередного выкалывания/укорочения, поочередно выколотая/укороченная группа может быть идентифицирована с помощью скобок, чтобы указать, что различные группы, указанные в скобках, имеют одинаковый приоритет, и кодированные биты в различных группах поочередно выколоты/укорочены. Таким образом, симметричная последовательность S может быть представлен следующим образом:
Если g = 4, S = [0, (1, 2), 3]; или шаблон выкалывания/укорачивания представлен следующим образом: для шаблона выкалывания, сначала выкалывают нулевую группу, а затем поочередно выкалывают первую группу и вторую группу; и для шаблона укорочения, сначала укорачивают третью группу, а затем поочередно укорачивают вторую группу и первой группу.
Если g = 8, S = [0, 1, (2, 4), (3, 5), 6, 7]; или шаблон выкалывания/укорачивания выглядит следующим образом: для шаблона выкалывания последовательно выкалывают нулевую группу и первую группу, затем поочередно выкалывают вторую группу и четвертую группу; и шаблон укорочения заключается в следующем: сначала укорачивают седьмую группу и шестую группу и затем поочередно укорачивают пятую группу и третью группу.
Если g = 16,
S = [0, 1, 2, (4, 8), 3, (5, 9), (6, 10), 12, (7, 11), 13, 14, 15]; или шаблон выкалывания/укорачивания представлен следующим образом: для шаблона выкалывания, сначала последовательно выкалывают нулевую по вторую группы, поочередно выкалывают четвертую группу и восьмую группу, выкалывают третью группу, а затем поочередно выкалывают пятую группу и девятую группу, и для шаблона укорачивания, последовательно укорачивание 15-ю группу, 14-ю группу и 13-ю группу, поочередно укорачивают 11-ю группу и седьмую группу, укорачивают 12-ю группу и затем поочередно укорачивают 10-ю группу и шестую группу.
Если g = 32,
S = [0, 1, 2, 3, 4, (8, 16), 5, 6, 7, (9, 17), (10, 18), (11, 19), (12, 20), (13, 21), (14, 22), 24, 25, 26, (15, 23), 27, 28, 29, 30, 31].
Для простоты выражения, S также может быть представлена следующим образом:
S = [0, 1, 2, 3, 4, (8, 16), 5, 6, 7, (9-11, 17-19), (12-14, 20-22), 24, 25, 26, (15, 23), 27, 28, 29, 30, 31]; или
шаблон выкалывания/укорочения представлен следующим образом: для шаблона выкалывания, сначала последовательно выкалывают нулевую по четвертую группы, поочередно выкалывают восьмую группу и 16-ю группу, последовательно выкалывают пятую группу, шестую группу и седьмую группу, поочередно выкалывают девятую группу и 17-ю группу, поочередно выкалывают 10-ю группу и 18-ю группу, а затем поочередно выкалывают 11-ю группу и 19-ю группу; и для шаблона укорочения сначала последовательно укорачивают 31-ю группу, 30-ю группу, 29-ю группу, 28-ю группу и 27-ю группу, поочередно укорачивают 23-ю группу и пятнадцатую группу, последовательно укорачивают 26-ю группу, 25-ю группу и 24-ю группу, поочередно укорачивают 22-ю группу и 14-ю группу, поочередно укорачивают 21-ю группу и 13-ю группу, а затем поочередно укорачивают 20-ю группу и 12-ю группу.
В качестве альтернативы, если g = 32,
S = [0, 1, 2, 3, 4, (8, 16), 5, 6, 7, (9, 17), (10, 18), (12, 20), (11, 19), (13, 21), (14, 22), 24, 25, 26, (15, 23), 27, 28, 29, 30, 31]; или
шаблон выкалывания/укорочения представлен следующим образом: для шаблона выкалывания, сначала последовательно выкалывают нулевую по четвертую группы, поочередно выкалывают восьмую группу и 16-ю группу, последовательно выкалывают пятую группу, шестую группу и седьмую группу, поочередно выкалывают девятую группу и 17-ю группу, попеременно выкалывают 10-ю группу и 18-ю группу, а затем поочередно выкалывают 12-ю группу и 20-ю группу; и для шаблона укорочения сначала последовательно укорачивают 31-ю группу, 30-ю группу, 29-ю группу, 28-ю группу и 27-ю группу, поочередно укорачивают 23-ю группу и пятнадцатую группу, последовательно укорачивают 26-ю группу, 25-ю группу и 24-ю группу, поочередно укорачивают 22-ю группу и 14-ю группу, поочередно укорачивают 21-ю группу и 13-ю группу, а затем поочередно укорачивают 19-ю группу и 11-ю группу.
Если g = 64,
S = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, (16, 32), (17, 33), 12, (18, 34), (20, 36), 11, 13, 14, 15, (19, 35), (21, 37), (22, 38), (23, 39), (24, 40), (25, 41), (26, 42), (28, 44), 48, 49, 50, 52, (27, 43), (29, 45), 51, (30, 46), (31, 47), 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]; или
Шаблон выкалывания и укорачивания представлен следующим образом: для шаблона выкалывания, сначала последовательно выкалывают нулевую по 10-ю группы, поочередно выкалывают 16-ю группу и 32-ю группу, поочередно выкалывают 17-ю группу и 33-ю группу, выкалывают 12-ю группу, поочередно выкалывают 12-ю группу и 34-ю группу, поочередно выкалывают 20-ю группу и 36-ю группу, последовательно выкалывают 11-ю группу, 13-группу, 14-ю группу и 15-ю группу, поочередно выкалывают 19-ю группу и 35-ю группу, попеременно выкалывают 21-ю группу и 37-ю группу, поочередно выкалывают 22-ю группу и 38-ю группу, а затем поочередно выкалывают 23-ю группу и 39-ю группу; и для шаблона укорочения последовательно укорачивают 63-ю группу, 62-ю группу, 61-ю группу, 60-ю группу, 59-ю группу, 58-ю группу, 57-ю группу, 56-ю группу, 55-ю группу, 54-ю группу и 53-ю группу, поочередно укорачивают 47-ю группу и 31-ю группу, поочередно укорачивают 46-ю группу и 30-ю группу, укорачивают 51-ю группу, поочередно укорачивают 45-ю группу и 29-ю группу, поочередно укорачивают 43-ю группу и 27-ю группу, последовательно укорачивают 52-ю группу, 50-ю группу, 49-ю группу и 48-ю группу, поочередно укорачивают 44-ю группу и 28-ю группу, поочередно укорачивают 42-ю группу и 26-ю группу, поочередно укорачивают 41-ю группу и 25-ю группу, а затем поочередно укорачивают 40-ю группу и 24-ю группу.
В приведенных выше последовательностях, две группы в скобках имеют одинаковый приоритет, и поочередно выколоты или укорочены, и группы за пределами скобки выколоты или укорочены на основании естественного порядка последовательности S. Порядок приоритета определения позиций, подлежащих выкалыванию, является порядком спереди-назад последовательности S, а также порядок приоритета определения позиций, подлежащих укорочению, представляет собой порядок с конца в начало последовательности S.
Шаблон выкалывания/укорочения, описанный в настоящем изобретении, указывает порядок приоритета выкалывания/укорочения всех групп. Это вовсе не означает, что все группы, указанные шаблоном выкалывания/укорочения, выколоты/укорочены. Вместо этого, определяют кодированный бит, который должен быть выколот/укорочен, на основании шаблона выкалывания/укорочения и количества кодированных бит, подлежащие выкалыванию/укорачиванию, до момента определения количества кодированных бит, которые должны быть выколоты/укорочены. Оставшийся закодированный бит, который не определен в качестве кодированного бита, который должен быть выколот/укорочен, является кодированным битом, полученным после согласования скорости, и должен быть передан на сторону приема.
Со ссылкой на процесс согласования скорости и кодирования, ниже описано применение способа согласования скорости, представленный в настоящем изобретении. Для полярного кода, в котором длина материнского кода которого является N, длина целевого кода М (при М<N, должен быть выполнен процесс согласования скорости выкалыванием или укорочением, в противном случае, может быть реализован процесс согласования скорости повторением или сегментации), и количество информационных битов (включающий в себя бит проверки и служебный бит) равно К, процесс согласования скорости и кодирования может включать в себя: выбор N-M кодированных битов из материнского кода, как биты, подлежащие выкалыванию/укорочению, на основе шаблона выкалывания/укорочения, помещая замороженный бит на полярном канале с соответствующим номером последовательности; в остальных полярных каналах выбор полярного канала с высокой степенью надежности, размещение информационного бита (включающий в себя бит проверки и служебный бит) на полярном канале с высокой степенью надежности, а также размещение замороженных бит на других каналах; сопоставление информационного бита (включающий в себя бит проверки и служебный бит) с информационным битом для кодирования канала; и выкалывание позиции, указанной в шаблоне выкалывания/укорочения, для получения кодированного бита, полученного после согласования скорости. Следует ли использовать способ согласования скорости выкалыванием или способ согласования скорости укорочением и следует ли использовать шаблон выкалывания или шаблон укорачивания, определяют согласно предшествующему описанию способов.
Для описания способа последовательного определения позиции, подлежащую выкалыванию/укорачиванию используют приведенный ниже пример, в котором g=32. Определяют, следует ли использовать способ согласования скорости выкалыванием или способ согласования скорости укорочения. Закодированные биты полярного кода последовательно разделены на 32 групп одинаковой длины, и некоторое количество кодированных битов в каждой группе равно N/32. Определяют позицию, подлежащую выкалыванию/укорачиванию в блоке группы на основании последовательности S (длина которого составляет 32). Когда количество битов, подлежащих выкалыванию/укорачиванию, равно Р, количество групп, которые должны быть полностью удалены, является numG=floor(Р/(N/32)), и количество бит, подлежащих выкалыванию, в оставшейся группе, которая не должна быть полностью удалена, равно Р-numG * N/32, где floor указывает округление с понижением. То, что количество групп, которые должны быть полностью удалены равно numG означает, что все группы, указанные первыми numG элементами последовательности S должны быть выколоты/укорочены. То, что группа не должна быть полностью выколота/укорочена, указывает на то, что остальные N-М-numG*N/32 биты, подлежащие выкалыванию/укорачиванию, выбраны из группы, указанной в (numG + 1)-го элемента последовательности S. Информационный бит сопоставлен с информационным битом канала, и кодируется на основании кодирующей матрицы . Кодированный бит на определенной позиции, подлежащей выкалыванию/укорачиванию, удаляется при отправке полученной кодированной последовательности бит после согласования скорости.
В предположении, что g=32, соответствующая последовательность выглядит следующим образом:
S = [0, 1, 2, 3, 4, 8, 16, 5, 6, 7, 9, 17, 10, 18, 11, 19, 12, 20, 13, 21, 14, 22, 24, 25, 26, 15, 23, 27, 28, 29, 30, 31].
Последовательность указывает на количество групп, подлежащие выкалыванию с начало в конец. Другими слова, приоритет выкалывания заключается в следующем: во-первых, выкалывают нулевую группу, а затем последовательно выкалывают первую группу, вторую группу, третью группу и тому подобное, пока количество выкалывания не достигнет требуемого количества выкалывания. Другими слова, нулевая группа имеет первый приоритет выкалывания, первая группа имеет второй приоритет, и девятнадцатая группа имеет приоритет 16.
На фиг. 6 показан порядок выкалывания, сгенерированный последовательностью. На чертеже, номер на правой стороне представляет собой номер группы последовательности, и серый блок является кандидатом битом для выкалывания. Число в сером блоке является порядком приоритета групп выкалывания, и меньшее число указывает на более высокий приоритет выкалывания.
Начальная и конечная позиции S симметричны, и обратный порядок S от начала к концу представлен указанием последовательности укорочения. Например, группа 0, указанная первым элементом, является симметричной группе 31, указанной последним элементом, и группа 1, указанная вторым элементом, также симметрична к группе 30, указанной предпоследним элемента. Последовательность указывает номер группы для укорочения от конца к началу. Другими словами, приоритет укорочения выглядит следующим образом: первое укорачивание 31-й группы, а затем последовательно укорачивание 30 группы, 29-й группы … и т.п., пока величина укорочения не достигнет необходимого количества укорочения. Другими словами, 31 группа имеет первый приоритет укорачивания, 30 группа имеет второй приоритет и 12-я группа имеет приоритет 16.
В схеме последовательного выкалывания/укорочения, может быть реализован способ согласования скорости с использованием блочного перемежителя. N кодированных битов последовательно помещают в блочный перемежитель по столбцу. Каждый столбец соответствует одной группе, и, в общем, есть g столбцов и N/g строк. Столбцы блочного перемежителя переставляется на основании определенного межгруппового порядка приоритета выкалывания или укорочения, и строка блочного перемежителя отсортирована на основе внутригруппового порядка выкалывания или укорочения. Если определено использовать способ согласования скорости выкалыванием, то М кодированных битов последовательно считываются из первой начальной точки блочного перемежителя; или кодированные биты последовательно считываются одновременно с первой точки и второй начальной точки блочного перемежителя до тех пор, пока не будут получены M биты после комбинации. Если определенно использовать способ согласования скорости укорачиванием, то М кодированные биты последовательно считываются из третьей начальной точки блочного перемежителя; или кодированные биты последовательно считываются одновременно с третьей точки и четвертой начальной точки блочного перемежителя до тех пор, пока не будут получены M биты после комбинации. N является длиной материнского кода полярного кода, М представляет собой длину целевого кода, первые начальная точка соответствует биту на позиции, за исключением выколотой позиции, и вторая начальная точка соответствует биту на позиции, за исключением укороченной позиции.
Ниже использует пример, в котором g=32, для описания реализации способа согласования скорости с помощью блочного перемежителя. Процесс реализации блочного перемежителя включает в себя: написание N кодированных битов в блочный перемежитель по столбцам, где блочный перемежитель включает в себя 32 столбцов и N/32 строк в общей сложности; прежде всего, выполняют перестановку столбцов на основе последовательности S, другими словами, перегруппировывают порядок групп; затем выполняют перестановки строк на основании внутригруппового порядка выкалывания/укорочения, другими словами, перегруппировывают внутригрупповой порядок бит; и получают биты, подлежащие выкалыванию/укорачиванию на конце блочного перемежителя после перестановки столбцов и перестановки строк. Как показано на фиг. 7, если должно быть выполнено выкалывание, биты, подлежащие выкалыванию (для удаления), собраны на крайней левой стороне (серая область) блочного перемежителя; если укорочение должно быть выполнено, то биты, подлежащие укорачиванию, собраны на правой стороне (заштрихованная область) блочного перемежителя.
Поскольку биты, подлежащие удалению, были собраны вместе, перемежение может быть по-разному реализовано путем регулирования порядка чтения битов, подлежащих передаче, для удовлетворения требования модуляции более высокого порядка и замирания канала. Так, например, биты, подлежащие передаче, последовательно непосредственно считывают. Во время укорочения, чтение начинается с верхнего левого угла блочного перемежителя, другими словами, считывание выполняется последовательно от первого элемента вниз по столбцу до окончания считывания М кодированных биты. Во время выкалывания, чтение начинается от нижнего правого угла блочного перемежителя, другими словами, считывание выполняется последовательно от последнего элемента вверх по столбцу, пока не будут считаны M кодированные биты. Во время повторения, считывание может выполняться в любом порядке. Более конкретно, блочный перемежитель также обеспечивает шаблон повторения, а именно, порядок выбора закодированных бит в процессе повторения. Поскольку позиции бит, подлежащих передаче, могут быть легко получены путем расчета, в качестве альтернативы, то считывание может быть последовательно выполнено одновременно с двух концов бит, подлежащих передаче, и на завершающем этапе напрямую получают прочитанные битовые потоки бит. На фиг. 7, первая начальная точка представляет собой позицию, обозначенной 701 в нижнем правом углу, вторая начальная точка представляет собой позицию, обозначенной 702, третья начальная точка представляет собой позицию, указанной на 703 в верхнем левом углу и четвертая начальная точка представляет собой позицию, обозначенную 704.
После прочтения столбца, может быть дополнительно выполнен циклический сдвиг на столбце. Значение циклического сдвига каждого столбца может быть определено на основании функции, например, 5 * i, или , или , где  указывает на округление, i является номером столбца, и f1, f2 и α являются константами. Циклический сдвиг каждого столбца обеспечивается в максимально возможной степени, чтобы быть случайным. Таким образом, окончательная прочитанная закодированная последовательность является нарушенной после перемежения, таким образом, может быть достигнута высокая производительность в случае модуляции более высокого порядка и замирания канала.
Способ чтения блочного перемежителя может также быть представлен способами, показанными на фиг. 8 и фиг. 9. Чтение выполняется по столбцам на фиг. 8, и чтение выполняется по строкам на фиг. 9. На фиг. 8 и фиг. 9 используют пример укорочения и выкалывания аналогичным образом. В процессе выполнения чтения по столбцам на фиг. 8, порядок считывания столбца восстанавливается каждые L столбцов. Например, сначала выполняют чтение столбца сверху вниз, а затем столбец считывают снизу вверх. В данном случае, L может быть константой; или L может быть связано с порядком модуляции. Например, когда порядок модуляции является 16QAM, L может быть 3, 5 или тому подобное; когда порядок модуляции является 64QAM, L равно 5, 6, 32 или тому подобное. Когда L равно количеству столбцов, порядок считывания не изменяется. В процессе выполнения чтения по строкам на фиг. 9, считывание строки может быть непосредственно выполнено слева направо, или может быть выполнено способом, аналогичным способом, считывания по столбцам. Порядок чтения меняется каждые несколько строк, другими словами, чтение выполняется справа налево.
Ниже использует пример, в котором g = 32, чтобы описать способ для определения шаблона выкалывания/укорачивания последовательным и поочередным образом, когда получены 32 группы путем деления. Определяют, следует ли использоваться способ согласования скорость выкалыванием или укорочением. Закодированные биты полярного кода последовательно разделены на 32 групп одинаковой длины, и количество кодированных битов в каждой группе равно N/32. В блоке группу определяют позицию для выкалывания/укорочения на основании последовательности S (длина которого составляет 32). Если текущий элемент является одно число, то выкалывают группу, указанную элементом, и внутригрупповой порядок выкалывания может быть таким же, как описано выше. Если текущий элемент представляет собой два или более чисел в скобках, то поочередно выказывают группы, указанные номерами, и внутригрупповой порядок выкалывания может быть таким же, как описан выше.
Предполагают, что последовательность S, длина которой составляет 32, выглядит следующим образом:
S = [0, 1, 2, 3, 4, (8, 16), 5, 6, 7, (9, 17), (10, 18), (11, 19), (12, 20), (13, 21), (14, 22), 24, 25, 26, (15, 23), 27, 28, 29, 30, 31].
Последовательность указывает номер группы, подлежащей выкалыванию, с начала к концу. Другими словами, сначала выкалывают нулевую группу, а затем первую группу, вторую группу и т.д. последовательно. После выкалывания четвертой группы, поочередно выкалывают восьмую группу и 16-ю группу, а затем выкалывают пятую группу. Последовательность S обозначает номер группы, подлежащей укорачиванию с конца к началу. Другими словами, сначала укорачивают 31-ю группу, а затем 30-ю группу, 29-ю группы и т.д. S является симметричной, и обратная S представляет собой последовательность указания укорочения с начала к концу.
На фиг. 10 показ порядок выкалывания, сгенерированный последовательностью. На чертеже, номер на правой стороне представляет собой номер группы последовательности, и заштрихованная область представляет кандидата бита для выкалывания. Номер является порядком приоритета выкалывания групп. Меньшее число указывает на более раннее удаление, а также участки с одинаковым числом выкалывают поочередно. Внутригрупповой порядок выкалывания/укорочения бит может быть естественным порядком. Порядок выкалывания является порядком с начала к концу, и порядок укорочение является порядком с конца в начало. В качестве альтернативы, внутригрупповой порядок выкалывания/укорочения битов может быть порядком внутригрупповой надежности. Более конкретно, выкалывание может быть выполнено в порядке возрастания надежности, и укорочение может быть выполнено в порядке убывания надежности.
На фиг. 10, когда количество групп, которые должны быть выколоты, меньше или равно 5, то сначала последовательно выколоты нулевая группа по четвертую группу; когда количество групп, которые должны быть выколоты, равно шесть до семи, поочередно выкалывают восьмую группу и 16-ю группу после выкалывания нулевой группы по четвертую группу; когда количество групп, которые должны быть выколоты, равно восемь до десяти, то последовательно выкалывают пятую группу по седьмую группу после того, как указанные выше группы выколоты; когда количество сегментов, которые должны быть выколоты, больше или равно 11, то выполняют поочередное последовательное выкалывание девятой группы и 17-й группы, 10-й группы и 18-й группы, и 11-й группы и 19-й группы после выкалывания вышеуказанных групп. Три пары (9, 17), (10, 18) и (11, 19) плотно прилегают друг к другу и, следовательно, также может быть представлено в виде (9-11, 17-19). Другими словами, с девятой по 11 группы и с 17-й по 19-ю группы поочередно выколоты. Позиции, подлежащие выкалыванию, указанной последовательности, может быть определены с помощью псевдокода в следующем, где q указывает, следует ли выколоть бит. Если q на текущей позиции равен 1, то это указывает, что бит должен быть выколот; в противном случае, это означает, что бит на текущей позиции не должен быть выколот.
Если P≤N * 5/32 - % последовательно выкалывают нулевую по четвертую группы
q(1:P)=1; - % нулевую по четвертую группы
иначе, если P≤N * 7/32 - % поочередно выкалывают восьмую группу и 16-ю группу
q(1:N*5/32)=1;
q(N/4+(1:ceil((P-N*5/32)/2)))=1; - % восьмая группа
q(N/2 + (1:floor((P-N*5/32)/2)))=1; - % шестнадцатая группа
иначе, если P≤N0 * 5/16 - % последовательно выкалывают пятый по седьмой сегмент
q(1:N*5/32)=1;
q(N/4+(1:N/32))=1;
q(N/2+(1:N/32))=1;
q(N*5/32+(1:P-N*7/32))=1; - % пятой по седьмую группы
Иначе - % поочередно выкалывают девятый сегмент и 17-й сегмент
q(1:N/4)=1;
q(N/4+(1:ceil((P-N/4)/2)))=1; - % девятую по 11-ю группы
q(N/2+(1:floor((P-N/4)/2)))=1;- % 17-ю по 19-ю группы
окончание
На фиг. 10 показан случай укорочения, который противоречит способу выкалывания. Когда количество групп, которые должны быть укорочены, меньше или равны 5, то 31-ю группу, 30-ю группу, 29-ю группу и 27-ю группу (для простоты описания, последовательные группы в обратном порядке могут быть представлены в виде 31-я по 27-ю группы) сначала последовательно укорачивают. Когда количество групп, которые должны быть укорочены, составляет от 6 до 7, 23-я группа и 15-я группа поочередно укорачивается после укорачивания 31-й по 27-ю группы. Когда количество групп, которые должны быть укорочены составляют от 8 до 10, 26 по 24-ю группы последовательно укорачивают после укорачивания вышеуказанных групп. Когда количество сегментов, которые должны быть укорочены, больше или равно 11, выполняют поочередное последовательно укорачивание 22-й группы и 14-й группы, 21-й группы и 13-й группы и 20-й группы и 12-й группы после укорачивания вышеуказанных групп. Три пары (12, 20), (13, 21), (14, 22) плотно прилегают друг к другу и, следовательно, также может быть представлен в виде (22-20, 14-12). Другими словами, 22-а по 20-ю и 14-я по 12-ю группы поочередно укорачивают.
Как показано на фиг. 11, последовательное и поочередное согласование скорости может быть реализовано с помощью перемежителя. Так, например, g=32. Конкретные реализации перемежителя заключается в следующем: последовательно помещая первый 1/4: нулевую до седьмой группы N кодированных битов и последний 1/4: 24-ю по 31-ю группы N кодированных битов; два средних (1/4): восьмую по 15-ю группы и 16-ю по 23-ю группы N кодированных бит попеременно размещены. Затем выполняют перестановку группы на основании последовательности S, переставляя порядок группы. После того, как закодированные биты перемежают, если должно быть выполнено выкалывание, биты, подлежащие выкалыванию, собирают на самой верхней стороне перемежителя; если должно быть выполнено укорачивание, биты, подлежащие укорачиванию, собраны в нижней стороне перемежителя. Повторение может быть реализовано путем выполнения циклического чтения на битах в перемежителе.
На фиг. 12 показывают сравнение между производительностью, полученную с использованием схемы последовательного и поочередного согласования скорости из приведенных выше последовательностей S, когда g=32, и производительностью, полученной с помощью схемы последовательного и поочередного согласования скорости, когда g=4. Горизонтальная координата является количеством информационных битов, и вертикальная координата представляет собой отношение сигнал-шум требуется, когда частота блочных ошибок составляет 0,001. Требуется более низкое отношение сигнал-шум указывает на более высокую производительность. Как можно видеть из фиг. 12, что, когда количество бит, подлежащих выкалыванию/укорачиванию, является приближенным к 1/4 длине кода, шаблон выкалывания/укорачивания, указанный в предшествующей симметричной последовательности, и который используется, когда g=32, очевидно, лучше, чем шаблон, используемый, когда g=4.
Фиг. 13 представляет собой схему устройства 1300 для согласования скорости в соответствии с настоящим изобретением. Устройство 1300 для согласования скорости включает в себя:
блок 1301 получения, выполненный с возможностью получать кодированную последовательность бит, где кодированная последовательность бит включает в себя g группы равной длиной, и количество кодированных бит в каждой группе равны N/g, N является длиной материнского кода полярного кода, N является целочисленной степенью 2, g представляет собой целое число больше или равно 4 и меньше, чем N, и g является целочисленной степенью 2;
первый блок 1302 определения, выполненный с возможностью определять, на основании групп, позицию бита, который должен быть выколот/укорочен в кодированной битовой последовательности; и
блок 1303 согласования скорости, выполненный с возможностью получать кодированный бит в кодированной битовой последовательности, за исключением бита, который должен быть выколот/укорочен, чтобы получить кодированную битовую последовательность, полученную после согласования скорости.
Возможно, устройство для кодирования дополнительно включает в себя:
второй блок 1304 определения, выполненный с возможностью: если фактическая скорость кода превышает заданное пороговое значение, определять использовать способ согласования скорости укорочением; или, если фактическая скорость кода меньше или равна заданному пороговому значению, определять использовать способ согласования скорости выкалыванием, когда фактическая скорость кодирования равна K/M, K представляет собой количество информационных бит, и М представляет собой целевую длину кода.
Возможно, устройство для кодирования дополнительно включает в себя:
блок 1305 кодирования, выполненный с возможностью: размещать замороженный бит на полярном канале, соответствующем позиции бита, которая должна быть выколота/укорочена; в остальных полярных каналах, выбирать полярный канал с высокой степенью надежности, поместить информационный бит на полярном канале с высокой надежностью, и поместить замороженные биты на других полярных каналах; и сопоставить бит, подлежащий кодированию, с информационным битом для кодирования канала, чтобы получить закодированную последовательность битов.
Блок 1301 получения может быть выполнен с возможностью выполнять этап 402 на фиг. 4, и конкретный способ, описанный на этапе 402 в настоящем изобретении. Первый блок 1302 определения может быть выполнен с возможностью выполнять этап 403 на фиг. 4, и способ, в котором конкретный этап 403 связан в настоящем изобретении. Блок 1303 согласования скорости может быть выполнен с возможностью выполнять этап 404 на фиг. 4, и способ, в котором конкретный этап 404 связан в настоящем изобретении. Второй блок 1304 определения может быть выполнен с возможностью выполнять этап 401 на фиг. 4, и способ, в котором конкретный этап 401 связан в настоящем документе.
На фиг. 14 показана структурная схема другого устройства 1400 для согласования скорости в соответствии с настоящим изобретением. Устройство 1400 для согласования скорости включает в себя:
память 1401, выполненную с возможностью сохранять программу; и
процессор 1402, выполненный с возможностью выполнять программу, хранящуюся в памяти, где, когда программа выполняется, процессор 1402 выполняет способ согласования скорости, описанный в вариантах осуществления настоящего изобретения.
Устройство 1300 для согласования скорости и устройство 1400 для согласования скорости могут быть выполнены с возможностью выполнять способ согласования скорости, описанный в настоящем изобретении. Для описания способа определения позиции бита, подлежащего выкалыванию/укорачиванию, шаблона выкалывания/укорачивания, способа применения шаблона выкалывания/укорачивания, как определить способ согласования скорости и т.п., может быть сделана ссылка на описанные ранее варианты осуществления способа согласования скорости. Подробности не описаны здесь снова.
Сторона приема выполняет обратную операцию, соответствующей процессу де-согласования скорости. Восстанавливают LLR, соответствующее позиции выкалывания/укорачивания и, соответственно, устанавливать на 0 или бесконечно большой для реализации процесса скорости де-согласования. Как показано на фиг. 15, настоящее изобретение обеспечивает способ де-согласования скорости, включающий в себя следующие этапы:
1501. Получить логарифмическое отношение правдоподобия LLR последовательности битов, подлежащей кодированию, чтобы получить LLR последовательность.
1502. Определить позицию бита, подлежащего выкалыванию/укорачиванию на основе групп.
1503. Восстановить LLR значение бита на выколотой/укороченной позиции, чтобы получить логарифмическое отношение правдоподобия (log-likelihood ratio, LLR) последовательность, полученную после выполнения де-согласования скорости, где LLR последовательность, полученная после выполнения де-согласования скорости включает в себя g группы равной длины, количество LLRs в каждой группе равно N/g, N является длиной материнского кода полярного кода, N является целочисленной степенью 2, g представляет собой целое число, большее или равное 4 и меньше, чем N, и g является целочисленной степенью 2.
Процесс де-согласования скорости является обратным процессом согласования скорости. В процессе де-согласования скорости позиция выколотого/укороченного бита определяется в таком же порядке, как и соответствующее согласование скорости таким образом, выполняемом стороной передачи. Например, используют один и тот же шаблон выкалывания/укорочения (например, та же последовательность S), и количество групп является таким же как на стороне передачи. В процессе де-согласовании скорости определяют, что способ согласования скорости выкалыванием/укорочением является также таким же, как способ согласования скорости выкалыванием/укорочением на стороне передачи. Соответствующий способ согласования скорости может быть определен на основании фактической скорости кода, и способ де-согласования скорости, соответствующий способу согласования, используют для определения позиции выколотого/укороченного бита и, соответственно, восстанавливают LLR. Процесс де-перемежения восстановленной LLR представляет собой обратный процесс на стороне передачи. Для конкретного описания может быть сделана ссылка на описание вариантов осуществления способа согласования скорости.
На фиг. 16 показано устройство 1600 для де-согласования скорости в соответствии с настоящим изобретением, включающее в себя:
блок 1601 получения, выполненный с возможностью получать логарифмическое отношение правдоподобия LLR последовательности битов, подлежащей декодированию, для получения LLR последовательности;
блок 1602 определения, выполненный с возможностью определять выколотую/укороченную позицию, основанную на группах; и
блок 1603 де-согласования скорости, выполненный с возможностью восстановить LLR значение бита на выколотой/укороченной позиции для получения LLR последовательности, полученный после де-согласования скорости, где LLR последовательность, полученная после де-согласования скорости включает в себя g группы равной длины, количество LLRs в каждой группе равно N/g, N является длиной материнского кода полярного кода, N является целочисленной степенью 2, g представляет собой целое число больше или равно 4 и меньше, чем N, и g является целочисленной степенью 2.
На фиг. 17 показано другое устройство 1700 де-согласования скорости в соответствии с настоящим изобретением, включающее в себя:
память 1701, выполненную с возможностью сохранять программу;
процессор 1702, выполненный с возможностью выполнять программу, хранящуюся в памяти, где, когда программа выполняется, процессор выполнен с возможностью выполнять способ де-согласования скорости, представленный в вариантах осуществления настоящего изобретения.
Устройство 1600 согласования скорости и устройство 1700 де-согласования скорости могут быть выполнены с возможностью выполнять способ де-согласования скорости, описанный в настоящем документе. Описание способа определения позиции выколотого/укороченного бита, шаблона выкалывания/укорачивания, способа применения шаблона выкалывания/укорачивания, как определить способ согласования скорости и т.п. относятся к вариантам осуществления способа согласования скорости и вариантам осуществления способа де-согласования скорости, как описано выше. Подробности не описаны здесь снова.
На фиг. 18 показана структурная схема устройства 1800 связи в соответствии с вариантом осуществления настоящего изобретения (например, устройство связи, например, точка доступа, базовая станция, станция или оконечное устройство). Как показано на фиг. 18, устройство 1800 связи может быть реализовано с помощью шины 1801 в качестве общей архитектуры шины. Шина 1801 может включать в себя любое количество взаимосвязанных шин и мостов на основе конкретного применения и общего состояния конструкции устройства 1800 связи. Шина 1801 соединяет различные схемы вместе. Эти схемы включают в себя процессор 1802, носитель 1803 данных и шину интерфейса 1804. Носитель, выполненный с возможностью хранить операционную систему, данные, подлежащие отправке, и принятые данные. Возможно, в устройстве 1800 связи, сетевой адаптер 1805 и т.п. соединены посредством шины 1801 и шины интерфейса 1804. Сетевой адаптер 1805 может быть выполнен с возможностью реализации функции обработки сигналов физического уровня в сети беспроводной связи, а также передавать и принимать радиочастотный сигнал с помощью антенны 1807. Интерфейс 1806 может быть подключен к различным устройствам пользовательского ввода, таким как клавиатура, дисплей, мышь и джойстик. Шина 1801 может дополнительно подключать различные другие схемы, такие как источник синхронизации, периферийное устройство, регулятор напряжения или схему управления питанием. Эти схемы хорошо известны в данной области техники, и не описаны здесь подробно.
Процессор 1802 выполнен с возможностью управлять шиной и общей обработкой (включающей в себя выполнение программного обеспечения, записанного на носителе 1803 данных). Процессор 1802 может быть реализован с использованием одного или более процессоров общего назначения и/или специализированных процессоров. Примеры процессора включают в себя микропроцессор, микроконтроллер, процессор DSP, а также другие схемы, которые могут выполняться программным обеспечением. Программное обеспечение должно быть широко истолковано как представление инструкций, данных или любой их комбинации независимо от того, является ли программное обеспечение программным обеспечением, микропрограммным обеспечением, промежуточным программным обеспечением, микрокодом, языком описания аппаратных средств или другим.
Как показано на фиг. 18, носитель 1803 данных отделен от процессора 1802. Тем не менее, специалистам в данной области техники легко понять, что носитель 1803 данных или любая часть носителя 1803 данных может быть расположена вне устройства 1800 связи. Например, носитель 1803 данных может включать в себя линию передачи, сигнал несущей, модулированный с использованием данных, и/или компьютерный продукт, отделенный от беспроводного узла. Эти носители могут быть доступны с помощью процессора 1802 с помощью шины интерфейса 1804. В качестве альтернативы, носитель 1803 данных или любая его часть может быть интегрирована в процессор 1802, например, может представлять собой кэш-память и/или регистр общего назначения.
Процессор 1802 может быть выполнен с возможностью выполнять способ согласования скорости или способ де-согласования скорости, описанный в вариантах осуществления настоящего изобретения. Процесс работы процессора 1802 не описан здесь еще раз.
В реальных условиях эксплуатации, устройство для согласования скорости и устройство для де-согласования скорости, описанное в вариантах осуществления настоящего изобретения, могут быть отдельными независимыми устройствами или могут быть встроенным устройством. Устройство может быть использовано в качестве стороны передачи для выполнения способа согласования скорости, и может быть использовано в качестве стороны приема для выполнения способа де-согласования скорости.
В примерах, описанных в вариантах осуществления настоящего изобретения, блоки и процессы способа могут быть реализованы с помощью электронных аппаратных средств или комбинаций программного обеспечения и электронных аппаратных средств. Независимо от того, что выполняют ли функции с помощью аппаратных средств или программного обеспечения, зависит от конкретного применения и проектных условий ограничений технических решений. Специалисты в данной области техники могут использовать другой способ для каждого конкретного использования для выполнения описанных функций.
В некоторых вариантах осуществления, представленных в настоящем изобретении, следует понимать, что раскрытый способ и устройство могут быть реализованы другими способами. Описанное устройство варианта осуществления являются лишь примером. Например, блок деления является лишь логической функцией разделения и может быть иным подразделением в фактической реализации. Например, множество блоков или компонентов могут быть объединены или могут быть интегрированы в другую систему. Некоторые этапы в способе, могут быть проигнорированы или не выполняются. Кроме того, соединение, прямое соединение или соединение связи между блоками может быть реализовано с использованием некоторых интерфейсов, и эти интерфейсы могут быть в электронном виде, в механической форме или другой форме.
Устройство, описанное в виде отдельных частей, может или не может быть физически разделено и может быть расположено в одном месте или может быть распределено по множеству сетевых узлов. Кроме того, функциональные блоки в вариантах осуществления настоящего изобретения могут быть интегрированы в один блок обработки, либо каждый из блоков может быть физически использован самостоятельно, или два или более блоков объединены в один блок.
Все или некоторые из приведенных выше вариантов осуществления могут быть реализованы с помощью программного обеспечения, аппаратных средств, встроенного программного обеспечения или любой их комбинации. Когда варианты осуществления реализованы с помощью программного обеспечения, варианты осуществления могут быть реализованы полностью или частично в виде компьютерного программного продукта. Компьютерный программный продукт включает в себя одну или несколько инструкций компьютера. Когда инструкции компьютерной программы загружаются и выполняются на компьютере, генерируют процедуры или функции в соответствии с вариантами осуществления настоящего изобретения все или частично. Компьютер может быть компьютером общего назначения, выделенным компьютером, компьютерной сетью или другим программируемым устройством. Инструкция компьютера может храниться в машиночитаемом носителе данных, или может быть передана с помощью машиночитаемого носителя данных. Инструкция компьютера может быть передана с веб-сайта, компьютера, сервера или центра обработки данных по проводной связи (например, коаксиальный кабель, оптическое волокно, или цифровой абонентской линии (DSL)) или беспроводной связи (например, в инфракрасном диапазоне, беспроводной связью или в микроволновом диапазоне) на другой веб-сайт, компьютер, сервер или центр обработки данных. Машиночитаемый носитель данных может быть любой полезной средой доступной для компьютера, или устройства хранения данных, такой как сервер или центр обработки данных, которые объединены в один или более пригодные носители медиа. Полезная среда может представлять собой магнитный носитель (например, флоппи-диск, жесткий диск, магнитная лента, флэш-накопитель, ROM или RAM), оптический носитель (например, компакт-диск или DVD), полупроводниковую среду (например, твердотельный диск (solid state disk, SSD)) или тому подобное.
Вышеприведенные варианты осуществления предназначены только для описания технических решений настоящего изобретения, но не для ограничения настоящего изобретения. Хотя настоящее изобретение подробно описано со ссылкой на вышеприведенные варианты осуществления, специалисты в данном в данной области техники должны понимать, что они все еще могут вносить изменения в технических решения, описанные в вышеприведенных вариантах осуществления, или сделать эквивалентные замены некоторых технических признаков без отхода от объема технических решений вариантов осуществления настоящего изобретения.