Способ передачи данных

Изобретение относится к способу передачи данных в системе беспроводного доступа, в частности к различным способам деления входных данных на кодовые блоки с учетом размера кода обнаружения ошибок. Техническим результатом является повышение эффективности способа передачи данных Указанный результат достигается тем, что в способе передачи данных в системе беспроводного доступа создают входную битовую последовательность, присоединив к данным первый код обнаружения ошибок. Если размер В входной битовой последовательности больше максимального размера Z кодовых блоков, вычисляют число С кодовых блоков: , где L - размер второго кода обнаружения ошибок, который должен быть присоединен к каждому из кодовых блоков. Затем вычисляют размер В' измененной входной битовой последовательности, используя число С кодовых блоков, размер L второго кода обнаружения ошибок и размер В входной битовой последовательности; получают размер К кодовых блоков из заранее определенных значений на основании значения, полученного посредством того, что делят размер В' измененной входной битовой последовательности на число С кодовых блоков; сегментируют входную битовую последовательность, чтобы иметь С кодовых блоков с размером К кодовых блоков; создают кодовые блоки путем присоединения второго кода обнаружения ошибок к каждой из сегментированных входных битовых последовательностей; и канально кодируют кодовые блоки. 13 з.п. ф-лы, 11 ил., 15 табл.

 

Настоящее изобретение относится к способу передачи данных в системе беспроводного доступа и, более конкретно, к различным способам деления входных данных на кодовые блоки с учетом размера кода обнаружения ошибок.

УРОВЕНЬ ТЕХНИКИ

При передаче данных важны эффективность передачи данных и надежность передачи данных. Для повышения эффективности передачи данных обычно используются способы деления данных перед передачей и способы, использующие код обнаружения ошибок, для проверки, содержат ли данные ошибку.

Контроль ошибок относится к механизму обнаружения и исправления ошибок, созданных во время передачи данных. Схемы контроля ошибок включают в себя схему запроса на автоматическое повторение (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- кодовых блоков; создают кодовые блоки, присоединяя второй код обнаружения ошибок к каждой из сегментированных вторых входных битовых последовательностей; и канально кодируют кодовые блоки.

В соответствии с еще одним другим аспектом настоящего изобретения способ передачи данных в системе беспроводного доступа содержит этапы, на которых: создают вторую входную битовую последовательность, присоединяя первый код обнаружения ошибок к первой входной битовой последовательности; вычисляют размер В второй входной битовой последовательности, используя размер А первой входной битовой последовательности и размер L первого кода обнаружения ошибок; если размер B второй входной битовой последовательности больше максимального размера Z кодовых блоков, вычисляют число C кодовых блоков, используя размер В второй входной битовой последовательности, максимальный размер Z кодовых блоков и размер L второго кода обнаружения ошибок, который должен присоединяться к каждому из кодовых блоков; вычисляют размер В' измененной второй входной битовой последовательности, используя число C кодовых блоков, размер L второго кода обнаружения ошибок и размер В второй входной битовой последовательности; получают размер Kr кодовых блоков делением размера В' измененной второй входной битовой последовательности на число C кодовых блоков; сегментируют вторую входную битовую последовательность, чтобы иметь C кодовых блоков и полученный размер Kr кодовых блоков; создают кодовые блоки, присоединяя второй код обнаружения ошибок к каждой из сегментированных вторых входных битовых последовательностей; и канально кодируют кодовые блоки.

Первый и второй коды обнаружения ошибок создаются посредством разных полиномов.

В соответствии с еще одним другим аспектом настоящего изобретения способ передачи данных в системе беспроводного доступа содержит этапы, на которых: если размер B входной битовой последовательности больше максимального размера Z кодовых блоков, вычисляют число C кодовых блоков, используя размер В входной битовой последовательности, максимальный размер Z кодовых блоков, и размер L кода обнаружения ошибок, который должен присоединяться к каждому из кодовых блоков; вычисляют размер В' измененной входной битовой последовательности, используя число C кодовых блоков, размер L кода обнаружения ошибок и размер В входной битовой последовательности; получают размер K кодовых блоков из заранее определенных значений, основываясь на значении, полученном делением размера В' измененной входной битовой последовательности на число C кодовых блоков; и сегментируют входную битовую последовательность, чтобы иметь C кодовых блоков и размер K кодовых блоков.

В соответствии с еще одним другим аспектом настоящего изобретения способ передачи данных в системе беспроводного доступа содержит этапы, на которых: создают входную битовую последовательность, присоединяя первый код обнаружения ошибок к транспортному блоку; если размер B входной битовой последовательности больше максимального размера Z кодовых блоков, вычисляют число C кодовых блоков, используя размер В входной битовой последовательности, максимальный размер Z кодовых блоков, и размер L кода обнаружения ошибок, который должен присоединяться к каждому из кодовых блоков; вычисляют размер В' измененной входной битовой последовательности, используя число C кодовых блоков, размер L кода обнаружения ошибок и размер В входной битовой последовательности; получают размер Kr кодовых блоков делением размера В' измененной входной битовой последовательности на число C кодовых блоков; и сегментируют входную битовую последовательность, чтобы иметь C кодовых блоков и размер Kr кодовых блоков.

Преимущества

Настоящее изобретение обладает следующими преимуществами.

Во-первых, так как приемная сторона может определить, существуют ли ошибки всякий раз, когда принимает кодовые блоки, может быть выполнен эффективный процесс исправления ошибок.

Во-вторых, сегментация блока данных может быть выполнена точно и коды 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 параметры f1 и f2 могут варьироваться в соответствии со значением 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]

