СПОСОБ ПЕРЕДАЧИ ДАННЫХ
DATA TRANSMISSION METHOD

Настоящее изобретение относится к способу передачи данных в системе беспроводного доступа и, более конкретно, к различным способам деления входных данных на кодовые блоки с учетом размера кода обнаружения ошибок.
УРОВЕНЬ ТЕХНИКИ
При передаче данных важны эффективность передачи данных и надежность передачи данных. Для повышения эффективности передачи данных обычно используются способы деления данных перед передачей и способы, использующие код обнаружения ошибок, для проверки, содержат ли данные ошибку.
Контроль ошибок относится к механизму обнаружения и исправления ошибок, созданных во время передачи данных. Схемы контроля ошибок включают в себя схему запроса на автоматическое повторение (ARQ), схему прямого исправления ошибок (FEC) и схему исправления ошибок с обратным запросом (BEC).
Для получения надежной передачи данных по линии связи схема ARQ, посредством сигнала подтверждения (ACK) и истечения времени, позволяет принимающей стороне проверить, произошла ли ошибка, и дает возможность передающей стороне повторно передать кадр, в котором произошла ошибка. Схема ARQ, которую называют схемой запроса на повторную передачу, позволяет принимающей стороне обнаружить ошибку и запросить повторную передачу данных. В схеме FEC передающая сторона перед передачей добавляет избыточность к символам или кадрам и принимающая сторона обнаруживает и исправляет ошибки, используя избыточность. Схема BEC добавляет избыточность для обнаружения ошибок и передает сигнал ARQ для повторной передачи данных передающей стороне.
Обнаружение ошибок относится к методике, позволяющей принимающей стороне распознавать, произошла ли ошибка во время передачи. Код обнаружения ошибок относится к коду, поддерживающему методику обнаружения ошибок. Методики обнаружения ошибок включают в себя проверку на четность, проверку контрольной суммы, проверку при помощи циклического избыточного кода (CRC) и методики взвешенного кода.
Исправление ошибок относится к методике кодирования, включающей в себя достаточную избыточность в переданном блоке данных, так чтобы принимающая сторона могла вывести символы передачи из принятого блока данных. С точки зрения модели уровней взаимодействия открытых систем (OSI) исправление ошибок осуществляется, главным образом, на уровне каналов передачи данных. Между тем, обнаружение ошибок относится к методике кодирования, при которой избыточность добавляется так, чтобы принимающая сторона могла обнаружить появление ошибки и подать запрос повторной передачи.
Исправление ошибок включает в себя схему блочного кода, в которой заданная длина избыточности добавляется к заранее определенной длине информации (сигналу), так чтобы принимающая сторона могла исправить ошибки, и схему сверточного кода, в которой кодер имеет запоминающее устройство для использования, во время кодирования, части ранее ввведенных сигналов в дополнение к вводимым в настоящее время сигналам.
Блочный код включает в себя коды Хемминга, коды Рида-Соломона в качестве циклических кодов, коды Боуза-Чоудхури-Хоквенгема (BCH) и коды циклической проверки избыточности (CRC). Сверточный код содержит коды Витерби и турбокоды.
Проверка на четность обычно используется, главным образом, когда число информационных битов мало и вероятность появляения ошибки низкая. Хотя проверка на четность широко используется при асинхронной передаче из-за ее простоты, трудно обнаружить ошибки, когда число ошибок является четным числом. Проверка на четность включает в себя проверку на нечетность, при которой число "1" в битах проверки на четность при кодировании символов устанавливается равным нечетному числу, и проверку на четность, при которой число "1" в битах проверки на четность при кодировании символов устанавливается равным четному числу.
CRC, который является одним из способов обнаружения ошибок, относится к методике, при которой передающая сторона прибавляет результат, извлеченный посредством полинома из переданных данных, в последовательность проверки кадра (FCS) и передает присоединенное поле, а принимающая сторона проверяет ошибки, подтверждая, идентичен ли извлеченный результат извлеченным результатам, полученным тем же самым способом на приемной стороне. CRC является мощным средством и его аппаратная конфигурация проста. Остаток, полученный делением первоначального кадра данных, который должен быть передан передающей стороной, на полином генератора CRC, равен FCS. Полином генератора CRC, который является делителем для деления, необходим для создания FCS. FCS присоединяется к концу первоначального кадра данных так, чтобы результирующий кадр (с прибавлением FCS к первоначальным данным) мог быть точно разделен на заранее определенный полином. То есть, FCS, вычисленная для первоначального кадра данных, присоединяется к концу кадра. Здесь, заранее определенный полином упоминается как делитель или полином CRC.
Принимающая сторона выполняет проверку CRC после приема результирующего кадра. Принимающая сторона проверяет остаток, деля принятый кадр данных на тот же самый полином CRC, который был использован во время передачи. Принимающая сторона обнаруживает ошибки, проверяя, является ли остаток, полученный при делении данных, переданных вместе с избыточностью, на первоначальные данные, равным 0. Если остаток не равен 0, принимается решение, что во время передачи произошла ошибка.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Техническая проблема
В обычно используемом способе присоединения CRC и способе сегментации блоков данных код CRC присоединяется к блоку данных и затем блок данных сегментируется, передавая, таким образом, блок данных в форме кодовых блоков. В этом случае принимающая сторона принимает все сегментированные блоки и последовательно объединяет кодовые блоки. Принимающая сторона может с помощью CRC определить, содержит ли восстановленный блок данных ошибки. Поэтому, поскольку определение того, содержит ли восстановленный блок данных ошибки, производится после того, как все кодовые блоки будут последовательно восстановлены, ошибки не могут обнаруживаться быстро.
Дополнительно, если в каком-нибудь месте принятого блока данных присутствует ошибка, процесс устранения ошибки, выполняемый принимающей стороной, усложняется по мере увеличения числа кодовых блоков.
Дополнительно, код CRC, присоединенный к каждому кодовому блоку, должен учитываться при вычислении числа и размера кодовых блоков. Однако способ вычисления числа и размера кодовых блоков посредством обычно используемой сегментации блока данных не учитывает, что к каждому кодовому блоку присоединяется код CRC.
Настоящее изобретение, разработанное для решения этих проблем, обеспечивает эффективный способ передачи данных.
Задача настоящего изобретения состоит в обеспечении различных способов сегментации блока данных, учитывающих размер кода обнаружения ошибок, присоединенного к каждому кодовому блоку.
Другая задача настоящего изобретения состоит в обеспечении различных способов вычисления числа кодовых блоков.
Еще одна другая задача настоящего изобретения состоит в обеспечении различных способов распределения данных с учетом числа и размера кодовых блоков и/или размера кодов обнаружения ошибок.
Дополнительная задача настоящего изобретения состоит в обеспечении эффективного способа передачи данных, основанного на вышеупомянутых задачах.
Техническое решение
Настоящее изобретение описывает примеры вариантов осуществления для сегментации блоков данных в системе беспроводного доступа. Настоящее изобретение также описывает способ сегментации блока данных с учетом размера кода обнаружения ошибок и способ присоединения кода обнаружения ошибок к кодовым блокам.
В соответствии с аспектом настоящего изобретения способ передачи данных в системе беспроводного доступа включает в себя этапы, на которых: создают входную битовую последовательность, присоединяя первый код обнаружения ошибок к данным; если размер В входной битовой последовательности больше максимального размера Z кодовых блоков, вычисляют число C кодовых блоков, используя размер В входной битовой последовательности, максимальный размер Z кодовых блоков и размер L второго кода обнаружения ошибок, который должен присоединяться к каждому из кодовых блоков; вычисляют размер В' измененной входной битовой последовательности, используя число C кодовых блоков, размер L второго кода обнаружения ошибок и размер В входной битовой последовательности; получают размер K кодовых блоков из предварительно установленных значений, основываясь на значении, полученном делением размера В' измененной входной битовой последовательности на число C кодовых блоков; сегментируют входную битовую последовательность, чтобы иметь C кодовых блоков и размер K кодовых блоков; создают кодовые блоки, присоединяя второй код обнаружения ошибок к каждой из сегментированных входных битовых последовательностей; и производят канальное кодирование кодовых блоков.
Число C кодовых блоков может быть установлено равным целому числу, округленному до большего значения, полученного делением размера В входной битовой последовательности на результат вычитания размера L второго кода обнаружения ошибок, который должен присоединяться к каждому из кодовых блоков, из максимального размера Z кодовых блоков.
Первый код обнаружения ошибок и второй код обнаружения ошибок могут быть созданы разными полиномами.
Для размера В входной битовой последовательности может быть установлено значение, полученное прибавлением размера А данных к размеру первого кода обнаружения ошибок, и второй код обнаружения ошибок, который должен присоединяться к каждому из кодовых блоков, может дополнительно быть присоединен для обнаружения, содержит ли ошибки каждый из кодовых блоков.
Если размер B входной битовой последовательности меньше максимального размера Z кодовых блоков, число C кодовых блоков может быть установлено равным 1.
Для размера B' измененной входной битовой последовательности может быть установлено значение, полученное прибавлением размера В входной битовой последовательности к результату умножения числа C кодовых блоков на размер L второго кода обнаружения ошибок, который должен содержаться в каждом из кодовых блоков. Размер K кодовых блоков может удовлетворять условию, что значение, полученное умножением числа C кодовых блоков на размер K кодовых блоков, больше или равно размеру В' измененной входной битовой последовательности.
+
-
Размер K первых кодовых блоков размера K кодовых блоков может быть наименьшим размером среди предварительно установленных значений и размер K вторых кодовых блоков размера K кодовых блоков может иметь наибольший размер среди предварительно установленных значений.
-
+
-
+
Число C вторых кодовых блоков может быть установлено равным целому числу, округляя в меньшую сторону значение, полученное делением на разность между размером K первых кодовых блоков и размером K вторых кодовых блоков результата вычитания размера B' измененной входной битовой последовательности из значения, полученного умножением числа C кодовых блоков на размер K первых кодовых блоков.
+
-
Число C первых кодовых блоков может быть установлено равным значению, полученному вычитанием числа C вторых кодовых блоков от числа C кодовых блоков.
+
+
-
-
Способ передачи данных может дополнительно включать в себя этапы, на которых: вычисляют длину F битов заполнителя, вычитая измененный размер входной битовой последовательности из результата прибавления значения, полученного умножением числа C первых кодовых блоков на размер K первых кодовых блоков, со значением, полученным умножением числа C вторых кодовых блоков на размер K вторых кодовых блоков; и распределяют биты заполнителя первому кодовому блоку среди кодовых блоков.
Способ передачи данных может дополнительно содержать этапы, на которых: распределяют данные по областям, за исключением размера битов заполнителя и размера второго кода обнаружения ошибок в первом кодовом блоке кодовых блоков; и распределяют данные по областям, за исключением размера второго кода обнаружения ошибок в кодовых блоках, начиная со второго кодового блока.
Данные распределения первому кодовому блоку могут дополнительно содержать присоединение второго кода обнаружения ошибок к первому кодовому блоку и распределение данных кодовым блокам, начиная со второго кодового блока, может дополнительно содержать присоединение второго кода обнаружения ошибок к кодовым блокам, начиная со второго кодового блока.
Максимальный размер Z кодовых блоков составляет 6144 бита.
+
-
+
-
В соответствии с другим аспектом настоящего изобретения способ передачи данных в системе беспроводного доступа содержит этапы, на которых: создают вторую входную битовую последовательность, присоединяя первый код обнаружения ошибок к первой входной битовой последовательности; вычисляют размер В второй входной битовой последовательности, используя размер А первой входной битовой последовательности и размер L первого кода обнаружения ошибок; если размер B второй входной битовой последовательности больше максимального размера Z кодовых блоков, вычисляют число C кодовых блоков, используя размер В второй входной битовой последовательности, максимальный размер Z кодовых блоков и размер L второго кода обнаружения ошибок, который должен присоединяться к каждому из кодовых блоков; вычисляют размер В' измененной второй входной битовой последовательности, используя число C кодовых блоков, размер L второго кода обнаружения ошибок и размер В второй входной битовой последовательности; получают размеры K, K и K кодовых блоков из предварительно установленнызх значений, основываясь на значении, полученном делением размера В' измененной второй битовой последовательности на число C кодовых блоков; сегментируют вторую входную битовую последовательность, чтобы иметь C кодовых блоков и полученные размеры K, K и K кодовых блоков; создают кодовые блоки, присоединяя второй код обнаружения ошибок к каждой из сегментированных вторых входных битовых последовательностей; и канально кодируют кодовые блоки.
r
r
В соответствии с еще одним другим аспектом настоящего изобретения способ передачи данных в системе беспроводного доступа содержит этапы, на которых: создают вторую входную битовую последовательность, присоединяя первый код обнаружения ошибок к первой входной битовой последовательности; вычисляют размер В второй входной битовой последовательности, используя размер А первой входной битовой последовательности и размер L первого кода обнаружения ошибок; если размер B второй входной битовой последовательности больше максимального размера Z кодовых блоков, вычисляют число C кодовых блоков, используя размер В второй входной битовой последовательности, максимальный размер Z кодовых блоков и размер L второго кода обнаружения ошибок, который должен присоединяться к каждому из кодовых блоков; вычисляют размер В' измененной второй входной битовой последовательности, используя число C кодовых блоков, размер L второго кода обнаружения ошибок и размер В второй входной битовой последовательности; получают размер K кодовых блоков делением размера В' измененной второй входной битовой последовательности на число C кодовых блоков; сегментируют вторую входную битовую последовательность, чтобы иметь C кодовых блоков и полученный размер K кодовых блоков; создают кодовые блоки, присоединяя второй код обнаружения ошибок к каждой из сегментированных вторых входных битовых последовательностей; и канально кодируют кодовые блоки.
Первый и второй коды обнаружения ошибок создаются посредством разных полиномов.
В соответствии с еще одним другим аспектом настоящего изобретения способ передачи данных в системе беспроводного доступа содержит этапы, на которых: если размер B входной битовой последовательности больше максимального размера Z кодовых блоков, вычисляют число C кодовых блоков, используя размер В входной битовой последовательности, максимальный размер Z кодовых блоков, и размер L кода обнаружения ошибок, который должен присоединяться к каждому из кодовых блоков; вычисляют размер В' измененной входной битовой последовательности, используя число C кодовых блоков, размер L кода обнаружения ошибок и размер В входной битовой последовательности; получают размер K кодовых блоков из заранее определенных значений, основываясь на значении, полученном делением размера В' измененной входной битовой последовательности на число C кодовых блоков; и сегментируют входную битовую последовательность, чтобы иметь C кодовых блоков и размер K кодовых блоков.
r
r
В соответствии с еще одним другим аспектом настоящего изобретения способ передачи данных в системе беспроводного доступа содержит этапы, на которых: создают входную битовую последовательность, присоединяя первый код обнаружения ошибок к транспортному блоку; если размер B входной битовой последовательности больше максимального размера Z кодовых блоков, вычисляют число C кодовых блоков, используя размер В входной битовой последовательности, максимальный размер Z кодовых блоков, и размер L кода обнаружения ошибок, который должен присоединяться к каждому из кодовых блоков; вычисляют размер В' измененной входной битовой последовательности, используя число C кодовых блоков, размер L кода обнаружения ошибок и размер В входной битовой последовательности; получают размер K кодовых блоков делением размера В' измененной входной битовой последовательности на число C кодовых блоков; и сегментируют входную битовую последовательность, чтобы иметь C кодовых блоков и размер K кодовых блоков.
Преимущества
Настоящее изобретение обладает следующими преимуществами.
Во-первых, так как приемная сторона может определить, существуют ли ошибки всякий раз, когда принимает кодовые блоки, может быть выполнен эффективный процесс исправления ошибок.
Во-вторых, сегментация блока данных может быть выполнена точно и коды CRC могут быть точно присоединены, вычисляя число кодовых блоков и сегментируя блок данных с учетом длины кодов CRC.
В-третьих, при сегментации блока данных на кодовые блоки, число кодовых блоков вычисляется с учетом длины кодов CRC и данные затем распределяются по кодовым блокам, тем самым повышая эффективность обработки данных.
В-четвертых, если размер битовой последовательности, вводимой в систему, меньше максимального размера, который может делиться в системе, сегментация входной битовой последовательности может не выполняться. Вместо этого для кодового блока используются соответствующие входные биты. Нет необходимости повторно присоединять код обнаружения ошибок, потому что может быть использован код обнаружения ошибок для обнаружения ошибки входных битов. Поэтому возможно быстро обработать кодовый блок.
В-пятых, данные могут эффективно передаваться с помощью различных вариантов осуществления настоящего изобретения.
ОПИСАНИЕ ЧЕРТЕЖЕЙ
Сопроводительные чертежи, предназначенные для обеспечения дополнительного понимания изобретения, показывают варианты осуществления изобретения и вместе с описанием служат для объяснения принципа изобретения.
На чертежах:
Фиг.1 - схема процесса, выполняемого в каждом устройстве присоединения CRC и устройстве сегментации блока данных.
Фиг.2 - схема процесса преобразования блока данных в кодовые блоки.
Фиг.3 - схема процесса сегментации блока данных с учетом размера CRC в соответствии с примером варианта осуществления настоящего изобретения.
Фиг.4 - схема примера процесса присоединения кодов CRC к кодовым блокам в соответствии с примером варианта осуществления настоящего изобретения.
Фиг.5 - схема другого примера процесса присоединения кодов CRC к кодовым блокам в соответствии с примером варианта осуществления настоящего изобретения.
Фиг.6 - схема процесса сегментация блока данных и присоединения кодов CRC с учетом размера CRC в соответствии с примером варианта осуществления настоящего изобретения.
Фиг.7 - схема процесса преобразования блока данных в кодовые блоки с учетом размера CRC в соответствии с примером варианта осуществления настоящего изобретения.
Фиг.8 - блок-схема последовательности выполнения операций процесса сегментации блока данных с учетом размера CRC в соответствии с примером варианта осуществления настоящего изобретения.
Фиг.9 - блок-схема последовательности выполнения операций процесса вычисления числа кодовых блоков в соответствии с примером варианта осуществления настоящего изобретения.
Фиг.10 - блок-схема последовательности выполнения процесса сегментации блока данных, использующего входную битовую последовательность с измененным размером в соответствии с примером вариантом осуществления настоящего изобретения.
Фиг.11 - блок-схема процесса преобразования блока данных в кодовые блоки, когда число кодовых блоков равно 1, в соответствии с вариантом осуществления настоящего изобретения.
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Настоящее изобретение относится к способу передачи данных и сегментации кодового блока в системе беспроводного доступа, в частности способу сегментации блока данных с учетом размера кодов обнаружения ошибок и способ получения числа кодовых блоков.
Описанные здесь ниже примеры вариантов осуществления являются комбинациями элементов и признаков настоящего изобретения. Элементы или признаки могут рассматриваться как раздельные, если не упомянуто что-либо иное. Каждый элемент или признак могут осуществляться без объединения с другими элементами или признаками. Дополнительно, вариант осуществления настоящего изобретения может быть выполнен посредством объединения частей элементов и/или признаков. Порядки выполнения операций, описанные в вариантах осуществления настоящего изобретения, могут меняться местами. Некоторые структуры любого варианта осуществления могут вводиться в другой вариант осуществления и могут заменяться соответствующими структурами другого варианта осуществления.
В последующем описании настоящего изобретения подробное описание известных процедур или этапов будет опущено, когда оно сможет делать неясным сущность предмета настоящего изобретения.
В примерах вариантов осуществления настоящего изобретения приводится описание отношений между базовой станцией и мобильной станцией при передаче и приеме данных. В данном описании термин "базовая станция" относится к оконечному узлу сети, связанному непосредственно с мобильной станцией. В некоторых случаях конкретная операция, описанная как выполняемая базовой станцией, может быть выполнена вышестоящим узлом базовой станции.
А именно, очевидно, что в сети, составленной из множества сетевых узлов, содержащих базовую станцию, различные операции, выполняемые для связи с мобильной станцией, могут быть выполнены базовой станцией или другими узлами сети, за исключением базовой станции. Термин "базовая станция" может быть заменен термином "неподвижная станция", "узел В", "электронный узел B" (eNB), "точка доступа" и т.д. Термин "мобильная станция (MS)" может быть заменен термином "терминал", "оборудование пользователя" (UE), "мобильная абонентская станция" (MSS) и т.д.
Дополнительно, термин "передающая сторона" означает узел, передающий данные или голосовую услугу, а термин "приемная сторона" означает узел, принимающий данные или голосовую услугу. Поэтому, в восходящей линии связи мобильная станция может быть передающей стороной, а базовая станция может быть приемной стороной. Аналогично, в нисходящей линии связи мобильная станция может быть приемной стороной, а базовая станция может быть передающей стороной.
Помимо этого, мобильная станция может содержать карманный компьютер для беспроводной связи (PDA), сотовый телефон, телефон системы персональной мобильной связи (PSA), телефон глобальной системы мобильной связи (GSM), телефон системы широкополосного мультидоступа с кодовым разделением каналов (WCDMA), телефон мобильной широкополосной системы (MBS) и т.д.
Варианты осуществления настоящего изобретения могут быть реализованы различными средствами, например посредством аппаратурного обеспечения, встроенного программного обеспечения, программного обеспечения или их комбинаций.
В конфигурации аппаратного обеспечения способ, соответствующий примерам вариантов осуществления настоящего изобретения, может быть реализован с помощью одной или более прикладных специализированных интегральных схем (ASIC), цифровых сигнальных процессоров (DSP), цифровых устройств обработки сигналов (DSPD), программируемых логических устройств (PLD), программируемых пользователем вентильных матриц (FPGA), процессоров, контроллеров, микроконтроллеров, микропроцессоров и т.д.
В конфигурации встроенного программного обеспечения или программного обеспечения способ, соответствующий примерам вариантов осуществления настоящего изобретения, может быть реализован с помощью модуля, процедуры, функции и т.д., выполняющих описанные выше функции или операции. Системная программа может храниться в запоминающем устройстве и управляться процессором. Запоминающее устройство располагается внутри или вне процессора и может передавать и принимать данные с помощью процессора через различные известные средства.
Варианты осуществления настоящего изобретения могут поддерживаться документами, раскрытыми, по меньшей мере, в одном документе для систем беспроводного доступа (например, система IEEE 802, система 3GPP, система 3GPP LTE и система 3GPP2). В частности, документы, раскрытые в 3GPP TS 36.212 V8.0.0 (2007-09) - 3GPP TS-36.212 V8.3.0 (2008-05), могут поддерживать варианты осуществления настоящего изобретения.
Последующее подробное описание содержит конкретные термины, чтобы обеспечить полное понимание настоящего изобретения. Однако эти конкретные термины могут быть изменены, не отступая от сущности и объема настоящего изобретения.
На фиг.1 показана схема процесса, выполняемого в каждом устройстве присоединения CRC и устройстве сегментации блока данных.
Обычно используемые устройство присоединения CRC и устройство сегментации блока данных будут здесь описаны со ссылкой на фиг.1. Блок 100 данных, при необходимости, может быть сегментирован на многочисленные кодовые блоки. Кодовый блок 160 создается посредством сегментации блока 100 данных.
Если пользователь вводит блок 100 данных, устройство 120 присоединения CRC присоединяет к блоку 100 данных код CRC. Блок данных, содержащий код CRC, делится на блоки данных необходимой длины устройством 140 сегментации блока данных и образует кодовый блок 160, имеющий одну или более длин. Этот процесс последовательно показан в правой стороне на фиг.1.
Устройство 120 присоединения CRC присоединяет код CRC к блоку данных, имеющему заданную длину, так чтобы принимающая сторона могла использовать блок 100 данных для обнаружения ошибки. С этой целью устройство 120 присоединения CRC создает биты проверки на четность CRC заданной длины, используя уравнение создания CRC, основываясь на входном блоке данных (этап S101). Затем устройство 120 присоединения CRC в прямом или обратном порядке присоединяет разряды проверки на четность CRC к прямому блоку данных, чтобы создать блок данных в последовательно соединенной форме (этап S102).
Блок данных с присоединенным CRC сегментируется на один или множество кодовых блоков устройством 140 сегментации блоков данных. Устройство 140 сегментации блоков данных сегментирует входной блок на один или более кодовых блоков с помощью следующих четырех процессов.
Устройство 140 сегментации блока данных устанавливает в качестве числа кодовых блоков целое число, округляя в большую сторону результат деления размера блока данных с присоединенным CRC на максимально допустимый размер кодового блока (этап S103).
Устройство 140 сегментации блока данных вычисляет размер каждого кодового блока в соответствии с числом кодовых блоков, определенным на этапе S103 (этап S104).
На этапе S104 в результате прибавления к размеру каждого кодового блока сумма может быть большей, чем размер блока данных с присоединенным CRC. В этом случае значение, полученное вычитанием размера блока данных с присоединенным CRC из размера всех кодовых блоков, устанавливается в качестве длины битов заполнителя (этап S105).
Если число и размер кодовых блоков и длина битов заполнителя определены, устройство 140 сегментации блока данных сегментирует блок данных с присоединенным CRC и распределяет данные каждому кодовому блоку (этап S106). На этапе S106 биты заполнителя и данные последовательно распределяются в начало первого блока среди кодовых блоков и следующие данные последовательно распределяются, начиная со второго блока.
На фиг.2 показана схема процесса преобразования блока данных в кодовые блоки.
На фиг.2 могут использоваться устройства и способ, используемые на фиг.1.
Со ссылкой на фиг.2, блок 200 данных является входным блоком в устройство 220 присоединения CRC. Биты CRC присоединяются к блоку 200 данных устройства 220 присоединения CRC, чтобы создать блок 230 данных с присоединенным CRC. Блок данных с присоединенным CRC вводится в устройство 240 сегментации блока данных и затем сегментируется на кодовые блоки. Биты заполнителя присоединяются к началу первого блока кодового блока 260 и данные распределяются в другую его часть. Данные распределяются последовательно, начиная со второго кодового блока.
В примерах вариантов осуществления настоящего изобретения предполагается, что коды CRC используются как один из желательных типов кодов обнаружения ошибок, которые могут присоединяться к кодовым блокам устройством сегментации блока данных. Кроме того, термин "блок данных" является входными битами, которые вводятся в устройство сегментации блока данных и могут упоминаться как первый блок данных. Если сегментация входных битов выполнена, создается кодовый блок или второй блок данных.
Первый вариант осуществления изобретения
На фиг.3 показана схема процесса сегментации блока данных с учетом размера CRC в соответствии с вариантом осуществления настоящего изобретения.
Со ссылкой на фиг.3, блок данных (например, первый блок 300 данных) вводится в устройство 320 сегментации блока данных и сегментируется в один или более кодовых блоков (например, второй блок данных). Данные последовательно распределяются по кодовым блокам. Кодовые блоки вводятся в устройство 240 присоединения CRC. В этом случае блок данных может содержать в себе код обнаружения ошибок и размер кода обнаружения ошибок желательно составляет 24 бита.
Устройство 340 присоединения CRC создает коды CRC и присоединяет коды CRC к кодовым блокам кроме тех случаев, когда блок данных состоит из одного кодового блока, содержащего код обнаружения ошибок (например, кроме тех случаев, когда размер B блока данных меньше или равен максимальному размеру Z кодового блока). Таким образом, блок 300 данных сегментируется в кодовый блок 360 с помощью устройства 320 сегментации блока данных и устройства 340 присоединения CRC. На фиг.3 кодовый блок 360 означает один или более сегментированных блоков данных.
Со ссылкой на фиг.3, если блок 300 данных вводится в устройство 320 сегментации блока данных, устройство 320 сегментации блока данных вычисляет число C кодовых блоков с учетом входных данных. В этом случае устройство 320 сегментации блока данных может вычислить число C кодовых блоков с учетом размера L кода CRC, который должен быть присоединен к каждому из конечных кодовых блоков (этап S301).
Здесь далее будут описаны различные способы вычисления числа C кодовых блоков, используемых на этапе S301.
Теперь будет описан первый способ вычисления числа кодовых блоков на этапе S301 в соответствии с вариантом осуществления настоящего изобретения.
Приведенное уравнение 1 показывает пример вычисления числа C кодовых блоков.
[Уравнение 1]
C'=[B/Z]; [x] является целым числом, округленным до x в большую сторону
if C'*L+B>C'*Z
C=C'+1
else
C=C'
end.
Устройство 320 сегментации блока данных 320 устанавливает в качестве временного значения C' целое число, округляя в большую сторону значение, полученное делением размера В блока данных на максимальный размер Z кодового блока. Если значение, полученное прибавлением размера В блока данных с результатом умножения временного значения C' на размер L CRC, больше, чем значение, полученное умножением временного значения C' на максимальный размер Z кодового блока, для числа C кодовых блоков устанавливается значение, полученное прибавлением 1 к временному значению C', а в противном случае для числа C кодовых блоков устанавливается временное значение C'.
Между тем, показанное ниже уравнение 2 может использоваться, когда размер В блока данных, введенного в устройство сегментации блока данных, меньше или равен максимальному размеру Z кодового блока.
[Уравнение 2]
if B≤Z
C=1
else
C'=[B/Z]
If C'*L+B>C'*Z
C=C'+1
else
C=C'
end
end
Уравнение 1 и уравнение 2 используют временное значение C' для вычисления числа C кодовых блоков. То есть, число кодовых блоков может быть вычислено точно, получая временное значение округлением в большую сторону результата деления размера блока данных, введенного в устройство 320 сегментации блока данных, на максимальный размер кодового блока.
Другие формы уравнения 1 и уравнения 2 показаны в уравнении 3 и уравнении 4. А именно, число кодовых блоков вычисляется напрямую, не используя временное значение C'.
[Уравнение 3]
if [B/Z]*L+B>[B/Z]*Z
C=[B/Z]+1
else
C=[B/Z]
end
Между тем, нижеследующее уравнение 4 может использоваться, когда размер B блока данных, введенного в устройство сегментации блока данных, меньше или равен максимальному размеру Z кодового блока.
[Уравнение 4]
If B≤Z
C=1
else
if [B/Z]*L+B>[B/Z]*Z
C=[B/Z]+1
else
C=[B/Z]
end
end
Далее будет описан второй способ вычисления числа кодовых блоков на описанном выше этапе S301, соответствующий примеру варианта осуществления настоящего изобретения.
Приведенное ниже уравнение 5 показывает способ вычисления числа C кодовых блоков, используя размер B' измененной входной битовой последовательности.
[Уравнение 5]
if [B/Z]*L+B>[B/Z]*Z
B'=B+([B/Z]+1)*L
else
B'=B+[B/Z]*L
end
C=[B'/Z]
В уравнении 5 вычисляется размер B' измененной входной битовой последовательности, чтобы получить число кодовых блоков. Предполагается, что значение, полученное округлением в большую сторону результата деления размера В блока данных на максимальный размер Z кодового блока, умноженного на размер L CRC, плюс размер B блока данных, равно "М". Также предполагается, что значение, полученное округлением в большую сторону результата деления размера В блока данных на максимальный размер Z кодового блока, умноженного на максимальный размер Z кодового блока, равняется "N".
Если М больше N, размер B' измененной входной битовой последовательности для вычисления числа C и размера K кодовых блоков предполагает значение, полученное округлением в большую сторону результата деления размера В блока данных на максимальный размер Z кодового блока плюс 1, умноженного на размер L CRC плюс размер B блока данных.
Если М меньше N, размер B' измененной входной битовой последовательности предполагает значение, полученное округлением в большую сторону результата деления размера В блока данных на максимальный размер Z кодового блока, умноженного на размер L CRC плюс размер B блока данных.
Поэтому число C кодовых блоков устанавливается равным целому числу, полученному округлением в большую сторону результата деления размера В' измененной входной битовой последовательности для вычисления числа С кодовых блоков и размера К кодовых блоков на максимальный размер Z кодового блока.
Между тем, когда размер В блока данных, введенного в устройство сегментации блока данных, меньше или равен максимальному размеру Z кодового блока, используется следующее уравнение 6.
[Уравнение 6]
if B≤Z
B'=B
else
if [B/Z]*L+[B>[B/Z]*Z
B'=B+([B/Z]+1)*L
else
B'=B+[B/Z]*L
end
end
C=[B'/Z]
Уравнение 5 и уравнение 6 показывают способ вычисления числа C кодовых блоков, используя размер B' измененной входной битовой последовательности без использования временного значения C', в отличие от уравнения 1 и уравнения 2. То есть, число C кодовых блоков может быть получено, используя размер B' измененной входной битовой последовательности.
Далее будет описан третий способ вычисления числа кодовых блоков на этапе S301 в соответствии с вариантом осуществления настоящего изобретения.
Приведенное ниже уравнение 7 показывает другой пример вычисления числа C кодовых блоков.
[Уравнение 7]
C=[B/(Z-L)]
Число C кодовых блоков может быть установлено равным целому числу, округляя в большую сторону результат деления размера В блока данных на значение, полученное при вычитании размера L CRC из максимального размера Z кодового блока.
Между тем, если размер В блока данных, введенного в устройство сегментации блока данных, равен или меньше максимального размера Z кодового блока, может использоваться следующее уравнение 8.
[Уравнение 8]
If B≤Z
C=1
else
C=[B/Z-L)]
end
Уравнение 7 и уравнение 8 показывают способ вычисления числа C кодовых блоков с учетом размера L CRC для каждого кодового блока. Таким образом, размер L CRC может учитываться при сегментации размера В блока данных посредством деления размера В блока данных на значение, полученное вычитанием размера L CRC из максимального размера Z кодового блока. Как результат, сегментация блока данных может быть выполнена точно в соответствии с требованиям пользователя.
Теперь будет описан четвертый способ вычисления числа C кодовых блоков на этапе S301 в соответствии с вариантом осуществления настоящего изобретения.
Уравнение 9, приведенное ниже, показывает случай, когда максимальный размер Z кодового блока является переменным.
[Уравнение 9]
Z'=Z-a
C=[B/Z]
Устройство сегментации данных может установить число C кодовых блоков равным целому числу, округляя в большую сторону результат деления размера В блока данных на значение Z', которое меньше максимального размера Z' кодового блока на "а" (где "а" - натуральное число). Здесь "а" может быть необходимым размером, соответствующим размеру L CRC или системным средам.
Между тем, если размер В блока данных (или входных битов) меньше максимального размера Z кодового блока, может использоваться следующее уравнение 10.
[Уравнение 10]
if B≤Z
C=1
else
Z'=Z-a
C=[B/Z']
end
Далее будет описан пятый способ вычисления числа кодовых блоков на этапе S301 в соответствии с вариантом осуществления настоящего изобретения.
Устройство сегментации данных заменяет максимальный размер Z кодового блока на конкретное значение x и устанавливает число C кодовых блоков равным целому числу, округляя в большую сторону результат деления размера В блока данных на конкретное значение x.
Последующее уравнение 11 показывает пример вычисления числа C кодовых блоков.
[Уравнение 11]
Z=x
C=[В/Z]
Между тем, если размер В блока данных (или входного бита), введенного в блок данных, меньше или равен максимальному размеру Z кодового блока, может использоваться уравнение 12.
[Уравнение 12]
if B≤Z
C=1
else
Z=х
C=[B/Z]
end
Уравнение 11 и уравнение 12 могут использоваться, когда максимальный размер Z кодового блока переменный. То есть, поскольку максимальный размер кодового блока может изменяться в соответствии с системной средой, уравнение 11 и уравнение 12 используются гибко.
Возвращаясь к фиг.3, если число C кодовых блоков определено на этапе S301, размер каждого кодового блока и число кодовых блоков, имеющих конкретную длину, вычисляются, используя, по меньшей мере, число C кодовых блоков или размер B' измененной входной битовой последовательности (этап S302).
Здесь далее будут описаны различные способы вычисления размера K кодового блока на этапе S302 в соответствии с примером варианта осуществления настоящего изобретения.
+
-
Размер К кодового блока может иметь различные значения в соответствии с системными требованиями. В примере варианта осуществления настоящего изобретения предполагаются случаи, когда размер К каждого кодового блока постоянен или имеет размеры K и K. Однако очевидно, что могут использоваться различные размеры кодовых блоков. В примерах вариантов осуществления настоящего изобретения кодовый блок сегментируется из блока данных (или входных битов) и может упоминаться как сегмент.
Теперь будет описан первый способ вычисления размера кодового блока K, когда размер каждого кодового блока является одним и тем же на этапе S302.
Уравнение 13 показывает пример вычисления размера K кодового блока, когда размер каждого кодового блока постоянен.
[Уравнение 13]
K=[B'/C]
Уравнение 13 показывает способ вычисления размера К кодового блока, когда размер каждого кодового блока постоянен.
То есть, размер К кодового блока устанавливается равным целому числу, округляя в большую сторону результат деления размера B' измененной входной битовой последовательности на число C кодовых блоков. В этом случае размер B' измененной входной битовой последовательности является временным значением для получения числа и размера кодовых блоков.
Если размер B' измененной входной битовой последовательности для вычисления числа и размера кодовых блоков не вычислен на этапе S301, значение (C*L+B), полученное умножением числа C кодовых блоков на размер L CRC с последующим прибавлением размера В блока данных к результату умножения, может быть использовано в качестве размера B измененной входной битовой последовательности.
+
+
-
Далее на этапе S302 будет описан второй способ вычисления размера K первого кодового блока, когда размер k кодового блока имеет конкретный размер K или K.
+
Уравнение 14 иллюстрирует пример вычисления размера K кодового блока.
[Уравнение 14]
+
K является минимальным значение K,
где K удовлетворяет выражению C*K≥B+С*L или С*K≥B'
+
+
Кодовый блок, имеющий размер K, использует значение K в приведенной ниже таблице 1. В этом случае правило выбора значения K состоит в том, что результат умножения числа C кодовых блоков на K больше или равен значению, полученному прибавлением размера В входной последовательности к результату умножения числа C кодовых блоков на размер L CRC. Другое правило выбора значения K состоит в том, что результат умножения числа C кодовых блоков на K больше или равен размеру B' измененной входной битовой последовательности. А именно, значение K может иметь минимальное значение среди значений K, удовлетворяющих любому из двух условий уравнения 14.
Если размер кодового блока вычисляется, используя способ, показанный в уравнении 14, поскольку размер кодового блока получается учитывая размер L CRC, блок входных данных (или входная битовая последовательность) может быть точно разделен на желательные длины.
+
Уравнение 15 показывает другой пример вычисления размера К первого кодового блока.
[Уравнение 15]
+
К является минимальным значением K,
где K удовлетворяет выражению C*(K-L)≥B'
+
+
В уравнении 15 кодовый блок, имеющий размер К, использует минимальное значение K, удовлетворяющее условиям выбора, приведенным далее в таблице 1. То есть, наименьшее значение используется как K среди значений K, удовлетворяющих условию выбора, согласно которому значение, полученное умножением числа C кодовых блоков на результат вычитания размера L CRC из K, больше или равно размеру B' измененной входной битовой последовательности.
Приведенное ниже уравнение 16 может использоваться, когда для размера B' измененной входной битовой последовательности в уравнении 15 устанавливается значение, полученное прибавлением размера В входной битовой последовательности с результатом умножения числа C кодовых блоков на размер L CRC.
[Уравнение 16]
+
К является минимальным значением K,
где K удовлетворяет выражению C*(K-L)≥B+C*L
+
В уравнении 16 кодовый блок, имеющий размер K, может использовать значение K, показанное в таблице 1.
Приведенная ниже таблица 1 показывает параметры для значения K, которые могут использоваться в уравнениях 13-16.
Таблица 1
i
Ki
fl
f2
i
Ki
fl
f2
i
Ki
fl
f2
i
Ki
fl
f2
1
40
3
10
48
416
25
52
95
1120
67
140
142
3200
111
240
2
48
7
12
49
424
51
106
96
1152
35
72
143
3264
443
204
3
56
19
42
50
432
47
72
97
1184
19
74
144
3328
51
104
4
64
7
16
51
440
91
110
98
1216
39
76
145
3392
51
212
5
72
7
18
52
448
29
168
99
1248
19
78
146
3456
451
192
6
80
11
20
53
456
29
114
100
1280
199
240
147
3520
257
220
7
88
5
22
54
464
247
58
101
1312
21
82
148
3584
57
336
8
96
11
24
55
472
29
118
102
1344
211
252
149
3648
313
228
9
104
7
26
56
480
89
180
103
1376
21
86
150
3712
271
232
10
112
41
84
57
488
91
122
104
1408
43
88
151
3776
179
236
11
120
103
90
58
496
157
62
105
1440
149
60
152
3840
331
120
12
128
15
32
59
504
55
84
106
1472
45
92
153
3904
363
244
13
136
9
34
60
512
31
64
107
1504
49
846
154
3968
375
248
14
144
17
108
61
528
17
66
108
1536
71
48
155
4032
127
168
15
152
9
38
62
544
35
68
109
1568
13
28
156
4096
31
64
16
160
21
120
63
560
227
420
110
1600
17
80
157
4160
33
130
17
168
101
84
64
576
65
96
111
1632
25
102
158
4224
43
264
18
176
21
44
65
592
19
74
112
1664
183
104
159
4288
33
134
19
184
57
46
66
608
37
76
113
1696
55
954
160
4352
477
408
20
192
23
48
67
624
41
234
114
1728
127
96
161
4416
35
138
21
200
13
50
68
640
39
80
115
1760
27
110
162
4480
233
280
22
208
27
52
69
656
185
82
116
1792
29
112
163
4544
357
142
23
216
11
36
70
672
43
252
117
1824
29
114
164
4608
337
480
24
224
27
56
71
688
21
86
118
1856
57
116
165
4672
37
146
25
232
85
58
72
704
155
44
119
1888
45
354
166
4736
71
444
26
240
29
60
73
720
79
120
120
1920
31
120
167
4800
7l
120
27
248
33
62
74
736
139
92
121
1952
59
610
168
4864
37
152
28
256
15
32
75
752
23
94
122
1984
185
124
169
4928
39
462
29
264
17
198
76
768
217
48
123
2016
113
420
170
4992
127
234
30
272
33
68
77
784
25
98
124
2048
31
64
171
5056
39
158
31
280
103
210
78
800
17
80
125
2112
17
66
172
5120
39
80
32
288
19
36
79
816
127
102
126
2176
171
136
173
5184
31
96
33
296
19
74
80
832
25
52
127
2240
209
420
174
5248
113
902
34
304
37
76
81
848
239
106
128
2304
253
216
175
5312
41
166
35
312
19
78
82
864
17
48
129
2368
367
444
176
5376
251
336
36
320
21
120
83
880
137
110
130
2432
265
456
177
5440
43
170
37
328
21
82
84
896
215
112
131
2496
181
468
178
5504
21
86
38
336
115
84
85
912
29
114
132
2560
39
80
179
5568
43
174
39
344
193
86
86
928
15
58
133
2624
27
164
180
5632
45
176
40
352
21
44
87
944
147
118
134
2688
127
504
181
5696
45
178
41
360
133
90
88
960
29
60
135
2752
143
172
182
5760
161
120
42
368
81
46
89
976
59
122
136
2816
43
88
183
5824
89
182
43
376
45
94
90
992
65
124
137
2880
29
300
184
5888
323
184
44
384
23
48
91
1008
55
84
138
2944
45
92
185
5952
47
186
45
392
243
98
92
1024
31
64
139
3008
157
188
186
6016
23
94
46
400
151
40
93
1056
17
66
140
3072
47
96
187
6080
47
190
47
408
155
102
94
1088
171
204
141
3136
13
28
188
6144
263
480
1
2
В таблице 1 параметры f и f могут варьироваться в соответствии со значением K, которое является размером входных данных.
-
+
-
Далее будет описан третий способ вычисления размера Kкодового блока, когда на этапе S302 размер K кодового блока K имеет конкретный размер K, или K.
-
+
-
Значение Kможет быть установлено равным максимальному значению среди значений K, которые меньше чем K, вычисленное согласно любому из уравнений 14-16. Значение K может использовать значения, указанные в таблице 1. Последующее уравнение 17 показывает способ вычисления значения K.
[Уравнение 17]
-
K - максимальное значение K,
+
где K удовлетворяет условию K<K
-
При вычислении K, используя значения, указанные в таблице 1, и уравнение 17, сегментация блока входных данных (или входной битовой последовательности) может быть выполнена точно с учетом размера кодового блока, к которому присоединен код CRC.
+
-
+
-
+
-
Описание было сделано для способа вычисления размеров К и К кодовых блоков согласно уравнениям 14-17, когда размер кодового блока является конкретным размером. В этом случае необходимо получить числа C и C кодовых блоков, имеющих размеры кодовых блоков К и К, соответственно, чтобы точно разделить входной блок данных.
-
-
Здесь далее будут описаны способы вычисления на этапе S302 числа C кодовых блоков, имеющих определенный размер K.
-
-
Уравнение 18 показывает первый способ вычисления числа C вторых кодовых блоков, имеющих размер K.
[Уравнение 18]
-
+
k
+
-
Число C вторых кодовых блоков может быть вычислено путем округления до целого числа в меньшую сторону результата деления значения общего числа C кодовых блоков, умноженного на размер K первых кодовых блоков, минус размер B' измененной входной битовой последовательности, на значение разности Δ между К и K. Размер B' измененной входной битовой последовательности является временным значением для вычисления числа и размера кодовых блоков.
-
-
В уравнении 18 число C кодовых блоков, имеющих размер K, вычисляется, используя размер B' измененной входной битовой последовательности. Поэтому сегментация входной последовательности блока данных (или входной битовой последовательности) может быть точно выполнена с учетом размера L CRC, содержащегося в каждом кодовом блоке.
Уравнение 18 может быть выражено как следующее уравнение 19.
[Уравнение 19]
Уравнение 19 показывает, что для размера B' измененной входной битовой последовательности установлено значение, полученное умножением числа C кодовых блоков на размер L CRC и прибавления затем размера В блока данных к результату умножения.
-
Далее будет описан второй способ вычисления на этапе S302 числа C кодовых блоков, имеющих размер К вторых кодовых блоков.
-
-
Уравнение 20 показывает пример вычисления числа C вторых кодовых блоков, имеющих размер K.
[Уравнение 20]
-
+
+
-
Число C вторых кодовых блоков может быть вычислено посредством округления в меньшую сторону до целого числа результата деления значения C*(K-L)-B' на разность D между K и K.
-
То есть, уравнение 20 показывает способ вычисления числа Cвторых кодовых блоков, учитывая размер L CRC, который должен содержаться в первом кодовом блоке.
Уравнение 21 показывает пример выражения уравнения 20, используя размер B' измененной входной битовой последовательности. То есть, для размера B' измененной входной битовой последовательности устанавливается значение, полученное прибавлением размера B блока данных к результату умножения числа C кодовых блоков на размер L CRC.
[Уравнение 2l]
+
+
Способ вычисления числа C первых кодовых блоков на этапе S302, имеющих конкретный размер K, является следующим.
[Уравнение 22]
+
+
-
В уравнении 22 число C первых кодовых блоков, имеющих конкретный размер K, вычисляется путем вычитания числа C вторых кодовых блоков, вычисленного с использованием уравнений 19-21, из общего числа C кодовых блоков.
+
-
Возвращаясь к фиг.3, размер каждого кодового блока, вычисленный на этапе S302, может быть фиксированным или каждый кодовый блок может иметь конкретный размер K или K. Размер К блока данных может быть определен в соответствии с системными требованиями.
При делении блока данных значение, полученное прибавлением размеров всех кодовых блоков, может быть больше, чем размер B' измененной входной битовой последовательности для вычисления числа C кодовых блоков и размера К кодового блока. В этом случае вычисляется длина F битов заполнителя, соответствующая разности между значением, полученным путем прибавления размеров всех кодовых блоков, и размером B' измененной входной кодовой последовательности (этап S303).
Биты заполнителя служат для выравнивания первоначально введенного блока данных с размерами кодовых блоков, когда код обнаружения ошибок присоединяется к кодовым блокам, сегментированным из блока данных. Если число кодовых блоков равно 0, длина F битов заполнителя также равна 0.
Теперь будут описаны способы вычисления длины F битов заполнителя.
Длина F битов заполнителя может быть вычислена вычитанием размера B' измененной входной битовой последовательности из результата умножения числа C кодовых блоков на размер K кодовых блоков.
Нижеследующее уравнение 23 показывает первый способ вычисления длины F битов заполнителя.
[Уравнение 23]
F=C*K-B'
Уравнение 23 показывает способ вычисления длины битов заполнителя, когда входной блок данных сегментируется на кодовые блоки одной и той же длины.
Следующее уравнение 24 выражает уравнение 23, используя размер В' измененной входной битовой последовательности.
[Уравнение 24]
F=С*К-(B+C*L)
Второй способ вычисления длины F битов заполнителя на этапе S303 является следующим.
+
-
Уравнение 25 показывает пример вычисления длины F битов заполнителя. А именно, уравнение 25 показывает способ вычисления длины битов заполнителя, когда входной блок данных (или входная битовая последовательность) имеет определенный размер (например, K или K).
[Уравнение 25]
+
+
-
-
F=C*K+C*K-B'
+
+
-
-
Длина F битов заполнителя может быть вычислена, вычитая размер B' измененной входной битовой последовательности из суммы размеров всех кодовых блоков. То есть, длина F битов заполнителя может быть вычислена, вычитая размер B' измененной входной битовой последовательности из значения (C*K)+(C*К).
Используя уравнение 25, примеры вариантов осуществления настоящего изобретения могут быть применены, даже когда размеры кодовых блоков, сегментированных из блока данных, различаются. Так как длина битов заполнителя может быть вычислена, когда код обнаружения ошибок содержится в кодовых блоках, кодовые блоки могут создаваться точно.
В нижеследующем уравнении 26 для размера B' измененная входной битовой последовательности устанавливается значение, полученное умножением длины L кода обнаружения ошибок на число C кодовых блоков и последующим прибавлением размера В блока данных (или входных битов) к результату умножения.
[Уравнение 26]
+
+
-
-
F=C*K+C*K-(B+С*L)
Возвращаясь к фиг.3, если число кодовых блоков, размер кодовых блоков и длины битов заполнителя определены, устройство 320 сегментации блока данных может последовательно распределять данные по кодовым блокам (этап S304).
На этапе S304, если блок (300) данных состоит из одного кодового блока, содержащего код обнаружения ошибок, данные распределяются блоку 300 данных и не вводятся в устройство 340 присоединения CRC. Так обстоит дело, когда размер блока 300 данных меньше или равен максимальному размеру кодового блока 360. Поэтому блок данных сегментируется устройством 320 сегментации и этап присоединения кода CRC к каждому сегментированному кодовому блоку опущен. То есть, блок 300 входных данных напрямую используется в качестве кодового блока 360. Соответственно, только первоначально введенный код CRC присутствует в кодовом блоке 360 и нет необходимости присоединять к кодовому блоку 360 код CRC, созданный устройством 340 присоединения CRC.
Если данные распределяются по кодовым блокам, кодовые блоки вводятся в устройство 340 присоединения CRC. Устройство 340 присоединения CRC создает разряды проверки на четность CRC заданной длины, используя уравнение создания CRC, основываясь на кодовых блоках (этап S305).
Устройство присоединения CRC присоединяет биты проверки на четность CRC, созданные на этапе S305, в заднюю часть кодовых блоков в прямом или обратном порядке. И наконец, создаются кодовые блоки с присоединенными CRC (этап S306).
Второй вариант осуществления изобретения
На фиг.4 показан пример процесса присоединения кодов CRC к кодовым блокам в соответствии с примером варианта осуществления настоящего изобретения.
Со ссылкой на фиг.4, блок данных (первый блок 400 данных) вводится в устройство 420 сегментации блока данных и сегментируется на кодовые блоки (второй блок данных). Кодовые блоки 430 с учетом размера CRC вводятся в блок 440 присоединения CRC для создания кодового блока 460 с присоединенным кодом CRC. Этот процесс подобен способу, показанному на фиг.3, за исключением этапов S304 и S306 на фиг.3.
Другой пример варианта осуществления настоящего изобретения предполагает, что размер кодового блока 430, введенного в устройство присоединения CRC, равен размеру блока 460 с присоединенным CRC. То есть, размер CRC содержится в размере кодового блока, вводимого в устройство присоединения CRC. Соответственно, вычисляя количество и размер кодовых блоков относительно входных данных, для устройства сегментации блока данных желательно учесть размер кода CRC, который должен быть присоединен в пределах каждого кодового блока.
Если число C кодовых блоков, размер K кодового блока и длина F битов заполнителя определены, устройство 420 сегментации блока данных последовательно распределяет данные по кодовым блокам. В это время биты заполнителя и данные распределяются первому блоку кодовых блоков.
В другом примере варианта осуществления настоящего изобретения данные распределяются по кодовым блокам с учетом размера L CRC, который должен присоединяться в устройстве присоединения CRC. Поэтому биты заполнителя и данные распределяются первой кодовому блоку и значение, состоящее из нулей или единиц, соответствующее размеру кода CRC, распределяется для назначения области CRC. Однако значение указывает только область CRC и не означает, что код CRC присоединяется к области CRC.
Данные распределяются последовательно, начиная со второго кодового блока и до последнего кодового блока. Значение, состоящее из нулей или единиц, указывает, что область CRC распределяется каждому кодовому блоку, чтобы обеспечить область CRC.
Устройство присоединения CRC присоединяет коды CRC к кодовым блокам. В этом случае создаются биты проверки на четность CRC, соответствующие области CRC, заполненной нулями или единицами, и биты проверки на четность CRC присоединяются в прямом или обратном порядке. Этот процесс выполняется для каждого кодового блока. Размер L кода CRC может составить 24 бита.
С помощью описанного выше способа блок данных, имеющий заданный размер, сегментируется на кодовые блоки с присоединенным CRC с помощью устройства 420 сегментации блока данных и устройства 440 присоединения CRC.
Однако если блок 400 данных меньше или равен максимальному размеру кодового блока, блок данных не проходит через устройство 420 сегментации блока данных и устройство 440 присоединения CRC. А именно, если блок 400 данных состоит из одного кодового блока, содержащего код CRC, поскольку блок 400 данных уже содержит код CRC, то блоку 400 данных распределяются только данные и код CRC не присоединяется в устройстве присоединения CRC.
При конфигурации кодового блока, вводимого в устройство присоединения CRC, подробный пример введения размера CRC в кодовый блок является следующим.
В таблице 2 показано уравнение конфигурации кодового блока, учитывающей размер CRC.
Таблица 2
Синтаксис
Значение
Примечания
for k=0 to F-l
0<sub>0k</sub>=0 or 1
end for
K=F
S=0
for r=0 to C-1
if r<C<sub>-</sub>
K<sub>r</sub>=K<sub>-</sub>
Else
K<sub>r</sub>=K<sub>+</sub>
end if
While (k<K<sub>r</sub>)
if (k<K<sub>r</sub>-L)
O<sub>rk</sub>=b<sub>s</sub>
s=s+1
Else
O<sub>rk</sub>=0 or 1
end if
k=k+1
end while
k=0
end for
В таблице 3 показано выражение конфигурации кодового блока, учитывающей размер CRC, когда блок данных состоит из одного кодового блока, содержащего код обнаружения ошибок.
Таблица 3
Синтаксис
Значение
Примечания
if C=1
L=0
end if
for k=0 to F-l
O<sub>ok</sub>=0 or 1
end for
K=F
S=0
for r=0 to C-l
if r<C<sub>-</sub>
K<sub>r</sub>=K<sub>-</sub>
Else
K<sub>r</sub>=K<sub>+</sub>
end if
while (k<K<sub>r</sub>)
if (k<K<sub>r</sub>-L)
O<sub>rk</sub>=b<sub>s</sub>
s=s+1
Else
O<sub>rk</sub>=0 or 1
end if
k=k+1
end while
k=0
end for
rk
Основными параметрами, используемыми в таблице 2 и таблице 3, являются следующие параметры. Параметр "F" указывает длину битов заполнителя, "O" указывает выход устройства сегментации блока данных, "r" указывает номер кодового блока, и "k" указывает номер бита в r-ом блоке.
+
-
-
+
+
-
+
-
r
Предполагается, что размер кодового блока равен K и K (где K меньше, чем K). Параметры C и C указывают количества конкретных кодовых блоков, то есть количества кодовых блоков, имеющих размеры K и K, соответственно. Параметр "L", показанный в таблице 2 и таблице 3, указывает размер кода CRC, который должен присоединяться к каждому кодовому блоку, и "K" указывает размер, который должен присоединяться к кодовому блоку.
Пример присоединения кода CRC к каждому кодовому блоку, созданному с учетом размера CRC, показан в уравнении 27.
[Уравнение 27]
rk
rk
r
O=O; k=0, 1, 2,…, K-L-1
rk
r(Kr-k-1)
r
r
r
r
r
0=P; k=K-L, K-L+1, K-L+2,…, K-1(=K-L+L-1)
Когда размер B блока данных меньше максимального размера Z кодового блока, пример присоединения кода CRC к каждому кодовому блоку, созданному с учетом размера L CRC, показан в уравнении 28.
[Уравнение 28]
if C=l
bypass
else
rk
rk
r
O=O; k=0, 1, 2,…, K-L-1
rk
r(Kr-k-1)
r
r
r
r
r
0=P; k=K-L, K-L+l, K-L+2,…, K-1(=K-L+L-l)
end if
r0
r1
r2
rKr-1
r0
r1
r2
rL-1
r0
r1
r2
rKr-1
r0
r1
r2
rKr-1
При вычислении параметров для присоединения CRC предполагается, что размер, присоединяемый к кодовому блоку, равен Kr, и размер CRC, присоединяемый к каждому кодовому блоку, равен L. Входные биты могут обозначаться как O, O, O,…, O. Биты проверки на четность CRC могут быть обозначены p, p, p,…, p. Биты проверки на четность CRC могут быть созданы, используя уравнение генерации CRC, основываясь на входных битах. После того, как биты проверки на четность CRC присоединены, биты могут быть обозначены как O, O, O,…, O или C, C, C,…, C в том же самом пространстве или других пространствах. Биты проверки на четность CRC могут быть присоединены в прямом или обратном порядке кодового блока в соответствии с системными требованиями.
Третий вариант осуществления изобретения
На фиг.5 показан другой пример процесса присоединения кодов CRC к кодовым блокам в соответствии с вариантом осуществления настоящего изобретения.
На фиг.5 размер входного кодового блока 530, вводимого в устройство 540 присоединения CRC, имеет значение, полученное вычитанием размера L CRC из размера выходного кодового блока 560. Хотя работа устройства 520 сегментации блока данных по делению блока данных (первый блок 500 данных) подобна работе устройств сегментации блоков данных, показанных на фиг.3 и фиг.4, способ распределения данных кодовому блоку (второй блок данных) и способ создания блока с присоединенным CRC отличаются от способов, показанных на фиг.3 и фиг.4.
А именно, хотя размер CRC уситывается при делении блока данных, область CRC не предусмотрена в размере кодовых блоков, вводимых в устройство присоединения CRC, которое отличается от способа, показанного на фиг.4.
Со ссылкой на фиг.5, первый блок 500 данных вводится в устройство 520 сегментации блока данных и сегментируется на кодовый блок 530 и кодовой блок 530 вводится в устройство 540 присоединения CRC, создавая тем самым кодовый блок 56 с присоединенным кодом CRC.
На фиг.5, если блок 500 данных вводится в устройство 520 сегментации блока данных, устройство 520 сегментации блока данных вычисляет число C и размер Z кодовых блоков с учетом размера CRC. Устройство 520 сегментации блока данных также вычисляет длину F битов заполнителя, используя число C и размер K кодовых блоков. Устройство 520 сегментации блока данных распределяет биты заполнителя и данные первому блоку среди кодовых блоков. В этом случае данные последовательно распределяются в соответствии с длиной, вычитая длину битов заполнителя размер L CRC из размера кодового блока. Размер L CRC может составить 24 бита.
Устройство сегментации блока данных последовательно распределяет данные, соответствующие длине, вычитая размер CRC из размера кодового блока во втором блоке. Процесс распределения данных повторяется соответственно числу других кодовых блоков. С помощью процесса распределения данных производится конфигурирование кодовых блоков, вводимых в устройство присоединения CRC.
Таким образом, число C кодовых блоков, вычисленное устройством сегментации блоков данных, передается в устройство присоединения CRC, так чтобы устройство присоединения CRC могло использовать число C кодовых блоков для присоединения кодов CRC к кодовым блокам. Полагая, что размер каждого кодового блока, вводимого в устройство присоединения CRC, является постоянным, размер входного кодового блока 530 получается умножением числа C кодовых блоков на результат вычитания размера К CRC из размера K кодового блока. Альтернативно, размер входного кодового блока 530 может быть установлен равным сумме размеров кодовых блоков, каждый из которых имеет значение, вычисленное путем вычитания размера L CRC из размера К кодового блока.
При вычислении всего размера кодового блока 530, вводимого в устройство присоединения CRC в соответствии с вариантом осуществления настоящего изобретения, описанным на фиг.5, кодовый блок 530 имеет размер, меньший, чем размер, вычисленный по способу, показанному на фиг.4, на размер кодов CRC, которые быть присоединены к кодовым блокам.
Со ссылкой на фиг.5, устройство присоединения CRC создает заданный размер битов проверки на четность CRC, используя уравнение генерации CRC, основываясь на входных кодовых блоках и числе кодовых блоков. Устройство присоединения CRC присоединяет биты проверки на четность к концу каждого кодового блока в прямом или обратном порядке.
Используя способ, описанный со ссылкой на фиг.5, блок данных, имеющий заданный размер, состоит из кодовых блоков с присоединенным CRC, проходящих через устройство сегментации блока данных и устройство присоединения CRC.
Однако если блок данных состоит из одного кодового блока, содержащего код CRC, этап прохождения через устройство присоединения CRC 540 после распределения данных пропускается. А именно, если размер блока данных меньше или равен максимальному размеру кодового блока, нет необходимости делить блок данных и код CRC, введенный первоначально в блок данных, используется без повторного присоединения кодов CRC через устройство 540 присоединения CRC.
Подробный пример конфигурирования кодового блока, вводимого в устройство присоединения CRC, когда код CRC не содержится в кодовом блоке, хотя размер CRC учитывается при конфигурировании кодового блока, теперь будет описан в соответствии с другим примером варианта осуществления настоящего изобретения.
Приведенная ниже таблица 4 показывает уравнение для конфигурации кодового блока, который не содержит код CRC, хотя размер CRC учитывается при создании кодового блока.
Таблица 4
Синтаксис
Значение
Примечания
for k=0 to F-l
O<sub>ok</sub>=0 or 1
end for
k=F
s=0
for r=0 to C-l
if r<C<sub>-</sub>
K<sub>r</sub>=K<sub>-</sub>
Else
K<sub>r</sub>=K<sub>+</sub>
end if
while (k<K<sub>r</sub>-L)
O<sub>rk</sub>=b<sub>s</sub>
k=k+1
s=s+1
end while
k=0
end for
Приведенная ниже таблица 5 показывает уравнение конфигурации кодового блока, который учитывает размер CRC, но не содержит код CRC, когда блок данных, содержащийся в одном кодовом блоке, содержит код CRC.
Таблица 5
Синтаксис
Значение
Примечания
if C=I
L=0
end if
for k=0 to F-l
O<sub>0k</sub>=0 or 1
end for
k=F
s=0
for r=0 to C-1
if r<C<sub>-</sub>
K<sub>r</sub>=K<sub>-</sub>
Else
K<sub>r</sub>=K<sub>+</sub>
end if
while (k<Kr-L)
O<sub>rk</sub>=b<sub>s</sub>
k=k+1
s=s+1
end while
k=0
end for
rk
Основными параметрами, используемыми в таблице 4 и таблице 5, являются следующие параметры. "F" указывает длину битов заполнителя, "O" указывает выход устройства сегментации блока данных, "r" указывает номер кодового блока и "k" указывает битовый номер r-ого блока.
+
-
-
+
+
-
+
-
r
Предполагается, что кодовые блоки имеют размеры K и K (где K меньше, чем K). Параметры "C" и "C" указывают число конкретных кодовых блоков, то есть, число кодовых блоков, имеющих размеры K и K, соответственно. Параметр "L", показанный в таблице 4 и таблице 5, указывает, что размер CRC, который должен быть присоединен к каждому кодовому блоку и "K" указывает размер, который должен применяться к кодовому блоку.
Со ссылкой на фиг.5, конфигурируется кодовый блок, который учитывает размер CRC, но не содержит код CRC, и уравнение 27 может использоваться для присоединения кода CRC к кодовым блокам.
Если блок данных не сегментирован и состоит из одного кодового блока, содержащего код CRC, кодовый блок, который учитывает размер CRC, но не содержит код CRC, конфигурируется и уравнение 28 может использоваться для присоединения кода CRC к кодовому блоку.
r0
r1
r2
rKr-1
r0
r1
r2
rKr-1
Биты после присоединения CRC могут быть обозначены как O, O, O,…, O или C, C, C,…, C. А именно, биты могут содержаться в одном и том же пространстве или в разных пространствах
Четвертый вариант осуществления изобретения
На фиг.6 показана схема процесса сегментации блока данных и присоединения кодов CRC с учетом размера CRC в соответствии с вариантом осуществления настоящего изобретения.
Блок данных (первый блок 600 данных), имеющий заданный размер, вводится в функциональный модуль 620 (устройство сегментации блока данных и присоединения CRC), чтобы создать кодовый блок (второй блок 640 данных). Функциональный модуль 620 сегментирует блок данных и одновременно присоединяет коды CRC. Блок 600 данных может содержать в себе код CRC до того, как вводится в функциональный модуль 620.
Если блок 600 данных вводится в функциональный модуль 620, функциональный модуль 620 вычисляет число C кодовых блоков, учитывая размер L CRC (этап S601). Функциональный модуль 620 вычисляет размер К кодового блока, используя число C кодовых блоков (этап S602). Функциональный модуль 620 вычисляет длину F битов заполнителя, используя число C кодовых блоков и размер К кодовых блоков (этап S603).
Способы вычисления числа C кодовых блоков, размера кодовых блоков K и длины F битов заполнителя, используемые на этапах S601-S603, могут использовать один или более способов, применяемых на фиг.3-5. Однако способ распределения данных и кодов CRC по кодовым блокам на этапе S604 отличается от способов, описанных со ссылкой на фиг.3-5. Размер L CRC может составлять 24 бита.
Со ссылкой на фиг.6, этап S604 распределения данных и кодов CRC по кодовым блокам является следующим.
+
-
+
-
Хотя биты заполнителя присоединяются к началу первого кодового блока и данные, соответствующие длине, за исключением размера L CRC, распределяются в первом кодовом блоке, код CRC присоединяется к концу первого кодового блока в прямом или обратном порядке. Во втором кодовом блоке данные, соответствующие длине, за исключением размера CRC, распределяются и код CRC присоединяется к концу второго кодового блока в прямом или обратном порядке. Упомянутый выше процесс распределения данных по кодовым блокам после второго кодового блока повторяется для каждого из числа C остающихся кодовых блоков. Размер К кодового блока может иметь тот же самый размер или конкретные значения (например, K или K). Значения K и K указывают мгновенные изменения величины K. Используя способ, показанный на фиг.6, блок данных, имеющий заданный размер, может состоять из кодового блока 640 c CRC, присоединенного через функциональный модуль 620. Однако если блок данных содержит один кодовый блок, содержащий код CRC, код CRC не присоединяется после того, как данные распределены, поскольку блок данных содержит код CRC.
После того как кодовый блок создан, выполняется канальное кодирование. Канальное кодирование относится к процессу преобразования первоначального кода, созданного передающей стороной, так чтобы принимающая сторона могла обнаружить и/или исправить ошибки во время передачи данных через канал. Таким образом, канальное кодирование относится к процессу исключения ошибок в канальных средах, обладающих ограниченной мощностью или ограниченной полосой пропускания.
Для канального кодирования могут применяться различные способы. Канальное кодирование содержит линейное кодирование и циклическое кодирование типа, не требующего обращения к запоминающему устройству, сверточное кодирование с концевой битовой комбинацией и турбокодирование типа, требующего обращения к запоминающему устройству.
На фиг.7 показана схема процесса преобразования блока данных в кодовые блоки с учетом размера CRC в соответствии с вариантом осуществления настоящего изобретения.
Со ссылкой на фиг.7, если блок данных (первый блок 700 данных) вводится в функциональный модуль 720 (устройство присоединения CRC и сегментации блока данных), блок данных сегментируется в кодовый блок (второй блок 740 данных) с учетом размера L CRC. Процесс преобразования блока данных в кодовый блок через устройство присоединения CRC и сегментации блока данных может использовать процесс, показанный на фиг.6. На фиг.7 блок 700 данных может содержать код CRC для блока данных до того, как блок данных будет введен в функциональный модуль.
Здесь далее будет описан пример выполнения сегментации блока данных и присоединения CRC в одном функциональном модуле.
Приведенная ниже таблица 6 показывает уравнение конфигурации блока данных для сегментации блока данных и присоединения кода CRC, когда сегментация блока данных и присоединение кода CRC выполняются в одном функциональном модуле 720.
Таблица 6
Синтаксис
Значение
Примечания
for k=0 to F-l
O<sub>0k</sub>=0 or 1
end for
k=F
s=0
for r=0 to C-l
if r<C.
K<sub>r</sub>=K<sub>-</sub>
else
K<sub>r</sub>=K<sub>+</sub>
end if
while (k<K<sub>r</sub>)
if (k<K<sub>r</sub>-L)
O<sub>rk</sub>=b<sub>s</sub>
Распределить b<sub>s</sub> по O<sub>rk</sub> и одновременно создать биты четности
s=s+1
Else
O<sub>rk</sub>=P<sub>(L-l-(k-(Kr-L)))</sub>
end if
k=k+1
end while
k=0
end for
Последующая таблица 7 показывает уравнение конфигурации блока данных для сегментации блока данных и присоединения кодов CRC, когда блок данных не сегментируется и состоит из одного кодового блока, содержащего код CRC (то есть, C=l), и когда сегментация блока данных и присоединение кода CRC выполняются в одном функциональном модуле 720.
Таблица 7
Синтаксис
Значение
Примечания
if C=l
L=0
end if
for k=0 to F-l
O<sub>0k</sub>=0 or 1
end for
k=F
s=0
for r=0 to C-l
if r<C.
K<sub>r</sub>=K<sub>-</sub>
else
K<sub>r</sub>=K<sub>+</sub>
end if
while (k<K<sub>r</sub>)
if (k<K<sub>r</sub>-L)
if C=1
O<sub>rk</sub>=b<sub>s</sub>
Распределить b<sub>s</sub> по O<sub>rk</sub> и одновременно создать биты четности
else
O<sub>rk</sub>=b<sub>s</sub>
end if
s=s+1
else
O<sub>rk</sub>=p<sub>r(Kr-k-1)</sub>
end if
k=k+1
end while
k=0
end for
rk
Основными параметрами, используемыми в таблице 6 и таблице 7, являются следующие параметры. Параметр "F" указывает длину битов заполнителя, "O" указывает выход устройства сегментации блока данных, "r" указывает номер кодовых блоков и "k" указывает битовый номер r-ого блока.
+
-
-
+
+
-
+
-
r
Предполагается, что кодовые блоки имеют размеры K и K (где K меньше, чем K). Параметры "C" и "C" указывают число конкретных кодовых блоков, то есть, число кодовых блоков, имеющих размеры K и K, соответственно. Параметр "L", показанный в таблице 6 и таблице 7, указывает размер CRC, который должен быть присоединен к каждому кодовому блоку, и "K" указывает размер, который должен применяться к конечному кодовому блоку.
r0
r1
r2
rL-1
r0
r1
r2
rKr-1
r0
r1
r2
rKr-1
Биты проверки на четность CRC могут быть обозначены как p, p, p,,…, p. Биты проверки на четность CRC могут создаваться, используя уравнение генерации CRC, основываясь на входных блоках. Биты после сегментации данных и присоединения CRC могут быть обозначены как O, O, O,…, O или C, C, C,…, C. А именно, биты могут содержаться в одном и том же пространстве или в разных пространствах.
Пятый вариант осуществления изобретения
Дополнительный пример варианта осуществления настоящего изобретения может быть создан посредством объединения способов, описанных для первого-четвертого вариантов осуществления.
Данные большого размера могут быть сегментированы перед передачей на данные надлежащих размеров в соответствии с требованиями системы для эффективной передачи данных. Соответственно, необходимо сегментировать блок входных данных соответствующим способом. Может быть важным определить, какой способ должен использоваться для сегментации блока данных.
Устройство сегментации блока данных и присоединения CRC, соответствующее дополнительному примеру варианта осуществления настоящего изобретения, является функциональным модулем для сегментации логического блока данных (или входной битовой последовательности) и присоединения кодов CRC. Функциональный модуль может сегментировать входной блок данных на кодовые блоки в соответствующем количестве, учитывая размер кодов обнаружения ошибок (например, кодов CRC), введенных в кодовые блоки, которые должны сегментироваться.
Если входные битовые последовательности сегментируются на кодовые блоки (или сегменты), максимальный размер Z кодового может быть определен в соответствии с системными требованиям. В примерах вариантов осуществления настоящего изобретения максимальный размер кодового блока желательно иметь равным 6144 битов.
0
1
2
B-1
Последовательность входных битов (или блока данных), вводимая в функциональный модуль, может быть обозначена как b, b, b,…, b. Размер входной битовой последовательности может быть обозначен как "B" (где B больше 1). Если размер B входной битовой последовательности больше, чем максимальный размер Z кодового блока, может быть выполнена сегментация входной битовой последовательности. Размер L CRC может составлять 24 бита. А именно, 24-битовый код CRC, который является одним из типов кода обнаружения ошибок, может присоединяться к каждому кодовому блоку, созданному сегментацией входной битовой последовательности.
Если длина битов заполнителя не равна 0, биты заполнителя могут быть добавлены в начало первого кодового блока. Если размер В входной битовой последовательности составляет меньше 40 битов, биты заполнителя добавляются в начало кодового блока. Биты заполнителя устанавливаются на ноль при вводе в функциональный модуль.
Общее число C кодовых блоков, созданных путем сегментации входных битов, может быть вычислено согласно следующему уравнению 29.
[Уравнение 29]
if B≤Z
L=0
C=1
B'=B
else
L=24
C=[B/(Z-L)]
B'=B+C*L
end if
В уравнении 29 B указывает размер входной битовой последовательности (или блока данных), а B' указывает значение, полученное прибавлением размера В входной битовой последовательности с результатом умножения числа C кодовых блоков на размер L CRC. Таким образом, B' указывает размер измененной входной битовой последовательности для вычисления числа и размера кодовых блоков.
В уравнении 29, если размер В входной битовой последовательности меньше максимального размера Z кодового блока, размер кодов обнаружения ошибок, которые должны присоединяться к кодовым блокам, может быть установлен равным 0 и общее число C кодовых блоков может быть установлено равным 1. Размер B' измененной битовой последовательности может быть установлен равным размеру В входной битовой последовательности.
Если размер B входной битовой последовательности больше максимального размера Z кодового блока, размер L CRC может быть установлен равным 24 бита и общее число C кодовых блоков может быть установлено равным значению, полученному округлением в большую сторону значения, полученного делением размера В входной битовой последовательности на результат вычитания размера CRC из максимального размера Z кодового блока. Размер В' измененной входной битовой последовательности может быть установлен равным значению, полученному прибавлением размера В входной битовой последовательности к результату умножения общего числа C кодовых блоков на размер L CRC.
r0
r1
r2
r3
r(Kr-1)
r
Если число кодовых блоков не равно 0, кодовые блоки, созданные из функционального блока, могут быть обозначены как c, c, c, c,…, c (где r указывает номер кодового блока и K указывает размер r-ого кодового блока).
+
-
Функциональный модуль должно вычислять размер каждого кодового блока после вычисления числа кодовых блоков согласно уравнению 29. Входные битовые последовательности могут сегментироваться на кодовые блоки, имеющие один и тот же размер или имеющие конкретный размер (например, K или K). Очевидно, что кодовые блоки обладают различными размерами в соответствии с требованиям пользователей или системы.
+
-
В другом примере варианта осуществления настоящего изобретения размеры кодовых блоков могут быть K и K. В этом случае число C кодовых блоков не должно быть равно 0.
+
+
+
В примере варианта осуществления настоящего изобретения размер первых кодовых блоков (или первых сегментов) может быть обозначен как K. Размер K может быть определен из значений K в таблице 1. Размер K может быть определен минимальным значением среди значений K, удовлетворяющих условию, что значение, полученное умножением числа C кодовых блоков на размер K кодовых блоков, больше размера B' измененной входной битовой последовательности.
+
+
-
-
Если число C кодовых блоков равно 1, то число число C кодовых блоков, имеющих размер K, равно 1 и число С кодовых блоков, имеющих размер K, равно 0.
-
-
+
k
+
-
Если число кодовых блоков равно 2 или больше (C>1), размер K вторых кодовых блоков (или вторых сегментов) может определяться значениями K, показанными в таблице 1. Желательно, чтобы размер K имел максимальное значение среди значений K, меньших размера K. Величина изменения Δ для K указывает разность между K и K.
-
-
+
k
Число C вторых кодовых блоков, имеющих размер K, может быть вычислено, округляя в меньшую сторону значение, полученное делением значения, полученного вычитанием размера B' измененной входной битовой последовательности из результата умножения числа C кодовых блоков на размер K первых кодовых блоков, на изменение Δ для K.
+
+
-
Число C первых кодовых блоков, имеющих размер K, может быть вычислено, вычитая число C вторых кодовых блоков из общего числа C кодовых блоков.
Так как размер L CRC, содержащийся в кодовом блоке, учитывается при вычислении числа C кодовых блоков и размера К кодовых блоков, сумма кодовых блоков может быть больше, чем размер B' измененной входной битовой последовательности. Затем биты заполнителя, соответствующие разности, могут быть добавлены к первому кодовому блоку.
+
+
-
-
В другом примере варианта осуществления настоящего изобретения длина F битов заполнителя может быть вычислена с помощью разности между размером B' измененной битовой последовательности и значением (C*K)+(C*K).
В таблице 8 показано уравнение конфигурации, созданное с учетом размера CRC.
Таблица 8
Синтаксис
Значение
Примечания
for k=0 to F-l
C<sub>0k</sub>=<NULL>
end for
k=F
s=0
for r=0 to C-l
if r<C<sub>-</sub>
K<sub>r</sub>=K<sub>-</sub>
else
K<sub>r</sub>=K<sub>+</sub>
End if
while (k<K<sub>r</sub>-L)
c<sub>rk</sub>=b<sub>s</sub>
k=k+1
s=s+1
End while
if C>1
while k<K<sub>r</sub>
c<sub>rk</sub>=p<sub>r(Kr-k-l)</sub>
Последовательность c<sub>r0</sub>, c<sub>r1</sub>, c<sub>r2</sub>,…, c<sub>r(Kr-L-l)</sub> используется для вычисления битов проверки на четность p<sub>r0</sub>, p<sub>r1</sub>, p<sub>r2</sub>,…, p<sub>r(L-1)</sub> согласно подпункту 5.1.1.
k=k+1
end while
End if
k=0
end for
r0
r1
r2
r(Kr-1)
r0
r1
r2
r(L-1)
Со ссылкой на таблицу 8, функциональный модуль конфигурирует кодовый блок, вводя кодовый блок размера CRC. Последовательность кодовых блоков c, c, c,…, c может использоваться для вычисления битов проверки на четность CRC p, p, p,…, p.
В другом примере варианта осуществления настоящего изобретения код обнаружения ошибок, введенный заранее в входной блок данных, может упоминаться как транспортный блок (TB) CRC (или первый код обнаружения ошибок), а код обнаружения ошибок, введенный в кодовые блоки, которые должны сегментироваться, может упоминаться как кодовый блок (СВ) CRC (или второй код обнаружения ошибок). Начальный блок данных перед тем, как TB CRC присоединяется к входным битовым последовательностям, может упоминаться как начальная входная битовая последовательность или транспортный блок. Размер CRC TB может составлять 24 бита.
Если сегментация блока данных в пятом варианте осуществления не выполняется (то есть C=1), первоначально входной блок данных может быть конфигурирован с помощью конечного кодового блока, содержащего CRC TB. Однако, конечный кодовый блок может быть выполнен с возможностью присоединения CRC CB вместо CRC TB в соответствии с требованиям пользователя и вариантами осуществления настоящего изобретения.
Шестой вариант осуществления изобретения
Другой пример варианта осуществления настоящего изобретения может быть создан комбинированием способов, описанных в первом-четвертом вариантах осуществления.
Устройством сегментации блока данных и присоединения CRC, соответствующим другому примеру варианта осуществления настоящего изобретения, является функциональным модулем для сегментации входного блока данных на кодовые блоки надлежащих размеров с учетом кодов обнаружения ошибок (например, кодов CRC), введенных в кодовые блоки, подлежащие сегментации. Если входная битовая последовательность сегментируется на кодовые блоки, размер, который может быть максимально сегментирован, определяется согласно системным требованиям. В примерах вариантов осуществления настоящего изобретения максимальный размер Z кодового блока может составлять 6144 бита.
0
1
2
B-1
Последовательность входных битов (или блок данных), вводимая в функциональный модуль, может быть обозначена b, b, b,…, b. Предполагается, что размер входной битовой последовательности больше 1. Если размер В входной битовой последовательности больше максимального размера Z кодового блока, выполняется сегментация входной битовой последовательности. Размер CRC, который должен присоединяться к кодовым блокам, учитывается при сегментации входной битовой последовательности.
Если длина битов заполнителя не равна 0, биты заполнителя могут добавляться к началу первого кодового блока. Биты заполнителя устанавливаются равными нулю при вводе в функциональный модуль.
Общее число C кодовых блоков, созданных сегментацией входной битовой последовательности, может быть вычислено согласно следующему уравнению 30.
[Уравнение 30]
If B≤Z
C=1
B'=B
Else
C=[B/(Z-L)]
B'=B+C*L
End
В уравнении 30 B указывает размер входной битовой последовательности (или блока данных) и B' указывает значение, полученное прибавлением размера В входной битовой последовательности с результатом умножения числа C кодовых блоков на длину L кода CRC. Таким образом, B' указывает размер измененной входной битовой последовательности для получения размера К кодового блока.
r0
rl
r2
r3
r (Kr-1)
r
Если число кодовых блоков не равно 0, кодовые блоки, созданные из функционального блока, могут быть обозначены c, c, c, c,…, c (где r указывает номер кодового блока, и K указывает размер r-ого кодового блока).
+
-
Функциональный модуль должен вычислить размер каждого кодового блока после вычисления числа кодовых блоков в соответствии с уравнением 30. Каждый из кодовых блоков может иметь размер K или K. В этом случае число кодовых блоков не должно равняться 0.
+
+
+
В примере варианта осуществления настоящего изобретения размер первого кодового блока может быть обозначен K. Размер K может быть определен из значений K в таблице 1. Размер K может быть минимальным значением среди значений K, удовлетворяющих условию, что значение, полученное делением размера B' измененной входной битовой последовательности на число C кодовых блоков, больше или равно значениям K.
+
+
-
-
Если число C кодовых блоков равно 1, число C первых кодовых блоков, имеющих размер K, равно 1 и число C вторых кодовых блоков, имеющих размер K, равно 0.
-
+
k
+
-
Если число кодовых блоков равно 2 или больше (C>1), размер K вторых кодовых блоков может быть установлен равным максимальному значению среди значений K, показанных в таблице 1, которое меньше K. Величина изменения Δ указывает разность между K и K.
-
-
+
k
+
+
-
Число C вторых кодовых блоков, имеющих размер K, может быть вычислено, округляя в меньшую сторону значение, полученное делением значения, получаемого вычитанием размера В' измененной битовой последовательности из результата деления числа C кодовых блоков на размер К первого кодового блока, на величину изменения Δдля K. Число C первых кодовых блоков, имеющих размер K, может быть вычислено, вычитая число C вторых кодовых блоков от общего числа C кодовых блоков. Размер L кода CRC может быть установлен равным 24 бита.
Так как размер L кода CRC учитывается при вычислении числа и размера кодовых блоков, размер кодового блока может быть больше, чем размер В' измененной входной битовой последовательности. В этом случае биты заполнителя, соответствующие разности, могут быть добавлены к первому кодовому блоку.
+
+
-
-
В другом примере варианта осуществления настоящего изобретения длина F битов заполнителя может быть вычислена с помощью разности между размером B' измененной входной битовой последовательности и значением (C*K)+(C*K).
В таблице 9 приведено уравнение конфигурации кодового блока, созданного с учетом размера CRC.
Таблица 9
Синтаксис
Значение
Примечания
for k=0 to F-l
C<sub>ok</sub>=<NULL>
end for
k=F
s=0
for r=0 to C-l
if r<C<sub>-</sub>
K<sub>r</sub>=K<sub>-</sub>
else
K<sub>r</sub>=K<sub>-</sub>
end if
while (k<K<sub>r</sub>-L)
C<sub>rk</sub>=b<sub>s</sub>
k=k+1
s=s+1
end while
if C>1
while k<K<sub>r</sub>
Последовательность c<sub>r0</sub>, c<sub>r1</sub>, c<sub>r2</sub>,…, c<sub>r(Kr-L-1)</sub> используется для вычисления битов проверки на четность кода CRC p<sub>r0</sub>, p<sub>r1</sub>, p<sub>r2</sub>,…, p<sub>r(L-1)</sub> согласно таблице 1
C<sub>rk</sub>=P<sub>r(Kr-k-1)</sub>
k=k+1
end while
end if
k=0
end for
r0
r1
r2
r(Kr-1)
r0
r1
r2
r(L-1)
В таблице 9 функциональный модуль конфигурирует кодовый блок, вводя размер кода CRC. Последовательность кодового блока c, c, c,…, c может использоваться для вычисления битов p, p, p,…, p.
Седьмой вариант осуществления изобретения
Другой пример варианта осуществления настоящего изобретения может быть создан комбинированием способов, описанных в первом-четвертом вариантах осуществления.
Другой пример варианта осуществления настоящего изобретения определяет функциональный модуль для присоединения CRC и сегметации входной битовой последовательности. Функциональный модуль может сегментировать входной блок данных на надлежащее число кодовых блоков с учетом размера кодов обнаружения ошибок (например, кодов CRC), введенных в кодовые блоки, которые должны сегментироваться. Если входная битовая последовательность сегментируется на кодовые блоки, размер Z, на который можно максимально сегментировать, определяется в соответствии с системными требованиями. В примерах вариантов осуществления настоящего изобретения максимальный размер кодового блока может составить 6144 бита.
0
1
2
B-1
Кодовые блоки, созданные посредством сегментации входных битовых последовательностей, введенных в функциональный модуль, могут быть обозначены как b, b, b,…, b. Сегментация входных битов может быть выполнена, когда размер B входной битовой последовательности больше максимального размера кодового блока.
Если размер B входной битовой последовательности не равен 0 и длина битов заполнителя не равна 0, биты заполнителя могут быть добавлены в начало первого кодового блока. Если размер В входной битовой последовательности составляет меньше 40 битов, биты заполнителя добавляются в начало кодового блока. Биты заполнителя установливаются равными нулю.
Число кодовых блоков, созданных сегментацией входных битовых последовательностей, может быть вычислено в соответствии со следующим уравнением 31.
[Уравнение 31]
If B≤Z
B'=B
Else
If [B/Z]*L+B>[B/Z]*Z)
B'=B+([B/Z]+1)*L
Else
B'=B+[B/Z]*L
End
C=[B'/Z]
В уравнении 31, если размер B входной битовой последовательности меньше или равен размеру Z максимального кодового блока, размер B входной битовой последовательности равняется размеру B' измененной входной битовой последовательности. Когда размер B входной битовой последовательности больше размера Z максимального кодового блока, используется следующий способ.
Если значение, полученное прибавлением В к результату умножения L на значение, полученное округлением в большую сторону результата деления В на Z, больше, чем значение, полученное умножением z на значение, полученное округлением в большую сторону результата деления В на Z, размер B' измененной битовой последовательности принимает значение, полученное округлением в большую сторону результата деления В на Z, плюс 1, умноженного на размер L кода CRC плюс размер B блока данных.
r0
r1
r2
r3s
r(Kr-1)
r
Согласно упомянутому выше процессу, число C кодовых блоков определяется значением, полученным округлением в большую сторону результата деления размера B' измененной входной битовой последовательности на максимальный размер Z кодового блока. Входные биты, сегментированные функциональным устройством, могут быть обозначены c, c, c, c,…, c (где r указывает номер кодового блока, а K указывает размер r-ого кодового блока).
+
-
Функциональный модуль должен вычислять размер каждого кодового блока после вычисления числа кодовых блоков, используя уравнение 31. Каждый из кодовых блоков может иметь размер K или K. В этом случае число кодовых блоков не должно быть равно 0.
+
+
+
В примере варианта осуществления настоящего изобретения размер первого кодового блока может быть обозначен K. Размер K может быть определен из значений K таблицы 1. Размер K может иметь минимальное значение из числа значений K, удовлетворяющих условию, что значение, полученное делением размера B' на число C кодовых блоков, больше или равно значениям K.
+
+
-
-
Если число C кодовых блоков равно 1, число C первых кодовых блоков, имеющих размер K, равно 1 и число C вторых кодовых блоков, имеющих размер K, равно 0.
+
+
-
Если число кодовых блоков равно 2 или больше (C>1), размер K- вторых кодовых блоков может определяться максимальным значением среди значений K, показанных в таблице 1, которое меньше, чем K. Величина изменения Δk для K указывает разность между K и K.
-
-
+
k
+
+
-
Число C вторых кодовых блоков, имеющих размер K, может быть вычислено, округляя в меньшую сторону значение, полученное делением значения, полученного вычитанием размера B' измененной входной битовой последовательности из результата деления числа C кодовых блоков на размер K первых кодовых блоков, на величину изменения Δ для K. Число C первых кодовых блоков, имеющих размер K, может быть вычислено, вычитая число C вторых кодовых блоков из общего числа C кодовых блоков. Размер L битов проверки на четность CRC может быть установлен равным 24 битам.
Так как размер L для CRC учитывается при вычислении числа и размера кодовых блоков, размер кодовых блоков может быть больше, чем размер B' измененной входной битовой последовательности. Тогда, в соответствии с разностью, к первому кодовому блоку могут быть добавлены биты заполнителя.
+
+
-
-
В другом примере варианта осуществления настоящего изобретения длина F битов заполнителя может быть вычислена по разности между размером B' измененной входной битовой последовательности и значением (C*K)+(C*K).
В таблице 10 показано уравнение конфигурации кодового блока, созданного с учетом размера CRC.
Таблица 10
Синтаксис
Значение
Примечания
for k=0 to F-l
C<sub>0k</sub>=<NULL>
end for
k=F
s=0
for r=0 to C-l
if r<C<sub>-</sub>
K<sub>r</sub>=K<sub>-</sub>
else
K<sub>r</sub>=K<sub>+</sub>
end if
if(C>1)
K<sub>r</sub>=K<sub>r</sub>-L
end
while k<K<sub>r</sub>
C<sub>rk</sub>=b<sub>s</sub>
k=k+1
s=s+1
end while
k=0
end for
Из таблицы 10 может быть понятно, что функциональный модуль конфигурирует кодовые блоки путем сегментации входных битов с учетом размера CRC.
Восьмой вариант осуществления изобретения
Другой пример варианта осуществления настоящего изобретения может быть создан комбинацией способов, описанных в первом-четвертом вариантах осуществления.
Данные большого размера перед передачей могут быть сегментированы на данные надлежащих размеров в соответствии с системными требованиями, чтобы эффективно передавать данные. Соответственно, необходимо сегментировать входной блок данных соответствующим способом. Может быть важным определить, какой способ должен использоваться для сегментации блока данных.
Устройство сегментации блока данных и присоединения CRC, соответствующее другому примеру варианта осуществления настоящего изобретения, образует один функциональный модуль. Функциональный модуль сегментирует входной блок данных на надлежащее число кодовых блоков с учетом размера кодов обнаружения ошибок (например, коды CRC), введенных в кодовые блоки, которые должны сегментироваться. Если входная битовая последовательность сегментируется на кодовые блоки, размер, на который можно максимально сегментировать, определяется в соответствии с системными требованиями. В примерах вариантов осуществления настоящего изобретения максимальный размер кодового блока может составлять 6144 битов.
0
1
2
B-1
Входная битовая последовательность (или блок данных), вводимая в функциональный модуль, может быть обозначена как b, b, b,…, b. Размер входной битовой последовательности может быть обозначен как "В" (где B больше 1). Если размер B входной битовой последовательности больше, чем максимальная длина Z кодового блока, входная битовая последовательность может быть сегментирована с учетом размера кода CRC. Размер кода CRC может составлять 24 бита. А именно, 24-битовый код CRC, который является одним из типов кода обнаружения ошибок, может быть присоединен к каждому кодовому блоку, созданному посредством сегментации входной битовой последовательности.
Если длина битов заполнителя не равна 0, биты заполнителя могут быть добавлены в начало первого кодового блока. Если размер B входной битовой последовательности меньше 40 битов, биты заполнителя добавляются в начало кодового блока. Биты заполнителя устанавливаются равными нулю.
Число C кодовых блоков, создаваемых при сегментации входных битов, может быть вычислено согласно следующему уравнению 32.
[Уравнение 32]
C=[B/(Z-L)]
B'=B+C*L
В уравнении 32 "B" указывает размер входной битовой последовательности (или блока данных) и размер В' измененной входной битовой последовательности получается прибавлением размера В входной битовой последовательности к результату умножения числа C кодовых блоков на размер L кода CRC.
А именно, размер В' измененной входной битовой последовательности является временным значением для вычисления числа и размера кодовых блоков.
r0
r1
r2
r3
r(Kr-1)
r
Если число кодовых блоков не равно 0, кодовые блоки, созданные функциональным устройством, могут быть обозначены c, c, c, c,…, c (где r указывает номер кодового блока и K указывает размер r-ого кодового блока).
+
-
Функциональный модуль должен вычислить размер каждого кодового блока после вычисления числа кодовых блоков согласно уравнению 32. Каждый из кодовых блоков может иметь размер K или K. В этом случае число кодовых блоков должно быть больше 1.
+
+
+
+
+
-
-
В примере варианта осуществления настоящего изобретения размер первого кодового блока может быть обозначен K. Размер K может быть определен из значений K в таблице 1. Размер K может иметь минимальное значение среди значений K, удовлетворяющих условию, что значение, полученное делением размера B' измененной входной битовой последовательности на число C кодовых блоков, больше или равно значениям K. Если число C кодовых блоков равно 1, число C первых кодовых блоков, имеющих размер K, равно 1 и число C вторых кодовых блоков, имеющих размер K, равно 0.
-
+
k
+
-
Если число кодовых блоков равно 2 или больше (C>1), размер K вторых кодовых блоков может определяться максимальным значением среди значений K, указанных в таблице 1, которые меньше K. Величина изменения Δ для K указывает разность между K и K.
-
+
k
+
+
-
Число C вторых кодовых блоков, имеющих размер K, может быть вычислено, округляя в меньшую сторону значение, полученное делением значения, полученного вычитанием размера В' измененной входной битовой последовательности из результата деления числа C кодовых блоков на размер К первых кодовых блоков, на величину изменения Δ для К. Число C первых кодовых блоков, имеющих размер K, может быть вычислено, вычитая число C вторых кодовых блоков из общего числа C кодовых блоков.
Так как размер L кода CRC учитывается для вычисления числа и размера кодовых блоков, размер кодового блока может быть больше, чем размер В' измененной входной битовой последовательности. Тогда к первому кодовому блоку могут быть добавлены биты заполнителя, соответствующие разнице.
+
+
-
-
В другом примере варианта осуществления настоящего изобретения длина F битов заполнителя может быть вычислена с помощью разности между размером В' измененной входной битовой последовательности и значением (C*K)+(C*K).
В таблице 11 показано уравнение конфигурации кодового блока, созданного с учетом размера CRC.
Таблица 11
Синтаксис
Значение
Примечания
for k=0 to F-l
C<sub>0k</sub>=<NULL>
end for
k=F
s=0
for r=0 to C-l
if r<C<sub>-</sub>
K<sub>r</sub>=K<sub>-</sub>
else
K<sub>r</sub>=K<sub>+</sub>
end if
while (k<K<sub>r</sub>-L)
c<sub>rk</sub>=b<sub>s</sub>
k=k+1
s=s+1
end while
if C>1
while k<K<sub>r</sub>
c<sub>rk</sub>=p<sub>r(Kr-k-l)</sub>
Последовательность c<sub>r0</sub>, c<sub>r1</sub>, c<sub>r2</sub>,…, c<sub>r(Kr-L-l)</sub> используется для вычисления битов проверки на четность CRC p<sub>r0</sub>, p<sub>r1</sub>, p<sub>r2</sub>,…, p<sub>r(L-1)</sub> согласно таблице 1
K=k+1
end while
End if
K=0
end for
r0
r1
r2
r(Kr-1)
r0
r1
r2
r(L-1)
Из таблицы 11 можно понять, что функциональное устройство конфигурирует кодовые блоки с учетом размера CRC. В таблице 11 последовательность кодовых блоков c, c, c,…, c может использоваться для вычисления битов проверки на четность CRC p, p, p,…,p.
Девятый вариант осуществления изобретения
Другой пример варианта осуществления настоящего изобретения может быть создан комбинацией способов, описанных в первом-четвертом вариантах осуществления.
Способ, соответствующий девятому варианту осуществления, подобен способу, описанному в восьмом варианте осуществления. То есть, способ вычисления числа кодовых блоков, созданных при сегментации входной битовой последовательности, может использовать способ, описанный в восьмом варианте осуществления. Дополнительно, способы вычисления битов заполнителя, размера кодовых блоков, числа кодовых блоков подобны способам, описанным в восьмом варианте осуществления. Здесь далее будут описаны только отличающиеся части способа конфигурирования сегментированных кодовых блоков.
Приведенная ниже таблица 12 показывает уравнение конфигурации кодового блока, созданного с учетом размера CRC.
Таблица 12
Синтаксис
Значение
Примечания
for k=0 to F-l
C<sub>0k</sub>=<NULL>
end for
k=F
s=0
for r=0 to C-1
if r<C<sub>-</sub>
K<sub>r</sub>=K<sub>-</sub>
else
K<sub>r</sub>=K<sub>+</sub>
end if
while k<K<sub>r</sub>
if (k<K<sub>r</sub>-L)
C<sub>rk</sub>=b<sub>s</sub>
s=s+1
Else
C<sub>rk</sub>=p<sub>r(Kr-k-l)</sub>
Последовательность c<sub>r0</sub>, c<sub>r1</sub>,c<sub>r2</sub>,…,c<sub>r(Kr-L-1) </sub>используется для вычисления битов проверки на четность кода CRC p<sub>r0</sub>, p<sub>r1</sub>, p<sub>r2</sub>,…, p<sub>r(L-1)</sub> согласно таблице 1.
end if
k=k+1
end while
k=0
end for
r0
r1
r2
r(Kr-L-1)
r1
r2
r(L-1)
Из таблицы 12 может быть понятно, что функциональный модуль конфигурирует кодовые блоки с учетом размера кода CRC. В таблице 12 последовательность кодовых блоков c, c,c,…, c может быть использована для вычисления битов проверки на четность кода CRC p, p,…, p.
Десятый вариант осуществления изобретения
Другой пример варианта осуществления настоящего изобретения может быть выполнен с возможностью комбинирования способов, описанных в первом-четвертом вариантах осуществления.
Десятый вариант осуществления подобен пятому варианту осуществления. Способы вычисления числа кодовых блоков, размера кодовых блоков и длины битов заполнителя такие же, как способы, описанные в пятом варианте осуществления. Однако способ распределения данных по каждому кодовому блоку и одновременного присоединения кодов обнаружения ошибок отличается от способа, описанного в пятом варианте осуществления.
Приведенная ниже таблица 13 показывает уравнение конфигурации кодового блока, созданного с учетом размера CRC.
Таблица 13
Синтаксис
Значение
Примечания
for k=0 to F-l
C<sub>ok</sub>=<NULL>
end for
k=F
s=0
for r=0 to C-l
if r<C<sub>-</sub>
K<sub>r</sub>=K<sub>-</sub>
else
K<sub>r</sub>=K<sub>+</sub>
End if
while (k<K<sub>r</sub>-L)
C<sub>rk</sub>=b<sub>s</sub>
k=k+1
s=s+1
End while
if C>1
While k<K<sub>r</sub>
Последовательность c<sub>r0</sub>, c<sub>r1</sub>, c<sub>r2</sub>,…, c<sub>r(Kr-L-l)</sub> используется для вычисления битов проверки на четность CRC p<sub>ro</sub>, p<sub>r1</sub>, p<sub>r2</sub>,…, p<sub>r(L-1)</sub> в соответствии с подпунктом5.1.1 с помощью генератора полинома gCRCB (D). Для вычисления подразумевается, что биты заполнителя, если присутствуют, имеют значение 0.
C<sub>rk</sub>=p<sub>r(k+L-Kr)</sub>
k=k+1
end while
End if
k=0
end for
Основополагающее описание в сочетании с таблицей 13 подобно описанию, сделанному в сочетании с таблицей 8. Поэтому повторяющиеся части можно посмотреть в описании в таблице 8.
r0
r1
r2
r(Kr-1)
r0
r1
r2
r(L-1)
В таблице 13, если число С кодовых блоков больше 1, биты проверки на четность CRC присоединяются к каждому кодовому блоку. Последовательность кодовых блоков c, c, c,…, cможет использоваться для вычисления битов проверки на четность CRC p, p, p,…, p. Биты проверки на четность CRC могут присоединяться в места битов проверки на четность CRC, содержащиеся в кодовых блоках в прямом или обратном порядке. В примере варианта осуществления настоящего изобретения предполагается, что биты проверки на четность CRC присоединяются в прямом порядке.
Уравнение 33 показывает присоединение битов проверки на четность CRC в прямом порядке.
[Уравнение 33]
If C>1
r
while k<K
rk
r(k+L-Kr)
C=P
k=k+1
end while
end if
r(k+L-Kr)
В уравнении 33 биты проверки на четность CRC (p), введенные в кодовые блоки, присоединяются в прямом порядке. А именно, код CRC вводится после того, как данные вводятся в один кодовый блок, и код CRC вводится после того, как данные вводятся в другой кодовый блок. С помощью этих процессов данные и код CRC одновременно распределяются по кодовым блокам.
На фиг.8 показана блок-схема последовательности выполнения операций процесса сегментации блока данных с учетом размера CRC в соответствии с вариантом осуществления настоящего изобретения.
Данные большого размера могут сегментироваться перед передачей на данные надлежащих размеров согласно системным требованиям, чтобы данные могли быть эффективно переданы. Соответственно, необходимо сегментировать входной блок данных соответствующим способом. Может быть важным определить, какой способ должен использоваться для сегментации блока данных.
Логическое устройство сегментации блока данных и присоединения CRC в соответствии с вариантом осуществления настоящего изобретения состоит из функционального модуля для сегментации входного блока данных, который должен сегментироваться с учетом размера кодов обнаружения ошибок (например, кодов CRC), введенных в кодовые блоки. Однако, когда входная битовая последовательность сегментируется на кодовые блоки, размер, на который можно максимально сегментировать, может быть определен согласно системным требованиям.
Блок данных может заранее содержать в себе код CRC. Начальный блок данных перед тем, как код CRC присоединяется к блоку данных, может упоминаться как начальная входная битовая последовательность или транспортный блок. Транспортный блок может означать данные, передаваемые с верхнего уровня.
Со ссылкой на фиг.8, блок данных, имеющий размер В, вводится в функциональный модуль (этап S801). Блок данных может содержать первый код CRC, указывающий код обнаружения ошибок для входной битовой последовательности.
Функциональный модуль сравнивает размер В блока данных (или входной битовой последовательности) с максимальным размером Z кодового блока (этап S802).
Если размер B блока данных больше максимального размера Z кодового блока на этапе S802, функциональный модуль вычисляет число C кодовых блоков, на которое сегментируется входной блок данных с учетом размера кода CRC, который должен присоединяться к кодовым блокам (этап S803).
+
-
После вычисления на этапе S803 числа C кодовых блоков функциональный модуль вычисляет размер K или K каждого кодового блока (этап S804).
Размер каждого кодового блока может быть вычислен на этапе S804 различными способами. А именно, могут использоваться способы вычисления размера каждого кодового блока, описанные в первом-девятом вариантах осуществления настоящего изобретения. Как пример, размер каждого кодового блока может вычисляться, используя размер B' измененной входной битовой последовательности.
После вычисления числа и размера кодовых блоков с учетом размера CRC функциональный модуль вычисляет длину битов заполнителя, вычитая размер B' измененной входной битовой последовательности из размера кодового блока (этап S805).
После вычисления числа и размера кодовых блоков на этапах S803-S805 функциональный модуль распределяет данные и второй код CRC (этап S806). Второй код CRC отличается по функции от первого кода CRC, введенного в блок данных. Первый код CRC является кодом обнаружения ошибок для блока данных, а второй код CRC является кодом обнаружения ошибок для кодовых блоков, на которые сегментирован блок данных.
Если размер B блока данных не больше максимального размера Z кодового блока на этапе S802, нет необходимости сегментировать блок данных. То есть, число C кодовых блоков устанавливается равным 1 и этапы вычисления размера кодового блоки и длины битов заполнителя отсутствуют. Соответственно, данные могут непосредственно распределяться (этап S807) во входной блок данных. В это время может использоваться первый код CRC, содержащийся в блоке данных, и второй код CRC вновь не присоединяется.
На фиг.9 показана блок-схема последовательности выполнения операций процесса вычисления числа C кодовых блоков в соответствии с вариантом осуществления настоящего изобретения.
Этапы S901 и S902 на фиг.9 подобны этапам S801 и S802 на фиг.8 и поэтому их описание будет пропущено.
Со ссылкой на фиг.9, если размер B блока данных больше максимального размера Z кодового блока на этапе S902, число c кодовых блоков вычисляется, округляя в большую сторону значение, полученное делением размера В блока данных на результат вычитания размера L для второго кода CRC из максимального размера Z кодового блока (этап S903).
Если размер B блока данных не больше максимального размера Z кодового блока на этапе S902, нет необходимости сегментировать входной блок данных и число C кодовых блоков устанавливается равным 1 (этап S904).
На фиг.10 показана блок схема последовательности выполнения операций процесса сегментации блока данных, использующего измененный размер входной битовой последовательности в соответствии с вариантом осуществления настоящего изобретения.
Данные большого размера перед передачей могут быть сегментированы на данные надлежащих размеров согласно системным требованиям, чтобы данные передавались эффективно. Соответственно, необходимо сегментировать входной блок данных соответствующим способом. Может быть важным определить, какой способ должен использоваться для сегментации блока данных.
Логическое устройство сегментации блока данных и присоединения кода CRC в соответствии с вариантом осуществления настоящего изобретения состоит из одного функционального модуля. Функциональный модуль сегментирует входной блок данных на надлежащее число кодовых блоков и прибавляет данные, вычисляя размер каждого кодового блока.
Со ссылкой на фиг.10, если блок данных (то есть, входная битовая последовательность) вводится в функциональный модуль, функциональный модуль вычисляет число C кодовых блоков, на которые сегментирован блок данных (этап S1001). Блок данных может содержать первый код CRC, указывающий код обнаружения ошибок для входной битовой последовательности.
После вычисления числа C кодовых блоков функциональный модуль вычисляет размер B' измененной входной битовой последовательности для получения размера K каждого кодового блока (этап S1002).
На этапе S1002 размер B' измененной входной битовой последовательности может быть вычислен прибавлением размера B блока данных с результатом умножения числа C кодовых блоков на размер L вторых кодов CRC, которые должны присоединяться к кодовому блоку. Измененный размер входной битовой последовательности используется для вычисления размера K каждого кодового блока.
+
-
Кодовый блок может состоять из первых кодовых блоков и вторых кодовых блоков. Размер K первых кодовых блоков и размер K вторых кодовых блоков не являются фиксированными значениями и изменяются в соответствии с системными требованиями. Размер K указывает размер каждого кодового блока, когда кодовые блоки имеют фиксированный размер.
+
После того, как на этапе S1002 вычислен размер B' измененной входной битовой последовательности, размер K первых кодовых блоков может быть вычислен, используя минимальное значение среди значений k, указанных в таблице 1. Однако значения K должны быть больше значения, полученного делением размера В' измененной входной битовой последовательности на число C кодовых блоков (этап S1003).
+
-
-
+
Если размер K первых кодовых блоков определен, размер Kвторых кодовых блоков вычисляется, используя максимальное число из значений K, указанных в таблице 1. Однако значения K для вычисления размера K вторых кодовых блоков должны быть максимальным значением среди значений, меньших, чем размер K первых кодовых блоков (этап S1004).
-
+
k
+
-
-
k
Функциональный модуль может вычислить число C вторых кодовых блоков, используя размер К первых кодовых блоков и размер B' измененной входной битовой последовательности. Функциональный модуль вычисляет значение разности Δ между размером K первых кодовых блоков и размером К вторых кодовых блоков. Функциональный модуль вычисляет число C вторых кодовых блоков, округляя в меньшую сторону значение, полученное делением значения числа C кодовых блоков, умноженного на размер первых кодовых блоков минус размер измененной входной последовательности, на значение разности Δ (этап S1005).
+
-
Число C первых кодовых блоков вычисляется, вычитая число C вторых кодовых блоков от общего числа C кодовых блоков (этап S1006).
Соответствующий размер кодовых блоков, сегментированных из входной битовой последовательности, может быть вычислен, используя способ, описанный со ссылкой на фиг.10. Более подробно, размер каждого кодового блока может быть вычислен, используя размер измененной входной битовой последовательности, даже когда размер каждого кодового блока различен согласно системным требованиям, а также, когда кодовые блоки имеют фиксированный размер.
На фиг.11 показана схема процесса преобразования блока данных в кодовые блоки, когда число C кодовых блоков равно 1 в соответствии с вариантом осуществления настоящего изобретения.
Данные большого размера перед передачей могут сегментироваться на данные надлежащих размеров согласно системным требованиям. Соответственно, необходимо соответствующим способом сегментировать входной блок данных. Может быть важным определить, какой способ должен использоваться для сегментации блока данных.
Логическое устройство сегментации блока данных и присоединения CRC в соответствии с вариантом осуществления настоящего изобретения состоит из одного функционального модуля для сегментации входного блока данных, учитывающего размер кода обнаружения ошибок (например, кода CRC), вводимого в кодовые блоки, на которые сегментируется входная битовая последовательность.
Однако максимальный размер сегментации может быть определен в соответствии с системными требованиями, когда входная битовая последовательность сегментируется на кодовые блоки. Описание будет дано для способа обработки данных, когда размер B входной битовой последовательности меньше или равен максимальному размеру Z кодовых блоков.
На фиг.11 показан процесс преобразования входной битовой последовательности 1100, введенной в функциональный модуль (устройство присоединения CRC и устройство 1120 сегментации входной битовой последовательности), в кодовый блок 1140. Более подробно, входные биты 1100 вводятся в функциональный модуль 1120. Входные биты 1100 могут содержать первый код CRC, указывающий код обнаружения ошибок для входных битов 1100.
Функциональный модуль 1120 сравнивает размер входных битов 1100 с максимальным размером Z кодового блока. Если размер входных битов меньше или равен максимальному размеру Z кодового блока, входные биты не сегментируются в функциональном модуле 1120 и могут состоять из кодового блока 1140.
Поэтому входные биты 1100 преобразуются в кодовый блок 1140 и кодовый блок 1140 может использовать первый код CRC. Так как первый код CRC используется в качестве кода обнаружения ошибок для кодового блока 1140, функциональный модуль 1120 не присоединяет второй код CRC к кодовому блоку 1140.
Со ссылкой на фиг.11, если размер входных битов меньше или равен максимальному размеру Z кодового блока, входные биты 1100 не сегментируются и используются как кодовый блок 1140. А именно, число C кодовых блоков равно 1 и размер K кодового блока может быть равен размеру В входных битов. Дополнительно, первый код CRC, содержащийся во входных битах 1100, может использоваться без присоединения второго кода CRC к кодовому блоку 1140. Соответственно, возможно быстро обработать данные.
Одиннадцатый вариант осуществления изобретения
Другой пример варианта осуществления настоящего изобретения может быть выполнен с возможностью комбинирования способов, описанных в первом-десятом вариантах осуществления.
r
Одиннадцатый вариант осуществления может использоваться, когда размер К кодового блока всегда постоянен и могут иметь место биты заполнителя. Процесс вычисления числа C кодовых блоков является таким же, как процесс, описанный для четвертого или пятого вариантов осуществления. Однако в одиннадцатом варианте осуществления размер K каждого кодового блока является одним и тем же.
r
Приведенное ниже уравнение 34 показывает способ вычисления размера K кодового блока и длины F битов заполнителя (то есть, числа битов заполнителя).
[Уравнение 34]
Kr=B'/C
r
Число битов заполнителя: F=C*K-B'
r
r
r
В уравнении 34 размер K кодового блока вычисляется делением размера B' измененной входной битовой последовательности на число C кодовых блоков. На этот раз "r" означает индекс кодового блока. Длина F битов заполнителя вычисляется, вычитая размер B' измененной входной битовой последовательности из результата умножения числа C кодовых блоков на размер K кодового блока. То есть, одиннадцатый вариант осуществления показывает способ вычисления размера K кодового блока, когда размер каждого из кодовых блоков является одним и тем же.
В таблице 14 показано уравнение конфигурации кодового блока, созданного с учетом размера CRC и длины F битов заполнителя.
Таблица 14
Синтаксис
Значение
Примечания
for k=0 to F-l
c<sub>0k</sub>=<NULL>
end for
k=F
s=0
for r=0 to C-1
while (k<Kr-L)
C<sub>rk</sub>=b<sub>s</sub>
k=k+1
s=s+1
end while
if C>1
while k<Kr
C<sub>rk</sub>=p<sub>r(k+L-Kr)</sub>
Последовательность c<sub>r0</sub>, c<sub>r1</sub>, c<sub>r2</sub>,…, c<sub>r(Kr-L-l)</sub> используется для вычисления битов проверки на четность CRC p<sub>r0</sub>, p<sub>r1</sub>, p<sub>r2</sub>,…,p<sub>r(L-1) </sub>согласно подпункту 5.1.1 с помощью генератора полиномов gCRC24B(D). Для вычисления CRC принимается, что биты заполнителя, если присутствуют, имеют значение 0.
k=k+1
end while
end if
k=0
end for
r0
r1
r2
r(Kr-L-l)
r0
r1
r2
r(L-1)
При рассмотрении таблицы 14 может быть понятно, что функциональный модуль конфигурирует кодовые блоки с учетом размера CRC. В таблице 14 последовательность кодовых блоков c, c, c,…, c может использоваться для вычисления битов проверки на четность CRC p, p, p,…, p.
В другом примере варианта осуществления настоящего изобретения код обнаружения ошибок, введенный ранее в блок данных, может упоминаться как транспортный блок (TB) CRC (или первый код обнаружения ошибок) и код обнаружения ошибок, введенный в кодовые блоки, которые должны сегментироваться, может упоминаться как CRC (или второй код обнаружения ошибок) кодового блока (СВ).
Когда сегментация блока входных данных не выполняется (то есть, C=l), входной блок данных может быть создан конечным кодовым блоком, содержащим CRC для TB. Однако конечный кодовый блок может быть создан, присоединяя CRC CB вместо CRC TB в соответствии с требованиям пользователей и вариантами осуществления настоящего изобретения.
Двенадцатый вариант осуществления изобретения
Другой пример варианта осуществления настоящего изобретения может быть выполнен с возможностью комбинации способов, описанных в первом-десятом примерах вариантов осуществления. Двенадцатый вариант осуществления может использоваться, когда размер кодовых блоков постоянен и биты заполнителя могут отсутствовать. А именно, входной битовый размер равен общему количеству кодовых блоков.
r
Двенадцатый вариант осуществления может использоваться, когда размер K каждого кодового блока является одним и тем же. Процесс вычисления числа C кодовых блоков является тем же самым, что и процесс, описанный в четвертом или пятом вариантах осуществления.
r
Приведенное ниже уравнение 35 показывает способ вычисления размера K кодового блока.
[Уравнение 35]
r
K=B'/C
r
r
В уравнении 35 размер K кодового блока вычисляется делением размера В' измененной входной битовой последовательности на число C кодовых блоков. На этот раз K указывает размер кодового блока и "r" указывает индекс кодового блока.
В таблице 15 показано уравнение конфигурации, созданное с учетом размера L CRC.
Таблица 15
Синтаксис
Значение
Примечания
k=0
s=0
for r=0 to C-l
while (k<K<sub>r</sub>-L)
c<sub>rk</sub>=b<sub>s</sub>
k=k+1
s=s+1
end while
if C>1
while k<K<sub>r</sub>
c<sub>rk</sub>=p<sub>r(k+L-Kr)</sub>
Последовательность c<sub>r0</sub>, c<sub>r1</sub>, c<sub>r2</sub>,…, c<sub>r(Kr-L-l) </sub>используется для вычисления битов проверки на четность CRC p<sub>r0</sub>, p<sub>r1</sub>, p<sub>r2</sub>,…,p<sub>r(L-1) </sub>согласно подпункту 5.1.1 с помощью генератора полиномов gCRC24B(D). Для вычисления CRC принимается, что биты заполнителя, если присутствуют, имеют значение 0.
k=k+1
end while
end if
k=0
end for
r0
r1
r2
r(Kr-L-l)
r0
r1
r2
r(L-1)
Из таблицы 15 можно понять, что функциональный модуль конфигурирует кодовые блоки с учетом размера CRC. В таблице 15 последовательность кодовых блоков c, c, c,…, c может использоваться для вычисления битов проверки на четность CRC p, p, p,…,p.
В другом примере варианта осуществления настоящего изобретения код обнаружения ошибок, введенный ранее в блок данных, может упоминаться как CRC транспортного блока (TB) (или первый код обнаружения ошибок) и код обнаружения ошибок, введенный в кодовые блоки, которые должны быть сегментированы, может упоминаться как код CRC кодового блока (CB) (или второй код обнаружения ошибок).
Когда входной блок данных не сегментирован (то есть, C=1), входной блок данных может быть создан конечным кодовым блоком, содержащим CRC TB. Однако конечный кодовый блок может быть создана посредством присоединения CRC CB вместо CRC TB согласно требованиям пользователей и вариантам осуществления настоящего изобретения.
Для специалистов в данной области техники должно быть очевидно, что в настоящее изобретение могут быть внесены различные модификации и изменения, не отступая от сущности или объема изобретения. Таким образом, предполагается, что настоящее изобретение охватывает модификации и изменения этого изобретения, если они попадают в рамки объема пунктов прилагаемой формулы изобретения и их эквивалентов.
Промышленная применимость
Примеры вариантов осуществления настоящего изобретения могут быть применены к системам беспроводного доступа. Кроме того, примеры вариантов осуществления настоящего изобретения могут быть применены ко всем способам создания кодовых блоков, получаемых сегментацией входной битовой последовательности. Кодовые блоки, созданные в соответствии с примерами вариантов осуществления настоящего изобретения, могут применяться к кодированию, мультиплексированию и чередованию физического канала. Настоящее изобретение не ограничивается тем, что было, в частности, показано и описано выше, и может быть применено ко всем технологиям в рамках настоящего изобретения.