RU2448417C2 - Data transmission method - Google Patents

Data transmission method Download PDF

Info

Publication number
RU2448417C2
RU2448417C2 RU2010109431/08A RU2010109431A RU2448417C2 RU 2448417 C2 RU2448417 C2 RU 2448417C2 RU 2010109431/08 A RU2010109431/08 A RU 2010109431/08A RU 2010109431 A RU2010109431 A RU 2010109431A RU 2448417 C2 RU2448417 C2 RU 2448417C2
Authority
RU
Russia
Prior art keywords
size
code
code blocks
block
crc
Prior art date
Application number
RU2010109431/08A
Other languages
Russian (ru)
Other versions
RU2010109431A (en
Inventor
Ки Хван КИМ (KR)
Ки Хван КИМ
Йоунг Сеоб ЛИ (KR)
Йоунг Сеоб ЛИ
Сеунг Хиун КАНГ (KR)
Сеунг Хиун КАНГ
Дзае Хоон ЧУНГ (KR)
Дзае Хоон ЧУНГ
Original Assignee
Эл Джи Электроникс Инк.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Эл Джи Электроникс Инк. filed Critical Эл Джи Электроникс Инк.
Publication of RU2010109431A publication Critical patent/RU2010109431A/en
Application granted granted Critical
Publication of RU2448417C2 publication Critical patent/RU2448417C2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)

Abstract

FIELD: information technology.
SUBSTANCE: in the method of transmitting data in a wireless access system, an input bit sequence is created by tying a first error detection code to the data. If the size B of the input bit sequence is larger than the maximum size Z of code blocks, the number C of code blocks is calculated: C=B/(Z-L) where L is the size of the second error detection code which must be tied to each code block The size B' of the altered input bit sequence is then calculated using the number C of code blocks, the size L of the second error detection code and size B of the input bit sequence; the size K of the code blocks is obtained from predetermined values based on the value obtained by dividing the size B' of the altered input bit sequence by the number C of code blocks; the input bit sequence is segmented in order to have C code blocks with size K of code blocks; code blocks are formed by tying the second error detection code to each of the segmented input bit sequences; and the code blocks are channel coded.
EFFECT: high efficiency of the data transmission method.
14 cl, 11 dwg, 15 tbl

Description

Настоящее изобретение относится к способу передачи данных в системе беспроводного доступа и, более конкретно, к различным способам деления входных данных на кодовые блоки с учетом размера кода обнаружения ошибок.The present invention relates to a method for transmitting data in a wireless access system and, more specifically, to various methods of dividing input data into code blocks, taking into account the size of the error detection code.

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

При передаче данных важны эффективность передачи данных и надежность передачи данных. Для повышения эффективности передачи данных обычно используются способы деления данных перед передачей и способы, использующие код обнаружения ошибок, для проверки, содержат ли данные ошибку.When transmitting data, data transfer efficiency and data transfer reliability are important. To improve data transfer efficiency, methods for dividing data before transmission and methods using an error detection code are typically used to check if the data contains an error.

Контроль ошибок относится к механизму обнаружения и исправления ошибок, созданных во время передачи данных. Схемы контроля ошибок включают в себя схему запроса на автоматическое повторение (ARQ), схему прямого исправления ошибок (FEC) и схему исправления ошибок с обратным запросом (BEC).Error control refers to the mechanism for detecting and correcting errors created during data transfer. Error control schemes include an automatic repeat request (ARQ) scheme, a forward error correction (FEC) scheme, and a reverse request error correction (BEC) scheme.

Для получения надежной передачи данных по линии связи схема ARQ, посредством сигнала подтверждения (ACK) и истечения времени, позволяет принимающей стороне проверить, произошла ли ошибка, и дает возможность передающей стороне повторно передать кадр, в котором произошла ошибка. Схема ARQ, которую называют схемой запроса на повторную передачу, позволяет принимающей стороне обнаружить ошибку и запросить повторную передачу данных. В схеме FEC передающая сторона перед передачей добавляет избыточность к символам или кадрам и принимающая сторона обнаруживает и исправляет ошибки, используя избыточность. Схема BEC добавляет избыточность для обнаружения ошибок и передает сигнал ARQ для повторной передачи данных передающей стороне.To obtain reliable data transmission over the communication line, the ARQ circuit, by means of an acknowledgment signal (ACK) and the expiration of time, allows the receiving side to check whether an error has occurred and allows the transmitting side to retransmit the frame in which the error occurred. The ARQ scheme, which is called a retransmission request scheme, allows the receiving side to detect an error and request retransmission of data. In the FEC scheme, the transmitting side adds redundancy to characters or frames before transmission, and the receiving side detects and corrects errors using redundancy. The BEC scheme adds redundancy for error detection and transmits an ARQ signal for retransmission of data to the transmitting side.

Обнаружение ошибок относится к методике, позволяющей принимающей стороне распознавать, произошла ли ошибка во время передачи. Код обнаружения ошибок относится к коду, поддерживающему методику обнаружения ошибок. Методики обнаружения ошибок включают в себя проверку на четность, проверку контрольной суммы, проверку при помощи циклического избыточного кода (CRC) и методики взвешенного кода.Error detection refers to a technique that allows the receiving side to recognize whether an error has occurred during transmission. The error detection code refers to code that supports the error detection technique. Error detection techniques include parity checking, checksum checking, cyclic redundancy check (CRC) checking, and weighted code testing.

Исправление ошибок относится к методике кодирования, включающей в себя достаточную избыточность в переданном блоке данных, так чтобы принимающая сторона могла вывести символы передачи из принятого блока данных. С точки зрения модели уровней взаимодействия открытых систем (OSI) исправление ошибок осуществляется, главным образом, на уровне каналов передачи данных. Между тем, обнаружение ошибок относится к методике кодирования, при которой избыточность добавляется так, чтобы принимающая сторона могла обнаружить появление ошибки и подать запрос повторной передачи.Error correction refers to an encoding technique that includes sufficient redundancy in a transmitted data block so that the receiving side can derive transmission symbols from the received data block. From the point of view of the Open System Interaction Levels (OSI) model, error correction is carried out mainly at the level of data transmission channels. Meanwhile, error detection refers to an encoding technique in which redundancy is added so that the receiving side can detect the occurrence of an error and submit a retransmission request.

Исправление ошибок включает в себя схему блочного кода, в которой заданная длина избыточности добавляется к заранее определенной длине информации (сигналу), так чтобы принимающая сторона могла исправить ошибки, и схему сверточного кода, в которой кодер имеет запоминающее устройство для использования, во время кодирования, части ранее ввведенных сигналов в дополнение к вводимым в настоящее время сигналам.Error correction includes a block code scheme in which a predetermined length of redundancy is added to a predetermined information length (signal) so that the receiving side can correct errors, and a convolutional code scheme in which the encoder has a storage device for use during encoding, portions of previously inputted signals in addition to the currently inputted signals.

Блочный код включает в себя коды Хемминга, коды Рида-Соломона в качестве циклических кодов, коды Боуза-Чоудхури-Хоквенгема (BCH) и коды циклической проверки избыточности (CRC). Сверточный код содержит коды Витерби и турбокоды.The block code includes Hamming codes, Reed-Solomon codes as cyclic codes, Bose-Chowdhury-Hockwenham codes (BCH) and cyclic redundancy check (CRC) codes. The convolutional code contains Viterbi codes and turbo codes.

Проверка на четность обычно используется, главным образом, когда число информационных битов мало и вероятность появляения ошибки низкая. Хотя проверка на четность широко используется при асинхронной передаче из-за ее простоты, трудно обнаружить ошибки, когда число ошибок является четным числом. Проверка на четность включает в себя проверку на нечетность, при которой число "1" в битах проверки на четность при кодировании символов устанавливается равным нечетному числу, и проверку на четность, при которой число "1" в битах проверки на четность при кодировании символов устанавливается равным четному числу.The parity check is usually used mainly when the number of information bits is small and the probability of an error is low. Although parity is widely used in asynchronous transmission because of its simplicity, it is difficult to detect errors when the number of errors is an even number. The parity check includes an odd check, in which the number “1” in the parity bits when encoding characters is set to an odd number, and a parity check in which the number “1” in the parity bits when setting characters is set equal to an even number.

CRC, который является одним из способов обнаружения ошибок, относится к методике, при которой передающая сторона прибавляет результат, извлеченный посредством полинома из переданных данных, в последовательность проверки кадра (FCS) и передает присоединенное поле, а принимающая сторона проверяет ошибки, подтверждая, идентичен ли извлеченный результат извлеченным результатам, полученным тем же самым способом на приемной стороне. CRC является мощным средством и его аппаратная конфигурация проста. Остаток, полученный делением первоначального кадра данных, который должен быть передан передающей стороной, на полином генератора CRC, равен FCS. Полином генератора CRC, который является делителем для деления, необходим для создания FCS. FCS присоединяется к концу первоначального кадра данных так, чтобы результирующий кадр (с прибавлением FCS к первоначальным данным) мог быть точно разделен на заранее определенный полином. То есть, FCS, вычисленная для первоначального кадра данных, присоединяется к концу кадра. Здесь, заранее определенный полином упоминается как делитель или полином CRC.CRC, which is one of the methods for error detection, relates to a technique in which the transmitting side adds the result extracted by polynomial from the transmitted data to the frame check sequence (FCS) and transmits the attached field, and the receiving side checks for errors, confirming whether it is identical extracted result extracted results obtained in the same way on the receiving side. CRC is a powerful tool and its hardware configuration is simple. The remainder obtained by dividing the original data frame to be transmitted by the transmitting side by the polynomial of the CRC generator is equal to FCS. A CRC generator polynomial, which is a divisor for division, is required to create FCS. The FCS is attached to the end of the original data frame so that the resulting frame (with the addition of FCS to the original data) can be precisely divided into a predefined polynomial. That is, the FCS calculated for the initial data frame is attached to the end of the frame. Here, a predefined polynomial is referred to as a divisor or CRC polynomial.

Принимающая сторона выполняет проверку CRC после приема результирующего кадра. Принимающая сторона проверяет остаток, деля принятый кадр данных на тот же самый полином CRC, который был использован во время передачи. Принимающая сторона обнаруживает ошибки, проверяя, является ли остаток, полученный при делении данных, переданных вместе с избыточностью, на первоначальные данные, равным 0. Если остаток не равен 0, принимается решение, что во время передачи произошла ошибка.The receiving side performs a CRC check after receiving the resulting frame. The receiving party checks the remainder by dividing the received data frame by the same CRC polynomial that was used during transmission. The receiving party detects errors by checking whether the remainder obtained by dividing the data transmitted along with the redundancy by the original data is 0. If the remainder is not equal to 0, it is decided that an error occurred during the transmission.

СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION

Техническая проблемаTechnical problem

В обычно используемом способе присоединения CRC и способе сегментации блоков данных код CRC присоединяется к блоку данных и затем блок данных сегментируется, передавая, таким образом, блок данных в форме кодовых блоков. В этом случае принимающая сторона принимает все сегментированные блоки и последовательно объединяет кодовые блоки. Принимающая сторона может с помощью CRC определить, содержит ли восстановленный блок данных ошибки. Поэтому, поскольку определение того, содержит ли восстановленный блок данных ошибки, производится после того, как все кодовые блоки будут последовательно восстановлены, ошибки не могут обнаруживаться быстро.In a commonly used CRC attachment method and a data block segmentation method, the CRC code is attached to the data block and then the data block is segmented, thereby transmitting the data block in the form of code blocks. In this case, the receiving side receives all the segmented blocks and sequentially combines the code blocks. The receiving end may determine with the CRC whether the recovered data block contains errors. Therefore, since the determination of whether the restored data block contains errors is made after all code blocks have been sequentially restored, errors cannot be detected quickly.

Дополнительно, если в каком-нибудь месте принятого блока данных присутствует ошибка, процесс устранения ошибки, выполняемый принимающей стороной, усложняется по мере увеличения числа кодовых блоков.Additionally, if an error is present at any place in the received data block, the error correction process performed by the receiving party becomes more complicated as the number of code blocks increases.

Дополнительно, код CRC, присоединенный к каждому кодовому блоку, должен учитываться при вычислении числа и размера кодовых блоков. Однако способ вычисления числа и размера кодовых блоков посредством обычно используемой сегментации блока данных не учитывает, что к каждому кодовому блоку присоединяется код CRC.Additionally, a CRC code attached to each code block must be considered when calculating the number and size of code blocks. However, the method of calculating the number and size of code blocks by commonly used segmentation of a data block does not take into account that a CRC code is attached to each code block.

Настоящее изобретение, разработанное для решения этих проблем, обеспечивает эффективный способ передачи данных.The present invention, developed to solve these problems, provides an efficient way to transfer data.

Задача настоящего изобретения состоит в обеспечении различных способов сегментации блока данных, учитывающих размер кода обнаружения ошибок, присоединенного к каждому кодовому блоку.An object of the present invention is to provide various methods for segmenting a data block taking into account the size of an error detection code attached to each code block.

Другая задача настоящего изобретения состоит в обеспечении различных способов вычисления числа кодовых блоков.Another objective of the present invention is to provide various methods for calculating the number of code blocks.

Еще одна другая задача настоящего изобретения состоит в обеспечении различных способов распределения данных с учетом числа и размера кодовых блоков и/или размера кодов обнаружения ошибок.Yet another object of the present invention is to provide various methods for distributing data, taking into account the number and size of code blocks and / or the size of error detection codes.

Дополнительная задача настоящего изобретения состоит в обеспечении эффективного способа передачи данных, основанного на вышеупомянутых задачах.An additional objective of the present invention is to provide an effective method for transmitting data based on the above objectives.

Техническое решениеTechnical solution

Настоящее изобретение описывает примеры вариантов осуществления для сегментации блоков данных в системе беспроводного доступа. Настоящее изобретение также описывает способ сегментации блока данных с учетом размера кода обнаружения ошибок и способ присоединения кода обнаружения ошибок к кодовым блокам.The present invention describes examples of embodiments for segmenting data blocks in a wireless access system. The present invention also describes a method for segmenting a data block based on the size of an error detection code and a method for attaching an error detection code to code blocks.

В соответствии с аспектом настоящего изобретения способ передачи данных в системе беспроводного доступа включает в себя этапы, на которых: создают входную битовую последовательность, присоединяя первый код обнаружения ошибок к данным; если размер В входной битовой последовательности больше максимального размера Z кодовых блоков, вычисляют число C кодовых блоков, используя размер В входной битовой последовательности, максимальный размер Z кодовых блоков и размер L второго кода обнаружения ошибок, который должен присоединяться к каждому из кодовых блоков; вычисляют размер В' измененной входной битовой последовательности, используя число C кодовых блоков, размер L второго кода обнаружения ошибок и размер В входной битовой последовательности; получают размер K кодовых блоков из предварительно установленных значений, основываясь на значении, полученном делением размера В' измененной входной битовой последовательности на число C кодовых блоков; сегментируют входную битовую последовательность, чтобы иметь C кодовых блоков и размер K кодовых блоков; создают кодовые блоки, присоединяя второй код обнаружения ошибок к каждой из сегментированных входных битовых последовательностей; и производят канальное кодирование кодовых блоков.In accordance with an aspect of the present invention, a method for transmitting data in a wireless access system includes the steps of: creating an input bit sequence by attaching a first error detection code to the data; if the size In the input bit sequence is greater than the maximum size Z of code blocks, calculate the number C of code blocks using the size In the input bit sequence, the maximum size Z of code blocks and the size L of the second error detection code to be attached to each of the code blocks; calculating the size B ′ of the modified input bit sequence using the number C of code blocks, the size L of the second error detection code, and the size B of the input bit sequence; obtaining a size K of code blocks from predefined values based on a value obtained by dividing the size B ′ of the changed input bit sequence by the number C of code blocks; segmenting the input bit sequence to have C code blocks and a size K of code blocks; creating code blocks by attaching a second error detection code to each of the segmented input bit sequences; and produce channel coding of code blocks.

Число C кодовых блоков может быть установлено равным целому числу, округленному до большего значения, полученного делением размера В входной битовой последовательности на результат вычитания размера L второго кода обнаружения ошибок, который должен присоединяться к каждому из кодовых блоков, из максимального размера Z кодовых блоков.The number C of code blocks can be set to an integer rounded to a larger value obtained by dividing the size In the input bit sequence by the result of subtracting the size L of the second error detection code that must be attached to each of the code blocks from the maximum size Z of code blocks.

Первый код обнаружения ошибок и второй код обнаружения ошибок могут быть созданы разными полиномами.The first error detection code and the second error detection code can be created by different polynomials.

Для размера В входной битовой последовательности может быть установлено значение, полученное прибавлением размера А данных к размеру первого кода обнаружения ошибок, и второй код обнаружения ошибок, который должен присоединяться к каждому из кодовых блоков, может дополнительно быть присоединен для обнаружения, содержит ли ошибки каждый из кодовых блоков.For size In the input bit sequence, a value can be set obtained by adding data size A to the size of the first error detection code, and a second error detection code that must be attached to each of the code blocks can additionally be attached to detect whether each of the errors contains code blocks.

Если размер B входной битовой последовательности меньше максимального размера Z кодовых блоков, число C кодовых блоков может быть установлено равным 1.If the size B of the input bit sequence is less than the maximum size Z of code blocks, the number C of code blocks can be set to 1.

Для размера B' измененной входной битовой последовательности может быть установлено значение, полученное прибавлением размера В входной битовой последовательности к результату умножения числа C кодовых блоков на размер L второго кода обнаружения ошибок, который должен содержаться в каждом из кодовых блоков. Размер K кодовых блоков может удовлетворять условию, что значение, полученное умножением числа C кодовых блоков на размер K кодовых блоков, больше или равно размеру В' измененной входной битовой последовательности.For size B ′ of the changed input bit sequence, a value obtained by adding the size In the input bit sequence to the result of multiplying the number C of code blocks by the size L of the second error detection code to be contained in each of the code blocks can be set. The size K of code blocks can satisfy the condition that the value obtained by multiplying the number C of code blocks by the size K of code blocks is greater than or equal to the size B ′ of the changed input bit sequence.

Размер K+ первых кодовых блоков размера K кодовых блоков может быть наименьшим размером среди предварительно установленных значений и размер K- вторых кодовых блоков размера K кодовых блоков может иметь наибольший размер среди предварительно установленных значений.The size K + of the first code blocks of size K of code blocks may be the smallest size among the preset values and the size of K - second code blocks of size K of code blocks may have the largest size among the preset values.

Число C- вторых кодовых блоков может быть установлено равным целому числу, округляя в меньшую сторону значение, полученное делением на разность между размером K+ первых кодовых блоков и размером K- вторых кодовых блоков результата вычитания размера B' измененной входной битовой последовательности из значения, полученного умножением числа C кодовых блоков на размер K+ первых кодовых блоков.The number of C - second code blocks can be set to an integer, rounding down the value obtained by dividing by the difference between the size K + of the first code blocks and the size K - of the second code blocks of the result of subtracting the size B 'of the changed input bit sequence from the value obtained by multiplying the number C of code blocks by the size K + of the first code blocks.

Число C+ первых кодовых блоков может быть установлено равным значению, полученному вычитанием числа C- вторых кодовых блоков от числа C кодовых блоков.The number C + of the first code blocks can be set equal to the value obtained by subtracting the number C - second code blocks from the number C of code blocks.

Способ передачи данных может дополнительно включать в себя этапы, на которых: вычисляют длину F битов заполнителя, вычитая измененный размер входной битовой последовательности из результата прибавления значения, полученного умножением числа C+ первых кодовых блоков на размер K+ первых кодовых блоков, со значением, полученным умножением числа C- вторых кодовых блоков на размер K- вторых кодовых блоков; и распределяют биты заполнителя первому кодовому блоку среди кодовых блоков.The data transmission method may further include the steps of: calculating the length F of the filler bits by subtracting the modified size of the input bit sequence from the result of adding the value obtained by multiplying the number C + of the first code blocks by the size K + of the first code blocks, with the value obtained multiplying the number C - second code blocks by the size K - second code blocks; and distributing the filler bits to the first code block among the code blocks.

Способ передачи данных может дополнительно содержать этапы, на которых: распределяют данные по областям, за исключением размера битов заполнителя и размера второго кода обнаружения ошибок в первом кодовом блоке кодовых блоков; и распределяют данные по областям, за исключением размера второго кода обнаружения ошибок в кодовых блоках, начиная со второго кодового блока.The data transmission method may further comprise the steps of: distributing data into regions, with the exception of the size of the filler bits and the size of the second error detection code in the first code block of code blocks; and distributing the data into regions, with the exception of the size of the second error detection code in the code blocks, starting from the second code block.

Данные распределения первому кодовому блоку могут дополнительно содержать присоединение второго кода обнаружения ошибок к первому кодовому блоку и распределение данных кодовым блокам, начиная со второго кодового блока, может дополнительно содержать присоединение второго кода обнаружения ошибок к кодовым блокам, начиная со второго кодового блока.The distribution data to the first code block may further comprise attaching a second error detection code to the first code block and distributing data to the code blocks starting from the second code block, may further comprise attaching the second error detection code to the code blocks starting from the second code block.

Максимальный размер Z кодовых блоков составляет 6144 бита.The maximum size Z of code blocks is 6144 bits.

В соответствии с другим аспектом настоящего изобретения способ передачи данных в системе беспроводного доступа содержит этапы, на которых: создают вторую входную битовую последовательность, присоединяя первый код обнаружения ошибок к первой входной битовой последовательности; вычисляют размер В второй входной битовой последовательности, используя размер А первой входной битовой последовательности и размер L первого кода обнаружения ошибок; если размер B второй входной битовой последовательности больше максимального размера Z кодовых блоков, вычисляют число C кодовых блоков, используя размер В второй входной битовой последовательности, максимальный размер Z кодовых блоков и размер L второго кода обнаружения ошибок, который должен присоединяться к каждому из кодовых блоков; вычисляют размер В' измененной второй входной битовой последовательности, используя число C кодовых блоков, размер L второго кода обнаружения ошибок и размер В второй входной битовой последовательности; получают размеры K, K+ и K- кодовых блоков из предварительно установленнызх значений, основываясь на значении, полученном делением размера В' измененной второй битовой последовательности на число C кодовых блоков; сегментируют вторую входную битовую последовательность, чтобы иметь C кодовых блоков и полученные размеры K, K+ и K- кодовых блоков; создают кодовые блоки, присоединяя второй код обнаружения ошибок к каждой из сегментированных вторых входных битовых последовательностей; и канально кодируют кодовые блоки.In accordance with another aspect of the present invention, a method for transmitting data in a wireless access system comprises the steps of: creating a second input bit sequence by attaching a first error detection code to a first input bit sequence; calculating size B of the second input bit sequence using size A of the first input bit sequence and size L of the first error detection code; if the size B of the second input bit sequence is larger than the maximum size Z of code blocks, calculate the number C of code blocks using the size B of the second input bit sequence, the maximum size Z of code blocks and the size L of the second error detection code to be attached to each of the code blocks; calculating size B ′ of the modified second input bit sequence using the number C of code blocks, size L of the second error detection code, and size B of the second input bit sequence; obtain sizes K, K + and K - code blocks from pre-set values, based on the value obtained by dividing the size B 'of the changed second bit sequence by the number C of code blocks; segmenting the second input bit sequence to have C code blocks and the resulting sizes of K, K + and K - code blocks; creating code blocks by attaching a second error detection code to each of the segmented second input bit sequences; and channel-coded code blocks.

В соответствии с еще одним другим аспектом настоящего изобретения способ передачи данных в системе беспроводного доступа содержит этапы, на которых: создают вторую входную битовую последовательность, присоединяя первый код обнаружения ошибок к первой входной битовой последовательности; вычисляют размер В второй входной битовой последовательности, используя размер А первой входной битовой последовательности и размер L первого кода обнаружения ошибок; если размер B второй входной битовой последовательности больше максимального размера Z кодовых блоков, вычисляют число C кодовых блоков, используя размер В второй входной битовой последовательности, максимальный размер Z кодовых блоков и размер L второго кода обнаружения ошибок, который должен присоединяться к каждому из кодовых блоков; вычисляют размер В' измененной второй входной битовой последовательности, используя число C кодовых блоков, размер L второго кода обнаружения ошибок и размер В второй входной битовой последовательности; получают размер Kr кодовых блоков делением размера В' измененной второй входной битовой последовательности на число C кодовых блоков; сегментируют вторую входную битовую последовательность, чтобы иметь C кодовых блоков и полученный размер Kr кодовых блоков; создают кодовые блоки, присоединяя второй код обнаружения ошибок к каждой из сегментированных вторых входных битовых последовательностей; и канально кодируют кодовые блоки.In accordance with yet another aspect of the present invention, a method for transmitting data in a wireless access system comprises the steps of: creating a second input bit sequence by attaching a first error detection code to a first input bit sequence; calculating size B of the second input bit sequence using size A of the first input bit sequence and size L of the first error detection code; if the size B of the second input bit sequence is larger than the maximum size Z of code blocks, calculate the number C of code blocks using the size B of the second input bit sequence, the maximum size Z of code blocks and the size L of the second error detection code to be attached to each of the code blocks; calculating size B ′ of the modified second input bit sequence using the number C of code blocks, size L of the second error detection code, and size B of the second input bit sequence; obtaining a size K r of code blocks by dividing the size B 'of the modified second input bit sequence by the number C of code blocks; segmenting the second input bit sequence to have C code blocks and a received size K r code blocks; creating code blocks by attaching a second error detection code to each of the segmented second input bit sequences; and channel-coded code blocks.

Первый и второй коды обнаружения ошибок создаются посредством разных полиномов.The first and second error detection codes are generated by different polynomials.

В соответствии с еще одним другим аспектом настоящего изобретения способ передачи данных в системе беспроводного доступа содержит этапы, на которых: если размер B входной битовой последовательности больше максимального размера Z кодовых блоков, вычисляют число C кодовых блоков, используя размер В входной битовой последовательности, максимальный размер Z кодовых блоков, и размер L кода обнаружения ошибок, который должен присоединяться к каждому из кодовых блоков; вычисляют размер В' измененной входной битовой последовательности, используя число C кодовых блоков, размер L кода обнаружения ошибок и размер В входной битовой последовательности; получают размер K кодовых блоков из заранее определенных значений, основываясь на значении, полученном делением размера В' измененной входной битовой последовательности на число C кодовых блоков; и сегментируют входную битовую последовательность, чтобы иметь C кодовых блоков и размер K кодовых блоков.According to yet another aspect of the present invention, a method for transmitting data in a wireless access system comprises the steps of: if the size B of the input bit sequence is greater than the maximum size Z of code blocks, calculate the number C of code blocks using the size B of the input bit sequence, the maximum size Z code blocks, and the size L of the error detection code to be attached to each of the code blocks; calculating the size B ′ of the modified input bit sequence using the number C of code blocks, the size L of the error detection code, and the size B of the input bit sequence; obtaining a size K of code blocks from predetermined values based on a value obtained by dividing the size B ′ of the changed input bit sequence by the number C of code blocks; and segmenting the input bit sequence to have C code blocks and a size K of code blocks.