Число C- вторых кодовых блоков может быть вычислено путем округления до целого числа в меньшую сторону результата деления значения общего числа C кодовых блоков, умноженного на размер K+ первых кодовых блоков, минус размер B' измененной входной битовой последовательности, на значение разности Δk между К+ и 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
00k=0 or 1
end for
K=F
S=0
for r=0 to C-1
if r<C-
Kr=K-
Else
Kr=K+
end if
While (k<Kr)
if (k<Kr-L)
Ork=bs
s=s+1
Else
Ork=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
Ook=0 or 1
end for
K=F
S=0
for r=0 to C-l
if r<C-
Kr=K-
Else
Kr=K+
end if
while (k<Kr)
if (k<Kr-L)
Ork=bs
s=s+1
Else
Ork=0 or 1
end if
k=k+1
end while
k=0
end for

Основными параметрами, используемыми в таблице 2 и таблице 3, являются следующие параметры. Параметр "F" указывает длину битов заполнителя, "Ork" указывает выход устройства сегментации блока данных, "r" указывает номер кодового блока, и "k" указывает номер бита в r-ом блоке.

Предполагается, что размер кодового блока равен K+ и K- (где K- меньше, чем K+). Параметры C+ и C- указывают количества конкретных кодовых блоков, то есть количества кодовых блоков, имеющих размеры K+ и K-, соответственно. Параметр "L", показанный в таблице 2 и таблице 3, указывает размер кода CRC, который должен присоединяться к каждому кодовому блоку, и "Kr" указывает размер, который должен присоединяться к кодовому блоку.

Пример присоединения кода CRC к каждому кодовому блоку, созданному с учетом размера CRC, показан в уравнении 27.

[Уравнение 27]

Ork=Ork; k=0, 1, 2,…, Kr-L-1

0rk=Pr(Kr-k-1); k=Kr-L, Kr-L+1, Kr-L+2,…, Kr-1(=Kr-L+L-1)

Когда размер B блока данных меньше максимального размера Z кодового блока, пример присоединения кода CRC к каждому кодовому блоку, созданному с учетом размера L CRC, показан в уравнении 28.

[Уравнение 28]

if C=l

bypass

else

Ork=Ork; k=0, 1, 2,…, Kr-L-1

0rk=Pr(Kr-k-1); k=Kr-L, Kr-L+l, Kr-L+2,…, Kr-1(=Kr-L+L-l)

end if

При вычислении параметров для присоединения CRC предполагается, что размер, присоединяемый к кодовому блоку, равен Kr, и размер CRC, присоединяемый к каждому кодовому блоку, равен L. Входные биты могут обозначаться как Or0, Or1, Or2,…, OrKr-1. Биты проверки на четность CRC могут быть обозначены pr0, pr1, pr2,…, prL-1. Биты проверки на четность CRC могут быть созданы, используя уравнение генерации CRC, основываясь на входных битах. После того, как биты проверки на четность CRC присоединены, биты могут быть обозначены как Or0, Or1, Or2,…, OrKr-1 или Cr0, Cr1, Cr2,…, CrKr-1 в том же самом пространстве или других пространствах. Биты проверки на четность 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
Ook=0 or 1
end for
k=F
s=0
for r=0 to C-l
if r<C-
Kr=K-
Else
Kr=K+
end if
while (k<Kr-L)
Ork=bs
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
O0k=0 or 1
end for
k=F
s=0
for r=0 to C-1
if r<C-
Kr=K-
Else
Kr=K+
end if
while (k<Kr-L)
Ork=bs
k=k+1
s=s+1
end while
k=0
end for

Основными параметрами, используемыми в таблице 4 и таблице 5, являются следующие параметры. "F" указывает длину битов заполнителя, "Ork" указывает выход устройства сегментации блока данных, "r" указывает номер кодового блока и "k" указывает битовый номер r-ого блока.

Предполагается, что кодовые блоки имеют размеры K+ и K- (где K- меньше, чем K+). Параметры "C+" и "C-" указывают число конкретных кодовых блоков, то есть, число кодовых блоков, имеющих размеры K+ и K-, соответственно. Параметр "L", показанный в таблице 4 и таблице 5, указывает, что размер CRC, который должен быть присоединен к каждому кодовому блоку и "Kr" указывает размер, который должен применяться к кодовому блоку.

Со ссылкой на фиг.5, конфигурируется кодовый блок, который учитывает размер CRC, но не содержит код CRC, и уравнение 27 может использоваться для присоединения кода CRC к кодовым блокам.

Если блок данных не сегментирован и состоит из одного кодового блока, содержащего код CRC, кодовый блок, который учитывает размер CRC, но не содержит код CRC, конфигурируется и уравнение 28 может использоваться для присоединения кода CRC к кодовому блоку.

Биты после присоединения CRC могут быть обозначены как Or0, Or1, Or2,…, OrKr-1 или Cr0, Cr1, Cr2,…, CrKr-1. А именно, биты могут содержаться в одном и том же пространстве или в разных пространствах

Четвертый вариант осуществления изобретения

На фиг.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
O0k=0 or 1
end for
k=F
s=0
for r=0 to C-l
if r<C.
Kr=K-
else
Kr=K+
end if
while (k<Kr)
if (k<Kr-L)
Ork=bs Распределить bs по Ork и одновременно создать биты четности
s=s+1
Else
Ork=P(L-l-(k-(Kr-L)))
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
O0k=0 or 1
end for
k=F
s=0
for r=0 to C-l
if r<C.
Kr=K-
else
Kr=K+
end if
while (k<Kr)
if (k<Kr-L)
if C=1
Ork=bs Распределить bs по Ork и одновременно создать биты четности
else
Ork=bs
end if
s=s+1
else
Ork=pr(Kr-k-1)
end if
k=k+1
end while
k=0
end for

