[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN104393952A - Error correcting code decoder - Google Patents

Error correcting code decoder Download PDF

Info

Publication number
CN104393952A
CN104393952A CN201410591500.7A CN201410591500A CN104393952A CN 104393952 A CN104393952 A CN 104393952A CN 201410591500 A CN201410591500 A CN 201410591500A CN 104393952 A CN104393952 A CN 104393952A
Authority
CN
China
Prior art keywords
hardware
update module
decoder
node update
correcting code
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.)
Pending
Application number
CN201410591500.7A
Other languages
Chinese (zh)
Inventor
张培
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Vocational University
Original Assignee
Suzhou Vocational University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Vocational University filed Critical Suzhou Vocational University
Priority to CN201410591500.7A priority Critical patent/CN104393952A/en
Publication of CN104393952A publication Critical patent/CN104393952A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

The invention discloses an error correcting code decoder. The error correcting code decoder comprises a generating flow from ImpulseC software to FPGA (Field Programmable Gate Array) hardware. The generating flow comprises the following steps: performing C preprocessing on an ImpulseC design file, and performing C language analysis; determining hardware and software processes in application by using a compiler at a C language analysis state; performing an initial optimizing flow, and converting corresponding loops into equivalent concurrent statements by using the compiler at a loop unrolling stage; performing secondary optimization to generate a simulation-supporting HDL (Hardware Description Language) file which describes various processes, flows and elements described in an ImpulseC source element; and generating FPGA decoder hardware. Through the way, the error correcting code decoder can be applied to the fields of digital television demodulation chips, high-speed broadband mobile communication systems, compressed image transmission, wireless local area networks and the like, is used for performing error control and detecting and correcting errors introduced in a signal transmission process, and is an important component for ensuring reliable transmission of data.

Description