В соответствии с еще одним другим аспектом настоящего изобретения способ передачи данных в системе беспроводного доступа содержит этапы, на которых: создают входную битовую последовательность, присоединяя первый код обнаружения ошибок к транспортному блоку; если размер B входной битовой последовательности больше максимального размера Z кодовых блоков, вычисляют число C кодовых блоков, используя размер В входной битовой последовательности, максимальный размер Z кодовых блоков, и размер L кода обнаружения ошибок, который должен присоединяться к каждому из кодовых блоков; вычисляют размер В' измененной входной битовой последовательности, используя число C кодовых блоков, размер L кода обнаружения ошибок и размер В входной битовой последовательности; получают размер Kr кодовых блоков делением размера В' измененной входной битовой последовательности на число C кодовых блоков; и сегментируют входную битовую последовательность, чтобы иметь C кодовых блоков и размер Kr кодовых блоков.In accordance with yet another aspect of the present invention, a method for transmitting data in a wireless access system comprises the steps of: creating an input bit sequence by attaching a first error detection code to a transport block; if the size B of the input bit sequence is greater than the maximum size Z of code blocks, calculate the number C of code blocks using the size B of the input bit sequence, the maximum size Z of code blocks, and the size L of the error detection code to be attached to each of the code blocks; calculating the size B ′ of the modified input bit sequence using the number C of code blocks, the size L of the error detection code, and the size B of the input bit sequence; the size K r of code blocks is obtained by dividing the size B 'of the modified input bit sequence by the number C of code blocks; and segmenting the input bit sequence to have C code blocks and a code block size K r .

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

Настоящее изобретение обладает следующими преимуществами.The present invention has the following advantages.

Во-первых, так как приемная сторона может определить, существуют ли ошибки всякий раз, когда принимает кодовые блоки, может быть выполнен эффективный процесс исправления ошибок.First, since the receiving side can determine whether errors exist whenever it receives code blocks, an efficient error correction process can be performed.

Во-вторых, сегментация блока данных может быть выполнена точно и коды CRC могут быть точно присоединены, вычисляя число кодовых блоков и сегментируя блок данных с учетом длины кодов CRC.Secondly, the data block segmentation can be performed accurately and the CRC codes can be precisely connected by calculating the number of code blocks and segmenting the data block based on the length of the CRC codes.

В-третьих, при сегментации блока данных на кодовые блоки, число кодовых блоков вычисляется с учетом длины кодов CRC и данные затем распределяются по кодовым блокам, тем самым повышая эффективность обработки данных.Thirdly, when segmenting a data block into code blocks, the number of code blocks is calculated taking into account the length of CRC codes and the data is then distributed among the code blocks, thereby increasing the efficiency of data processing.

В-четвертых, если размер битовой последовательности, вводимой в систему, меньше максимального размера, который может делиться в системе, сегментация входной битовой последовательности может не выполняться. Вместо этого для кодового блока используются соответствующие входные биты. Нет необходимости повторно присоединять код обнаружения ошибок, потому что может быть использован код обнаружения ошибок для обнаружения ошибки входных битов. Поэтому возможно быстро обработать кодовый блок.Fourth, if the size of the bit sequence entered into the system is less than the maximum size that can be divided in the system, segmentation of the input bit sequence may not be performed. Instead, the corresponding input bits are used for the code block. There is no need to reattach the error detection code because an error detection code can be used to detect the error of the input bits. Therefore, it is possible to quickly process the code block.

В-пятых, данные могут эффективно передаваться с помощью различных вариантов осуществления настоящего изобретения.Fifth, data can be efficiently transmitted using various embodiments of the present invention.

ОПИСАНИЕ ЧЕРТЕЖЕЙDESCRIPTION OF DRAWINGS

Сопроводительные чертежи, предназначенные для обеспечения дополнительного понимания изобретения, показывают варианты осуществления изобретения и вместе с описанием служат для объяснения принципа изобретения.The accompanying drawings, intended to provide an additional understanding of the invention, show embodiments of the invention and, together with the description, serve to explain the principle of the invention.

На чертежах:In the drawings:

Фиг.1 - схема процесса, выполняемого в каждом устройстве присоединения CRC и устройстве сегментации блока данных.1 is a diagram of a process performed in each CRC attachment device and a data block segmentation device.

Фиг.2 - схема процесса преобразования блока данных в кодовые блоки.Figure 2 - diagram of the process of converting a data block into code blocks.

Фиг.3 - схема процесса сегментации блока данных с учетом размера CRC в соответствии с примером варианта осуществления настоящего изобретения.Figure 3 - diagram of the process of segmentation of a data block based on the size of the CRC in accordance with an example embodiment of the present invention.

Фиг.4 - схема примера процесса присоединения кодов CRC к кодовым блокам в соответствии с примером варианта осуществления настоящего изобретения.4 is a diagram of an example process of attaching CRC codes to code blocks in accordance with an example embodiment of the present invention.

Фиг.5 - схема другого примера процесса присоединения кодов CRC к кодовым блокам в соответствии с примером варианта осуществления настоящего изобретения.5 is a diagram of another example of a process for attaching CRC codes to code blocks in accordance with an example embodiment of the present invention.

Фиг.6 - схема процесса сегментация блока данных и присоединения кодов CRC с учетом размера CRC в соответствии с примером варианта осуществления настоящего изобретения.FIG. 6 is a flow diagram of a process for segmenting a data block and attaching CRC codes based on CRC size in accordance with an example embodiment of the present invention.

Фиг.7 - схема процесса преобразования блока данных в кодовые блоки с учетом размера CRC в соответствии с примером варианта осуществления настоящего изобретения.7 is a diagram of a process for converting a data block into code blocks based on CRC size in accordance with an example embodiment of the present invention.

Фиг.8 - блок-схема последовательности выполнения операций процесса сегментации блока данных с учетом размера CRC в соответствии с примером варианта осуществления настоящего изобретения.FIG. 8 is a flowchart of a data block segmentation process taking into account a CRC size in accordance with an example embodiment of the present invention.

Фиг.9 - блок-схема последовательности выполнения операций процесса вычисления числа кодовых блоков в соответствии с примером варианта осуществления настоящего изобретения.9 is a flowchart of a process for computing the number of code blocks in accordance with an example embodiment of the present invention.

Фиг.10 - блок-схема последовательности выполнения процесса сегментации блока данных, использующего входную битовую последовательность с измененным размером в соответствии с примером вариантом осуществления настоящего изобретения.10 is a flowchart illustrating a segmentation process of a data block using a resized input bit sequence in accordance with an example embodiment of the present invention.

Фиг.11 - блок-схема процесса преобразования блока данных в кодовые блоки, когда число кодовых блоков равно 1, в соответствии с вариантом осуществления настоящего изобретения.11 is a flowchart of a process for converting a data block into code blocks when the number of code blocks is 1, in accordance with an embodiment of the present invention.

ОПИСАНИЕ ИЗОБРЕТЕНИЯDESCRIPTION OF THE INVENTION

Настоящее изобретение относится к способу передачи данных и сегментации кодового блока в системе беспроводного доступа, в частности способу сегментации блока данных с учетом размера кодов обнаружения ошибок и способ получения числа кодовых блоков.The present invention relates to a method for transmitting data and segmenting a code block in a wireless access system, in particular a method for segmenting a data block based on the size of error detection codes and a method for obtaining the number of code blocks.

Описанные здесь ниже примеры вариантов осуществления являются комбинациями элементов и признаков настоящего изобретения. Элементы или признаки могут рассматриваться как раздельные, если не упомянуто что-либо иное. Каждый элемент или признак могут осуществляться без объединения с другими элементами или признаками. Дополнительно, вариант осуществления настоящего изобретения может быть выполнен посредством объединения частей элементов и/или признаков. Порядки выполнения операций, описанные в вариантах осуществления настоящего изобретения, могут меняться местами. Некоторые структуры любого варианта осуществления могут вводиться в другой вариант осуществления и могут заменяться соответствующими структурами другого варианта осуществления.The examples of embodiments described below are combinations of elements and features of the present invention. Elements or features may be considered separate unless otherwise indicated. Each element or feature can be implemented without combining with other elements or features. Additionally, an embodiment of the present invention may be implemented by combining parts of elements and / or features. The operational procedures described in the embodiments of the present invention may be interchanged. Some structures of any embodiment may be introduced into another embodiment and may be replaced by corresponding structures of another embodiment.

В последующем описании настоящего изобретения подробное описание известных процедур или этапов будет опущено, когда оно сможет делать неясным сущность предмета настоящего изобретения.In the following description of the present invention, a detailed description of known procedures or steps will be omitted when it can obscure the subject matter of the present invention.

В примерах вариантов осуществления настоящего изобретения приводится описание отношений между базовой станцией и мобильной станцией при передаче и приеме данных. В данном описании термин "базовая станция" относится к оконечному узлу сети, связанному непосредственно с мобильной станцией. В некоторых случаях конкретная операция, описанная как выполняемая базовой станцией, может быть выполнена вышестоящим узлом базовой станции.Examples of embodiments of the present invention describe the relationship between a base station and a mobile station in transmitting and receiving data. As used herein, the term “base station” refers to an end node of a network connected directly to a mobile station. In some cases, a specific operation described as being performed by a base station may be performed by a parent node of the base station.

А именно, очевидно, что в сети, составленной из множества сетевых узлов, содержащих базовую станцию, различные операции, выполняемые для связи с мобильной станцией, могут быть выполнены базовой станцией или другими узлами сети, за исключением базовой станции. Термин "базовая станция" может быть заменен термином "неподвижная станция", "узел В", "электронный узел B" (eNB), "точка доступа" и т.д. Термин "мобильная станция (MS)" может быть заменен термином "терминал", "оборудование пользователя" (UE), "мобильная абонентская станция" (MSS) и т.д.Namely, it is obvious that in a network composed of a plurality of network nodes comprising a base station, various operations performed to communicate with the mobile station can be performed by the base station or other network nodes, with the exception of the base station. The term "base station" can be replaced by the terms "fixed station", "node B", "electronic node B" (eNB), "access point", etc. The term "mobile station (MS)" can be replaced by the term "terminal", "user equipment" (UE), "mobile subscriber station" (MSS), etc.

Дополнительно, термин "передающая сторона" означает узел, передающий данные или голосовую услугу, а термин "приемная сторона" означает узел, принимающий данные или голосовую услугу. Поэтому, в восходящей линии связи мобильная станция может быть передающей стороной, а базовая станция может быть приемной стороной. Аналогично, в нисходящей линии связи мобильная станция может быть приемной стороной, а базовая станция может быть передающей стороной.Additionally, the term "transmitting side" means a node transmitting data or a voice service, and the term "receiving side" means a node receiving a data or voice service. Therefore, in the uplink, the mobile station may be the transmitting side, and the base station may be the receiving side. Similarly, in the downlink, the mobile station may be the receiving side, and the base station may be the transmitting side.

Помимо этого, мобильная станция может содержать карманный компьютер для беспроводной связи (PDA), сотовый телефон, телефон системы персональной мобильной связи (PSA), телефон глобальной системы мобильной связи (GSM), телефон системы широкополосного мультидоступа с кодовым разделением каналов (WCDMA), телефон мобильной широкополосной системы (MBS) и т.д.In addition, the mobile station may include a handheld computer for wireless communications (PDA), a cellular telephone, a personal mobile communications system (PSA) telephone, a global mobile communications system (GSM) telephone, a code division multiple access (WCDMA) telephone, a telephone mobile broadband system (MBS), etc.

Варианты осуществления настоящего изобретения могут быть реализованы различными средствами, например посредством аппаратурного обеспечения, встроенного программного обеспечения, программного обеспечения или их комбинаций.Embodiments of the present invention may be implemented by various means, for example, through hardware, firmware, software, or combinations thereof.

В конфигурации аппаратного обеспечения способ, соответствующий примерам вариантов осуществления настоящего изобретения, может быть реализован с помощью одной или более прикладных специализированных интегральных схем (ASIC), цифровых сигнальных процессоров (DSP), цифровых устройств обработки сигналов (DSPD), программируемых логических устройств (PLD), программируемых пользователем вентильных матриц (FPGA), процессоров, контроллеров, микроконтроллеров, микропроцессоров и т.д.In a hardware configuration, a method according to exemplary embodiments of the present invention can be implemented using one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs) User Programmable Gate Arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, etc.

В конфигурации встроенного программного обеспечения или программного обеспечения способ, соответствующий примерам вариантов осуществления настоящего изобретения, может быть реализован с помощью модуля, процедуры, функции и т.д., выполняющих описанные выше функции или операции. Системная программа может храниться в запоминающем устройстве и управляться процессором. Запоминающее устройство располагается внутри или вне процессора и может передавать и принимать данные с помощью процессора через различные известные средства.In a firmware or software configuration, a method corresponding to examples of embodiments of the present invention may be implemented using a module, procedure, function, etc., performing the functions or operations described above. The system program may be stored in a storage device and controlled by a processor. The storage device is located inside or outside the processor and can transmit and receive data using the processor through various known means.

Варианты осуществления настоящего изобретения могут поддерживаться документами, раскрытыми, по меньшей мере, в одном документе для систем беспроводного доступа (например, система IEEE 802, система 3GPP, система 3GPP LTE и система 3GPP2). В частности, документы, раскрытые в 3GPP TS 36.212 V8.0.0 (2007-09) - 3GPP TS-36.212 V8.3.0 (2008-05), могут поддерживать варианты осуществления настоящего изобретения.Embodiments of the present invention may be supported by documents disclosed in at least one document for wireless access systems (e.g., IEEE 802 system, 3GPP system, 3GPP LTE system and 3GPP2 system). In particular, the documents disclosed in 3GPP TS 36.212 V8.0.0 (2007-09) - 3GPP TS-36.212 V8.3.0 (2008-05) may support embodiments of the present invention.

Последующее подробное описание содержит конкретные термины, чтобы обеспечить полное понимание настоящего изобретения. Однако эти конкретные термины могут быть изменены, не отступая от сущности и объема настоящего изобретения.The following detailed description contains specific terms to provide a thorough understanding of the present invention. However, these specific terms can be changed without departing from the essence and scope of the present invention.

На фиг.1 показана схема процесса, выполняемого в каждом устройстве присоединения CRC и устройстве сегментации блока данных.Figure 1 shows a diagram of a process performed in each CRC attachment device and a data block segmentation device.

Обычно используемые устройство присоединения CRC и устройство сегментации блока данных будут здесь описаны со ссылкой на фиг.1. Блок 100 данных, при необходимости, может быть сегментирован на многочисленные кодовые блоки. Кодовый блок 160 создается посредством сегментации блока 100 данных.Commonly used CRC attachment device and data block segmentation device will be described here with reference to FIG. The data block 100, if necessary, can be segmented into multiple code blocks. Code block 160 is created by segmenting data block 100.

Если пользователь вводит блок 100 данных, устройство 120 присоединения CRC присоединяет к блоку 100 данных код CRC. Блок данных, содержащий код CRC, делится на блоки данных необходимой длины устройством 140 сегментации блока данных и образует кодовый блок 160, имеющий одну или более длин. Этот процесс последовательно показан в правой стороне на фиг.1.If the user enters the data block 100, the CRC attachment device 120 attaches a CRC code to the data block 100. A data block containing a CRC code is divided into data blocks of a desired length by a data block segmentation device 140 and forms a code block 160 having one or more lengths. This process is sequentially shown on the right side in FIG.

Устройство 120 присоединения CRC присоединяет код CRC к блоку данных, имеющему заданную длину, так чтобы принимающая сторона могла использовать блок 100 данных для обнаружения ошибки. С этой целью устройство 120 присоединения CRC создает биты проверки на четность CRC заданной длины, используя уравнение создания CRC, основываясь на входном блоке данных (этап S101). Затем устройство 120 присоединения CRC в прямом или обратном порядке присоединяет разряды проверки на четность CRC к прямому блоку данных, чтобы создать блок данных в последовательно соединенной форме (этап S102).A CRC attachment device 120 attaches a CRC code to a data block having a predetermined length so that the receiving side can use the data block 100 to detect an error. To this end, the CRC attachment device 120 creates CRC parity bits of a given length using the CRC generation equation based on the input data block (step S101). Then, the CRC attachment device 120, in direct or reverse order, attaches the CRC parity bits to the forward data block to create the data block in a serial form (step S102).

Блок данных с присоединенным CRC сегментируется на один или множество кодовых блоков устройством 140 сегментации блоков данных. Устройство 140 сегментации блоков данных сегментирует входной блок на один или более кодовых блоков с помощью следующих четырех процессов.A data block with an attached CRC is segmented into one or multiple code blocks by a data block segmentation device 140. A data block segmentation device 140 segments an input block into one or more code blocks using the following four processes.

Устройство 140 сегментации блока данных устанавливает в качестве числа кодовых блоков целое число, округляя в большую сторону результат деления размера блока данных с присоединенным CRC на максимально допустимый размер кодового блока (этап S103).The data block segmentation device 140 sets an integer as the number of code blocks, rounding up the result of dividing the data block size with the attached CRC by the maximum allowable code block size (step S103).

Устройство 140 сегментации блока данных вычисляет размер каждого кодового блока в соответствии с числом кодовых блоков, определенным на этапе S103 (этап S104).The data block segmentation device 140 calculates the size of each code block in accordance with the number of code blocks determined in step S103 (step S104).

На этапе S104 в результате прибавления к размеру каждого кодового блока сумма может быть большей, чем размер блока данных с присоединенным CRC. В этом случае значение, полученное вычитанием размера блока данных с присоединенным CRC из размера всех кодовых блоков, устанавливается в качестве длины битов заполнителя (этап S105).In step S104, as a result of adding to the size of each code block, the sum may be larger than the size of the data block with the CRC attached. In this case, the value obtained by subtracting the size of the data block with the attached CRC from the size of all code blocks is set as the length of the filler bits (step S105).

Если число и размер кодовых блоков и длина битов заполнителя определены, устройство 140 сегментации блока данных сегментирует блок данных с присоединенным CRC и распределяет данные каждому кодовому блоку (этап S106). На этапе S106 биты заполнителя и данные последовательно распределяются в начало первого блока среди кодовых блоков и следующие данные последовательно распределяются, начиная со второго блока.If the number and size of code blocks and the bit length of the placeholder are determined, the data block segmentation device 140 segments the data block with the CRC attached and distributes data to each code block (step S106). In step S106, the filler bits and data are sequentially distributed at the beginning of the first block among the code blocks, and the following data are sequentially distributed starting from the second block.

На фиг.2 показана схема процесса преобразования блока данных в кодовые блоки.Figure 2 shows a diagram of the process of converting a data block into code blocks.

На фиг.2 могут использоваться устройства и способ, используемые на фиг.1.In figure 2, the devices and method used in figure 1 can be used.

Со ссылкой на фиг.2, блок 200 данных является входным блоком в устройство 220 присоединения CRC. Биты CRC присоединяются к блоку 200 данных устройства 220 присоединения CRC, чтобы создать блок 230 данных с присоединенным CRC. Блок данных с присоединенным CRC вводится в устройство 240 сегментации блока данных и затем сегментируется на кодовые блоки. Биты заполнителя присоединяются к началу первого блока кодового блока 260 и данные распределяются в другую его часть. Данные распределяются последовательно, начиная со второго кодового блока.With reference to FIG. 2, the data unit 200 is an input unit to the CRC attachment device 220. The CRC bits are attached to the data block 200 of the CRC attachment device 220 to create a data block 230 with the CRC attached. A data block with an attached CRC is inserted into the data block segmentation device 240 and then segmented into code blocks. The filler bits are appended to the beginning of the first block of code block 260 and the data is distributed to another part thereof. Data is distributed sequentially starting from the second code block.

В примерах вариантов осуществления настоящего изобретения предполагается, что коды CRC используются как один из желательных типов кодов обнаружения ошибок, которые могут присоединяться к кодовым блокам устройством сегментации блока данных. Кроме того, термин "блок данных" является входными битами, которые вводятся в устройство сегментации блока данных и могут упоминаться как первый блок данных. Если сегментация входных битов выполнена, создается кодовый блок или второй блок данных.In exemplary embodiments of the present invention, it is assumed that CRC codes are used as one of the desired types of error detection codes that can be attached to code blocks by a data block segmentation device. In addition, the term "data block" is the input bits that are input to the segmentation device of the data block and may be referred to as the first data block. If the segmentation of the input bits is completed, a code block or a second data block is created.

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

На фиг.3 показана схема процесса сегментации блока данных с учетом размера CRC в соответствии с вариантом осуществления настоящего изобретения.Figure 3 shows a diagram of a process for segmenting a data block taking into account a CRC size in accordance with an embodiment of the present invention.

Со ссылкой на фиг.3, блок данных (например, первый блок 300 данных) вводится в устройство 320 сегментации блока данных и сегментируется в один или более кодовых блоков (например, второй блок данных). Данные последовательно распределяются по кодовым блокам. Кодовые блоки вводятся в устройство 240 присоединения CRC. В этом случае блок данных может содержать в себе код обнаружения ошибок и размер кода обнаружения ошибок желательно составляет 24 бита.With reference to FIG. 3, a data block (eg, a first data block 300) is inserted into a data block segmentation device 320 and segmented into one or more code blocks (eg, a second data block). Data is sequentially distributed across code blocks. Code blocks are input to the CRC attachment device 240. In this case, the data block may comprise an error detection code, and the size of the error detection code is desirably 24 bits.

Устройство 340 присоединения CRC создает коды CRC и присоединяет коды CRC к кодовым блокам кроме тех случаев, когда блок данных состоит из одного кодового блока, содержащего код обнаружения ошибок (например, кроме тех случаев, когда размер B блока данных меньше или равен максимальному размеру Z кодового блока). Таким образом, блок 300 данных сегментируется в кодовый блок 360 с помощью устройства 320 сегментации блока данных и устройства 340 присоединения CRC. На фиг.3 кодовый блок 360 означает один или более сегментированных блоков данных.CRC attachment device 340 generates CRC codes and attaches CRC codes to code blocks unless the data block consists of one code block containing an error detection code (for example, except when the data block size B is less than or equal to the maximum code size Z block). Thus, the data block 300 is segmented into the code block 360 by the data block segmentation device 320 and the CRC attachment device 340. 3, a code block 360 means one or more segmented data blocks.

Со ссылкой на фиг.3, если блок 300 данных вводится в устройство 320 сегментации блока данных, устройство 320 сегментации блока данных вычисляет число C кодовых блоков с учетом входных данных. В этом случае устройство 320 сегментации блока данных может вычислить число C кодовых блоков с учетом размера L кода CRC, который должен быть присоединен к каждому из конечных кодовых блоков (этап S301).Referring to FIG. 3, if a data block 300 is input to a data block segmentation device 320, a data block segmentation device 320 calculates a number C of code blocks based on input data. In this case, the data block segmentation device 320 can calculate the number C of code blocks based on the size L of the CRC code to be attached to each of the final code blocks (step S301).

Здесь далее будут описаны различные способы вычисления числа C кодовых блоков, используемых на этапе S301.Hereinafter, various methods for calculating the number C of code blocks used in step S301 will be described.

Теперь будет описан первый способ вычисления числа кодовых блоков на этапе S301 в соответствии с вариантом осуществления настоящего изобретения.Now, a first method for calculating the number of code blocks in step S301 in accordance with an embodiment of the present invention will be described.

Приведенное уравнение 1 показывает пример вычисления числа C кодовых блоков.The above equation 1 shows an example of calculating the number C of code blocks.

[Уравнение 1][Equation 1]

C'=[B/Z]; [x] является целым числом, округленным до x в большую сторонуC '= [B / Z]; [x] is an integer rounded to x up

if C'*L+B>C'*Zif C '* L + B> C' * Z

C=C'+1C = C '+ 1

elseelse

C=C'C = C '

end.end.

Устройство 320 сегментации блока данных 320 устанавливает в качестве временного значения C' целое число, округляя в большую сторону значение, полученное делением размера В блока данных на максимальный размер Z кодового блока. Если значение, полученное прибавлением размера В блока данных с результатом умножения временного значения C' на размер L CRC, больше, чем значение, полученное умножением временного значения C' на максимальный размер Z кодового блока, для числа C кодовых блоков устанавливается значение, полученное прибавлением 1 к временному значению C', а в противном случае для числа C кодовых блоков устанавливается временное значение C'.The device 320 segmentation of the data block 320 sets an integer as the temporary value C ', rounding up the value obtained by dividing the size B of the data block by the maximum size Z of the code block. If the value obtained by adding the size B of the data block with the result of multiplying the temporary value C 'by the size L CRC is greater than the value obtained by multiplying the temporary value C' by the maximum size Z of the code block, the value obtained by adding 1 is set for the number C of code blocks to the temporary value C ', otherwise, for the number C of code blocks, a temporary value C' is set.

Между тем, показанное ниже уравнение 2 может использоваться, когда размер В блока данных, введенного в устройство сегментации блока данных, меньше или равен максимальному размеру Z кодового блока.Meanwhile, Equation 2 shown below can be used when the size B of the data block inputted into the segmentation unit of the data block is less than or equal to the maximum size Z of the code block.

[Уравнение 2][Equation 2]

if B≤Zif B≤Z

C=1C = 1

elseelse

C'=[B/Z]C '= [B / Z]

If C'*L+B>C'*ZIf C '* L + B> C' * Z

C=C'+1C = C '+ 1

elseelse

C=C'C = C '

endend

endend

Уравнение 1 и уравнение 2 используют временное значение C' для вычисления числа C кодовых блоков. То есть, число кодовых блоков может быть вычислено точно, получая временное значение округлением в большую сторону результата деления размера блока данных, введенного в устройство 320 сегментации блока данных, на максимальный размер кодового блока.Equation 1 and Equation 2 use the temporary value C 'to calculate the number C of code blocks. That is, the number of code blocks can be calculated accurately by obtaining a temporary value by rounding up the result of dividing the size of the data block input to the data block segmentation device 320 by the maximum code block size.

Другие формы уравнения 1 и уравнения 2 показаны в уравнении 3 и уравнении 4. А именно, число кодовых блоков вычисляется напрямую, не используя временное значение C'.Other forms of Equation 1 and Equation 2 are shown in Equation 3 and Equation 4. Namely, the number of code blocks is calculated directly without using the time value C '.

[Уравнение 3][Equation 3]

if [B/Z]*L+B>[B/Z]*Zif [B / Z] * L + B> [B / Z] * Z

C=[B/Z]+1C = [B / Z] +1

elseelse

C=[B/Z]C = [B / Z]

endend

Между тем, нижеследующее уравнение 4 может использоваться, когда размер B блока данных, введенного в устройство сегментации блока данных, меньше или равен максимальному размеру Z кодового блока.Meanwhile, the following equation 4 can be used when the size B of the data block inputted into the segmentation unit of the data block is less than or equal to the maximum size Z of the code block.

[Уравнение 4][Equation 4]

If B≤ZIf B≤Z

C=1C = 1

elseelse

if [B/Z]*L+B>[B/Z]*Zif [B / Z] * L + B> [B / Z] * Z

C=[B/Z]+1C = [B / Z] +1

elseelse

C=[B/Z]C = [B / Z]

endend

endend

Далее будет описан второй способ вычисления числа кодовых блоков на описанном выше этапе S301, соответствующий примеру варианта осуществления настоящего изобретения.Next, a second method for calculating the number of code blocks in the above described step S301 corresponding to an example of an embodiment of the present invention will be described.