Основными параметрами, используемыми в таблице 6 и таблице 7, являются следующие параметры. Параметр "F" указывает длину битов заполнителя, "Ork" указывает выход устройства сегментации блока данных, "r" указывает номер кодовых блоков и "k" указывает битовый номер r-ого блока.

Предполагается, что кодовые блоки имеют размеры K+ и K- (где K- меньше, чем K+). Параметры "C+" и "C-" указывают число конкретных кодовых блоков, то есть, число кодовых блоков, имеющих размеры K+ и K-, соответственно. Параметр "L", показанный в таблице 6 и таблице 7, указывает размер CRC, который должен быть присоединен к каждому кодовому блоку, и "Kr" указывает размер, который должен применяться к конечному кодовому блоку.

Биты проверки на четность CRC могут быть обозначены как pr0, pr1, pr2,,…, prL-1. Биты проверки на четность CRC могут создаваться, используя уравнение генерации CRC, основываясь на входных блоках. Биты после сегментации данных и присоединения CRC могут быть обозначены как Or0, Or1, Or2,…, OrKr-1 или Cr0, Cr1, Cr2,…, CrKr-1. А именно, биты могут содержаться в одном и том же пространстве или в разных пространствах.

Пятый вариант осуществления изобретения

Дополнительный пример варианта осуществления настоящего изобретения может быть создан посредством объединения способов, описанных для первого-четвертого вариантов осуществления.

Данные большого размера могут быть сегментированы перед передачей на данные надлежащих размеров в соответствии с требованиями системы для эффективной передачи данных. Соответственно, необходимо сегментировать блок входных данных соответствующим способом. Может быть важным определить, какой способ должен использоваться для сегментации блока данных.

Устройство сегментации блока данных и присоединения CRC, соответствующее дополнительному примеру варианта осуществления настоящего изобретения, является функциональным модулем для сегментации логического блока данных (или входной битовой последовательности) и присоединения кодов CRC. Функциональный модуль может сегментировать входной блок данных на кодовые блоки в соответствующем количестве, учитывая размер кодов обнаружения ошибок (например, кодов CRC), введенных в кодовые блоки, которые должны сегментироваться.

Если входные битовые последовательности сегментируются на кодовые блоки (или сегменты), максимальный размер Z кодового может быть определен в соответствии с системными требованиям. В примерах вариантов осуществления настоящего изобретения максимальный размер кодового блока желательно иметь равным 6144 битов.

Последовательность входных битов (или блока данных), вводимая в функциональный модуль, может быть обозначена как b0, b1, b2,…, bB-1. Размер входной битовой последовательности может быть обозначен как "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.

Если число кодовых блоков не равно 0, кодовые блоки, созданные из функционального блока, могут быть обозначены как cr0, cr1, cr2, cr3,…, cr(Kr-1) (где r указывает номер кодового блока и Kr указывает размер r-ого кодового блока).

Функциональный модуль должно вычислять размер каждого кодового блока после вычисления числа кодовых блоков согласно уравнению 29. Входные битовые последовательности могут сегментироваться на кодовые блоки, имеющие один и тот же размер или имеющие конкретный размер (например, K+ или K-). Очевидно, что кодовые блоки обладают различными размерами в соответствии с требованиям пользователей или системы.

В другом примере варианта осуществления настоящего изобретения размеры кодовых блоков могут быть K+ и K-. В этом случае число C кодовых блоков не должно быть равно 0.

В примере варианта осуществления настоящего изобретения размер первых кодовых блоков (или первых сегментов) может быть обозначен как K+. Размер K+ может быть определен из значений K в таблице 1. Размер K+ может быть определен минимальным значением среди значений K, удовлетворяющих условию, что значение, полученное умножением числа C кодовых блоков на размер K кодовых блоков, больше размера B' измененной входной битовой последовательности.

Если число C кодовых блоков равно 1, то число число C+ кодовых блоков, имеющих размер K+, равно 1 и число С- кодовых блоков, имеющих размер K-, равно 0.

Если число кодовых блоков равно 2 или больше (C>1), размер K- вторых кодовых блоков (или вторых сегментов) может определяться значениями K, показанными в таблице 1. Желательно, чтобы размер K- имел максимальное значение среди значений K, меньших размера K+. Величина изменения Δk для K указывает разность между K+ и K-.

Число C- вторых кодовых блоков, имеющих размер K-, может быть вычислено, округляя в меньшую сторону значение, полученное делением значения, полученного вычитанием размера B' измененной входной битовой последовательности из результата умножения числа C кодовых блоков на размер K+ первых кодовых блоков, на изменение Δ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
C0k=<NULL>
end for
k=F
s=0
for r=0 to C-l
if r<C-
Kr=K-
else
Kr=K+
End if
while (k<Kr-L)
crk=bs
k=k+1
s=s+1
End while
if C>1
while k<Kr
crk=pr(Kr-k-l) Последовательность cr0, cr1, cr2,…, cr(Kr-L-l) используется для вычисления битов проверки на четность pr0, pr1, pr2,…, pr(L-1) согласно подпункту 5.1.1.
k=k+1
end while
End if
k=0
end for

Со ссылкой на таблицу 8, функциональный модуль конфигурирует кодовый блок, вводя кодовый блок размера CRC. Последовательность кодовых блоков cr0, cr1, cr2,…, cr(Kr-1) может использоваться для вычисления битов проверки на четность CRC pr0, pr1, pr2,…, pr(L-1).

