CN108418588B - Low-delay polar code decoder - Google Patents

Low-delay polar code decoder Download PDF

Info

Publication number
CN108418588B
CN108418588B CN201810044314.XA CN201810044314A CN108418588B CN 108418588 B CN108418588 B CN 108418588B CN 201810044314 A CN201810044314 A CN 201810044314A CN 108418588 B CN108418588 B CN 108418588B
Authority
CN
China
Prior art keywords
value
symbol
unit
mode
selecting
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.)
Active
Application number
CN201810044314.XA
Other languages
Chinese (zh)
Other versions
CN108418588A (en
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.)
China Jiliang University
Original Assignee
China Jiliang 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 China Jiliang University filed Critical China Jiliang University
Priority to CN201810044314.XA priority Critical patent/CN108418588B/en
Publication of CN108418588A publication Critical patent/CN108418588A/en
Application granted granted Critical
Publication of CN108418588B publication Critical patent/CN108418588B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/13Linear codes
    • 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/155Shortening or extension of codes

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)

Abstract

The invention relates to a method for reducing the path of a calculation unit of a polarization code SMS decoder, which comprises the following steps: in the original calculation path, the sign and the absolute value of the input data are combined to be subjected to real number addition, and then the process of separating the input data into the sign and the absolute value to be output is carried out. Therefore, the original calculation path is reduced from four adders to three adders, and the polar code SMS decoder can improve the throughput rate by 33% and the hardware efficiency by 27% under the condition of short code length.

Description

Low-delay polar code decoder
Technical Field
The invention belongs to the technical field of electronics. In particular to a fast calculation method for adding and modulus of binary real numbers on hardware.
Background
In the field of communication, polarization code is the only channel coding scheme which can theoretically reach shannon limit so far, and successfully enters into the 5G communication standard. In order to realize parallel decoding with low complexity, researchers have proposed a polarization code SMS decoder based on the BP algorithm, which reduces the delay of the decoder while maintaining good performance.
For a short code length polar code SMS decoder, the delay of the whole decoding process depends on the path length of the calculation unit. The existing method is a method that information data is input in a separated mode of sign bit and absolute value, combined and correspondingly calculated in the middle calculation process, and finally output in a separated mode, the time delay consumption of four unit clocks is consumed totally, and each unit clock is the time delay consumption of an adder. Therefore, a method for shortening the path of the computing unit is found, so that the delay of the decoder can be reduced proportionally.
Disclosure of Invention
The technical problem to be solved by the present invention is how to design an SMS decoder calculation unit with less than four adder delays.
The technical scheme adopted by the invention for solving the technical problem is as follows:
in the original calculation path, firstly, the sign and the absolute value of input data are combined to be subjected to real number addition, and then the process of outputting the sign and the absolute value is separated. Compared with the original method, the method saves an adder time delay required by symbol and absolute value combination and re-separation.
Compared with the prior art, the invention has the following advantages: according to the parallel computing and symbol judging method, the path of a computing unit is shortened, and the originally required time delay of four adders is reduced to three, so that the throughput rate and the hardware efficiency of a decoder are improved. In the case of a short code length, the calculation path of the polarization code SMS decoder is unchanged and the data access delay becomes shorter as the code length decreases, the delay of the whole decoder depends on the length of the calculation unit path, and the calculation unit structure proposed by the present invention will bring about 33% of decoder throughput improvement and 27% of hardware efficiency improvement.
Drawings
The computing unit corresponding to the present invention has two mode structures as shown in fig. 1 and fig. 2, respectively, and fig. 3 is a subtractor structure used in the computing unit.
Detailed Description
The invention is further described below with reference to the accompanying drawings.
In the existing literature, formula (1) in the polar code decoding algorithm can be simplified into formula (2)
d=a+ln[(1+eb+c)/(eb+ec)] (1)
d=a+Sign(b)*Sign(c)*g(b,c) (2)
Where g (b, c) ═ s Min (| b |, | c |). a, b and c are input data of the mode-one computing unit,
and is represented in a form separated by a Sign bit (Sign) and an absolute value (Mag); and s is 0.9375, which is an introduced multiplication correction factor used for reducing the approximation error of the original nonlinear function expression (1), and can be realized by a shifting subtracter on hardware. Min (| b |, | c |) represents finding the smaller of the two absolute values | b | and | c |.
The structure of the calculation unit designed for formula (2) in the invention is shown in fig. 1, and the whole calculation flow comprises the following steps:
the method comprises the following steps: in the first clock cycle, the correction values b 'and c' obtained by multiplying b and c by the correction factor s are synchronously calculated by a Scale unit, and simultaneously b is compared by a Com-Sel unit
And | c | and points to the smaller of the two (| b | or | c |) with a 1-bit symbol EN. The values of Sel1 and Sel2 were calculated at the sign computation end.
Step two: in the second clock cycle, according to the direction of the symbol EN in step one, from b 'and c'
The corrected smaller value is selected as the value of | g (| b |, | c |) |, and the values of | g (| b |, | c |) | - | a | and | g (| b |, | c |) | + | a | are synchronously calculated by an adder and a subtracter respectively.
Step three: in the third clock cycle, firstly, the calculation result of g (| B |, | c |) - | a | in the step two and the borrow symbol B thereof are calculatedoutInputting a C2S unit for taking the modulus to obtain the value of g (b, C) to a, and selecting the absolute value of the final needed d from g (b, C) to a and g (b, C) plus a) by the symbol judgment of Sel 2. At the same time, the sign value of d is found at the sign end. Ending the operation of the mode one computing unit.
In the existing literature, formula (3) in the polarization code SMS decoding algorithm can be simplified into formula (4)
d=ln[(1+ea+b+c)/(ea+eb+c)] (3)
d=s*Sign(a)*Sign(b+c)*Min(|a|,|b+c|) (4)
Wherein a, b and c are all input data of the mode one computing unit and are expressed in a form of Sign bit (Sign) and absolute value (Mag) separation; and s is 0.9375, which is an introduced multiplicative correction factor used for reducing the approximation error of the original nonlinear function expression (3), and can be realized by a shifting subtracter in hardware. Min (| a |, | b + c |) represents finding the smaller of the two absolute values | a | and | b + c |.
The structure of the calculation unit designed for formula (4) in the present invention is shown in fig. 2, and the whole calculation flow steps are as follows:
the method comprises the following steps: in the first clock cycle, the values of | b | + | c |, | b | - | c | and | c | - | b | are synchronously calculated by the adder and the subtracter. The value of Sel1 is calculated at the symbolic end.
Step two: in the second clock cycle, the borrow symbol B of | B | - | c |, obtained in step one is usedoutJudging, selecting the value of b-c from b and c, selecting the value of b + c from b + c and b-c by Sel1, selecting the value of b + c from b + c and c, and using Compare&The select unit compares and selects the smaller of | b + c | and | a |.
Step three: in the third clock cycle, the obtained | b + c | + | a | value is sent to the Scale unit, and the absolute value of d of the final required output result is obtained. At the same time, the symbol end obtains the finally required symbol value of d. Then, the operation of the mode two calculation unit is ended.