Приведенное ниже уравнение 5 показывает способ вычисления числа C кодовых блоков, используя размер B' измененной входной битовой последовательности.Equation 5 below shows a method for calculating the number C of code blocks using the size B ′ of the modified input bit sequence.

[Уравнение 5][Equation 5]

if [B/Z]*L+B>[B/Z]*Zif [B / Z] * L + B> [B / Z] * Z

B'=B+([B/Z]+1)*LB '= B + ([B / Z] +1) * L

elseelse

B'=B+[B/Z]*LB '= B + [B / Z] * L

endend

C=[B'/Z]C = [B '/ Z]

В уравнении 5 вычисляется размер B' измененной входной битовой последовательности, чтобы получить число кодовых блоков. Предполагается, что значение, полученное округлением в большую сторону результата деления размера В блока данных на максимальный размер Z кодового блока, умноженного на размер L CRC, плюс размер B блока данных, равно "М". Также предполагается, что значение, полученное округлением в большую сторону результата деления размера В блока данных на максимальный размер Z кодового блока, умноженного на максимальный размер Z кодового блока, равняется "N".Equation 5 calculates the size B ′ of the modified input bit sequence to obtain the number of code blocks. It is assumed that the value obtained by rounding up the result of dividing the size of the B block of the data by the maximum size Z of the code block multiplied by the size L of the CRC, plus the size B of the data block, is "M". It is also assumed that the value obtained by rounding up the result of dividing the size of the data block B by the maximum size Z of the code block multiplied by the maximum size Z of the code block is "N".

Если М больше N, размер B' измененной входной битовой последовательности для вычисления числа C и размера K кодовых блоков предполагает значение, полученное округлением в большую сторону результата деления размера В блока данных на максимальный размер Z кодового блока плюс 1, умноженного на размер L CRC плюс размер B блока данных.If M is greater than N, the size B 'of the modified input bit sequence for calculating the number C and size K of code blocks assumes the value obtained by rounding up the result of dividing the size of the data block B by the maximum size Z of the code block plus 1 multiplied by the size L CRC plus size B of the data block.

Если М меньше N, размер B' измененной входной битовой последовательности предполагает значение, полученное округлением в большую сторону результата деления размера В блока данных на максимальный размер Z кодового блока, умноженного на размер L CRC плюс размер B блока данных.If M is less than N, the size B ′ of the changed input bit sequence assumes the value obtained by rounding up the result of dividing the size B of the data block by the maximum size Z of the code block times L CRC plus the size B of the data block.

Поэтому число C кодовых блоков устанавливается равным целому числу, полученному округлением в большую сторону результата деления размера В' измененной входной битовой последовательности для вычисления числа С кодовых блоков и размера К кодовых блоков на максимальный размер Z кодового блока.Therefore, the number C of code blocks is set to an integer obtained by rounding up the result of dividing the size B ′ of the modified input bit sequence to calculate the number C of code blocks and the size K of code blocks by the maximum size Z of the code block.

Между тем, когда размер В блока данных, введенного в устройство сегментации блока данных, меньше или равен максимальному размеру Z кодового блока, используется следующее уравнение 6.Meanwhile, when the size B of the data block inputted into the segmentation unit of the data block is less than or equal to the maximum size Z of the code block, the following equation 6 is used.

[Уравнение 6][Equation 6]

if B≤Zif B≤Z

B'=BB '= B

elseelse

if [B/Z]*L+[B>[B/Z]*Zif [B / Z] * L + [B> [B / Z] * Z

B'=B+([B/Z]+1)*LB '= B + ([B / Z] +1) * L

elseelse

B'=B+[B/Z]*LB '= B + [B / Z] * L

endend

endend

C=[B'/Z]C = [B '/ Z]

Уравнение 5 и уравнение 6 показывают способ вычисления числа C кодовых блоков, используя размер B' измененной входной битовой последовательности без использования временного значения C', в отличие от уравнения 1 и уравнения 2. То есть, число C кодовых блоков может быть получено, используя размер B' измененной входной битовой последовательности.Equation 5 and Equation 6 show a method for calculating the number C of code blocks using the modified input bit sequence size B ′ without using the time value C ′, in contrast to Equation 1 and Equation 2. That is, the number C of code blocks can be obtained using the size B 'modified input bit sequence.

Далее будет описан третий способ вычисления числа кодовых блоков на этапе S301 в соответствии с вариантом осуществления настоящего изобретения.Next, a third method for calculating the number of code blocks in step S301 in accordance with an embodiment of the present invention will be described.

Приведенное ниже уравнение 7 показывает другой пример вычисления числа C кодовых блоков.Equation 7 below shows another example of computing the number C of code blocks.

[Уравнение 7][Equation 7]

C=[B/(Z-L)]C = [B / (Z-L)]

Число C кодовых блоков может быть установлено равным целому числу, округляя в большую сторону результат деления размера В блока данных на значение, полученное при вычитании размера L CRC из максимального размера Z кодового блока.The number C of code blocks can be set to an integer, rounding up the result of dividing the size B of the data block by the value obtained by subtracting the size L CRC from the maximum size Z of the code block.

Между тем, если размер В блока данных, введенного в устройство сегментации блока данных, равен или меньше максимального размера Z кодового блока, может использоваться следующее уравнение 8.Meanwhile, if the size B of the data block inputted into the segmentation unit of the data block is equal to or less than the maximum size Z of the code block, the following equation 8 can be used.

[Уравнение 8][Equation 8]

If B≤ZIf B≤Z

C=1C = 1

elseelse

C=[B/Z-L)]C = [B / Z-L)]

endend

Уравнение 7 и уравнение 8 показывают способ вычисления числа C кодовых блоков с учетом размера L CRC для каждого кодового блока. Таким образом, размер L CRC может учитываться при сегментации размера В блока данных посредством деления размера В блока данных на значение, полученное вычитанием размера L CRC из максимального размера Z кодового блока. Как результат, сегментация блока данных может быть выполнена точно в соответствии с требованиям пользователя.Equation 7 and Equation 8 show a method for calculating the number C of code blocks, taking into account the size L CRC for each code block. Thus, the size L CRC can be taken into account when segmenting the size B of the data block by dividing the size B of the data block by the value obtained by subtracting the size L CRC from the maximum size Z of the code block. As a result, the segmentation of the data block can be performed exactly according to the requirements of the user.

Теперь будет описан четвертый способ вычисления числа C кодовых блоков на этапе S301 в соответствии с вариантом осуществления настоящего изобретения.Now, a fourth method for calculating the number C of code blocks in step S301 in accordance with an embodiment of the present invention will be described.

Уравнение 9, приведенное ниже, показывает случай, когда максимальный размер Z кодового блока является переменным.Equation 9 below shows the case where the maximum size Z of the code block is variable.

[Уравнение 9][Equation 9]

Z'=Z-aZ '= Z-a

C=[B/Z]C = [B / Z]

Устройство сегментации данных может установить число C кодовых блоков равным целому числу, округляя в большую сторону результат деления размера В блока данных на значение Z', которое меньше максимального размера Z' кодового блока на "а" (где "а" - натуральное число). Здесь "а" может быть необходимым размером, соответствующим размеру L CRC или системным средам.A data segmentation device can set the number C of code blocks to an integer, rounding up the result of dividing the size B of the data block by a value Z ', which is less than the maximum size Z' of the code block by "a" (where "a" is a natural number). Here, “a” may be the required size corresponding to the size of L CRC or system environments.

Между тем, если размер В блока данных (или входных битов) меньше максимального размера Z кодового блока, может использоваться следующее уравнение 10.Meanwhile, if the size B of the data block (or input bits) is less than the maximum size Z of the code block, the following equation 10 can be used.

[Уравнение 10][Equation 10]

if B≤Zif B≤Z

C=1C = 1

elseelse

Z'=Z-aZ '= Z-a

C=[B/Z']C = [B / Z ']

endend

Далее будет описан пятый способ вычисления числа кодовых блоков на этапе S301 в соответствии с вариантом осуществления настоящего изобретения.Next, a fifth method for calculating the number of code blocks in step S301 in accordance with an embodiment of the present invention will be described.

Устройство сегментации данных заменяет максимальный размер Z кодового блока на конкретное значение x и устанавливает число C кодовых блоков равным целому числу, округляя в большую сторону результат деления размера В блока данных на конкретное значение x.The data segmentation device replaces the maximum size Z of the code block with a specific value x and sets the number C of code blocks to an integer, rounding up the result of dividing the size B of the data block by a specific value x.

Последующее уравнение 11 показывает пример вычисления числа C кодовых блоков.The following equation 11 shows an example of calculating the number C of code blocks.

[Уравнение 11][Equation 11]

Z=xZ = x

C=[В/Z]C = [W / Z]

Между тем, если размер В блока данных (или входного бита), введенного в блок данных, меньше или равен максимальному размеру Z кодового блока, может использоваться уравнение 12.Meanwhile, if the size B of the data block (or input bit) entered into the data block is less than or equal to the maximum size Z of the code block, equation 12 may be used.

[Уравнение 12][Equation 12]

if B≤Zif B≤Z

C=1C = 1

elseelse

Z=хZ = x

C=[B/Z]C = [B / Z]

endend

Уравнение 11 и уравнение 12 могут использоваться, когда максимальный размер Z кодового блока переменный. То есть, поскольку максимальный размер кодового блока может изменяться в соответствии с системной средой, уравнение 11 и уравнение 12 используются гибко.Equation 11 and equation 12 can be used when the maximum code block size Z is variable. That is, since the maximum code block size can be changed in accordance with the system environment, Equation 11 and Equation 12 are used flexibly.

Возвращаясь к фиг.3, если число C кодовых блоков определено на этапе S301, размер каждого кодового блока и число кодовых блоков, имеющих конкретную длину, вычисляются, используя, по меньшей мере, число C кодовых блоков или размер B' измененной входной битовой последовательности (этап S302).Returning to FIG. 3, if the number C of code blocks is determined in step S301, the size of each code block and the number of code blocks having a specific length are calculated using at least the number C of code blocks or the size B ′ of the modified input bit sequence ( step S302).

Здесь далее будут описаны различные способы вычисления размера K кодового блока на этапе S302 в соответствии с примером варианта осуществления настоящего изобретения.Hereinafter, various methods for calculating the code block size K in step S302 in accordance with an example embodiment of the present invention will be described.

Размер К кодового блока может иметь различные значения в соответствии с системными требованиями. В примере варианта осуществления настоящего изобретения предполагаются случаи, когда размер К каждого кодового блока постоянен или имеет размеры K+ и K-. Однако очевидно, что могут использоваться различные размеры кодовых блоков. В примерах вариантов осуществления настоящего изобретения кодовый блок сегментируется из блока данных (или входных битов) и может упоминаться как сегмент.The code block size K may have different values in accordance with system requirements. In an example embodiment of the present invention, it is contemplated that the size K of each code block is constant or has sizes K + and K - . However, it is obvious that different sizes of code blocks may be used. In exemplary embodiments of the present invention, a code block is segmented from a data block (or input bits) and may be referred to as a segment.

Теперь будет описан первый способ вычисления размера кодового блока K, когда размер каждого кодового блока является одним и тем же на этапе S302.Now, a first method for calculating the size of the code block K will be described when the size of each code block is the same in step S302.

Уравнение 13 показывает пример вычисления размера K кодового блока, когда размер каждого кодового блока постоянен.Equation 13 shows an example of calculating the size K of the code block when the size of each code block is constant.

[Уравнение 13][Equation 13]

K=[B'/C]K = [B '/ C]

Уравнение 13 показывает способ вычисления размера К кодового блока, когда размер каждого кодового блока постоянен.Equation 13 shows a method for calculating the code block size K when the size of each code block is constant.

То есть, размер К кодового блока устанавливается равным целому числу, округляя в большую сторону результат деления размера B' измененной входной битовой последовательности на число C кодовых блоков. В этом случае размер B' измененной входной битовой последовательности является временным значением для получения числа и размера кодовых блоков.That is, the code block size K is set to an integer, rounding up the result of dividing the size B ′ of the changed input bit sequence by the number C of code blocks. In this case, the size B ′ of the changed input bit sequence is a temporary value for obtaining the number and size of code blocks.

Если размер B' измененной входной битовой последовательности для вычисления числа и размера кодовых блоков не вычислен на этапе S301, значение (C*L+B), полученное умножением числа C кодовых блоков на размер L CRC с последующим прибавлением размера В блока данных к результату умножения, может быть использовано в качестве размера B измененной входной битовой последовательности.If the size B ′ of the modified input bit sequence for calculating the number and size of code blocks is not calculated in step S301, the value (C * L + B) obtained by multiplying the number C of code blocks by the size L CRC and then adding the data block size B to the multiplication result can be used as size B of the modified input bit sequence.

Далее на этапе S302 будет описан второй способ вычисления размера K+ первого кодового блока, когда размер k кодового блока имеет конкретный размер K+ или K-.Next, in step S302, a second method for calculating the size K + of the first code block will be described when the size k of the code block has a specific size K + or K - .

Уравнение 14 иллюстрирует пример вычисления размера K+ кодового блока.Equation 14 illustrates an example of calculating the size of the K + code block.

[Уравнение 14][Equation 14]

K+ является минимальным значение K,K + is the minimum value of K,

где K удовлетворяет выражению C*K≥B+С*L или С*K≥B'where K satisfies the expression C * K≥B + C * L or C * K≥B '

Кодовый блок, имеющий размер K+, использует значение K в приведенной ниже таблице 1. В этом случае правило выбора значения K состоит в том, что результат умножения числа C кодовых блоков на K больше или равен значению, полученному прибавлением размера В входной последовательности к результату умножения числа C кодовых блоков на размер L CRC. Другое правило выбора значения K состоит в том, что результат умножения числа C кодовых блоков на K больше или равен размеру B' измененной входной битовой последовательности. А именно, значение K+ может иметь минимальное значение среди значений K, удовлетворяющих любому из двух условий уравнения 14.A code block having a size of K + uses the value of K in Table 1 below. In this case, the rule for choosing the value of K is that the result of multiplying the number C of code blocks by K is greater than or equal to the value obtained by adding size In the input sequence to the result multiplying the number C of code blocks by the size L of the CRC. Another rule of choosing the value of K is that the result of multiplying the number C of code blocks by K is greater than or equal to the size B 'of the changed input bit sequence. Namely, the value of K + may have a minimum value among the values of K satisfying either of the two conditions of equation 14.

Если размер кодового блока вычисляется, используя способ, показанный в уравнении 14, поскольку размер кодового блока получается учитывая размер L CRC, блок входных данных (или входная битовая последовательность) может быть точно разделен на желательные длины.If the code block size is calculated using the method shown in Equation 14, since the code block size is obtained considering the size L of the CRC, the input data block (or input bit sequence) can be precisely divided into the desired lengths.

Уравнение 15 показывает другой пример вычисления размера К+ первого кодового блока.Equation 15 shows another example of calculating the size of K + of the first code block.

[Уравнение 15][Equation 15]

К+ является минимальным значением K,K + is the minimum value of K,

где K удовлетворяет выражению C*(K-L)≥B'where K satisfies the expression C * (K-L) ≥B '

В уравнении 15 кодовый блок, имеющий размер К+, использует минимальное значение K, удовлетворяющее условиям выбора, приведенным далее в таблице 1. То есть, наименьшее значение используется как K+ среди значений K, удовлетворяющих условию выбора, согласно которому значение, полученное умножением числа C кодовых блоков на результат вычитания размера L CRC из K, больше или равно размеру B' измененной входной битовой последовательности.In equation 15, a code block having a size of K + uses a minimum value of K satisfying the selection conditions given in Table 1 below. That is, the smallest value is used as K + among the values of K satisfying the selection condition, according to which the value obtained by multiplying the number C code blocks to the result of subtracting the size L CRC from K, greater than or equal to the size B 'of the changed input bit sequence.

Приведенное ниже уравнение 16 может использоваться, когда для размера B' измененной входной битовой последовательности в уравнении 15 устанавливается значение, полученное прибавлением размера В входной битовой последовательности с результатом умножения числа C кодовых блоков на размер L CRC.Equation 16 below can be used when the size obtained by adding the size B of the input bit sequence with the result of multiplying the number C of code blocks by the size L CRC is set for size B ′ of the changed input bit sequence.

[Уравнение 16][Equation 16]

К+ является минимальным значением K,K + is the minimum value of K,

где K удовлетворяет выражению C*(K-L)≥B+C*Lwhere K satisfies the expression C * (K-L) ≥B + C * L

В уравнении 16 кодовый блок, имеющий размер K+, может использовать значение K, показанное в таблице 1.In equation 16, a code block having a size of K + may use the value of K shown in table 1.

Приведенная ниже таблица 1 показывает параметры для значения K, которые могут использоваться в уравнениях 13-16.Table 1 below shows the parameters for the K value that can be used in equations 13-16.

Таблица 1Table 1 ii KiKi flfl f2f2 ii KiKi flfl f2f2 ii KiKi flfl f2f2 ii KiKi flfl f2f2 1one 4040 33 1010 4848 416416 2525 5252 9595 11201120 6767 140140 142142 32003200 111111 240240 22 4848 77 1212 4949 424424 5151 106106 9696 11521152 3535 7272 143143 32643264 443443 204204 33 5656 1919 4242 50fifty 432432 4747 7272 9797 11841184 1919 7474 144144 33283328 5151 104104 4four 6464 77 1616 5151 440440 9191 110110 9898 12161216 3939 7676 145145 33923392 5151 212212 55 7272 77 18eighteen 5252 448448 2929th 168168 9999 12481248 1919 7878 146146 34563456 451451 192192 66 8080 11eleven 20twenty 5353 456456 2929th 114114 100one hundred 12801280 199199 240240 147147 35203520 257257 220220 77 8888 55 2222 5454 464464 247247 5858 101101 13121312 2121 8282 148148 35843584 5757 336336 88 9696 11eleven 2424 5555 472472 2929th 118118 102102 13441344 211211 252252 149149 36483648 313313 228228

99 104104 77 2626 5656 480480 8989 180180 103103 13761376 2121 8686 150150 37123712 271271 232232 1010 112112 4141 8484 5757 488488 9191 122122 104104 14081408 4343 8888 151151 37763776 179179 236236 11eleven 120120 103103 9090 5858 496496 157157 6262 105105 14401440 149149 6060 152152 38403840 331331 120120 1212 128128 15fifteen 3232 5959 504504 5555 8484 106106 14721472 4545 9292 153153 39043904 363363 244244 1313 136136 99 3434 6060 512512 3131 6464 107107 15041504 4949 846846 154154 39683968 375375 248248 14fourteen 144144 1717 108108 6161 528528 1717 6666 108108 15361536 7171 4848 155155 40324032 127127 168168 15fifteen 152152 99 3838 6262 544544 3535 6868 109109 15681568 1313 2828 156156 40964096 3131 6464 1616 160160 2121 120120 6363 560560 227227 420420 110110 16001600 1717 8080 157157 41604160 3333 130130 1717 168168 101101 8484 6464 576576 6565 9696 111111 16321632 2525 102102 158158 42244224 4343 264264 18eighteen 176176 2121 4444 6565 592592 1919 7474 112112 16641664 183183 104104 159159 42884288 3333 134134 1919 184184 5757 4646 6666 608608 3737 7676 113113 16961696 5555 954954 160160 43524352 477477 408408 20twenty 192192 2323 4848 6767 624624 4141 234234 114114 17281728 127127 9696 161161 44164416 3535 138138 2121 200200 1313 50fifty 6868 640640 3939 8080 115115 17601760 2727 110110 162162 44804480 233233 280280 2222 208208 2727 5252 6969 656656 185185 8282 116116 17921792 2929th 112112 163163 45444544 357357 142142 2323 216216 11eleven 3636 7070 672672 4343 252252 117117 18241824 2929th 114114 164164 46084608 337337 480480 2424 224224 2727 5656 7171 688688 2121 8686 118118 18561856 5757 116116 165165 46724672 3737 146146 2525 232232 8585 5858 7272 704704 155155 4444 119119 18881888 4545 354354 166166 47364736 7171 444444 2626 240240 2929th 6060 7373 720720 7979 120120 120120 19201920 3131 120120 167167 48004800 7l7l 120120 2727 248248 3333 6262 7474 736736 139139 9292 121121 19521952 5959 610610 168168 48644864 3737 152152 2828 256256 15fifteen 3232 7575 752752 2323 9494 122122 19841984 185185 124124 169169 49284928 3939 462462 2929th 264264 1717 198198 7676 768768 217217 4848 123123 20162016 113113 420420 170170 49924992 127127 234234 30thirty 272272 3333 6868 7777 784784 2525 9898 124124 20482048 3131 6464 171171 50565056 3939 158158 3131 280280 103103 210210 7878 800800 1717 8080 125125 21122112 1717 6666 172172 51205120 3939 8080 3232 288288 1919 3636 7979 816816 127127 102102 126126 21762176 171171 136136 173173 51845184 3131 9696 3333 296296 1919 7474 8080 832832 2525 5252 127127 22402240 209209 420420 174174 52485248 113113 902902 3434 304304 3737 7676 8181 848848 239239 106106 128128 23042304 253253 216216 175175 53125312 4141 166166 3535 312312 1919 7878 8282 864864 1717 4848 129129 23682368 367367 444444 176176 53765376 251251 336336 3636 320320 2121 120120 8383 880880 137137 110110 130130 24322432 265265 456456 177177 54405440 4343 170170

3737 328328 2121 8282 8484 896896 215215 112112 131131 24962496 181181 468468 178178 55045504 2121 8686 3838 336336 115115 8484 8585 912912 2929th 114114 132132 25602560 3939 8080 179179 55685568 4343 174174 3939 344344 193193 8686 8686 928928 15fifteen 5858 133133 26242624 2727 164164 180180 56325632 4545 176176 4040 352352 2121 4444 8787 944944 147147 118118 134134 26882688 127127 504504 181181 56965696 4545 178178 4141 360360 133133 9090 8888 960960 2929th 6060 135135 27522752 143143 172172 182182 57605760 161161 120120 4242 368368 8181 4646 8989 976976 5959 122122 136136 28162816 4343 8888 183183 58245824 8989 182182 4343 376376 4545 9494 9090 992992 6565 124124 137137 28802880 2929th 300300 184184 58885888 323323 184184 4444 384384 2323 4848 9191 10081008 5555 8484 138138 29442944 4545 9292 185185 59525952 4747 186186 4545 392392 243243 9898 9292 10241024 3131 6464 139139 30083008 157157 188188 186186 60166016 2323 9494 4646 400400 151151 4040 9393 10561056 1717 6666 140140 30723072 4747 9696 187187 60806080 4747 190190 4747 408408 155155 102102 9494 10881088 171171 204204 141141 31363136 1313 2828 188188 61446144 263263 480480

В таблице 1 параметры f1 и f2 могут варьироваться в соответствии со значением K, которое является размером входных данных.In table 1, the parameters f 1 and f 2 may vary in accordance with the value of K, which is the size of the input data.

Далее будет описан третий способ вычисления размера K-кодового блока, когда на этапе S302 размер K кодового блока K имеет конкретный размер K+, или K-.Next, a third method for calculating the size of the K - code block will be described when, in step S302, the size K of the code block K has a specific size K + , or K - .

Значение K- может быть установлено равным максимальному значению среди значений K, которые меньше чем K+, вычисленное согласно любому из уравнений 14-16. Значение K может использовать значения, указанные в таблице 1. Последующее уравнение 17 показывает способ вычисления значения K-.The value of K - can be set equal to the maximum value among the values of K that are less than K + calculated according to any of equations 14-16. The value of K can use the values shown in table 1. The subsequent equation 17 shows a method for calculating the value of K - .

[Уравнение 17][Equation 17]

K- - максимальное значение K,K - is the maximum value of K,

где K удовлетворяет условию K<K+ where K satisfies the condition K <K +

При вычислении K-, используя значения, указанные в таблице 1, и уравнение 17, сегментация блока входных данных (или входной битовой последовательности) может быть выполнена точно с учетом размера кодового блока, к которому присоединен код CRC.When calculating K - using the values shown in table 1 and equation 17, the segmentation of the input data block (or input bit sequence) can be performed exactly taking into account the size of the code block to which the CRC code is attached.

Описание было сделано для способа вычисления размеров К+ и К- кодовых блоков согласно уравнениям 14-17, когда размер кодового блока является конкретным размером. В этом случае необходимо получить числа C+ и C- кодовых блоков, имеющих размеры кодовых блоков К+ и К-, соответственно, чтобы точно разделить входной блок данных.The description was made for a method for calculating the sizes of K + and K - code blocks according to equations 14-17, when the size of the code block is a specific size. In this case, it is necessary to obtain the numbers of C + and C - code blocks having the sizes of the code blocks K + and K - , respectively, in order to precisely divide the input data block.

Здесь далее будут описаны способы вычисления на этапе S302 числа C- кодовых блоков, имеющих определенный размер K-.Hereinafter, methods for calculating in step S302 the number of C - code blocks having a certain size K - will be described.

Уравнение 18 показывает первый способ вычисления числа C- вторых кодовых блоков, имеющих размер K-.Equation 18 shows a first method of calculating the number C - second code blocks having a size of K -.

[Уравнение 18][Equation 18]

Figure 00000001
Figure 00000001

Число C- вторых кодовых блоков может быть вычислено путем округления до целого числа в меньшую сторону результата деления значения общего числа C кодовых блоков, умноженного на размер K+ первых кодовых блоков, минус размер B' измененной входной битовой последовательности, на значение разности Δk между К+ и K-. Размер B' измененной входной битовой последовательности является временным значением для вычисления числа и размера кодовых блоков.The number of C - second code blocks can be calculated by rounding to integer downwards result of dividing the total number of C code blocks multiplied by the size of the K + first code blocks minus the size B 'modified input bit sequence to the difference value Δ k between K + and K - . The size B ′ of the modified input bit sequence is a temporary value for calculating the number and size of code blocks.

В уравнении 18 число C- кодовых блоков, имеющих размер K-, вычисляется, используя размер B' измененной входной битовой последовательности. Поэтому сегментация входной последовательности блока данных (или входной битовой последовательности) может быть точно выполнена с учетом размера L CRC, содержащегося в каждом кодовом блоке.In equation 18, the number of C - code blocks having a size of K - is calculated using the size B 'of the modified input bit sequence. Therefore, the segmentation of the input sequence of the data block (or input bit sequence) can be accurately performed taking into account the size L CRC contained in each code block.

Уравнение 18 может быть выражено как следующее уравнение 19.Equation 18 can be expressed as the following equation 19.

[Уравнение 19][Equation 19]

Figure 00000002
Figure 00000002

Уравнение 19 показывает, что для размера B' измененной входной битовой последовательности установлено значение, полученное умножением числа C кодовых блоков на размер L CRC и прибавления затем размера В блока данных к результату умножения.Equation 19 shows that the size B ′ of the changed input bit sequence is set to the value obtained by multiplying the number C of code blocks by the size L CRC and then adding the size B of the data block to the multiplication result.

Далее будет описан второй способ вычисления на этапе S302 числа C- кодовых блоков, имеющих размер К вторых кодовых блоков.Next will be described the second method of calculation in step S302 of C - code block having a size K of second code blocks.