В другом примере варианта осуществления настоящего изобретения код обнаружения ошибок, введенный заранее в входной блок данных, может упоминаться как транспортный блок (TB) CRC (или первый код обнаружения ошибок), а код обнаружения ошибок, введенный в кодовые блоки, которые должны сегментироваться, может упоминаться как кодовый блок (СВ) CRC (или второй код обнаружения ошибок). Начальный блок данных перед тем, как TB CRC присоединяется к входным битовым последовательностям, может упоминаться как начальная входная битовая последовательность или транспортный блок. Размер CRC TB может составлять 24 бита.

Если сегментация блока данных в пятом варианте осуществления не выполняется (то есть C=1), первоначально входной блок данных может быть конфигурирован с помощью конечного кодового блока, содержащего CRC TB. Однако, конечный кодовый блок может быть выполнен с возможностью присоединения CRC CB вместо CRC TB в соответствии с требованиям пользователя и вариантами осуществления настоящего изобретения.

Шестой вариант осуществления изобретения

Другой пример варианта осуществления настоящего изобретения может быть создан комбинированием способов, описанных в первом-четвертом вариантах осуществления.

Устройством сегментации блока данных и присоединения CRC, соответствующим другому примеру варианта осуществления настоящего изобретения, является функциональным модулем для сегментации входного блока данных на кодовые блоки надлежащих размеров с учетом кодов обнаружения ошибок (например, кодов CRC), введенных в кодовые блоки, подлежащие сегментации. Если входная битовая последовательность сегментируется на кодовые блоки, размер, который может быть максимально сегментирован, определяется согласно системным требованиям. В примерах вариантов осуществления настоящего изобретения максимальный размер Z кодового блока может составлять 6144 бита.

Последовательность входных битов (или блок данных), вводимая в функциональный модуль, может быть обозначена b0, b1, b2,…, bB-1. Предполагается, что размер входной битовой последовательности больше 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' указывает размер измененной входной битовой последовательности для получения размера К кодового блока.

Если число кодовых блоков не равно 0, кодовые блоки, созданные из функционального блока, могут быть обозначены cr0, crl, cr2, cr3,…, cr (Kr-1) (где r указывает номер кодового блока, и Kr указывает размер r-ого кодового блока).

Функциональный модуль должен вычислить размер каждого кодового блока после вычисления числа кодовых блоков в соответствии с уравнением 30. Каждый из кодовых блоков может иметь размер 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-.

Число C- вторых кодовых блоков, имеющих размер K-, может быть вычислено, округляя в меньшую сторону значение, полученное делением значения, получаемого вычитанием размера В' измененной битовой последовательности из результата деления числа C кодовых блоков на размер К+ первого кодового блока, на величину изменения Δk для 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
Cok=<NULL>
end for
k=F
s=0
for r=0 to C-l
if r<C-
Kr=K-
else
Kr=K-
end if
while (k<Kr-L)
Crk=bs
k=k+1
s=s+1
end while
if C>1
while k<Kr Последовательность cr0, cr1, cr2,…, cr(Kr-L-1) используется для вычисления битов проверки на четность кода CRC pr0, pr1, pr2,…, pr(L-1) согласно таблице 1
Crk=Pr(Kr-k-1)
k=k+1
end while
end if
k=0
end for

В таблице 9 функциональный модуль конфигурирует кодовый блок, вводя размер кода CRC. Последовательность кодового блока cr0, cr1, cr2,…, cr(Kr-1) может использоваться для вычисления битов pr0, pr1, pr2,…, pr(L-1).

Седьмой вариант осуществления изобретения

Другой пример варианта осуществления настоящего изобретения может быть создан комбинированием способов, описанных в первом-четвертом вариантах осуществления.

Другой пример варианта осуществления настоящего изобретения определяет функциональный модуль для присоединения CRC и сегметации входной битовой последовательности. Функциональный модуль может сегментировать входной блок данных на надлежащее число кодовых блоков с учетом размера кодов обнаружения ошибок (например, кодов CRC), введенных в кодовые блоки, которые должны сегментироваться. Если входная битовая последовательность сегментируется на кодовые блоки, размер Z, на который можно максимально сегментировать, определяется в соответствии с системными требованиями. В примерах вариантов осуществления настоящего изобретения максимальный размер кодового блока может составить 6144 бита.

Кодовые блоки, созданные посредством сегментации входных битовых последовательностей, введенных в функциональный модуль, могут быть обозначены как b0, b1, b2,…, bB-1. Сегментация входных битов может быть выполнена, когда размер 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 блока данных.

Согласно упомянутому выше процессу, число C кодовых блоков определяется значением, полученным округлением в большую сторону результата деления размера B' измененной входной битовой последовательности на максимальный размер Z кодового блока. Входные биты, сегментированные функциональным устройством, могут быть обозначены cr0, cr1, cr2, cr3s,…, cr(Kr-1) (где r указывает номер кодового блока, а Kr указывает размер 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-.

Число C- вторых кодовых блоков, имеющих размер K-, может быть вычислено, округляя в меньшую сторону значение, полученное делением значения, полученного вычитанием размера B' измененной входной битовой последовательности из результата деления числа C кодовых блоков на размер K+ первых кодовых блоков, на величину изменения Δ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
C0k=<NULL>
end for
k=F
s=0
for r=0 to C-l
if r<C-
Kr=K-
else
Kr=K+
end if
if(C>1)
Kr=Kr-L
end
while k<Kr
Crk=bs
k=k+1
s=s+1
end while
k=0
end for

Из таблицы 10 может быть понятно, что функциональный модуль конфигурирует кодовые блоки путем сегментации входных битов с учетом размера CRC.