A kind of Error-Correcting Code Decoders
Technical field
The present invention relates to modern digital communication systems field, particularly relate to a kind of Error-Correcting Code Decoders based on Hardware/Software Co-design Technique.
Background technology
In the error control system of Modern Communication System, except described LDPC code, common code type also has RS code, Viterbi code, convolution code, TURBO code etc.But the error-correcting performance of RS code, Viterbi code and convolution code is poor, and limit its application due to the complexity of circuit realiration.
Though the performance index of TURBO code and LDPC code are very close, but a certain distance of still having, and be not easy to hardware implementing, system complexity is higher, can not be applicable to all channels, therefore has the trend replaced by LDPC code in many cases.
For the hard-wired design of LDPC code, except the described Hardware/Software Co-design Technique based on Impulse C, directly can also adopt conventional hardware describing method, namely VHDL language designs, but when FPGA realizes, empirically need relative high input in design with instrument.
In addition, described hardware also can realize with dsp processor, but configurability is poor, and can not parallel processing, and the speed of service is by the restriction of dsp chip clock frequency.
Summary of the invention
The technical problem that the present invention mainly solves is to provide a kind of Error-Correcting Code Decoders, can be used in the fields such as Circuit in Digital Television Demodulator, high-speed wideband mobile communication system, Compressed Image Transmission, WLAN (wireless local area network), carry out error control, detecting and the mistake introduced in correction signal transmitting procedure, is the important component part ensureing reliable data transmission.
For solving the problems of the technologies described above, the technical scheme that the present invention adopts is: provide a kind of Error-Correcting Code Decoders, comprising:
1), from Impulse C software to the product process of FPGA hardware:
Impulse C design document after C preliminary treatment, then carries out C language analysis; In the C language analysis phase, compiler determines the hardware and software process in application; Next carry out initial optimization flow process, in the loop unrolling stage, corresponding conversion and cycle is parallel subqueries of equal value by compiler; Again through double optimization, finally generate and can emulate hdl file, the element describing various process, stream and describe in the element of Impulse C source; Final generation FPGA decoder hardware.
2), the structure of decoder:
Decoder adopts Parallel Iteration Decoding Method structure, distributes a variable node update module (VNU), distribute a check-node update module (CNU), realize the complete parallel structure of decoder to each check-node to each variable node; After channel initialization data carry out data processing by input module feeding variable node update module, send into random asccess memory, data, through check-node update module, finally send variable node update module back to by another data wire again, complete an iteration; When condition meets or iteration completes, export iteration result by output module.
Preferably, the random asccess memory between described variable node update module and check-node update module cushions data and controls; The input and output of described input module and output module difference control data.
The invention has the beneficial effects as follows: the error correcting code that the present invention adopts is low density parity check code and LDPC code, its error correcting capability is extremely strong, and Error-floor is non-existent, as long as structure rationally, the error rate can be dropped to low arbitrarily, be a class error correcting code of approaching shannon limit at present most.
From hardware implementing angle, because LDPC code has the performance of approaching shannon limit, decoding complexity is low, and its decoding algorithm is parallel algorithm in essence, practicable parallel work-flow, reduces decoding delay, is very suitable for the parallel computation of FPGA.The present invention creates the LDPC decoding hardware algorithm achieving a Data Flow Oriented, and both occupied lower resource utilization, its throughput also can meet the needs of Practical Project, has good engineering sense.
Owing to having isolated the relation between hardware and software developing instrument and method in the past, the FPGA in software-oriented application has not embodied than the advantage of conventional processors and DSP.The present invention proposes the Hardware/Software Co-design Technique (HW/SW Co-Design) adopting latest generation based on Impulse C, can accelerate development process.Set up the mixed hardware/software application of highly-parallel, to obtain the balance of decoding rate and hardware resource consumption simultaneously.
Under Gaussian channel, achieve the design of encoder of the LDPC code of different code check in terrestrial broadcast transmission standard; Analyze the factor affecting LDPC code performance respectively, the pluses and minuses of existing channel coding schemes by BER performance analysis, for Digital Television Performance Test System provides theoretical foundation.
Accompanying drawing explanation
Fig. 1 is the optimization product process figure of Impulse C to FPGA hardware in a kind of Error-Correcting Code Decoders of the present invention;
Fig. 2 is the structured flowchart of the decoder in shown a kind of Error-Correcting Code Decoders.
Embodiment
Below in conjunction with accompanying drawing, preferred embodiment of the present invention is described in detail, can be easier to make advantages and features of the invention be readily appreciated by one skilled in the art, thus more explicit defining is made to protection scope of the present invention.
Refer to Fig. 1 and Fig. 2, the embodiment of the present invention comprises:
A kind of Error-Correcting Code Decoders, comprising:
1), from Impulse C software to the product process of FPGA hardware:
Impulse C design document after C preliminary treatment, then carries out C language analysis; In the C language analysis phase, compiler determines the hardware and software process in application; Next carry out initial optimization flow process, in the loop unrolling stage, corresponding conversion and cycle is parallel subqueries of equal value by compiler; Again through double optimization, finally generate and can emulate hdl file, the element describing various process, stream and describe in the element of Impulse C source; Final generation FPGA decoder hardware.
3), the structure of decoder:
Decoder adopts Parallel Iteration Decoding Method structure, distributes a variable node update module (VNU), distribute a check-node update module (CNU), realize the complete parallel structure of decoder to each check-node to each variable node; After channel initialization data carry out data processing by input module feeding variable node update module, send into random asccess memory, data, through check-node update module, finally send variable node update module back to by another data wire again, complete an iteration; When condition meets or iteration completes, export random asccess memory described in iteration result between variable node update module and check-node update module by output module and data are cushioned and controls; The input and output of described input module and output module difference control data.
The present invention includes following three beneficial effects:
1, described Impulse C programmes, directly initial FPGA is become to realize from C code compilation, the time that Hardware Engineer will participate in performance conversion can be done sth. in advance to the design phase further, and simplify FPGA design process of hardware, system can design with more high efficiency software design pattern.
2, the conventional hardware describing method of identical function is contrasted, " style of stream programming " method that Streams-C compiler provides can be effectively utilized in described Impulse C storehouse, chip internal parallel decoding structure adopts pipeline organization, and reduce the use amount of logical block, hardware size is relatively little.
3, in view of China mobile television standard also adopts LDPC code, and the cell phone standby time is general shorter, existing framework is necessary for low-power consumption should be used as certain improvement, and the use amount of described coder logical block is less, hardware size is relatively little, makes power consumption obtain reduction.
The foregoing is only embodiments of the invention; not thereby the scope of the claims of the present invention is limited; every utilize specification of the present invention and accompanying drawing content to do equivalent structure or equivalent flow process conversion; or be directly or indirectly used in other relevant technical fields, be all in like manner included in scope of patent protection of the present invention.

Claims (2)

1. an Error-Correcting Code Decoders, is characterized in that, comprising:
1), from Impulse C software to the product process of FPGA hardware:
Impulse C design document after C preliminary treatment, then carries out C language analysis; In the C language analysis phase, compiler determines the hardware and software process in application; Next carry out initial optimization flow process, in the loop unrolling stage, corresponding conversion and cycle is parallel subqueries of equal value by compiler; Again through double optimization, finally generate and can emulate hdl file, the element describing various process, stream and describe in the element of Impulse C source; Final generation FPGA decoder hardware;
2), the structure of decoder:
Decoder adopts Parallel Iteration Decoding Method structure, distributes a variable node update module (VNU), distribute a check-node update module (CNU), realize the complete parallel structure of decoder to each check-node to each variable node; After channel initialization data carry out data processing by input module feeding variable node update module, send into random asccess memory, data, through check-node update module, finally send variable node update module back to by another data wire again, complete an iteration; When condition meets or iteration completes, export iteration result by output module.
2. a kind of Error-Correcting Code Decoders according to claim 1, is characterized in that: the random asccess memory between described variable node update module and check-node update module cushions data and controls; The input and output of described input module and output module difference control data.
CN201410591500.7A 2014-10-29 2014-10-29 Error correcting code decoder Pending CN104393952A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410591500.7A CN104393952A (en) 2014-10-29 2014-10-29 Error correcting code decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410591500.7A CN104393952A (en) 2014-10-29 2014-10-29 Error correcting code decoder