Уравнение 20 показывает пример вычисления числа C- вторых кодовых блоков, имеющих размер K-.Equation 20 shows an example of calculating the number C - second code blocks having a size K - .

[Уравнение 20][Equation 20]

Figure 00000003
Figure 00000003

Число C- вторых кодовых блоков может быть вычислено посредством округления в меньшую сторону до целого числа результата деления значения C*(K+-L)-B' на разность D между K+ и K-.The number C - of second code blocks can be calculated by rounding to the nearest integer the result of dividing the value of C * (K + -L) -B 'by the difference D between K + and K - .

То есть, уравнение 20 показывает способ вычисления числа C- вторых кодовых блоков, учитывая размер L CRC, который должен содержаться в первом кодовом блоке.That is, the equation 20 shows the method of calculating the number C - second code blocks considering the size L CRC, to be contained in the first code block.

Уравнение 21 показывает пример выражения уравнения 20, используя размер B' измененной входной битовой последовательности. То есть, для размера B' измененной входной битовой последовательности устанавливается значение, полученное прибавлением размера B блока данных к результату умножения числа C кодовых блоков на размер L CRC.Equation 21 shows an example of the expression of equation 20 using the size B 'of the modified input bit sequence. That is, for the size B ′ of the changed input bit sequence, a value is obtained obtained by adding the size B of the data block to the result of multiplying the number C of code blocks by the size L CRC.

[Уравнение 2l][Equation 2l]

Figure 00000004
Figure 00000004

Способ вычисления числа C+ первых кодовых блоков на этапе S302, имеющих конкретный размер K+, является следующим.The method of calculating the number C + of the first code blocks in step S302 having a specific size K + is as follows.

[Уравнение 22][Equation 22]

Figure 00000005
Figure 00000005

В уравнении 22 число C+ первых кодовых блоков, имеющих конкретный размер K+, вычисляется путем вычитания числа C- вторых кодовых блоков, вычисленного с использованием уравнений 19-21, из общего числа C кодовых блоков.In equation 22, the number C + of the first code blocks having a specific size K + is calculated by subtracting the number C , the second code blocks calculated using equations 19-21, from the total number C of code blocks.

Возвращаясь к фиг.3, размер каждого кодового блока, вычисленный на этапе S302, может быть фиксированным или каждый кодовый блок может иметь конкретный размер K+ или K-. Размер К блока данных может быть определен в соответствии с системными требованиями.Returning to FIG. 3, the size of each code block calculated in step S302 may be fixed or each code block may have a specific size K + or K - . The size K of the data block can be determined in accordance with system requirements.

При делении блока данных значение, полученное прибавлением размеров всех кодовых блоков, может быть больше, чем размер B' измененной входной битовой последовательности для вычисления числа C кодовых блоков и размера К кодового блока. В этом случае вычисляется длина F битов заполнителя, соответствующая разности между значением, полученным путем прибавления размеров всех кодовых блоков, и размером B' измененной входной кодовой последовательности (этап S303).When dividing a data block, the value obtained by adding the sizes of all code blocks may be larger than the size B 'of the modified input bit sequence to calculate the number C of code blocks and the size K of the code block. In this case, the filler bit length F is calculated corresponding to the difference between the value obtained by adding the sizes of all code blocks and the size B ′ of the changed input code sequence (step S303).

Биты заполнителя служат для выравнивания первоначально введенного блока данных с размерами кодовых блоков, когда код обнаружения ошибок присоединяется к кодовым блокам, сегментированным из блока данных. Если число кодовых блоков равно 0, длина F битов заполнителя также равна 0.The placeholder bits are used to align the initially entered data block with the code block sizes when the error detection code is attached to code blocks segmented from the data block. If the number of code blocks is 0, the length F of the filler bits is also 0.

Теперь будут описаны способы вычисления длины F битов заполнителя.Methods for calculating the length of the F bits of the filler will now be described.

Длина F битов заполнителя может быть вычислена вычитанием размера B' измененной входной битовой последовательности из результата умножения числа C кодовых блоков на размер K кодовых блоков.The filler bit length F may be calculated by subtracting the size B ′ of the modified input bit sequence from the result of multiplying the number C of code blocks by the size K of code blocks.

Нижеследующее уравнение 23 показывает первый способ вычисления длины F битов заполнителя.The following equation 23 shows a first method for calculating the length F of the filler bits.

[Уравнение 23][Equation 23]

F=C*K-B'F = C * K-B '

Уравнение 23 показывает способ вычисления длины битов заполнителя, когда входной блок данных сегментируется на кодовые блоки одной и той же длины.Equation 23 shows a method for calculating the length of the filler bits when the input data block is segmented into code blocks of the same length.

Следующее уравнение 24 выражает уравнение 23, используя размер В' измененной входной битовой последовательности.The following equation 24 expresses the equation 23 using the size B 'of the modified input bit sequence.

[Уравнение 24][Equation 24]

F=С*К-(B+C*L)F = C * K- (B + C * L)

Второй способ вычисления длины F битов заполнителя на этапе S303 является следующим.The second method for calculating the filler bit length F in step S303 is as follows.

Уравнение 25 показывает пример вычисления длины F битов заполнителя. А именно, уравнение 25 показывает способ вычисления длины битов заполнителя, когда входной блок данных (или входная битовая последовательность) имеет определенный размер (например, K+ или K-).Equation 25 shows an example of calculating the length F of the filler bits. Namely, Equation 25 shows a method for calculating a bit length of a placeholder when the input data block (or input bit sequence) has a certain size (for example, K + or K - ).

[Уравнение 25][Equation 25]

F=C+*K++C-*K--B'F = C + * K + + C - * K - -B '

Длина F битов заполнителя может быть вычислена, вычитая размер B' измененной входной битовой последовательности из суммы размеров всех кодовых блоков. То есть, длина F битов заполнителя может быть вычислена, вычитая размер B' измененной входной битовой последовательности из значения (C+*K+)+(C--).The filler bit length F may be calculated by subtracting the size B ′ of the modified input bit sequence from the sum of the sizes of all code blocks. That is, the filler bit length F can be calculated by subtracting the size B ′ of the modified input bit sequence from the value (C + * K + ) + (C - * K - ).

Используя уравнение 25, примеры вариантов осуществления настоящего изобретения могут быть применены, даже когда размеры кодовых блоков, сегментированных из блока данных, различаются. Так как длина битов заполнителя может быть вычислена, когда код обнаружения ошибок содержится в кодовых блоках, кодовые блоки могут создаваться точно.Using equation 25, examples of embodiments of the present invention can be applied even when the sizes of the code blocks segmented from the data block are different. Since the length of the filler bits can be calculated when the error detection code is contained in the code blocks, code blocks can be generated accurately.

В нижеследующем уравнении 26 для размера B' измененная входной битовой последовательности устанавливается значение, полученное умножением длины L кода обнаружения ошибок на число C кодовых блоков и последующим прибавлением размера В блока данных (или входных битов) к результату умножения.In the following equation 26, for the size B ′, the changed input bit sequence is set to the value obtained by multiplying the length L of the error detection code by the number C of code blocks and then adding the size B of the data block (or input bits) to the multiplication result.

[Уравнение 26][Equation 26]

F=C+*K++C-*K--(B+С*L)F = C + * K + + C - * K - - (B + C * L)

Возвращаясь к фиг.3, если число кодовых блоков, размер кодовых блоков и длины битов заполнителя определены, устройство 320 сегментации блока данных может последовательно распределять данные по кодовым блокам (этап S304).Returning to FIG. 3, if the number of code blocks, code block size, and placeholder bit lengths are determined, the data block segmentation device 320 can sequentially distribute data among the code blocks (step S304).

На этапе S304, если блок (300) данных состоит из одного кодового блока, содержащего код обнаружения ошибок, данные распределяются блоку 300 данных и не вводятся в устройство 340 присоединения CRC. Так обстоит дело, когда размер блока 300 данных меньше или равен максимальному размеру кодового блока 360. Поэтому блок данных сегментируется устройством 320 сегментации и этап присоединения кода CRC к каждому сегментированному кодовому блоку опущен. То есть, блок 300 входных данных напрямую используется в качестве кодового блока 360. Соответственно, только первоначально введенный код CRC присутствует в кодовом блоке 360 и нет необходимости присоединять к кодовому блоку 360 код CRC, созданный устройством 340 присоединения CRC.In step S304, if the data block (300) consists of one code block containing an error detection code, the data is allocated to the data block 300 and is not input to the CRC attachment device 340. This is the case when the size of the data block 300 is less than or equal to the maximum size of the code block 360. Therefore, the data block is segmented by the segmentation device 320 and the step of attaching the CRC code to each segmented code block is omitted. That is, the input data unit 300 is directly used as the code block 360. Accordingly, only the originally entered CRC code is present in the code block 360 and there is no need to attach the CRC code generated by the CRC attachment device 340 to the code block 360.

Если данные распределяются по кодовым блокам, кодовые блоки вводятся в устройство 340 присоединения CRC. Устройство 340 присоединения CRC создает разряды проверки на четность CRC заданной длины, используя уравнение создания CRC, основываясь на кодовых блоках (этап S305).If the data is distributed across code blocks, code blocks are input to the CRC attachment device 340. The CRC attachment device 340 generates CRC parity bits of a given length using the CRC generation equation based on the code blocks (step S305).

Устройство присоединения CRC присоединяет биты проверки на четность CRC, созданные на этапе S305, в заднюю часть кодовых блоков в прямом или обратном порядке. И наконец, создаются кодовые блоки с присоединенными CRC (этап S306).The CRC attachment device attaches the CRC parity bits created in step S305 to the back of the code blocks in either direct or reverse order. Finally, code blocks with attached CRCs are created (step S306).

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

На фиг.4 показан пример процесса присоединения кодов CRC к кодовым блокам в соответствии с примером варианта осуществления настоящего изобретения.4 shows an example of a process for attaching CRC codes to code blocks in accordance with an example embodiment of the present invention.

Со ссылкой на фиг.4, блок данных (первый блок 400 данных) вводится в устройство 420 сегментации блока данных и сегментируется на кодовые блоки (второй блок данных). Кодовые блоки 430 с учетом размера CRC вводятся в блок 440 присоединения CRC для создания кодового блока 460 с присоединенным кодом CRC. Этот процесс подобен способу, показанному на фиг.3, за исключением этапов S304 и S306 на фиг.3.With reference to FIG. 4, a data block (first data block 400) is inserted into a data block segmentation device 420 and segmented into code blocks (second data block). The code blocks 430, taking into account the CRC size, are input to the CRC attachment block 440 to create a code block 460 with the CRC code attached. This process is similar to the method shown in FIG. 3, with the exception of steps S304 and S306 in FIG. 3.

Другой пример варианта осуществления настоящего изобретения предполагает, что размер кодового блока 430, введенного в устройство присоединения CRC, равен размеру блока 460 с присоединенным CRC. То есть, размер CRC содержится в размере кодового блока, вводимого в устройство присоединения CRC. Соответственно, вычисляя количество и размер кодовых блоков относительно входных данных, для устройства сегментации блока данных желательно учесть размер кода CRC, который должен быть присоединен в пределах каждого кодового блока.Another example embodiment of the present invention assumes that the size of the code block 430 inserted into the CRC attachment device is equal to the size of the CRC attached block 460. That is, the size of the CRC is contained in the size of the code block input to the CRC attachment device. Accordingly, when calculating the number and size of code blocks relative to the input data, it is desirable for the data block segmentation device to take into account the size of the CRC code that must be attached within each code block.

Если число C кодовых блоков, размер K кодового блока и длина F битов заполнителя определены, устройство 420 сегментации блока данных последовательно распределяет данные по кодовым блокам. В это время биты заполнителя и данные распределяются первому блоку кодовых блоков.If the number C of code blocks, the size K of the code block and the length F of the filler bits are determined, the data block segmentation device 420 sequentially distributes the data among the code blocks. At this time, placeholder bits and data are allocated to the first block of code blocks.

В другом примере варианта осуществления настоящего изобретения данные распределяются по кодовым блокам с учетом размера L CRC, который должен присоединяться в устройстве присоединения CRC. Поэтому биты заполнителя и данные распределяются первой кодовому блоку и значение, состоящее из нулей или единиц, соответствующее размеру кода CRC, распределяется для назначения области CRC. Однако значение указывает только область CRC и не означает, что код CRC присоединяется к области CRC.In another example embodiment of the present invention, the data is allocated into code blocks based on the size L of the CRC to be attached in the CRC attachment device. Therefore, the placeholder bits and data are allocated to the first code block, and a value of zero or one corresponding to the size of the CRC code is allocated to assign the CRC area. However, the value indicates only the CRC region and does not mean that the CRC code joins the CRC region.

Данные распределяются последовательно, начиная со второго кодового блока и до последнего кодового блока. Значение, состоящее из нулей или единиц, указывает, что область CRC распределяется каждому кодовому блоку, чтобы обеспечить область CRC.Data is distributed sequentially from the second code block to the last code block. A value of zero or one indicates that a CRC area is allocated to each code block to provide a CRC area.

Устройство присоединения CRC присоединяет коды CRC к кодовым блокам. В этом случае создаются биты проверки на четность CRC, соответствующие области CRC, заполненной нулями или единицами, и биты проверки на четность CRC присоединяются в прямом или обратном порядке. Этот процесс выполняется для каждого кодового блока. Размер L кода CRC может составить 24 бита.A CRC attachment device attaches CRC codes to code blocks. In this case, CRC parity bits are generated corresponding to a CRC area filled with zeros or ones, and CRC parity bits are added in the direct or reverse order. This process is performed for each code block. The size L of the CRC code may be 24 bits.

С помощью описанного выше способа блок данных, имеющий заданный размер, сегментируется на кодовые блоки с присоединенным CRC с помощью устройства 420 сегментации блока данных и устройства 440 присоединения CRC.Using the method described above, a data block having a predetermined size is segmented into code blocks with an attached CRC using the data block segmentation device 420 and the CRC attachment device 440.

Однако если блок 400 данных меньше или равен максимальному размеру кодового блока, блок данных не проходит через устройство 420 сегментации блока данных и устройство 440 присоединения CRC. А именно, если блок 400 данных состоит из одного кодового блока, содержащего код CRC, поскольку блок 400 данных уже содержит код CRC, то блоку 400 данных распределяются только данные и код CRC не присоединяется в устройстве присоединения CRC.However, if the data block 400 is less than or equal to the maximum code block size, the data block does not pass through the data block segmentation device 420 and the CRC attachment device 440. Namely, if the data block 400 consists of one code block containing the CRC code, since the data block 400 already contains the CRC code, then only the data is allocated to the data block 400 and the CRC code is not connected in the CRC attachment device.

При конфигурации кодового блока, вводимого в устройство присоединения CRC, подробный пример введения размера CRC в кодовый блок является следующим.When configuring a code block input to a CRC attachment device, a detailed example of introducing a CRC size into a code block is as follows.

В таблице 2 показано уравнение конфигурации кодового блока, учитывающей размер CRC.Table 2 shows the code block configuration equation taking into account the CRC size.

Таблица 2table 2 СинтаксисSyntax ЗначениеValue ПримечанияNotes for k=0 to F-lfor k = 0 to F-l 00k=0 or 10 0k = 0 or 1 end forend for K=FK = f S=0S = 0 for r=0 to C-1for r = 0 to C-1 if r<C- if r <C - Kr=K- K r = K - ElseElse Kr=K+ K r = K + end ifend if While (k<Kr)While (k <K r ) if (k<Kr-L)if (k <K r -L) Ork=bs O rk = b s s=s+1s = s + 1 ElseElse Ork=0 or 1O rk = 0 or 1 end ifend if k=k+1k = k + 1 end whileend while k=0k = 0 end forend for

В таблице 3 показано выражение конфигурации кодового блока, учитывающей размер CRC, когда блок данных состоит из одного кодового блока, содержащего код обнаружения ошибок.Table 3 shows the code block configuration expression taking into account the CRC size when the data block consists of one code block containing an error detection code.

Таблица 3Table 3 СинтаксисSyntax ЗначениеValue ПримечанияNotes if C=1if C = 1 L=0L = 0 end ifend if for k=0 to F-lfor k = 0 to F-l Ook=0 or 1 Ok ok = 0 or 1 end forend for K=FK = f S=0S = 0 for r=0 to C-lfor r = 0 to C-l if r<C- if r <C - Kr=K- K r = K - ElseElse Kr=K+ K r = K + end ifend if while (k<Kr)while (k <K r ) if (k<Kr-L)if (k <K r -L) Ork=bs O rk = b s s=s+1s = s + 1 ElseElse Ork=0 or 1O rk = 0 or 1 end ifend if k=k+1k = k + 1 end whileend while k=0k = 0 end forend for

Основными параметрами, используемыми в таблице 2 и таблице 3, являются следующие параметры. Параметр "F" указывает длину битов заполнителя, "Ork" указывает выход устройства сегментации блока данных, "r" указывает номер кодового блока, и "k" указывает номер бита в r-ом блоке.The main parameters used in table 2 and table 3 are the following parameters. The parameter “F” indicates the length of the filler bits, “O rk ” indicates the output of the data block segmentation device, “r” indicates the code block number, and “k” indicates the bit number in the rth block.

Предполагается, что размер кодового блока равен K+ и K- (где K- меньше, чем K+). Параметры C+ и C- указывают количества конкретных кодовых блоков, то есть количества кодовых блоков, имеющих размеры K+ и K-, соответственно. Параметр "L", показанный в таблице 2 и таблице 3, указывает размер кода CRC, который должен присоединяться к каждому кодовому блоку, и "Kr" указывает размер, который должен присоединяться к кодовому блоку.It is assumed that the size of the code block is K + and K - (where K is less than K + ). The parameters C + and C - indicate the number of specific code blocks, that is, the number of code blocks having sizes K + and K - , respectively. The parameter “L” shown in Table 2 and Table 3 indicates the size of the CRC code to be attached to each code block, and “K r ” indicates the size to be attached to the code block.

Пример присоединения кода CRC к каждому кодовому блоку, созданному с учетом размера CRC, показан в уравнении 27.An example of attaching a CRC code to each code block created taking into account the size of the CRC is shown in equation 27.

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

Ork=Ork; k=0, 1, 2,…, Kr-L-1O rk = O rk ; k = 0, 1, 2, ..., K r -L-1

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

Когда размер B блока данных меньше максимального размера Z кодового блока, пример присоединения кода CRC к каждому кодовому блоку, созданному с учетом размера L CRC, показан в уравнении 28.When the data block size B is less than the maximum code block size Z, an example of attaching a CRC code to each code block created taking into account the CRC size L is shown in equation 28.

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

if C=lif C = l

bypassbypass

elseelse

Ork=Ork; k=0, 1, 2,…, Kr-L-1O rk = O rk ; k = 0, 1, 2, ..., K r -L-1

0rk=Pr(Kr-k-1); k=Kr-L, Kr-L+l, Kr-L+2,…, Kr-1(=Kr-L+L-l)0 rk = P r (Kr-k-1) ; k = K r -L, K r -L + l, K r -L + 2, ..., K r -1 (= K r -L + Ll)

end ifend 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 могут быть присоединены в прямом или обратном порядке кодового блока в соответствии с системными требованиями.When calculating the parameters for attaching the CRC, it is assumed that the size attached to the code block is Kr, and the size of the CRC attached to each code block is L. The input bits can be denoted as O r0 , O r1 , O r2 , ..., O rKr -1 . The CRC parity bits may be denoted p r0 , p r1 , p r2 , ..., p rL-1 . CRC parity bits can be created using the CRC generation equation based on the input bits. After the CRC parity bits are attached, the bits can be denoted as O r0 , O r1 , O r2 , ..., O rKr-1 or C r0 , C r1 , C r2 , ..., C rKr-1 in the same space itself or other spaces. The CRC parity bits can be attached in the direct or reverse order of the code block in accordance with system requirements.

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

На фиг.5 показан другой пример процесса присоединения кодов CRC к кодовым блокам в соответствии с вариантом осуществления настоящего изобретения.5 shows another example of a process for attaching CRC codes to code blocks in accordance with an embodiment of the present invention.

На фиг.5 размер входного кодового блока 530, вводимого в устройство 540 присоединения CRC, имеет значение, полученное вычитанием размера L CRC из размера выходного кодового блока 560. Хотя работа устройства 520 сегментации блока данных по делению блока данных (первый блок 500 данных) подобна работе устройств сегментации блоков данных, показанных на фиг.3 и фиг.4, способ распределения данных кодовому блоку (второй блок данных) и способ создания блока с присоединенным CRC отличаются от способов, показанных на фиг.3 и фиг.4.5, the size of the input code block 530 input to the CRC attachment device 540 has a value obtained by subtracting the CRC size L from the size of the output code block 560. Although the operation of the data block segmentation device 520 for dividing the data block (first data block 500) is similar The operation of the data block segmentation devices shown in FIGS. 3 and 4, the method for distributing data to a code block (second data block) and the method for creating a block with an attached CRC are different from the methods shown in FIG. 3 and FIG. 4.

А именно, хотя размер CRC уситывается при делении блока данных, область CRC не предусмотрена в размере кодовых блоков, вводимых в устройство присоединения CRC, которое отличается от способа, показанного на фиг.4.Namely, although the CRC size is amplified by dividing the data block, the CRC area is not provided in the size of the code blocks input to the CRC attachment device, which is different from the method shown in FIG. 4.

Со ссылкой на фиг.5, первый блок 500 данных вводится в устройство 520 сегментации блока данных и сегментируется на кодовый блок 530 и кодовой блок 530 вводится в устройство 540 присоединения CRC, создавая тем самым кодовый блок 56 с присоединенным кодом CRC.Referring to FIG. 5, a first data block 500 is input to a data block segmentation device 520 and segmented into a code block 530 and a code block 530 is input to a CRC attachment device 540, thereby creating a code block 56 with a CRC code attached.

На фиг.5, если блок 500 данных вводится в устройство 520 сегментации блока данных, устройство 520 сегментации блока данных вычисляет число C и размер Z кодовых блоков с учетом размера CRC. Устройство 520 сегментации блока данных также вычисляет длину F битов заполнителя, используя число C и размер K кодовых блоков. Устройство 520 сегментации блока данных распределяет биты заполнителя и данные первому блоку среди кодовых блоков. В этом случае данные последовательно распределяются в соответствии с длиной, вычитая длину битов заполнителя размер L CRC из размера кодового блока. Размер L CRC может составить 24 бита.5, if a data block 500 is input to the data block segmentation device 520, the data block segmentation device 520 calculates the number C and the size Z of code blocks based on the size of the CRC. The data block segmentation device 520 also calculates the length F of the filler bits using the number C and the size K of code blocks. A data block segmentation device 520 distributes the filler bits and data to the first block among the code blocks. In this case, the data is sequentially distributed in accordance with the length, subtracting the length of the filler bits of the size L CRC from the size of the code block. The CRC size L may be 24 bits.

Устройство сегментации блока данных последовательно распределяет данные, соответствующие длине, вычитая размер CRC из размера кодового блока во втором блоке. Процесс распределения данных повторяется соответственно числу других кодовых блоков. С помощью процесса распределения данных производится конфигурирование кодовых блоков, вводимых в устройство присоединения CRC.The data block segmentation device sequentially distributes data corresponding to the length by subtracting the CRC size from the size of the code block in the second block. The data distribution process is repeated according to the number of other code blocks. Using the data distribution process, code blocks are input to the CRC attachment device.

Таким образом, число C кодовых блоков, вычисленное устройством сегментации блоков данных, передается в устройство присоединения CRC, так чтобы устройство присоединения CRC могло использовать число C кодовых блоков для присоединения кодов CRC к кодовым блокам. Полагая, что размер каждого кодового блока, вводимого в устройство присоединения CRC, является постоянным, размер входного кодового блока 530 получается умножением числа C кодовых блоков на результат вычитания размера К CRC из размера K кодового блока. Альтернативно, размер входного кодового блока 530 может быть установлен равным сумме размеров кодовых блоков, каждый из которых имеет значение, вычисленное путем вычитания размера L CRC из размера К кодового блока.Thus, the number C of code blocks calculated by the data block segmentation device is transmitted to the CRC attachment device so that the CRC attachment device can use the number C of code blocks to attach the CRC codes to the code blocks. Assuming that the size of each code block input to the CRC attachment device is constant, the size of the input code block 530 is obtained by multiplying the number C of code blocks by the result of subtracting the size K CRC from the size K of the code block. Alternatively, the size of the input code block 530 may be set equal to the sum of the sizes of the code blocks, each of which has a value calculated by subtracting the size L CRC from the size K of the code block.

При вычислении всего размера кодового блока 530, вводимого в устройство присоединения CRC в соответствии с вариантом осуществления настоящего изобретения, описанным на фиг.5, кодовый блок 530 имеет размер, меньший, чем размер, вычисленный по способу, показанному на фиг.4, на размер кодов CRC, которые быть присоединены к кодовым блокам.When calculating the total size of the code block 530 introduced into the CRC attachment device according to the embodiment of the present invention described in FIG. 5, the code block 530 has a size smaller than the size calculated by the method shown in FIG. 4 by a size CRC codes that are attached to code blocks.

Со ссылкой на фиг.5, устройство присоединения CRC создает заданный размер битов проверки на четность CRC, используя уравнение генерации CRC, основываясь на входных кодовых блоках и числе кодовых блоков. Устройство присоединения CRC присоединяет биты проверки на четность к концу каждого кодового блока в прямом или обратном порядке.Referring to FIG. 5, a CRC attachment device creates a predetermined CRC parity check bit size using the CRC generation equation based on input code blocks and the number of code blocks. The CRC attachment device attaches the parity bits to the end of each code block in either forward or reverse order.

Используя способ, описанный со ссылкой на фиг.5, блок данных, имеющий заданный размер, состоит из кодовых блоков с присоединенным CRC, проходящих через устройство сегментации блока данных и устройство присоединения CRC.Using the method described with reference to FIG. 5, a data block having a predetermined size consists of code blocks with an attached CRC passing through a data block segmentation device and a CRC attachment device.

Однако если блок данных состоит из одного кодового блока, содержащего код CRC, этап прохождения через устройство присоединения CRC 540 после распределения данных пропускается. А именно, если размер блока данных меньше или равен максимальному размеру кодового блока, нет необходимости делить блок данных и код CRC, введенный первоначально в блок данных, используется без повторного присоединения кодов CRC через устройство 540 присоединения CRC.However, if the data block consists of one code block containing the CRC code, the step of passing through the CRC 540 attachment device after data distribution is skipped. Namely, if the data block size is less than or equal to the maximum code block size, there is no need to divide the data block and the CRC code originally entered into the data block is used without reconnecting the CRC codes through the CRC attaching unit 540.

Подробный пример конфигурирования кодового блока, вводимого в устройство присоединения CRC, когда код CRC не содержится в кодовом блоке, хотя размер CRC учитывается при конфигурировании кодового блока, теперь будет описан в соответствии с другим примером варианта осуществления настоящего изобретения.A detailed example of configuring a code block input to the CRC attachment device when the CRC code is not contained in the code block, although the CRC size is taken into account when configuring the code block, will now be described in accordance with another example embodiment of the present invention.

