RU2613021C1 - Method for coding and decoding messages - Google Patents
Method for coding and decoding messages Download PDFInfo
- Publication number
- RU2613021C1 RU2613021C1 RU2015149924A RU2015149924A RU2613021C1 RU 2613021 C1 RU2613021 C1 RU 2613021C1 RU 2015149924 A RU2015149924 A RU 2015149924A RU 2015149924 A RU2015149924 A RU 2015149924A RU 2613021 C1 RU2613021 C1 RU 2613021C1
- Authority
- RU
- Russia
- Prior art keywords
- messages
- bits
- code
- message
- transmitted
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
- H03M13/251—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with block coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
- H03M13/255—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with Low Density Parity Check [LDPC] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
- H03M13/451—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
- H03M13/456—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein all the code words of the code or its dual code are tested, e.g. brute force decoding
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
ОБЛАСТЬ ТЕХНИКИFIELD OF TECHNOLOGY
[0001] Данное техническое решение относится к системе связи с передачей пакетов данных и более конкретно к способам помехоустойчивого кодирования и декодирования информации.[0001] This technical solution relates to a communication system with the transmission of data packets, and more particularly to methods of noiseless coding and decoding of information.
УРОВЕНЬ ТЕХНИКИBACKGROUND
[0002] На текущем уровне развития коммуникаций в радиосвязи широко используются различные схемы помехоустойчивого кодирования. Известны и теоретически исследованы коды, достигающие или приближающиеся сколь угодно близко к пределу Шеннона для скорости передачи данных по каналу с гауссовским шумом. Также известно множество классов помехоустойчивых кодов, которые допускают практическую реализацию на современном уровне развития электроники, - алгебраические коды, сверточные коды, коды с малой плотностью проверок на четность, различные виды кодов-произведений и т.д.[0002] At the current level of communications development in radio communications, various error-correcting coding schemes are widely used. Codes are known and theoretically investigated that reach or approach arbitrarily close to the Shannon limit for the data rate on a channel with Gaussian noise. Many classes of error-correcting codes are also known that allow practical implementation at the modern level of electronics development - algebraic codes, convolutional codes, codes with a low density of parity checks, various types of product codes, etc.
[0003] Коды с малой плотностью проверок на четность представляют большой интерес как с теоретической, так и с практической точки зрения, различные варианты LDPC кодов используются в таких системах и стандартах радиосвязи, как DVB-S2, 10GBase-T, WiFi 802.11 и др.[0003] Codes with a low density of parity checks are of great interest both theoretically and from a practical point of view, various versions of LDPC codes are used in such systems and radio standards as DVB-S2, 10GBase-T, WiFi 802.11, etc.
[0004] В данном уровне техники известен класс низкоплотностных кодов, называемых ZigZag коды. Этот класс кодов представляет интерес из-за сравнительно простого алгоритма декодирования, при этом сохраняя достаточно хорошее качество исправления ошибок в различных условиях (в пределах 1.5 дБ от предела Шеннона).[0004] A class of low density codes called ZigZag codes is known in the art. This class of codes is of interest because of the relatively simple decoding algorithm, while maintaining a fairly good quality of error correction under various conditions (within 1.5 dB from the Shannon limit).
[0005] Из уровня техники известен патент ЕР 1432129 А2 «Iterative Decoding of parallel concatenated Zigzag codes», патентообладатель: Nokia Corporation, опубликовано: 23.06.2004. Итерационный декодер, использующий параллельный каскадный ZigZag код, содержащий схему данных для использования внешней информации во время итеративного декодирования, в которой обновляют проверочную информацию для битов четности во время итераций.[0005] Patent EP 1,432,129 A2, "Iterative Decoding of parallel concatenated Zigzag codes", patent holder: Nokia Corporation, published: 06/23/2004, is known in the art. An iterative decoder using parallel cascading ZigZag code containing a data circuit for using external information during iterative decoding, in which verification information for parity bits is updated during iterations.
[0006] Однако нет известных систем из уровня техники, практически использующих подобные методы кодирования и декодирования с разделением проверочных бит по нескольким сообщениям, которые могут декодироваться как отдельно, так и вместе в системах с одновременным приемом большого числа узкополосных сообщений с частотным разделением и высокой вероятностью коллизий.[0006] However, there are no known systems of the prior art that practically use similar encoding and decoding methods with the separation of test bits into several messages that can be decoded both separately and together in systems with the simultaneous reception of a large number of narrow-band messages with frequency division and high probability collisions.
СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION
[0007] Технической задачей является разработка способа кодирования и декодирования сообщений, при котором проверочная информация разделяется на несколько сообщений, причем информации, содержащейся в каждом сообщении, должно быть достаточно для его декодирования с достаточной эффективностью (с потерей не более 1-2 дБ относительно схемы с независимым кодированием каждого сообщения с аналогичной кодовой скоростью).[0007] The technical task is to develop a method for encoding and decoding messages, in which the verification information is divided into several messages, and the information contained in each message should be sufficient to decode it with sufficient efficiency (with a loss of not more than 1-2 dB relative to the circuit with independent encoding of each message with the same code rate).
[0008] Техническим результатом данного технического решения является повышение помехозащищенности передачи информации.[0008] The technical result of this technical solution is to increase the noise immunity of information transmission.
[0009] Данный технический результат достигается благодаря способу кодирования и декодирования сообщений, в котором получают информационные биты, после чего формируют, по крайней мере, два сообщения, где каждое содержит закодированные помехоустойчивым ZigZag кодом вышеуказанные информационные биты, к которым добавлена группа проверочных бит, затем передают, по крайней мере, два закодированных сообщения, где каждое передается на разных частотах, далее принимают, по крайней мере, одно вышеуказанное закодированное сообщение, и в итоге декодируют, по крайней мере, одно закодированное сообщение, причем каждое сообщение декодируют по отдельности, а в случае неуспеха, декодируют все недекодированные сообщения совместно.[0009] This technical result is achieved by a method of encoding and decoding messages, in which information bits are received, after which at least two messages are generated, each of which contains the above information bits encoded by the noise-resistant ZigZag code, to which a group of check bits is added, then at least two encoded messages are transmitted, where each is transmitted at different frequencies, then at least one of the above encoded messages is received, and as a result, I decode t, at least one encoded message, and each message is decoded separately, and in case of failure, decode all undecoded messages together.
[00010] В некоторых вариантах осуществления технического решения помехоустойчивым кодом является ZigZag код с кодовой скоростью 1/3.[00010] In some embodiments, the error-correcting code is a ZigZag code with a code rate of 1/3.
[00011] В некоторых вариантах осуществления технического решения при распределении проверочных бит по группам, в случае двух групп в первую группу попадают нечетные биты, а во вторую - четные.[00011] In some embodiments of the technical solution, when the verification bits are divided into groups, in the case of two groups, the odd bits fall into the first group and the even bits into the second.
[00012] В некоторых вариантах осуществления технического решения при передаче кодированных сообщений, каждое из передаваемых сообщений представляет собой кодовое слово кода с перфорированием кодовой скорости .[00012] In some embodiments of the technical solution for transmitting encoded messages, each of the transmitted messages is a code code word with perforated code rate .
[00013] В некоторых вариантах осуществления технического решения при передаче кодированных сообщений сообщения передаются последовательно на разных частотах.[00013] In some embodiments, when transmitting coded messages, messages are transmitted sequentially at different frequencies.
[00014] В некоторых вариантах осуществления технического решения при декодировании кодированных сообщений начальные метрики для проверочных бит, которые не передавались в вышеуказанном декодируемом сообщении, в начале декодирования принимаются равными нулю.[00014] In some embodiments, when decoding encoded messages, the initial metrics for the check bits that were not transmitted in the above decoded message are assumed to be zero at the start of decoding.
[00015] В некоторых вариантах осуществления технического решения при неудачном декодировании кодированных сообщений из метрик для всех бит исходных сообщений составляются новые метрики для декодирования проверочного кода.[00015] In some embodiments of the technical solution, when decoding encoded messages from metrics fails for all bits of the original messages, new metrics are compiled to decode the verification code.
[00016] В некоторых вариантах осуществления технического решения при принятии сообщений в случае, если первое сообщение принято с ошибками, исправляют ошибки с использованием передаваемых в первом сообщении проверочных бит.[00016] In some embodiments of the technical solution, when receiving messages in case the first message is received with errors, errors are corrected using the check bits transmitted in the first message.
[00017] В некоторых вариантах осуществления технического решения при совместном декодировании метрики соответствующие всем битам в исходных сообщениях, складываются.[00017] In some embodiments of the technical solution for joint decoding, the metrics corresponding to all bits in the original messages are added.
[00018] В некоторых вариантах осуществления технического решения передача сообщений на различных частотах происходит с перерывом по времени.[00018] In some embodiments of the technical solution, the transmission of messages at different frequencies occurs with a time interval.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS
[00019] Признаки и преимущества настоящего технического решения станут очевидными из приводимого ниже подробного описания изобретения и прилагаемых чертежей, на которых:[00019] The features and advantages of this technical solution will become apparent from the following detailed description of the invention and the accompanying drawings, in which:
[00020] На Фиг. 1 - вероятность битовой ошибки для кодирования помехоустойчивым ZigZag с кодовыми скоростями 1/2 и 1/3 в канале с нормальным шумом;[00020] FIG. 1 - probability of a bit error for coding by noise-resistant ZigZag with
[00021] На Фиг. 2 - пример реализации схемы распределения информационных и проверочных бит по сообщениям;[00021] In FIG. 2 - an example of the implementation of the distribution scheme of information and check bits for messages;
[00022] На Фиг. 3 - блок-схема способа кодирования и декодирования сообщений.[00022] FIG. 3 is a flowchart of a method for encoding and decoding messages.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF THE INVENTION
[00023] Ниже будут описаны понятия и определения терминологии, необходимые для подробного раскрытия осуществляемого изобретения.[00023] Below will be described the concepts and definitions of terminology necessary for the detailed disclosure of the invention.
[00024] Помехоустойчивое кодирование - кодирование сообщений, при котором элементы связаны определенной зависимостью, позволяющей при ее нарушении указать ошибки и восстановить информацию, которое позволяет сократить избыточность в передаваемых сообщениях.[00024] Interference-proof coding is the coding of messages in which the elements are connected by a certain dependency, which, if violated, indicates errors and restores information that reduces redundancy in transmitted messages.
[00025] Информационный бит - бит, вырабатываемый источником данных и предназначенный для передачи данных пользователя [из п. 57 ГОСТ 24402-88].[00025] An information bit is a bit generated by a data source and intended to transmit user data [from clause 57 of GOST 24402-88].
[00026] Проверочный бит - бит, предназначенный для обнаружения ошибок в знаке данных или блоке данных [из п. 57 ГОСТ 24402-88].[00026] Check bit - a bit designed to detect errors in a data sign or data block [from clause 57 of GOST 24402-88].
[00027] Кодовая скорость - отношение длины кодового блока на входе к длине преобразованного кодового блока на выходе кодера.[00027] Code rate is the ratio of the length of the code block at the input to the length of the converted code block at the output of the encoder.
[00028] Код с малой плотностью проверок на четность - используемый в передаче информации код, частный случай блокового линейного кода с проверкой четности. Особенностью является малая плотность значимых элементов проверочной матрицы, за счет чего достигается относительная простота реализации средств кодирования.[00028] A code with a low density of parity checks is a code used in transmitting information, a special case of a block linear code with parity. A feature is the low density of significant elements of the verification matrix, due to which the relative simplicity of the implementation of the encoding means is achieved.
[00029] ZigZag код - в теории кодирования это линейный код с исправлением ошибок, в котором разделяют входные данные на сегменты фиксированного размера и добавляют последовательность проверочных битов, где каждый проверочный бит является исключительным в сегменте.[00029] ZigZag code - in coding theory, this is a linear error-correcting code in which the input data is divided into segments of a fixed size and a sequence of check bits is added, where each check bit is exclusive in the segment.
[00030] Предел Шеннона - предельная (максимальной) скорость передачи информации (пропускная способность) в зашумленном канале связи.[00030] The Shannon limit is the limit (maximum) information transfer rate (bandwidth) in a noisy communication channel.
[00031] Передатчик - устройство, которое получает информационные биты от их источника, например от счетчика, осуществляет их кодирование, формирование пакетов данных, добавляет служебную информацию и передает в эфир несколько раз на различных частотах с модуляцией DBPSK.[00031] A transmitter is a device that receives information bits from their source, for example, from a counter, encodes them, generates data packets, adds overhead information and broadcasts several times at various frequencies with DBPSK modulation.
[00032] Перфорирование - способ получения из кодового слова кода с одной скоростью кодового слова другой скорости с помощью выкалывания (в русскоязычной литературе обычно «перфорирования») части проверочных или информационных бит. В заявляемом решении, в одном сообщении передаются только четные биты, тогда можно сказать, что нечетные были перфорированы, они не передаются, а на приеме они заменяются нулями. Полученные таким образом сообщения называют кодовыми словами кода с перфорированием, а сам способ их получения - перфорированным кодом.[00032] Perforation is a method of obtaining from a code word a code with one codeword speed at a different speed by puncturing (in Russian-language literature, usually “perforating”) parts of check or information bits. In the claimed solution, in one message only even bits are transmitted, then it can be said that the odd bits were perforated, they were not transmitted, and at the reception they are replaced with zeros. Messages received in this way are called code words of the perforated code, and the method of receiving them is called perforated code.
[00033] Метрика - числовой показатель вероятности того, что принято значение бит «1». Как правило, отрицательное значение метрики соответствует принятому значению «1», а положительное - «0». Чем больше метрика по модулю, тем больше уверенность алгоритма в принятом значении.[00033] Metric is a numerical indicator of the probability that the value of bits "1" is accepted. As a rule, a negative metric value corresponds to the accepted value of “1”, and a positive value is “0”. The larger the metric modulo, the greater the confidence of the algorithm in the accepted value.
[00034] Согласно варианту заявляемого технического решения (Фиг. 3): предварительно получают информационные биты 101 (Фиг. 3), затем формируют, по крайней мере, два сообщения, где каждое содержит закодированные помехоустойчивым ZigZag кодом вышеуказанные информационные биты, к которым добавлена группа проверочных бит 102 (Фиг. 3) следующим образом.[00034] According to a variant of the claimed technical solution (Fig. 3):
[00035] Информационные биты на передатчике кодируются помехоустойчивым составным ZigZag кодом, после чего проверочные биты равномерно распределяются по группам - для случая двух сообщений для первого сообщения выбираются четные проверочные биты каждого из четырех компонентных кодов, а для второго - нечетные. При этом в каждом сообщении передаются все информационные биты и одна из частей проверочных бит, т.е. одна группа, причем на разных частотах 103 (Фиг. 3). Методы кодирования низкоплотностных кодов и ZigZag кодов, в частности, широко известны из литературы, например, данные коды описаны в статье [2]. В общем случае, для систематических кодов, к которым относится ZigZag кодирование, - это добавление к исходным информационным битам, которые остаются без изменений, дополнительного количества проверочных бит с помощью особого алгоритма, который позволит в дальнейшем исправить ошибочно принятые информационные биты с использованием проверочных бит. Специалисту в данном уровне техники очевидно, что количество групп может быть более двух, например три группы или более. В этом случае будут передаваться три и более сообщений, в каждом из которых будут все информационные биты и группа проверочных. Правила по разбиению на группы принципиально важны для качественной работы способа. Используемое разбиение на четные и нечетные является одновременно и простым, и оптимальным для выбранного помехоустойчивого ZigZag кода и для двух сообщений. При использовании трех сообщений будет применяться аналогичное разбиение - в первом сообщении будут передаваться биты 1, 4, 7…, во втором 2,5,8,…, в третьем 3,6.9… и так далее, не ограничиваясь.[00035] The information bits on the transmitter are encoded by an error-correcting composite ZigZag code, after which the test bits are evenly distributed into groups - for the case of two messages, even test bits of each of the four component codes are selected for the first message, and odd for the second. Moreover, in each message all information bits and one of the parts of the verification bits are transmitted, i.e. one group, and at different frequencies 103 (Fig. 3). Coding methods for low-density codes and ZigZag codes, in particular, are widely known from the literature, for example, these codes are described in [2]. In general, for systematic codes, which include ZigZag coding, this is an addition to the original information bits, which remain unchanged, of an additional number of verification bits using a special algorithm that will subsequently correct incorrectly received information bits using verification bits. One skilled in the art will appreciate that the number of groups may be more than two, for example three or more groups. In this case, three or more messages will be transmitted, in each of which there will be all information bits and a group of test bits. The rules for splitting into groups are fundamentally important for the high-quality operation of the method. The used even and odd partitioning is both simple and optimal for the selected noise-resistant ZigZag code and for two messages. When using three messages, a similar splitting will be applied - in the first message,
[00036] Тогда каждое из передаваемых сообщений будет представлять собой кодовое слово составного ZigZag кода с перфорированием. В источнике информации [1] показано, что указанный способ перфорирования обеспечивает качество декодирования полученных с его помощью кодов, которое хорошо соответствует качеству декодирования других помехоустойчивых кодов с аналогичной скоростью. При приеме сообщения на приемнике 104 (Фиг. 3) обнаруженные сообщения декодируются по отдельности 105 (Фиг. 3), при этом начальные метрики для проверочных бит, которые не передавались в декодируемом сообщении, в начале декодирования принимаются равными нулю.[00036] Then, each of the transmitted messages will be a code word of a perforated ZigZag code. The source of information [1] shows that the specified method of perforation ensures the quality of decoding of the codes obtained with its help, which is in good agreement with the quality of decoding of other noise-resistant codes with a similar speed. When a message is received at the receiver 104 (Fig. 3), the detected messages are decoded separately 105 (Fig. 3), while the initial metrics for the check bits that were not transmitted in the decoded message are taken equal to zero at the beginning of decoding.
[00037] В случае, если отдельное сообщение не удалось декодировать и если были обнаружены сообщения, которые также не удалось декодировать по отдельности, осуществляется их совместное декодирование, для чего из метрик для всех бит исходных сообщений составляются новые метрики для декодирования проверочного кода. Для этого метрики, соответствующие всем битам в исходных сообщениях, складываются. Тогда метрики для проверочных бит будут нулевыми во всех сообщениях, кроме одного, а метрики для бит данных сложатся, что будет соответствовать общепринятым методам приема кода с повторением. Это самый простой способ получить метрики совместно из нескольких принятых сообщений. Фактически, это просто сложение метрик для всех принятых сообщений. В литературе известен метод maximal-ratio combining, простое сложение - это самый простой его вариант.[00037] In the event that a single message could not be decoded and if messages were found that also could not be decoded separately, they are jointly decoded, for which new metrics are compiled from the metrics for all bits of the original messages to decode the verification code. For this, the metrics corresponding to all bits in the original messages are added up. Then the metrics for the check bits will be zero in all messages except one, and the metrics for the data bits will add up, which will correspond to the generally accepted methods of receiving the code with repetition. This is the easiest way to get metrics together from several received messages. In fact, this is just the addition of metrics for all received messages. The maximal-ratio combining method is known in the literature, simple addition is its simplest option.
[00038] Как уже было сказано, за счет того что данный метод кодирования предполагает передачу всех полезных данных, т.е. информационных бит, в каждом сообщении, возможен успешный прием даже в случае, если все сообщения, кроме одного,… потеряны из-за коллизий или помех в их полосе.[00038] As already mentioned, due to the fact that this encoding method involves the transfer of all useful data, ie information bits, in each message, successful reception is possible even if all messages except one ... are lost due to collisions or interference in their band.
[00039] С другой стороны, если производится совместное декодирование нескольких сообщений, выигрыш от кодирования будет больше, чем от повторения одинаковых сообщений в соответствии с теорией (код с более сложной структурой, чем повторение, декодируется более эффективно).[00039] On the other hand, if several messages are jointly decoded, the coding gain will be greater than the repetition of identical messages in accordance with the theory (a code with a more complex structure than repetition is decoded more efficiently).
[00040] Технический результат также достигается благодаря тому, что передача сообщений с одинаковой информацией на нескольких различных частотах происходит с перерывом по времени. Это принципиальный момент, так как передающие устройства не отслеживают занятость частот, на которых они передают, и некоторые частоты могут быть непригодными для передачи сообщений. Передача всей информации на каждой из выбранных частот позволяет снизить вероятность попадания на непригодную для передачи частоту. Аналогично, пауза между передачей сообщений позволяет дождаться более благоприятной обстановки в эфире.[00040] The technical result is also achieved due to the fact that the transmission of messages with the same information at several different frequencies occurs with a time interval. This is a fundamental point, since transmitting devices do not track the occupancy of the frequencies at which they transmit, and some frequencies may not be suitable for transmitting messages. The transmission of all information at each of the selected frequencies reduces the likelihood of falling into an unsuitable frequency for transmission. Similarly, a pause between the transmission of messages allows you to wait for a more favorable situation on the air.
[00041] Во-вторых, согласно заявляемому способу помехоустойчивого кодирования и декодирования сообщений, в каждом сообщении передается только часть проверочных бит, и при этом даже эта часть позволяет исправить ошибки на приеме.[00041] Secondly, according to the claimed method of error-correcting coding and decoding of messages, in each message only a part of the check bits is transmitted, and even this part allows to correct errors on reception.
[00042] Согласно примеру осуществления технического решения, при кодировании 240 информационных бит помехоустойчивым кодом скорости 1/3 получаются 480 проверочных бит. Проверочные биты делятся на группы, по четным и нечетным битам, причем четные передаются в первом сообщении, нечетные во втором.[00042] According to an embodiment of the technical solution, when coding 240 information bits with a noise-
[00043] Возможна ситуация, когда будут приняты первое или второе сообщения, или оба этих сообщения. Выбранная схема кодирования позволяет декодировать все эти случаи совершенно одинаково, записав нули на позиции тех проверочных бит, которые не были приняты совсем. Важно то, что сообщение, содержащее только половину проверочных бит, также можно декодировать, причем теми же методами, что и в случае, когда были приняты все биты. Более того, это сообщение (в тексте оно называется перфорированным кодом), позволяет исправлять столько же ошибок, как если бы мы использовали специальный код со скоростью 1/2, разработанный отдельно.[00043] It is possible that the first or second messages will be received, or both of these messages. The selected coding scheme allows you to decode all these cases in exactly the same way, writing zeros at the positions of those check bits that were not received at all. It is important that a message containing only half the check bits can also be decoded, using the same methods as when all the bits were received. Moreover, this message (in the text it is called a perforated code) allows you to fix as many errors as if we used a special code with a speed of 1/2, developed separately.
[00044] То есть промежуточный результат - получение такого кода скорости 1/2 (из существующего кода 1/3), который по эффективности исправления ошибок не проигрывает другим кодам скорости 1/2, полученным отдельно и независимо. При этом, при получении нескольких сообщений, можно декодировать исходный код 1/3, который позволяет исправить еще больше ошибок. Сам по себе этот процесс передачи только части проверочных бит (называемый перфорированием) известен из литературы.[00044] That is, the intermediate result is the receipt of such a 1/2 speed code (from the existing 1/3 code) that, in terms of error correction efficiency, does not lose to other 1/2 speed codes obtained separately and independently. At the same time, when receiving several messages, you can decode the
[00045] Таким образом, возникает необходимость передавать одинаковые сообщения несколько раз на разных частотах, так как часть частот может оказаться непригодной для передачи. При этом передаются все информационные биты, а проверочные биты формируются и декодируются таким образом, чтобы дополнительно повысить число исправляемых ошибок. Это возможно благодаря использованию помехоустойчивого кода (например, ZigZag), а также деления битов на четные/нечетные.[00045] Thus, it becomes necessary to transmit the same message several times at different frequencies, since some of the frequencies may not be suitable for transmission. In this case, all information bits are transmitted, and the verification bits are generated and decoded in such a way as to further increase the number of correctable errors. This is possible thanks to the use of error-correcting code (for example, ZigZag), as well as the division of bits into even / odd.
[00046] Заявляемое техническое решение может использоваться в электротехнике и цифровой связи, а также, например, в спутниковой связи и в других областях, в которых необходимо достижение максимальной надежности и энергетической эффективности передачи данных по каналу связи с шумами в ограниченной полосе частот.[00046] The claimed technical solution can be used in electrical engineering and digital communications, as well as, for example, in satellite communications and in other fields where it is necessary to achieve maximum reliability and energy efficiency of data transmission over a communication channel with noise in a limited frequency band.
[00047] Настоящее подробное описание составлено с приведением различных, не имеющих ограничительного и исчерпывающего характера вариантов осуществления. В то же время специалистам, имеющим средний уровень компетентности в рассматриваемой области техники, очевидно, что различные замены, модификации или сочетания любых раскрытых здесь вариантов осуществления (в том числе частично) могут быть воспроизведены в пределах объема настоящего технического решения. Таким образом, подразумевается и понимается, что настоящее описание включает дополнительные варианты осуществления, суть которых не изложена здесь в явно выраженной форме. Такие варианты осуществления могут быть получены путем, например, сочетания, модификации или преобразования каких-либо действий, компонентов, элементов, свойств, аспектов, характеристик, ограничений и пр., относящихся к приведенным здесь и не имеющим ограничительного характера вариантам осуществления.[00047] The present detailed description is made with a variety of non-limiting and exhaustive embodiments. At the same time, for specialists having an average level of competence in the considered field of technology, it is obvious that various substitutions, modifications or combinations of any of the embodiments disclosed herein (including partially) can be reproduced within the scope of this technical solution. Thus, it is understood and understood that the present description includes additional embodiments, the essence of which is not set forth here in an explicit form. Such embodiments may be obtained, for example, by combining, modifying, or transforming any actions, components, elements, properties, aspects, characteristics, limitations, etc., related to the embodiments presented herein and not being restrictive.
ПРИМЕРЫ РЕАЛИЗАЦИИEXAMPLES OF IMPLEMENTATION
[00048] Рассмотрим пример реализации технического решения, в котором необходимо передать 240 бит данных (информационных бит). Для кодирования используется помехоустойчивый ZigZag код с кодовой скоростью 1/3. После завершения процесса кодирования для передачи будут готовы исходные 240 бит данных (информационные биты) и 480 (в два раза больше количества информационных) проверочных бит, всего 720 бит. Проверочные биты делятся на две равные группы по 240 бит, после этого первое сообщение составляется из 240 информационных бит данных и первых 240 проверочных бит, всего 480 бит. Аналогично, второе сообщение состоит из тех же 240 бит данных и оставшихся 240 проверочных бит. Проверочные биты разделяются на две группы и передаются в отдельных сообщениях следующим образом - 1,3,5,7,…, 479 передаются в первом сообщении, а 2,4,6,8,…, 480 передаются во втором сообщении. Информационные биты передаются в каждом сообщении целиком без модификации (Фиг. 2).[00048] Consider an example implementation of a technical solution in which it is necessary to transmit 240 bits of data (information bits). For coding, the noise-resistant ZigZag code with a code rate of 1/3 is used. After the coding process is completed, the initial 240 bits of data (information bits) and 480 (twice the number of information) verification bits, 720 bits in total, will be ready for transmission. The check bits are divided into two equal groups of 240 bits, after which the first message is composed of 240 information data bits and the first 240 check bits, a total of 480 bits. Similarly, the second message consists of the same 240 data bits and the remaining 240 verification bits. The check bits are divided into two groups and are transmitted in separate messages as follows - 1,3,5,7, ..., 479 are transmitted in the first message, and 2,4,6,8, ..., 480 are transmitted in the second message. Information bits are transmitted in each message as a whole without modification (Fig. 2).
[00049] Каждое из передаваемых сообщений представляет собой кодовое слово с перфорированием кодовой скорости 1/2, причем два сообщения, декодируемые совместно, представляют собой исходное кодовое слово скорости 1/3.[00049] Each of the transmitted messages is a codeword with
[00050] Сформированные таким образом сообщения передаются последовательно на разных частотах. После детектирования первого сообщения производится проверка правильности приема информационных бит. При хороших условиях передачи, когда шумы в канале достаточно малы и не приводят к ошибкам на приеме, информационные биты принимаются сразу верно. Если же первое сообщение принято с ошибками, запускается процедура исправления ошибок с использованием передаваемых в первом сообщении проверочных бит. Для декодирования восстанавливается кодовое слово помехоустойчивого ZigZag кода, при этом метрики информационных бит и проверочных бит 1,3,…, 479 рассчитываются на основе принятых данных, а метрики проверочных бит 2,4,…, 480 принимаются равными нулю.[00050] Thus formed messages are transmitted sequentially at different frequencies. After detecting the first message, a check is made to correctly receive information bits. Under good transmission conditions, when the noise in the channel is small enough and does not lead to errors in reception, the information bits are immediately received correctly. If the first message is received with errors, the error correction procedure is started using the check bits transmitted in the first message. For decoding, the code word of the error-correcting ZigZag code is restored, while the metrics of the information bits and the
[00051] Таким образом, из кодового слова с перфорированием кодовой скорости 1/2 восстанавливается кодовое слово исходного кода скорости 1/3 с заменой части метрик нулями. Полученное кодовое слово декодируется.[00051] Thus, from the codeword with
[00052] Аналогично, после принятия второго сообщения проверяется правильность переданных в нем информационных бит, при необходимости запускается процедура исправления ошибок с использованием передаваемых во втором сообщении проверочных бит. Если же было принято еще и первое сообщение с такими же данными, для восстановления используются все 480 проверочных бит. Для этого восстанавливается кодовое слово, причем метрики проверочных бит 2,4,…, 480 вычисляются по принятым данным, а метрики бит 1,3,…, 479 заменяются нулями, либо, если было принято и не было декодировано первое сообщение, метриками этих бит, вычисленных по данным первого сообщения.[00052] Similarly, after the second message is received, the correctness of the information bits transmitted in it is checked, and if necessary, the error correction procedure is started using the verification bits transmitted in the second message. If the first message with the same data was received, all 480 check bits are used for recovery. To do this, the code word is restored, and the metrics of the
[00053] Если любое из сообщений было принято без ошибок, либо если было удачно декодировано одно из сообщений по отдельности, совместное декодирование не производится. Также оно не производится в случае, когда было принято только одно сообщение. Таким образом, совместно декодируются сообщения, когда они оба были приняты, и первое не было декодировано независимо.[00053] If any of the messages was received without errors, or if one of the messages was successfully decoded individually, joint decoding is not performed. Also, it is not performed when only one message has been received. Thus, messages are jointly decoded when they were both received, and the former was not independently decoded.
[00054] Результаты моделирования помехоустойчивого ZigZag кода в условиях канала с нормальным гауссовским шумом для скоростей 1/3 и 1/2 приведены на Фиг. 1. Видно, что использование кода скорости 1/3 дает выигрыш в требуемом отношении Еb/N0 около 0.5 дБ относительно скорости 1/2. Это значит, что при использовании кодирования со скоростью 1/3 такой же уровень ошибок на приеме достигается при более низком отношении Eb/N0. То есть для передачи данных с таким кодированием требуется потратить меньше энергии на переданный информационный бит. То есть, несмотря на то что при кодировании скоростью 1/3 требуется передавать больше бит, чем при 1/2, например 480 при 1/2 и 720 при 1/3, мощность передатчика при работе с 1/3 может быть значительно ниже.[00054] The simulation results of the noise-resistant ZigZag code under normal Gaussian noise channel conditions for
[00055] Предлагаемая схема кодирования-декодирования может быть реализована на практике с использованием доступных и высокоэффективных решений, причем отсутствует необходимость использования специализированных интегральных схем или программируемых логических интегральных схем. Применяемая схема кодирования с использованием помехоустойчивого ZigZag кода обладает следующими свойствами:[00055] The proposed encoding-decoding scheme can be implemented in practice using affordable and high-performance solutions, and there is no need to use specialized integrated circuits or programmable logic integrated circuits. The applied coding scheme using the noise-resistant ZigZag code has the following properties:
[00056] во-первых, декодирование ZigZag кода производится алгоритмом с линейной сложностью относительно длины кода и содержит главным образом только операции сложения/вычитания и сравнения. Под этим подразумевается то, что для декодирования низкоплотностных кодов не требуется выполнять операции умножения, деления, вычислять тригонометрические и другие специальные функции. Благодаря этому низкоплотностные коды широко используются, в том числе, их возможно использовать в предложенном техническом решении. Во многом именно поэтому выбран ZigZag код, и вся предложенная схема кодирования разрабатывалась с учетом того, что она должна быть практически осуществима;[00056] firstly, the decoding of the ZigZag code is performed by a linear complexity algorithm with respect to the length of the code and mainly contains only addition / subtraction and comparison operations. This implies that for decoding low-density codes, it is not necessary to perform the operations of multiplication, division, and to calculate trigonometric and other special functions. Due to this, low-density codes are widely used, including, it is possible to use them in the proposed technical solution. In many ways, this is why the ZigZag code was chosen, and the entire proposed coding scheme was developed taking into account that it should be practicable;
[00057] во-вторых, схема равномерного перфорирования проверочных бит кода для формирования отдельных сообщений является простой в реализации в сравнении с другими помехоустойчивыми кодами.[00057] secondly, the scheme for uniformly perforating the check bits of the code for generating individual messages is easy to implement in comparison with other error-correcting codes.
ИСТОЧНИКИ ИНФОРМАЦИИINFORMATION SOURCES
1. Construction and analysis of rate-compatible punctured concatenated zigzag codes, Information Theory, 2005. ISIT 2005. Proceedings. International Symposium on, IEEE.1. Construction and analysis of rate-compatible punctured concatenated zigzag codes, Information Theory, 2005. ISIT 2005. Proceedings. International Symposium on, IEEE.
2. Ping L., Huang X., Phamdo N. Zigzag codes and concatenated zigzag codes // Information Theory, IEEE Transactions on. - 2001. - T. 47. - №. 2. - C. 800-807.2. Ping L., Huang X., Phamdo N. Zigzag codes and concatenated zigzag codes // Information Theory, IEEE Transactions on. - 2001. - T. 47. - No. 2. - C. 800-807.
Claims (18)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2015149924A RU2613021C1 (en) | 2015-11-20 | 2015-11-20 | Method for coding and decoding messages |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2015149924A RU2613021C1 (en) | 2015-11-20 | 2015-11-20 | Method for coding and decoding messages |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2613021C1 true RU2613021C1 (en) | 2017-03-14 |
Family
ID=58458289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2015149924A RU2613021C1 (en) | 2015-11-20 | 2015-11-20 | Method for coding and decoding messages |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2613021C1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1432129A2 (en) * | 2002-12-20 | 2004-06-23 | Nokia Corporation | Iterative Decoding of parallel concatenated Zigzag codes |
RU2284086C2 (en) * | 2004-11-16 | 2006-09-20 | Открытое акционерное общество "Ижевский радиозавод" | Method for forming and processing signal for receiving and transmitting information via force cables and device for realization of said method |
RU2344546C1 (en) * | 2007-04-18 | 2009-01-20 | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." | Adaptation of data transfer speed in ofdm system in presence of noises |
US8399827B1 (en) * | 2007-09-10 | 2013-03-19 | Cedars-Sinai Medical Center | Mass spectrometry systems |
WO2013052913A2 (en) * | 2011-10-06 | 2013-04-11 | Sequenom, Inc. | Methods and processes for non-invasive assessment of genetic variations |
-
2015
- 2015-11-20 RU RU2015149924A patent/RU2613021C1/en not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1432129A2 (en) * | 2002-12-20 | 2004-06-23 | Nokia Corporation | Iterative Decoding of parallel concatenated Zigzag codes |
RU2284086C2 (en) * | 2004-11-16 | 2006-09-20 | Открытое акционерное общество "Ижевский радиозавод" | Method for forming and processing signal for receiving and transmitting information via force cables and device for realization of said method |
RU2344546C1 (en) * | 2007-04-18 | 2009-01-20 | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." | Adaptation of data transfer speed in ofdm system in presence of noises |
US8399827B1 (en) * | 2007-09-10 | 2013-03-19 | Cedars-Sinai Medical Center | Mass spectrometry systems |
WO2013052913A2 (en) * | 2011-10-06 | 2013-04-11 | Sequenom, Inc. | Methods and processes for non-invasive assessment of genetic variations |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10637609B2 (en) | Method and coding apparatus for processing information using a polar code | |
US10666391B2 (en) | Method for encoding information bit sequence in communication network | |
US11637653B2 (en) | Method and apparatus of rate-matching for communication and broadcasting systems | |
WO2017127973A1 (en) | Generation of polar codes with a variable block length utilizing puncturing | |
KR101313782B1 (en) | Method and apparatus for transmitting and receiving a data block in a wireless communication system | |
US10075197B1 (en) | Method and apparatus for transmitting hamming weight and codeword | |
EP3217580A1 (en) | Data checking method and apparatus | |
US8792469B2 (en) | Coding a control message with determined data code block repetition | |
KR20070059696A (en) | Signal transmitting/receiving apparatus for supporting variable coding rate in a communication system and method thereof | |
EP3595209A1 (en) | Encoding method, decoding method, apparatus and device | |
US11206042B2 (en) | Layered decoding method for LDPC code and device therefor | |
US10122496B2 (en) | Method for dynamic and selective FD-DSDF transmission of a digital signal for a MARC system with a full-duplex relay, and corresponding program product and relay device | |
JP4138723B2 (en) | Decoding processing method and communication apparatus | |
US10396826B2 (en) | Software defined network with selectable low latency or high throughput mode | |
KR101413783B1 (en) | Apparatus and method for channel encoding and decoding in communication system using variable-length ldpc codes | |
RU2613021C1 (en) | Method for coding and decoding messages | |
KR100929080B1 (en) | Signal transceiving device and method in communication system | |
US20140006895A1 (en) | Error correction encoding method, decoding method and associated devices | |
US10686557B2 (en) | Enhanced decoding of coded sequences with structured data | |
WO2021061058A1 (en) | Noise and cyclic redundancy check aided list decoding of error correcting codes | |
CN112821984B (en) | Method, device and equipment for processing wireless local area network data | |
CN113366872B (en) | LPWAN communication protocol design using parallel concatenated convolutional codes | |
KR100605988B1 (en) | Efficient puncturing method of low density parity check code | |
Mohammadi et al. | FEC-Assisted Parallel Decoding of Polar Coded Frames: Design Considerations | |
KR101357321B1 (en) | Method and Apparatus for Decoding of Rate-Compatible-ICZZ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20201121 |