Publications (1)

Publication Number Publication Date
CN104393952A true CN104393952A (en) 2015-03-04

Family

ID=52611793

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410591500.7A Pending CN104393952A (en) 2014-10-29 2014-10-29 Error correcting code decoder

Country Status (1)

Country Link
CN (1) CN104393952A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106127635A (en) * 2016-06-28 2016-11-16 安徽科成信息科技有限公司 A kind of Evaluation System for Teaching Quality
CN106201866A (en) * 2016-06-28 2016-12-07 安徽科成信息科技有限公司 A kind of language teaching assessment system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101131710A (en) * 2007-09-13 2008-02-27 南京大学 Low-density odd-even checking codec hardware simulation system based on programmable gate array
US20140223264A1 (en) * 2013-02-04 2014-08-07 Sk Hynix Memory Solutions Inc. Ldpc decoder with a variable node updater which uses a scaling constant

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101131710A (en) * 2007-09-13 2008-02-27 南京大学 Low-density odd-even checking codec hardware simulation system based on programmable gate array
US20140223264A1 (en) * 2013-02-04 2014-08-07 Sk Hynix Memory Solutions Inc. Ldpc decoder with a variable node updater which uses a scaling constant

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
张培,尚丽,刘韬,汪一鸣: "LDPC译码器的ImpulseC编程设计", 《电讯技术》 *
张培,陶志福,周昌雄,汪一鸣: "采用C语言FPGA技术实现LDPC码译码算法", 《微电子学与计算机》 *
张培: "基于FPGA技术的纠错码研究", 《中国优秀硕士学位论文全文数据库》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106127635A (en) * 2016-06-28 2016-11-16 安徽科成信息科技有限公司 A kind of Evaluation System for Teaching Quality
CN106201866A (en) * 2016-06-28 2016-12-07 安徽科成信息科技有限公司 A kind of language teaching assessment system

Similar Documents

Publication Publication Date Title
CN102075198B (en) Quasi-cyclic low-density parity check convolution code coding-decoding system and coding-decoding method thereof
CN101820288B (en) Information processing method of low-density check codes
CN104393952A (en) Error correcting code decoder
Bang et al. Implementation of LTE system on an SDR platform using CUDA and UHD
CN102340320A (en) Bidirectional and parallel decoding method of convolutional Turbo code
Sun et al. FPGA Design and Implementation of a Convolutional Encoder and a Viterbi Decoder Based on 802.11 a for OFDM
CN103199876B (en) Realize the method and device of soft-decision FEC decoding
CN104242956A (en) High-performance and low-complexity LDPC decoder based on randomized computation
CN102201817B (en) Low-power-consumption LDPC decoder based on optimization of memory folding architecture
CN101895375B (en) Decoding system of low-density parity-check code
CN206099947U (en) Low resource consumption's multi -parameter can dispose viterbi decoder
CN104283571B (en) It is a kind of based on the ldpc decoder calculated at random
CN103780335A (en) Iterative decoding method and apparatus
Zhang et al. The acceleration of turbo decoder on the newest GPGPU of kepler architecture
Lapotre et al. A reconfigurable multi-standard ASIP-based turbo decoder for an efficient dynamic reconfiguration in a multi-ASIP context
Wang et al. An efficient CPU‐GPU hybrid parallel implementation for DVB‐RCS2 receiver
TWI599182B (en) Decoding device and method thereof
Le Gal et al. High-performance software implementations of SCAN decoder for polar codes
Islam et al. Computationally efficient implementation of a hamming code decoder using graphics processing unit
CN202663386U (en) Check node updating circuit of LDPC decoder
Zhou et al. A Parallel Turbo Product Codes Decoder Based on Graphics Processing Units
CN103081391B (en) Method for stopping iteration in an iterative Turbo decoder and an iterative Turbo decoder
Roth et al. Performance optimization and parallelization of turbo decoding for software-defined radio
Tang Design and FPGA implementation of a Viterbi decoder: A case study using SystemVerilog and co-simulation
Alneema et al. Image Transmission Through Channel Coding Architecture

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20150304

RJ01 Rejection of invention patent application after publication