Приведенная ниже таблица 4 показывает уравнение для конфигурации кодового блока, который не содержит код CRC, хотя размер CRC учитывается при создании кодового блока.Table 4 below shows the equation for configuring a code block that does not contain a CRC code, although the CRC size is taken into account when creating the code block.

Таблица 4Table 4 СинтаксисSyntax ЗначениеValue ПримечанияNotes for k=0 to F-lfor k = 0 to F-l Ook=0 or 1 Ok ok = 0 or 1 end forend for k=Fk = F s=0s = 0 for r=0 to C-lfor r = 0 to C-l if r<C- if r <C - Kr=K- K r = K - ElseElse Kr=K+ K r = K + end ifend if while (k<Kr-L)while (k <K r -L) Ork=bs O rk = b s k=k+1k = k + 1 s=s+1s = s + 1 end whileend while k=0k = 0 end forend for

Приведенная ниже таблица 5 показывает уравнение конфигурации кодового блока, который учитывает размер CRC, но не содержит код CRC, когда блок данных, содержащийся в одном кодовом блоке, содержит код CRC.Table 5 below shows a code block configuration equation that takes into account the CRC size but does not contain a CRC code when the data block contained in one code block contains a CRC code.

Таблица 5Table 5 СинтаксисSyntax ЗначениеValue ПримечанияNotes if C=Iif C = I L=0L = 0 end ifend if for k=0 to F-lfor k = 0 to F-l O0k=0 or 1O 0k = 0 or 1 end forend for k=Fk = F s=0s = 0 for r=0 to C-1for r = 0 to C-1 if r<C- if r <C - Kr=K- K r = K - ElseElse Kr=K+ K r = K + end ifend if while (k<Kr-L)while (k <Kr-L) Ork=bs O rk = b s k=k+1k = k + 1 s=s+1s = s + 1 end whileend while k=0k = 0 end forend for

Основными параметрами, используемыми в таблице 4 и таблице 5, являются следующие параметры. "F" указывает длину битов заполнителя, "Ork" указывает выход устройства сегментации блока данных, "r" указывает номер кодового блока и "k" указывает битовый номер r-ого блока.The main parameters used in table 4 and table 5 are the following parameters. “F” indicates the length of the filler bits, “O rk ” indicates the output of the data block segmentation device, “r” indicates the code block number, and “k” indicates the bit number of the rth block.

Предполагается, что кодовые блоки имеют размеры K+ и K- (где K- меньше, чем K+). Параметры "C+" и "C-" указывают число конкретных кодовых блоков, то есть, число кодовых блоков, имеющих размеры K+ и K-, соответственно. Параметр "L", показанный в таблице 4 и таблице 5, указывает, что размер CRC, который должен быть присоединен к каждому кодовому блоку и "Kr" указывает размер, который должен применяться к кодовому блоку.It is assumed that the code blocks have sizes K + and K - (where K is less than K + ). The parameters "C + " and "C - " indicate the number of specific code blocks, that is, the number of code blocks having sizes K + and K - , respectively. The parameter “L” shown in Table 4 and Table 5 indicates that the size of the CRC to be attached to each code block and “K r ” indicates the size to be applied to the code block.

Со ссылкой на фиг.5, конфигурируется кодовый блок, который учитывает размер CRC, но не содержит код CRC, и уравнение 27 может использоваться для присоединения кода CRC к кодовым блокам.With reference to FIG. 5, a code block is configured that takes into account the CRC size but does not contain a CRC code, and equation 27 can be used to attach the CRC code to the code blocks.

Если блок данных не сегментирован и состоит из одного кодового блока, содержащего код CRC, кодовый блок, который учитывает размер CRC, но не содержит код CRC, конфигурируется и уравнение 28 может использоваться для присоединения кода CRC к кодовому блоку.If the data block is not segmented and consists of one code block containing the CRC code, a code block that takes into account the CRC size but does not contain the CRC code is configured and Equation 28 can be used to attach the CRC code to the code block.

Биты после присоединения CRC могут быть обозначены как Or0, Or1, Or2,…, OrKr-1 или Cr0, Cr1, Cr2,…, CrKr-1. А именно, биты могут содержаться в одном и том же пространстве или в разных пространствахBits after joining CRC can be denoted as O r0 , O r1 , O r2 , ..., O rKr-1 or C r0 , C r1 , C r2 , ..., C rKr-1 . Namely, bits can be contained in the same space or in different spaces

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

На фиг.6 показана схема процесса сегментации блока данных и присоединения кодов CRC с учетом размера CRC в соответствии с вариантом осуществления настоящего изобретения.Figure 6 shows a diagram of a process for segmenting a data block and attaching CRC codes, taking into account the size of the CRC in accordance with an embodiment of the present invention.

Блок данных (первый блок 600 данных), имеющий заданный размер, вводится в функциональный модуль 620 (устройство сегментации блока данных и присоединения CRC), чтобы создать кодовый блок (второй блок 640 данных). Функциональный модуль 620 сегментирует блок данных и одновременно присоединяет коды CRC. Блок 600 данных может содержать в себе код CRC до того, как вводится в функциональный модуль 620.A data block (first data block 600) having a predetermined size is inserted into a function module 620 (data block segmentation and CRC attachment device) to create a code block (second data block 640). Function module 620 segments the data block and simultaneously attaches CRC codes. The data block 600 may include a CRC code before being entered into the function module 620.

Если блок 600 данных вводится в функциональный модуль 620, функциональный модуль 620 вычисляет число C кодовых блоков, учитывая размер L CRC (этап S601). Функциональный модуль 620 вычисляет размер К кодового блока, используя число C кодовых блоков (этап S602). Функциональный модуль 620 вычисляет длину F битов заполнителя, используя число C кодовых блоков и размер К кодовых блоков (этап S603).If the data block 600 is input to the function module 620, the function module 620 calculates the number C of code blocks, taking into account the size L of the CRC (step S601). Function module 620 calculates a code block size K using the number C of code blocks (step S602). Function module 620 calculates the length F of the filler bits using the number C of code blocks and the size K of code blocks (step S603).

Способы вычисления числа C кодовых блоков, размера кодовых блоков K и длины F битов заполнителя, используемые на этапах S601-S603, могут использовать один или более способов, применяемых на фиг.3-5. Однако способ распределения данных и кодов CRC по кодовым блокам на этапе S604 отличается от способов, описанных со ссылкой на фиг.3-5. Размер L CRC может составлять 24 бита.The methods for calculating the number C of code blocks, the size of code blocks K and the length F of the filler bits used in steps S601-S603 can use one or more of the methods used in FIGS. 3-5. However, the method for distributing data and CRC codes into code blocks in step S604 is different from the methods described with reference to FIGS. 3-5. The CRC size L may be 24 bits.

Со ссылкой на фиг.6, этап S604 распределения данных и кодов CRC по кодовым блокам является следующим.With reference to FIG. 6, step S604 of distributing data and CRC codes into code blocks is as follows.

Хотя биты заполнителя присоединяются к началу первого кодового блока и данные, соответствующие длине, за исключением размера L CRC, распределяются в первом кодовом блоке, код CRC присоединяется к концу первого кодового блока в прямом или обратном порядке. Во втором кодовом блоке данные, соответствующие длине, за исключением размера CRC, распределяются и код CRC присоединяется к концу второго кодового блока в прямом или обратном порядке. Упомянутый выше процесс распределения данных по кодовым блокам после второго кодового блока повторяется для каждого из числа C остающихся кодовых блоков. Размер К кодового блока может иметь тот же самый размер или конкретные значения (например, K+ или K-). Значения K+ и K- указывают мгновенные изменения величины K. Используя способ, показанный на фиг.6, блок данных, имеющий заданный размер, может состоять из кодового блока 640 c CRC, присоединенного через функциональный модуль 620. Однако если блок данных содержит один кодовый блок, содержащий код CRC, код CRC не присоединяется после того, как данные распределены, поскольку блок данных содержит код CRC.Although the filler bits are attached to the beginning of the first code block and data corresponding to the length, with the exception of size L CRC, is allocated in the first code block, the CRC code is attached to the end of the first code block in either direct or reverse order. In the second code block, data corresponding to the length, with the exception of the CRC size, is distributed and the CRC code is attached to the end of the second code block in direct or reverse order. The above process of distributing data into code blocks after the second code block is repeated for each of the number C of remaining code blocks. The code block size K may have the same size or specific values (for example, K + or K - ). The K + and K - values indicate instantaneous changes in K. Using the method shown in FIG. 6, a data block having a predetermined size may consist of a CRC code block 640 c connected via function module 620. However, if the data block contains one code block containing the CRC code, the CRC code is not attached after the data is distributed, because the data block contains the CRC code.

После того как кодовый блок создан, выполняется канальное кодирование. Канальное кодирование относится к процессу преобразования первоначального кода, созданного передающей стороной, так чтобы принимающая сторона могла обнаружить и/или исправить ошибки во время передачи данных через канал. Таким образом, канальное кодирование относится к процессу исключения ошибок в канальных средах, обладающих ограниченной мощностью или ограниченной полосой пропускания.After the code block is created, channel coding is performed. Channel coding refers to the process of converting the original code generated by the transmitting side so that the receiving side can detect and / or correct errors during data transmission through the channel. Thus, channel coding refers to the process of eliminating errors in channel environments having limited power or limited bandwidth.

Для канального кодирования могут применяться различные способы. Канальное кодирование содержит линейное кодирование и циклическое кодирование типа, не требующего обращения к запоминающему устройству, сверточное кодирование с концевой битовой комбинацией и турбокодирование типа, требующего обращения к запоминающему устройству.For channel coding, various methods can be applied. Channel coding includes linear coding and cyclic coding of a type that does not require access to a storage device, convolutional coding with an end bit combination and turbocoding of a type that requires access to a storage device.

На фиг.7 показана схема процесса преобразования блока данных в кодовые блоки с учетом размера CRC в соответствии с вариантом осуществления настоящего изобретения.7 shows a diagram of a process for converting a data block into code blocks taking into account a CRC size in accordance with an embodiment of the present invention.

Со ссылкой на фиг.7, если блок данных (первый блок 700 данных) вводится в функциональный модуль 720 (устройство присоединения CRC и сегментации блока данных), блок данных сегментируется в кодовый блок (второй блок 740 данных) с учетом размера L CRC. Процесс преобразования блока данных в кодовый блок через устройство присоединения CRC и сегментации блока данных может использовать процесс, показанный на фиг.6. На фиг.7 блок 700 данных может содержать код CRC для блока данных до того, как блок данных будет введен в функциональный модуль.Referring to FIG. 7, if a data block (first data block 700) is inserted into function module 720 (CRC attachment and data block segmentation unit), the data block is segmented into a code block (second data block 740) taking into account the size L of the CRC. The process of converting a data block into a code block through a CRC attachment device and segmenting a data block may use the process shown in FIG. 6. 7, a data block 700 may comprise a CRC code for a data block before the data block is inserted into the function module.

Здесь далее будет описан пример выполнения сегментации блока данных и присоединения CRC в одном функциональном модуле.Hereinafter, an example of performing data block segmentation and CRC attachment in one function module will be described.

Приведенная ниже таблица 6 показывает уравнение конфигурации блока данных для сегментации блока данных и присоединения кода CRC, когда сегментация блока данных и присоединение кода CRC выполняются в одном функциональном модуле 720.Table 6 below shows the data block configuration equation for segmenting a data block and attaching a CRC code when segmenting a data block and attaching a CRC code are performed in one function module 720.

Таблица 6Table 6 СинтаксисSyntax ЗначениеValue ПримечанияNotes for k=0 to F-lfor k = 0 to F-l O0k=0 or 1O 0k = 0 or 1 end forend for k=Fk = F s=0s = 0 for r=0 to C-lfor r = 0 to C-l if r<C.if r <C. Kr=K- K r = K - elseelse Kr=K+ K r = K + end ifend if while (k<Kr)while (k <K r ) if (k<Kr-L)if (k <K r -L) Ork=bs O rk = b s Распределить bs по Ork и одновременно создать биты четностиDistribute b s over O rk and at the same time create parity bits s=s+1s = s + 1 ElseElse Ork=P(L-l-(k-(Kr-L))) O rk = P (Ll- (k- (Kr-L))) end ifend if k=k+1k = k + 1 end whileend while k=0k = 0 end forend for

Последующая таблица 7 показывает уравнение конфигурации блока данных для сегментации блока данных и присоединения кодов CRC, когда блок данных не сегментируется и состоит из одного кодового блока, содержащего код CRC (то есть, C=l), и когда сегментация блока данных и присоединение кода CRC выполняются в одном функциональном модуле 720.The following table 7 shows the data block configuration equation for segmenting a data block and attaching CRC codes when the data block is not segmented and consists of one code block containing the CRC code (i.e., C = l), and when segmenting the data block and attaching the CRC code run in a single function module 720.

Таблица 7Table 7 СинтаксисSyntax ЗначениеValue ПримечанияNotes if C=lif C = l L=0L = 0 end ifend if for k=0 to F-lfor k = 0 to F-l O0k=0 or 1O 0k = 0 or 1 end forend for k=Fk = F s=0s = 0 for r=0 to C-lfor r = 0 to C-l if r<C.if r <C. Kr=K- K r = K - elseelse Kr=K+ K r = K + end ifend if while (k<Kr)while (k <K r ) if (k<Kr-L)if (k <K r -L) if C=1if C = 1 Ork=bs O rk = b s Распределить bs по Ork и одновременно создать биты четностиDistribute b s over O rk and at the same time create parity bits elseelse Ork=bs O rk = b s end ifend if s=s+1s = s + 1 elseelse Ork=pr(Kr-k-1) O rk = p r (Kr-k-1) end ifend if k=k+1k = k + 1 end whileend while k=0k = 0 end forend for

Основными параметрами, используемыми в таблице 6 и таблице 7, являются следующие параметры. Параметр "F" указывает длину битов заполнителя, "Ork" указывает выход устройства сегментации блока данных, "r" указывает номер кодовых блоков и "k" указывает битовый номер r-ого блока.The main parameters used in table 6 and table 7 are the following parameters. The parameter “F” indicates the length of the filler bits, “O rk ” indicates the output of the data block segmentation device, “r” indicates the number of code blocks, and “k” indicates the bit number of the r-th block.

Предполагается, что кодовые блоки имеют размеры K+ и K- (где K- меньше, чем K+). Параметры "C+" и "C-" указывают число конкретных кодовых блоков, то есть, число кодовых блоков, имеющих размеры K+ и K-, соответственно. Параметр "L", показанный в таблице 6 и таблице 7, указывает размер CRC, который должен быть присоединен к каждому кодовому блоку, и "Kr" указывает размер, который должен применяться к конечному кодовому блоку.It is assumed that the code blocks have sizes K + and K - (where K is less than K + ). The parameters "C + " and "C - " indicate the number of specific code blocks, that is, the number of code blocks having sizes K + and K - , respectively. The “L” parameter shown in Table 6 and Table 7 indicates the size of the CRC to be attached to each code block, and “K r ” indicates the size to be applied to the final code block.

Биты проверки на четность CRC могут быть обозначены как pr0, pr1, pr2,,…, prL-1. Биты проверки на четность CRC могут создаваться, используя уравнение генерации CRC, основываясь на входных блоках. Биты после сегментации данных и присоединения CRC могут быть обозначены как Or0, Or1, Or2,…, OrKr-1 или Cr0, Cr1, Cr2,…, CrKr-1. А именно, биты могут содержаться в одном и том же пространстве или в разных пространствах.The CRC parity bits may be denoted as p r0 , p r1 , p r2 ,, ..., p rL-1 . CRC parity bits can be generated using the CRC generation equation based on input blocks. Bits after data segmentation and CRC attachment can be denoted as O r0 , O r1 , O r2 , ..., O rKr-1 or C r0 , C r1 , C r2 , ..., C rKr-1 . Namely, bits can be contained in the same space or in different spaces.

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

Дополнительный пример варианта осуществления настоящего изобретения может быть создан посредством объединения способов, описанных для первого-четвертого вариантов осуществления.An additional example of an embodiment of the present invention can be created by combining the methods described for the first to fourth embodiments.

Данные большого размера могут быть сегментированы перед передачей на данные надлежащих размеров в соответствии с требованиями системы для эффективной передачи данных. Соответственно, необходимо сегментировать блок входных данных соответствующим способом. Может быть важным определить, какой способ должен использоваться для сегментации блока данных.Large data can be segmented before being transferred to data of the appropriate size in accordance with the requirements of the system for efficient data transfer. Accordingly, it is necessary to segment the input data block in an appropriate way. It may be important to determine which method should be used to segment the data block.

Устройство сегментации блока данных и присоединения CRC, соответствующее дополнительному примеру варианта осуществления настоящего изобретения, является функциональным модулем для сегментации логического блока данных (или входной битовой последовательности) и присоединения кодов CRC. Функциональный модуль может сегментировать входной блок данных на кодовые блоки в соответствующем количестве, учитывая размер кодов обнаружения ошибок (например, кодов CRC), введенных в кодовые блоки, которые должны сегментироваться.A device for segmenting a data block and attaching a CRC according to a further example of an embodiment of the present invention is a function module for segmenting a logical data unit (or input bit sequence) and attaching CRC codes. The function module may segment the input data block into code blocks in an appropriate amount, given the size of the error detection codes (eg, CRC codes) entered into the code blocks to be segmented.

Если входные битовые последовательности сегментируются на кодовые блоки (или сегменты), максимальный размер Z кодового может быть определен в соответствии с системными требованиям. В примерах вариантов осуществления настоящего изобретения максимальный размер кодового блока желательно иметь равным 6144 битов.If the input bit sequences are segmented into code blocks (or segments), the maximum code size Z can be determined in accordance with system requirements. In exemplary embodiments of the present invention, it is desirable to have a maximum code block size of 6144 bits.

Последовательность входных битов (или блока данных), вводимая в функциональный модуль, может быть обозначена как b0, b1, b2,…, bB-1. Размер входной битовой последовательности может быть обозначен как "B" (где B больше 1). Если размер B входной битовой последовательности больше, чем максимальный размер Z кодового блока, может быть выполнена сегментация входной битовой последовательности. Размер L CRC может составлять 24 бита. А именно, 24-битовый код CRC, который является одним из типов кода обнаружения ошибок, может присоединяться к каждому кодовому блоку, созданному сегментацией входной битовой последовательности.The sequence of input bits (or data block) entered into the function module can be denoted as b 0 , b 1 , b 2 , ..., b B-1 . The size of the input bit sequence may be indicated as “B” (where B is greater than 1). If the size B of the input bit sequence is larger than the maximum size Z of the code block, segmentation of the input bit sequence can be performed. The CRC size L may be 24 bits. Namely, a 24-bit CRC code, which is one type of error detection code, can be attached to each code block created by segmenting an input bit sequence.

Если длина битов заполнителя не равна 0, биты заполнителя могут быть добавлены в начало первого кодового блока. Если размер В входной битовой последовательности составляет меньше 40 битов, биты заполнителя добавляются в начало кодового блока. Биты заполнителя устанавливаются на ноль при вводе в функциональный модуль.If the length of the placeholder bits is not 0, the placeholder bits may be added to the beginning of the first code block. If the size of the input bit sequence is less than 40 bits, placeholder bits are added to the beginning of the code block. The filler bits are set to zero when entering the function module.

Общее число C кодовых блоков, созданных путем сегментации входных битов, может быть вычислено согласно следующему уравнению 29.The total number C of code blocks created by segmenting the input bits can be calculated according to the following equation 29.

[Уравнение 29][Equation 29]

if B≤Zif B≤Z

L=0L = 0

C=1C = 1

B'=BB '= B

elseelse

L=24L = 24

C=[B/(Z-L)]C = [B / (Z-L)]

B'=B+C*LB '= B + C * L

end ifend if

В уравнении 29 B указывает размер входной битовой последовательности (или блока данных), а B' указывает значение, полученное прибавлением размера В входной битовой последовательности с результатом умножения числа C кодовых блоков на размер L CRC. Таким образом, B' указывает размер измененной входной битовой последовательности для вычисления числа и размера кодовых блоков.In equation 29, B indicates the size of the input bit sequence (or data block), and B 'indicates the value obtained by adding the size of the input bit sequence to the result of multiplying the number C of code blocks by the size L CRC. Thus, B 'indicates the size of the modified input bit sequence to calculate the number and size of code blocks.

В уравнении 29, если размер В входной битовой последовательности меньше максимального размера Z кодового блока, размер кодов обнаружения ошибок, которые должны присоединяться к кодовым блокам, может быть установлен равным 0 и общее число C кодовых блоков может быть установлено равным 1. Размер B' измененной битовой последовательности может быть установлен равным размеру В входной битовой последовательности.In equation 29, if the size of the input bit sequence is less than the maximum code block size Z, the size of the error detection codes to be attached to the code blocks may be set to 0 and the total number C of code blocks may be set to 1. The size B ′ of the changed the bit sequence can be set equal to the size of the input bit sequence.

Если размер B входной битовой последовательности больше максимального размера Z кодового блока, размер L CRC может быть установлен равным 24 бита и общее число C кодовых блоков может быть установлено равным значению, полученному округлением в большую сторону значения, полученного делением размера В входной битовой последовательности на результат вычитания размера CRC из максимального размера Z кодового блока. Размер В' измененной входной битовой последовательности может быть установлен равным значению, полученному прибавлением размера В входной битовой последовательности к результату умножения общего числа C кодовых блоков на размер L CRC.If the size B of the input bit sequence is greater than the maximum size Z of the code block, the size L CRC can be set to 24 bits and the total number C of code blocks can be set to the value obtained by rounding up the value obtained by dividing the size B of the input bit sequence by the result subtracting the size of the CRC from the maximum size Z of the code block. The size B ′ of the modified input bit sequence can be set to the value obtained by adding the size B of the input bit sequence to the result of multiplying the total number C of code blocks by the size L CRC.

Если число кодовых блоков не равно 0, кодовые блоки, созданные из функционального блока, могут быть обозначены как cr0, cr1, cr2, cr3,…, cr(Kr-1) (где r указывает номер кодового блока и Kr указывает размер r-ого кодового блока).If the number of code blocks is not equal to 0, code blocks created from a function block can be denoted as c r0 , c r1 , c r2 , c r3 , ..., c r (Kr-1) (where r indicates the code block number and K r indicates the size of the rth code block).

Функциональный модуль должно вычислять размер каждого кодового блока после вычисления числа кодовых блоков согласно уравнению 29. Входные битовые последовательности могут сегментироваться на кодовые блоки, имеющие один и тот же размер или имеющие конкретный размер (например, K+ или K-). Очевидно, что кодовые блоки обладают различными размерами в соответствии с требованиям пользователей или системы.The function module must calculate the size of each code block after calculating the number of code blocks according to Equation 29. The input bit sequences may be segmented into code blocks having the same size or having a specific size (eg, K + or K - ). Obviously, the code blocks have different sizes in accordance with the requirements of users or the system.

В другом примере варианта осуществления настоящего изобретения размеры кодовых блоков могут быть K+ и K-. В этом случае число C кодовых блоков не должно быть равно 0.In another example embodiment of the present invention, code block sizes may be K + and K - . In this case, the number C of code blocks should not be 0.

В примере варианта осуществления настоящего изобретения размер первых кодовых блоков (или первых сегментов) может быть обозначен как K+. Размер K+ может быть определен из значений K в таблице 1. Размер K+ может быть определен минимальным значением среди значений K, удовлетворяющих условию, что значение, полученное умножением числа C кодовых блоков на размер K кодовых блоков, больше размера B' измененной входной битовой последовательности.In an example embodiment of the present invention, the size of the first code blocks (or first segments) may be designated as K + . The size of K + can be determined from the values of K in table 1. The size of K + can be determined by the minimum value among the values of K that satisfy the condition that the value obtained by multiplying the number C of code blocks by the size K of code blocks is larger than the size B 'of the changed input bit sequence.

Если число C кодовых блоков равно 1, то число число C+ кодовых блоков, имеющих размер K+, равно 1 и число С- кодовых блоков, имеющих размер K-, равно 0.If the number C of code blocks is 1, then the number of C + number of code blocks having a size of K +, and the number is 1 C - code blocks having a size of K -, 0.

Если число кодовых блоков равно 2 или больше (C>1), размер K- вторых кодовых блоков (или вторых сегментов) может определяться значениями K, показанными в таблице 1. Желательно, чтобы размер K- имел максимальное значение среди значений K, меньших размера K+. Величина изменения Δk для K указывает разность между K+ и K-.If the number of code blocks is 2 or more (C> 1), the size of K - second code blocks (or second segments) can be determined by the values of K shown in Table 1. It is desirable that the size K - have a maximum value among K values smaller than the size K + . The magnitude of the change Δ k for K indicates the difference between K + and K - .

Число C- вторых кодовых блоков, имеющих размер K-, может быть вычислено, округляя в меньшую сторону значение, полученное делением значения, полученного вычитанием размера B' измененной входной битовой последовательности из результата умножения числа C кодовых блоков на размер K+ первых кодовых блоков, на изменение Δk для K.The number of C - second code blocks having a size of K -, can be calculated by rounding down a value obtained by dividing a value obtained by subtracting the size of the B 'modified input bit sequence from the result of multiplying the number of C code block size K + first code blocks, to change Δ k for K.

Число C+ первых кодовых блоков, имеющих размер K+, может быть вычислено, вычитая число C- вторых кодовых блоков из общего числа C кодовых блоков.The number C + of the first code blocks having a size of K + can be calculated by subtracting the number C - of the second code blocks from the total number C of code blocks.

Так как размер L CRC, содержащийся в кодовом блоке, учитывается при вычислении числа C кодовых блоков и размера К кодовых блоков, сумма кодовых блоков может быть больше, чем размер B' измененной входной битовой последовательности. Затем биты заполнителя, соответствующие разности, могут быть добавлены к первому кодовому блоку.Since the size L CRC contained in the code block is taken into account when calculating the number C of code blocks and the size K of code blocks, the sum of the code blocks may be larger than the size B ′ of the changed input bit sequence. Then, the placeholder bits corresponding to the difference can be added to the first code block.

В другом примере варианта осуществления настоящего изобретения длина F битов заполнителя может быть вычислена с помощью разности между размером B' измененной битовой последовательности и значением (C+*K+)+(C-*K-).In another example embodiment of the present invention, the filler bit length F can be calculated using the difference between the changed bit sequence size B 'and the value (C + * K + ) + (C - * K - ).

В таблице 8 показано уравнение конфигурации, созданное с учетом размера CRC.Table 8 shows the configuration equation for the CRC size.

Таблица 8Table 8 СинтаксисSyntax ЗначениеValue ПримечанияNotes for k=0 to F-lfor k = 0 to F-l C0k=<NULL>C 0k = <NULL> end forend for k=Fk = F s=0s = 0 for r=0 to C-lfor r = 0 to C-l if r<C- if r <C - Kr=K- K r = K - elseelse Kr=K+ K r = K + End ifEnd if while (k<Kr-L)while (k <K r -L) crk=bs c rk = b s k=k+1k = k + 1 s=s+1s = s + 1 End whileEnd while if C>1if C> 1 while k<Kr while k <K r crk=pr(Kr-k-l) c rk = p r (Kr-kl) Последовательность cr0, cr1, cr2,…, cr(Kr-L-l) используется для вычисления битов проверки на четность pr0, pr1, pr2,…, pr(L-1) согласно подпункту 5.1.1.The sequence c r0 , c r1 , c r2 , ..., c r (Kr-Ll) is used to calculate the parity bits p r0 , p r1 , p r2 , ..., p r (L-1) according to subclause 5.1.1. k=k+1k = k + 1 end whileend while End ifEnd if k=0k = 0 end forend for