Claims (1)

1. A low-delay polar code decoder comprising a mode one computing unit and a mode two computing unit, wherein the mode one computing unit comprises the steps of:
s1: in the first clock cycle, synchronously calculating correction values b 'and c' after multiplying | b | and | c | by a correction factor s through a Scale unit, comparing the magnitudes of | b | and | c | through a Com-Sel unit and pointing to the smaller value (| b | or | c |) of the two with a 1-bit symbol EN, and calculating the values of Sel1 and Sel2 at a symbol calculation end;
s2: in the second clock period, according to the direction of the symbol EN in S1, selecting the smaller corrected value from b 'and c' as the value of g (| b |, | c |), and synchronously calculating the values of g (| b |, | c |) - | a | and g (| b |, | c |) + | a | respectively through an adder and a subtracter;
s3: in the third clock cycle, the calculation result of g (| B |, | c |) - | a | in S2 and the borrow symbol BoutInputting a C2S unit for taking a module to obtain a value of | g (| b |, | C |) - | a | |, and selecting the final required absolute value of d from | g (| b |, | C |) - | a | |, and g (| b |, | C |) + | a | through the symbol judgment of Sel 2; simultaneously, the symbol value of d is solved at the symbol end; ending the work of the mode one computing unit;
the mode two calculation unit includes the steps of:
q1: in the first clock period, the values of | b | + | c |, | b | - | c | and | c | -b | are synchronously calculated through an adder and a subtracter, and the value of Sel1 is calculated at the symbol end;
q2: in the second clock period, judging the borrowing symbol Bout of | b | - | c | in Q1, selecting the absolute value of | b | - | c | from | b | - | c | and | c | - | b |, then selecting the value of | b + c | from | b | + | c | and | b | - | | c | |, by judging the Sel1 obtained in Q1, and then comparing and selecting the smaller value of | b + c | and | a | by using a Compare & select unit;
q3: in the third clock period, the obtained | b + c | + | a | value is sent to a Scale unit, and the absolute value of the final required output result d is calculated; simultaneously, the symbol value of the finally needed d is solved at the symbol end; and finishing the work of the second mode calculation unit.
CN201810044314.XA 2018-01-17 2018-01-17 Low-delay polar code decoder Active CN108418588B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810044314.XA CN108418588B (en) 2018-01-17 2018-01-17 Low-delay polar code decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810044314.XA CN108418588B (en) 2018-01-17 2018-01-17 Low-delay polar code decoder

