CN110166061B - Selective protection method based on Viterbi decoder - Google Patents
Selective protection method based on Viterbi decoder Download PDFInfo
- Publication number
- CN110166061B CN110166061B CN201910475011.8A CN201910475011A CN110166061B CN 110166061 B CN110166061 B CN 110166061B CN 201910475011 A CN201910475011 A CN 201910475011A CN 110166061 B CN110166061 B CN 110166061B
- Authority
- CN
- China
- Prior art keywords
- bit
- information
- register
- viterbi decoder
- fault
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000012545 processing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 230000005855 radiation Effects 0.000 description 5
- 239000002245 particle Substances 0.000 description 4
- 230000002787 reinforcement Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012536 packaging technology Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/23—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
- H03M13/235—Encoding of convolutional codes, e.g. methods or arrangements for parallel or block-wise encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0054—Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
The invention relates to a selective protection method based on a Viterbi decoder, which comprises the following steps on the basis of realizing the Viterbi decoder based on an FPGA and calculating the bit width of a register: selective protection of the Viterbi decoder: and (3) adopting three-mode protection to the register bit with the SEU tolerance capacity of 0: and adding two bits of redundant information to all bit positions simultaneously, storing the same information as the original bit positions, and taking any two bits of the same bit information as the final result. Performing two-mode protection on the SEU fault-tolerant register bit position: and adding corresponding one-bit redundant information to each bit, storing the information identical to the original bit position, adding a logic AND gate after the storage, wherein the output result of the AND gate is the final result of the protected bit position.
Description
Technical Field
The invention relates to a selective protection method based on a Viterbi decoder.
Background
Communication is a key element of spatial systems, particularly satellites. In fact, in many cases, the primary purpose of a satellite is to provide communications for terrestrial services. Therefore, these satellites need to be able to process the received signals on board. This requires complex circuitry in many cases. For example, to achieve an acceptable Bit Error Rate (BER) even at low signal-to-noise ratios (SNRs), the transmit-end signal is typically encoded with some form of coding, and then the errors are corrected at the receiver. When convolutional coding is used at the transmitter, the receiver typically implements a Viterbi (Viterbi) decoder to detect and correct errors. The decoder may be implemented in software running on a processor. However, in the space environment, there are radiation particles, and after the space radiation particles bombard the processor, the logic configuration or the stored data of the processing module may be changed, which causes processing failure and reduces the accuracy of the decoding result, thereby disabling the communication system. The most common of them is Single Event events (SEUs). Therefore, the method is extremely important for the radiation-resistant protection work of the space communication system.
Protection methods commonly used at present include hardware reinforcement, system level protection and circuit level fault tolerance. Hardware reinforcement includes the covering of a protective shield outside the processing platform and the use of special packaging technology for aerospace grade chips. Although hardware reinforcement can shield most of the radiation particles, radiation induced failures are not completely eliminated. The system level protection can restore system faults through mechanisms such as multi-machine backup, periodic fault detection and restarting and the like. However, the method has poor real-time performance, and cannot ensure that the system carries out instant fault tolerance under the condition of uninterrupted operation. The circuit level fault tolerance is a necessary means for dealing with the single event effect and realizing the instant fault detection and fault tolerance of the communication signal processing module.
The essence of circuit level fault-tolerant signal processing is that through introducing redundancy (logic or time), a processing module can still output correct results under the condition that a single event effect causes the fault of partial logic or storage units. The most common scheme is the Triple modular Redundancy scheme (TMR). The basic idea is to duplicate two original processing modules, so that three identical modules process input data simultaneously, and when one of the modules fails, the output end can output correct results through a majority selector. Since this solution needs to increase the computing resources and power consumption by two times on the original basis, it is a huge burden for the space platform with strictly limited volume, weight and power. On the other hand, under the same system resource limitation, if the TMR scheme is used, the overall processing capacity of the system will be reduced to one third of that of the unprotected case, which will greatly limit the processing capacity and the diversity of functions of the space platform. In addition, in the conventional three-mode protection scheme, the overall behavior characteristics of the Viterbi decoder and the self fault-tolerant capability are not fully utilized.
The selective protection scheme for the Viterbi decoder provided by the invention greatly reduces the resource overhead while ensuring the correctness of the decoding result.
Disclosure of Invention
In view of the above problems, it is an object of the present invention to provide a selective protection scheme for Viterbi decoders. The method has the advantages that the overall behavior characteristics of the Viterbi decoder are obtained based on theoretical analysis and simulation experiments, the fault-tolerant capability of the Viterbi decoder is quantized, selective protection is carried out on modules which are beyond the fault-tolerant capability range of the Viterbi decoder and easily cause decoding failure, and the decoding accuracy is improved. In order to achieve the purpose, the invention adopts the following technical scheme:
a selective protection method based on a Viterbi decoder comprises the following steps on the basis of realizing the Viterbi decoder based on an FPGA and calculating the bit width of a register:
1) selective protection of the Viterbi decoder: and (3) adopting three-mode protection to the register bit with the SEU tolerance capacity of 0: and adding two bits of redundant information to all bit positions simultaneously, storing the same information as the original bit positions, and taking any two bits of the same bit information as the final result.
2) Performing two-mode protection on the SEU fault-tolerant register bit position: and adding corresponding one-bit redundant information to each bit, storing the information identical to the original bit position, adding a logic AND gate after the storage, wherein the output result of the AND gate is the final result of the protected bit position.
Due to the adoption of the technical scheme, the invention has the following advantages:
(1) the two-mode selective protection scheme adopted by the invention focuses on the self fault-tolerant capability of the decoder, and is a fault-oriented protection method. The fault tolerance is carried out aiming at the faults exceeding the self fault tolerance capability, and compared with other schemes, the fault tolerance method reduces the excessive protection and greatly reduces the resource overhead.
(2) The overall behavior characteristics of the Viterbi decoder are fully utilized in the invention.
(3) The scheme provided by the invention is a fault-tolerant method researched on the basis of a decoding principle, so that the scheme is irrelevant to a specific implementation mode and is convenient to combine with other fault-tolerant schemes.
Drawings
Fig. 1 is a flow diagram of an implementation of a Viterbi decoder selective protection scheme.
Fig. 2 is a diagram of a two-mode selective protection scheme.
Detailed Description
1) The convolutional code is of the form (n, k, m), where n is the code outputBit information, k is the encoded input bit information, and m represents the number of shift registers in the convolutional encoder. In total 2kmA state, therefore, has 2kmA bar survivor path information (PM) (PathMetric) value; each state has 2kBranch of strips, thus having 2kPath transfer information bm (branch metric) values. The input sequence is L bits long and will be divided into groups of k bits after entering the encoder.
LC=n*(L/k) (1)
Calculating the length L of the output sequence after coding according to the formula (1)C;
PMmax=LC*Amean (2)
Calculating the maximum value PM required to be expressed by the path information PM register stored in each branch according to the formula (2)max,AmeanIs the average amplitude of the input signal;
calculating the bit width W required by the register storing the PM value information corresponding to each state according to the formula (3)PM。
Calculating the bit width W of the path transfer information BM register according to a formula (4)BMWherein A ismaxIs the input signal maximum amplitude. The decoder control bit information and other module register bit width information can be obtained by searching.
2) The register bit position with SEU tolerance capacity of 0 (the fault can lead the final decoding result to be wrong) is subjected to three-mode protection: adding two bits of redundant information to all bit positions at the same time, storing the information which is the same as the original bit position, and taking any two bits of the same bit information as the standard of the final result so as to realize the 100 percent fault-tolerant capability of the bit position to the SEU;
and performing two-mode protection on the register bit position which has fault-tolerant capability to the SEU (even if a certain amount of faults occur, the correctness of a final decoding result cannot be influenced, but the fault-tolerant capability beyond the bit position can cause the decoding result to be wrong): and adding a corresponding redundant bit information for each bit to store the information with the same position as the original bit position, and adding a logic AND gate after the redundant bit information is stored in the original bit position, wherein the output result of the AND gate is the final result of the position of the protected bit. The two-mode protection mentioned in the scheme is only suitable for the condition that the original bit position information is 0 and the SEU is subjected to single particle bombardment and then is inverted into 1. The purpose of improving the fault-tolerant performance of the Viterbi decoder by using lower expenditure is realized.
Example 1:
1) convolutional coding (3,1,6) is used for the inventive examples. The length of the information to be coded in the encoder is 54, and 60 s are added at the tail of the sequence to realize a return-to-zero code, so that the length of the coded information is L3 (54+6) 180. The bit widths of the PM register and the BM register are calculated to be 13(12+1) and 8(7+1) according to the formulas (1) to (4) in the above embodiment, and 1 bit is added additionally to indicate that the most significant bit is used for representing the sign bit. Since k is 1 and m is 3, each decoding step in the decoding process has 2664 states, each state having 212 transfer paths are used to find the optimal path for each state in each step in the decoding process.
2) The Viterbi decoder is realized based on FPGA, and the whole decoder mainly comprises four modules: top Controller: the enable signal which controls other modules of the decoder is 23 bits in total; PMupdate: storing the PM information of the survivor path of each state in each step in the decoding process and the BM information in the comparing and selecting module, and continuously refreshing along with the decoding depth information, wherein 13 × 64 bits in the PM value register is 832 bits, and 8 × 32 × 4 bits in the BM value register is 1024 bits; traceback: storing the decoding result in the backtracking process, wherein the total number of the decoding result is 60 bits; BRAM: and the register for storing all state survivor path information in the whole decoding process has 60 × 64-3840 bits.
3) And performing fault injection on the decoder based on the single event reversal of the simulation space of the FPGA platform. Bit positions with tolerance 0 for SEU: the Top Controller module and the Traceback module adopt a protection scheme of triple modular redundancy to ensure 100% of fault-tolerant capability theoretically; the rest bit information has a certain SEU fault-tolerant capability, wherein the fault-tolerant capability of the BRAM module to the SEU reaches more than 99%, the low bit position of the PM register and the fault-tolerant capability of the BM register to the SEU are 100% (theoretical analysis and experimental auxiliary verification prove that the conclusion is true). From the perspective of reducing the overhead of fault-tolerant protection resources, the protection scheme of two-mode redundancy mainly aims at the high bit position of the PM register.
4) In the Viterbi decoding process for soft decision input, there are two cases where the final decoding fails due to the variation of the PM value:
(a) the PM value information of the correct route becomes small (1 → 0); (b) the PM value information of the incorrect path becomes larger (0 → 1)
Failure assumption 1: under the condition of no fault, two 0's are stored in the two-mode register, wherein one path is changed into 1 by SEU bombardment, the result is still 0 after passing through an AND gate, and the fault caused by the condition (b) is avoided;
failure assumption 2: under the condition of no fault, two 1 are stored in the two-mode register, wherein one path is changed into 0 by SEU bombardment, the result is changed into 0 after passing through an AND gate, and the fault caused by the condition (a) cannot be avoided;
in practical experiments, the probability of the occurrence of the case (a) is 0.5/64-0.7%, and the overhead is reduced by 4.4% relative to the conventional triple-modular redundancy after the selective protection scheme is adopted.
Claims (1)
1. A selective protection method based on a Viterbi decoder comprises the following steps on the basis of realizing the Viterbi decoder based on an FPGA and calculating the bit width of a register:
1) selective protection of the Viterbi decoder: and (3) adopting three-mode protection to the register bit with the SEU tolerance capacity of 0: adding two bits of redundant information to all bit positions at the same time, storing the same information as the original bit positions, and taking any two bits of the same bit information as the standard of the final result;
2) performing two-mode protection on the SEU fault-tolerant register bit position: and adding corresponding one-bit redundant information to each bit, storing the information identical to the original bit position, adding a logic AND gate after the storage, wherein the output result of the AND gate is the final result of the bit position of the protected register.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910475011.8A CN110166061B (en) | 2019-06-03 | 2019-06-03 | Selective protection method based on Viterbi decoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910475011.8A CN110166061B (en) | 2019-06-03 | 2019-06-03 | Selective protection method based on Viterbi decoder |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110166061A CN110166061A (en) | 2019-08-23 |
CN110166061B true CN110166061B (en) | 2021-06-08 |
Family
ID=67627090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910475011.8A Expired - Fee Related CN110166061B (en) | 2019-06-03 | 2019-06-03 | Selective protection method based on Viterbi decoder |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110166061B (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1485847A (en) * | 2002-09-24 | 2004-03-31 | 联发科技股份有限公司 | Partial response maximum likelihood system possessing branch estimating equipment |
CN1780153A (en) * | 2004-11-24 | 2006-05-31 | 朱明程 | Universal re-establishable Witby decoding device and method |
CN106559369A (en) * | 2015-09-29 | 2017-04-05 | 晨星半导体股份有限公司 | Sequence estimation device and sequence estimation method |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040122883A1 (en) * | 2002-12-18 | 2004-06-24 | Lee Seok-Jun | High speed add-compare-select circuit for radix-4 Viterbi decoder |
US7324614B2 (en) * | 2002-12-18 | 2008-01-29 | Texas Instruments Incorporated | High speed decoder |
US8644431B2 (en) * | 2009-06-17 | 2014-02-04 | Coherent Logix, Incorporated | Parallel execution of trellis-based methods |
-
2019
- 2019-06-03 CN CN201910475011.8A patent/CN110166061B/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1485847A (en) * | 2002-09-24 | 2004-03-31 | 联发科技股份有限公司 | Partial response maximum likelihood system possessing branch estimating equipment |
CN1780153A (en) * | 2004-11-24 | 2006-05-31 | 朱明程 | Universal re-establishable Witby decoding device and method |
CN106559369A (en) * | 2015-09-29 | 2017-04-05 | 晨星半导体股份有限公司 | Sequence estimation device and sequence estimation method |
Non-Patent Citations (2)
Title |
---|
Analysis of the Effects of Single Event Upsets (SEUs) on User Memory in FPGA Implemented Viterbi Decoders;Zhen Gao等;《2018 IEEE International Symposium on Defect and Fault Tolerance in VLSI and Nanotechnology Systems (DFT)》;20190107;全文 * |
基于FPGA的CAN接口抗SEU容错方法研究;杨爽;《万方数据库》;20170726;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110166061A (en) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7962837B2 (en) | Technique for reducing parity bit-widths for check bit and syndrome generation for data blocks through the use of additional check bits to increase the number of minimum weighted codes in the hamming code H-matrix | |
Fan et al. | A low-latency list successive-cancellation decoding implementation for polar codes | |
Gao et al. | Design and implementation of configuration memory SEU-tolerant viterbi decoders in SRAM-based FPGAs | |
Yu et al. | Adaptive error control for NoC switch-to-switch links in a variable noise environment | |
CN102835062B (en) | Initializing decoding metrics | |
Yu et al. | Error control integration scheme for reliable NoC | |
CN110166061B (en) | Selective protection method based on Viterbi decoder | |
CN110830167A (en) | Multi-bit flipping-based polar code Fast-SSC decoding algorithm | |
US7747923B2 (en) | Low-power receiver decoding | |
Gao et al. | Radiation tolerant viterbi decoders for on-board processing (OBP) in satellite communications | |
CN113556137A (en) | DWC-based Turbo decoder fault-tolerant method | |
Himaja et al. | Multi-bit low redundancy error control with parity sharing for NoC interconnects | |
EP1322041A1 (en) | Viterbi decoder using restructured trellis | |
Huang et al. | A low latency fault tolerant transmission mechanism for Network-on-Chip | |
US11251815B2 (en) | Decoding circuit and decoding method based on Viterbi algorithm | |
Dugar et al. | A survey on Hamming codes for error detection | |
Anitha et al. | Low overhead decimal matrix code with dynamic network on chip against multiple cell upsets | |
Jayarani et al. | A novel fault detection and correction technique for memory applications | |
Babu et al. | ML Algorithm based Error Detection and Correction for Better Reliability | |
Gao et al. | HCER: A High Cost-Effectiveness Multi-Bit Fault-Tolerant NoC Router | |
Chen et al. | Different applications and implements of the Hamming product codes | |
Hou et al. | Low Redundancy Two-Dimensional Matrix-Based HVDB Code for Double Error Correction | |
Engelberg et al. | Hardening Bus-Encoders with Power-Aware Single Error Correcting Codes | |
Katheresh et al. | Low power NoC buffer protection using error correction code | |
SRIKANTH et al. | Efficient Majority Logic Fault Detection in Memory Applications with Difference Set Codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210608 |