Восьмой вариант осуществления изобретения

Другой пример варианта осуществления настоящего изобретения может быть создан комбинацией способов, описанных в первом-четвертом вариантах осуществления.

Данные большого размера перед передачей могут быть сегментированы на данные надлежащих размеров в соответствии с системными требованиями, чтобы эффективно передавать данные. Соответственно, необходимо сегментировать входной блок данных соответствующим способом. Может быть важным определить, какой способ должен использоваться для сегментации блока данных.

Устройство сегментации блока данных и присоединения CRC, соответствующее другому примеру варианта осуществления настоящего изобретения, образует один функциональный модуль. Функциональный модуль сегментирует входной блок данных на надлежащее число кодовых блоков с учетом размера кодов обнаружения ошибок (например, коды CRC), введенных в кодовые блоки, которые должны сегментироваться. Если входная битовая последовательность сегментируется на кодовые блоки, размер, на который можно максимально сегментировать, определяется в соответствии с системными требованиями. В примерах вариантов осуществления настоящего изобретения максимальный размер кодового блока может составлять 6144 битов.

Входная битовая последовательность (или блок данных), вводимая в функциональный модуль, может быть обозначена как b0, b1, b2,…, bB-1. Размер входной битовой последовательности может быть обозначен как "В" (где 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.

А именно, размер В' измененной входной битовой последовательности является временным значением для вычисления числа и размера кодовых блоков.

Если число кодовых блоков не равно 0, кодовые блоки, созданные функциональным устройством, могут быть обозначены cr0, cr1, cr2, cr3,…, cr(Kr-1) (где r указывает номер кодового блока и Kr указывает размер r-ого кодового блока).

Функциональный модуль должен вычислить размер каждого кодового блока после вычисления числа кодовых блоков согласно уравнению 32. Каждый из кодовых блоков может иметь размер K+ или K-. В этом случае число кодовых блоков должно быть больше 1.

В примере варианта осуществления настоящего изобретения размер первого кодового блока может быть обозначен 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-.

Число C- вторых кодовых блоков, имеющих размер K, может быть вычислено, округляя в меньшую сторону значение, полученное делением значения, полученного вычитанием размера В' измененной входной битовой последовательности из результата деления числа C кодовых блоков на размер К+ первых кодовых блоков, на величину изменения Δk для К. Число C+ первых кодовых блоков, имеющих размер K+, может быть вычислено, вычитая число C- вторых кодовых блоков из общего числа C кодовых блоков.

Так как размер L кода CRC учитывается для вычисления числа и размера кодовых блоков, размер кодового блока может быть больше, чем размер В' измененной входной битовой последовательности. Тогда к первому кодовому блоку могут быть добавлены биты заполнителя, соответствующие разнице.

В другом примере варианта осуществления настоящего изобретения длина F битов заполнителя может быть вычислена с помощью разности между размером В' измененной входной битовой последовательности и значением (C+*K+)+(C-*K-).

В таблице 11 показано уравнение конфигурации кодового блока, созданного с учетом размера CRC.

Таблица 11
Синтаксис Значение Примечания
for k=0 to F-l
C0k=<NULL>
end for
k=F
s=0
for r=0 to C-l
if r<C-
Kr=K-
else
Kr=K+
end if
while (k<Kr-L)
crk=bs
k=k+1
s=s+1
end while
if C>1
while k<Kr
crk=pr(Kr-k-l) Последовательность cr0, cr1, cr2,…, cr(Kr-L-l) используется для вычисления битов проверки на четность CRC pr0, pr1, pr2,…, pr(L-1) согласно таблице 1
K=k+1
end while
End if
K=0
end for

Из таблицы 11 можно понять, что функциональное устройство конфигурирует кодовые блоки с учетом размера CRC. В таблице 11 последовательность кодовых блоков cr0, cr1, cr2,…, cr(Kr-1) может использоваться для вычисления битов проверки на четность CRC pr0, pr1, pr2,…,pr(L-1).

Девятый вариант осуществления изобретения

Другой пример варианта осуществления настоящего изобретения может быть создан комбинацией способов, описанных в первом-четвертом вариантах осуществления.

Способ, соответствующий девятому варианту осуществления, подобен способу, описанному в восьмом варианте осуществления. То есть, способ вычисления числа кодовых блоков, созданных при сегментации входной битовой последовательности, может использовать способ, описанный в восьмом варианте осуществления. Дополнительно, способы вычисления битов заполнителя, размера кодовых блоков, числа кодовых блоков подобны способам, описанным в восьмом варианте осуществления. Здесь далее будут описаны только отличающиеся части способа конфигурирования сегментированных кодовых блоков.

Приведенная ниже таблица 12 показывает уравнение конфигурации кодового блока, созданного с учетом размера CRC.

Таблица 12
Синтаксис Значение Примечания
for k=0 to F-l
C0k=<NULL>
end for
k=F
s=0
for r=0 to C-1
if r<C-
Kr=K-
else
Kr=K+
end if
while k<Kr
if (k<Kr-L)
Crk=bs
s=s+1
Else
Crk=pr(Kr-k-l) Последовательность cr0, cr1,cr2,…,cr(Kr-L-1) используется для вычисления битов проверки на четность кода CRC pr0, pr1, pr2,…, pr(L-1) согласно таблице 1.
end if
k=k+1
end while
k=0
end for

Из таблицы 12 может быть понятно, что функциональный модуль конфигурирует кодовые блоки с учетом размера кода CRC. В таблице 12 последовательность кодовых блоков cr0, cr1,cr2,…, cr(Kr-L-1) может быть использована для вычисления битов проверки на четность кода CRC pr1, pr2,…, pr(L-1).

Десятый вариант осуществления изобретения

Другой пример варианта осуществления настоящего изобретения может быть выполнен с возможностью комбинирования способов, описанных в первом-четвертом вариантах осуществления.

Десятый вариант осуществления подобен пятому варианту осуществления. Способы вычисления числа кодовых блоков, размера кодовых блоков и длины битов заполнителя такие же, как способы, описанные в пятом варианте осуществления. Однако способ распределения данных по каждому кодовому блоку и одновременного присоединения кодов обнаружения ошибок отличается от способа, описанного в пятом варианте осуществления.

Приведенная ниже таблица 13 показывает уравнение конфигурации кодового блока, созданного с учетом размера CRC.

Таблица 13
Синтаксис Значение Примечания
for k=0 to F-l
Cok=<NULL>
end for
k=F
s=0
for r=0 to C-l
if r<C-
Kr=K-
else
Kr=K+
End if
while (k<Kr-L)
Crk=bs
k=k+1
s=s+1
End while
if C>1
While k<Kr Последовательность cr0, cr1, cr2,…, cr(Kr-L-l) используется для вычисления битов проверки на четность CRC pro, pr1, pr2,…, pr(L-1) в соответствии с подпунктом
5.1.1 с помощью генератора полинома gCRCB (D). Для вычисления подразумевается, что биты заполнителя, если присутствуют, имеют значение 0.
Crk=pr(k+L-Kr)
k=k+1
end while
End if
k=0
end for

Основополагающее описание в сочетании с таблицей 13 подобно описанию, сделанному в сочетании с таблицей 8. Поэтому повторяющиеся части можно посмотреть в описании в таблице 8.

В таблице 13, если число С кодовых блоков больше 1, биты проверки на четность CRC присоединяются к каждому кодовому блоку. Последовательность кодовых блоков cr0, cr1, cr2,…, cr(Kr-1) может использоваться для вычисления битов проверки на четность CRC pr0, pr1, pr2,…, pr(L-1). Биты проверки на четность CRC могут присоединяться в места битов проверки на четность CRC, содержащиеся в кодовых блоках в прямом или обратном порядке. В примере варианта осуществления настоящего изобретения предполагается, что биты проверки на четность CRC присоединяются в прямом порядке.

Уравнение 33 показывает присоединение битов проверки на четность CRC в прямом порядке.

[Уравнение 33]

If C>1

while k<Kr

Crk=Pr(k+L-Kr)

k=k+1

end while

end if

В уравнении 33 биты проверки на четность CRC (pr(k+L-Kr)), введенные в кодовые блоки, присоединяются в прямом порядке. А именно, код 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).