Publications (2)

Publication Number Publication Date
CN108418588A CN108418588A (en) 2018-08-17
CN108418588B true CN108418588B (en) 2022-02-11

Family

ID=63125931

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810044314.XA Active CN108418588B (en) 2018-01-17 2018-01-17 Low-delay polar code decoder

Country Status (1)

Country Link
CN (1) CN108418588B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110620587B (en) * 2019-09-20 2023-02-17 上海大学 Polarization code BP decoding unit based on different data type transmission

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101064591A (en) * 2006-04-24 2007-10-31 中兴通讯股份有限公司 Decoding method for low density parity check code and its check node refreshing circuit
CN103957015A (en) * 2014-05-12 2014-07-30 福州大学 Nonuniform quantizing coding method used for decoding LDPC code and application of method in decoder
CN104079382A (en) * 2014-07-25 2014-10-01 北京邮电大学 Polar code decoder and polar code decoding method based on probability calculation
CN106788453A (en) * 2016-11-11 2017-05-31 山东科技大学 A kind of parallel polarization code coding method and device
CN107241106A (en) * 2017-05-24 2017-10-10 东南大学 Polarization code decoding algorithm based on deep learning
CN108449091A (en) * 2018-03-26 2018-08-24 东南大学 A kind of polarization code belief propagation interpretation method and decoder based on approximate calculation

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9362956B2 (en) * 2013-01-23 2016-06-07 Samsung Electronics Co., Ltd. Method and system for encoding and decoding data using concatenated polar codes
US9806743B2 (en) * 2015-11-16 2017-10-31 Mitsubishi Electric Research Laboratories, Inc. System and method of belief propagation decoding

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101064591A (en) * 2006-04-24 2007-10-31 中兴通讯股份有限公司 Decoding method for low density parity check code and its check node refreshing circuit
CN103957015A (en) * 2014-05-12 2014-07-30 福州大学 Nonuniform quantizing coding method used for decoding LDPC code and application of method in decoder
CN104079382A (en) * 2014-07-25 2014-10-01 北京邮电大学 Polar code decoder and polar code decoding method based on probability calculation
CN106788453A (en) * 2016-11-11 2017-05-31 山东科技大学 A kind of parallel polarization code coding method and device
CN107241106A (en) * 2017-05-24 2017-10-10 东南大学 Polarization code decoding algorithm based on deep learning
CN108449091A (en) * 2018-03-26 2018-08-24 东南大学 A kind of polarization code belief propagation interpretation method and decoder based on approximate calculation

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Architecture optimizations for BP polar decoders;Bo Yuan等;《International Conference on Acoustics, Speech, and Signal Processing》;20121021;全文 *
极化码置信传播算法早期终止准则的研究;邢超等;《信号处理》;20160325;第32卷(第3期);全文 *

Also Published As

Publication number Publication date
CN108418588A (en) 2018-08-17

Similar Documents

Publication Publication Date Title
CN107241106B (en) Deep learning-based polar code decoding algorithm
Van et al. Design of the lower error fixed-width multiplier and its application
KR101583139B1 (en) High-Throughput Low-Complexity Successive-Cancellation Polar Decoder Architecture and Method
CN107644252A (en) A kind of recurrent neural networks model compression method of more mechanism mixing
CN108418588B (en) Low-delay polar code decoder
US8416856B2 (en) Circuit for computing sums of absolute difference
CN110635809B (en) Design method of parallel polarization code BP decoder based on formula language
CN115906126A (en) Data processing method and device in multi-party security computing
CN109547035B (en) Method for establishing hardware architecture of pipelined BP polarized decoder and hardware architecture of decoder
CN102891726B (en) Method for generating Gold sequence and chip
CN110620587A (en) Polarization code BP decoding unit based on different data type transmission
CN106656213A (en) Implementation method for low-complexity polarization code folding hardware framework based on k-segment decomposition
US5838392A (en) Adaptive block-matching motion estimator with a compression array for use in a video coding system
US7840628B2 (en) Combining circuitry
CN111200481B (en) Method for improving universality of computing unit in Polar code decoding process
CN110752893B (en) Approximate decoding method and device for belief propagation of polarization code
CN109274460B (en) Multi-bit parallel structure serial offset decoding method and device
CN112534724B (en) Decoder and method for decoding polarization code and product code
US20060291565A1 (en) System and method for performing video block prediction
CN116151340B (en) Parallel random computing neural network system and hardware compression method and system thereof
Park et al. Multiplier-less and table-less linear approximation for square and square-root
CN112732223B (en) Semi-precision floating point divider data processing method and system
CN112911314B (en) Coding method of entropy coder and entropy coder
CN113805840B (en) Fast accumulator
KR102665675B1 (en) Neural network device and method of operating neural network device

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