RU2786023C1 - Method for message transmission in systems with feedback and hybrid automatic repeat request - Google Patents
Method for message transmission in systems with feedback and hybrid automatic repeat request Download PDFInfo
- Publication number
- RU2786023C1 RU2786023C1 RU2022118625A RU2022118625A RU2786023C1 RU 2786023 C1 RU2786023 C1 RU 2786023C1 RU 2022118625 A RU2022118625 A RU 2022118625A RU 2022118625 A RU2022118625 A RU 2022118625A RU 2786023 C1 RU2786023 C1 RU 2786023C1
- Authority
- RU
- Russia
- Prior art keywords
- code
- error
- transmitted
- errors
- symbols
- Prior art date
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 26
- 238000001514 detection method Methods 0.000 claims abstract description 17
- 230000000694 effects Effects 0.000 abstract description 3
- 239000000126 substance Substances 0.000 abstract 1
- 101710036068 KIN7A Proteins 0.000 description 10
- 102100018193 PRAG1 Human genes 0.000 description 10
- 101700081364 PRAG1 Proteins 0.000 description 10
- 239000011159 matrix material Substances 0.000 description 5
- 238000000034 method Methods 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 3
- 230000001702 transmitter Effects 0.000 description 3
- 241000169170 Boreogadus saida Species 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000005755 formation reaction Methods 0.000 description 2
- 230000000903 blocking Effects 0.000 description 1
- 230000000875 corresponding Effects 0.000 description 1
- 230000002452 interceptive Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001360 synchronised Effects 0.000 description 1
- 230000001131 transforming Effects 0.000 description 1
Images
Abstract
Description
Изобретение относится к области передачи данных с использованием решающей обратной связи в протоколах вычислительных и информационных систем. Способы передачи с решающей обратной реализуют переспрос сообщения, закодированного помехоустойчивым кодом, если на приемной стороне обнаружены ошибки. Принципы построения таких систем (системы с автоматическим запросом на повторение - АЗП, ARQ) изложены, например, в монографии S.Lin and D.J.Costello, Jr. Error Control Coding: Fundamentals and Applications. NJ:Englewood Cliffs. 2001. Современное состояние вопроса изложено в обзорной статье A. Ahmed, A. Al-Dweik, Y. Iraqi, Н. Mukhtar, М. Naeem and Е. Hossain, "Hybrid Automatic Repeat Request (HARQ) in Wireless Communications Systems and Standards: A Contemporary Survey, IEEE Communications Surveys & Tutorials, vol. 23, no. 4, pp. 2711-2752, Fourthquarter 2021, doi: 10.1109/COMST.2021.3094401.The invention relates to the field of data transmission using decisive feedback in the protocols of computing and information systems. Methods of transmission with a decisive feedback implement a retransmission of a message encoded with an error-correcting code if errors are detected on the receiving side. The principles for constructing such systems (systems with automatic repetition request - ARQ, ARQ) are described, for example, in the monograph S.Lin and D.J.Costello, Jr. Error Control Coding: Fundamentals and Applications. NJ: Englewood Cliffs. 2001. The current state of the art is presented in the review article A. Ahmed, A. Al-Dweik, Y. Iraqi, H. Mukhtar, M. Naeem and E. Hossain, "Hybrid Automatic Repeat Request (HARQ) in Wireless Communications Systems and Standards: A Contemporary Survey, IEEE Communications Surveys & Tutorials, vol.23, no.4, pp.2711-2752, Fourthquarter 2021, doi: 10.1109/COMST.2021.3094401.
В традиционных способах автоматического запроса на повторение (ARQ) ошибки в передаваемых пакетах проверяются на принимающей стороне с помощью кода с обнаружением ошибок (обычно контроль циклическим избыточным кодом (CRC) или иным подходящим избыточным кодом). Если при контроле на приемной стороне в кадре не обнаружено ошибок, принимающая сторона отправляет получателю уведомление об успешном получении (АСК). Если в кадре обнаружена ошибка, принимающая сторона отправляет сигнал отрицательного уведомления о получении (NAK), запрашивая повторную передачу.In traditional automatic repeat request (ARQ) methods, errors in transmitted packets are checked at the receiving end with error detection code (typically cyclic redundancy check (CRC) or other suitable redundancy code). If no errors are detected in the frame during the control at the receiving side, the receiving side sends a notification of successful receipt (ACK) to the recipient. If an error is detected in the frame, the receiving side sends a Negative Acknowledge Acknowledgment (NAK) signal, requesting a retransmission.
Пользовательские данные могут быть дополнительно защищены кодом с исправлением ошибок, который увеличивает вероятность успешной передачи. Такие схемы ARQ, которые сочетают принцип ARQ с кодированием с исправлением части ошибок, известны как гибридные способы ARQ (HARQ).User data can be further protected with an error-correcting code that increases the likelihood of successful transmission. Such ARQ schemes that combine the principle of ARQ with partial error correction coding are known as hybrid ARQ (HARQ) methods.
Мерой эффективности способа ARQ является средняя скорость передачи (пропускная способность), определяемая как среднее количество битов пользовательских данных, принятых на принимающей стороне за время, необходимое для передачи одного бита, а также вероятность необнаруженной ошибки и среднее время задержки. Уровень избыточности кода с исправлением ошибок, используемого в схеме HARQ, оказывает два противоположных влияния на эффективность способа: с увеличением избыточности вероятность успешной передачи увеличивается, но доля пользовательских данных в кодовом слове уменьшается. Обычно выбирается код с фиксированной скоростью, который при фиксированных характеристиках канала удовлетворяет требования к пропускной способности.A measure of the effectiveness of the ARQ method is the average transmission rate (throughput), defined as the average number of bits of user data received at the receiving end in the time it takes to transmit one bit, as well as the probability of an undetected error and the average delay time. The level of redundancy of the error correction code used in the HARQ scheme has two opposite effects on the efficiency of the method: with increasing redundancy, the probability of successful transmission increases, but the proportion of user data in the codeword decreases. Typically, a fixed rate code is chosen that satisfies the throughput requirements for fixed channel characteristics.
В реальных каналах с изменяющимися условиями передачи (изменении отношения сигнал-шум (SNR)), таких как мобильные и спутниковые каналы, применяют способы HARQ - Туре 2 с накоплением и обработкой принятых повторно комбинаций (HARQ-CC) или с передачей при переспросе дополнительных избыточных символов (с инкрементной избыточностью, HARQ-IR). Такие способы демонстрируют более высокую пропускную способность за счет адаптации избыточности кода с исправлением ошибок к разным условиям канала.In real channels with changing transmission conditions (changing the signal-to-noise ratio (SNR)), such as mobile and satellite channels, HARQ-Type 2 methods are used with the accumulation and processing of received repeated combinations (HARQ-CC) or with the transmission of additional redundant characters (with incremental redundancy, HARQ-IR). Such methods exhibit higher throughput by adapting error correction code redundancy to different channel conditions.
Характеристика уровня техникиDescription of the prior art
Известен аналог предлагаемого изобретения, относящийся к способам с накоплением принятых комбинаций (HARQ-CC) СПОСОБ ПЕРЕДАЧИ-ПРИЕМА СООБЩЕНИЙ В СИСТЕМАХ СВЯЗИ. Патент РФ на ИЗ №2595627, 2015 г. (Аналог 1). Технический результат изобретения заключается в повышении скорости приема информации за счет снижения вероятности переспросов.Known analogue of the invention, relating to methods with the accumulation of received combinations (HARQ-CC) METHOD OF TRANSMISSION-RECEPTION OF MESSAGES IN COMMUNICATION SYSTEMS. RF patent for IZ No. 2595627, 2015 (Analogue 1). The technical result of the invention is to increase the speed of receiving information by reducing the likelihood of re-questions.
Способ передачи-приема сообщений в системах связи, заключается в том, что на передающей стороне исходное сообщение разбивают на порции по к бит, формируют из них кадры со структурой протокола HDLC методом ARQ на h шагов назад, передают h кадров по каналу связи, где h>3, на приемной стороне по контрольной последовательности протокола HDLC обнаруживают ошибочные кадры, если ошибочные кадры отсутствуют, информационные k бит выдают получателю или стирают кадр с ошибками, блокируют прием последующих h-1 кадров, по обратному каналу посылают команду запроса и передающая сторона повторно передает эти h кадров, отличающийся тем, что h кадров предварительно располагают в двумерный массив из i строк и j столбцов h=i×j для каждой s-й строки, где s = 1, 2 … i, вычисляют первую совокупность контрольных кадров ms,j+1, равных сумме кадров строки по модулю два, вычисляют вторую совокупность контрольных кадров mi+1,t равных сумме кадров столбца по модулю два, где t = 1, 2 … J, сформированный массив из i+1 строк и j+1 столбцов передают в канал связи, после приема в принятом массиве обнаруживают по контрольной последовательности протокола HDLC кадры с ошибками, стирают их, определяют число стертых кадров в каждой из i+1 строк, если стерт один кадр ms,t восстанавливают его путем замены на по модулю 2, где l≠t, определяют число стертых кадров в каждом из (j+1) столбцов, при стирании одного кадра ms,t восстанавливают его путем замены: на по модулю 2, где l≠t, определяют число стертых кадров в каждом из (j+1) столбцов, при стирании одного кадра ms,t восстанавливают его путем замены на по модулю 2 где v≠s, если в полученном двумерном массиве i×j нет стертых кадров, к информационных бит каждого из h кадров выдают получателю, иначе повторно восстанавливают стертые кадры в каждых из i+1 строк и j+1 столбцов, если и после повторного просмотра остались стертые кадры, по каналу обратной связи производят переспрос этих h кадров.The method of transmitting and receiving messages in communication systems consists in the fact that on the transmitting side the original message is divided into portions of k bits, frames are formed from them with the HDLC protocol structure using the ARQ method for h steps back, h frames are transmitted over the communication channel, where h >3, on the receiving side, using the control sequence of the HDLC protocol, erroneous frames are detected, if there are no erroneous frames, information k bits are given to the recipient or the frame with errors is erased, the reception of subsequent h-1 frames is blocked, a request command is sent over the reverse channel and the transmitting side retransmits these h frames, characterized in that h frames are pre-arranged in a two-dimensional array of i rows and j columns h=i×j for each s-th row, where s = 1, 2 ... i, the first set of control frames m s is calculated, j+1 , equal to the sum of row frames modulo two, calculate the second set of control frames m i+1,t equal to the sum of column frames modulo two, where t = 1, 2 ... J, the generated array and i+1 rows and j+1 columns are transmitted to the communication channel, after receiving in the received array, frames with errors are detected by the control sequence of the HDLC protocol, they are erased, the number of erased frames in each of i+1 rows is determined, if one frame m is erased s,t restore it by replacing it with modulo 2, where l≠t, determine the number of erased frames in each of the (j+1) columns, when erasing one frame m s,t restore it by replacing: with modulo 2, where l≠t, determine the number of erased frames in each of the (j+1) columns, when erasing one frame m s,t restore it by replacing it with modulo 2 where v≠s, if there are no erased frames in the received two-dimensional array i×j, k information bits of each of h frames are given to the recipient, otherwise the erased frames are re-restored in each of i+1 rows and j+1 columns, if and after re-viewing, erased frames remain, these h frames are re-quested via the feedback channel.
В этом способе при возникновении обнаруженной ошибки информация, передаваемая по запросу, дублируется. Кроме того, повторно передаваемые кадры кодируются итеративным кодом, в канал передается дополнительная избыточная информация, которая используется для исправления ошибок на приемной стороне.In this method, when a detected error occurs, the information transmitted on request is duplicated. In addition, retransmitted frames are encoded with an iterative code, additional redundant information is transmitted to the channel, which is used to correct errors on the receiving side.
Недостатком рассматриваемого изобретения является, полное дублирование передаваемого по запросу блока, ограниченная корректирующая способность итеративного кодирования, что снижает скорость передачи. Способ имеет по сообщению автором ограниченную область применения: использование протокола с блокировкой и возвращением на h шагов (аналогичного HDLC) и пригоден для каналов с большой задержкой распространения сигнала.The disadvantage of the invention under consideration is the complete duplication of the block transmitted on request, the limited corrective ability of iterative coding, which reduces the transmission rate. According to the author, the method has a limited scope of application: the use of a protocol with blocking and returning to h steps (similar to HDLC) and is suitable for channels with a large signal propagation delay.
Известен аналог, относящийся к способам HARQ IR. Патент РФ на ИЗ №2239952 СПОСОБ ПЕРЕДАЧИ СООБЩЕНИЙ В СИСТЕМАХ С ОБРАТНОЙ СВЯЗЬЮ (аналог 2).Known analogue related to the methods of HARQ IR. RF patent for IZ No. 2239952 METHOD OF MESSAGE TRANSMISSION IN SYSTEMS WITH FEEDBACK (analogue 2).
Технический результат предлагаемого способа заключается в повышении скорости передачи информации в канале связи и упрощении программной и аппаратной реализации способа.The technical result of the proposed method is to increase the speed of information transfer in the communication channel and simplify the software and hardware implementation of the method.
Способ передачи сообщений в системе с обратной связью, заключается в том, что на передающей стороне системы связи массив входной информации разбивают на блоки определенной длины, которые кодируют помехоустойчивым кодом и далее передают в канал связи, на приемной стороне системы связи, декодируют помехоустойчивый код с обнаружением и исправлением ошибок, при обнаружении ошибок в помехоустойчивом коде, кратность которых лежит за пределами исправляющей способности помехоустойчивого кода, формируют запрос на повторную передачу помехоустойчивого кода, этот запрос передают по каналу обратной связи на передающую сторону и по запросу осуществляют передачу дополнительных символов помехоустойчивого кода, далее при приеме дополнительных символов помехоустойчивого кода осуществляют повторное декодирование этого кода, отличающийся тем, что в канал связи передают укороченный помехоустойчивый каскадный код, на приемной стороне системы связи по результатам декодирования внутреннего кода укороченного помехоустойчивого каскадного кода сначала определяют количество стертых слов внутреннего кода, далее оценивают количество трансформированных слов внутреннего кода, затем определяют количество дополнительных слов внутреннего кода помехоустойчивого каскадного кода, необходимых для правильного декодирования внешнего кода помехоустойчивого каскадного кода и формируют запрос на передачу этих дополнительных слов внутреннего кода помехоустойчивого каскадного кода.The method of transmitting messages in a feedback system consists in that, on the transmitting side of the communication system, an array of input information is divided into blocks of a certain length, which are encoded with an error-correcting code and then transmitted to the communication channel, on the receiving side of the communication system, the error-correcting code is decoded with detection and error correction, when errors are detected in the error-correcting code, the multiplicity of which lies outside the correcting capacity of the error-correcting code, a request is formed for retransmission of the error-correcting code, this request is transmitted via the feedback channel to the transmitting side and, upon request, additional symbols of the error-correcting code are transmitted, then when additional symbols of the error-correcting code are received, this code is re-decoded, characterized in that a shortened error-correcting cascade code is transmitted to the communication channel, on the receiving side of the communication system based on the results of decoding the inner code of the shortened n of the error-correcting concatenated code, first the number of erased words of the inner code is determined, then the number of transformed words of the inner code is estimated, then the number of additional words of the inner code of the error-correcting concatenated code is determined, necessary for the correct decoding of the outer code of the error-correcting concatenated code, and a request is formed to transmit these additional words of the inner code of the error-correcting concatenation code cascade code.
В рассматриваемом аналоге по запросу передается дополнительная избыточная информация, представляющая слова внутреннего кода касакадного кода, что снижает пропускную способность системы передачи, увеличивает задержку. К недостаткам способа следует отнести ограниченную применимость в существующих протоколах обмена вычислительных сетей в связи с использованием только каскадных кодов и необходимостью сообщения на передающую сторону оценки количества дополнительных слов внутреннего кода.In the analog under consideration, additional redundant information is transmitted upon request, representing the words of the internal code of the cascading code, which reduces the throughput of the transmission system and increases the delay. The disadvantages of the method include limited applicability in existing protocols for the exchange of computer networks due to the use of only concatenated codes and the need to report to the transmitting side an estimate of the number of additional words of the internal code.
Наиболее близким к предлагаемому способу является способ, описанный в работе М. S. Mohammadi, I. В. Collings and Q. Zhang, "Simple Hybrid ARQ Schemes Based on Systematic Polar Codes for IoT Applications," in IEEE Communications Letters, vol. 21, no. 5, pp. 975-978, May 2017, doi: 10.1109/LCOMM.2017.2662012.Closest to the proposed method is the method described in M. S. Mohammadi, I. B. Collings and Q. Zhang, "Simple Hybrid ARQ Schemes Based on Systematic Polar Codes for IoT Applications," in IEEE Communications Letters, vol. 21, no. 5, pp. 975-978, May 2017, doi: 10.1109/LCOMM.2017.2662012.
Технический результат предлагаемого способа заключается в повышении скорости передачи информации в канале связи за счет уменьшения вероятности повторного переспроса.The technical result of the proposed method is to increase the speed of information transmission in the communication channel by reducing the likelihood of repeated request.
Способ передачи использует схему HARQ-IR, основанную на систематических полярных кодах или иных кодовых конструкциях, допускающих разделение избыточных бит на непересекающиеся сегменты. Систематический полярный код произвольной скорости R = К/N, где К - число информационных символов, N-длина кода, позволяет разделить избыточные биты на произвольное число непересекающихся наборов и последовательно передавать систематические биты, а затем избыточные сегменты, пока сообщение не будет успешно декодировано и доставлено получателю.The transmission method uses a HARQ-IR scheme based on systematic polar codes or other code structures that allow redundant bits to be divided into non-overlapping segments. A systematic polar code of arbitrary rate R = K / N, where K is the number of information symbols, N is the length of the code, allows you to divide the redundant bits into an arbitrary number of non-overlapping sets and sequentially transmit systematic bits, and then redundant segments, until the message is successfully decoded and delivered to the recipient.
Предложенный авторами способ использует на начальном шаге кодирование сообщения длиной (К - С) символов которые кодируются кодом обнаружения ошибок С0, С-количество проверочных символов. Выходной вектор длины К обозначается Xs и отправляется по каналу. Обозначим набор переданных систематические бит Т1. Если приемник обнаруживает ошибку в Xs, то на передающей стороне Xs кодируется систематическим полярным кодом С1 со скорости R=K/N и отправляется набор из r1 избыточных символов Р1, где r1 = |Р1| - это общее количество битов в Р1. Затем декодируется полярный код, с помощью процедуры которая включает в себя все К систематических бит кода плюс биты Р1, что образует вектор T2=T1+r1. Восстановленный вектор Xs декодируется с обнаружением ошибки в коде С0 и если ошибки обнаружены, то передатчик отправляет другое непересекающееся подмножество размера r2 избыточных битов Р2. Эта процедура заканчивается, когда контрольная сумма С0 непротиворечива, но потенциально продолжается до тех пор, пока все избыточные биты не будут отправлены на приемную сторону, т.е. когдаThe method proposed by the authors uses at the initial stage the encoding of a message with a length of (K - C) characters that are encoded by the error detection code C0, C is the number of check characters. An output vector of length K is denoted by Xs and is sent over the channel. Let us denote the set of transmitted systematic bits as T1. If the receiver detects an error in Xs, then on the transmitting side Xs is encoded with a systematic polar code C1 at a rate of R=K/N and a set of r1 redundant symbols P1 is sent, where r1 = |P1| is the total number of bits in P1. The polar code is then decoded using a procedure that includes all K systematic code bits plus the P1 bits, forming a vector T 2 =T 1 +r 1 . The recovered vector Xs is decoded with error detection in the C0 code, and if errors are detected, the transmitter sends another disjoint subset of size r2 of the excess P2 bits. This procedure ends when the C0 checksum is consistent, but potentially continues until all redundant bits have been sent to the receiving side, i.e. when
Прототип обладает рядом недостатков:The prototype has several disadvantages:
• не обеспечивает выигрыш по скорости в синхронных протоколах передачи данных из-за того, что порции дополнительной информации, как правило, имеют длину существенно меньше, чем длина передаваемого пакета, а передача дополнительной информации не предусмотрена;• does not provide speed gain in synchronous data transmission protocols due to the fact that portions of additional information, as a rule, have a length significantly less than the length of the transmitted packet, and transmission of additional information is not provided;
• для реализации способа требуется накопитель значительной длины и существенная задержка информации;• implementation of the method requires a drive of considerable length and a significant delay of information;
• способ может быть использован для ограниченного класса кодов.• the method can be used for a limited class of codes.
Характеристика сведений, раскрывающих сущность изобретенияCharacteristics of information disclosing the essence of the invention
Описанные здесь ранее известные способы используют передачу избыточной информации (проверочных символов), которые используются для декодирования сохраненной ранее кодовой комбинации с помощью кода, избыточность которого увеличивается за счет длины при каждом переспросе. При этом реализуется прямая или опережающая коррекции ошибок (forward error correction, FEC). Такой способ использования избыточности обладает недостатками, описанными выше.The previously known methods described here use the transmission of redundant information (check symbols), which are used to decode a previously stored codeword with a code whose redundancy increases due to the length with each repeat request. In this case, forward or forward error correction (forward error correction, FEC) is implemented. This way of using redundancy has the disadvantages described above.
Предлагается получать дополнительную избыточность не за счет наращивания длины кода, а за счет декодирования сохраненного кодового вектора с обнаруженной ошибкой с помощью помехоустойчивого кода той же длины, но меньшей скорости. При этом в случае переспрос кодовый вектор должен быть той же длины, содержать информацию, позволяющую декодировать сохраненный вектор в коде с большой избыточностью, а также дополнительные, ранее не передававшиеся символы. Успешная передача второго вектора при этом может обеспечить восстановление ошибок в первом (сохраненном) векторе, получателю при этом будут выданы информационные символы, содержащиеся в двух полученных векторах. По аналогии с FEC такая коррекция ошибок могла бы называться реверсивной прямой коррекцией ошибок.It is proposed to obtain additional redundancy not by increasing the length of the code, but by decoding the stored code vector with a detected error using an error-correcting code of the same length, but at a lower rate. In this case, in the case of a repeat request, the code vector must be of the same length, contain information that allows decoding the stored vector in a code with high redundancy, as well as additional symbols that have not been transmitted before. Successful transmission of the second vector can then provide error recovery in the first (saved) vector, the recipient will then be given the information symbols contained in the two received vectors. By analogy with FEC, this error correction could be called reverse forward error correction.
Реализация такого подхода возможна с использованием линейных помехоустойчивых кодов, допускающих представление в виде систем вложенных кодов, т.е. объединения подмножеств, каждое из которых является линейным помехоустойчивым кодом или его сдвигом (смежным классом).The implementation of this approach is possible using linear error-correcting codes that can be represented as systems of nested codes, i.e. unions of subsets, each of which is a linear error-correcting code or its shift (adjacent class).
Такие системы образуются многими типами кодов - БЧХ, Рида-Соломона, Рида-Маллера, полярными и иными. Исчерпывающее описание систем вложенных кодов содержится в книге Э.Л. Блох, В.В. Зяблов Линейные каскадные коды, М.: Наука, 1982, 229 с.Such systems are formed by many types of codes - BCH, Reed-Solomon, Reed-Muller, polar and others. An exhaustive description of nested code systems is contained in the book by E.L. Bloch, V.V. Zyablov Linear concatenated codes, Moscow: Nauka, 1982, 229 p.
Пусть А0[n,k0,d0]-линейный код длины n с k0 информационными символами, минимальным расстоянием d0. Для такого кода будем рассматривать систему вложенных кодов и их смежных классов с параметрами Ai[n,ki,di], i=0,…,m. Для системы выполняются соотношения: Let А 0 [n,k 0 ,d 0 ]-linear code of length n with k 0 information symbols, minimum distance d 0 . For such a code, we will consider a system of nested codes and their cosets with parameters A i [n,k i ,d i ], i=0,…,m. The following relations hold for the system:
Рассмотрим систему двух вложенных линейных кодов A0[n,k0,d0] и A1[n,k1,d1], таких, что А0 есть объединение смежных классов A1. Такая система задается порождающей матрицей где G0 (k0 х n) порождающая матрица кода A0,G1- (k1 х n), порождающая матрица A1, G01- ((k0-k1) х n) матрица, порождающая образующие смежных классов. Пусть код используется в режиме обнаружения ошибок, а код - в режиме с исправлением ошибок. В начале передачи от источника поступает k0 символов, кодируются с помощью умножения на матрицу, при этом вектор кода является смежным классом кода, номер которого определяется символами. Информационный вектор сохраняется и сохраняется номер смежного класса.Consider a system of two nested linear codes A 0 [n,k 0 ,d 0 ] and A 1 [n,k 1 ,d 1 ], such that A 0 is the union of cosets A 1 . Such a system is given by a generating matrix where G 0 (k 0 x n) is the generating matrix of code A 0 , G 1 - (k 1 x n) is the generating matrix of A 1 , G 01 is ((k 0 -k1) x n) is the matrix generating generators of cosets. Let the code be used in error detection mode and the code in error correction mode. At the beginning of the transmission, k0 symbols arrive from the source, are encoded by matrix multiplication, with the code vector being a contiguous code class, the number of which is determined by the symbols. The information vector is stored and the coset number is stored.
Если ошибок не возникает - информационные символы выдаются получателю и на передающую сторону поступает подтверждение АСК. Процесс передачи продолжается таким образом далее, до момента обнаружения ошибки в некотором кодовом слове.If no errors occur, information symbols are given to the recipient and the transmitting side receives an ACK confirmation. The transmission process continues in this way further, until an error is detected in some code word.
В этом случае кодовое слово не стирается, на передающую сторону поступает сигнал запроса NACK. Передатчик по этому сигналу формирует новый вектор, который содержит набор длины ранее не передававшихся символов и набор являющийся номером смежного класса кода которому принадлежал предыдущий вектор.In this case, the code word is not erased, the transmitting side receives a NACK request signal. The transmitter uses this signal to generate a new vector that contains a set of lengths of previously not transmitted symbols and a set that is the number of the adjacent code class to which the previous vector belonged.
Если в этом принятом векторе не обнаружены ошибки при декодировании с обнаружением в коде декодер по номеру смежного класса определяет образующий смежного класса, переводит сохраненный вектор в смежный класс кода и декодирует с исправлением ошибок в коде А1. При успешном декодировании получателю выдается k0+k1 символов. Заметим, что аналогичная ситуация в обычной системе с переспросом обеспечила бы выдачу только k0 символов. В случае прототипа передача 2n символов в канале также привела бы к выдаче только k0 символов.If no errors are detected in this received vector during code-detection decoding the decoder, by the number of the adjacent class, determines the generator of the adjacent class, translates the stored vector into the adjacent code class, and decodes with error correction in the code A 1 . Upon successful decoding, the recipient is given k 0 +k 1 symbols. Note that a similar situation in a conventional querying system would provide only k0 characters. In the case of the prototype, transmitting 2n symbols in a channel would also result in only k0 symbols being output.
Дополнить рассмотрение можно следующим примером. Пусть используется система из двух вложенных кодов БЧХ А0[31,25,4] и A1[31,15,8]. Код А0 используется в режиме обнаружения ошибок, а код А1 в режиме исправления трех и менее ошибок. Пусть в трех подряд переданных блоках произошли ошибки кратности Т ≤ 3, а четвертый принят безошибочно. Тогда в соответствии с описанием способа, после приема четвертого вектора и исправления ошибок в трех предыдущих, из накопителя получателю будет выдано 25+15+15+15=70 двоичных символов. В случае обычной ARQ после трех переспросов получателю поступит только 25 символов.The consideration can be supplemented with the following example. Let a system of two nested BCH codes A 0 [31,25,4] and A 1 [31,15,8] be used. Code A0 is used in the error detection mode, and code A1 in the mode of correcting three or less errors. Let errors of multiplicity T ≤ 3 occur in three successively transmitted blocks, and the fourth one is received without error. Then, in accordance with the description of the method, after receiving the fourth vector and correcting errors in the previous three, 25+15+15+15=70 binary symbols will be issued from the drive to the recipient. In the case of a regular ARQ, after three retries, the recipient will only receive 25 characters.
Для рассматриваемого примера можно получить очевидную оценку средней скорости, справедливые для случая приемного накопителя для кодовой комбинации бесконечного объема: , где - вероятность обнаружения ошибок при декодировании в коде А0. Пример хорошо иллюстрирует возможный выигрыш по скорости, но для его реализации требуется приемный буфер значительной длины, что увеличивает среднюю задержку выдачи сообщения. Кроме того, использование процедуры исправления и обнаружения может увеличивать вероятность необнаруженной ошибки по сравнению со стандартным способом использования CRC16 или CRC32.For the example under consideration, one can obtain an obvious estimate of the average speed, which is valid for the case of a receiving accumulator for a codeword of infinite volume: , where - the probability of detecting errors during decoding in the code A 0 . The example well illustrates the possible gain in speed, but its implementation requires a receive buffer of considerable length, which increases the average delay in issuing a message. In addition, the use of the correction and detection procedure may increase the probability of an undetected error compared to the standard way of using CRC16 or CRC32.
Предлагаемый способ основан на использовании системы из трех вложенных кодов, что позволяет достичь лучших значений выигрыша по скорости и средней задержки сообщений в реальных условиях передачи.The proposed method is based on the use of a system of three nested codes, which makes it possible to achieve the best gain in speed and average message delay in real transmission conditions.
Используем систему We use the system
Соответствующие им порождающие матрицы имеют вид: при этом размерности матриц Выполняются очевидные условия The corresponding generating matrices look like: while the dimensions of the matrices Obvious conditions are met
Система вложенных кодов может быть построена так, что The system of nested codes can be constructed in such a way that
Дадим описание основной идеи способа.We give a description of the main idea of the method.
В начале передачи от источника в кодер на приемной стороне поступают символов кодируются в коде и сохраняются в накопителе и выдается в канал. На приемной стороне выполняется проверка на наличие ошибок. Если в принятом векторе ошибок не обнаружено, в канал обратной связи поступает сигнал подтверждения ACK. После получения сигнала ACK на приемной стороне формируется и выдается в канал блок по такому же правилу.At the beginning of the transmission from the source to the encoder on the receiving side, symbols encoded in code and stored in storage and issued to the channel. The receiving side checks for errors. If no errors are found in the received vector, an acknowledgment signal ACK is sent to the feedback channel. After receiving the ACK signal on the receiving side, a block is formed and issued to the channel according to the same rule.
Если же на приемной стороне при выполнении CRC проверки обнаружены ошибки, принятый блок сохраняется и на передающую сторону по каналу ОС поступает сигнал обнаружения ошибки NACK. По этому сигналу кодер на приемной стороне формирует следующий вектор. Структура кодовых слов представлена на фиг.1. При этом первые k2 символов получают от источника, следующие k1-k2 повторяют символы от предыдущего вектора на позициях от k1+1 до k0. Эти символы задают номер смежного класса кода А1, которому принадлежит ранее переданный вектор. Символы с номерами k1+1 до k0 заполняются нулями, для того чтобы при кодировании вектор у принадлежал коду A1. Сформированное кодовое слово выдается в канал.If errors are detected on the receiving side during the CRC check, the received block is stored and the NACK error detection signal is sent to the transmitting side via the OS channel. On this signal, the encoder on the receiving side generates the next vector. The structure of the code words is shown in Fig.1. In this case, the first k 2 characters are received from the source, the next k 1 -k 2 repeat the characters from the previous vector at positions from k 1 +1 to k 0 . These symbols specify the number of the adjacent A1 code class to which the previously transmitted vector belongs. Symbols with numbers k 1 +1 to k 0 are filled with zeros so that when encoding the vector y belongs to the code A 1 . The generated code word is issued to the channel.
На приемной стороне выполняется обнаружение ошибок в коде А0. Если принято решение об отсутствии ошибок информационные символы декодируются, номер смежного класса используется для определения образующего смежного класса для перевода в код A1. Затем производится декодирование с исправлением ошибок с последующей проверкой. Если ошибка не обнаружена, получателю выдаются k1 информационных символов из накопителя , а затем k2 символов из накопителя On the receiving side, error detection is performed in the A 0 code. If it is decided that there are no errors, the information symbols are decoded, the coset number is used to determine the generatrix of the coset for translation. to code A 1 . Then decoding with error correction is performed, followed by verification. If no error is found, the recipient receives k 1 information characters from the accumulator and then k2 characters from the drive
Если после прием блока y возникает ошибка, приемник по запросу передает повторно. При идущих подряд запросах повторение продолжается поочередно.If an error occurs after receiving block y, the receiver, on request, sends again. For consecutive requests, repetition continues in sequence.
Таким образом, за счет использования при переспросе кода A1 с исправлением ошибок, уменьшается количество переспросов, при этом структура вложенных кодов позволяет дополнительно передать при запросе новые символы в кодовых словах длины n и ограничить количество сохраняемых кодовых векторов.Thus, due to the use of error-correcting code A 1 during re-interrogation, the number of re-interrogations is reduced, while the structure of nested codes allows you to additionally transmit new characters in code words of length n during the request and limit the number of stored code vectors.
При практической реализации целесообразным является использование в качестве кода А0 без избыточного кода с параметрами k0=n и d=1. При этом обнаружение ошибок может осуществляться с помощью циклического кода - (CRC). Это создает возможность применить способ в существующих системы связи без вмешательства в аппаратную часть, за счет реализации на уровне формирования полезной нагрузки пакета. Одновременно выполнение проверок CRC-16 или CRC-32 обеспечивает малую вероятность не обнаруживаемых ошибок.In practical implementation, it is advisable to use A 0 as a code without redundant code with parameters k 0 =n and d=1. In this case, error detection can be carried out using a cyclic code - (CRC). This creates an opportunity to apply the method in existing communication systems without interfering with the hardware, due to the implementation at the level of formation of the payload of the packet. Simultaneously performing CRC-16 or CRC-32 checks provides a low probability of undetected errors.
Реализация способа поясняется нижеследующим описанием алгоритмов работы приемной и передающей части системы.The implementation of the method is explained by the following description of the algorithms for the operation of the receiving and transmitting parts of the system.
На передающей стороне.on the transmitting side.
Для реализации способа передающая сторона должна располагать двумя накопителями для хранения кодовых векторов длины и счетчиком поступающих из обратного канала сигналов NACK -N в начале передачи Передатчик ожидает поступления сигнала ОС (фиг.1). Будем полагать, что формирование первого кодового блока происходит по поступлению АСК от приемника. Если ОС=АСК, то и от источника поступает набор информационных символов un. Часть символов сохраняют в накопителе производят кодирование Результат кодирования сохраняют в накопителе Производят кодирование циклическим помехоустойчивым кодом, образуя набор CRC Передают в канал для приемника последовательность символов из накопителя с добавленным CRC: После передачи пакета приемник переходит в ожидание сигнала ОС. Если принят сигнал АСК, то последовательность действий, описанная в предыдущем абзаце, повторяется.To implement the method, the transmitting side must have two drives for storing code vectors of length and a counter of NACK signals coming from the reverse channel -N at the beginning of transmission The transmitter is waiting for the OS signal (figure 1). We will assume that the formation of the first code block occurs upon receipt of an ACK from the receiver. If OS=ACK, then and a set of information symbols comes from the source u n . Part of the characters are stored in the drive produce coding The encoding result is stored in the drive Encoding is performed with a cyclic error-correcting code, forming a CRC set A sequence of symbols from the accumulator is transmitted to the channel for the receiver with added CRC: After the packet is transmitted, the receiver switches to waiting for the OS signal. If an ACK signal is received, then the sequence of actions described in the previous paragraph is repeated.
Если принят сигнал NACK, то счетчик количества переспросов увеличивается на единицу: N=N+1 и производят проверку значения N. Если N=1 (первый NACK после предшествующего АСК), то формируют новый кодовый вектор При этом от источника получают k2 символов Этот набор вместе с сохраненным и набором нулевых символов длины n-k1 используют для кодирования:If a NACK signal is received, then the counter of the number of retries is increased by one: N=N+1 and the value of N is checked. If N=1 (the first NACK after the previous ACK), then a new code vector is formed In this case, k 2 symbols are received from the source This set, along with the saved and a set of zero characters of length nk 1 is used for encoding:
. Вектор теперь принадлежит коду А1. Для него вычисляют и передают в канал на приемную сторону, переходят к ожиданию очередного сигнала ОС. Структура изображена на фиг.2. . Vector now belongs to code A 1 . For him calculate and pass into the channel on the receiving side, proceed to waiting for the next OS signal. Structure shown in Fig.2.
Если количество поступивших по каналу ОС последовательных сигналов NACK N≠1, то передают поочередно блоки для четного и нечетного значений N соответственно, до момента получения ACK или исчерпания лимита повторений (на фиг.1 не показано).If the number of serial NACK signals received over the OS channel is N≠1, then blocks are transmitted in turn for even and odd values of N, respectively, until an ACK is received or the repetition limit is exhausted (not shown in FIG. 1).
На приемной сторонеOn the receiving side
Принятый из канала пакет поступает в накопитель В зависимости от количества последовательных переспросов N содержимое помещается в накопители и для обработки переданных по каналу блоков . В начальный момент N=0, накопители пусты, ожидают прием пакета. Последовательность действий на приемной стороне поясняется на фиг.3.The packet received from the channel enters the drive Depending on the number of consecutive retries N, the content placed in storage and for processing blocks transmitted over the channel . At the initial moment N=0, the drives are empty, waiting for the packet to be received. The sequence of actions on the receiving side is illustrated in Fig.3.
Если в пакете не обнаружены ошибки, CRC(Z)=Ok, по восстанавливают сообщение из n символов , используя преобразование, обратное кодированию. По обратному каналу при этом передают сигнал подтверждения ОС=ACK, N=0, накопителя очищаются, переходят к приему очередного сообщения из канала.If no errors were found in the packet, CRC(Z)=Ok, by recover a message of n characters , using the inverse encoding transformation. At the same time, the confirmation signal OS=ACK, N=0 is transmitted over the reverse channel, the drives are cleared, and they proceed to receive the next message from the channel.
Если в пакете обнаружены ошибки, принятый блок сохраняют в накопителе формируют сигнал OC=NACK, счетчик количества запросов меняет состояние N=N+1, переходят к приему очередного сообщения из канала.If errors are found in the packet, the received block is stored in the drive form the signal OC=NACK, the counter of the number of requests changes state N=N+1, proceed to receive the next message from the channel.
При любом нечетном N (N=1mod2), в накопителе приемника уже содержится ранее принятый пакет с обнаруженным сочетанием ошибок. Принятый пакет сохраняют в накопителе подвергают проверке на CRC и, если ошибок не обнаружено, восстанавливают символы, определяющие номер смежного класса и набор информационных символов используя обратимость операции кодирования. Если проверка CRC пакета привела к обнаружению ошибки, то производят декодирование в коде A1 с исправлением ошибок и последующей проверке CRC. При удачной попытке исправления ошибок восстанавливают Если попытка декодирование не привела к исправлению ошибок, то в канал ОС отправляют NACK, увеличивают значение счетчика N=N+1 и переходят к ожиданию очередного пакета из канала.For any odd N (N=1mod2), in the drive receiver already contains a previously received packet with a detected pattern of errors. The received packet is stored in the drive subjected to a CRC check and, if no errors are found, restore the characters that determine the number of the adjacent class and a set of information symbols using the reversibility of the encoding operation. If the packet CRC check led to the detection of an error, then decoding is performed in code A 1 with error correction and subsequent CRC check. If the error correction attempt is successful, restore If the decoding attempt did not lead to error correction, then NACK is sent to the OS channel, the counter value N=N+1 is increased, and the next packet is waiting from the channel.
Если же успешно декодирован (или принят без ошибок), то полученные в нем символы задают номер смежного класса и позволяют выполнить декодирование кодового вектора из накопителя в коде A1 с исправлением ошибок и проверкой CRC.If successfully decoded (or received without errors), then the characters received in it specify the number of the adjacent class and allow decoding of the code vector from the accumulator in code A 1 with error correction and CRC check.
Если декодирование в коде A1 успешно, то выделяют k1 символов, объединяют с n-k1 символами (напомним, что n-k1=k1-k2) и k2 символами, полученными из вектора Получателю выдают n+k2 символов, передают в обратный канал ОС=ACK, счетчик обнуляют N=0, накопители очищают Х=0 Y=0, переходят к ожиданию следующего пакета. Если же декодирование в коде A1 не успешно, то в канал ОС отправляют NACK, увеличивают значение счетчика N=N+1 и переходят к ожиданию очередного пакета из канала.If decoding in code A 1 is successful, then k 1 symbols are extracted, combined with nk 1 symbols (recall that n-k1=k1-k2) and k 2 characters obtained from the vector The recipient is given n+k 2 symbols, transmitted to the reverse channel OS=ACK, the counter is reset to N=0, the drives clear X=0 Y=0, proceed to wait for the next packet. If the decoding in code A 1 is not successful, then NACK is sent to the OS channel, the counter value N=N+1 is increased and the next packet is waiting for the next packet from the channel.
При любом четном N≠0 (N=0 mod2) принятый пакет помещают в накопитель производят проверку CRC. Если ошибок не обнаружено, то выделяют номер смежного класса и декодируют коде А2 с последующей проверкой CRC. Если декодирование в коде А2 успешно, получателю выдают n+k2 символов, передают в обратный канал ОС:=ACK, устанавливают N=0, Х=0, Y=0 и переходят к ожиданию следующего пакета.For any even N≠0 (N=0 mod2) the received packet placed in storage perform a CRC check. If no errors are found, then the number of the adjacent class is allocated and decode code A 2 followed by a CRC check. If the decoding in code A 2 is successful, the receiver is given n+k 2 symbols, transmitted in the reverse channel OS:=ACK, set N=0, X=0, Y=0 and proceed to wait for the next packet.
Если же в вычисление CRC привело к обнаружению ошибки, то в канал ОС отправляют NACK, увеличивают значение счетчика N=N+1 и переходят к ожиданию очередного пакета из канала.If in calculation of the CRC led to the detection of an error, then a NACK is sent to the OS channel, the counter value N=N+1 is increased, and the next packet is waiting for the channel.
Claims (1)
Publications (1)
Publication Number | Publication Date |
---|---|
RU2786023C1 true RU2786023C1 (en) | 2022-12-16 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2239952C1 (en) * | 2003-02-11 | 2004-11-10 | Федеральное государственное унитарное предприятие "Калужский научно-исследовательский институт телемеханических устройств" | Method for transferring messages in systems with feedback |
RU2263405C1 (en) * | 2004-04-07 | 2005-10-27 | Гармонов Александр Васильевич | Method for synchronous data transfer with check communication and device for realization of said method |
EP2387175B1 (en) * | 2010-05-10 | 2012-12-12 | Commissariat à l'Énergie Atomique et aux Énergies Alternatives | Packet-transmission method for a wireless telecommunication system using ciphering and HARQ mechanisms. |
WO2017210205A1 (en) * | 2016-06-01 | 2017-12-07 | Qualcomm Incorporated | Encoding and decoding of control signaling with sectional redundancy check |
RU2674316C1 (en) * | 2017-12-29 | 2018-12-06 | Общество с ограниченной ответственностью "Радио Гигабит" | Method of implementation of hybrid automatic transfer request when using multilevel data coding |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2239952C1 (en) * | 2003-02-11 | 2004-11-10 | Федеральное государственное унитарное предприятие "Калужский научно-исследовательский институт телемеханических устройств" | Method for transferring messages in systems with feedback |
RU2263405C1 (en) * | 2004-04-07 | 2005-10-27 | Гармонов Александр Васильевич | Method for synchronous data transfer with check communication and device for realization of said method |
EP2387175B1 (en) * | 2010-05-10 | 2012-12-12 | Commissariat à l'Énergie Atomique et aux Énergies Alternatives | Packet-transmission method for a wireless telecommunication system using ciphering and HARQ mechanisms. |
WO2017210205A1 (en) * | 2016-06-01 | 2017-12-07 | Qualcomm Incorporated | Encoding and decoding of control signaling with sectional redundancy check |
RU2674316C1 (en) * | 2017-12-29 | 2018-12-06 | Общество с ограниченной ответственностью "Радио Гигабит" | Method of implementation of hybrid automatic transfer request when using multilevel data coding |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4344171A (en) | Effective error control scheme for satellite communications | |
US8386901B2 (en) | Method, device and software application for transmitting data packets in a communication system | |
KR101143282B1 (en) | Systematic encoding and decoding of chain reaction codes | |
KR101355761B1 (en) | Multiple-field based code generator and decoder for communications systems | |
US6728920B1 (en) | Method for correcting errors in transfer of information | |
EP1154576A2 (en) | Error detection scheme for ARQ systems | |
US10992416B2 (en) | Forward error correction with compression coding | |
US10721020B2 (en) | Parity frame | |
CN102148665A (en) | Decoding method for LT (language translation) codes | |
CN111865491B (en) | Polarization coding hybrid automatic repeat request self-decoding method, device and system | |
US9054741B2 (en) | Method and apparatus for transmitting and receiving in a communication/broadcasting system | |
RU2786023C1 (en) | Method for message transmission in systems with feedback and hybrid automatic repeat request | |
KR100550414B1 (en) | Encoding and Decoding Apparatus using Low Density Parity Check codes | |
JP3388035B2 (en) | Data communication system, transmission apparatus and transmission method using hybrid automatic repeat request method | |
KR20090061563A (en) | Method of error control | |
Chaudhary et al. | Error control techniques and their applications | |
Garg et al. | An introduction to various error detection and correction schemes used in communication | |
US10771191B2 (en) | System for highly reliable file delivery of using continuous FEC encoding/decoding | |
EP2930852B1 (en) | Constructing a reliable data stream | |
Chang | A new adaptive hybrid ARQ scheme | |
Paul et al. | ARQ protocol on Mobile Communication and Networks | |
Paul et al. | Throughput analysis on a scheme of product codes for ARQ protocol | |
RU2595627C1 (en) | Method of transmitting-receiving messages in communication systems | |
JP2010028770A (en) | Communication system, receiver, transmitter, communication method, and program | |
Dholakia et al. | Variable-Redundancy Error Control Schemes |