Функциональный модуль может вычислить число C- вторых кодовых блоков, используя размер К+ первых кодовых блоков и размер B' измененной входной битовой последовательности. Функциональный модуль вычисляет значение разности Δk между размером K+ первых кодовых блоков и размером К- вторых кодовых блоков. Функциональный модуль вычисляет число C- вторых кодовых блоков, округляя в меньшую сторону значение, полученное делением значения числа C кодовых блоков, умноженного на размер первых кодовых блоков минус размер измененной входной последовательности, на значение разности Δk (этап 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. Соответственно, возможно быстро обработать данные.

Одиннадцатый вариант осуществления изобретения

Другой пример варианта осуществления настоящего изобретения может быть выполнен с возможностью комбинирования способов, описанных в первом-десятом вариантах осуществления.

Одиннадцатый вариант осуществления может использоваться, когда размер К кодового блока всегда постоянен и могут иметь место биты заполнителя. Процесс вычисления числа C кодовых блоков является таким же, как процесс, описанный для четвертого или пятого вариантов осуществления. Однако в одиннадцатом варианте осуществления размер Kr каждого кодового блока является одним и тем же.

Приведенное ниже уравнение 34 показывает способ вычисления размера Kr кодового блока и длины F битов заполнителя (то есть, числа битов заполнителя).

[Уравнение 34]

Kr=B'/C

Число битов заполнителя: F=C*Kr-B'

В уравнении 34 размер Kr кодового блока вычисляется делением размера B' измененной входной битовой последовательности на число C кодовых блоков. На этот раз "r" означает индекс кодового блока. Длина F битов заполнителя вычисляется, вычитая размер B' измененной входной битовой последовательности из результата умножения числа C кодовых блоков на размер Kr кодового блока. То есть, одиннадцатый вариант осуществления показывает способ вычисления размера Kr кодового блока, когда размер каждого из кодовых блоков является одним и тем же.

В таблице 14 показано уравнение конфигурации кодового блока, созданного с учетом размера CRC и длины F битов заполнителя.

Таблица 14
Синтаксис Значение Примечания
for k=0 to F-l
c0k=<NULL>
end for
k=F
s=0
for r=0 to C-1
while (k<Kr-L)
Crk=bs
k=k+1
s=s+1
end while
if C>1
while k<Kr
Crk=pr(k+L-Kr) Последовательность cr0, cr1, cr2,…, cr(Kr-L-l) используется для вычисления битов проверки на четность CRC pr0, pr1, pr2,…,pr(L-1) согласно подпункту 5.1.1 с помощью генератора полиномов gCRC24B(D). Для вычисления CRC принимается, что биты заполнителя, если присутствуют, имеют значение 0.
k=k+1
end while
end if
k=0
end for

При рассмотрении таблицы 14 может быть понятно, что функциональный модуль конфигурирует кодовые блоки с учетом размера CRC. В таблице 14 последовательность кодовых блоков cr0, cr1, cr2,…, cr(Kr-L-l) может использоваться для вычисления битов проверки на четность CRC pr0, pr1, pr2,…, pr(L-1).