Со ссылкой на таблицу 8, функциональный модуль конфигурирует кодовый блок, вводя кодовый блок размера CRC. Последовательность кодовых блоков cr0, cr1, cr2,…, cr(Kr-1) может использоваться для вычисления битов проверки на четность CRC pr0, pr1, pr2,…, pr(L-1).With reference to table 8, the function module configures the code block by entering a code block of size CRC. The sequence of code blocks c r0 , c r1 , c r2 , ..., c r (Kr-1) can be used to calculate the CRC parity bits p r0 , p r1 , p r2 , ..., p r (L-1) .

В другом примере варианта осуществления настоящего изобретения код обнаружения ошибок, введенный заранее в входной блок данных, может упоминаться как транспортный блок (TB) CRC (или первый код обнаружения ошибок), а код обнаружения ошибок, введенный в кодовые блоки, которые должны сегментироваться, может упоминаться как кодовый блок (СВ) CRC (или второй код обнаружения ошибок). Начальный блок данных перед тем, как TB CRC присоединяется к входным битовым последовательностям, может упоминаться как начальная входная битовая последовательность или транспортный блок. Размер CRC TB может составлять 24 бита.In another example embodiment of the present invention, an error detection code entered in advance in an input data block may be referred to as a transport block (TB) CRC (or first error detection code), and an error detection code entered in code blocks to be segmented may be referred to as a CRC code block (CB) (or second error detection code). The initial data block before the TB CRC is attached to the input bit sequences may be referred to as the initial input bit sequence or transport block. The CRC TB size may be 24 bits.

Если сегментация блока данных в пятом варианте осуществления не выполняется (то есть C=1), первоначально входной блок данных может быть конфигурирован с помощью конечного кодового блока, содержащего CRC TB. Однако, конечный кодовый блок может быть выполнен с возможностью присоединения CRC CB вместо CRC TB в соответствии с требованиям пользователя и вариантами осуществления настоящего изобретения.If segmentation of the data block in the fifth embodiment is not performed (i.e., C = 1), initially the input data block may be configured with a final code block containing CRC TB. However, the final code block may be configured to attach a CRC CB instead of a CRC TB in accordance with user requirements and embodiments of the present invention.

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

Другой пример варианта осуществления настоящего изобретения может быть создан комбинированием способов, описанных в первом-четвертом вариантах осуществления.Another example embodiment of the present invention can be created by combining the methods described in the first to fourth embodiments.

Устройством сегментации блока данных и присоединения CRC, соответствующим другому примеру варианта осуществления настоящего изобретения, является функциональным модулем для сегментации входного блока данных на кодовые блоки надлежащих размеров с учетом кодов обнаружения ошибок (например, кодов CRC), введенных в кодовые блоки, подлежащие сегментации. Если входная битовая последовательность сегментируется на кодовые блоки, размер, который может быть максимально сегментирован, определяется согласно системным требованиям. В примерах вариантов осуществления настоящего изобретения максимальный размер Z кодового блока может составлять 6144 бита.A data block segmentation and CRC attachment device according to another example of an embodiment of the present invention is a functional module for segmenting an input data block into code blocks of appropriate sizes, taking into account error detection codes (e.g., CRC codes) entered into code blocks to be segmented. If the input bit sequence is segmented into code blocks, the size that can be maximally segmented is determined according to system requirements. In exemplary embodiments of the present invention, the maximum code block size Z may be 6144 bits.

Последовательность входных битов (или блок данных), вводимая в функциональный модуль, может быть обозначена b0, b1, b2,…, bB-1. Предполагается, что размер входной битовой последовательности больше 1. Если размер В входной битовой последовательности больше максимального размера Z кодового блока, выполняется сегментация входной битовой последовательности. Размер CRC, который должен присоединяться к кодовым блокам, учитывается при сегментации входной битовой последовательности.The sequence of input bits (or data block) entered into the function module may be designated b 0 , b 1 , b 2 , ..., b B-1 . It is assumed that the size of the input bit sequence is greater than 1. If the size of the input bit sequence is larger than the maximum size Z of the code block, the input bit sequence is segmented. The size of the CRC to be attached to the code blocks is taken into account when segmenting the input bit sequence.

Если длина битов заполнителя не равна 0, биты заполнителя могут добавляться к началу первого кодового блока. Биты заполнителя устанавливаются равными нулю при вводе в функциональный модуль.If the length of the placeholder bits is not 0, the placeholder bits may be added to the beginning of the first code block. The filler bits are set to zero when entering the function module.

Общее число C кодовых блоков, созданных сегментацией входной битовой последовательности, может быть вычислено согласно следующему уравнению 30.The total number C of code blocks created by segmentation of the input bit sequence can be calculated according to the following equation 30.

[Уравнение 30][Equation 30]

If B≤ZIf B≤Z

C=1C = 1

B'=BB '= B

ElseElse

C=[B/(Z-L)]C = [B / (Z-L)]

B'=B+C*LB '= B + C * L

EndEnd

В уравнении 30 B указывает размер входной битовой последовательности (или блока данных) и B' указывает значение, полученное прибавлением размера В входной битовой последовательности с результатом умножения числа C кодовых блоков на длину L кода CRC. Таким образом, B' указывает размер измененной входной битовой последовательности для получения размера К кодового блока.In equation 30, B indicates the size of the input bit sequence (or data block) and B 'indicates the value obtained by adding size B to the input bit sequence with the result of multiplying the number C of code blocks by the length L of the CRC code. Thus, B ′ indicates the size of the modified input bit sequence to obtain a code block size K.

Если число кодовых блоков не равно 0, кодовые блоки, созданные из функционального блока, могут быть обозначены cr0, crl, cr2, cr3,…, cr (Kr-1) (где r указывает номер кодового блока, и Kr указывает размер r-ого кодового блока).If the number of code blocks is not 0, code blocks created from a function block can be denoted c r0 , c rl , c r2 , c r3 , ..., c r (Kr-1) (where r indicates the code block number, and K r indicates the size of the rth code block).

Функциональный модуль должен вычислить размер каждого кодового блока после вычисления числа кодовых блоков в соответствии с уравнением 30. Каждый из кодовых блоков может иметь размер K+ или K-. В этом случае число кодовых блоков не должно равняться 0.The function module must calculate the size of each code block after calculating the number of code blocks in accordance with equation 30. Each of the code blocks may have a size of K + or K - . In this case, the number of code blocks should not be 0.

В примере варианта осуществления настоящего изобретения размер первого кодового блока может быть обозначен K+. Размер K+ может быть определен из значений K в таблице 1. Размер K+ может быть минимальным значением среди значений K, удовлетворяющих условию, что значение, полученное делением размера B' измененной входной битовой последовательности на число C кодовых блоков, больше или равно значениям K.In an example embodiment of the present invention, the size of the first code block may be designated K + . The size of K + can be determined from the values of K in table 1. The size of K + can be the minimum value among the values of K that satisfy the condition that the value obtained by dividing the size B 'of the changed input bit sequence by the number C of code blocks is greater than or equal to the values of K .

Если число C кодовых блоков равно 1, число C+ первых кодовых блоков, имеющих размер K+, равно 1 и число C- вторых кодовых блоков, имеющих размер K-, равно 0.If the number of code blocks is C 1, C + the number of first code blocks having a size of K +, and the number is 1 C - second code blocks having a size of K -, 0.

Если число кодовых блоков равно 2 или больше (C>1), размер K- вторых кодовых блоков может быть установлен равным максимальному значению среди значений K, показанных в таблице 1, которое меньше K+. Величина изменения Δk указывает разность между K+ и K-.If the number of code blocks is 2 or more (C> 1), the size of K - second code blocks can be set equal to the maximum value among the values of K shown in table 1, which is less than K + . The magnitude of the change Δ k indicates the difference between K + and K - .

Число C- вторых кодовых блоков, имеющих размер K-, может быть вычислено, округляя в меньшую сторону значение, полученное делением значения, получаемого вычитанием размера В' измененной битовой последовательности из результата деления числа C кодовых блоков на размер К+ первого кодового блока, на величину изменения Δk для K. Число C+ первых кодовых блоков, имеющих размер K+, может быть вычислено, вычитая число C- вторых кодовых блоков от общего числа C кодовых блоков. Размер L кода CRC может быть установлен равным 24 бита.The number of C - second code blocks having a size of K -, can be calculated by rounding down a value obtained by dividing the value obtained by subtracting the size of the B 'modified bit sequence from the result of dividing the number of C code block size K + of the first code block on the change amount Δ k for K. The number C + of the first code blocks having a size of K + can be calculated by subtracting the number C - second code blocks from the total number C of code blocks. The size L of the CRC code may be set to 24 bits.

Так как размер L кода CRC учитывается при вычислении числа и размера кодовых блоков, размер кодового блока может быть больше, чем размер В' измененной входной битовой последовательности. В этом случае биты заполнителя, соответствующие разности, могут быть добавлены к первому кодовому блоку.Since the size L of the CRC code is taken into account when calculating the number and size of code blocks, the size of the code block may be larger than the size B ′ of the changed input bit sequence. In this case, the placeholder bits corresponding to the difference can be added to the first code block.

В другом примере варианта осуществления настоящего изобретения длина F битов заполнителя может быть вычислена с помощью разности между размером B' измененной входной битовой последовательности и значением (C+*K+)+(C-*K-).In another example embodiment of the present invention, the filler bit length F can be calculated using the difference between the modified input bit sequence size B 'and the value (C + * K + ) + (C - * K - ).

В таблице 9 приведено уравнение конфигурации кодового блока, созданного с учетом размера CRC.Table 9 summarizes the configuration equation for a code block created with CRC size in mind.

Таблица 9Table 9 СинтаксисSyntax ЗначениеValue ПримечанияNotes for k=0 to F-lfor k = 0 to F-l Cok=<NULL>C ok = <NULL> end forend for k=Fk = F s=0s = 0 for r=0 to C-lfor r = 0 to C-l if r<C- if r <C - Kr=K- K r = K - elseelse Kr=K- K r = K - end ifend if while (k<Kr-L)while (k <K r -L) Crk=bs C rk = b s k=k+1k = k + 1 s=s+1s = s + 1 end whileend while if C>1if C> 1 while k<Kr while k <K r Последовательность cr0, cr1, cr2,…, cr(Kr-L-1) используется для вычисления битов проверки на четность кода CRC pr0, pr1, pr2,…, pr(L-1) согласно таблице 1The sequence c r0 , c r1 , c r2 , ..., c r (Kr-L-1) is used to calculate the parity check bits of the CRC code p r0 , p r1 , p r2 , ..., p r (L-1) according to the table one Crk=Pr(Kr-k-1) C rk = P r (Kr-k-1) k=k+1k = k + 1 end whileend while end ifend if k=0k = 0 end forend for

В таблице 9 функциональный модуль конфигурирует кодовый блок, вводя размер кода CRC. Последовательность кодового блока cr0, cr1, cr2,…, cr(Kr-1) может использоваться для вычисления битов pr0, pr1, pr2,…, pr(L-1).In table 9, the function module configures the code block by entering the CRC code size. The code block sequence c r0 , c r1 , c r2 , ..., c r (Kr-1) can be used to calculate the bits p r0 , p r1 , p r2 , ..., p r (L-1) .

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

Другой пример варианта осуществления настоящего изобретения может быть создан комбинированием способов, описанных в первом-четвертом вариантах осуществления.Another example embodiment of the present invention can be created by combining the methods described in the first to fourth embodiments.

Другой пример варианта осуществления настоящего изобретения определяет функциональный модуль для присоединения CRC и сегметации входной битовой последовательности. Функциональный модуль может сегментировать входной блок данных на надлежащее число кодовых блоков с учетом размера кодов обнаружения ошибок (например, кодов CRC), введенных в кодовые блоки, которые должны сегментироваться. Если входная битовая последовательность сегментируется на кодовые блоки, размер Z, на который можно максимально сегментировать, определяется в соответствии с системными требованиями. В примерах вариантов осуществления настоящего изобретения максимальный размер кодового блока может составить 6144 бита.Another example embodiment of the present invention defines a function module for attaching a CRC and segmenting an input bit sequence. The function module may segment the input data block into an appropriate number of code blocks, taking into account the size of the error detection codes (eg, CRC codes) entered into the code blocks to be segmented. If the input bit sequence is segmented into code blocks, the size Z, which can be segmented as much as possible, is determined in accordance with system requirements. In exemplary embodiments of the present invention, the maximum code block size may be 6144 bits.

Кодовые блоки, созданные посредством сегментации входных битовых последовательностей, введенных в функциональный модуль, могут быть обозначены как b0, b1, b2,…, bB-1. Сегментация входных битов может быть выполнена, когда размер B входной битовой последовательности больше максимального размера кодового блока.Code blocks created by segmenting input bit sequences entered into a function module may be denoted as b 0 , b 1 , b 2 , ..., b B-1 . Segmentation of the input bits can be performed when the size B of the input bit sequence is greater than the maximum code block size.

Если размер B входной битовой последовательности не равен 0 и длина битов заполнителя не равна 0, биты заполнителя могут быть добавлены в начало первого кодового блока. Если размер В входной битовой последовательности составляет меньше 40 битов, биты заполнителя добавляются в начало кодового блока. Биты заполнителя установливаются равными нулю.If the size B of the input bit sequence is not 0 and the length of the placeholder bits is not 0, the placeholder bits can be added to the beginning of the first code block. If the size of the input bit sequence is less than 40 bits, placeholder bits are added to the beginning of the code block. Placeholder bits are set to zero.

Число кодовых блоков, созданных сегментацией входных битовых последовательностей, может быть вычислено в соответствии со следующим уравнением 31.The number of code blocks created by segmenting the input bit sequences can be calculated in accordance with the following equation 31.

[Уравнение 31][Equation 31]

If B≤ZIf B≤Z

B'=BB '= B

ElseElse

If [B/Z]*L+B>[B/Z]*Z)If [B / Z] * L + B> [B / Z] * Z)

B'=B+([B/Z]+1)*LB '= B + ([B / Z] +1) * L

ElseElse

B'=B+[B/Z]*LB '= B + [B / Z] * L

EndEnd

C=[B'/Z]C = [B '/ Z]

В уравнении 31, если размер B входной битовой последовательности меньше или равен размеру Z максимального кодового блока, размер B входной битовой последовательности равняется размеру B' измененной входной битовой последовательности. Когда размер B входной битовой последовательности больше размера Z максимального кодового блока, используется следующий способ.In equation 31, if the size B of the input bit sequence is less than or equal to the size Z of the maximum code block, the size B of the input bit sequence is equal to the size B 'of the changed input bit sequence. When the size B of the input bit sequence is larger than the size Z of the maximum code block, the following method is used.

Если значение, полученное прибавлением В к результату умножения L на значение, полученное округлением в большую сторону результата деления В на Z, больше, чем значение, полученное умножением z на значение, полученное округлением в большую сторону результата деления В на Z, размер B' измененной битовой последовательности принимает значение, полученное округлением в большую сторону результата деления В на Z, плюс 1, умноженного на размер L кода CRC плюс размер B блока данных.If the value obtained by adding B to the result of multiplying L by the value obtained by rounding up the result of dividing B by Z is greater than the value obtained by multiplying z by the value obtained by rounding up the result of dividing B by Z, the size of B 'is changed the bit sequence takes the value obtained by rounding up the result of dividing B by Z, plus 1, times the size L of the CRC code plus the size B of the data block.

Согласно упомянутому выше процессу, число C кодовых блоков определяется значением, полученным округлением в большую сторону результата деления размера B' измененной входной битовой последовательности на максимальный размер Z кодового блока. Входные биты, сегментированные функциональным устройством, могут быть обозначены cr0, cr1, cr2, cr3s,…, cr(Kr-1) (где r указывает номер кодового блока, а Kr указывает размер r-ого кодового блока).According to the above process, the number C of code blocks is determined by the value obtained by rounding up the result of dividing the size B 'of the modified input bit sequence by the maximum size Z of the code block. The input bits segmented by the functional device may be designated c r0 , c r1 , c r2 , c r3s , ..., c r (Kr-1) (where r indicates the code block number and K r indicates the size of the rth code block) .

Функциональный модуль должен вычислять размер каждого кодового блока после вычисления числа кодовых блоков, используя уравнение 31. Каждый из кодовых блоков может иметь размер K+ или K-. В этом случае число кодовых блоков не должно быть равно 0.The function module must calculate the size of each code block after calculating the number of code blocks using equation 31. Each of the code blocks may have a size of K + or K - . In this case, the number of code blocks should not be 0.

В примере варианта осуществления настоящего изобретения размер первого кодового блока может быть обозначен K+. Размер K+ может быть определен из значений K таблицы 1. Размер K+ может иметь минимальное значение из числа значений K, удовлетворяющих условию, что значение, полученное делением размера B' на число C кодовых блоков, больше или равно значениям K.In an example embodiment of the present invention, the size of the first code block may be designated K + . The size K + can be determined from the K values of table 1. The size K + can have a minimum value from the number of K values satisfying the condition that the value obtained by dividing the size B 'by the number C of code blocks is greater than or equal to K.

Если число C кодовых блоков равно 1, число C+ первых кодовых блоков, имеющих размер K+, равно 1 и число C- вторых кодовых блоков, имеющих размер K-, равно 0.If the number of code blocks is C 1, C + the number of first code blocks having a size of K +, and the number is 1 C - second code blocks having a size of K -, 0.

Если число кодовых блоков равно 2 или больше (C>1), размер K- вторых кодовых блоков может определяться максимальным значением среди значений K, показанных в таблице 1, которое меньше, чем K+. Величина изменения Δk для K указывает разность между K+ и K-.If the number of code blocks is 2 or more (C> 1), the size of the K-second code blocks can be determined by the maximum value among the values of K shown in table 1, which is less than K + . The magnitude of the change Δk for K indicates the difference between K + and K - .

Число C- вторых кодовых блоков, имеющих размер K-, может быть вычислено, округляя в меньшую сторону значение, полученное делением значения, полученного вычитанием размера B' измененной входной битовой последовательности из результата деления числа C кодовых блоков на размер K+ первых кодовых блоков, на величину изменения Δk для K. Число C+ первых кодовых блоков, имеющих размер K+, может быть вычислено, вычитая число C- вторых кодовых блоков из общего числа C кодовых блоков. Размер L битов проверки на четность CRC может быть установлен равным 24 битам.The number of C - second code blocks having a size of K -, can be calculated by rounding down a value obtained by dividing a value obtained by subtracting the size of the B 'modified input bit sequence from the result of dividing the number of C code block size K + first code blocks, by the change amount Δ k for K. The number C + of the first code blocks having size K + can be calculated by subtracting the number C - second code blocks from the total number C of code blocks. The size of the CRC parity check bits L may be set to 24 bits.

Так как размер L для CRC учитывается при вычислении числа и размера кодовых блоков, размер кодовых блоков может быть больше, чем размер B' измененной входной битовой последовательности. Тогда, в соответствии с разностью, к первому кодовому блоку могут быть добавлены биты заполнителя.Since the size L for CRC is taken into account when calculating the number and size of code blocks, the size of code blocks may be larger than the size B 'of the changed input bit sequence. Then, in accordance with the difference, filler bits may be added to the first code block.

В другом примере варианта осуществления настоящего изобретения длина F битов заполнителя может быть вычислена по разности между размером B' измененной входной битовой последовательности и значением (C+*K+)+(C-*K-).In another example embodiment of the present invention, the length F of the filler bits can be calculated by the difference between the size B ′ of the changed input bit sequence and the value (C + * K + ) + (C - * K - ).

В таблице 10 показано уравнение конфигурации кодового блока, созданного с учетом размера CRC.Table 10 shows the configuration equation for a code block created with CRC size in mind.

Таблица 10Table 10 СинтаксисSyntax ЗначениеValue ПримечанияNotes for k=0 to F-lfor k = 0 to F-l C0k=<NULL>C 0k = <NULL> end forend for k=Fk = F s=0s = 0 for r=0 to C-lfor r = 0 to C-l if r<C- if r <C - Kr=K- K r = K - elseelse Kr=K+ K r = K + end ifend if if(C>1)if (C> 1) Kr=Kr-LK r = K r -L endend while k<Kr while k <K r Crk=bs C rk = b s k=k+1k = k + 1 s=s+1s = s + 1 end whileend while k=0k = 0 end forend for

Из таблицы 10 может быть понятно, что функциональный модуль конфигурирует кодовые блоки путем сегментации входных битов с учетом размера CRC.From table 10 it can be understood that the function module configures the code blocks by segmenting the input bits based on the size of the CRC.

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

Другой пример варианта осуществления настоящего изобретения может быть создан комбинацией способов, описанных в первом-четвертом вариантах осуществления.Another example embodiment of the present invention can be created by a combination of methods described in the first to fourth embodiments.

Данные большого размера перед передачей могут быть сегментированы на данные надлежащих размеров в соответствии с системными требованиями, чтобы эффективно передавать данные. Соответственно, необходимо сегментировать входной блок данных соответствующим способом. Может быть важным определить, какой способ должен использоваться для сегментации блока данных.Large data before transmission can be segmented into data of the appropriate size in accordance with system requirements in order to efficiently transmit data. Accordingly, it is necessary to segment the input data block in an appropriate manner. It may be important to determine which method should be used to segment the data block.

Устройство сегментации блока данных и присоединения CRC, соответствующее другому примеру варианта осуществления настоящего изобретения, образует один функциональный модуль. Функциональный модуль сегментирует входной блок данных на надлежащее число кодовых блоков с учетом размера кодов обнаружения ошибок (например, коды CRC), введенных в кодовые блоки, которые должны сегментироваться. Если входная битовая последовательность сегментируется на кодовые блоки, размер, на который можно максимально сегментировать, определяется в соответствии с системными требованиями. В примерах вариантов осуществления настоящего изобретения максимальный размер кодового блока может составлять 6144 битов.A CRC data block segmentation and attachment device, according to another example of an embodiment of the present invention, forms one functional module. The function module segments the input data block into an appropriate number of code blocks based on the size of the error detection codes (eg, CRC codes) entered into the code blocks to be segmented. If the input bit sequence is segmented into code blocks, the size by which you can segment as much as possible is determined in accordance with system requirements. In exemplary embodiments of the present invention, the maximum code block size may be 6144 bits.

Входная битовая последовательность (или блок данных), вводимая в функциональный модуль, может быть обозначена как b0, b1, b2,…, bB-1. Размер входной битовой последовательности может быть обозначен как "В" (где B больше 1). Если размер B входной битовой последовательности больше, чем максимальная длина Z кодового блока, входная битовая последовательность может быть сегментирована с учетом размера кода CRC. Размер кода CRC может составлять 24 бита. А именно, 24-битовый код CRC, который является одним из типов кода обнаружения ошибок, может быть присоединен к каждому кодовому блоку, созданному посредством сегментации входной битовой последовательности.The input bit sequence (or data block) entered into the function module may be designated as b 0 , b 1 , b 2 , ..., b B-1 . The size of the input bit sequence may be indicated as “B” (where B is greater than 1). If the size B of the input bit sequence is larger than the maximum length Z of the code block, the input bit sequence can be segmented based on the size of the CRC code. The CRC code size can be 24 bits. Namely, a 24-bit CRC code, which is one type of error detection code, can be attached to each code block created by segmenting an input bit sequence.

Если длина битов заполнителя не равна 0, биты заполнителя могут быть добавлены в начало первого кодового блока. Если размер B входной битовой последовательности меньше 40 битов, биты заполнителя добавляются в начало кодового блока. Биты заполнителя устанавливаются равными нулю.If the length of the placeholder bits is not 0, the placeholder bits may be added to the beginning of the first code block. If the size B of the input bit sequence is less than 40 bits, placeholder bits are added to the beginning of the code block. Placeholder bits are set to zero.

Число C кодовых блоков, создаваемых при сегментации входных битов, может быть вычислено согласно следующему уравнению 32.The number C of code blocks generated by segmenting the input bits can be calculated according to the following equation 32.

[Уравнение 32][Equation 32]

C=[B/(Z-L)]C = [B / (Z-L)]

B'=B+C*LB '= B + C * L

В уравнении 32 "B" указывает размер входной битовой последовательности (или блока данных) и размер В' измененной входной битовой последовательности получается прибавлением размера В входной битовой последовательности к результату умножения числа C кодовых блоков на размер L кода CRC.In equation 32, “B” indicates the size of the input bit sequence (or data block) and the size B ′ of the modified input bit sequence is obtained by adding the size B of the input bit sequence to the result of multiplying the number C of code blocks by the size L of the CRC code.

А именно, размер В' измененной входной битовой последовательности является временным значением для вычисления числа и размера кодовых блоков.Namely, the size B ′ of the modified input bit sequence is a temporary value for calculating the number and size of code blocks.

Если число кодовых блоков не равно 0, кодовые блоки, созданные функциональным устройством, могут быть обозначены cr0, cr1, cr2, cr3,…, cr(Kr-1) (где r указывает номер кодового блока и Kr указывает размер r-ого кодового блока).If the number of code blocks is not 0, the code blocks created by the functional device can be denoted c r0 , c r1 , c r2 , c r3 , ..., c r (Kr-1) (where r indicates the code block number and K r indicates size of the rth code block).

Функциональный модуль должен вычислить размер каждого кодового блока после вычисления числа кодовых блоков согласно уравнению 32. Каждый из кодовых блоков может иметь размер K+ или K-. В этом случае число кодовых блоков должно быть больше 1.The function module must calculate the size of each code block after calculating the number of code blocks according to equation 32. Each of the code blocks may have a size of K + or K - . In this case, the number of code blocks must be greater than 1.

В примере варианта осуществления настоящего изобретения размер первого кодового блока может быть обозначен K+. Размер K+ может быть определен из значений K в таблице 1. Размер K+ может иметь минимальное значение среди значений K, удовлетворяющих условию, что значение, полученное делением размера B' измененной входной битовой последовательности на число C кодовых блоков, больше или равно значениям K. Если число C кодовых блоков равно 1, число C+ первых кодовых блоков, имеющих размер K+, равно 1 и число C- вторых кодовых блоков, имеющих размер K-, равно 0.In an example embodiment of the present invention, the size of the first code block may be designated K + . The K + size can be determined from the K values in Table 1. The K + size can have a minimum value among K values satisfying the condition that the value obtained by dividing the size B 'of the changed input bit sequence by the number C of code blocks is greater than or equal to K values . If the number of code blocks is C 1, C + the number of first code blocks having a size of K +, and the number is 1 C - second code blocks having a size of K -, 0.

