RU2700398C1 - Method of transmitting data in a digital radio communication system based on codes with low density of parity checks and a method of interleaving code symbols - Google Patents
Method of transmitting data in a digital radio communication system based on codes with low density of parity checks and a method of interleaving code symbols Download PDFInfo
- Publication number
- RU2700398C1 RU2700398C1 RU2018147518A RU2018147518A RU2700398C1 RU 2700398 C1 RU2700398 C1 RU 2700398C1 RU 2018147518 A RU2018147518 A RU 2018147518A RU 2018147518 A RU2018147518 A RU 2018147518A RU 2700398 C1 RU2700398 C1 RU 2700398C1
- Authority
- RU
- Russia
- Prior art keywords
- code
- sequence
- symbols
- generalized
- interleaved
- 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
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
-
- 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
- H03M13/1134—Full parallel processing, i.e. all bit nodes or check nodes are processed in parallel
-
- 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
- H03M13/1137—Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
-
- 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/27—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 using interleaving techniques
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
Изобретение относится к области теории кодирования в частности к системам для объединенного кодирования с исправлением и обнаружением ошибок с целью повышения эффективности использования спектра при передаче данных в цифровой системе радиосвязи.The invention relates to the field of coding theory, and in particular to systems for combined coding with error correction and detection in order to increase the efficiency of spectrum use when transmitting data in a digital radio communication system.
Актуальной является задача не только исправление ошибок при канальном кодировании, но и обнаружения неисправленных ошибок и организация автоматического запроса повторения (АЗП) с целью исправить подобные ошибки за счет дополнительной передачи минимально возможного числа кодовых символов. The urgent task is not only the correction of errors in channel coding, but also the detection of uncorrected errors and the organization of an automatic repeat request (AZP) in order to correct such errors due to the additional transmission of the minimum possible number of code symbols.
Широко известен параллельный сверточный турбокод [ Berrou C. Near Shannon limit error – correcting coding and decoding / C. Berrou, A. Glaviex, P. Thitimajshina // IEEE International Communications Conference : Proc. 1993. – Geneva (Switzerland), 1993. – P. 1064–1070], позволивший приблизиться к потенциально достижимым характеристикам помехоустойчивого кодирования. Способ характеризуется следующим. На вход первого кодера подается информационная последовательность, на вход второго подается та же последовательность, но после перемежителя. Тем самым достигается статистическая независимость, особенно при больших размерах кодового блока. Итеративный подход заключается в том, что результаты одного декодирования с мягким выходом могут использоваться при другом декодировании, как априорная информация. Однако турбокод не является более эффективным, чем сверточный код, декодируемый по алгоритму Витерби, при размере фрейма менее 200 бит.The parallel convolutional turbo code is widely known [Berrou C. Near Shannon limit error - correcting coding and decoding / C. Berrou, A. Glaviex, P. Thitimajshina // IEEE International Communications Conference: Proc. 1993. - Geneva (Switzerland), 1993. - P. 1064-1070], which allowed approaching the potentially achievable characteristics of noise-resistant coding. The method is characterized by the following. An information sequence is fed to the input of the first encoder, the same sequence is fed to the input of the second, but after the interleaver. Thus, statistical independence is achieved, especially with large code block sizes. The iterative approach is that the results of one decoding with a soft output can be used with another decoding, as a priori information. However, the turbo code is not more efficient than the convolutional code decoded by the Viterbi algorithm with a frame size of less than 200 bits.
Аналогом заявляемого способа является продукт фирмы Trellis Ware код F-LDPC [Halford, Thomas & Bayram, Metin & Kose, Cenk & M. Chugg, Keith & Polydoros, Andreas. (2008). The F-LDPC Family: High-Performance Flexible Modern Codes for Flexible Radio. 376 - 380. 10.1109/ISSSTA.2008.75.]. Достоинством этого решения является глубокая интеграция протокола автоматического запроса повторной передачи (АЗП) с алгоритмом помехоустойчивого кодирования. Утверждается, что решение обладает максимально гибкими возможностями, одно ядро кодер/декодер поддерживает 40 кодовых скоростей (1/2–32/33) при этом допустимые размеры фрейма: 128, 256, 512, …, 16384 бит. Однако, например, для голосовых данных, размеры фреймы, производимые вокодером, могут составлять 16, 40, 80, 172 бита, таким образом невозможность работать с блоками от 20 бит является недостатком кода F-LDPC.An analogue of the proposed method is a product of the company Trellis Ware code F-LDPC [Halford, Thomas & Bayram, Metin & Kose, Cenk & M. Chugg, Keith & Polydoros, Andreas. (2008). The F-LDPC Family: High-Performance Flexible Modern Codes for Flexible Radio. 376 - 380. 10.1109 / ISSSTA.2008.75.]. The advantage of this solution is the deep integration of the automatic retransmission request protocol (ADR) with the error-correcting coding algorithm. It is argued that the solution has the most flexible capabilities, a single encoder / decoder core supports 40 code rates (1 / 2–32 / 33) while the permissible frame sizes are 128, 256, 512, ..., 16384 bits. However, for example, for voice data, the frame sizes produced by the vocoder can be 16, 40, 80, 172 bits, so the inability to work with blocks of 20 bits or more is a drawback of the F-LDPC code.
Классическая АЗП (ARQ), которая при ошибочном декодировании кадра предусматривает стирание принятых данных, полную повторную передачу кадра и независимое декодирование вновь полученного кадра не эффективна, т.к. приводит к слишком большой избыточной передаче данных. В настоящее время все большое распространение получает гибридная повторная передача [Error Control Coding: Fundamentals and Applications/ S. Lin, D. J. Costello, Jr. – NJ: Englewood Cliffs. – 1983. – 603 p.]. Суть метода в том, что более эффективной является такая стратегия, которая предусматривает при ошибочном декодировании сохранение данных кадра, получение от передатчика некоторой дополнительной информации, и повторное декодирование кадра с использованием этой дополнительной информации. Если объем дополнительной информации меньше объема целого кадра, то эффективность использования канала связи существенно увеличивается. Данный подход исследован Хагенауэром [J. Hagenauer. Rate Compatible Punctured Convolutional Codes (RCPC Codes) and their Applications. // IEEE Trans. Commun. – Vol. 36. – Apr. 1988. – P. 389-400.] и Чейзом [D. Chase. Code Combining A MaximumLikelihood Decoding Approach for Combining an Arbitrary Number of Noisy Packets. // IEEE Trans. Comm. – Vol. 33. – May 1985. – P. 385393] с разных позиций.The classic ARQ (ARQ), which in case of erroneous decoding of the frame involves erasing the received data, a complete retransmission of the frame and independent decoding of the newly received frame is not effective, because leads to too much redundant data transfer. Hybrid retransmission is becoming increasingly common [Error Control Coding: Fundamentals and Applications / S. Lin, D. J. Costello, Jr. - NJ: Englewood Cliffs. - 1983. - 603 p.]. The essence of the method is that such a strategy is more effective that provides for error decoding to save the frame data, obtain some additional information from the transmitter, and re-decode the frame using this additional information. If the amount of additional information is less than the volume of the whole frame, then the efficiency of using the communication channel is significantly increased. This approach was investigated by Hagenauer [J. Hagenauer. Rate Compatible Punctured Convolutional Codes (RCPC Codes) and their Applications. // IEEE Trans. Commun. - Vol. 36. - Apr. 1988. - P. 389-400.] And Chase [D. Chase. Code Combining A Maximum Likelihood Decoding Approach for Combining an Arbitrary Number of Noisy Packets. // IEEE Trans. Comm. - Vol. 33. - May 1985. - P. 385393] from different positions.
Рассмотрим классификацию рассмотренных схем АЗП (ARQ):Consider the classification of the considered schemes AZP (ARQ):
• Гибридная АЗП Типа 1 (НARQ-1 – суммирование Чейза). Данная стратегия повторной передачи характеризуется тем, что повторно передается тот же самый кадр.• Hybrid AZP Type 1 (HARQ-1 - Chase summation). This retransmission strategy is characterized in that the same frame is retransmitted.
• Гибридная АЗП Типа 2 (НARQ-2 – наращивание избыточности). Данная стратегия повторной передачи характеризуется тем, что число бит для повторной передачи меньше, чем в исходном кадре. Копия для повторной передачи не может быть декодируема самостоятельно.• Hybrid AZP Type 2 (HARQ-2 - increasing redundancy). This retransmission strategy is characterized in that the number of bits for retransmission is less than in the original frame. A copy for retransmission cannot be decoded on its own.
• Гибридная АЗП Типа 3 (НARQ-3). Копия для повторной передачи может декодироваться самостоятельно. Однако кадр для повторной передачи может отличаться от первоначально переданного кадра, то есть может быть закодирован другим кодом.• Hybrid AZP Type 3 (HARQ-3). A copy for retransmission can be decoded independently. However, the frame for retransmission may differ from the originally transmitted frame, that is, it may be encoded with a different code.
Данную классификацию можно обобщить следующим образом:This classification can be summarized as follows:
• АЗП (ARQ) с полной передачей (к ней относится Тип 1 и Тип 3).• Automatic transfer station (ARQ) with full transmission (
• АЗП (ARQ) с частичной передачей (Тип 2).• Automatic transfer circuit (ARQ) with partial transmission (Type 2).
Темой дальнейшего исследования будет частичная передача – гибридная АЗП типа 2 (HARQ-2).The topic of further research will be a partial transmission - hybrid AZP type 2 (HARQ-2).
Возможны несколько подходов к реализации подобной стратегии АЗП (ARQ):Several approaches to the implementation of such a strategy of ARP (ARQ) are possible:
1. Повторная передача части ранее переданных кодовых символов кадра и их оптимальное сложение с кодовыми символами, сохраненными в памяти приемника. 1. Retransmission of part of the previously transmitted code symbols of the frame and their optimal addition to the code symbols stored in the receiver.
2. Использование кодов с нарастающей сложностью. В случае ошибочного декодирования на передающей стороне вычисляются новые (дополнительные) проверочные символы, которые передаются приемнику.2. The use of codes with increasing complexity. In case of erroneous decoding on the transmitting side, new (additional) check symbols are calculated, which are transmitted to the receiver.
В классе линейных блоковых кодов можно особо выделить подкласс кодов с низкой плотностью проверок на четность [Gallager R. “Low Density Parity Check Codes”// MIT Press 1963], превосходящий по своим характеристикам турбокод. Особенностью данного кода является наличие простой графической модели алгоритма декодирования определяемого как декодирование на графе (фиг. 1). Декодирование на графе следует понимать в том смысле, что граф определяет разбиение всего кодового слова на более короткие коды, причем короткие коды могут перекрываться друг с другом. Избежать данных перекрытий можно путем повторения перекрывающихся кодовых символов. Разные копии принятого кодового символа или мягкого решения об этом символе входят в различные кодовые слова более короткого кода, при этом все кодовые слова короткого кода могут быть декодированы независимо. Такая структура может быть представлена в виде двудольного графа один тип вершин, которого ассоциирован с кодовыми символами, причем количество ребер исходящих из каждой вершины соответствует количеству повторений кодового символа (переменная вершина – обозначена прямоугольником). Другой тип вершин соответствует коротким кодам, причем каждая вершина есть кодовое слово с количеством кодовых символов равным числу входящих ребер (проверочная вершина – обозначена кругом). Каждой проверочной вершине может быть приписана контрольная сумма, как индикатор наличия ошибок в коротком коде. Переменные вершины могут быть соединены только с проверочными вершинами, и, наоборот, проверочные вершины могут быть соединены только с переменными вершинами, что позволяет рассматривать граф как двудольный.In the class of linear block codes, one can especially distinguish a subclass of codes with a low density of parity checks [Gallager R. “Low Density Parity Check Codes” // MIT Press 1963], which is superior in its characteristics to a turbo code. A feature of this code is the presence of a simple graphical model of a decoding algorithm defined as decoding on a graph (Fig. 1). Decoding on a graph should be understood in the sense that the graph defines a partition of the entire code word into shorter codes, and short codes can overlap with each other. Overlapping data can be avoided by repeating overlapping code characters. Different copies of the received code symbol or soft decision on this symbol are included in different code words of the shorter code, and all code words of the short code can be decoded independently. Such a structure can be represented as a bipartite graph, one type of vertices, which is associated with code symbols, and the number of edges outgoing from each vertex corresponds to the number of repetitions of the code symbol (a variable vertex is indicated by a rectangle). Another type of vertices corresponds to short codes, and each vertex is a codeword with the number of code symbols equal to the number of incoming edges (the verification vertex is indicated by a circle). A checksum can be assigned to each test vertex as an indicator of errors in the short code. Variable vertices can only be connected with test vertices, and, conversely, test vertices can only be connected with variable vertices, which allows us to consider the graph as bipartite.
Такой двудольный граф называют графом Таннера [Tanner R.M. A Recursive Approach to Low Complexity Codes / R.M. Tanner // IEEE Transaction on Information Theory. – 1981. –Vol. IT27, № 9. – P. 533547]. По сути, для линейного блокового кода, граф Таннера является графическим представлением проверочной матрицы. Безошибочное декодирование характеризуется равенством нулю всех контрольных сумм – кодовых ограничений.Such a bipartite graph is called the graph of Tanner [Tanner R.M. A Recursive Approach to Low Complexity Codes / R.M. Tanner // IEEE Transaction on Information Theory. - 1981. –Vol. IT27, No. 9. - P. 533547]. In fact, for a linear block code, the Tanner graph is a graphical representation of the verification matrix. Error-free decoding is characterized by the equality to zero of all checksums - code constraints.
Код с низкой плотностью проверок на четность может быть декодирован в мягких решениях, используя алгоритм обмена сообщений (фиг. 1). Алгоритм обмена сообщениями [Gallager R. “Low Density Parity Check Codes”// MIT Press 1963] инициализируют каждый переменную вершину информацией о достоверности приема каждого символа (мягким решением), полученной из канала.Code with a low density of parity checks can be decoded in soft solutions using the message exchange algorithm (Fig. 1). The messaging algorithm [Gallager R. “Low Density Parity Check Codes” // MIT Press 1963] initialize each variable vertex with information about the reliability of reception of each symbol (soft decision) received from the channel.
1. Вычисляют значение исходящего сообщения от переменной вершины равного апостериорной вероятности для кодового символа принять определенное значение кодового символа, отнесенного к этому переменной вершине для каждого ребра двудольного графа.1. The value of the outgoing message from the variable vertex of equal posterior probability for the code symbol is calculated to take a certain value of the code symbol assigned to this variable vertex for each edge of the bipartite graph.
2. В каждом проверочной вершине модифицируют исходящие сообщения от тех переменных вершин, с которым они связаны ребром двудольного графа, и для которого они являются входящими, ставя в соответствие каждому ребру исходящие сообщения проверочной вершине, которые равны второму набору вероятностей для кодового символа принять определенное значение.2. At each test vertex, outgoing messages from those variable vertices with which they are connected by the edge of the bipartite graph and for which they are incoming are modified, modifying each edge with outgoing messages to the test vertex, which are equal to the second set of probabilities for the code symbol to take a certain value .
3. Обновляют исходящие сообщение переменной вершине входящими сообщениями, которые являются исходящими сообщениями проверочной вершине.3. Update the outgoing message to the variable vertex with incoming messages, which are outgoing messages to the verification vertex.
4. Повторяют итерации определенное число раз или до тех пор, пока кодовые ограничения не будут выполнены.4. Repeat iterations a certain number of times or until code restrictions are met.
Знак исходящего сообщения выбирают таким, чтобы удовлетворить кодовым ограничениям. Абсолютное значение исходящего сообщения вычисляют при помощи функции . Эта функция является решающей функцией или логарифмом отношения правдоподобия. Функция обладает коммутативностью:The sign of the outgoing message is selected so as to satisfy code constraints. The absolute value of the outgoing message is calculated using the function . This function is the decisive function or the logarithm of the likelihood ratio. The function has commutativity:
Есть несколько методов для определения функции . Наиболее простой известен как алгоритм “min-sum”. Абсолютное значение исходящего сообщения равно минимальному абсолютному значению среди входящих сообщений за исключением сообщения от той вершины, для которого предназначено данное исходящее сообщение:There are several methods for defining a function. . The simplest is known as the min-sum algorithm. The absolute value of the outgoing message is equal to the minimum absolute value among incoming messages, with the exception of the message from the vertex for which this outgoing message is intended:
Другой метод задания функции состоит в определении функции через функцию , применяемую в LOG MAP алгоритме [Pietrobon S.S. Implementation and Performance of a Turbo/MAP Decoder / S.S. Pietrobon // International J. of Satellite Communication. – 1998. Vol. 16 (Jan-Feb). – P. 23-46]. Функция может быть задана как:Another method of specifying a function consists in defining a function through a function used in the LOG MAP algorithm [Pietrobon SS Implementation and Performance of a Turbo / MAP Decoder / SS Pietrobon // International J. of Satellite Communication. - 1998. Vol. 16 (Jan-Feb). - P. 23-46]. The function can be defined as:
Где функция , может быть представлена в виде таблицы.Where is the function may be presented in tabular form.
Существует модификация предложенного метода, где дополнительное слагаемое определено как:There is a modification of the proposed method, where the additional term defined as:
Модификации этого алгоритма приведена в [W.K Leung,W.L Lee,A.Wu,L.Ping,“ Efficient implementation technique of LDPC decoder ”Electron.Lett..,vol.37(20),pp.1231-1232,Sept2001]. Данный метод не требует таблицы, но приводит к некоторому ухудшению характеристик, но зато позволяет сократить число операций при декодировании.Modifications of this algorithm are given in [W.K Leung, W.L Lee, A.Wu, L. Ping, “Efficient implementation technique of LDPC decoder” Electron.Lett .., vol. 37 (20), pp.1231-1232, Sept2001]. This method does not require a table, but leads to some deterioration in performance, but it allows you to reduce the number of operations during decoding.
Известен способ декодирования на графе, включающий в себя построение двудольного графа известен из патента US 4295218 Tanner “Error-correcting coding system” , Oct.13, 1981, G06F 11/10. Данный способ характеризуется следующей последовательностью действий:A known method of decoding on a graph, including the construction of a bipartite graph is known from patent US 4295218 Tanner “Error-correcting coding system”, Oct.13, 1981, G06F 11/10. This method is characterized by the following sequence of actions:
на передающей стороне:on the transmitting side:
• формируют пакеты данных, каждый из которых содержит упорядоченную последовательность информационных символов; • form data packets, each of which contains an ordered sequence of information symbols;
• определяют подкоды для последовательности информационных символов и для каждого подкода формируют проверочные символы;• determine the subcodes for the sequence of information symbols and for each subcode generate verification characters;
• формируют кодовое слово путем добавления проверочных символов к информационным символам; • form a code word by adding test characters to information characters;
на приемной стороне:on the receiving side:
• формируют принятые корреляционные отклики на каждый из переданных кодовых символов; • form the received correlation responses to each of the transmitted code symbols;
• выполняют оценку шумового параметра смеси сигнал плюс шум, которая приближенно равна величине стандартного отклонения эквивалентного гауссовского белого шума, которым аппроксимируются помехи в канале;• evaluate the noise parameter of the signal plus noise mixture, which is approximately equal to the standard deviation of the equivalent Gaussian white noise, which approximates the noise in the channel;
• формируют мягкие решения о принятых кодовых символах, используя полученную оценку шумового параметра смеси сигнал плюс шум; • form soft decisions about the adopted code symbols using the obtained estimate of the noise parameter of the signal plus noise mixture;
• разделяют мягкие решения о принятых кодовых символах на решения об информационных символах и решения о проверочных символах;• share soft decisions on accepted code symbols into decisions on information symbols and decisions on verification symbols;
• формируют кодовые слова подкодов кода обобщенной проверки на четность;• form code words for subcodes of the code of the generalized parity check;
• для каждого мягкого решения, входящего в каждое кодовое слово кода обобщенной проверки на четность, формируют модифицированное мягкое решение, которое является исходящим сообщением кодового слова кода обобщенной проверки на четность, таким образом, что исходящее сообщение кодового слова кода обобщенной проверки на четность представляет собой результат функционального преобразования исходных мягких решений - входящих сообщений кодового слова кода обобщенной проверки на четность;• for each soft decision included in each code word of the generalized parity check code, a modified soft solution is formed, which is an outgoing message of the code word of the general parity check code, so that the outgoing message of the code word of the general parity check code is the result functional transformation of the original soft decisions - incoming messages of the code word of the code of a generalized parity check;
• применяют полученные исходящие сообщения кодового слова кода обобщенной проверки на четность к тем переменным вершинам, с которыми подкоды кода обобщенной проверки на четность связаны посредством ребер двудольного графа и формируют подкоды кода повторений;• apply the received outgoing messages of the code word of the generalized parity check code to those variable vertices with which the subcodes of the generalized parity check code are connected by the edges of the bipartite graph and form subcodes of the repetition code;
• для каждого мягкого решения, входящего в каждое кодовое слово обобщенного кода повторения, формируют модифицированное мягкое решение, которое является исходящим сообщением кодового обобщенного кода повторения, представляющее собой результат функционального преобразования над входящими сообщениями кодового слова обобщенного кода повторения;• for each soft decision that is included in each code word of the generalized repetition code, a modified soft solution is formed, which is an outgoing message of the code generalized repetition code, which is the result of a functional transformation over the incoming messages of the code word of the generalized repetition code;
• итеративно повторяют процесс обмена исходящими и входящими сообщениями таким образом, что исходящее сообщение кодового слова обобщенного кода повторений является входящим сообщением кодового слова кода обобщенной проверки на четность, а исходящее сообщение кода обобщенной проверки на четность является входящим сообщением кодового слова обобщенного кода повторений, формируя на каждой итерации последовательность модифицированных мягких решений;• iteratively repeat the process of exchanging outgoing and incoming messages in such a way that the outgoing message of the code word of the generalized repetition code is the incoming message of the code word of the generalized parity check code, and the outgoing message of the code of the generalized parity check code is the incoming message of the code word of the generalized repetition code, forming each iteration, a sequence of modified soft solutions;
• из последовательности модифицированных мягких решений формируют декодированные кодовые слова;• decoded codewords are formed from a sequence of modified soft decisions;
• умножают каждое декодированное кодовое слово на проверочную матрицу, получая упорядоченную последовательность контрольных сумм.• Multiply each decoded codeword by a check matrix to obtain an ordered sequence of checksums.
Однако следует отметить, что применяемое повторение кодовых символов может быть обобщенным, то есть вместо повторения может использоваться кодирование или отображением одного кодового символа в отличные от него символов, возможно, другого алфавита.However, it should be noted that the used repetition of code symbols can be generalized, that is, instead of repetition, encoding can be used or by mapping one code symbol to different ones characters, possibly another alphabet.
Операцию определения подкодов могут, например, составлять следующие действия:The operation of determining subcodes can, for example, comprise the following actions:
• каждый информационный символ повторяют определенное число раз, в зависимости от его номера по порядку в последовательности символов, формируя последовательность повторенных информационных символов, причем количество повторений определяется заранее; • each information symbol is repeated a certain number of times, depending on its number in order in the sequence of characters, forming a sequence of repeated information symbols, and the number of repetitions is determined in advance;
• осуществляют перемежение в последовательности повторенных информационных символов, добиваясь достаточного разнесения идущих подряд повторенных информационных символов и формируя последовательность перемеженных повторенных информационных символов;• interleave in a sequence of repeated information symbols, achieving sufficient diversity of consecutive repeated information symbols and forming a sequence of interleaved repeated information symbols;
• разбивают перемеженные повторенные информационные символы на группы таким образом, что каждая группа образует кодовое слово подкода.• break the interleaved repeated information symbols into groups in such a way that each group forms a subcode codeword.
Формирование подкодов из последовательности принятых мягких решений на приемной стороне можно определить как следующую последовательность действий:The formation of subcodes from the sequence of soft decisions made on the receiving side can be defined as the following sequence of actions:
• повторяют мягкие решения об информационных символах в соответствии с шаблоном повторения информационных символов;• repeat soft decisions about information symbols in accordance with the pattern of repeating information symbols;
• повторяют мягкие решения о проверочных символах, по крайней мере, два раза за исключением последнего проверочного символа;• repeat soft decisions about check characters at least twice except for the last check character;
• для мягких решений об информационных символах выполняют перемежение аналогичное перемежению на передающей стороне;• for soft decisions about information symbols, they perform interleaving similar to interleaving on the transmitting side;
• формируют группы перемеженных мягких решений об информационных символах аналогичные группам соответствующих информационных символов на передающей стороне, образующие кодовое слово подкода обобщенной проверки на четность.• form groups of interleaved soft decisions about information symbols similar to groups of corresponding information symbols on the transmitting side, forming a code word for a subcode of a general parity check.
Применение полученных исходящих сообщений к исходной повторенной последовательности может быть реализовано путем выполнения следующей последовательности действий:Application of received outgoing messages to the original repeated sequence can be implemented by performing the following sequence of actions:
• деперемежают исходящие сообщения кодового слова кода обобщенной проверки на четность таким образом, что каждой копии мягкого решения о кодовом символе ставят в соответствие исходящее сообщение кодового слова кода обобщенной проверки на четность, соответствующее копии мягкого решения об этом символе;• deinterleave the outgoing message of the code word of the generalized parity check code so that each copy of the soft decision on the code symbol is associated with the outgoing message of the code word of the generalized parity code corresponding to the copy of the soft decision about this symbol;
• группируют исходящие сообщения кодового слова подкода обобщенной проверки на четность с мягкими решениями о принятых кодовых символах так, что в каждую группу входят мягкое решение о соответствующем кодовом символе и исходящие сообщение кодового слова кода обобщенной проверки на четность, соответствующее копии мягкого решения об этом символе, формируя, таким образом, кодовое слово обобщенного кода повторения, ставя каждое кодовое слово обобщенного кода повторения в соответствие кодовому символу, таким образом, что каждое исходящее сообщения кодового слова кода обобщенной проверки на четность является входящим сообщением кодового слова обобщенного кода повторения.• group outgoing messages of the code word of the generalized parity check subcode with soft decisions about the received code symbols so that each group includes a soft decision about the corresponding code symbol and outgoing messages of the code word of the general parity code corresponding to the copy of the soft decision about this symbol, thus forming the code word of the generalized repetition code, putting each codeword of the generalized repetition code in accordance with the code symbol, so that each outgoing A generalized parity check codeword message is an incoming codeword of a generalized repetition code.
Таким образом, операции на графе Таннера, представляющего собой графическую модель разбиения кода на подкоды могут быть описаны в виде повторения, перемежения, группирования, а шаблоны повторения, группирования и правило перемежения однозначно задают двудольный граф.Thus, operations on the Tanner graph, which is a graphical model of breaking code into subcodes, can be described as repetition, interleaving, grouping, and repetition, grouping patterns, and the interleaving rule uniquely define a bipartite graph.
Так турбокоды удобнее описывать в терминах повторения и перемежения, а коды с низкой плотностью проверок на четность в виде двудольного графа. So turbo codes are more convenient to describe in terms of repetition and interleaving, and codes with a low density of parity checks in the form of a bipartite graph.
Учитывая пример с линейным блоковым кодом, где короткий код – это проверка на четность или сложения всех кодовых символов по модулю 2, будем называть применяемый короткий код на графе обобщенной проверкой на четность, которая будет заключаться в суммировании всех кодовых символов в поле Галуа или суммировании чисел по заданному модулю. Если в процессе передачи ошибок нет, то все подобные контрольные суммы должны быть равны нулю.Considering the example with a linear block code, where the short code is a parity check or addition of all code symbols modulo 2, we will call the applied short code on a graph a general parity check, which will consist of summing all code symbols in the Galois field or summing numbers for a given module. If there are no errors during the transmission process, then all such checksums must be equal to zero.
Однако если код является систематическим и может быть разделен на проверочную и информационную составляющие, то вышеупомянутому методу присущ следующий недостаток. При ошибке декодирования только в проверочной части кодового слова и отсутствии ошибок в информационной части фрейм все равно будет помечен как ошибочный и стерт, а контрольная сумма CRC позволяет контролировать ошибки только в информационной составляющей кодового слова.However, if the code is systematic and can be divided into verification and information components, the following drawback is inherent in the above method. If there is a decoding error only in the verification part of the codeword and there are no errors in the information part, the frame will still be marked as erroneous and deleted, and the CRC checksum allows you to control errors only in the information component of the codeword.
Следуя терминологии из [П. Камерон, Дж. Ван Линт “Теория графов теория кодирования и блок-схемы”// M. Наука 1980], определим путь на графе как последовательность вершин, в которой соседние вершины смежные. Цикл – это путь, где начальные и конечные точки совпадают. Граф связен, если между любыми двумя вершинами существует путь, а метрикой расстояния между двумя вершинами будем считать длину кратчайшего пути между ними. Диаметром графа будем считать наибольшее значение расстояния между двумя любыми вершинами в графе, а обхватом графа – длину кратчайшего цикла без повторяющихся ребер при условии, что такой цикл существует. Валентностью вершины будем называть количество ребер, исходящих из этой вершины или количество вершин смежных данной. Если все вершины графа имеют одинаковую валентность, то граф будем называть регулярным. Хроматическим числом графа будем называть наименьшее количество цветов, в которые могут быть раскрашены все ребра графа таким образом, что любые два ребра, имеющие общую вершину, окрашены в разные цвета. Гамильтоновым путем или гамильтоновым циклом будем называть замкнутый цикл, без повторяющихся ребер, проходящий по всем вершинам графа единственный раз.Following the terminology from [P. Cameron, J. Van Lint “Graph theory coding theory and flowcharts” // M. Science 1980], we define a path on a graph as a sequence of vertices in which neighboring vertices are adjacent. A cycle is a path where the start and end points coincide. A graph is connected if there is a path between any two vertices, and the distance metric between the two vertices is the length of the shortest path between them. The diameter of the graph is the largest value of the distance between any two vertices in the graph, and the circumference of the graph is the length of the shortest cycle without repeating edges, provided that such a cycle exists. The valency of a vertex is the number of edges emanating from this vertex or the number of vertices adjacent to a given one. If all vertices of the graph have the same valency, then the graph will be called regular. By the chromatic number of a graph we mean the least number of colors into which all edges of the graph can be colored in such a way that any two edges having a common vertex are painted in different colors. A Hamiltonian path or a Hamiltonian cycle will be called a closed cycle, without repeating edges, passing through all the vertices of the graph only once.
Граф должен иметь обхват не ниже 4 для применения в рассмотренном методе декодирования Таннера. В качестве примера на фиг. 2 приведен код, построенный на графе Петерсона, имеющего диаметр 6 и обхват 10. Однако недостатком такого подхода является ограниченное число вершин в подобных известных графах, а также трудность построения графов, содержащих более 100 вершин, обладающих заданными свойствами. Эффективность декодирования на графе в первую очередь зависит от структуры графа, а именно от наличия на графе дефектов в виде структур, приводящим к кодовым словам с низким весом. Одним из таких дефектов является “останавливающее множество” [Tom Richardson y Rudiger Urbanke “The Capacity of Low-Density Parity-Check Codes under Message-Passing Decoding”// March 9, 2001], а так же петель или циклов [David MacKay, Good Error-Correcting Codes Based on Very Sparse Matrices// IEEE Transaction on information theory, Vol 45, march 1999], где “останавливающее множество” как подмножество проверочных вершин, для которого не существует переменных вершин, соединенных единственным ребром с каким-либо из проверочных вершин, входящих в это подмножество. Множество переменных вершин, соединенных с останавливающим подмножеством, содержит наиболее вероятные комбинации ошибок. Однако, как было отмечено выше, граф может быть задан путем отдельного задания шаблона повторения и группирования, а также закона перемежения. Причем, предполагая идеальное перемежение, получены оптимизированные шаблоны повторения-группирования, которые основаны на неравномерном повторении [H. Jin, A. Khandekar and R. J. McEliece, “Irregular repeat-accumulate codes," Proceedings of the Second International Symposium on Turbo Codes and Related Topics, pp. 18, Brest, France, September 2000], [Thomas J. Richardson and Rüdiger L Urbanke . Efficient Encoding of Low-Density Parity Check Codes]. В связи с этим актуальной является задача отдельной разработки перемежителя, позволяющего построить по известным оптимизированным шаблонам повторения-группирования двудольный граф, содержащий наименьшее число дефектов. The graph must have a girth of at least 4 for use in the considered Tanner decoding method. As an example in FIG. Figure 2 shows the code built on a Peterson graph with a diameter of 6 and a circumference of 10. However, the drawback of this approach is the limited number of vertices in such well-known graphs, as well as the difficulty of constructing graphs containing more than 100 vertices with the specified properties. The decoding efficiency of a graph primarily depends on the structure of the graph, namely, the presence of defects in the graph in the form of structures, resulting in low-weight codewords. One of these defects is the “stopping set” [Tom Richardson y Rudiger Urbanke “The Capacity of Low-Density Parity-Check Codes under Message-Passing Decoding” // March 9, 2001], as well as loops or loops [David MacKay, Good Error-Correcting Codes Based on Very Sparse Matrices // IEEE Transaction on information theory, Vol 45, march 1999], where the “stopping set” is a subset of test vertices for which there are no variable vertices connected by a single edge to any of Verification vertices included in this subset. The set of variable vertices connected to the stopping subset contains the most likely combinations of errors. However, as noted above, a graph can be specified by separately specifying the repetition and grouping pattern, as well as the interleaving law. Moreover, assuming perfect interleaving, optimized repetition-grouping patterns are obtained that are based on uneven repetition [H. Jin, A. Khandekar and RJ McEliece, “Irregular repeat-accumulate codes," Proceedings of the Second International Symposium on Turbo Codes and Related Topics, pp. 18, Brest, France, September 2000], [Thomas J. Richardson and Rüdiger L Urbanke. Efficient Encoding of Low-Density Parity Check Codes]. In this regard, the urgent task is to develop an interleaver separately, which allows to construct a bipartite graph containing the least number of defects using well-known optimized repetition-grouping patterns.
В настоящее время широкую известность получил класс “турбо-образных” (“turbo-like”) кодов, среди которых выделяются коды с “повторением – накоплением”, известные из [H. Jin, A. Khandekar and R. J. McEliece, “Irregular repeat-accumulate codes," Proceedings of the Second International Symposium on Turbo Codes and Related Topics, pp. 1-8, Brest, France, September 2000]. Кодирование кодов с “повторением – накоплением” осуществляют в следующем порядке: повторение каждого информационного символа, перемежение повторенных символов, накопление суммы по модулю 2 перемеженных символов. Данные коды обладают свойствами, как турбо-кодов, так и кодов с низкой плотностью проверок на четность и могут быть декодированы как в параллельном режиме – алгоритм обмена сообщениями, так и в последовательном режиме – алгоритм MAP. Следует отметить, что в последнем случае алгоритм по существу является гибридным, состоящим из MAP алгоритма декодирования сверточного кода с двумя состояниями и алгоритма обмена сообщениями с неравномерно повторенными информационными символами [J. Li, Low-Complexity, Capacity-Approaching Coding Schemes: Design, Analysis and Applications, Ph.D. dissertation, Texas A&M University, 2002. ]. Из [ H. Jin, A. Khandekar and R. J. McEliece, “Irregular repeat-accumulate codes," Proceedings of the Second International Symposium on Turbo Codes and Related Topics, pp. 1-8, Brest, France, September 2000] известно, что наибольшая эффективность от применения достигается неравномерным или иррегулярным повторением информационных символов. Кроме того, характеристики кодов повторения с накоплением в большой степени характеризуются перемежителем, который совместно с шаблоном иррегулярного повторения и шаблоном накопления контрольных сумм определяют граф Таннера для данного кода. Требования к перемежителю заключаются в том, чтобы обеспечить достаточное разнесение повторенных символов, обеспечив тем самым отсутствие или малое число кодовых слов с низким весом. Currently, the class of “turbo-like” codes is widely known, among which are the codes with “repetition-accumulation” known from [H. Jin, A. Khandekar and RJ McEliece, “Irregular repeat-accumulate codes," Proceedings of the Second International Symposium on Turbo Codes and Related Topics, pp. 1-8, Brest, France, September 2000]. “Repeat - by accumulation ”is carried out in the following order: repetition of each information symbol, interleaving of repeated characters, accumulation of the sum modulo 2 interleaved characters. These codes have the properties of both turbo codes and codes with a low density of parity checks and can be decoded in parallel mode - the messaging algorithm, and in serial mode - MAP algorithm. It should be noted that in the latter case, the algorithm is essentially hybrid, consisting of a MAP algorithm for decoding a convolutional code with two states and a message exchange algorithm with unevenly repeated information symbols [J. Li, Low-Complexity, Capacity-Approaching Coding Schemes : Design, Analysis and Applications, Ph.D. dissertation, Texas A&M University, 2002.]. From [H. Jin, A. Khandekar and RJ McEliece, “Irregular repeat-accumulate codes,“ Proceedings of the Second International Symposium on Turbo Codes and Related Topics, pp. 1-8, Brest, France, September 2000], it is known that The most efficient use is achieved by irregular or irregular repetition of information symbols.In addition, the characteristics of accumulation repetition codes are characterized to a large extent by an interleaver, which together with an irregular repetition pattern and a checksum accumulation pattern determine the Tanner graph for a given code. h To ensure sufficient spacing of repeated characters, thereby ensuring the absence or small number of code words with low weight.
Существуют два класса перемежителей: случайный и детерминистический. Для формирования случайного перемежителя применяют датчик случайных чисел, при помощи которого определяют номер перемежаемого символа в последовательности после перемежения. Последовательность получаемых номеров подвергают проверке на достаточность разнесения подряд идущих повторенных информационных символов с выбраковкой (откатом назад) последовательностей, не прошедших подобной проверки. Известен, в частности, алгоритм S-random [S. Dolinar and D. Divsalar “Weight Distribution for turbo codes using random and non-random permutation” JPL Progress report 42-122 pp 56-65 Aug 15,1995]. Известен патент [United States Patent 6,453,442 Sadjadpour, et al., September 17, 2002 Two stage S--Random interleaver], где реализован модифицированный S-random алгоритм.There are two classes of interleavers: random and deterministic. To generate a random interleaver, a random number sensor is used, with which the number of the interleaved symbol in the sequence after interleaving is determined. The sequence of numbers obtained is checked for sufficiency of diversity of consecutive repeated information symbols with culling (rollback) of sequences that have not passed such a check. Known, in particular, the algorithm S-random [S. Dolinar and D. Divsalar “Weight Distribution for turbo codes using random and non-random permutation” JPL Progress report 42-122 pp 56-65 Aug 15.1995]. A patent is known [United States Patent 6,453,442 Sadjadpour, et al., September 17, 2002 Two stage S - Random interleaver], where a modified S-random algorithm is implemented.
Известен способ [Пат. 2427491 CA (0237743 WO), МКИ H04L1/18. Automatic Request Protocol Based Packet Transmission Using Punctured Codes / R. Wang, Ming J., A. Garmonov, A. Savinkov, A. Zhdanov. –PST Gazette. – 2002, May 19. – P. 9340], где подобная стратегия не приводит к снижению пропускной способности поскольку дополнительные кодовые символы или частичную повторную передача передают в составе следующего пакета, где проводят дополнительное перфорирование, освобождая место для проверочных кодовых символов для пакета в котором обнаружена ошибка, таким образом, ошибка в одном пакете исправляется за счет избыточности другого.The known method [Pat. 2427491 CA (0237743 WO), MKI H04L1 / 18. Automatic Request Protocol Based Packet Transmission Using Punctured Codes / R. Wang, Ming J., A. Garmonov, A. Savinkov, A. Zhdanov. –PST Gazette. - 2002, May 19. - P. 9340], where such a strategy does not lead to a decrease in throughput since additional code symbols or partial retransmission are transmitted as part of the next packet, where additional punching is performed, making room for verification code symbols for a packet in which an error is detected, thus, an error in one package is corrected due to the redundancy of another.
Примером системы передачи данных, использующей перемежитель DRP (States Patent 6,857,087), является способ и устройство из патента US 7673213, Keith ChuggPaul Gray, "Method and apparatus for communications using improved turbo like codes". В совокупности с адаптивным способом выравнивания скорости в зависимости от ошибок в канале [US 7975189 Cenk Kose Error rate estimation/application to code-rate adaption] система носит коммерческое название F-LDPC. An example of a data communication system using a DRP interleaver (States Patent 6,857,087) is the method and apparatus of US 7673213, Keith ChuggPaul Gray, "Method and apparatus for communications using improved turbo like codes". Together with the adaptive method of speed equalization depending on channel errors [US 7975189 Cenk Kose Error rate estimation / application to code-rate adaption], the system bears the commercial name F-LDPC.
Способ по патенту US 7673213 состоит в следующем.The method according to patent US 7673213 is as follows.
На передающей стороне:On the transmitting side:
– кодирование битов данных в соответствии с внешним сверточным кодом для создания последовательности внешних кодированных бит;- encoding data bits in accordance with an external convolutional code to create a sequence of external encoded bits;
– обработку последовательности внешних кодированных бит с использованием перемежителя и одного модуля проверки на четность (SPC) для создания последовательности промежуточных бит;- processing a sequence of external coded bits using an interleaver and one parity check module (SPC) to create a sequence of intermediate bits;
– кодирование последовательности промежуточных битов в соответствии с внутренним сверточным кодом для создания последовательности внутренних кодированных бит;- encoding a sequence of intermediate bits in accordance with the internal convolutional code to create a sequence of internal encoded bits;
– обработку последовательности внутренних закодированных битов с использованием модуля выкалывания для получения выколотых бит; а также- processing a sequence of internally encoded bits using a puncturing module to obtain punctured bits; as well as
– объединение последовательности бит данных и последовательности выколотых битов для получения последовательности кодированных выходных бит.- combining a sequence of data bits and a sequence of punctured bits to obtain a sequence of encoded output bits.
На приемной стороне:On the receiving side:
– получение мягких решений из канала;- receiving soft decisions from the channel;
– разделение мягких решений на систематическую и проверочную части;- division of soft decisions into systematic and verification parts;
– обработку проверочной части путем добавления нулевых бит на места выколотых; - processing of the test part by adding zero bits to the punctured places;
а такжеas well as
– итеративное декодирование с мягким входом мягким выходом проверочной и систематической части внешним декодером сверточного кода, внутренним декодером сверточного кода, декодером контроля четности (SPC), с использованием перемежителя и деперемежителя для создания последовательности декодированных бит.- iterative decoding with soft input by soft output of the verification and systematic parts by an external convolutional code decoder, internal convolutional code decoder, parity decoder (SPC), using an interleaver and deinterleaver to create a sequence of decoded bits.
Способ по патенту US 7975189 состоит в следующем:The method according to patent US 7975189 consists in the following:
– передачу первого набора данных, закодированных с первой скоростью передачи данных, причем первый блок данных включает в себя первое количество бит данных и первое количество бит четности;- transmitting a first set of data encoded with a first data rate, the first data block including a first number of data bits and a first number of parity bits;
– прием первого оцененного количества битовых ошибок для первого набора данных из приемника;- receiving the first estimated number of bit errors for the first data set from the receiver;
– определение первой мгновенной скорости передачи битов (BER) для первого набора данных на основе оценочного количества ошибок в битах, полученных от приемника;- determining the first instantaneous bit rate (BER) for the first data set based on the estimated number of errors in bits received from the receiver;
– определение второй скорости передачи данных в зависимости от первой скорости передачи данных и первого мгновенного BER;- determining a second data rate depending on the first data rate and the first instantaneous BER;
– передачу второго набора данных, закодированных со второй скоростью передачи данных.- transmitting a second set of data encoded with a second data rate.
На приемной стороне:On the receiving side:
– принимают первый набор данных, закодированных с первой скоростью передачи данных от передатчика, причем первый набор данных включает в себя первое количество бит данных и первое количество бит четности;- take the first set of data encoded with a first data rate from the transmitter, and the first data set includes a first number of data bits and a first number of parity bits;
– определяют первое оценочное количество битовых ошибок для первого набора данных, принимаемых приемником;- determine the first estimated number of bit errors for the first data set received by the receiver;
– определяют первую мгновенную частоту ошибок в битах для первого набора данных на основе оценочного количества бит-ошибок в первом блоке данных;- determine the first instantaneous error rate in bits for the first data set based on the estimated number of error bits in the first data block;
– определяют вторую скорость передачи данных в зависимости от первой скорости передачи данных и первой мгновенной частоты ошибок;- determine the second data rate depending on the first data rate and the first instantaneous error rate;
– передают сообщение обратной связи передатчику, указывающее, что передатчик должен передавать последующие блоки данных в приемник с использованием второй скорости передачи данных; а также- transmitting a feedback message to the transmitter indicating that the transmitter should transmit subsequent data blocks to the receiver using a second data rate; as well as
– принимают второй блок данных от передатчика, закодированного со второй скоростью передачи данных.- receive a second data block from a transmitter encoded with a second data rate.
Из анализа патента US 7673213 видно, что это последовательное объединение сверточного кода и кода проверки на четность, то есть коммерческое название F-LDPC (гибкий код с низкой плотностью проверок на четность) не соответствует истине, так как при последовательном каскадировании кодов обычно не выполняется условие низкой плотности проверок на четность. Для последовательно соединенных кодов характерна зависимость от точности оценки дисперсии шума в канале. При неточной оценке эффективность итеративного декодирования декодерами с мягким входом мягким выходом резко падает из-за резкого роста метрик в системе декодеров, охваченных положительной обратной связью. From the analysis of US 7673213, it is clear that this is a sequential combination of a convolutional code and a parity check code, that is, the commercial name F-LDPC (flexible code with a low density of parity checks) is not true, since the sequential cascading of codes usually does not satisfy low density parity checks. Serially connected codes are characterized by a dependence on the accuracy of the estimation of the noise variance in the channel. With an inaccurate estimate, the efficiency of iterative decoding by soft input decoders with a soft output drops sharply due to a sharp increase in metrics in the decoder system covered by positive feedback.
В основе способа классический иррегулярный код повторений с накоплениями с низкой плотностью проверок на четность [D. Divsalar, H. Jin, and R. J. McEliece. "Coding theorems for ‘turbo-like’ codes." Proc. 36th Allerton Conf. on Communication, Control and Computing, Allerton, Illinois, Sept. 1998, pp. 201–210.], где применен новый эффективный перемежитель, и производят оценку качества декодирования, то есть выносится решение о правильности приема The method is based on the classic irregular repetition code with accumulations with a low density of parity checks [D. Divsalar, H. Jin, and R. J. McEliece. "Coding theorems for‘ turbo-like ’codes." Proc. 36th Allerton Conf. on Communication, Control and Computing, Allerton, Illinois, Sept. 1998, pp. 201–210.], Where a new effective interleaver is applied, and decoding quality is evaluated, that is, a decision is made on the correct reception
Недостатком классической схемы при декодировании по алгоритму "распространение сообщений" является то, что затруднено согласование скоростей посредством перфорирования или выкалывания. При замене выколотого символа нулем и приходе этого нуля на проверочный узел декодирования в качестве исходящего сообщения будут выданы все нули, что снижает эффективность декодирования. The disadvantage of the classical scheme when decoding according to the algorithm of "distribution of messages" is that it is difficult to coordinate speeds through punching or puncturing. When replacing the punctured character with zero and the arrival of this zero at the decoding check node, all zeros will be issued as an outgoing message, which reduces the decoding efficiency.
Наиболее близким аналогом по технической сущности к предлагаемому является способ передачи голосовых данных в системе цифровой радиосвязи по патенту РФ 2323520, H03M 13/00, принятый за прототип.The closest analogue in technical essence to the proposed one is a method for transmitting voice data in a digital radio communication system according to the patent of the Russian Federation 2323520, H03M 13/00, adopted as a prototype.
Особенностью способа-прототипа является то, что производят оценку качества декодирования без применения циклической контрольной суммы. Для чего рассматривают последовательность не равных нулю контрольных сумм. При превышении значения порога пакет объявляет декодированным недостоверно.A feature of the prototype method is that they evaluate the quality of decoding without using a cyclic checksum. Why consider a sequence of non-zero checksums. When the threshold value is exceeded, the packet is declared invalid decoded.
Способ-прототип заключается в следующем.The prototype method is as follows.
На передающей стороне:On the transmitting side:
• формируют пакеты данных, каждый из которых содержит упорядоченную последовательность информационных символов; • form data packets, each of which contains an ordered sequence of information symbols;
• каждый информационный символ повторяют определенное число раз, в зависимости от его номера по порядку в последовательности символов, формируя последовательность повторенных информационных символов, причем количество повторений определяется заранее; • each information symbol is repeated a certain number of times, depending on its number in order in the sequence of characters, forming a sequence of repeated information symbols, and the number of repetitions is determined in advance;
• осуществляют перемежение в последовательности повторенных информационных символов, добиваясь достаточного разнесения идущих подряд повторенных информационных символов, и формируя последовательность перемеженных повторенных информационных символов;• interleave in a sequence of repeated information symbols, achieving sufficient diversity of consecutive repeated information symbols, and forming a sequence of interleaved repeated information symbols;
• разбивают перемеженные повторенные информационные символы на группы таким образом, что первый проверочный символ получают путем суммирования по заданному модулю начального значения переменной суммирования со всеми перемеженными повторенными информационными символами из первой группы, а проверочный символ путем суммирования по заданному модулю проверочного символа со всеми перемеженными повторенными информационными символами из группы ;• divide the interleaved repeated information symbols into groups so that the first verification symbol is obtained by summing, according to a given module, the initial value of the summation variable with all interleaved repeated information symbols from the first group, and the verification symbol by summing the specified character of the check character with all interleaved repeated information symbols from the group ;
• запоминают полученные проверочные символы;• remember received verification characters;
• формируют кодовое слово путем добавления проверочных символов к информационным символам; • form a code word by adding test characters to information characters;
на приемной стороне:on the receiving side:
• формируют принятые корреляционные отклики на каждый из переданных кодовых символов; • form the received correlation responses to each of the transmitted code symbols;
• выполняют оценку шумового параметра смеси сигнал плюс шум, которая приближенно равна величине стандартного отклонения эквивалентного гауссовского белого шума, которым аппроксимируются помехи в канале;• evaluate the noise parameter of the signal plus noise mixture, which is approximately equal to the standard deviation of the equivalent Gaussian white noise, which approximates the noise in the channel;
• формируют мягкие решения о принятых кодовых символах, используя полученную оценку шумового параметра смеси сигнал плюс шум; • form soft decisions about the adopted code symbols using the obtained estimate of the noise parameter of the signal plus noise mixture;
• разделяют мягкие решения о принятых кодовых символах на решения об информационных символах и решения о проверочных символах;• share soft decisions on accepted code symbols into decisions on information symbols and decisions on verification symbols;
• повторяют мягкие решения об информационных символах в соответствии с шаблоном повторения информационных символов;• repeat soft decisions about information symbols in accordance with the pattern of repeating information symbols;
• повторяют мягкие решения о проверочных символах, по крайней мере, два раза за исключением последнего проверочного символа;• repeat soft decisions about check characters at least twice except for the last check character;
• для мягких решений об информационных символах выполняют перемежение аналогичное перемежению на передающей стороне;• for soft decisions about information symbols, they perform interleaving similar to interleaving on the transmitting side;
• формируют группы перемеженных мягких решений об информационных символах аналогичные группам соответствующих информационных символов на передающей стороне;• form groups of interleaved soft decisions about information symbols similar to groups of corresponding information symbols on the transmitting side;
• первую группу перемеженных мягких решений дополняют мягким решением, соответствующим начальному значению переменной суммирования, и первой копией мягкого решения о первом проверочном символе, образуя первое кодовое слово кода обобщенной проверки на четность;• the first group of interleaved soft solutions is supplemented with the soft solution corresponding to the initial value of the summation variable and the first copy of the soft decision about the first check character, forming the first code word of the general parity check code;
• группу перемеженных мягких решений дополняют второй копией проверочного символа и первой копией мягкого решения об проверочном символе, образуя кодовое слово кода обобщенной проверки на четность; • complement the group of interleaved soft solutions with a second copy test character and the first copy of the soft decision about check character, forming generalized parity check codeword;
• для каждого мягкого решения, входящего в каждое кодовое слово кода обобщенной проверки на четность, формируют модифицированное мягкое решение, которое является исходящим сообщением кодового слова кода обобщенной проверки на четность, таким образом, что исходящее сообщение кодового слова кода обобщенной проверки на четность представляет собой результат функционального преобразования исходных мягких решений - входящих сообщений кодового слова кода обобщенной проверки на четность;• for each soft decision included in each code word of the generalized parity check code, a modified soft solution is formed, which is an outgoing message of the code word of the general parity check code, so that the outgoing message of the code word of the general parity check code is the result functional transformation of the original soft decisions - incoming messages of the code word of the code of a generalized parity check;
• деперемежают исходящие сообщения кодового слова кода обобщенной проверки на четность таким образом, что каждой копии мягкого решения о кодовом символе ставят в соответствие исходящее сообщение кодового слова кода обобщенной проверки на четность соответствующее копии мягкого решения об этом символе;• deinterleave the outgoing message of the code word of the generalized parity check code so that each copy of the soft decision on the code symbol is associated with the outgoing message of the code word of the generalized parity code corresponding to the copy of the soft decision about this symbol;
• группируют исходящие сообщения кодового слова кода обобщенной проверки на четность с мягкими решениями о принятых кодовых символах, так что в каждую группу входят мягкое решение о соответствующем кодовом символе и исходящие сообщение кодового слова кода обобщенной проверки на четность, соответствующее копии мягкого решения об этом символе, формируя, таким образом, кодовое слово обобщенного кода повторения, ставя каждое кодовое слово обобщенного кода повторения в соответствие кодовому символу, таким образом, что каждое исходящее сообщения кодового слова кода обобщенной проверки на четность является входящим сообщением кодового слова обобщенного кода повторения;• group outgoing messages of the code word of the generalized parity check code with soft decisions about the received code symbols, so that each group includes a soft decision about the corresponding code symbol and outgoing messages of the code word of the generalized parity code corresponding to a copy of the soft decision about this symbol, thus forming the code word of the generalized repetition code, putting each codeword of the generalized repetition code in accordance with the code symbol, so that each outgoing the codeword of the generalized parity check code is an incoming message of the codeword of the generalized repetition code;
• для каждого мягкого решения входящего в каждое кодовое слово обобщенного кода повторения формируют модифицированное мягкое решение, которое является исходящим сообщением кодового обобщенного кода повторения представляющее собой результат функционального преобразования над входящими сообщениями кодового слова обобщенного кода повторения;• for each soft decision of the generalized repetition code included in each codeword, a modified soft decision is formed, which is an outgoing message of the generalized code of the repetition code representing the result of a functional transformation over the incoming messages of the code word of the generalized repetition code;
• итеративно повторяют процесс обмена исходящими и входящими сообщениями таким образом, что исходящее сообщение кодового слова обобщенного кода повторений является входящим сообщением кодового слова кода обобщенной проверки на четность, а исходящее сообщение кода обобщенной проверки на четность является входящим сообщением кодового слова обобщенного кода повторений формируя на каждой итерации последовательность модифицированных мягких решений;• iteratively repeat the process of exchanging outgoing and incoming messages in such a way that the outgoing message of the code word of the generalized repetition code is the incoming message of the code word of the generalized parity check code, and the outgoing message of the code of the generalized parity check code is the incoming message of the code word of the generalized repetition code iterating a sequence of modified soft solutions;
• из последовательности модифицированных мягких решений формируют декодированные кодовые слова;• decoded codewords are formed from a sequence of modified soft decisions;
• умножают каждое декодированное кодовое слово на проверочную матрицу, получая упорядоченную последовательность контрольных сумм;• Multiply each decoded codeword by a check matrix, obtaining an ordered sequence of checksums;
• если все контрольные суммы равны нулю, то кодовое слово считают декодированным верно;• if all checksums are equal to zero, then the codeword is considered decoded correctly;
• если количество контрольных сумм отличных от нуля нечетно и последняя контрольная сумма отлична от нуля, то заменяют ее нулем;• if the number of checksums other than zero is odd and the last checksum is different from zero, then replace it with zero;
• если количество контрольных сумм отличных от нуля нечетно и последняя в последовательности контрольная сумма равна нулю, то ее заменяют любым отличным от нуля значением;• if the number of checksums other than zero is odd and the last checksum in the sequence is zero, then it is replaced with any nonzero value;
• разбивают последовательность контрольных сумм на пары, в которые входят элементы последовательности, идущие подряд, причем каждая контрольная сумма входит только в единственную пару;• break down the sequence of checksums into pairs, which consist of sequential elements of a sequence, and each checksum is included only in a single pair;
• в каждой паре вычисляют разность номеров контрольных сумм;• in each pair, the difference in the numbers of the checksums is calculated;
• складывают все полученные разности номеров контрольных сумм;• add up all the received checksum number differences;
• сравнивают полученное число с заданным порогом, если число превышает установленный порог, то информационную часть кодового слова считают декодированной неверно;• compare the received number with a given threshold, if the number exceeds the set threshold, then the information part of the code word is considered decoded incorrectly;
• если полученное число меньше заданного порога, то информационную часть кодового слова считают декодированной верно.• if the received number is less than the specified threshold, then the information part of the code word is considered decoded correctly.
В прототипе реализована не только функция исправления ошибок, но также функция обнаружения ошибок без циклической контрольной суммы. Однако эффективность обнаружения ошибок существенно уступает алгоритму с циклической контрольной суммой. Тем не менее, функция обнаружения ошибок может быть использована для увеличения энергетического выигрыша кодирования путем применения алгоритма гибридного запроса-повторения без потери пропускной способности и не прибегая к перфорированию последовательности кодовых символов. Таким образом, задача увеличения энергетического выигрыша кодирования путем применения алгоритма гибридного запроса-повторения исключительно на физическом уровне является актуальной.The prototype implements not only an error correction function, but also an error detection function without a cyclic checksum. However, the error detection efficiency is significantly inferior to the cyclic checksum algorithm. Nevertheless, the error detection function can be used to increase the coding energy gain by applying a hybrid repeat-request algorithm without losing bandwidth and without resorting to punching a sequence of code symbols. Thus, the task of increasing the energy gain of coding by applying the hybrid request-repeat algorithm exclusively at the physical level is relevant.
Для решения поставленной задачи в способе передачи данных в цифровой системе связи, заключающемся в том, что на передающей стороне формируют пакеты данных, каждый из которых содержит упорядоченную последовательность информационных символов, каждый информационный символ повторяют определенное число раз, в зависимости от его номера по порядку в последовательности символов, формируя последовательность повторенных информационных символов, причем, количество повторений определяется заранее, осуществляют перемежение в последовательности повторенных информационных символов, добиваясь достаточного разнесения идущих подряд повторенных информационных символов, и формируя последовательность перемеженных повторенных информационных символов, разбивают перемеженные повторенные информационные символы на группы таким образом, что первый проверочный символ получают путем суммирования по заданному модулю начального значения переменной суммирования со всеми перемеженными повторенными информационными символами из первой группы, а проверочный символ путем суммирования по заданному модулю проверочного символа со всеми перемеженными повторенными информационными символами из группы , запоминают полученные проверочные символы, формируют кодовое слово путем добавления проверочных символов к информационным символам, на приемной стороне формируют принятые корреляционные отклики на каждый из переданных кодовых символов, выполняют оценку шумового параметра смеси сигнал плюс шум, формируют мягкие решения о принятых кодовых символах, используя полученную оценку шумового параметра смеси сигнал плюс шум, разделяют мягкие решения о принятых кодовых символах на решения об информационных символах и решения о проверочных символах, повторяют мягкие решения об информационных символах в соответствии с шаблоном повторения информационных символов, повторяют мягкие решения о проверочных символах, по крайней мере, два раза за исключением последнего проверочного символа, для мягких решений об информационных символах выполняют перемежение аналогичное перемежению на передающей стороне, формируют группы перемеженных мягких решений об информационных символах, аналогичные группам соответствующих информационных символов на передающей стороне, первую группу перемеженных мягких решений дополняют мягким решением, соответствующим начальному значению переменной суммирования, и первой копией мягкого решения о первом проверочном символе, образуя первое кодовое слово кода обобщенной проверки на четность, группу перемеженных мягких решений дополняют второй копией проверочного символа и первой копией мягкого решения об проверочном символе, образуя кодовое слово кода обобщенной проверки на четность, для каждого мягкого решения, входящего в каждое кодовое слово кода обобщенной проверки на четность, формируют модифицированное мягкое решение, которое является исходящим сообщением кодового слова кода обобщенной проверки на четность таким образом, что исходящее сообщение кодового слова кода обобщенной проверки на четность представляет собой результат функционального преобразования исходных мягких решений, представляющих собой входящие сообщения кодового слова кода обобщенной проверки на четность, деперемежают исходящие сообщения кодового слова кода обобщенной проверки на четность таким образом, что каждой копии мягкого решения о кодовом символе ставят в соответствие исходящее сообщение кодового слова кода обобщенной проверки на четность соответствующее копии мягкого решения об этом символе, группируют исходящие сообщения кодового слова кода обобщенной проверки на четность с мягкими решениями о принятых кодовых символах, так что в каждую группу входят мягкое решение о соответствующем кодовом символе и исходящие сообщение кодового слова кода обобщенной проверки на четность, соответствующее копии мягкого решения об этом символе, формируя, таким образом, кодовое слово обобщенного кода повторения, ставя каждое кодовое слово обобщенного кода повторения в соответствие кодовому символу, таким образом, что каждое исходящее сообщение кодового слова кода обобщенной проверки на четность является входящим сообщением кодового слова обобщенного кода повторения, для каждого мягкого решения, входящего в каждое кодовое слово обобщенного кода повторения, формируют модифицированное мягкое решение, которое является исходящим сообщением кодового обобщенного кода повторения, представляющее собой результат функционального преобразования над входящими сообщениями кодового слова обобщенного кода повторения, итеративно повторяют процесс обмена исходящими и входящими сообщениями таким образом, что исходящее сообщение кодового слова обобщенного кода повторений является входящим сообщением кодового слова кода обобщенной проверки на четность, а исходящее сообщение кода обобщенной проверки на четность является входящим сообщением кодового слова обобщенного кода повторений, формируя на каждой итерации последовательность модифицированных мягких решений, из последовательности модифицированных мягких решений формируют декодированные кодовые слова, умножают каждое декодированное кодовое слово на проверочную матрицу, получая упорядоченную последовательность контрольных сумм, если все контрольные суммы равны нулю, то кодовое слово считают декодированным верно, если количество контрольных сумм отличных от нуля нечетно и последняя контрольная сумма отлична от нуля, то заменяют ее нулем, если количество контрольных сумм отличных от нуля нечетно, и последняя в последовательности контрольная сумма равна нулю, то ее заменяют любым отличным от нуля значением, разбивают последовательность контрольных сумм на пары, в которые входят элементы последовательности, идущие подряд, причем каждая контрольная сумма входит только в единственную пару, в каждой паре вычисляют разность номеров контрольных сумм, складывают все полученные разности номеров контрольных сумм, сравнивают полученное число с заданным порогом, если число превышает установленный порог, то информационную часть кодового слова считают декодированной неверно, если полученное число меньше заданного порога, то информационную часть кодового слова считают декодированной верно, согласно изобретению, если информационная часть кодового слова декодирована неверно то формируют сигнал запроса повторной передачи по каналу обратной связи для передающей стороны, на передающей стороне при получении сигнала запроса повторной передачи формируют пакет с кодово-сопряженной частью, для чего в очередном кодированном пакете часть кодовых символов заменяют суммой по модуля два с кодовыми символами ранее переданного и ошибочно декодированого пакета, формируя тем самым кодово-сопряженную часть, при получении текущего пакета с кодово-сопряженной частью декодируют его совместно с ранее принятым ошибочно декодированным пакетом для чего восстанавливают, возможно, с ошибками, последовательность мягких решений ошибочного пакета, модифицируют мягкие решения в кодово-сопряженной части в тех позициях, в которых заменяли кодовые символы суммой символов разных пакетов для чего заменяют знак на противоположный у принятого мягкого решения, если восстановленный кодовый символ предыдущего пакета соответствует логической единице, получая мягкие решения текущего пакета, декодируют мягкие решения текущего пакета, восстанавливают последовательность мягких решений текущего пакета, модифицируют мягкие решения в кодово-сопряженной части в тех позициях, в которых заменяли кодовые символы суммой символов разных пакетов для чего заменяют знак на противоположный у принятого мягкого решения если восстановленный кодовый символ текущего пакета соответствует логической единице, получая модифицированную последовательность мягких решений для ошибочного пакета, повторно декодируют ошибочный пакет, используя модифицированную последовательность мягких решений для ошибочного пакета как дополнительную информацию в тех позициях, в которых заменяли кодовые символы суммой символов разных пакетов, передают по каналу обратной связи сигналы, характеризующие результативность декодирования кодово-сопряженных пакетов.To solve the problem in a method of transmitting data in a digital communication system, which consists in the fact that data packets are formed on the transmitting side, each of which contains an ordered sequence of information symbols, each information symbol is repeated a certain number of times, depending on its number in order symbol sequences, forming a sequence of repeated information symbols, moreover, the number of repetitions is determined in advance, interleaving in sequence and repeated information symbols, achieving sufficient diversity of consecutive repeated information symbols, and forming a sequence of interleaved repeated information symbols, divide the interleaved repeated information symbols into groups so that the first verification symbol is obtained by summing, according to a given module, the initial value of the summation variable with all interleaved repeated information symbols from the first group, and the verification symbol by summing the specified character of the check character with all interleaved repeated information symbols from the group , the received verification symbols are stored, the code word is formed by adding the verification symbols to the information symbols, received correlation responses to each of the transmitted code symbols are generated on the receiving side, the noise plus signal noise parameter is estimated, soft decisions about the received code symbols are generated using the received estimation of the noise parameter of the signal plus noise mixture, soft decisions on accepted code symbols are divided into decisions on information symbols and decisions on test mvolov, repeat soft decisions about information symbols in accordance with the pattern of repeating information symbols, repeat soft decisions about check symbols at least two times with the exception of the last check symbol, for soft decisions about information symbols perform interleaving similar to interleaving on the transmitting side, form groups of interleaved soft decisions about information symbols, similar to groups of corresponding information symbols on the transmitting side, the first group of soft-low solutions are supplemented with a soft solution corresponding to the initial value of the variable of summation, and the first copy of the soft decision about the first check character, forming the first code word of the general parity check code, a group of interleaved soft solutions complement the second copy test character and the first copy of the soft decision about check character, forming the codeword of the code of the generalized parity check, for each soft decision that is included in each codeword of the code of the generalized parity, form a modified soft solution that is an outgoing message of the code word of the code of the general parity code so that the outgoing message of the code word of the code of generalized parity is the result of a functional transformation of the original soft decisions, which are incoming messages of the code word of the code of the generalized verification of parity, deinterleave the outgoing message of the code word of the generalized parity check code so that each copy of the soft decision about the code symbol matches the outgoing message of the code word of the generalized parity code corresponding to the copy of the soft decision about this symbol, group the outgoing messages of the code word generalized parity check code with soft decisions about accepted code characters, so that each group includes a soft decision about the corresponding code character and the outcome The message contains the code word of the generalized parity check code corresponding to the copy of the soft decision on this symbol, thus forming the code word of the generalized repetition code, putting each code word of the generalized repetition code in correspondence with the code symbol, so that each outgoing message of the code word the generalized parity check code is an incoming message of the codeword of the generalized repetition code, for each soft solution included in each codeword of the generalized repetition code I, form a modified soft solution, which is an outgoing message of a code generalized repetition code, which is the result of a functional transformation of the code word of a generalized repetition code over incoming messages, iteratively repeat the process of exchanging outgoing and incoming messages in such a way that the outgoing message of the code word of a generalized repetition code is the incoming message of the code word of the generalized parity check code, and the outgoing message of the code code of the generalized parity A parity key is an incoming message of a code word of a generalized repetition code, forming a sequence of modified soft decisions at each iteration, decoded code words are formed from a sequence of modified soft decisions, each decoded code word is multiplied by a check matrix, getting an ordered sequence of checksums if all the checksums are equal to zero, then the codeword is considered decoded correctly if the number of non-zero checksums is odd and the last checksum is non-zero, then replace it with zero, if the number of checksums other than zero is odd, and the last checksum in the sequence is zero, then it is replaced with any non-zero value, break the sequence of checksums into pairs, which include sequence elements in a row, each checksum being included only in a single pair, in each pair the difference in the numbers of the checksums is calculated, all the differences in the numbers of the checksums are added m, the received number is compared with a predetermined threshold, if the number exceeds the set threshold, then the information part of the codeword is considered decoded incorrectly, if the received number is less than the specified threshold, then the information part of the code word is considered decoded correctly, according to the invention, if the information part of the codeword is decoded incorrectly then form a retransmission request signal on the feedback channel for the transmitting side, on the transmitting side upon receipt of the retransmission request signal form Coziness is a packet with a code-conjugate part, for which, in the next coded packet, a part of the code symbols is replaced by a module sum of two with the code symbols of a previously transmitted and erroneously decoded packet, thereby forming a code-conjugate part, and upon receipt of the current packet with a code-conjugate part, decode it, together with the previously received erroneously decoded packet, for which, possibly with errors, the sequence of soft decisions of the erroneous packet is restored, soft decisions are modified in the code-conjugate part in those positions in which the code symbols were replaced by the sum of the symbols of different packets, for which the sign is replaced with the opposite for the adopted soft decision, if the reconstructed code symbol of the previous packet corresponds to a logical unit, receiving soft decisions of the current packet, decode the soft decisions of the current packet, restoring the sequence of soft decisions the current package, soft solutions are modified in the code-conjugate part at those positions in which the code symbols were replaced by the sum of the symbols of different packets for o replace the opposite sign for the adopted soft decision if the recovered code symbol of the current packet corresponds to a logical unit, receiving a modified sequence of soft decisions for an erroneous packet, re-decode the error packet using the modified sequence of soft decisions for an erroneous packet as additional information at those positions in which replaced the code symbols with the sum of the symbols of different packets, transmit signals characterizing the results via the feedback channel The property of decoding code-conjugate packets.
Графические материалы, используемые в описании:Graphic materials used in the description:
Фиг. 1 – алгоритм декодирования на графе: обмен сообщениями.FIG. 1 - graph decoding algorithm: messaging.
Фиг. 2 – граф Петерсона и заданный на нем код по способу Таннера.FIG. 2 - Peterson's graph and the code set on it according to the Tanner method.
Фиг. 3 – вариант реализации передающей части цифровой системы связи для передачи данных.FIG. 3 is an embodiment of a transmitting part of a digital communication system for transmitting data.
Фиг. 4 – вариант реализации приемной части цифровой системы связи для передачи данных.FIG. 4 is an embodiment of a receiving part of a digital communication system for transmitting data.
Фиг. 5 – вариант реализации итеративного декодера.FIG. 5 is an embodiment of an iterative decoder.
Фиг. 6 – способ обнаружения ошибок без CRC.FIG. 6 is a method for detecting errors without CRC.
Фиг. 7 – способ перемежения кодовых символов.FIG. 7 is a method of interleaving code symbols.
Фиг. 8 – результаты моделирования.FIG. 8 - simulation results.
Заявляемый способ передачи данных в цифровой системе связи, заключается в том, что The inventive method of transmitting data in a digital communication system, is that
на передающей стороне:on the transmitting side:
– формируют пакеты данных, каждый из которых содержит упорядоченную последовательность информационных символов; - form data packets, each of which contains an ordered sequence of information symbols;
– каждый информационный символ повторяют определенное число раз, в зависимости от его номера по порядку в последовательности символов, формируя последовательность повторенных информационных символов, причем, количество повторений определяется заранее;- each information symbol is repeated a certain number of times, depending on its number in order in the sequence of characters, forming a sequence of repeated information symbols, moreover, the number of repetitions is determined in advance;
– осуществляют перемежение в последовательности повторенных информационных символов, добиваясь достаточного разнесения идущих подряд повторенных информационных символов, и формируя последовательность перемеженных повторенных информационных символов;- carry out the interleaving in the sequence of repeated information symbols, achieving sufficient diversity of consecutive repeated information symbols, and forming a sequence of interleaved repeated information symbols;
– разбивают перемеженные повторенные информационные символы на группы таким образом, что первый проверочный символ получают путем суммирования по заданному модулю начального значения переменной суммирования со всеми перемеженными повторенными информационными символами из первой группы, а проверочный символ путем суммирования по заданному модулю проверочного символа со всеми перемеженными повторенными информационными символами из группы ; - split the interleaved repeated information symbols into groups so that the first verification symbol is obtained by summing, according to a given module, the initial value of the summation variable with all interleaved repeated information symbols from the first group, and the verification symbol by summing the specified character of the check character with all interleaved repeated information symbols from the group ;
– запоминают полученные проверочные символы;- remember received verification characters;
– формируют кодовое слово путем добавления проверочных символов к информационным символам; - form a code word by adding test characters to information characters;
на приемной стороне:on the receiving side:
– формируют принятые корреляционные отклики на каждый из переданных кодовых символов; - form the received correlation responses to each of the transmitted code symbols;
– выполняют оценку шумового параметра смеси сигнал плюс шум, которая приближенно равна величине стандартного отклонения эквивалентного гауссовского белого шума, которым аппроксимируются помехи в канале;- evaluate the noise parameter of the signal plus noise mixture, which is approximately equal to the standard deviation of the equivalent Gaussian white noise, which approximates the noise in the channel;
– формируют мягкие решения о принятых кодовых символах, используя полученную оценку шумового параметра смеси сигнал плюс шум;- form soft decisions about the adopted code symbols using the obtained estimate of the noise parameter of the signal plus noise mixture;
– разделяют мягкие решения о принятых кодовых символах на решения об информационных символах и решения о проверочных символах;- divide soft decisions about accepted code symbols into decisions about information symbols and decisions about check symbols;
– повторяют мягкие решения о информационных символах в соответствии с шаблоном повторения информационных символов;- repeat soft decisions about information symbols in accordance with the pattern of repetition of information symbols;
– повторяют мягкие решения о проверочных символах по крайней мере два раза за исключением последнего проверочного символа;- repeat soft decisions about check characters at least twice except for the last check character;
– для мягких решений об информационных символах выполняют перемежение аналогичное перемежению на передающей стороне;- for soft decisions about information symbols, interleaving is performed similar to interleaving on the transmitting side;
– формируют группы перемеженных мягких решений об информационных символах аналогичные группам соответствующих информационных символов на передающей стороне;- form groups of interleaved soft decisions about information symbols similar to groups of corresponding information symbols on the transmitting side;
– первую группу перемеженных мягких решений дополняют мягким решением, соответствующим начальному значению переменной суммирования, и первой копией мягкого решения о первом проверочном символе, образуя первое кодовое слово кода обобщенной проверки на четность;- the first group of interleaved soft solutions is supplemented with the soft solution corresponding to the initial value of the summation variable, and the first copy of the soft decision about the first check character, forming the first code word of the general parity check code;
– группу перемеженных мягких решений дополняют второй копией проверочного символа и первой копией мягкого решения об проверочном символе, образуя кодовое слово кода обобщенной проверки на четность;- a group of interleaved soft solutions complement the second copy test character and the first copy of the soft decision about check character, forming generalized parity check codeword;
– для каждого мягкого решения, входящего в каждое кодовое слово кода обобщенной проверки на четность, формируют модифицированное мягкое решение, которое является исходящим сообщением кодового слова кода обобщенной проверки на четность, таким образом, что исходящее сообщение кодового слова кода обобщенной проверки на четность представляет собой результат функционального преобразования исходных мягких решений – входящих сообщений кодового слова кода обобщенной проверки на четность;- for each soft decision included in each code word of the generalized parity check code, a modified soft solution is formed, which is an outgoing message of the code word of the general parity check code, so that the outgoing message of the code word of the general parity check code is the result functional transformation of the original soft decisions - incoming messages of the code word of the code of a generalized parity check;
– деперемежают исходящие сообщения кодового слова кода обобщенной проверки на четность таким образом, что каждой копии мягкого решения о кодовом символе ставят в соответствие исходящее сообщение кодового слова кода обобщенной проверки на четность соответствующее копии мягкого решения об этом символе;- deinterleave the outgoing message of the code word of the generalized parity check code in such a way that each copy of the soft decision on the code symbol is associated with the outgoing message of the code word of the generalized parity code corresponding to the copy of the soft decision about this symbol;
– группируют исходящие сообщения кодового слова кода обобщенной проверки на четность с мягкими решениями о принятых кодовых символах, так что в каждую группу входят мягкое решение о соответствующем кодовом символе и исходящие сообщение кодового слова кода обобщенной проверки на четность, соответствующее копии мягкого решения об этом символе, формируя, таким образом, кодовое слово обобщенного кода повторения, ставя каждое кодовое слово обобщенного кода повторения в соответствие кодовому символу, таким образом, что каждое исходящее сообщения кодового слова кода обобщенной проверки на четность является входящим сообщением кодового слова обобщенного кода повторения;- group outgoing messages of the code word of the generalized parity check code with soft decisions about the received code symbols, so that each group includes a soft decision about the corresponding code symbol and outgoing messages of the code word of the generalized parity code corresponding to a copy of the soft decision about this symbol, thus forming the code word of the generalized repetition code, putting each codeword of the generalized repetition code in accordance with the code symbol, so that each outgoing the codeword of the generalized parity check code is an incoming message of the codeword of the generalized repetition code;
– для каждого мягкого решения входящего в каждое кодовое слово обобщенного кода повторения формируют модифицированное мягкое решение, которое является исходящим сообщением кодового обобщенного кода повторения представляющее собой результат функционального преобразования над входящими сообщениями кодового слова обобщенного кода повторения;- for each soft decision of the generalized repetition code included in each codeword, a modified soft solution is formed, which is an outgoing message of the generalized code of the repetition code representing the result of a functional transformation over the incoming messages of the code word of the generalized repetition code;
– итеративно повторяют процесс обмена исходящими и входящими сообщениями таким образом, что исходящее сообщение кодового слова обобщенного кода повторений является входящим сообщением кодового слова кода обобщенной проверки на четность, а исходящее сообщение кода обобщенной проверки на четность является входящим сообщением кодового слова обобщенного кода повторений формируя на каждой итерации последовательность модифицированных мягких решений;- iteratively repeat the process of exchanging outgoing and incoming messages in such a way that the outgoing message of the code word of the generalized repetition code is the incoming message of the code word of the generalized parity check code, and the outgoing message of the code of the generalized parity check code is the incoming message of the code word of the generalized repetition code iterating a sequence of modified soft solutions;
– из последовательности модифицированных мягких решений формируют декодированные кодовые слова;- decoded codewords are formed from a sequence of modified soft decisions;
– умножают каждое декодированное кодовое слово на проверочную матрицу, получая упорядоченную последовательность контрольных сумм;- multiply each decoded codeword by a check matrix, obtaining an ordered sequence of checksums;
– если все контрольные суммы равны нулю, то кодовое слово считают декодированным верно;- if all the checksums are equal to zero, then the code word is considered decoded correctly;
– если количество контрольных сумм отличных от нуля нечетно и последняя контрольная сумма отлична от нуля, то заменяют ее нулем;- if the number of checksums other than zero is odd and the last checksum is different from zero, then replace it with zero;
– если количество контрольных сумм отличных от нуля нечетно и последняя в последовательности контрольная сумма равна нулю, то ее заменяют любым отличным от нуля значением;- if the number of non-zero checksums is odd and the last checksum in the sequence is zero, then it is replaced with any non-zero value;
– разбивают последовательность контрольных сумм на пары, в которые входят элементы последовательности идущие подряд, причем каждая контрольная сумма входит только в единственную пару;- break down the sequence of checksums into pairs, which include sequential elements of the sequence, and each checksum is included only in a single pair;
– в каждой паре вычисляют разность номеров контрольных сумм;- in each pair, the difference in the numbers of the checksums is calculated;
– складывают все полученные разности номеров контрольных сумм;- add up all the received differences of the numbers of the checksums;
– сравнивают полученное число с заданным порогом, если число превышает установленный порог, то информационную часть кодового слова считают декодированной неверно;- compare the received number with a given threshold, if the number exceeds the set threshold, then the information part of the code word is considered decoded incorrectly;
– если полученное число меньше заданного порога, то информационную часть кодового слова считают декодированной верно;- if the received number is less than a given threshold, then the information part of the codeword is considered decoded correctly;
– если информационная часть кодового слова декодирована неверно то формируют сигнал запроса повторной передачи по каналу обратной связи для передающей стороны; - if the information part of the codeword is decoded incorrectly, a retransmission request signal is generated on the feedback channel for the transmitting side;
– на передающей стороне при получении сигнала запроса повторной передачи формируют пакет с кодово-сопряженной частью, для чего в очередном кодированном пакете часть кодовых символов заменяют суммой по модуля два с кодовыми символами ошибочно декодированного пакета; - on the transmitting side, upon receipt of the retransmission request signal, a packet with a code-conjugate part is formed, for which, in the next encoded packet, part of the code symbols is replaced by the sum of two modules with the code symbols of the erroneously decoded packet;
– при получении текущего пакета с кодово-сопряженной частью декодируют его совместно с ранее принятым ошибочно декодированным пакетом для чего восстанавливают, возможно, с ошибками, последовательность мягких решений ошибочного пакета;- upon receipt of the current packet with the code-conjugate part, it is decoded together with the previously received erroneously decoded packet, for which, possibly with errors, the sequence of soft decisions of the erroneous packet is restored;
– вычитают из кодово-сопряженной части пакета восстановленные мягкие решения в тех позициях, в которых заменяли кодовые символы суммой символов разных пакетов, получая мягкие решения текущего пакета;- subtracted soft solutions from the code-conjugate part of the packet in those positions in which the code symbols were replaced by the sum of the symbols of different packets, obtaining soft solutions of the current packet;
– декодируют мягкие решения текущего пакета; - decode soft decisions of the current package;
– восстанавливают последовательность мягких решений решений текущего пакета;- restore the sequence of soft decisions of the decisions of the current package;
– вычитают из кодово-сопряженной части текущего пакета восстановленные мягкие решения текущего пакета в тех позициях, в которых заменяли кодовые символы суммой символов разных пакетов получая модифицированную последовательность мягких решений для ошибочного пакета;- subtracted from the code-conjugate part of the current packet, the restored soft solutions of the current package in those positions in which the code symbols were replaced by the sum of the symbols of different packets to obtain a modified sequence of soft decisions for the erroneous packet;
– повторно декодируют ошибочный пакет используя модифицированную последовательность мягких решений для ошибочного пакета как дополнительную информацию, в тех позициях, в которых заменяли кодовые символы суммой символов разных пакетов;- re-decode the erroneous packet using a modified sequence of soft decisions for the erroneous packet as additional information, in those positions in which the code symbols were replaced by the sum of the symbols of different packets;
– передают по каналу обратной связи сигналы, характеризующие результативность декодирования кодово сопряженных пакетов.- transmit signals on the feedback channel characterizing the decoding performance of code-conjugate packets.
Для реализации заявляемого способа может быть использована система связи, передающее устройство (передающая сторона) которой представлено на фиг.3, а приемное устройство (приемная сторона) – на фиг. 4.To implement the proposed method, a communication system can be used, the transmitting device (transmitting side) of which is shown in FIG. 3, and the receiving device (receiving side) is shown in FIG. four.
Передающее устройство, представленное на фиг. 3, содержит последовательно соединенные блок повторения информационных символов 1, блок перемежения информационных символов 2, блок разделения проверочных символов на группы 3, блок суммирования 5, блок памяти 8, блок межпакетного суммирования 7 и мультиплексор 6, выход которого соединен с каналом связи 9. Кроме того, передающее устройство содержит блок управления 4, сигналы с выходов которого являются управляющими сигналами, которые, в том числе, обеспечивают синхронизацию остальных блоков. Первый выход блока управления 4 соединен со вторым входом блока повторения информационных символов 1, второй выход блока управления 4 соединен со вторым входом блока перемежения информационных символов 2, третий выход блока управления 4 соединен со вторым входом блока разделения проверочных символов на группы 3, четвертый выход блока управления 4 соединен со вторым входом блока суммирования 5, пятый выход блока управления 4 соединен со вторым входом блока памяти 8, шестой выход блока управления 4 соединен со вторым входом блока межпакетного суммирования 7, седьмой выход блока управления 4 соединен со вторым входом мультиплексора 6. Второй выход блока памяти 8 соединен с третьим входом блока межпакетного суммирования 7 и третьим входом мультиплексора 6.The transmitter shown in FIG. 3, contains a series of information
Первый вход блока повторения информационных символов 1 является первым входом передающего устройства, на который поступают пакеты данных, этот же вход соединен с первым входом мультиплексора 6. Первый вход блока управления 4 является входом сигнала обратной связи на автоматический запрос повторение, он же является вторым входом передающего устройства.The first input of the information
Через канал связи 9 сигнал поступает на приемное устройство. Through the
Приемное устройство, представленное на фиг. 4, содержит последовательно соединенные блок формирования корреляционных откликов и оценки шумового параметра 10, блок разделения мягких решений 11, блок повторения проверочных символов 12, блок формирования перемеженных мягких решений 15, первый итеративный декодер 16, блок вычисления контрольных сумм в декодированном кодовом слове 17, блок контроля ошибок в декодированном кодовом слове 18, выход которого является первым выходом приемного устройства. Выход блока разделения мягких решений 11 через последовательно соединенные блок повторения информационных символов 13 и блок перемежения информационных символов 14 соединен со вторым входом блока формирования перемеженных мягких решений 15, выход которого соединен с входом блока хранения и вычитания мягких решений 19, первый вход-выход которого через последовательно соединенные второй итеративный декодер 20, блок вычисления контрольных сумм в декодированном кодовом слове 21 и блок контроля ошибок в декодированном кодовом слове 22 соединен с входом канала обратной связи 23. При этом второй выход блока контроля ошибок в декодированном кодовом слове 22 соединен со вторым входом второго итеративного декодера 20. Второй вход-выход блока хранения и вычитания мягких решений 19 соединен с входом-выходом первого итеративного декодера 16, второй вход которого подсоединен к третьему выходу блока контроля ошибок в декодированном кодовом слове 18, второй выход которого соединен со вторым входом канала обратной связи 23. Второй выход блока формирования корреляционных откликов и оценки шумового параметра 10 соединен третьим входом блока формирования перемеженных мягких решений 15.The receiver of FIG. 4, contains in series a block for generating correlation responses and estimating a
Входом приемного устройства является вход блока формирования корреляционных откликов и оценки шумового параметра 10, на который поступает сигнал с передающего устройства через канал связи 9. Второй выход блока контроля ошибок в декодированном кодовом слове 22 является вторым выходом приемного устройства.The input of the receiving device is the input of the block for generating correlation responses and estimating the
Итеративные декодеры 16 и 20 идентичны, поэтому рассмотрим вариант реализации первого итеративного декодера 16, представленный на фиг. 5. Первый итеративный декодер 16 содержит блок декодирования обобщенной проверки на четность 24, первый деперемежитель 25, второй деперемежитель 26, блок декодирования кода повторений 27, блок управления декодера 28, блок памяти 29, первый коммутатор 30, перемежитель 31 и второй коммутатор 32. Iterative decoders 16 and 20 are identical, therefore, we consider an embodiment of the first iterative decoder 16 shown in FIG. 5. The first iterative decoder 16 comprises a generalized parity
Первый вход первого коммутатора 30 соединен с выходом блока формирования перемеженных мягких решений 15 (фиг. 4), второй вход коммутатора 30 соединен с первым выходом блока управления декодера 28, вход которого соединен с выходом блока контроля ошибок в декодированном кодовом слове 18. Третий вход первого коммутатора 30 является входом/выходом блока памяти 29. Первый выход первого коммутатора 30 является выходом мягких решений из каждого кодового слова кода обобщенной проверки на четность и соединен с входом блока декодирования обобщенной проверки на четность 24, выход которого через первый деперемежитель 25 соединен с первым входом блока декодирования кода повторений 27. Второй выход первого коммутатора 30 является выходом мягких решений о кодовом символе сохраненных в блоке памяти 29 и через деперемежитель 26 соединен со вторым входом блока декодирования кода повторений 27. Первый выход блока декодирования кода повторений 27, который является выходом исходящих сообщений кодового обобщенного кода, соединен через первый вход второго коммутатора 32 со входом перемежителя 31, выход которого соединен с четвертым входом первого коммутатора 30. Второй выход блока декодирования кода повторений 27, который является выходом декодированного кодового слова, соединен со вторым входом второго коммутатора 32, третий вход которого является входом управления и соединен со вторым выходом блока управления декодера 28. Выход второго коммутатора 32 соединен со входом блока вычисления контрольных сумм в декодированном кодовом слове 17. Сигналы синхронизации на фиг.5 для упрощения схемы не показаны.The first input of the first switch 30 is connected to the output of the interleaved soft decision forming unit 15 (Fig. 4), the second input of the switch 30 is connected to the first output of the control unit of the decoder 28, the input of which is connected to the output of the error control unit in the decoded codeword 18. The third input of the first the switch 30 is the input / output of the
Работает устройство следующим образом.The device operates as follows.
На передающей стороне сформированные пакеты данных, каждый из которых содержит упорядоченную последовательность информационных символов, поступают вход блока повторения информационных символов 1 и одновременно на первый вход мультиплексора 6. В блоке повторения информационных символов 1 каждый информационный символ повторяют определенное число раз, в зависимости от его номера по порядку в последовательности символов, формируя последовательность повторенных информационных символов, причем, количество повторений определяется заранее. Последовательность повторенных информационных символов с выхода блока повторения информационных символов 1 поступает на вход блока перемежения информационных символов 2, где осуществляют перемежение в последовательности повторенных информационных символов, добиваясь достаточного разнесения идущих подряд повторенных информационных символов и формируя последовательность перемеженных повторенных информационных символов. В блоке разделения проверочных символов на группы 3 разбивают перемеженные повторенные информационные символы на группы, затем в блоке суммирования 5 получают первый проверочный символ путем суммирования по заданному модулю начального значения переменной суммирования со всеми перемеженными повторенными информационными символами из первой группы, а проверочный символ путем суммирования по заданному модулю проверочного символа со всеми перемеженными повторенными информационными символами из группы . Полученные проверочные символы запоминают блоке памяти 8. Запомненные проверочные символы поступают в мультиплексор 6, где формируют кодовое слово путем добавления проверочных символов к информационным символам. Через канал связи 9 сформированное кодовое слово передают на приемное устройство. В случае получения по каналу обратной связи сигнала запроса на повторную передачу формируют пакет с кодово-сопряженной частью, для чего в блоке межпакетного суммирования 7 суммируют кодовые символы текущего пакета с кодовыми символами ошибочно декодированного пакета, сохраненного в блоке памяти 8. В мультиплексоре 6 мультиплексируют кодово-сопряженную часть пакета, полученную с блока межпакетного суммирования 7 и кодовые символы текущего пакета, которые также сохраняют в блоке памяти 8.On the transmitting side, the generated data packets, each of which contains an ordered sequence of information symbols, receive the input of the information
На приемной стороне сформированное в передатчике кодовое слово поступает на вход блока формирования корреляционных откликов и оценки шумового параметра 10, где формируют принятые корреляционные отклики на каждый из переданных кодовых символов и выполняют оценку шумового параметра смеси сигнал плюс шум, которая приближенно равна величине стандартного отклонения эквивалентного гауссовского белого шума, которым аппроксимируются помехи в канале, а затем формируют мягкие решения о принятых кодовых символах, используя полученную оценку шумового параметра смеси сигнал плюс шум. Полученные мягкие решения поступают на вход блока разделения мягких решений 11, где происходит разделение мягких решений о принятых кодовых символах на решения об информационных символах и решения о проверочных символах. Мягкие решения об информационных символах с блока разделения мягких решений 11 поступают на вход блока повторения информационных символов 13, где повторяют мягкие решения об информационных символах в соответствии с шаблоном повторения информационных символов. Мягкие решения о проверочных символах с блока разделения мягких решений 11 поступают на вход блока повторения проверочных символов 12, где повторяют мягкие решения о проверочных символах, по крайней мере, два раза за исключением последнего проверочного символа. Для мягких решений об информационных символах выполняют перемежение аналогичное перемежению на передающей стороне в блоке перемежения информационных символов 14. Затем в блоке формирования перемеженных мягких решений 15 формируют группы перемеженных мягких решений об информационных символах аналогичные группам соответствующих информационных символов на передающей стороне, используя сигналы с блока проверочных символов 12 и с блока формирования корреляционных откликов и оценки шумового параметра 10, причем первую группу перемеженных мягких решений дополняют мягким решением, соответствующим начальному значению переменной суммирования, и первой копией мягкого решения о первом проверочном символе, образуя первое кодовое слово кода обобщенной проверки на четность, группу перемеженных мягких решений дополняют второй копией проверочного символа и первой копией мягкого решения об проверочном символе, образуя кодовое слово кода обобщенной проверки на четность. Сформированные перемеженные мягкие решения поступают на первый вход первого итеративного декодера 16 (на первый коммутатор 26 фиг. 5), в котором формируется декодированное кодовое слово. Каждое декодированное кодовое слово в блоке вычисления контрольных сумм в декодированном кодовом слове 17 умножают на проверочную матрицу, получая упорядоченную последовательность контрольных сумм, если все контрольные суммы равны нулю, то кодовое слово считают декодированным верно, если количество контрольных сумм отличных от нуля нечетно и последняя контрольная сумма отлична от нуля, то заменяют ее нулем, если количество контрольных сумм отличных от нуля нечетно и последняя в последовательности контрольная сумма равна нулю, то ее заменяют любым отличным от нуля значением, разбивают последовательность контрольных сумм на пары, в которые входят элементы последовательности, идущие подряд, причем каждая контрольная сумма входит только в единственную пару, в каждой паре вычисляют разность номеров контрольных сумм, складывают все полученные разности номеров контрольных сумм. Затем в блоке контроля ошибок в декодированном кодовом слове 18 сравнивают полученное число с заданным порогом, если число превышает установленный порог, то информационную часть кодового слова считают декодированной неверно, если полученное число меньше заданного порога, то информационную часть кодового слова считают декодированной верно. On the receiving side, the code word generated in the transmitter is input to the block for generating correlation responses and estimating the
Восстановленные проверочные символы пакета, в котором детектирована ошибка, сохраняют в блоке хранения и вычитания мягких решений 19, где и вычитают из кодово-сопряженной части пакета восстановленные мягкие решения в тех позициях, в которых заменяли кодовые символы суммой символов разных пакетов, получая мягкие решения текущего пакета, которые используют как дополнительную информацию при декодировании текущего пакета первым итеративным декодером 16. Восстановленную последовательность мягких решений текущего пакета сохраняют в блоке хранения и вычитания мягких решений 19, там же вычитают из кодово-сопряженной части текущего пакета восстановленные мягкие решения текущего пакета в тех позициях, в которых заменяли кодовые символы суммой символов разных пакетов, получая модифицированную последовательность мягких решений для ошибочного пакета. Повторно декодируют ошибочный пакет вторым итеративным декодером 20, используя модифицированную последовательность мягких решений для ошибочного пакета, как дополнительную информацию в тех позициях, в которых заменяли кодовые символы суммой символов разных пакетов. Передают по каналу обратной связи 23 сигналы, характеризующие результативность декодирования кодово-сопряженных пакетов.The reconstructed check symbols of the packet in which the error was detected are stored in the soft decision storage and subtraction unit 19, where the reconstructed soft solutions are subtracted from the code-conjugate part of the packet at the positions in which the code symbols are replaced by the sum of the symbols of different packets, obtaining soft solutions of the current packets that are used as additional information when decoding the current packet by the first iterative decoder 16. The reconstructed sequence of soft decisions of the current packet is stored in block x injured and subtracted soft solutions 19, in the same place, the restored soft solutions of the current package are subtracted from the code-conjugate part of the current package at the positions in which the code symbols were replaced by the sum of the symbols of different packages, obtaining a modified sequence of soft solutions for the erroneous package. The error packet is re-decoded by the second iterative decoder 20, using the modified sequence of soft decisions for the error packet, as additional information at those positions in which the code symbols were replaced by the sum of the symbols of different packets. Transmit via feedback channel 23 signals characterizing the decoding performance of code-conjugate packets.
Алгоритм обнаружения ошибок в кодовом слове представлен на фиг. 6.The error detection algorithm in the codeword is shown in FIG. 6.
Обнаружение ошибок в заявляемом способе передачи данных в цифровой системе связи может быть пояснено следующим примером. Пусть мы имеем код “повторение с накоплением” заданный двудольным регулярным графом. Рассмотрим различные конфигурации ошибок. Отметим, случай, когда существуют ошибочно декодированные переменные вершины, но все контрольные суммы равны нулю. Это случай необнаружимой ошибки. Рассмотрим также случай, когда ошибки только в проверочной части кодового слова. Заметим, что каждая ошибка в проверочной части вызывает неравенство нулю двух соседних контрольных сумм. Однако неравные нулю контрольные суммы при ошибке в информационной части разнесены на расстояние пропорциональное параметру разнесения интерливера. Таким образом, при наличии единственной ошибки легко определить к какому символу она относится: информационному или проверочному. Для этого достаточно рассмотреть разность номеров проверочных вершин соответствующих неравным нулю контрольным суммам. Если таковая разность равна 1, то ошибочный символ однозначно можно отнести к проверочным символам, если больше, то ошибочный символ информационный.The detection of errors in the inventive method of transmitting data in a digital communication system can be explained by the following example. Suppose we have a “repeat with accumulation” code given by a bipartite regular graph. Consider the various error configurations. Note the case where there are erroneously decoded vertex variables, but all checksums are equal to zero. This is a case of an undetectable error. Consider also the case where errors are only in the verification part of the codeword. Note that each error in the verification part causes two neighboring checksums to be zero. However, non-zero checksums with an error in the information part are spaced a distance proportional to the spacing parameter of the interleaver. Thus, in the presence of a single error, it is easy to determine which symbol it refers to: informational or verification. To do this, it suffices to consider the difference in the numbers of test vertices corresponding to non-zero checksums. If such a difference is 1, then the erroneous character can be unambiguously attributed to the test characters, if more, then the erroneous character is informational.
Переходя к случаю многих ошибок, алгоритм состоит в следующем: Turning to the case of many errors, the algorithm is as follows:
• если число отличных от нуля контрольных сумм нечетно, то изменяют контрольное значение последней суммы, добиваясь четного числа контрольных сумм;• if the number of non-zero checksums is odd, then the control value of the last amount is changed, achieving an even number of checksums;
• последовательно разбивают контрольные суммы на пары, вычисляют сумму разностей адресов проверочных вершин;• consistently break the checksums into pairs, calculate the sum of the differences of the addresses of the test vertices;
• сравнивают полученное значение с порогом, если оно меньше порога, то относят ошибки только к проверочным символам.• compare the obtained value with the threshold; if it is less than the threshold, then the errors are referred only to check symbols.
Таким образом, обнаружение ошибок осуществляют без CRC, тем самым повышая качество радиосвязи за счет снижения количества избыточных передаваемых кодовых символов, обеспечивая одновременно обнаружение и исправление ошибок.Thus, error detection is carried out without CRC, thereby improving the quality of radio communications by reducing the number of redundant transmitted code symbols, while simultaneously detecting and correcting errors.
Первый итеративный декодер 16, представленный на фиг. 5, работает следующим образом.The first iterative decoder 16 shown in FIG. 5, works as follows.
По сигналу с блока управления декодера 28 коммутатор 30 коммутирует мягкие решения из каждого кодового слова кода обобщенной проверки на четность на вход блока декодирования кода обобщенной проверки на четность и сохраняют их в блоке памяти 29. В блоке декодирования кода обобщенной проверки на четность 24 для каждого мягкого решения, входящего в каждое кодовое слово кода обобщенной проверки на четность, формируют модифицированное мягкое решение, которое является исходящим сообщением кодового слова кода обобщенной проверки на четность, таким образом, что исходящее сообщение кодового слова кода обобщенной проверки на четность представляет собой результат функционального преобразования исходных мягких решений – входящих сообщений кодового слова кода обобщенной проверки на четность. В деперемежителе 25 деперемежают исходящие сообщения кодового слова кода обобщенной проверки на четность таким образом, что каждой копии мягкого решения о кодовом символе ставят в соответствие исходящее сообщение кодового слова кода обобщенной проверки на четность соответствующее копии мягкого решения об этом символе. Мягкие решения о кодовом символе, сохраненные в блоке памяти 29, через коммутатор 30 деперемежают в деперемежителе 26 таким образом, что каждой копии мягкого решения о кодовом символе, сохраненной в блоке памяти 29, ставят в соответствие исходящее сообщение кодового слова кода обобщенной проверки на четность деперемеженной в блоке 25 соответствующее копии мягкого решения об этом символе. Деперемеженные мягкие решения с блоков 25 и 26 поступают в блок декодирования кода повторений 27, для каждого мягкого решения входящего в каждое кодовое слово обобщенного кода повторения формируют модифицированное мягкое решение, которое является исходящим сообщением кодового обобщенного кода повторения, представляющее собой результат функционального преобразования над входящими сообщениями кодового слова обобщенного кода повторения. По управляющему сигналу с блока управления декодера 28 коммутатор 32 пропускает на перемежитель 31 исходящих сообщений кодового слова обобщенного кода повторения, где происходит их перемежение, либо сформированные в блоке декодирования кода повторений 27 декодированные кодовые слова по соответствующему сигналу блока управления 28 коммутатор 32 на блок вычисления контрольных сумм в декодированном кодовом слове 17. .Итеративно повторяют процесс обмена исходящими и входящими сообщениями таким образом, что исходящее сообщение кодового слова обобщенного кода повторений является входящим сообщением кодового слова кода обобщенной проверки на четность, а исходящее сообщение кода обобщенной проверки на четность является входящим сообщением кодового слова обобщенного кода повторений, формируя на каждой итерации последовательность модифицированных мягких решений, из последовательности модифицированных мягких решений формируют декодированные кодовые слова.According to the signal from the control unit of the decoder 28, the switch 30 commutes soft decisions from each code word of the generalized parity check code to the input of the decoding unit of the generalized parity check code and stores them in the
Все блоки, входящие в систему связи могут быть реализованы на процессоре, ПЛИС, специализированной микросхеме.All blocks included in the communication system can be implemented on the processor, FPGA, specialized chip.
Для заявляемого способа передачи данных в системе цифровой радиосвязи на основе кодов с низкой плотностью проверок на четность используется предлагаемый способ перемежения кодовых символов.For the inventive method for transmitting data in a digital radio communication system based on codes with a low density of parity checks, the proposed method for interleaving code symbols is used.
Известен способ перемежения последовательности кодовых символов по патенту РФ 2323520, H03M 13/00, (пункт 6 формулы изобретения), в котором последовательность кодовых символов разбивают на множество подпоследовательностей, в каждой из которых осуществляют перемежение при помощи пилотной псевдослучайной последовательности, которую задают посредством задания Гамильтонова пути на регулярном четырехвалентном графе. Пилотную псевдослучайную последовательность задают следующим образом. Пусть в графе существует гамильтонов путь, и нумерация вершин графа соответствует порядку прохождения данного пути. Пилотная псевдослучайная последовательность определена, если существует другой Гамильтонов путь, проходящий не по участвовавшим в первом пути ребрам графа. При прохождению по второму Гамильтонову пути получают последовательность номеров пройденных вершин, заданных при прохождению по первому пути, которая определяет пилотную псевдослучайную последовательность.A known method of interleaving a sequence of code symbols according to RF patent 2323520, H03M 13/00, (claim 6), in which a sequence of code symbols is divided into many subsequences, each of which is interleaved using a pilot pseudorandom sequence, which is set by setting Hamilton paths on a regular tetravalent graph. The pilot pseudo-random sequence is defined as follows. Suppose that there is a Hamiltonian path in the graph, and the numbering of the vertices of the graph corresponds to the order of passage of this path. A pilot pseudorandom sequence is defined if there is another Hamiltonian path passing along the edges of the graph that did not participate in the first path. When passing along the second Hamiltonian path, a sequence of numbers of passed vertices is obtained, given when passing along the first path, which defines a pilot pseudorandom sequence.
Недостатком данного способа перемежения является несколько худшие характеристики помехоустойчивости по сравнению со следующим вариантом перемежения кодовых символов (патент РФ 2323520, H03M 13/00, перемежение кодовых символов по п. 9) The disadvantage of this method of interleaving is the slightly worse noise immunity characteristics compared to the following variant of interleaving code symbols (RF patent 2323520, H03M 13/00, interleaving code symbols according to claim 9)
Наиболее близким аналогом по технической сущности к предлагаемому является "Способ передачи голосовых данных в системе цифровой радиосвязи и способ перемежения последовательности кодовых символов (варианты)", патент РФ 2323520, H03M 13/00, перемежение кодовых символов по п. 9, принятый за прототип.The closest analogue in technical essence to the proposed one is "A method for transmitting voice data in a digital radio communication system and a method for interleaving a sequence of code symbols (options)", RF patent 2323520, H03M 13/00, interleaving code symbols according to
Способ-прототип заключается в следующем: The prototype method is as follows:
• разбивают последовательность символов для перемежения на подпоследовательности символов для перемежения;• break the sequence of characters for interleaving into subsequences of characters for interleaving;
• осуществляют обмен кодовыми символами между и/или внутри подпоследовательностей, образуя перемеженные подпоследовательности кодовых символов;• exchange code symbols between and / or within subsequences, forming interleaved subsequences of code symbols;
• формируют из подпоследовательностей финальную перемеженную последовательность;• form the final interleaved sequence from subsequences;
• разбивают последовательность символов для перемежения на две подпоследовательности символов для перемежения в первую из которых входят символов для перемежения, а во вторую символов для перемежения, причем формируют первую и вторую подпоследовательность таким образом, что в первой подпоследовательности выполняется условие , • break the sequence characters for interleaving into two subsequences of characters for interleaving, the first of which includes characters for interleaving, and in the second characters for interleaving, and form the first and second subsequence so that in the first subsequence the condition ,
а во второй подпоследовательности выполняется условие , где – номера кодовых символов до перемежения, а – номера кодовых символов после перемежения, – целые положительные числа;and in the second subsequence, the condition where - numbers of code symbols before interleaving, and - code symbol numbers after interleaving, - positive integers;
• – производя отбор символов в первую подпоследовательность по первым адресам, заданным в пилотной псевдослучайной последовательности и производя отбор последних символов во вторую подпоследовательность по последним адресам, заданным в пилотной псевдослучайной последовательности, для определения которой формируют множество номеров от до , где – количество символов для перемежения следующим образом:• - making selection characters in the first subsequence of the first addresses specified in the pilot pseudo-random sequence and selecting the latter characters in the second subsequence of the last the addresses specified in the pilot pseudo-random sequence, for the determination of which form a set of numbers from before where - the number of characters to interleave as follows:
– устанавливают начальное значение параметра разнесения , где – целые положительные числа и выполняется %;- set the initial value of the parameter explode where - positive integers and is satisfied %;
• формируют множество пар чисел , определяющих закон взаимно однозначного соответствия между первоначальной последовательностью символов и перемеженной последовательностью символов, состоящее из одной пары чисел, где первое число – номер последовательности до перемежения, а второе число – номер элемента в последовательности после перемежения, где в вышеупомянутой паре чисел первое равно нулю и второе равно случайным образом выбранному номеру из множества , который при этом исключают из множества ;• form many pairs of numbers defining the law of a one-to-one correspondence between the initial sequence of characters and the interleaved sequence of characters, consisting of one pair of numbers, where the first number is the number of the sequence before interleaving, and the second number is the number of the element in the sequence after interleaving, where in the aforementioned pair of numbers the first is zero and the second is equal to a randomly selected number from the set , which is excluded from the set ;
• инициализируют ;• initialize ;
• случайным образом выбирают из множества элемент и ставят ему во взаимно однозначное соответствие элемент , определяя таким образом преобразование ;• randomly selected from a variety of element and put him in a one-to-one correspondence element thus defining the transformation ;
• выполняют проверку дистанционного разнесения перемеженных символов для чего для всех таких, что , вычисляют значение ; • perform verification of remote diversity of interleaved symbols for which for all such that , calculate the value ;
• если все полученные значения больше или равны , то увеличивают значение , исключают элемент из множества и добавляют в множество пару ;• if all received values are greater than or equal then increase the value exclude element out of many and added to many a couple ;
• если хотя бы одна разность оказывается меньше, чем , то повторно выбирают другой элемент из множества и повторяют для него проверку дистанционного разнесения перемеженных символов; • if at least one difference is less than then re-select another item out of many and repeat for him the test of remote diversity of interleaved characters;
• при невозможности найти элемент, удовлетворяющий проверке дистанционного разнесения перемеженных символов, повторяют весь алгоритм заново с измененным параметром разнесения ;• if it is impossible to find an element that satisfies the check for remote diversity of interleaved characters, repeat the whole algorithm again with the modified diversity parameter ;
• при достижении значения присваивают ;• upon reaching a value appropriate ;
• повторяют процедуру до тех пор, пока множество не станет пустым, а множество не будет содержать пар чисел;• repeat the procedure until the set will not become empty, but many will not contain pairs of numbers;
• формируют из подпоследовательностей финальную перемеженную последовательность.• form from the subsequences the final interleaved sequence.
Недостатком прототипа является последовательный характер процедуры перемежения: кодовые символы могут быть перемежены только один за другим, что займет значительное время, а достоинством прототипа хорошие характеристики помехоустойчивости. Прототип является модификацией алгоритма S-random [S. Dolinar and D. Divsalar “Weight Distribution for turbo codes using random and non-random permutation” JPL Progress report 42-122 pp 56-65 Aug 15,1995], распространенной на случай малой длины пакета.The disadvantage of the prototype is the sequential nature of the interleaving procedure: code symbols can be interleaved only one after another, which will take considerable time, and the advantage of the prototype is good noise immunity characteristics. The prototype is a modification of the S-random [S. Dolinar and D. Divsalar “Weight Distribution for turbo codes using random and non-random permutation” JPL Progress report 42-122 pp 56-65 Aug 15,1995], extended to the case of a short packet length.
Требования к перемежителю заключаются в том, чтобы обеспечить достаточное разнесение повторенных символов, обеспечив тем самым отсутствие или малое число кодовых слов с низким весом. Существуют два класса перемежителей: псевдослучайный и детерминистический. Для формирования случайного перемежителя применяют датчик случайных чисел, при помощи которого определяют номер перемежаемого символа в последовательности после перемежения. Последовательность получаемых номеров подвергают проверке на достаточность разнесения подряд идущих повторенных информационных символов с выбраковкой (откатом назад) последовательностей, не прошедших подобной проверки. The interleaver requirements are to provide sufficient spacing for repeated characters, thereby ensuring the absence or small number of low-weight codewords. There are two classes of interleavers: pseudo-random and deterministic. To generate a random interleaver, a random number sensor is used, with which the number of the interleaved symbol in the sequence after interleaving is determined. The sequence of numbers obtained is checked for sufficiency of diversity of consecutive repeated information symbols with culling (rollback) of sequences that have not passed such a check.
Псевдослучайные перемежители требуют много памяти для хранения и не могут быть сгенерированы на приемной и передающей стороне независимо или же такая генерация потребует больших вычислительных и временных затрат. От этого недостатка свободны детерминистические перемежители, где способ взаимно однозначного соответствия перемежения определяется путем задания параметризованного алгоритма. Такие перемежителя могут формироваться “на лету”, то есть непосредственно в процессе декодирования, и задаются путем определения параметров алгоритма (несколько положительных целых чисел). Pseudorandom interleavers require a lot of memory for storage and cannot be generated independently on the receiving and transmitting sides, or such generation will require a lot of computational and time consuming. Deterministic interleavers are free from this drawback, where the method of one-to-one correspondence of interleaving is determined by defining a parameterized algorithm. Such interleavers can be formed on the fly, that is, directly in the decoding process, and are set by determining the parameters of the algorithm (several positive integers).
Примером является решение, представляющее собой взаимно простой интерливер, [United States Patent 6,857,087 Crozier, et al. February 15, 2005 High-performance low-memory interleaver banks for turbo-codes]. Такой способ, известный как DRP перемежитель, заключается в перемежении последовательности упорядоченных элементов, сформированных как подпоследовательностей, где каждая подпоследовательность содержит в среднем элементов. При этом An example is a solution that is a mutually simple interleaver, [United States Patent 6,857,087 Crozier, et al. February 15, 2005 High-performance low-memory interleaver banks for turbo-codes]. Such a method, known as DRP interleaver, consists in interleaving a sequence ordered elements formed as subsequences, where each subsequence contains on average elements. Wherein
1. перемежают элементы в каждой из подпоследовательностей для формирования последовательности из упорядоченных элементов по правилу, установленному в пилотной подпоследовательности, формируя пилотную псевдослучайную подпоследовательность;1. interleave the elements in each of subsequences to form a sequence of ordered elements according to the rule established in the pilot subsequence, forming a pilot pseudo-random subsequence;
2. перемежают элементов в пилотной псевдослучайной последовательности из упорядоченных элементов для формирования перемеженной последовательности, сформированной как подпоследовательностей, имеющих размер в среднем элементов;2. interspersed elements in the pilot pseudo-random sequence from ordered elements to form an interleaved sequence formed as subsequences having an average size elements;
3. перемежают элементы внутри каждой из подпоследовательности для получения перемеженной последовательности из упорядоченных элементов.3. interleave the elements inside each of subsequences to obtain an interleaved sequence from ordered items.
Существенной особенностью данного способа является то, что шаг 2 выполняют путем взаимно-простого перемежителя, соответствующего преобразованию вида , где количество перемежаемых элементов, а – старый номер в первой перемеженной последовательности – число взаимно простое с . Подобный подход также известен из [S. Dolinar and D. Divsalar “Weight Distribution for turbo codes using random and non-random permutation” JPL Progress report 42-122 pp 56-65 Aug 15,1995] как алгебраический интерливер. Подбор чисел целесообразно таким образом, чтобы обеспечить наименьшее число кодовых слов с минимальным весом, что так же отвечает критерию минимума циклов длиной 4 на графе Таннера. Данный способ перемежения используют для турбокодов и он неприменим к кодам с низкой плотностью проверок на четность. Однако, взаимно-простой перемежитель допускает параллельное выполнение алгоритма перемежения несколькими процессорами.An essential feature of this method is that
Для того чтобы схема параллельного перемежения была реализуемой, работа каждого из процессоров не должна приводить к конфликтам при доступе к памяти. К числу таких конфликтов можно, например, отнести попытку одновременной записи и чтения отдельной ячейки памяти. Память обычно реализуют в виде блоков (“банков”) памяти, таким образом, что к каждому блоку за один квант времени возможен либо доступ на запись (по указанному адресу), либо доступ на чтение. In order for the parallel interleaving scheme to be feasible, the operation of each processor should not lead to conflicts when accessing memory. Such conflicts include, for example, an attempt to simultaneously write and read a separate memory cell. The memory is usually implemented in the form of blocks (“banks”) of memory, so that for each block in one time slot, either write access (at the specified address) or read access is possible.
Таким образом, видно, что актуальной является задача разработки алгоритма перемежения, который с одной стороны может быть реализован как результат параллельного перемежения последовательности кодовых символов несколькими процессорами, а с другой обеспечивать характеристики помехоустойчивости, сравнимые с прототипом.Thus, it is clear that the urgent task is to develop an interleaving algorithm, which, on the one hand, can be implemented as a result of parallel interleaving of a sequence of code symbols by several processors, and, on the other hand, to provide noise immunity characteristics comparable to the prototype.
Для решения поставленной задачи в способе перемежения последовательности кодовых символов, состоящем в том, что разбивают последовательность символов для перемежения на подпоследовательности символов для перемежения, осуществляют обмен кодовыми символами между и/или внутри подпоследовательностей, образуя перемеженные подпоследовательности кодовых символов, формируют из подпоследовательностей финальную перемеженную последовательность, последовательность символов для перемежения количеством разбивают на равные подпоследовательности установленного размера , в каждой из подпоследовательностей производят перемежение по установленному правилу перемежения подпоследовательностей, согласно изобретению, формируют пилотную псевдослучайную подпоследовательность таким образом, что в пилотной подпоследовательности выполняется условие To solve the problem in a method of interleaving a sequence of code symbols, which consists in splitting a sequence of symbols for interleaving into subsequences of symbols for interleaving, exchanging code symbols between and / or within subsequences, forming interleaved subsequences of code symbols, form a final interleaved sequence from subsequences , a sequence of characters to interlace broken down into equal subsequences of a fixed size , in each of the subsequences, interleaving is performed according to the established rule of interleaving of subsequences, according to the invention, a pilot pseudo-random subsequence is formed in such a way that the condition is satisfied in the pilot subsequence
, где – номера кодовых символов до перемежения, а – номера тех же кодовых символов после перемежения, – целое положительное число; для определения пилотной псевдослучайной подпоследовательности номеров формируют множество номеров от до , где – количество символов для перемежения следующим образом: устанавливают начальное целые положительные значение параметра разнесения , формируют множество пар чисел , определяющих закон взаимно однозначного соответствия между первоначальной последовательности символов и перемеженной подпоследовательности символов, состоящее из одной пары чисел, где первое число – номер в подпоследовательности до перемежения, а второе число – номер элемента в подпоследовательности после перемежения, где в вышеупомянутой паре чисел первое равно нулю и второе равно случайным образом выбранному номеру из множества , который при этом исключают из множества , инициализируют , случайным образом выбирают из множества элемент и ставят ему во взаимно однозначное соответствие элемент , определяя таким образом, преобразование , выполняют проверку дистанционного разнесения перемеженных символов для чего для всех таких, что , , вычисляют значение , если все полученные значения разные, то увеличивают значение ; исключают элемент из множества и добавляют в множество пару , если хотя бы две разности оказываются равны, то повторно выбирают другой элемент из множества и повторяют для него проверку дистанционного разнесения перемеженных символов, при невозможности найти элемент, удовлетворяющий проверке дистанционного разнесения перемеженных символов, повторяют весь алгоритм заново с уменьшенным параметром разнесения , повторяют процедуру до тех пор, пока множество не станет пустым, а множество не будет содержать пар чисел; формируют перемеженные подпоследовательности, располагая элементы в соответствии с их новыми номерами в каждой подпоследовательности, используя пилотную псевдослучайную последовательность номеров, объединяют перемеженные подпоследовательности в первую перемеженную последовательность, в первой перемеженной последовательности выполняют второе перемежение для чего для каждого символа в последовательности формируют его новый номер в последовательности по порядку путем выполнения преобразования вида , где – количество перемежаемых элементов, а – старый номер в первой перемеженной последовательности, число взаимно простое с ; формируют вторую перемеженную последовательность, располагая элементы первой перемеженной последовательности в соответствии с новыми номерами, формируют третью перемеженную последовательность, для чего осуществляют преобразование , где – последовательность значений из К элементов; формируют финальную перемеженную последовательность, располагая элементы в соответствии с их новыми номерами. where - numbers of code symbols before interleaving, and - numbers of the same code symbols after interleaving, - a positive integer; to determine the pilot pseudo-random subsequence of numbers form a lot of numbers from before where - the number of characters to interleave as follows: set the initial integer positive value of the diversity parameter form a lot of pairs of numbers defining the law of a one-to-one correspondence between the initial sequence of characters and the interleaved subsequence of characters, consisting of one pair of numbers, where the first number is the number in the subsequence before interleaving, and the second number is the number of the element in the subsequence after interleaving, where in the aforementioned pair of numbers the first is zero and the second is equal to a randomly selected number from the set , which is excluded from the set initialize are randomly selected from the set element and put him in a one-to-one correspondence element thus defining the transformation perform verification of remote diversity of interleaved symbols for which for all such that , calculate the value if all the obtained values are different, then increase the value ; exclude element out of many and added to many a couple , if at least two differences are equal, then select another element again out of many and repeat for him the test of remote diversity of interleaved characters, if it is impossible to find an element that satisfies the test of remote diversity of interleaved characters, repeat the whole algorithm again with a reduced diversity parameter repeat the procedure until the set will not become empty, but many will not contain pairs of numbers; interleaved subsequences are formed by arranging the elements according to their new numbers in each subsequence using a pilot pseudorandom sequence of numbers, the interleaved subsequences are combined into the first interleaved sequence, the second interleaving is performed in the first interleaved sequence, for which for each character in the sequence form its new number in the sequence in order by performing a conversion of the form where - the number of interleaved elements, and - old number in the first interleaved sequence, the number is coprime with ; form the second interleaved sequence, arranging the elements of the first interleaved sequence in accordance with the new numbers, form the third interleaved sequence, for which the conversion where - a sequence of values from K elements; form the final interleaved sequence, arranging the elements in accordance with their new numbers.
Предлагаемый способ перемежения последовательности кодовых символов заключается в следующем:The proposed method of interleaving a sequence of code symbols is as follows:
• разбивают последовательность символов для перемежения на подпоследовательности символов для перемежения;• break the sequence of characters for interleaving into subsequences of characters for interleaving;
• осуществляют обмен кодовыми символами между и/или внутри подпоследовательностей, образуя перемеженные подпоследовательности кодовых символов;• exchange code symbols between and / or within subsequences, forming interleaved subsequences of code symbols;
• формируют из подпоследовательностей финальную перемеженную последовательность;• form the final interleaved sequence from subsequences;
• последовательность символов для перемежения количеством разбивают на равные подпоследовательности установленного размера ;• a sequence of characters to interleave the number broken down into equal subsequences of a fixed size ;
• в каждой из подпоследовательностей производят перемежение по установленному правилу перемежения подпоследовательностей, для этого формируют пилотную псевдослучайную подпоследовательность таким образом, что в пилотной подпоследовательности выполняется условие , где – номера кодовых символов до перемежения, а – номера тех же кодовых символов после перемежения, – целое положительное число;• in each of the subsequences, interleaving is performed according to the established rule of alternating subsequences, for this a pilot pseudo-random subsequence is formed in such a way that the condition is satisfied in the pilot subsequence where - numbers of code symbols before interleaving, and - numbers of the same code symbols after interleaving, - a positive integer;
• для определения пилотной псевдослучайной подпоследовательности номеров формируют множество номеров от до , где – количество символов для перемежения следующим образом:• to determine the pilot pseudo-random subsequence of numbers, multiple numbers are generated from before where - the number of characters to interleave as follows:
устанавливают начальное целые положительные значение параметра разнесения , формируют множество пар чисел , определяющих закон взаимно однозначного соответствия между первоначальной последовательностью символов и перемеженной подпоследовательностью символов, состоящее из одной пары чисел, где первое число – номер в подпоследовательности до перемежения, а второе число – номер элемента в подпоследовательности после перемежения, где в вышеупомянутой паре чисел первое равно нулю и второе равно случайным образом выбранному номеру из множество , который при этом исключают из множества ;set the initial integer positive value of the diversity parameter form a lot of pairs of numbers defining the law of one-to-one correspondence between the initial sequence of characters and the alternated subsequence of characters, consisting of one pair of numbers, where the first number is the number in the subsequence before interleaving, and the second number is the number of the element in the subsequence after interleaving, where in the above pair of numbers the first is zero and the second is equal to a randomly selected number from the set , which is excluded from the set ;
• инициализируют ;• initialize ;
• случайным образом выбирают из множества элемент и ставят ему в взаимно однозначное соответствие элемент , определяя таким образом преобразование ;• randomly selected from a variety of element and put him in a one-to-one correspondence element thus defining the transformation ;
• выполняют проверку дистанционного разнесения перемеженных символов для чего для всех таких, что , вычисляют значение ; • perform verification of remote diversity of interleaved symbols for which for all such that , calculate the value ;
• если все полученные значения разные, то увеличивают значение , исключают элемент из множества и добавляют в множество пару ;• if all received values are different, then increase the value exclude element out of many and added to many a couple ;
• если хотя бы две разности оказываются равны, то повторно выбирают другой элемент из множества и повторяют для него проверку дистанционного разнесения перемеженных символов; • if at least two differences are equal, then re-select another element out of many and repeat for him the test of remote diversity of interleaved characters;
• при невозможности найти элемент, удовлетворяющий проверке дистанционного разнесения перемеженных символов, повторяют весь алгоритм заново с уменьшенным параметром разнесения ;• if it is impossible to find an element that satisfies the check for remote diversity of interleaved characters, repeat the whole algorithm again with a reduced diversity parameter ;
• повторяют процедуру до тех пор, пока множество не станет пустым, а множество не будет содержать пар чисел;• repeat the procedure until the set will not become empty, but many will not contain pairs of numbers;
• формируют перемеженные подпоследовательности, располагая элементы в соответствии с их новыми номерами в каждой подпоследовательности, используя пилотную псевдослучайную последовательность номеров;• form interleaved subsequences by arranging the elements in accordance with their new numbers in each subsequence using a pilot pseudo-random sequence of numbers;
• объединяют перемеженные подпоследовательности в первую перемеженную последовательность;• combine interleaved subsequences into the first interleaved sequence;
• в первой перемеженной последовательности выполняют второе перемежение для чего для каждого символа в последовательности формируют его новый номер в последовательности по порядку путем выполнения преобразования вида , где – количество перемежаемых элементов, а – старый номер в первой перемеженной последовательности, – число взаимно простое с ;• in the first interleaved sequence, the second interleaving is performed, for which, for each character in the sequence, form its new number in the sequence in order by performing a transformation of the form where - the number of interleaved elements, and - old number in the first interleaved sequence, - the number is coprime with ;
• формируют вторую перемеженную последовательность, располагая элементы первой перемеженной последовательности в соответствие с новыми номерами;• form the second interleaved sequence, arranging the elements of the first interleaved sequence in accordance with the new numbers;
• для каждого -го элемента, начиная с первого, получают новый номер во второй перемеженной последовательности, где новый номер равен , при этом номера остальных элементов последовательности не изменяют;• for everybody -th element, starting from the first, get a new number in the second interleaved sequence, where the new number is , while the numbers of the remaining elements of the sequence do not change;
• формируют третью перемеженную последовательность, для чего осуществляют преобразование , где последовательность значений из К элементов;• form the third interleaved sequence, for which the conversion is carried out where a sequence of values from K elements;
• формируют финальную перемеженную последовательность, располагая элементы в соответствии с их новыми номерами.• form the final interleaved sequence, arranging the elements in accordance with their new numbers.
Предлагаемый способ перемежения последовательности кодовых символов может быть реализован на цифровом сигнальном процессоре, массиве цифровых сигнальных процессоров, ПЛИС, на специализированной микросхеме. Алгоритм перемежения представлен на фиг. 7. The proposed method of alternating a sequence of code symbols can be implemented on a digital signal processor, an array of digital signal processors, FPGAs, on a specialized chip. The interleaving algorithm is shown in FIG. 7.
Рассмотрим алгоритм, как алгоритм перемежения в прямоугольном перемежителе. Сущность алгоритма в том, что на первой стадии перемежения осуществляют перемежение внутри каждой из подпоследовательностей или перемежение в каждой строке, а на второй стадии – взаимно-простое перемежение, на третьей – циклический сдвиг в столбцах. Все три операции могут быть осуществлены параллельно.Consider the algorithm as an interleaving algorithm in a rectangular interleaver. The essence of the algorithm is that in the first stage of interleaving, interleaving is performed inside each of the subsequences or interleaving in each row, and in the second stage, mutually simple interleaving, in the third, a cyclic shift in the columns. All three operations can be carried out in parallel.
Отличительными (новыми) признаками заявляемого способа передачи данных в цифровой системе радиосвязи относительно прототипа являются следующие признаки: Distinctive (new) features of the proposed method of data transmission in a digital radio communication system relative to the prototype are the following features:
- новый способ перемежения кодовых символов;- A new way of interleaving code symbols;
-новый способ кодового сопряжения пакетов; -new method of code pairing packages;
-новый способ декодирования кодово-сопряженных пакетов.A new way to decode code-conjugate packets.
Сопоставительный анализ заявляемых способов с прототипом показывает, что предлагаемое изобретение существенно отличается от известных решений, так как позволяют повысить качество радиосвязи за счет снижения количества избыточных передаваемых кодовых символов, путем кодового сопряжения пакетов при автоматическом запросе-повторении, а также используя новый оптимизированный способы перемежения, увеличить быстродействие и пропускную способность устройства – за счет параллельной обработки пакетов данных. A comparative analysis of the proposed methods with the prototype shows that the present invention is significantly different from the known solutions, as it allows to improve the quality of radio communications by reducing the number of redundant code symbols transmitted by code pairing packets with automatic request-repetition, as well as using a new optimized interleaving methods, increase the speed and throughput of the device - due to the parallel processing of data packets.
Таким образом, технический результат состоит в получении энергетического выигрыша кодирования в среднем 0.5 дБ, а также в упрощении поиска псевдослучайной последовательности перемежения кодовых символов.Thus, the technical result consists in obtaining an energy gain of encoding of an average of 0.5 dB, as well as in simplifying the search for a pseudo-random sequence of alternation of code symbols.
Для этого в способе применяют кодовое сопряжение пакетов и новый способ перемежения кодовых символов.To this end, the method uses code pairing of packets and a new method of interleaving code symbols.
Таким образом, заявляемый способ позволяет достичь энергетического выигрыша кодирования в среднем 0.5 дБ по сравнению с прототипом. Кроме того, заявляемый способ позволяет существенно упростить поиск псевдослучайной последовательности перемежения кодовых символов, а также допускает параллельную реализацию декодирующего устройства без потери характеристик помехоустойчивости.Thus, the claimed method allows to achieve an energy gain of coding on average 0.5 dB compared with the prototype. In addition, the inventive method can significantly simplify the search for a pseudo-random sequence of alternation of code symbols, and also allows the parallel implementation of a decoding device without loss of noise immunity characteristics.
Claims (7)
1. Способ передачи данных в цифровой системе связи, заключающийся в том, что на передающей стороне формируют пакеты данных, каждый из которых содержит упорядоченную последовательность информационных символов, каждый информационный символ повторяют определенное число раз, в зависимости от его номера по порядку в последовательности символов, формируя последовательность повторенных информационных символов, причем количество повторений определяется заранее, осуществляют перемежение в последовательности повторенных информационных символов, добиваясь достаточного разнесения идущих подряд повторенных информационных символов и формируя последовательность перемеженных повторенных информационных символов, разбивают перемеженные повторенные информационные символы на группы таким образом, что первый проверочный символ получают путем суммирования по заданному модулю начального значения переменной суммирования со всеми перемеженными повторенными информационными символами из первой группы, а проверочный символ n - путем суммирования по заданному модулю проверочного символа n-1 со всеми перемеженными повторенными информационными символами из группы n, запоминают полученные проверочные символы, формируют кодовое слово путем добавления проверочных символов к информационным символам, на приемной стороне формируют принятые корреляционные отклики на каждый из переданных кодовых символов, выполняют оценку шумового параметра смеси сигнал плюс шум, формируют мягкие решения о принятых кодовых символах, используя полученную оценку шумового параметра смеси сигнал плюс шум, разделяют мягкие решения о принятых кодовых символах на решения об информационных символах и решения о проверочных символах, повторяют мягкие решения об информационных символах в соответствии с шаблоном повторения информационных символов, повторяют мягкие решения о проверочных символах по крайней мере два раза за исключением последнего проверочного символа, для мягких решений об информационных символах выполняют перемежение, аналогичное перемежению на передающей стороне, формируют группы перемеженных мягких решений об информационных символах, аналогичные группам соответствующих информационных символов на передающей стороне, первую группу перемеженных мягких решений дополняют мягким решением, соответствующим начальному значению переменной суммирования, и первой копией мягкого решения о первом проверочном символе, образуя первое кодовое слово кода обобщенной проверки на четность, n-ю группу перемеженных мягких решений дополняют второй копией (n-1)-го проверочного символа и первой копией мягкого решения об n-м проверочном символе, образуя n-е кодовое слово кода обобщенной проверки на четность, для каждого мягкого решения, входящего в каждое кодовое слово кода обобщенной проверки на четность, формируют модифицированное мягкое решение, которое является исходящим сообщением кодового слова кода обобщенной проверки на четность таким образом, что исходящее сообщение кодового слова кода обобщенной проверки на четность представляет собой результат функционального преобразования исходных мягких решений, представляющих собой входящие сообщения кодового слова кода обобщенной проверки на четность, деперемежают исходящие сообщения кодового слова кода обобщенной проверки на четность таким образом, что каждой копии мягкого решения о кодовом символе ставят в соответствие исходящее сообщение кодового слова кода обобщенной проверки на четность, соответствующее копии мягкого решения об этом символе, группируют исходящие сообщения кодового слова кода обобщенной проверки на четность с мягкими решениями о принятых кодовых символах, так что в каждую группу входят мягкое решение о соответствующем кодовом символе и исходящее сообщение кодового слова кода обобщенной проверки на четность, соответствующее копии мягкого решения об этом символе, формируя таким образом кодовое слово обобщенного кода повторения, ставя каждое кодовое слово обобщенного кода повторения в соответствие кодовому символу таким образом, что каждое исходящее сообщения кодового слова кода обобщенной проверки на четность является входящим сообщением кодового слова обобщенного кода повторения, для каждого мягкого решения, входящего в каждое кодовое слово обобщенного кода повторения, формируют модифицированное мягкое решение, которое является исходящим сообщением кодового обобщенного кода повторения, представляющее собой результат функционального преобразования над входящими сообщениями кодового слова обобщенного кода повторения, итеративно повторяют процесс обмена исходящими и входящими сообщениями таким образом, что исходящее сообщение кодового слова обобщенного кода повторений является входящим сообщением кодового слова кода обобщенной проверки на четность, а исходящее сообщение кода обобщенной проверки на четность является входящим сообщением кодового слова обобщенного кода повторений, формируя на каждой итерации последовательность модифицированных мягких решений, из последовательности модифицированных мягких решений формируют декодированные кодовые слова, умножают каждое декодированное кодовое слово на проверочную матрицу, получая упорядоченную последовательность контрольных сумм, если все контрольные суммы равны нулю, то кодовое слово считают декодированным верно, если количество контрольных сумм, отличных от нуля, нечетно и последняя контрольная сумма отлична от нуля, то заменяют ее нулем, если количество контрольных сумм, отличных от нуля, нечетно и последняя в последовательности контрольная сумма равна нулю, то ее заменяют любым отличным от нуля значением, разбивают последовательность контрольных сумм на пары, в которые входят элементы последовательности, идущие подряд, причем каждая контрольная сумма входит только в единственную пару, в каждой паре вычисляют разность номеров контрольных сумм, складывают все полученные разности номеров контрольных сумм, сравнивают полученное число с заданным порогом, если число превышает установленный порог, то информационную часть кодового слова считают декодированной неверно, если полученное число меньше заданного порога, то информационную часть кодового слова считают декодированной верно, отличающийся тем, что если информационная часть кодового слова декодирована неверно, то формируют сигнал запроса повторной передачи по каналу обратной связи для передающей стороны, на передающей стороне при получении сигнала запроса повторной передачи формируют пакет с кодово-сопряженной частью, для чего в очередном кодированном пакете часть кодовых символов заменяют суммой по модуля два с кодовыми символами ранее переданного и ошибочно декодированого пакета, формируя тем самым кодово-сопряженную часть, при получении текущего пакета с кодово-сопряженной частью декодируют его совместно с ранее принятым ошибочно декодированным пакетом, для чего восстанавливают, возможно с ошибками, последовательность мягких решений ошибочного пакета, модифицируют мягкие решения в кодово-сопряженной части в тех позициях, в которых заменяли кодовые символы суммой символов разных пакетов, для чего заменяют знак на противоположный у принятого мягкого решения, если восстановленный кодовый символ предыдущего пакета соответствует логической единице, получая мягкие решения текущего пакета, декодируют мягкие решения текущего пакета, восстанавливают последовательность мягких решений текущего пакета, модифицируют мягкие решения в кодово-сопряженной части в тех позициях, в которых заменяли кодовые символы суммой символов разных пакетов, для чего заменяют знак на противоположный у принятого мягкого решения, если восстановленный кодовый символ текущего пакета соответствует логической единице, получая модифицированную последовательность мягких решений для ошибочного пакета, повторно декодируют ошибочный пакет, используя модифицированную последовательность мягких решений для ошибочного пакета как дополнительную информацию в тех позициях, в которых заменяли кодовые символы суммой символов разных пакетов, передают по каналу обратной связи сигналы, характеризующие результативность декодирования кодово-сопряженных пакетов.
1. A method of transmitting data in a digital communication system, which consists in the fact that data packets are formed on the transmitting side, each of which contains an ordered sequence of information symbols, each information symbol is repeated a certain number of times, depending on its number in order in the sequence of symbols, forming a sequence of repeated information symbols, and the number of repetitions is determined in advance, interleave in the sequence of repeated information symbols tins, achieving sufficient diversity of consecutive repeated information symbols and forming a sequence of interleaved repeated information symbols, divide the interleaved repeated information symbols into groups so that the first verification symbol is obtained by summing, according to a given module, the initial value of the summation variable with all interleaved repeated information symbols from the first groups, and the verification symbol n - by summing over a given module of the verification symbol n -1 with all interleaved repeated information symbols from group n , remember the received verification symbols, form a code word by adding verification symbols to information symbols, received correlation responses to each of the transmitted code symbols are generated on the receiving side, estimate the noise parameter of the signal mixture plus noise, form soft decisions about the received code symbols using the obtained estimate of the noise parameter of the signal plus noise mix soft decisions about code symbols for information symbol decisions and verification symbol decisions, repeat soft information symbol decisions in accordance with the information symbol repetition pattern, repeat soft verification symbol decisions at least two times with the exception of the last verification symbol, for soft information decisions symbols perform interleaving similar to interleaving on the transmitting side, form groups of interleaved soft decisions about information symbols, similar to groups m respective information symbols on the transmitting side, a first group of interleaved soft decisions complement soft decision corresponding to the initial value of the summation variable, and the first copy of the soft decision on the first parity symbol, forming a first codeword code generalized parity check, n - th group of interleaved soft decisions complemented by a second copy of the (n -1) - th parity and the first copy of a soft decision on n - m of check symbols to form n - e codeword generalized checks chetnos code then, for each soft decision included in each code word of the generalized parity check code, a modified soft solution is formed, which is an outgoing message of the code word of the generalized parity check code so that the outgoing message of the code word of the generalized parity check code is the result functional transformation of the original soft decisions, which are incoming messages of the code word of the code of the generalized parity check, deinterleave the outgoing community code word of the generalized parity check code so that each copy of the soft decision on the code symbol is associated with an outgoing message of the code word of the general parity code corresponding to the copy of the soft decision on this symbol, outgoing messages of the code word of the general parity code are grouped with soft decisions about the accepted code symbols, so that each group includes a soft decision about the corresponding code symbol and an outgoing message of the code word of the code generalized a parity check corresponding to a copy of the soft decision about this symbol, thus forming a code word for a generalized repeat code, putting each code word for a generalized repeat code in correspondence with a code symbol so that each outgoing message of a code word for a generalized parity code is an incoming code message words of the generalized repetition code, for each soft decision included in each codeword of the generalized repetition code, form a modified soft solution, cat A swarm is an outgoing message of a generalized code of a repeat code, which is the result of a functional transformation of an incoming code word of a code of a generalized repetition code, iteratively repeat the process of exchanging outgoing and incoming messages so that the outgoing message of a code word of a generalized repetition code is an incoming message of a code word of a generalized verification code for parity, and the outgoing message of the generalized parity check code is an incoming code message word of the generalized repetition code, forming a sequence of modified soft decisions at each iteration, decoded code words are formed from a sequence of modified soft decisions, each decoded code word is multiplied by a verification matrix, getting an ordered sequence of checksums, if all the checksums are zero, then the code word consider decoded correctly if the number of checksums other than zero is odd and the last checksum is nonzero, t replace it with zero, if the number of checksums other than zero is odd and the last checksum in the sequence is zero, then it is replaced with any nonzero value, the sequence of checksums is divided into pairs that contain elements of the sequence in a row, each the checksum is included only in a single pair, in each pair the difference in the numbers of the checksums is calculated, all the received differences in the numbers of the checksums are added, the received number is compared with the specified threshold m, if the number exceeds the set threshold, then the information part of the code word is considered decoded incorrectly, if the received number is less than the specified threshold, then the information part of the code word is considered decoded correctly, characterized in that if the information part of the code word is decoded incorrectly, then the request signal is repeated feedback channel for the transmitting side, on the transmitting side upon receipt of the retransmission request signal form a packet with a code-conjugate part, for which in the next encoded packet, part of the code symbols is replaced by a modulo-two sum with the code symbols of a previously transmitted and erroneously decoded packet, thereby forming a code-conjugate part; upon receipt of the current packet with a code-conjugate part, it is decoded together with the previously received erroneously decoded packet, for which restore, possibly with errors, the sequence of soft decisions of the erroneous package, modify soft decisions in the code-conjugate part in those positions in which the code characters were replaced by the sum of symbols of different packets, for which they replace the opposite sign of the adopted soft decision, if the recovered code symbol of the previous packet corresponds to a logical unit, receiving soft solutions of the current package, decode soft solutions of the current package, restore the sequence of soft solutions of the current package, modify soft solutions in the code-conjugate part in those positions in which the code symbols were replaced by the sum of the symbols of different packets, for which the sign is replaced with the opposite for the received one soft decision, if the recovered code symbol of the current packet corresponds to a logical unit, receiving a modified sequence of soft decisions for the erroneous packet, re-decode the error packet using the modified sequence of soft decisions for the erroneous packet as additional information at those positions in which the code symbols were replaced by the sum of different symbols packets transmit on the feedback channel signals characterizing the decoding performance of code-conjugate packets ov.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018147518A RU2700398C1 (en) | 2018-12-29 | 2018-12-29 | Method of transmitting data in a digital radio communication system based on codes with low density of parity checks and a method of interleaving code symbols |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018147518A RU2700398C1 (en) | 2018-12-29 | 2018-12-29 | Method of transmitting data in a digital radio communication system based on codes with low density of parity checks and a method of interleaving code symbols |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2700398C1 true RU2700398C1 (en) | 2019-09-16 |
Family
ID=67989747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2018147518A RU2700398C1 (en) | 2018-12-29 | 2018-12-29 | Method of transmitting data in a digital radio communication system based on codes with low density of parity checks and a method of interleaving code symbols |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2700398C1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2755295C1 (en) * | 2021-01-18 | 2021-09-14 | Акционерное общество "Концерн "Созвездие" | Method for interleaving code symbols in low-density parity-check code |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2427491A1 (en) * | 2000-10-30 | 2002-05-10 | Nortel Networks Limited | Automatic request protocol based packet transmission using punctured codes |
WO2002065647A1 (en) * | 2001-02-13 | 2002-08-22 | Samsung Electronics Co., Ltd | Apparatus and method for generating codes in communication system |
RU2236756C2 (en) * | 2001-02-16 | 2004-09-20 | Самсунг Электроникс Ко.,Лтд | Device and method for code generation and decoding in communication system |
US6857087B2 (en) * | 2001-06-11 | 2005-02-15 | Her Majesty The Queen In Right Of Canada, As Represented By The Secretary Of State For Industry Through The Communication Research Centre | High-performance low-memory interleaver banks for turbo-codes |
RU2265960C2 (en) * | 2003-06-16 | 2005-12-10 | Федеральное государственное унитарное предприятие "Калужский научно-исследовательский институт телемеханических устройств" | Method for transferring information with use of adaptive alternation |
RU2323520C2 (en) * | 2006-03-21 | 2008-04-27 | Самсунг Электроникс Ко., Лтд. | Method for voice data transfer in digital radio communication system and method for interleaving code character sequence (alternatives) |
US7975189B2 (en) * | 2008-11-14 | 2011-07-05 | Trelliware Technologies, Inc. | Error rate estimation/application to code-rate adaption |
-
2018
- 2018-12-29 RU RU2018147518A patent/RU2700398C1/en active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2427491A1 (en) * | 2000-10-30 | 2002-05-10 | Nortel Networks Limited | Automatic request protocol based packet transmission using punctured codes |
WO2002065647A1 (en) * | 2001-02-13 | 2002-08-22 | Samsung Electronics Co., Ltd | Apparatus and method for generating codes in communication system |
RU2236756C2 (en) * | 2001-02-16 | 2004-09-20 | Самсунг Электроникс Ко.,Лтд | Device and method for code generation and decoding in communication system |
US6857087B2 (en) * | 2001-06-11 | 2005-02-15 | Her Majesty The Queen In Right Of Canada, As Represented By The Secretary Of State For Industry Through The Communication Research Centre | High-performance low-memory interleaver banks for turbo-codes |
RU2265960C2 (en) * | 2003-06-16 | 2005-12-10 | Федеральное государственное унитарное предприятие "Калужский научно-исследовательский институт телемеханических устройств" | Method for transferring information with use of adaptive alternation |
RU2323520C2 (en) * | 2006-03-21 | 2008-04-27 | Самсунг Электроникс Ко., Лтд. | Method for voice data transfer in digital radio communication system and method for interleaving code character sequence (alternatives) |
US7975189B2 (en) * | 2008-11-14 | 2011-07-05 | Trelliware Technologies, Inc. | Error rate estimation/application to code-rate adaption |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2755295C1 (en) * | 2021-01-18 | 2021-09-14 | Акционерное общество "Концерн "Созвездие" | Method for interleaving code symbols in low-density parity-check code |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1838000A2 (en) | Apparatus and method for transmitting/receiving data in a communication system | |
Bioglio et al. | Design of polar codes in 5G new radio | |
Elkelesh et al. | Belief propagation decoding of polar codes on permuted factor graphs | |
Andrews et al. | The development of turbo and LDPC codes for deep-space applications | |
Ma et al. | Block Markov superposition transmission: Construction of big convolutional codes from short codes | |
JP2008527760A (en) | Replica combined group shuffle iterative decoder and method of generating the same | |
JP2008035524A (en) | Apparatus and method for decoding block of symbols using iterative belief propagation | |
JP2009060453A (en) | Decoding method, decoding apparatus, interleave method and transmission device | |
WO2007029114A2 (en) | System, transmitter, receiver, method, and computer program product for structured interleaved zigzag coding | |
Ma et al. | Obtaining extra coding gain for short codes by block Markov superposition transmission | |
CN105634504A (en) | Data check method and device | |
CN108111256A (en) | Cascade Compilation Method, device, storage medium and its computer equipment | |
WO2007037713A1 (en) | Modified turbo-decoding message-passing algorithm for low-density parity check codes | |
Geiselhart et al. | 6G: A welcome chance to unify channel coding? | |
RU2700398C1 (en) | Method of transmitting data in a digital radio communication system based on codes with low density of parity checks and a method of interleaving code symbols | |
JP6533039B2 (en) | Decoding of correction code using message passing, especially decoding improvement method of LDPC code or turbo code | |
Paolini et al. | Construction of near-optimum burst erasure correcting low-density parity-check codes | |
Seksembayeva et al. | Study of the principles of error correcting code in a multipath communication channel with intersymbol interference | |
US11588580B2 (en) | Interleaver for interleaving LDPC encoded bit sequence | |
RU2708349C1 (en) | Data transmission method based on codes with low density of checks on parity | |
RU2713573C1 (en) | Data transmission device based on codes with low density of checks on parity | |
Chen et al. | A double serial concatenated code using CRC-aided error correction for highly reliable communication | |
Olaniyi et al. | Machine Learning for Channel Coding: A Paradigm Shift from FEC Codes | |
RU2755295C1 (en) | Method for interleaving code symbols in low-density parity-check code | |
Elsanadily et al. | Improving the Decoding Performance of High-Rate GLDPC Codes in Low Error-Rate Applications |