В другом примере варианта осуществления настоящего изобретения код обнаружения ошибок, введенный ранее в блок данных, может упоминаться как транспортный блок (TB) CRC (или первый код обнаружения ошибок) и код обнаружения ошибок, введенный в кодовые блоки, которые должны сегментироваться, может упоминаться как CRC (или второй код обнаружения ошибок) кодового блока (СВ).

Когда сегментация блока входных данных не выполняется (то есть, C=l), входной блок данных может быть создан конечным кодовым блоком, содержащим CRC для TB. Однако конечный кодовый блок может быть создан, присоединяя CRC CB вместо CRC TB в соответствии с требованиям пользователей и вариантами осуществления настоящего изобретения.

Двенадцатый вариант осуществления изобретения

Другой пример варианта осуществления настоящего изобретения может быть выполнен с возможностью комбинации способов, описанных в первом-десятом примерах вариантов осуществления. Двенадцатый вариант осуществления может использоваться, когда размер кодовых блоков постоянен и биты заполнителя могут отсутствовать. А именно, входной битовый размер равен общему количеству кодовых блоков.

Двенадцатый вариант осуществления может использоваться, когда размер Kr каждого кодового блока является одним и тем же. Процесс вычисления числа C кодовых блоков является тем же самым, что и процесс, описанный в четвертом или пятом вариантах осуществления.

Приведенное ниже уравнение 35 показывает способ вычисления размера Kr кодового блока.

[Уравнение 35]

Kr=B'/C

В уравнении 35 размер Kr кодового блока вычисляется делением размера В' измененной входной битовой последовательности на число C кодовых блоков. На этот раз Kr указывает размер кодового блока и "r" указывает индекс кодового блока.

В таблице 15 показано уравнение конфигурации, созданное с учетом размера L CRC.

Таблица 15
Синтаксис Значение Примечания
k=0
s=0
for r=0 to C-l
while (k<Kr-L)
crk=bs
k=k+1
s=s+1
end while
if C>1
while k<Kr
crk=pr(k+L-Kr) Последовательность cr0, cr1, cr2,…, cr(Kr-L-l) используется для вычисления битов проверки на четность CRC pr0, pr1, pr2,…,pr(L-1) согласно подпункту 5.1.1 с помощью генератора полиномов gCRC24B(D). Для вычисления CRC принимается, что биты заполнителя, если присутствуют, имеют значение 0.
k=k+1
end while
end if
k=0
end for

Из таблицы 15 можно понять, что функциональный модуль конфигурирует кодовые блоки с учетом размера CRC. В таблице 15 последовательность кодовых блоков cr0, cr1, cr2,…, cr(Kr-L-l) может использоваться для вычисления битов проверки на четность CRC pr0, pr1, pr2,…,pr(L-1).

В другом примере варианта осуществления настоящего изобретения код обнаружения ошибок, введенный ранее в блок данных, может упоминаться как CRC транспортного блока (TB) (или первый код обнаружения ошибок) и код обнаружения ошибок, введенный в кодовые блоки, которые должны быть сегментированы, может упоминаться как код CRC кодового блока (CB) (или второй код обнаружения ошибок).

Когда входной блок данных не сегментирован (то есть, C=1), входной блок данных может быть создан конечным кодовым блоком, содержащим CRC TB. Однако конечный кодовый блок может быть создана посредством присоединения CRC CB вместо CRC TB согласно требованиям пользователей и вариантам осуществления настоящего изобретения.

Для специалистов в данной области техники должно быть очевидно, что в настоящее изобретение могут быть внесены различные модификации и изменения, не отступая от сущности или объема изобретения. Таким образом, предполагается, что настоящее изобретение охватывает модификации и изменения этого изобретения, если они попадают в рамки объема пунктов прилагаемой формулы изобретения и их эквивалентов.

Промышленная применимость

Примеры вариантов осуществления настоящего изобретения могут быть применены к системам беспроводного доступа. Кроме того, примеры вариантов осуществления настоящего изобретения могут быть применены ко всем способам создания кодовых блоков, получаемых сегментацией входной битовой последовательности. Кодовые блоки, созданные в соответствии с примерами вариантов осуществления настоящего изобретения, могут применяться к кодированию, мультиплексированию и чередованию физического канала. Настоящее изобретение не ограничивается тем, что было, в частности, показано и описано выше, и может быть применено ко всем технологиям в рамках настоящего изобретения.

1. Способ передачи данных в системе беспроводного доступа, содержащий этапы, на которых
создают входную битовую последовательность посредством того, что присоединяют к данным первый код обнаружения ошибок;
если размер В входной битовой последовательности больше максимального размера Z кодовых блоков, вычисляют число С кодовых блоков, используя размер В входной битовой последовательности, максимальный размер Z кодовых блоков и размер L второго кода обнаружения ошибок, который должен быть присоединен к каждому из кодовых блоков, причем число С кодовых блоков вычисляют посредством ;
вычисляют размер В' измененной входной битовой последовательности, используя число С кодовых блоков, размер L второго кода обнаружения ошибок и размер В входной битовой последовательности;
получают размер K кодовых блоков из заранее определенных значений на основании значения, полученного посредством того, что делят размер В' измененной входной битовой последовательности на число С кодовых блоков;
сегментируют входную битовую последовательность, чтобы иметь С кодовых блоков с размером K кодовых блоков;
создают кодовые блоки посредством того, что присоединяют второй код обнаружения ошибок к каждой из сегментированных входных битовых последовательностей; и
канально кодируют кодовые блоки.

