RU2747881C1 - Method for decoding long block code using viterbi algorithm - Google Patents
Method for decoding long block code using viterbi algorithm Download PDFInfo
- Publication number
- RU2747881C1 RU2747881C1 RU2020134679A RU2020134679A RU2747881C1 RU 2747881 C1 RU2747881 C1 RU 2747881C1 RU 2020134679 A RU2020134679 A RU 2020134679A RU 2020134679 A RU2020134679 A RU 2020134679A RU 2747881 C1 RU2747881 C1 RU 2747881C1
- Authority
- RU
- Russia
- Prior art keywords
- code
- symbols
- decoder
- subblocks
- decoding
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 18
- 230000005540 biological transmission Effects 0.000 abstract description 8
- 239000000126 substance Substances 0.000 abstract 1
- 208000011580 syndromic disease Diseases 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 206010003671 Atrioventricular Block Diseases 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/43—Majority logic or threshold decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
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 transmission of encoded messages and can be used, mainly, when decoding long block codes using the Viterbi algorithm in conditions of a high probability of errors in the corrected data.
Декодеры и соответствующие им алгоритмы декодирования цифровых данных широко используются для исправления ошибок при передаче и хранении цифровой информации.Decoders and their corresponding algorithms for decoding digital data are widely used to correct errors in the transmission and storage of digital information.
Известны способы и устройства декодирования помехоустойчивых кодов.Known methods and devices for decoding error-correcting codes.
Один из известных способов декодирования помехоустойчивых кодов, в том числе, и мажоритарно декодируемых [Овечкин Г.В. и Золотарев В.В. Эффективные алгоритмы помехоустойчивого кодирования для цифровых систем связи. Электросвязь, №9, 2003, с. 34-37] заключается в том, что, информационные символы, передаваемые получателю, направляют в декодер из канала связи, в котором возможно внесение ошибок в цифровое сообщение, вместе с избыточными символами кода, которые преобразуют в символы синдрома, значения которых зависят только от ошибок, произошедших в канале связи, и не зависят от значений информационных символов, передаваемых получателю, и суммируют в декодере с помощью порогового элемента на каждом такте работы после очередного сдвига данных по своим регистрам соответствующие символы в ячейках регистра, определяемых выбранным кодом, а после суммирования производят сравнение результат с пороговым значением, по результатам которого судят о необходимости замены декодируемого информационного символа.One of the known methods of decoding error-correcting codes, including the majority decoding [Ovechkin G.V. and Zolotarev V.V. Effective algorithms for error-correcting coding for digital communication systems. Electrosvyaz, No. 9, 2003, p. 34-37] is that the information symbols transmitted to the recipient are sent to the decoder from the communication channel, in which errors can be introduced into the digital message, together with redundant code symbols, which are converted into syndrome symbols, the values of which depend only on errors that occurred in the communication channel, and do not depend on the values of information symbols transmitted to the recipient, and are summed in the decoder using a threshold element at each cycle of operation after the next shift of data in their registers, the corresponding symbols in the register cells determined by the selected code, and after summing, they are comparing the result with a threshold value, according to the results of which it is judged about the need to replace the decoded information symbol.
Недостатком этого способа является относительно низкая оперативность, обусловленная операцией суммирования целых чисел, которая снижает скорость декодирования. Кроме того, этот метод не работает при большом уровне шума.The disadvantage of this method is the relatively low efficiency due to the operation of summing integers, which reduces the speed of decoding. In addition, this method does not work at high noise levels.
Другим близким по технической сущности и достигаемому результату является способ декодирования помехоустойчивого кода [RU 2377722, С1, Н03М 13/43, 27.12.2009], заключается в том, что в декодер направляют из канала связи двоичные и/или недвоичные информационные символы кода вместе с избыточными символами кода, преобразуют их в символы регистра синдрома и направляют в пороговый элемент, где вычисляют оценки значений декодируемых символов на основе символов в ячейках синдрома, определяемых декодируемым помехоустойчивым кодом, сравнивают результат вычислений с пороговым значением и по результатам сравнения принимают решение о необходимости изменения декодируемого информационного символа, причем, символы синдрома направляют в пороговый элемент на такое число тактов его работы относительно момента принятия решения о значении декодируемого символа, какое соответствует количеству символов регистра синдрома на входе порогового элемента, при этом, решение о необходимости изменения информационного символа производят на основе конвейерных вычислений, при которых одновременно принимают на разных стадиях решения относительно целой группы декодируемых символов.Another close in technical essence and the achieved result is a method for decoding an error-correcting code [RU 2377722, C1, H03M 13/43, 27.12.2009], which consists in the fact that binary and / or non-binary information symbols of the code are sent to the decoder from the communication channel together with redundant symbols of the code, convert them into symbols of the syndrome register and send them to the threshold element, where estimates of the values of the decoded symbols are calculated based on the symbols in the cells of the syndrome determined by the decoded error-correcting code, the computation result is compared with the threshold value and, based on the comparison results, a decision is made on the need to change the decoded information symbol, moreover, the syndrome symbols are sent to the threshold element for such a number of cycles of its operation relative to the moment of making a decision on the value of the decoded symbol, which corresponds to the number of symbols of the syndrome register at the input of the threshold element, while the decision on the need to change the information o symbols are made on the basis of pipelined calculations, in which decisions are made simultaneously at different stages regarding the whole group of symbols to be decoded.
Недостатком этого способа является сложность конвейерного многотактового вычислителя и такая же его неспособность к работе при большом уровне входного шума.The disadvantage of this method is the complexity of the pipelined multi-cycle computer and the same inability to operate with a high level of input noise.
Наиболее близким по технической сущности к предложенному является способ кодирования и декодирования блокового кода с использованием алгоритма Витерби [RU 2608872, Н03М 13/43, 25.01.2017], включающий подачу исходного сообщения с кодовой скоростью R=k0/n0 в кодер, содержащий k0 регистров сдвига длиной K битов каждый, содержимое ячеек которых в соответствии с используемым кодом подают на входы n0 сумматоров по mod2, с выходов которых кодовые символы подблоками по n0 символов направляют в канал передачи данных, из которого их подают подблоками по n0 символов на вход декодера, работающего по алгоритму Витерби, содержащего 2(K-1)*k0 ячеек памяти для хранения весов разности путей и принятого сообщения, 2(K-1)*k0 регистров сдвига для хранения выживших путей, 2K*k0 вычислителей дополнительных весов разности путей, 2K*k0 вычислителей полных новых разностей путей и 2k0 устройств сравнения весов путей и выбора пути с наименьшим весом, при этом, кодируемые информационные последовательности разбивают на блоки, которые дополнительно разбивают на k0 меньших блоков, которые помещают в k0 регистров кодера для такого же кода, но с увеличенной длиной регистров до величины K+U, U≥K, причем все k0 регистров после ввода в них информационных символов свертывают циклически соединением выходов последних ячеек каждого их этих регистров с их входами, после чего выполняют K+U синхронных сдвигов всех получившихся циклических регистров, во время которых формируют K+U кодовых подблоков по n0 кодовых символов, которые направляют в канал, а затем подают подблоками по n0 кодовых символов на вход декодера Витерби, причем после приема декодером всех K+U кодовых подблоков размера n0 в декодер подают вновь эти же кодовые подблоки в том же порядке еще не менее двух раз, после чего процесс декодирования прерывается и на выжившем пути минимального веса выбираются (K+U)*k0 символов решений декодера Витерби, которые находятся на расстоянии не менее 5*K*k0 символов от места приема последнего кодового подблока размера n0.The closest in technical essence to the proposed one is a method for encoding and decoding a block code using the Viterbi algorithm [RU 2608872, H03M 13/43, 01/25/2017], including the supply of the original message with a code rate R = k 0 / n 0 to the encoder containing k 0 shift registers with a length of K bits each, the contents of the cells of which, in accordance with the code used, are fed to the inputs of n 0 adders mod2, from the outputs of which code symbols are sent by subblocks of n 0 symbols to the data transmission channel, from which they are fed by subblocks of n 0 characters to the input of a decoder operating according to the Viterbi algorithm, containing 2 (K-1) * k0 memory cells for storing the weights of the difference of paths and the received message, 2 (K-1) * k0 shift registers for storing surviving paths, 2 K * k0 calculators additional weights of the path difference, 2 K * k0 calculators of total new path differences and 2 k0 devices for comparing the weights of paths and choosing the path with the least weight, while the encoded information sequences they are divided into blocks, which are additionally divided into k 0 smaller blocks, which are placed in k 0 encoder registers for the same code, but with an increased register length up to the value K + U, U≥K, and all k 0 registers after entering into them information symbols are folded cyclically by connecting the outputs of the last cells of each of these registers with their inputs, after which K + U synchronous shifts of all the resulting cyclic registers are performed, during which K + U code subblocks of n 0 code symbols are formed, which are sent to the channel, and then subblocks of n 0 code symbols are fed to the input of the Viterbi decoder, and after the decoder has received all K + U code subblocks of size n 0, the same code subblocks are fed to the decoder again in the same order at least two more times, after which the decoding process is interrupted and on the surviving path of minimum weight, (K + U) * k 0 symbols of decisions of the Viterbi decoder are selected, which are at a distance of at least 5 * K * k 0 symbols from the place of reception of the last th code subblock of size n 0 .
При использовании этого способа на передающем конце системы передачи информации ее кодируют блоковым квазициклическим кодом длины n с использованием порождающего многочлена сверточного кода существенно меньшей длины К, так что nR>>K, где R - кодовая скорость применяемого блокового кода.When using this method, at the transmitting end of the information transmission system, it is encoded with a block quasi-cyclic code of length n using a generating polynomial of a convolutional code of significantly smaller length K, so that nR >> K, where R is the code rate of the applied block code.
На приемном конце системы передачи информации декодер, реализующий алгоритм Витерби, работает так же, как и при обычном декодировании исходного длинного сверточного кода с произвольного места. Он принимает первый подблок кодовых символов и обрабатывает их в соответствии с правилами алгоритма декодирования Витерби. Затем принимает следующий такой же блок и т.д.At the receiving end of the information transmission system, the decoder implementing the Viterbi algorithm operates in the same way as when decoding the original long convolutional code from an arbitrary place. It takes the first sub-block of code symbols and processes them according to the rules of the Viterbi decoding algorithm. Then it accepts the next same block, and so on.
Поскольку по каналу передачи информации передаются символы двоичного блокового квазициклического кода более длинного, чем исходный сверточный код, то после приема и обработки последнего кодового подблока этого блокового кода размером n в декодер снова подают циклически первый подблок из уже принятых кодовых символов этого кода, затем второй и т.д. В зависимости от длины кода и уровня шума в декодер можно циклически подать m=2÷5 или более раз все кодовые символы принятого кодового блока в зависимости от кода и уровня шума канала.Since the symbols of a binary block quasi-cyclic code longer than the original convolutional code are transmitted over the information transmission channel, after receiving and processing the last code subblock of this block code of size n, the decoder is cyclically fed again the first subblock of the already received code symbols of this code, then the second and etc. Depending on the length of the code and the noise level, the decoder can be cyclically fed m = 2 ÷ 5 or more times all the code symbols of the received code block, depending on the code and the noise level of the channel.
Однако, поскольку у квазициклического кода нет условного начала, то алгоритм декодирования, как и в случае бесконечного сверточного кода, обеспечивает выход на правильное решение только после прихода в декодер D~(3÷20)K первых кодовых подблоков.However, since the quasi-cyclic code does not have a conditional beginning, the decoding algorithm, as in the case of an infinite convolutional code, provides an exit to the correct solution only after the first code subblocks arrive at the decoder D ~ (3 ÷ 20) K.
После приема указанных D=(3÷20)K кодовых подблоков, когда алгоритм Витерби сверточного кода обеспечит выход на уровень достаточно достоверных решений относительно декодируемого кодового потока, решения декодера обязательно повторяются с периодом nR. Поэтому, учитывая тот факт, что декодируется не бесконечное сообщение, а блок с nR двоичными информационными символами, получателю информации можно передать только двоичный информационный блок длины nR из середины обработанной декодером Витерби последовательности несколько большей общей длины mnR.After receiving the indicated D = (3 ÷ 20) K code subblocks, when the Viterbi algorithm of the convolutional code provides access to the level of sufficiently reliable decisions with respect to the decoded code stream, the decisions of the decoder are necessarily repeated with a period nR. Therefore, taking into account the fact that it is not an infinite message that is decoded, but a block with nR binary information symbols, the recipient of information can only transmit a binary information block of length nR from the middle of the sequence processed by the Viterbi decoder of a slightly larger total length mnR.
Наиболее близкое решение имеет серьезный недостаток. Для реализации способа блоковый АВ декодер должен хранить все 2(K-1) путей, отслеживаемых в процессе работы, а их длина составляет mnR битов. Это означает, что при необходимости декодирования длинных кодов размер памяти, которую использует такой блоковый АВ декодер, должен иметь порядок M~mnR2(K-1) Для больших значений n, что характерно для длинных кодов, это может составить многие сотни Гигабитов, что неоправданно усложняет аппаратуру декодирования.The closest solution has a serious drawback. To implement the method, the block AV decoder must store all 2 (K-1) paths tracked during operation, and their length is mnR bits. This means that if it is necessary to decode long codes, the memory size used by such a block AV decoder must be of the order of M ~ mnR2 (K-1) For large values of n, which is typical for long codes, this can amount to many hundreds of Gigabits, which is unjustified complicates the decoding hardware.
Задачей, которая решается в изобретении, является разработка способа декодирования длинного блокового кода при использовании алгоритма Витерби при снижении требовании к сложности декодеров, в частности, к объему их памяти.The problem that is solved in the invention is to develop a method for decoding a long block code using the Viterbi algorithm while reducing the requirement for the complexity of decoders, in particular, for their memory size.
Требуемый технический результат заключается в расширении арсенала технических средств, которые могут быть использованы для декодирования длинных блоковых кодов с использованием алгоритма Витерби при одновременном снижении требований к сложности реализуемых способов декодирования, в частности, к объему их памяти.The required technical result consists in expanding the arsenal of technical means that can be used to decode long block codes using the Viterbi algorithm while reducing the requirements for the complexity of the implemented decoding methods, in particular, for their memory size.
Поставленная задача решается, а требуемый технический результат достигается тем, что, согласно способу декодирования длинного блокового кода с помощью алгоритма Витерби, заключающемуся в том, что, поступающий кодовый поток принимают как бесконечный сверточный код и подают его подблоками по n0 кодовых символов на вход декодера Витерби, причем после приема декодером всех K+U кодовых подблоков размера n0 в декодер подают вновь эти же кодовые подблоки в том же порядке еще не менее двух раз, после чего процесс декодирования прерывается и на выжившем пути минимального веса выбираются (K+U)*k0 символов решений декодера Витерби, которые находятся на расстоянии не менее 5*K*k0 символов от места приема последнего кодового подблока размера n0, согласно изобретению, после приема более длинной части кодового потока, чем длина порождающего полинома сверточного кода K, K≤≤nR, символы решений декодера по всем путям заменяют на вычисленные символы-решения декодера и заменяют хранимые пути принятой части кодового потока всего кода на единственный окончательный вектор-решение и запоминают полное число ближних к месту приема символов решения декодера из принятой части кодового потока, а среднюю часть окончательного вектора-решения из нее передают получателю исходного сообщения.The problem is solved, and the required technical result is achieved by the fact that, according to the method of decoding a long block code using the Viterbi algorithm, which consists in the fact that the incoming code stream is received as an infinite convolutional code and fed by sub-blocks of n 0 code symbols to the input of the decoder Viterbi, and after the decoder receives all K + U code subblocks of size n 0, the same code subblocks are fed to the decoder in the same order at least two more times, after which the decoding process is interrupted and (K + U) * k 0 symbols of decisions of the Viterbi decoder, which are at a distance of at least 5 * K * k 0 symbols from the receiving place of the last code sub-block of size n 0 , according to the invention, after receiving a longer part of the code stream than the length of the generating polynomial of the convolutional code K, K≤≤nR, decoder decision symbols along all paths are replaced with computed decoder decision symbols and stored paths are replaced. th part of the codestream of the entire code to a single final decision vector and store the total number of decoder decision symbols closest to the receiving location from the received part of the codestream, and the middle part of the final decision vector from it is transmitted to the recipient of the original message.
Приведем пример реализации предложенного способа.Let's give an example of the implementation of the proposed method.
Принимаемый кодовый поток подается в блоковый АВ декодер и далее принимается как бесконечный сверточный код. Поскольку блоковый АВ декодер работает, как бы, с бесконечной входной последовательностью, то после приема самых первых символов декодируемого сообщения в ближайшей окрестности от места начала приема символов из канала значения решений АВ декодера в большинстве позиций и по всем хранимым путям содержат много ошибочных значений. И только на достаточном удалении D от места приема символов из канала доля ошибок АВ декодера становится малой в соответствии с выбранными корректирующими возможностями кода для АВ декодера. Это следует, в частности, из [В.В. Золотарев, Г.В. Овечкин. Помехоустойчивое кодирование. Методы и алгоритмы. Справочник. М., "Горячая линия - телеком", 2004, с. 67-68,] где иллюстрируется процесс сходимости решений сверточного АВ декодера к правильным значениям, т.е. с малым числом ошибок на достаточном удалении от места приема кодовых символов из канала. Следовательно, в блоковом АВ декодере на достаточном удалении D~(3-10)K от начала приема символы всех хранимых путей декодера будут, в основном, правильными и одинаковыми. Еще более точные и правильные их значения можно получить разными методами, например, мажоритарными. А это значит, что можно не хранить экспоненциально большое число полных длинных путей. Можно на расстоянии D от места приема кодовых символов из канала выполнить уточняющие вычисления, которые достаточно несложные и затем хранить только эти (mnR-D) символов условно окончательных решений АВ декодера до завершения процедуры декодирования m раз принятого блока, а затем выбрать требуемые символы из середины этой уже единственной хранимой последовательности. В этом случае новый требуемый объем памяти такого блокового АВ (БАВ) декодера будет всего M0~D2(K-1)<<M. При больших длинах n блоковых кодов это, с одной стороны, будет в десятки и сотни раз экономить память БАВ декодеров, которую уже не надо доводить до сотен Гбитов. Но, кроме того, такой БАВ декодер свободно декодирует блоковые коды произвольно большой длины, т.к. его память всегда будет размером порядка М0.The received codestream is supplied to an AV block decoder and is then received as an infinite convolutional code. Since the block AV decoder works, as it were, with an infinite input sequence, then after receiving the very first symbols of the decoded message in the immediate vicinity of the place where symbols are received from the channel, the values of the decisions of the AV decoder in most positions and along all stored paths contain many erroneous values. And only at a sufficient distance D from the place of receiving symbols from the channel, the share of errors of the AB decoder becomes small in accordance with the selected correcting capabilities of the code for the AB decoder. This follows, in particular, from [V.V. Zolotarev, G.V. Ovechkin. Anti-jamming coding. Methods and algorithms. Directory. M., "Hot line - telecom", 2004, p. 67-68,] which illustrates the process of convergence of the convolutional AV decoder solutions to the correct values, i. E. with a small number of errors at a sufficient distance from the place of receiving code symbols from the channel. Therefore, in the block AB decoder at a sufficient distance D ~ (3-10) K from the beginning of reception, the symbols of all stored decoder paths will be basically correct and identical. Even more accurate and correct values can be obtained by different methods, for example, majority. This means that you don't have to store an exponentially large number of full long paths. It is possible, at a distance D from the place where the code symbols are received from the channel, to perform refinement calculations, which are quite simple, and then store only these (mnR-D) symbols of the conditionally final decisions of the AV decoder until the decoding procedure is completed m times of the received block, and then select the required symbols from the middle this is already the only stored sequence. In this case, the new required memory capacity of such a block AV (BAV) decoder will be only M 0 ~ D2 (K-1) << M. For large lengths of n block codes, this, on the one hand, will save tens and hundreds of times the memory of BAS decoders, which no longer needs to be increased to hundreds of Gbits. But, in addition, such a BAV decoder freely decodes block codes of arbitrarily large length, since its memory will always be of the order of M 0 .
Этим и достигается требуемый технический результат, при котором обеспечивается большая экономия памяти БАВ декодера и одновременно обеспечивается возможность декодировать блоковые коды произвольной длины. При этом остается важным, чтобы величина D длины полностью хранимых путей в декодере была достаточной, чтобы формируемый в улучшенном блоковом АВ декодере вектор окончательных решений действительно почти не отличался от истинного оптимального решения.This achieves the required technical result, which provides a large saving in the memory of the BAS decoder and at the same time provides the ability to decode block codes of arbitrary length. In this case, it remains important that the value D of the length of completely stored paths in the decoder is sufficient so that the vector of final decisions formed in the improved block AV decoder does not really differ from the true optimal solution.
Проверка предлагаемого технического решения была осуществлена при компьютерном моделировании блокового кода длины n=1000 для порождающего полинома длины K=15. В результате этого выяснилось, что даже при достаточно тяжелом для декодера отношении относительной энергетики гауссовского двоичного канала (АБГШ канала) Eb/N0=1,5 дБ решения исходного оптимального БАВ декодера практически всегда совпадали с решениями декодера, работающего по предложенному модифицированному алгоритму с сильно сокращенным объемом памяти при всех 214=16384 хранимых отрезках путей от места приема символов длиной D≥200 битов.The verification of the proposed technical solution was carried out by computer simulation of a block code of length n = 1000 for a generating polynomial of length K = 15. As a result, it turned out that even if the ratio of the relative energy of the Gaussian binary channel (ABGN channel) E b / N 0 = 1.5 dB is quite heavy for the decoder, the solutions of the original optimal BAS decoder almost always coincided with the solutions of the decoder operating according to the proposed modified algorithm with greatly reduced memory size for all 2 14 = 16384 stored path segments from the place of receiving symbols of length D≥200 bits.
Имевшие место различия не увеличивали вероятность ошибки на бит проверяемого декодера более, чем в 1,23 раза при нескольких экспериментах достаточно большой длительности с общим числом переданных символов более 3 млн информационных символов. Это несомненно хороший результат при сопоставлении известного и предложенного способов. Для более низкого уровня шума характеристики обоих декодеров оказывались практически одинаковыми.The differences did not increase the bit error probability of the tested decoder by more than 1.23 times in several experiments of a sufficiently long duration with a total number of transmitted symbols of more than 3 million information symbols. This is undoubtedly a good result when comparing the known and proposed methods. For a lower noise level, the characteristics of both decoders turned out to be practically the same.
При рассмотрении блоковых кодов длины n=2000 и n=4000 с тем же полиномом К результаты декодирования также не менялись. Эти данные в совокупности полностью подтверждают правильность предлагаемого технического решения, которое многократно расширяет реальную сферу применения блоковых кодов с оптимальным декодированием по блоковому алгоритму Витерби при реальных минимально необходимых объемах используемой памяти в декодере.When considering block codes of length n = 2000 and n = 4000 with the same polynomial K, the decoding results also did not change. Together, these data fully confirm the correctness of the proposed technical solution, which greatly expands the real scope of application of block codes with optimal decoding according to the Viterbi block algorithm with the actual minimum required amount of memory used in the decoder.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2020134679A RU2747881C1 (en) | 2020-10-21 | 2020-10-21 | Method for decoding long block code using viterbi algorithm |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2020134679A RU2747881C1 (en) | 2020-10-21 | 2020-10-21 | Method for decoding long block code using viterbi algorithm |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2747881C1 true RU2747881C1 (en) | 2021-05-17 |
Family
ID=75920017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2020134679A RU2747881C1 (en) | 2020-10-21 | 2020-10-21 | Method for decoding long block code using viterbi algorithm |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2747881C1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2035123C1 (en) * | 1992-03-26 | 1995-05-10 | Валерий Владимирович Золотарев | Device for decoding linear codes |
RU2127944C1 (en) * | 1996-03-18 | 1999-03-20 | Самсунг Электроникс Ко., Лтд. | Decoder |
US20090193321A1 (en) * | 2008-01-29 | 2009-07-30 | Samsung Electronics Co., Ltd. | Viterbi decoder and viterbi decoding method |
RU2608872C1 (en) * | 2015-09-24 | 2017-01-25 | Валерий Владимирович Золотарев | Method of encoding and decoding block code using viterbi algorithm |
-
2020
- 2020-10-21 RU RU2020134679A patent/RU2747881C1/en active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2035123C1 (en) * | 1992-03-26 | 1995-05-10 | Валерий Владимирович Золотарев | Device for decoding linear codes |
RU2127944C1 (en) * | 1996-03-18 | 1999-03-20 | Самсунг Электроникс Ко., Лтд. | Decoder |
US20090193321A1 (en) * | 2008-01-29 | 2009-07-30 | Samsung Electronics Co., Ltd. | Viterbi decoder and viterbi decoding method |
RU2608872C1 (en) * | 2015-09-24 | 2017-01-25 | Валерий Владимирович Золотарев | Method of encoding and decoding block code using viterbi algorithm |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0682415B1 (en) | Punctured convolutional encoder | |
US20190158128A1 (en) | Concatenated and sliding-window polar coding | |
KR101110586B1 (en) | Concatenated iterative and algebraic coding | |
AU721475B2 (en) | Data communications systems and methods using interspersed error detection bits | |
Mahdavifar et al. | On the construction and decoding of concatenated polar codes | |
CN101867379B (en) | A Decoding Method of Convolutional Codes Aided by Cyclic Redundancy Check | |
US6167552A (en) | Apparatus for convolutional self-doubly orthogonal encoding and decoding | |
CN108111256A (en) | Cascade Compilation Method, device, storage medium and its computer equipment | |
RU2377722C2 (en) | Method of decoding noise-immune code | |
Chen | Iterative soft decoding of Reed-Solomon convolutional concatenated codes | |
CN110943745B (en) | Polarization code BP decoding method and system for early terminating iterative output result | |
US7035356B1 (en) | Efficient method for traceback decoding of trellis (Viterbi) codes | |
RU2747881C1 (en) | Method for decoding long block code using viterbi algorithm | |
Honary et al. | Maximum-likelihood decoding of array codes with trellis structure | |
RU2608872C1 (en) | Method of encoding and decoding block code using viterbi algorithm | |
Lakovic et al. | Robust joint Huffman and convolutional decoding | |
Li et al. | SCL-GRAND: Lower complexity and better flexibility for CRC-Polar Codes | |
Abubeker et al. | Maximum likelihood DE coding of convolutional codes using viterbi algorithm with improved error correction capability | |
Nouh et al. | Efficient serial concatenation of symbol by symbol and word by word decoders | |
Satybaldina et al. | New concatenation schemes based on the multithreshold decoders of convolutional self-orthogonal codes for gaussian channels | |
EP2228935A1 (en) | MIMO communication method and devices | |
Lu et al. | Fast list decoding of high-rate polar codes based on minimum-combinations sets | |
Ahmed et al. | Viterbi algorithm performance analysis for different constraint length | |
Vijay et al. | Comparison between Viterbi algorithm soft and hard decision decoding | |
KR101267756B1 (en) | Method for encoding and decoding rate-compatible irregular repeat multiple-state accumulate codes and apparatuses using the same |