Если число кодовых блоков равно 2 или больше (C>1), размер K- вторых кодовых блоков может определяться максимальным значением среди значений K, указанных в таблице 1, которые меньше K+. Величина изменения Δk для K указывает разность между K+ и K-.If the number of code blocks is 2 or more (C> 1), the size of K - second code blocks can be determined by the maximum value among the values of K shown in table 1 that are less than K + . The magnitude of the change Δ k for K indicates the difference between K + and K - .

Число C- вторых кодовых блоков, имеющих размер K, может быть вычислено, округляя в меньшую сторону значение, полученное делением значения, полученного вычитанием размера В' измененной входной битовой последовательности из результата деления числа C кодовых блоков на размер К+ первых кодовых блоков, на величину изменения Δk для К. Число C+ первых кодовых блоков, имеющих размер K+, может быть вычислено, вычитая число C- вторых кодовых блоков из общего числа C кодовых блоков.The number of C - second code blocks having a size of K, can be calculated by rounding down a value obtained by dividing a value obtained by subtracting the size of the B 'modified input bit sequence from the result of C code blocks dividing the size of K + first code blocks, on the change amount Δ k for K. The number C + of the first code blocks having a size K + can be calculated by subtracting the number C - second code blocks from the total number C of code blocks.

Так как размер L кода CRC учитывается для вычисления числа и размера кодовых блоков, размер кодового блока может быть больше, чем размер В' измененной входной битовой последовательности. Тогда к первому кодовому блоку могут быть добавлены биты заполнителя, соответствующие разнице.Since the size L of the CRC code is taken into account to calculate the number and size of code blocks, the size of the code block may be larger than the size B ′ of the changed input bit sequence. Then, filler bits corresponding to the difference can be added to the first code block.

В другом примере варианта осуществления настоящего изобретения длина F битов заполнителя может быть вычислена с помощью разности между размером В' измененной входной битовой последовательности и значением (C+*K+)+(C-*K-).In another example embodiment of the present invention, the length F of the filler bits can be calculated using the difference between the size B ′ of the changed input bit sequence and the value (C + * K + ) + (C - * K - ).

В таблице 11 показано уравнение конфигурации кодового блока, созданного с учетом размера CRC.Table 11 shows the configuration equation for a code block created with CRC size in mind.

Таблица 11Table 11 СинтаксисSyntax ЗначениеValue ПримечанияNotes for k=0 to F-lfor k = 0 to F-l C0k=<NULL>C 0k = <NULL> end forend for k=Fk = F s=0s = 0 for r=0 to C-lfor r = 0 to C-l if r<C- if r <C - Kr=K- K r = K - elseelse Kr=K+ K r = K + end ifend if while (k<Kr-L)while (k <K r -L) crk=bs c rk = b s k=k+1k = k + 1 s=s+1s = s + 1 end whileend while if C>1if C> 1 while k<Kr while k <K r crk=pr(Kr-k-l) c rk = p r (Kr-kl) Последовательность cr0, cr1, cr2,…, cr(Kr-L-l) используется для вычисления битов проверки на четность CRC pr0, pr1, pr2,…, pr(L-1) согласно таблице 1The sequence c r0 , c r1 , c r2 , ..., c r (Kr-Ll) is used to calculate the CRC parity bits p r0 , p r1 , p r2 , ..., p r (L-1) according to table 1 K=k+1K = k + 1 end whileend while End ifEnd if K=0K = 0 end forend for

Из таблицы 11 можно понять, что функциональное устройство конфигурирует кодовые блоки с учетом размера CRC. В таблице 11 последовательность кодовых блоков cr0, cr1, cr2,…, cr(Kr-1) может использоваться для вычисления битов проверки на четность CRC pr0, pr1, pr2,…,pr(L-1).From table 11 it can be understood that the functional device configures the code blocks based on the size of the CRC. In table 11, a sequence of code blocks c r0 , c r1 , c r2 , ..., c r (Kr-1) can be used to calculate the parity check bits CRC p r0 , p r1 , p r2 , ..., p r (L-1 )

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

Другой пример варианта осуществления настоящего изобретения может быть создан комбинацией способов, описанных в первом-четвертом вариантах осуществления.Another example embodiment of the present invention can be created by a combination of methods described in the first to fourth embodiments.

Способ, соответствующий девятому варианту осуществления, подобен способу, описанному в восьмом варианте осуществления. То есть, способ вычисления числа кодовых блоков, созданных при сегментации входной битовой последовательности, может использовать способ, описанный в восьмом варианте осуществления. Дополнительно, способы вычисления битов заполнителя, размера кодовых блоков, числа кодовых блоков подобны способам, описанным в восьмом варианте осуществления. Здесь далее будут описаны только отличающиеся части способа конфигурирования сегментированных кодовых блоков.The method according to the ninth embodiment is similar to the method described in the eighth embodiment. That is, a method for calculating the number of code blocks created by segmenting an input bit sequence can use the method described in the eighth embodiment. Further, methods for calculating the filler bits, code block size, number of code blocks are similar to the methods described in the eighth embodiment. Hereinafter, only the differing parts of the method for configuring segmented code blocks will be described.

Приведенная ниже таблица 12 показывает уравнение конфигурации кодового блока, созданного с учетом размера CRC.The following table 12 shows the equation of the configuration of the code block created taking into account the size of the CRC.

Таблица 12Table 12 СинтаксисSyntax ЗначениеValue ПримечанияNotes for k=0 to F-lfor k = 0 to F-l C0k=<NULL>C 0k = <NULL> end forend for k=Fk = F s=0s = 0 for r=0 to C-1for r = 0 to C-1 if r<C- if r <C - Kr=K- K r = K - elseelse Kr=K+ K r = K + end ifend if while k<Kr while k <K r if (k<Kr-L)if (k <K r -L) Crk=bs C rk = b s s=s+1s = s + 1 ElseElse Crk=pr(Kr-k-l) C rk = p r (Kr-kl) Последовательность cr0, cr1,cr2,…,cr(Kr-L-1) используется для вычисления битов проверки на четность кода CRC pr0, pr1, pr2,…, pr(L-1) согласно таблице 1.The sequence c r0 , c r1 , c r2 , ..., c r (Kr-L-1) is used to calculate the parity check bits of the CRC code p r0 , p r1 , p r2 , ..., p r (L-1) according to the table one. end ifend if k=k+1k = k + 1 end whileend while k=0k = 0 end forend for

Из таблицы 12 может быть понятно, что функциональный модуль конфигурирует кодовые блоки с учетом размера кода CRC. В таблице 12 последовательность кодовых блоков cr0, cr1,cr2,…, cr(Kr-L-1) может быть использована для вычисления битов проверки на четность кода CRC pr1, pr2,…, pr(L-1).From table 12 it can be understood that the function module configures the code blocks based on the size of the CRC code. In table 12, a sequence of code blocks c r0 , c r1 , c r2 , ..., c r (Kr-L-1) can be used to calculate the CRC parity check bits p r1 , p r2 , ..., p r (L- 1) .

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

Другой пример варианта осуществления настоящего изобретения может быть выполнен с возможностью комбинирования способов, описанных в первом-четвертом вариантах осуществления.Another example embodiment of the present invention may be configured to combine the methods described in the first to fourth embodiments.

Десятый вариант осуществления подобен пятому варианту осуществления. Способы вычисления числа кодовых блоков, размера кодовых блоков и длины битов заполнителя такие же, как способы, описанные в пятом варианте осуществления. Однако способ распределения данных по каждому кодовому блоку и одновременного присоединения кодов обнаружения ошибок отличается от способа, описанного в пятом варианте осуществления.The tenth embodiment is similar to the fifth embodiment. The methods for calculating the number of code blocks, code block size, and placeholder bit lengths are the same as those described in the fifth embodiment. However, the method of distributing data for each code block and simultaneously attaching error detection codes is different from the method described in the fifth embodiment.

Приведенная ниже таблица 13 показывает уравнение конфигурации кодового блока, созданного с учетом размера CRC.The following table 13 shows the configuration equation of the code block created taking into account the size of the CRC.

Таблица 13Table 13 СинтаксисSyntax ЗначениеValue ПримечанияNotes for k=0 to F-lfor k = 0 to F-l Cok=<NULL>C ok = <NULL> end forend for k=Fk = F s=0s = 0 for r=0 to C-lfor r = 0 to C-l if r<C- if r <C - Kr=K- K r = K - elseelse Kr=K+ K r = K + End ifEnd if while (k<Kr-L)while (k <K r -L) Crk=bs C rk = b s k=k+1k = k + 1 s=s+1s = s + 1 End whileEnd while if C>1if C> 1 While k<Kr While k <K r Последовательность cr0, cr1, cr2,…, cr(Kr-L-l) используется для вычисления битов проверки на четность CRC pro, pr1, pr2,…, pr(L-1) в соответствии с подпунктом
5.1.1 с помощью генератора полинома gCRCB (D). Для вычисления подразумевается, что биты заполнителя, если присутствуют, имеют значение 0.
The sequence c r0 , c r1 , c r2 , ..., c r (Kr-Ll) is used to calculate the parity check bits CRC p ro , p r1 , p r2 , ..., p r (L-1) in accordance with subclause
5.1.1 using the gCRCB (D) polynomial generator. For calculation, it is assumed that the placeholder bits, if present, are set to 0.
Crk=pr(k+L-Kr) C rk = p r (k + L-Kr) k=k+1k = k + 1 end whileend while End ifEnd if k=0k = 0 end forend for

Основополагающее описание в сочетании с таблицей 13 подобно описанию, сделанному в сочетании с таблицей 8. Поэтому повторяющиеся части можно посмотреть в описании в таблице 8.The fundamental description in conjunction with table 13 is similar to the description made in conjunction with table 8. Therefore, the repeating parts can be seen in the description in table 8.

В таблице 13, если число С кодовых блоков больше 1, биты проверки на четность CRC присоединяются к каждому кодовому блоку. Последовательность кодовых блоков cr0, cr1, cr2,…, cr(Kr-1) может использоваться для вычисления битов проверки на четность CRC pr0, pr1, pr2,…, pr(L-1). Биты проверки на четность CRC могут присоединяться в места битов проверки на четность CRC, содержащиеся в кодовых блоках в прямом или обратном порядке. В примере варианта осуществления настоящего изобретения предполагается, что биты проверки на четность CRC присоединяются в прямом порядке.In table 13, if the number C of code blocks is greater than 1, the CRC parity check bits are attached to each code block. The sequence of code blocks c r0 , c r1 , c r2 , ..., c r (Kr-1) can be used to calculate the CRC parity bits p r0 , p r1 , p r2 , ..., p r (L-1) . The CRC parity check bits may be appended to the places of the CRC parity check bits contained in the code blocks in direct or reverse order. In an example embodiment of the present invention, it is assumed that the CRC parity bits are joined in a direct order.

Уравнение 33 показывает присоединение битов проверки на четность CRC в прямом порядке.Equation 33 shows the concatenation of the CRC parity bits in direct order.

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

If C>1If C> 1

while k<Kr while k <K r

Crk=Pr(k+L-Kr) C rk = P r (k + L-Kr)

k=k+1k = k + 1

end whileend while

end ifend if

В уравнении 33 биты проверки на четность CRC (pr(k+L-Kr)), введенные в кодовые блоки, присоединяются в прямом порядке. А именно, код CRC вводится после того, как данные вводятся в один кодовый блок, и код CRC вводится после того, как данные вводятся в другой кодовый блок. С помощью этих процессов данные и код CRC одновременно распределяются по кодовым блокам.In equation 33, the CRC parity bits (p r (k + L-Kr) ) entered into the code blocks are concatenated. Namely, the CRC code is entered after the data is entered into one code block, and the CRC code is entered after the data is entered into the other code block. Using these processes, data and CRC code are simultaneously distributed across code blocks.

На фиг.8 показана блок-схема последовательности выполнения операций процесса сегментации блока данных с учетом размера CRC в соответствии с вариантом осуществления настоящего изобретения.FIG. 8 is a flowchart illustrating a data block segmentation process taking into account a CRC size in accordance with an embodiment of the present invention.

Данные большого размера могут сегментироваться перед передачей на данные надлежащих размеров согласно системным требованиям, чтобы данные могли быть эффективно переданы. Соответственно, необходимо сегментировать входной блок данных соответствующим способом. Может быть важным определить, какой способ должен использоваться для сегментации блока данных.Large data can be segmented before being transferred to data of the appropriate size according to system requirements so that the data can be transferred efficiently. Accordingly, it is necessary to segment the input data block in an appropriate manner. It may be important to determine which method should be used to segment the data block.

Логическое устройство сегментации блока данных и присоединения CRC в соответствии с вариантом осуществления настоящего изобретения состоит из функционального модуля для сегментации входного блока данных, который должен сегментироваться с учетом размера кодов обнаружения ошибок (например, кодов CRC), введенных в кодовые блоки. Однако, когда входная битовая последовательность сегментируется на кодовые блоки, размер, на который можно максимально сегментировать, может быть определен согласно системным требованиям.The data block segmentation and CRC attachment logic in accordance with an embodiment of the present invention consists of a function module for segmenting an input data block, which should be segmented based on the size of error detection codes (e.g., CRC codes) entered into the code blocks. However, when an input bit sequence is segmented into code blocks, a size that can be segmented as much as possible can be determined according to system requirements.

Блок данных может заранее содержать в себе код CRC. Начальный блок данных перед тем, как код CRC присоединяется к блоку данных, может упоминаться как начальная входная битовая последовательность или транспортный блок. Транспортный блок может означать данные, передаваемые с верхнего уровня.The data block may contain a CRC code in advance. The initial data block before the CRC code is attached to the data block, may be referred to as the initial input bit sequence or transport block. A transport block may mean data transmitted from a higher layer.

Со ссылкой на фиг.8, блок данных, имеющий размер В, вводится в функциональный модуль (этап S801). Блок данных может содержать первый код CRC, указывающий код обнаружения ошибок для входной битовой последовательности.With reference to FIG. 8, a data block having a size B is input to the function module (step S801). The data block may comprise a first CRC code indicating an error detection code for an input bit sequence.

Функциональный модуль сравнивает размер В блока данных (или входной битовой последовательности) с максимальным размером Z кодового блока (этап S802).The function module compares the size B of the data block (or input bit sequence) with the maximum size Z of the code block (step S802).

Если размер B блока данных больше максимального размера Z кодового блока на этапе S802, функциональный модуль вычисляет число C кодовых блоков, на которое сегментируется входной блок данных с учетом размера кода CRC, который должен присоединяться к кодовым блокам (этап S803).If the data block size B is greater than the maximum code block size Z in step S802, the function module calculates the number C of code blocks into which the input data block is segmented based on the size of the CRC code to be connected to the code blocks (step S803).

После вычисления на этапе S803 числа C кодовых блоков функциональный модуль вычисляет размер K+ или K- каждого кодового блока (этап S804).After calculation in step S803 the number of code blocks C functional unit calculates the size of K + or K - each code block (step S804).

Размер каждого кодового блока может быть вычислен на этапе S804 различными способами. А именно, могут использоваться способы вычисления размера каждого кодового блока, описанные в первом-девятом вариантах осуществления настоящего изобретения. Как пример, размер каждого кодового блока может вычисляться, используя размер B' измененной входной битовой последовательности.The size of each code block can be calculated in step S804 in various ways. Namely, methods for calculating the size of each code block described in the first to ninth embodiments of the present invention can be used. As an example, the size of each code block can be calculated using the size B 'of the modified input bit sequence.

После вычисления числа и размера кодовых блоков с учетом размера CRC функциональный модуль вычисляет длину битов заполнителя, вычитая размер B' измененной входной битовой последовательности из размера кодового блока (этап S805).After calculating the number and size of code blocks based on the size of the CRC, the function module calculates the bit length of the filler by subtracting the size B ′ of the changed input bit sequence from the size of the code block (step S805).

После вычисления числа и размера кодовых блоков на этапах S803-S805 функциональный модуль распределяет данные и второй код CRC (этап S806). Второй код CRC отличается по функции от первого кода CRC, введенного в блок данных. Первый код CRC является кодом обнаружения ошибок для блока данных, а второй код CRC является кодом обнаружения ошибок для кодовых блоков, на которые сегментирован блок данных.After calculating the number and size of code blocks in steps S803-S805, the function module distributes the data and the second CRC code (step S806). The second CRC code differs in function from the first CRC code entered in the data block. The first CRC code is the error detection code for the data block, and the second CRC code is the error detection code for the code blocks into which the data block is segmented.

Если размер B блока данных не больше максимального размера Z кодового блока на этапе S802, нет необходимости сегментировать блок данных. То есть, число C кодовых блоков устанавливается равным 1 и этапы вычисления размера кодового блоки и длины битов заполнителя отсутствуют. Соответственно, данные могут непосредственно распределяться (этап S807) во входной блок данных. В это время может использоваться первый код CRC, содержащийся в блоке данных, и второй код CRC вновь не присоединяется.If the data block size B is not larger than the maximum code block size Z in step S802, there is no need to segment the data block. That is, the number C of code blocks is set to 1, and there are no steps for calculating the code block size and placeholder bits. Accordingly, data can be directly allocated (step S807) to an input data unit. At this time, the first CRC code contained in the data block may be used, and the second CRC code is not reattached.

На фиг.9 показана блок-схема последовательности выполнения операций процесса вычисления числа C кодовых блоков в соответствии с вариантом осуществления настоящего изобретения.FIG. 9 is a flowchart of a process for calculating the number C of code blocks in accordance with an embodiment of the present invention.

Этапы S901 и S902 на фиг.9 подобны этапам S801 и S802 на фиг.8 и поэтому их описание будет пропущено.Steps S901 and S902 in FIG. 9 are similar to steps S801 and S802 in FIG. 8 and therefore, a description thereof will be omitted.

Со ссылкой на фиг.9, если размер B блока данных больше максимального размера Z кодового блока на этапе S902, число c кодовых блоков вычисляется, округляя в большую сторону значение, полученное делением размера В блока данных на результат вычитания размера L для второго кода CRC из максимального размера Z кодового блока (этап S903).Referring to FIG. 9, if the data block size B is greater than the maximum code block size Z in step S902, the number c of code blocks is calculated by rounding up the value obtained by dividing the data block size B by the result of subtracting the size L for the second CRC code from the maximum size Z of the code block (step S903).

Если размер B блока данных не больше максимального размера Z кодового блока на этапе S902, нет необходимости сегментировать входной блок данных и число C кодовых блоков устанавливается равным 1 (этап S904).If the data block size B is not larger than the maximum code block size Z in step S902, there is no need to segment the input data block and the number C of code blocks is set to 1 (step S904).

На фиг.10 показана блок схема последовательности выполнения операций процесса сегментации блока данных, использующего измененный размер входной битовой последовательности в соответствии с вариантом осуществления настоящего изобретения.10 is a flowchart illustrating a segmentation process of a data block using a modified input bit sequence size in accordance with an embodiment of the present invention.

Данные большого размера перед передачей могут быть сегментированы на данные надлежащих размеров согласно системным требованиям, чтобы данные передавались эффективно. Соответственно, необходимо сегментировать входной блок данных соответствующим способом. Может быть важным определить, какой способ должен использоваться для сегментации блока данных.Large data before transmission can be segmented into data of the appropriate size according to system requirements so that the data is transferred efficiently. Accordingly, it is necessary to segment the input data block in an appropriate manner. It may be important to determine which method should be used to segment the data block.

Логическое устройство сегментации блока данных и присоединения кода CRC в соответствии с вариантом осуществления настоящего изобретения состоит из одного функционального модуля. Функциональный модуль сегментирует входной блок данных на надлежащее число кодовых блоков и прибавляет данные, вычисляя размер каждого кодового блока.The logical unit for segmenting a data block and attaching a CRC code in accordance with an embodiment of the present invention consists of one functional module. The function module segments the input data block into an appropriate number of code blocks and adds data by calculating the size of each code block.

Со ссылкой на фиг.10, если блок данных (то есть, входная битовая последовательность) вводится в функциональный модуль, функциональный модуль вычисляет число C кодовых блоков, на которые сегментирован блок данных (этап S1001). Блок данных может содержать первый код CRC, указывающий код обнаружения ошибок для входной битовой последовательности.With reference to FIG. 10, if a data block (i.e., an input bit sequence) is input into the function module, the function module calculates the number C of code blocks into which the data block is segmented (step S1001). The data block may comprise a first CRC code indicating an error detection code for an input bit sequence.

После вычисления числа C кодовых блоков функциональный модуль вычисляет размер B' измененной входной битовой последовательности для получения размера K каждого кодового блока (этап S1002).After calculating the number C of code blocks, the function module calculates the size B ′ of the changed input bit sequence to obtain the size K of each code block (step S1002).

На этапе S1002 размер B' измененной входной битовой последовательности может быть вычислен прибавлением размера B блока данных с результатом умножения числа C кодовых блоков на размер L вторых кодов CRC, которые должны присоединяться к кодовому блоку. Измененный размер входной битовой последовательности используется для вычисления размера K каждого кодового блока.In step S1002, the size B ′ of the changed input bit sequence can be calculated by adding the size B of the data block by multiplying the number C of code blocks by the size L of the second CRC codes to be attached to the code block. The modified size of the input bit sequence is used to calculate the size K of each code block.

Кодовый блок может состоять из первых кодовых блоков и вторых кодовых блоков. Размер K+ первых кодовых блоков и размер K- вторых кодовых блоков не являются фиксированными значениями и изменяются в соответствии с системными требованиями. Размер K указывает размер каждого кодового блока, когда кодовые блоки имеют фиксированный размер.A code block may consist of first code blocks and second code blocks. The size K + of the first code blocks and the size K - of the second code blocks are not fixed values and vary in accordance with system requirements. The size K indicates the size of each code block when the code blocks have a fixed size.

После того, как на этапе S1002 вычислен размер B' измененной входной битовой последовательности, размер K+ первых кодовых блоков может быть вычислен, используя минимальное значение среди значений k, указанных в таблице 1. Однако значения K должны быть больше значения, полученного делением размера В' измененной входной битовой последовательности на число C кодовых блоков (этап S1003).After the modified input bit sequence size B ′ is calculated in step S1002, the K + size of the first code blocks can be calculated using the minimum value among the k values shown in Table 1. However, the K values must be larger than the value obtained by dividing the size B 'of the changed input bit sequence by the number C of code blocks (step S1003).

Если размер K+ первых кодовых блоков определен, размер K-вторых кодовых блоков вычисляется, используя максимальное число из значений K, указанных в таблице 1. Однако значения K для вычисления размера K- вторых кодовых блоков должны быть максимальным значением среди значений, меньших, чем размер K+ первых кодовых блоков (этап S1004).If the size K + of the first code blocks is determined, the size of K - second code blocks is calculated using the maximum number of K values shown in table 1. However, the K values for calculating the size of K - second code blocks must be the maximum value among values smaller than size K + of the first code blocks (step S1004).

Функциональный модуль может вычислить число C- вторых кодовых блоков, используя размер К+ первых кодовых блоков и размер B' измененной входной битовой последовательности. Функциональный модуль вычисляет значение разности Δk между размером K+ первых кодовых блоков и размером К- вторых кодовых блоков. Функциональный модуль вычисляет число C- вторых кодовых блоков, округляя в меньшую сторону значение, полученное делением значения числа C кодовых блоков, умноженного на размер первых кодовых блоков минус размер измененной входной последовательности, на значение разности Δk (этап S1005).Function Module can compute the number of C - second code blocks using the size of K + first code block and the size B 'modified input bit sequence. The function module calculates the difference Δ k between the size K + of the first code blocks and the size K - of the second code blocks. Function module calculates the number C - second code blocks, rounding down a value obtained by dividing the number of code blocks C, multiplied by the first code block size minus the size of the modified input sequence to the difference value Δ k (step S1005).

Число C+ первых кодовых блоков вычисляется, вычитая число C- вторых кодовых блоков от общего числа C кодовых блоков (этап S1006).The number C + of the first code blocks is calculated by subtracting the number C - second code blocks from the total number C of code blocks (step S1006).

Соответствующий размер кодовых блоков, сегментированных из входной битовой последовательности, может быть вычислен, используя способ, описанный со ссылкой на фиг.10. Более подробно, размер каждого кодового блока может быть вычислен, используя размер измененной входной битовой последовательности, даже когда размер каждого кодового блока различен согласно системным требованиям, а также, когда кодовые блоки имеют фиксированный размер.The corresponding size of the code blocks segmented from the input bit sequence can be calculated using the method described with reference to FIG. 10. In more detail, the size of each code block can be calculated using the size of the modified input bit sequence, even when the size of each code block is different according to system requirements, as well as when the code blocks have a fixed size.

На фиг.11 показана схема процесса преобразования блока данных в кодовые блоки, когда число C кодовых блоков равно 1 в соответствии с вариантом осуществления настоящего изобретения.11 is a flow diagram of a process for converting a data block into code blocks when the number C of code blocks is 1 in accordance with an embodiment of the present invention.

Данные большого размера перед передачей могут сегментироваться на данные надлежащих размеров согласно системным требованиям. Соответственно, необходимо соответствующим способом сегментировать входной блок данных. Может быть важным определить, какой способ должен использоваться для сегментации блока данных.Large data before being transferred can be segmented into data of appropriate size according to system requirements. Accordingly, it is necessary to segment the input data block in an appropriate way. It may be important to determine which method should be used to segment the data block.

Логическое устройство сегментации блока данных и присоединения CRC в соответствии с вариантом осуществления настоящего изобретения состоит из одного функционального модуля для сегментации входного блока данных, учитывающего размер кода обнаружения ошибок (например, кода CRC), вводимого в кодовые блоки, на которые сегментируется входная битовая последовательность.The CRC data block segmentation and attachment logic in accordance with an embodiment of the present invention consists of one function module for segmenting the input data block, taking into account the size of the error detection code (e.g., CRC code) entered into the code blocks into which the input bit sequence is segmented.

Однако максимальный размер сегментации может быть определен в соответствии с системными требованиями, когда входная битовая последовательность сегментируется на кодовые блоки. Описание будет дано для способа обработки данных, когда размер B входной битовой последовательности меньше или равен максимальному размеру Z кодовых блоков.However, the maximum segmentation size can be determined in accordance with system requirements when the input bit sequence is segmented into code blocks. A description will be given for a data processing method when the size B of the input bit sequence is less than or equal to the maximum size Z of code blocks.

На фиг.11 показан процесс преобразования входной битовой последовательности 1100, введенной в функциональный модуль (устройство присоединения CRC и устройство 1120 сегментации входной битовой последовательности), в кодовый блок 1140. Более подробно, входные биты 1100 вводятся в функциональный модуль 1120. Входные биты 1100 могут содержать первый код CRC, указывающий код обнаружения ошибок для входных битов 1100.11 shows a process for converting an input bit sequence 1100 input to a function module (a CRC attachment device and an input bit sequence segmentation device 1120) into a code block 1140. In more detail, the input bits 1100 are input to the function module 1120. The input bits 1100 can comprise a first CRC code indicating an error detection code for input bits 1100.

Функциональный модуль 1120 сравнивает размер входных битов 1100 с максимальным размером Z кодового блока. Если размер входных битов меньше или равен максимальному размеру Z кодового блока, входные биты не сегментируются в функциональном модуле 1120 и могут состоять из кодового блока 1140.Function module 1120 compares the size of the input bits 1100 with the maximum size Z of the code block. If the size of the input bits is less than or equal to the maximum size Z of the code block, the input bits are not segmented in the function module 1120 and may consist of a code block 1140.