2. Способ по п.1, в котором первый код обнаружения ошибок и второй код обнаружения ошибок создают посредством разных полиномов.

3. Способ по п.1, в котором размер В входной битовой последовательности устанавливают равным значению, полученному посредством того, что прибавляют размер А данных к размеру первого кода обнаружения ошибок, и в котором второй код обнаружения ошибок, который должен быть присоединен к каждому из кодовых блоков, дополнительно присоединяют, чтобы обнаруживать, содержит ли каждый из кодовых блоков ошибки.

4. Способ по п.1, в котором размер В' измененной входной битовой последовательности вычисляют посредством В'=В+С·L, где В является размером входной битовой последовательности, С является числом кодовых блоков, а L является размером второго кода обнаружения ошибок.

5. Способ по п.1, в котором размер K кодовых блоков удовлетворяет условию, что значение, полученное посредством того, что умножают число С кодовых блоков на размер K кодовых блоков, больше или равно размеру В' измененной входной битовой последовательности.

6. Способ по п.5, в котором размер K+ первых кодовых блоков из кодовых блоков является наименьшим размером среди заранее определенных значений, и
размер K- вторых кодовых блоков из кодовых блоков является наибольшим размером среди заранее определенных значений, которые меньше, чем размер K+.

7. Способ по п.6, в котором число С- вторых кодовых блоков вычисляют посредством , где С является числом кодовых блоков, K+ является размером первых кодовых блоков, В' является размером измененной входной битовой последовательности, ΔK является значением разности между размером K+ первых кодовых блоков и размером K- вторых кодовых блоков.

8. Способ по п.7, в котором число С+ первых кодовых блоков устанавливают равным значению, полученному посредством того, что вычитают число С- вторых кодовых блоков из числа С кодовых блоков.

9. Способ по п.8, дополнительно содержащий этапы, на которых:
вычисляют число F битов заполнителя посредством использования F=C+·K++C-·K--B', где С+ является числом первых кодовых блоков, K+ является размером первых кодовых блоков, С- является числом вторых кодовых блоков, K- является размером вторых кодовых блоков, а В' является размером измененной входной битовой последовательности; и
распределяют биты заполнителя первоначальному кодовому блоку среди кодовых блоков.

10. Способ по п.9, дополнительно содержащий этапы, на которых распределяют входную битовую последовательность первоначальному кодовому блоку из кодовых блоков, оставляя области для битов заполнителя и второго кода обнаружения ошибок, который будет присоединен к первоначальному кодовому блоку; и
распределяют оставшуюся входную битовую последовательность последовательным кодовым блокам после первоначального кодового блока, оставляя области для второго кода обнаружения ошибок, который будет присоединен к последовательным кодовым блокам.

11. Способ по п.10, в котором этап распределения входной битовой последовательности первому кодовому блоку дополнительно содержит этап, на котором присоединяют второй код обнаружения ошибок и распределяют биты заполнителя первоначальному кодовому блоку; и
в котором этап распределения оставшейся входной битовой последовательности последовательным кодовым блокам дополнительно содержит этап, на котором присоединяют второй код обнаружения ошибок к последовательным кодовым блокам.

12. Способ по п.1, в котором, если размер В входной битовой последовательности меньше максимального размера Z кодовых блоков, число С кодовых блоков устанавливают равным 1.

13. Способ по п.1, в котором максимальный размер Z кодовых блоков составляет 6144 бита.

14. Способ по п.1, в котором объектом способа является пользовательское оборудование при передаче по восходящей линии связи, и объектом способа является базовая станция при передаче по нисходящей линии связи.



 

Похожие патенты:

Изобретение относится к устройствам режима «подключай и работай» (UPnP), показывающим службу для отображения UPnP обнаруженных элементов содержания на местоположение блока системных сообщений (SMB).

Изобретение относится к технике связи. .

Изобретение относится к области электросвязи и может быть использовано при построении локальных, территориальных и глобальных сетей подвижной и фиксированной связи, или распределенных вычислительных сред.

Изобретение относится к системам связи. .

Изобретение относится к способу управления устройством, и в частности, к способу управления устройством с использованием широковещательного канала. .

Изобретение относится к области радиотехники и может найти широкое применение при построении систем радиосвязи. .

Изобретение относится к области техники связи, в частности к системам передачи информации, в которых для ее защиты от искажений в канале связи применяются каскадные коды с последовательным соединением через перемежитель циклических линейных блочных кодов, и может быть использовано в кодеках систем передачи данных, а также в устройствах помехоустойчивого кодирования.

Изобретение относится к способу декодирования по меньшей мере одного кодового слова, причем по меньшей мере одно кодовое слово было генерировано кодером, содержащим структуру, обеспечивающую код, представимый множеством переходов от одной ветви к другой в диаграмме матрицы.

Изобретение относится к системам связи, использующим сигналы с турбокодированием на основе сверточных кодов, а именно к способам итеративного приема сигналов с турбокодированием.

Изобретение относится к модулю генерации интегральных схем декодирования для использования, в частности, в турбоустройствах и для генерации схем сверточного кодирования.

Изобретение относится к системе кодирования и декодирования без потерь и восстанавливает закодированные со сжатием без потерь аудиоданные на основе реального масштаба времени.

Изобретение относится к технике электросвязи и может быть использовано в системах передачи информации для защиты от ошибок. .

Изобретение относится к способам и устройствам для генерирования результатов проверки циклически избыточным кодом для множества кодовых блоков. .

Изобретение относится к системам мобильной связи, в частности к устройству и способу кодирования-декодирования блоковых кодов низкой плотности с проверкой на четность (НППЧ).
Наверх