Поэтому входные биты 1100 преобразуются в кодовый блок 1140 и кодовый блок 1140 может использовать первый код CRC. Так как первый код CRC используется в качестве кода обнаружения ошибок для кодового блока 1140, функциональный модуль 1120 не присоединяет второй код CRC к кодовому блоку 1140.Therefore, the input bits 1100 are converted to code block 1140 and code block 1140 may use the first CRC code. Since the first CRC code is used as an error detection code for code block 1140, function module 1120 does not attach the second CRC code to code block 1140.

Со ссылкой на фиг.11, если размер входных битов меньше или равен максимальному размеру Z кодового блока, входные биты 1100 не сегментируются и используются как кодовый блок 1140. А именно, число C кодовых блоков равно 1 и размер K кодового блока может быть равен размеру В входных битов. Дополнительно, первый код CRC, содержащийся во входных битах 1100, может использоваться без присоединения второго кода CRC к кодовому блоку 1140. Соответственно, возможно быстро обработать данные.With reference to FIG. 11, if the size of the input bits is less than or equal to the maximum size Z of the code block, the input bits 1100 are not segmented and are used as the code block 1140. Namely, the number C of code blocks is 1 and the size K of the code block may be equal to the size In the input bits. Additionally, the first CRC code contained in the input bits 1100 can be used without attaching a second CRC code to the code block 1140. Accordingly, it is possible to quickly process the data.

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

Другой пример варианта осуществления настоящего изобретения может быть выполнен с возможностью комбинирования способов, описанных в первом-десятом вариантах осуществления.Another example embodiment of the present invention may be configured to combine the methods described in the first to tenth embodiments.

Одиннадцатый вариант осуществления может использоваться, когда размер К кодового блока всегда постоянен и могут иметь место биты заполнителя. Процесс вычисления числа C кодовых блоков является таким же, как процесс, описанный для четвертого или пятого вариантов осуществления. Однако в одиннадцатом варианте осуществления размер Kr каждого кодового блока является одним и тем же.An eleventh embodiment may be used when the code block size K is always constant and placeholder bits may occur. The process of calculating the number C of code blocks is the same as the process described for the fourth or fifth embodiments. However, in the eleventh embodiment, the size K r of each code block is the same.

Приведенное ниже уравнение 34 показывает способ вычисления размера Kr кодового блока и длины F битов заполнителя (то есть, числа битов заполнителя).Equation 34 below shows a method for calculating a code block size K r and a filler bit length F (i.e., the number of filler bits).

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

Kr=B'/CKr = B '/ C

Число битов заполнителя: F=C*Kr-B'The number of bits of the placeholder: F = C * K r -B '

В уравнении 34 размер Kr кодового блока вычисляется делением размера B' измененной входной битовой последовательности на число C кодовых блоков. На этот раз "r" означает индекс кодового блока. Длина F битов заполнителя вычисляется, вычитая размер B' измененной входной битовой последовательности из результата умножения числа C кодовых блоков на размер Kr кодового блока. То есть, одиннадцатый вариант осуществления показывает способ вычисления размера Kr кодового блока, когда размер каждого из кодовых блоков является одним и тем же.In equation 34, the code block size K r is calculated by dividing the size B ′ of the changed input bit sequence by the number C of code blocks. This time, "r" means the code block index. The filler bit length F is calculated by subtracting the size B ′ of the modified input bit sequence from the result of multiplying the number C of code blocks by the size K r of the code block. That is, the eleventh embodiment shows a method for calculating a code block size K r when the size of each of the code blocks is the same.

В таблице 14 показано уравнение конфигурации кодового блока, созданного с учетом размера CRC и длины F битов заполнителя.Table 14 shows the equation for the configuration of the code block created taking into account the size of the CRC and the length F of the filler bits.

Таблица 14Table 14 СинтаксисSyntax ЗначениеValue ПримечанияNotes for k=0 to F-lfor k = 0 to F-l c0k=<NULL>c 0k = <NULL> end forend for k=Fk = F s=0s = 0 for r=0 to C-1for r = 0 to C-1 while (k<Kr-L)while (k <Kr-L) Crk=bs C rk = b s k=k+1k = k + 1 s=s+1s = s + 1 end whileend while if C>1if C> 1 while k<Krwhile k <Kr Crk=pr(k+L-Kr) C rk = p r (k + L-Kr) Последовательность cr0, cr1, cr2,…, cr(Kr-L-l) используется для вычисления битов проверки на четность CRC pr0, pr1, pr2,…,pr(L-1) согласно подпункту 5.1.1 с помощью генератора полиномов gCRC24B(D). Для вычисления CRC принимается, что биты заполнителя, если присутствуют, имеют значение 0.The sequence c r0 , c r1 , c r2 , ..., c r (Kr-Ll) is used to calculate the CRC parity bits p r0 , p r1 , p r2 , ..., p r (L-1) according to subclause 5.1.1 using the polynomial generator gCRC24B (D). To calculate the CRC, it is assumed that the filler bits, if present, are set to 0. k=k+1k = k + 1 end whileend while end ifend if k=0k = 0 end forend for

При рассмотрении таблицы 14 может быть понятно, что функциональный модуль конфигурирует кодовые блоки с учетом размера CRC. В таблице 14 последовательность кодовых блоков cr0, cr1, cr2,…, cr(Kr-L-l) может использоваться для вычисления битов проверки на четность CRC pr0, pr1, pr2,…, pr(L-1).When considering Table 14, it can be understood that the function module configures the code blocks based on the CRC size. In table 14, the sequence of code blocks c r0 , c r1 , c r2 , ..., c r (Kr-Ll) can be used to calculate the parity check bits CRC p r0 , p r1 , p r2 , ..., p r (L-1 )

В другом примере варианта осуществления настоящего изобретения код обнаружения ошибок, введенный ранее в блок данных, может упоминаться как транспортный блок (TB) CRC (или первый код обнаружения ошибок) и код обнаружения ошибок, введенный в кодовые блоки, которые должны сегментироваться, может упоминаться как CRC (или второй код обнаружения ошибок) кодового блока (СВ).In another example embodiment of the present invention, an error detection code entered earlier in a data block may be referred to as a transport block (TB) CRC (or first error detection code) and an error detection code entered in code blocks to be segmented may be referred to as CRC (or second error detection code) code block (CB).

Когда сегментация блока входных данных не выполняется (то есть, C=l), входной блок данных может быть создан конечным кодовым блоком, содержащим CRC для TB. Однако конечный кодовый блок может быть создан, присоединяя CRC CB вместо CRC TB в соответствии с требованиям пользователей и вариантами осуществления настоящего изобретения.When segmentation of the input data block is not performed (i.e., C = l), the input data block can be created by the final code block containing the CRC for TB. However, a final code block may be created by attaching a CRC CB instead of a CRC TB in accordance with user requirements and embodiments of the present invention.

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

Другой пример варианта осуществления настоящего изобретения может быть выполнен с возможностью комбинации способов, описанных в первом-десятом примерах вариантов осуществления. Двенадцатый вариант осуществления может использоваться, когда размер кодовых блоков постоянен и биты заполнителя могут отсутствовать. А именно, входной битовый размер равен общему количеству кодовых блоков.Another example of an embodiment of the present invention may be configured to combine the methods described in the first to tenth examples of embodiments. A twelfth embodiment may be used when the code block size is constant and no filler bits may be present. Namely, the input bit size is equal to the total number of code blocks.

Двенадцатый вариант осуществления может использоваться, когда размер Kr каждого кодового блока является одним и тем же. Процесс вычисления числа C кодовых блоков является тем же самым, что и процесс, описанный в четвертом или пятом вариантах осуществления.A twelfth embodiment may be used when the size K r of each code block is the same. The process of calculating the number C of code blocks is the same as the process described in the fourth or fifth embodiments.

Приведенное ниже уравнение 35 показывает способ вычисления размера Kr кодового блока.Equation 35 below shows a method for calculating code block size K r .

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

Kr=B'/CK r = B '/ C

В уравнении 35 размер Kr кодового блока вычисляется делением размера В' измененной входной битовой последовательности на число C кодовых блоков. На этот раз Kr указывает размер кодового блока и "r" указывает индекс кодового блока.In equation 35, the code block size K r is calculated by dividing the size B ′ of the changed input bit sequence by the number C of code blocks. This time, K r indicates the size of the code block and "r" indicates the code block index.

В таблице 15 показано уравнение конфигурации, созданное с учетом размера L CRC.Table 15 shows the configuration equation created taking into account the size L CRC.

Таблица 15Table 15 СинтаксисSyntax ЗначениеValue ПримечанияNotes k=0k = 0 s=0s = 0 for r=0 to C-lfor r = 0 to C-l while (k<Kr-L)while (k <K r -L) crk=bs c rk = b s k=k+1k = k + 1 s=s+1s = s + 1 end whileend while if C>1if C> 1 while k<Kr while k <K r crk=pr(k+L-Kr) c rk = p r (k + L-Kr) Последовательность cr0, cr1, cr2,…, cr(Kr-L-l) используется для вычисления битов проверки на четность CRC pr0, pr1, pr2,…,pr(L-1) согласно подпункту 5.1.1 с помощью генератора полиномов gCRC24B(D). Для вычисления CRC принимается, что биты заполнителя, если присутствуют, имеют значение 0.The sequence c r0 , c r1 , c r2 , ..., c r (Kr-Ll) is used to calculate the CRC parity bits p r0 , p r1 , p r2 , ..., p r (L-1) according to subclause 5.1.1 using the polynomial generator gCRC24B (D). To calculate the CRC, it is assumed that the filler bits, if present, are set to 0. k=k+1k = k + 1 end whileend while end ifend if k=0k = 0 end forend for

Из таблицы 15 можно понять, что функциональный модуль конфигурирует кодовые блоки с учетом размера CRC. В таблице 15 последовательность кодовых блоков cr0, cr1, cr2,…, cr(Kr-L-l) может использоваться для вычисления битов проверки на четность CRC pr0, pr1, pr2,…,pr(L-1).From table 15 it can be understood that the function module configures the code blocks based on the size of the CRC. In table 15, a sequence of code blocks c r0 , c r1 , c r2 , ..., c r (Kr-Ll) can be used to calculate the parity check bits CRC p r0 , p r1 , p r2 , ..., p r (L-1 )

В другом примере варианта осуществления настоящего изобретения код обнаружения ошибок, введенный ранее в блок данных, может упоминаться как CRC транспортного блока (TB) (или первый код обнаружения ошибок) и код обнаружения ошибок, введенный в кодовые блоки, которые должны быть сегментированы, может упоминаться как код CRC кодового блока (CB) (или второй код обнаружения ошибок).In another example embodiment of the present invention, an error detection code entered earlier in a data block may be referred to as a transport block (TB) CRC (or first error detection code) and an error detection code entered in code blocks to be segmented may be referred to. as a code block code (CB) CRC code (or a second error detection code).

Когда входной блок данных не сегментирован (то есть, C=1), входной блок данных может быть создан конечным кодовым блоком, содержащим CRC TB. Однако конечный кодовый блок может быть создана посредством присоединения CRC CB вместо CRC TB согласно требованиям пользователей и вариантам осуществления настоящего изобретения.When the input data block is not segmented (i.e., C = 1), the input data block can be created by the final code block containing the CRC TB. However, a final code block may be created by attaching a CRC CB instead of a CRC TB according to user requirements and embodiments of the present invention.

Для специалистов в данной области техники должно быть очевидно, что в настоящее изобретение могут быть внесены различные модификации и изменения, не отступая от сущности или объема изобретения. Таким образом, предполагается, что настоящее изобретение охватывает модификации и изменения этого изобретения, если они попадают в рамки объема пунктов прилагаемой формулы изобретения и их эквивалентов.It should be apparent to those skilled in the art that various modifications and changes can be made to the present invention without departing from the spirit or scope of the invention. Thus, it is intended that the present invention covers the modifications and variations of this invention if they come within the scope of the appended claims and their equivalents.

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

Примеры вариантов осуществления настоящего изобретения могут быть применены к системам беспроводного доступа. Кроме того, примеры вариантов осуществления настоящего изобретения могут быть применены ко всем способам создания кодовых блоков, получаемых сегментацией входной битовой последовательности. Кодовые блоки, созданные в соответствии с примерами вариантов осуществления настоящего изобретения, могут применяться к кодированию, мультиплексированию и чередованию физического канала. Настоящее изобретение не ограничивается тем, что было, в частности, показано и описано выше, и может быть применено ко всем технологиям в рамках настоящего изобретения.Examples of embodiments of the present invention can be applied to wireless access systems. In addition, examples of embodiments of the present invention can be applied to all methods for creating code blocks obtained by segmenting an input bit sequence. Code blocks created in accordance with examples of embodiments of the present invention can be applied to encoding, multiplexing, and interleaving a physical channel. The present invention is not limited to what was, in particular, shown and described above, and can be applied to all technologies within the framework of the present invention.

Claims (14)

1. Способ передачи данных в системе беспроводного доступа, содержащий этапы, на которых
создают входную битовую последовательность посредством того, что присоединяют к данным первый код обнаружения ошибок;
если размер В входной битовой последовательности больше максимального размера Z кодовых блоков, вычисляют число С кодовых блоков, используя размер В входной битовой последовательности, максимальный размер Z кодовых блоков и размер L второго кода обнаружения ошибок, который должен быть присоединен к каждому из кодовых блоков, причем число С кодовых блоков вычисляют посредством
Figure 00000006
;
вычисляют размер В' измененной входной битовой последовательности, используя число С кодовых блоков, размер L второго кода обнаружения ошибок и размер В входной битовой последовательности;
получают размер K кодовых блоков из заранее определенных значений на основании значения, полученного посредством того, что делят размер В' измененной входной битовой последовательности на число С кодовых блоков;
сегментируют входную битовую последовательность, чтобы иметь С кодовых блоков с размером K кодовых блоков;
создают кодовые блоки посредством того, что присоединяют второй код обнаружения ошибок к каждой из сегментированных входных битовых последовательностей; и
канально кодируют кодовые блоки.
1. A method for transmitting data in a wireless access system, comprising the steps of:
creating an input bit sequence by attaching a first error detection code to the data;
if the size of the input bit sequence is greater than the maximum size Z of code blocks, calculate the number C of code blocks using the size of the input bit sequence, the maximum size Z of code blocks and the size L of the second error detection code to be attached to each of the code blocks, the number C of code blocks is calculated by
Figure 00000006
;
calculating the size B ′ of the modified input bit sequence using the number C of code blocks, the size L of the second error detection code, and the size B of the input bit sequence;
obtaining a size K of code blocks from predetermined values based on a value obtained by dividing the size B ′ of the changed input bit sequence by the number C of code blocks;
segmenting the input bit sequence to have C code blocks with a size of K code blocks;
creating code blocks by attaching a second error detection code to each of the segmented input bit sequences; and
channel-coded code blocks.
2. Способ по п.1, в котором первый код обнаружения ошибок и второй код обнаружения ошибок создают посредством разных полиномов.2. The method of claim 1, wherein the first error detection code and the second error detection code are generated by different polynomials. 3. Способ по п.1, в котором размер В входной битовой последовательности устанавливают равным значению, полученному посредством того, что прибавляют размер А данных к размеру первого кода обнаружения ошибок, и в котором второй код обнаружения ошибок, который должен быть присоединен к каждому из кодовых блоков, дополнительно присоединяют, чтобы обнаруживать, содержит ли каждый из кодовых блоков ошибки.3. The method according to claim 1, in which the size In the input bit sequence is set equal to the value obtained by adding the size A of the data to the size of the first error detection code, and in which the second error detection code that must be attached to each of code blocks are further attached to detect whether each of the code blocks contains errors. 4. Способ по п.1, в котором размер В' измененной входной битовой последовательности вычисляют посредством В'=В+С·L, где В является размером входной битовой последовательности, С является числом кодовых блоков, а L является размером второго кода обнаружения ошибок.4. The method according to claim 1, wherein the size B ′ of the modified input bit sequence is calculated by B ′ = B + C · L, where B is the size of the input bit sequence, C is the number of code blocks, and L is the size of the second error detection code . 5. Способ по п.1, в котором размер K кодовых блоков удовлетворяет условию, что значение, полученное посредством того, что умножают число С кодовых блоков на размер K кодовых блоков, больше или равно размеру В' измененной входной битовой последовательности.5. The method according to claim 1, in which the size K of code blocks satisfies the condition that the value obtained by multiplying the number C of code blocks by the size K of code blocks is greater than or equal to the size B ′ of the changed input bit sequence. 6. Способ по п.5, в котором размер K+ первых кодовых блоков из кодовых блоков является наименьшим размером среди заранее определенных значений, и
размер K- вторых кодовых блоков из кодовых блоков является наибольшим размером среди заранее определенных значений, которые меньше, чем размер K+.
6. The method according to claim 5, in which the size K + of the first code blocks from the code blocks is the smallest size among the predetermined values, and
the size K - of the second code blocks from the code blocks is the largest size among the predetermined values that are smaller than the size K + .
7. Способ по п.6, в котором число С- вторых кодовых блоков вычисляют посредством
Figure 00000007
, где С является числом кодовых блоков, K+ является размером первых кодовых блоков, В' является размером измененной входной битовой последовательности, ΔK является значением разности между размером K+ первых кодовых блоков и размером K- вторых кодовых блоков.
7. The method of claim 6, wherein the number of C - second code block is calculated by
Figure 00000007
Where C is the number of code blocks, K + is the size of the first code blocks, B 'is the size of the modified input bit sequence, Δ K is the value of the difference between the size K + of the first code block and the size of K - second code blocks.
8. Способ по п.7, в котором число С+ первых кодовых блоков устанавливают равным значению, полученному посредством того, что вычитают число С- вторых кодовых блоков из числа С кодовых блоков.8. The method of claim 7, wherein the number of C + first code blocks is set equal to the value obtained by the fact that the subtracted number C - second code blocks from among the C code blocks. 9. Способ по п.8, дополнительно содержащий этапы, на которых:
вычисляют число F битов заполнителя посредством использования F=C+·K++C-·K--B', где С+ является числом первых кодовых блоков, K+ является размером первых кодовых блоков, С- является числом вторых кодовых блоков, K- является размером вторых кодовых блоков, а В' является размером измененной входной битовой последовательности; и
распределяют биты заполнителя первоначальному кодовому блоку среди кодовых блоков.
9. The method of claim 8, further comprising stages in which:
calculating the number of filler bits F by using F = C + · K + + C - · K - -B ', where C + is the number of first code blocks, K + is the size of the first code blocks C - is the number of second code blocks, K - is the size of the second code blocks, and B 'is the size of the modified input bit sequence; and
distribute the filler bits to the original code block among the code blocks.
10. Способ по п.9, дополнительно содержащий этапы, на которых распределяют входную битовую последовательность первоначальному кодовому блоку из кодовых блоков, оставляя области для битов заполнителя и второго кода обнаружения ошибок, который будет присоединен к первоначальному кодовому блоку; и
распределяют оставшуюся входную битовую последовательность последовательным кодовым блокам после первоначального кодового блока, оставляя области для второго кода обнаружения ошибок, который будет присоединен к последовательным кодовым блокам.
10. The method according to claim 9, further comprising the steps of distributing the input bit sequence to the original code block from the code blocks, leaving areas for the filler bits and the second error detection code to be attached to the original code block; and
the remaining input bit sequence is distributed to consecutive code blocks after the original code block, leaving areas for a second error detection code to be attached to the serial code blocks.
11. Способ по п.10, в котором этап распределения входной битовой последовательности первому кодовому блоку дополнительно содержит этап, на котором присоединяют второй код обнаружения ошибок и распределяют биты заполнителя первоначальному кодовому блоку; и
в котором этап распределения оставшейся входной битовой последовательности последовательным кодовым блокам дополнительно содержит этап, на котором присоединяют второй код обнаружения ошибок к последовательным кодовым блокам.
11. The method of claim 10, wherein the step of allocating the input bit sequence to the first code block further comprises the step of attaching a second error detection code and distributing the filler bits to the original code block; and
wherein the step of allocating the remaining input bit sequence to the serial code blocks further comprises the step of attaching a second error detection code to the serial code blocks.
12. Способ по п.1, в котором, если размер В входной битовой последовательности меньше максимального размера Z кодовых блоков, число С кодовых блоков устанавливают равным 1.12. The method according to claim 1, wherein if the size of the input bit sequence is less than the maximum size Z of code blocks, the number C of code blocks is set to 1. 13. Способ по п.1, в котором максимальный размер Z кодовых блоков составляет 6144 бита.13. The method according to claim 1, in which the maximum size Z of code blocks is 6144 bits. 14. Способ по п.1, в котором объектом способа является пользовательское оборудование при передаче по восходящей линии связи, и объектом способа является базовая станция при передаче по нисходящей линии связи. 14. The method according to claim 1, in which the object of the method is user equipment when transmitting on the uplink, and the object of the method is the base station when transmitting on the downlink.
RU2010109431/08A 2007-08-14 2008-08-14 Data transmission method RU2448417C2 (en)

Applications Claiming Priority (16)

Application Number Priority Date Filing Date Title
KR10-2007-0082032 2007-08-14
KR20070082032 2007-08-14
KR20070082236 2007-08-16
KR10-2007-0082236 2007-08-16
US60/957,063 2007-08-21
US95736907P 2007-08-22 2007-08-22
US60/957,334 2007-08-22
US60/957,369 2007-08-22
US95745407P 2007-08-23 2007-08-23
US60/957,454 2007-08-23
KR1020070120390A KR20090017383A (en) 2007-08-14 2007-11-23 Method of dividing code block considering crc attachment and computing number of bits in each code block
KR10-2007-0120389 2007-11-23
KR10-2007-0120390 2007-11-23
KR10-2007-0120391 2007-11-23
US2847808P 2008-02-13 2008-02-13
US61/028,478 2008-02-13

Publications (2)

Publication Number Publication Date
RU2010109431A RU2010109431A (en) 2011-09-20
RU2448417C2 true RU2448417C2 (en) 2012-04-20

Family

ID=40686212

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2010109431/08A RU2448417C2 (en) 2007-08-14 2008-08-14 Data transmission method

Country Status (2)

Country Link
KR (3) KR20090017382A (en)
RU (1) RU2448417C2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2631142C2 (en) * 2016-02-29 2017-09-19 Федеральное государственное бюджетное образовательное учреждение высшего образования "Владимирский Государственный Университет имени Александра Григорьевича и Николая Григорьевича Столетовых" (ВлГУ) Method of diagnosing cyclic codes
RU2689308C2 (en) * 2014-09-25 2019-05-27 Сони Корпорейшн Wireless communication device, wireless communication method and program
RU2711354C1 (en) * 2019-02-20 2020-01-16 Акционерное общество "Воентелеком" Method of transmitting data over asynchronous communication networks with the possibility of recovering data upon loss thereof due to presence of connection errors in communication networks
RU2729598C1 (en) * 2016-11-23 2020-08-11 Гуандун Оппо Мобайл Телекоммьюникейшнс Корп., Лтд. Data processing method, terminal device and network device
RU2735857C1 (en) * 2017-09-08 2020-11-09 Хуавей Текнолоджиз Ко., Лтд. Method and device for encoding
US10999009B2 (en) 2017-09-08 2021-05-04 Huawei Technologies Co., Ltd. Channel encoding method and apparatus in wireless communications

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019149589A (en) * 2016-07-08 2019-09-05 シャープ株式会社 Base station device, terminal, and integrated circuit

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2116696C1 (en) * 1992-01-16 1998-07-27 Квэлкомм Инкорпорейтед Method for data formatting
KR20000050784A (en) * 1999-01-07 2000-08-05 윤종용 Data communication apparatus and method in cdma communication system
EP1626515A1 (en) * 2003-05-19 2006-02-15 Matsushita Electric Industrial Co., Ltd. Error correction encoding/decoding apparatus and error correction encoding/decoding method
RU2005139127A (en) * 2003-05-15 2006-05-27 ЭлДжи ЭЛЕКТРОНИКС ИНК. (KR) MOBILE COMMUNICATION SYSTEM AND METHOD FOR PROCESSING SIGNALS IN IT

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2116696C1 (en) * 1992-01-16 1998-07-27 Квэлкомм Инкорпорейтед Method for data formatting
KR20000050784A (en) * 1999-01-07 2000-08-05 윤종용 Data communication apparatus and method in cdma communication system
RU2005139127A (en) * 2003-05-15 2006-05-27 ЭлДжи ЭЛЕКТРОНИКС ИНК. (KR) MOBILE COMMUNICATION SYSTEM AND METHOD FOR PROCESSING SIGNALS IN IT
EP1626515A1 (en) * 2003-05-19 2006-02-15 Matsushita Electric Industrial Co., Ltd. Error correction encoding/decoding apparatus and error correction encoding/decoding method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Correction of reference measurement channel for 2048 kbps, 3GPP Draft, R4-020376, 28.01.2002. 3GPP TS 36.212 V1.2.0, Multiplexing and channel coding, Release 8, 05.2007, c.7 пар.5.1.2. *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2689308C2 (en) * 2014-09-25 2019-05-27 Сони Корпорейшн Wireless communication device, wireless communication method and program
RU2631142C2 (en) * 2016-02-29 2017-09-19 Федеральное государственное бюджетное образовательное учреждение высшего образования "Владимирский Государственный Университет имени Александра Григорьевича и Николая Григорьевича Столетовых" (ВлГУ) Method of diagnosing cyclic codes
RU2729598C1 (en) * 2016-11-23 2020-08-11 Гуандун Оппо Мобайл Телекоммьюникейшнс Корп., Лтд. Data processing method, terminal device and network device
US11405823B2 (en) 2016-11-23 2022-08-02 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Data processing method, and terminal device and network device
US11974165B2 (en) 2016-11-23 2024-04-30 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Methods, terminal device and network device for code block segmentation
RU2735857C1 (en) * 2017-09-08 2020-11-09 Хуавей Текнолоджиз Ко., Лтд. Method and device for encoding
US10999009B2 (en) 2017-09-08 2021-05-04 Huawei Technologies Co., Ltd. Channel encoding method and apparatus in wireless communications
RU2711354C1 (en) * 2019-02-20 2020-01-16 Акционерное общество "Воентелеком" Method of transmitting data over asynchronous communication networks with the possibility of recovering data upon loss thereof due to presence of connection errors in communication networks

Also Published As

Publication number Publication date
KR20090017382A (en) 2009-02-18
KR20090017384A (en) 2009-02-18
KR20090017383A (en) 2009-02-18
RU2010109431A (en) 2011-09-20

Similar Documents

Publication Publication Date Title
US9912444B2 (en) Method and apparatus for transmitting uplink data in a wireless access system
KR101275962B1 (en) Multi-layer cyclic redundancy check code in wireless communication system
RU2448417C2 (en) Data transmission method
CN111919406B (en) System and method for HARQ retransmission using outer codes
US10050741B2 (en) Method and apparatus for transmitting and receiving control information in a broadcasting/communication system
US10498496B2 (en) Retransmission technique
ES2764425T3 (en) Method of segmenting a transport block into multiple code blocks when adding a CRC to each code block