CN108304658A - A kind of polarization code encoder hardware implementation method based on FPGA - Google Patents

A kind of polarization code encoder hardware implementation method based on FPGA Download PDF

Info

Publication number
CN108304658A
CN108304658A CN201810107445.8A CN201810107445A CN108304658A CN 108304658 A CN108304658 A CN 108304658A CN 201810107445 A CN201810107445 A CN 201810107445A CN 108304658 A CN108304658 A CN 108304658A
Authority
CN
China
Prior art keywords
matrix
coding
rom
polarization code
hardware implementation
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.)
Granted
Application number
CN201810107445.8A
Other languages
Chinese (zh)
Other versions
CN108304658B (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 CN201810107445.8A priority Critical patent/CN108304658B/en
Publication of CN108304658A publication Critical patent/CN108304658A/en
Application granted granted Critical
Publication of CN108304658B publication Critical patent/CN108304658B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2117/00Details relating to the type or aim of the circuit design
    • G06F2117/08HW-SW co-design, e.g. HW-SW partitioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The polarization code encoder hardware implementation method based on FPGA that the invention discloses a kind of, this method mainly for relevance between the front stage of polarization code coding structure it is relatively strong caused by parallel organization difficult design the problems such as, on the basis of summing up polarization code code generator matrix rule, a kind of method of simplified operation is designed.This method need to only carry out the operation of generator matrix first row, then can obtain entire coding result according to rule.This method also introduces ROM look-up tables as initial computation unit, to substantially increase the arithmetic speed of encoder entirety on the basis of solving Parallel Problem.

Description

A kind of polarization code encoder hardware implementation method based on FPGA
Technical field
The invention belongs to field of channel coding more particularly to a kind of polarization code encoder hardware realization sides based on FPGA Method.
Background technology
Polarization code coding techniques was proposed that the coding techniques is in binary system discrete memoryless channel(DMC) by E.Arikan in 2007 Under the conditions of, it will appear channel-polarization phenomenon when code length tends to infinity, i.e., local channel capacity levels off to 1 and part levels off to 0.Polarization code can reach the aromatic limit under these conditions, and the complexity of its encryption algorithm is relatively low, this makes polarization code Coding becomes a great breakthrough in channel coding history.Polarization code causes wireless as a kind of emerging coding techniques Communication circle is widely paid close attention to.As one of the hot research topic being widely noticed in coding field.
Due to having higher relevance between the front stage of polarization code coding structure, this makes polarization code in Parallel Design On there is many difficulties.The encoder design of polarization code mainly uses for reference the processing thought progress FPGA hardware of fft algorithm at present Design, but this method still belongs to serial arithmetic.The present invention designs one by using the regularity of distribution of G matrix in conjunction with look-up table The polarization code coder of kind parallel organization.
Invention content
Present invention polarization code encoding method is encoded mainly for polarization code in problem present on Parallel Design, is being summed up On the basis of polarization code code generator matrix structure law, a kind of polarization code coding based on FPGA is designed using look-up table Device, to substantially increase the degree of parallelism of polarization code coding.
The technical solution used in the present invention is as follows:
(1) structure law of generator matrix is found out.The structure of polarization code coder is formed based on a cell matrix, The cell matrix is:
When code length is 2nWhen, the relationship of generator matrix and cell matrix is:
WhereinIt is one 2n×2nMatrix.
Can be seen that according to the above characteristic when carrying out operation with the generator matrix, must have it is many compute repeatedly, The part repeated can only be calculated part that is primary and replacing other to repeat with the result by we.Assuming that the generation square of code length 64 Battle array G such as formulas are (3) shown:
Wherein, A is:
If the information bit that length is 64 is C={ c0,c1,c2,c3,c4,c5,c6,c7, wherein ciIt is 8.Then we It can simplify with the following methods, enable A1={ a0,a1,a2,a3,a4,a5,a6,a7, wherein ai=ci×A.If the letter after coding Breath sequence is S={ s0,s1,s2,s3,s4,s5,s6,s7, then have
s0=a0^a1^a2^a3^a4^a5^a6^a7 (5)
s1=a1^a3^a5^a7 (6)
s2=a2^a3^a6^a7 (7)
s3=a3^a7 (8)
s4=a4^a5^a6^a7 (9)
s5=a5^a7 (10)
s6=a6^a7 (11)
s7=a7 (12)
Formula (5)~(12) are the basic operation formula of the algorithm, and in contrast to direct operation, this method simplifies operation Journey only carries out the operation of first row, improves 7 times of speed on the whole, and 0 element in G matrix is directly rejected in the operation in later stage, And the G matrix is sparse matrix, this has just largely saved computing unit.
(2) encoder design based on FPGA.The encoder system structure is as shown in Figure 1.The system includes information segmentation Module, coding module of tabling look-up, 8 coding result memories, coding scratch-pad storage, coding structure arithmetic unit, output mould Block.Based on above simplification algorithm, the hardware design of encoder is carried out.In order to further simplify operation, encoder is improved Throughput, which is tabled look-up using eight coding results of look-up table pair.Pass through MATLAB pairs of 8 encoder first All inputs (in total 256 kinds) carry out coding calculating and obtain coding result, and it is 256 that depth is then created in QUARTUS II 8 read only memory ROMs deposited its coding result as corresponding address in ROM using information bit as the address of ROM Store up information.In order to improve degree of parallelism, 2 twoport ROM are established in this system, are carried out at the same time the 8 bit polarization codes coding of 4 threads. Under same degree of parallelism, look-up table has saved 8 times of calculating cycle.
Description of the drawings
Fig. 1 system construction drawings
256 encoder system program charts of Fig. 2
Specific implementation mode
The FPGA that code length is 1024 is used to polarize code coder as example below, and it is detailed to combine Fig. 2 to carry out the present invention Description, specific implementation mode following steps:
Step 1:Enabled encoder, setting cycle flag bit n=1, encoder starts to receive 32 information bits, by 32 Position information bit is divided into four threads and is respectively transmitted to carry out table lookup operation in ROM, and ROM exports 48 coded sequences respectively.And Result is stored in coding scratch-pad storage.
Step 2:Coding structure arithmetic unit reads data from scratch-pad storage, and according to institute in technical solution (1) It states algorithm and calculates 32 coded sequences.And it is stored in 32 coded stacks.Further according to encoder current encoder code length It chooses whether to carry out next group of coding.
Step 3:Cycle flag bit adds 1, and receives next group of 32 information bits, repeats the operation of step 1 step 2.
Step 4:As n=9, system stops receiving information bit, and coding structure arithmetic unit is called to read 8 32 Coded sequence calculates 256 codings according to algorithm described in technical solution (1).And start to encode next 256 information sequences Row.

Claims (3)

1. a kind of polarization code encoder hardware implementation method based on FPGA, it is characterised in that this approach includes the following steps:
(1) structure law of generator matrix, the simplification method that design G matrix calculates are found out;
(2) structure encodes the ROM to table look-up for 8;
2. hardware implementation method according to claim 1, it is characterised in that the step (1) finds out the structure of generator matrix Rule, the simplification method that design G matrix calculates, specifically:
If the information bit that length is 64 is C={ c0,c1,c2,c3,c4,c5,c6,c7, wherein ciIt is 8.Then we can be with Simplify with the following methods, enables A1={ a0,a1,a2,a3,a4,a5,a6,a7, wherein ai=ci×A.If the information sequence after coding It is classified as S={ s0,s1,s2,s3,s4,s5,s6,s7, then have
s0=a0^a1^a2^a3^a4^a5^a6^a7
s1=a1^a3^a5^a7
s2=a2^a3^a6^a7
s3=a3^a7
s4=a4^a5^a6^a7
s5=a5^a7
s6=a6^a7
s7=a7
Formula (1)~(8) be the simplification method basic operation formula, in contrast to direct operation, this method simplifies calculating process, only The operation for carrying out first row, improves 7 times of speed, 0 part in G matrix, and the G are directly rejected in the operation in later stage on the whole Matrix is sparse matrix, this has just largely saved computing unit.
3. hardware implementation method according to claim 1, it is characterised in that step (2) structure is looked into for 8 codings The ROM of table, specifically:
Coding calculating is carried out by all inputs (in total 256 kinds) of MATLAB pairs of 8 encoders and obtains coding result, then 8 read only memory ROMs that depth is 256 are created in QUARTUS II to be encoded using information bit as the address of ROM As a result the storage information as corresponding address in ROM.In order to improve degree of parallelism, 2 twoport ROM are established in this system, simultaneously Carry out the 8 bit polarization codes coding of 4 threads.Under same degree of parallelism, look-up table has saved 8 times of calculating cycle.
CN201810107445.8A 2018-02-02 2018-02-02 FPGA-based polarization code encoder hardware implementation method Active CN108304658B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810107445.8A CN108304658B (en) 2018-02-02 2018-02-02 FPGA-based polarization code encoder hardware implementation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810107445.8A CN108304658B (en) 2018-02-02 2018-02-02 FPGA-based polarization code encoder hardware implementation method

Publications (2)

Publication Number Publication Date
CN108304658A true CN108304658A (en) 2018-07-20
CN108304658B CN108304658B (en) 2020-05-19

Family

ID=62851044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810107445.8A Active CN108304658B (en) 2018-02-02 2018-02-02 FPGA-based polarization code encoder hardware implementation method

Country Status (1)

Country Link
CN (1) CN108304658B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021151463A1 (en) * 2020-01-27 2021-08-05 Huawei Technologies Co., Ltd. Device and method for encoding or decoding messages by means of a polar code

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102857239A (en) * 2012-09-27 2013-01-02 苏州威士达信息科技有限公司 LDPC (Low Density Parity Check) serial encoder and encoding method based on lookup table in CMMB (China Mobile Multimedia Broadcasting)
CN104539393A (en) * 2015-01-07 2015-04-22 北京邮电大学 Source coding method based on polar codes
WO2015139297A1 (en) * 2014-03-21 2015-09-24 华为技术有限公司 Polar code rate-matching method and rate-matching device
CN105720992A (en) * 2016-01-22 2016-06-29 哈尔滨工业大学深圳研究生院 Polarized code simplifying and decoding method
US9432056B2 (en) * 2013-11-04 2016-08-30 Microsoft Technology Licensing, Llc Fast decoding based on ZigZag deconvolution for random projection code
CN106253913A (en) * 2016-07-29 2016-12-21 山东科技大学 The block encoder of polarization code and coded method thereof
CN106817195A (en) * 2015-12-02 2017-06-09 华为技术有限公司 For the method and apparatus of the rate-matched of polarization code
CN107124251A (en) * 2017-06-08 2017-09-01 电子科技大学 A kind of polarization code encoding method based on arbitrary kernel
CN107222293A (en) * 2017-05-16 2017-09-29 北京邮电大学 A kind of information transferring method, device, electronic equipment and storage medium
CN107342842A (en) * 2016-08-11 2017-11-10 华为技术有限公司 Method, apparatus and equipment for Polarization Coding

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102857239A (en) * 2012-09-27 2013-01-02 苏州威士达信息科技有限公司 LDPC (Low Density Parity Check) serial encoder and encoding method based on lookup table in CMMB (China Mobile Multimedia Broadcasting)
US9432056B2 (en) * 2013-11-04 2016-08-30 Microsoft Technology Licensing, Llc Fast decoding based on ZigZag deconvolution for random projection code
WO2015139297A1 (en) * 2014-03-21 2015-09-24 华为技术有限公司 Polar code rate-matching method and rate-matching device
CN104539393A (en) * 2015-01-07 2015-04-22 北京邮电大学 Source coding method based on polar codes
CN106817195A (en) * 2015-12-02 2017-06-09 华为技术有限公司 For the method and apparatus of the rate-matched of polarization code
CN105720992A (en) * 2016-01-22 2016-06-29 哈尔滨工业大学深圳研究生院 Polarized code simplifying and decoding method
CN106253913A (en) * 2016-07-29 2016-12-21 山东科技大学 The block encoder of polarization code and coded method thereof
CN107342842A (en) * 2016-08-11 2017-11-10 华为技术有限公司 Method, apparatus and equipment for Polarization Coding
CN107222293A (en) * 2017-05-16 2017-09-29 北京邮电大学 A kind of information transferring method, device, electronic equipment and storage medium
CN107124251A (en) * 2017-06-08 2017-09-01 电子科技大学 A kind of polarization code encoding method based on arbitrary kernel

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHENRONG XIONG ET: "An FPGA Emulation Platform for polar Codes", 《2016 IEEE INTERNATIONAL WORKSHOP ON SIGNAL PROCESSING SYSTEMS》 *
舒长青等: "极化码编码器的硬件实现", 《电视技术》 *
陈福钢等: "极化码多模串行抵消算法的FPGA实现研究", 《无线互联科技》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021151463A1 (en) * 2020-01-27 2021-08-05 Huawei Technologies Co., Ltd. Device and method for encoding or decoding messages by means of a polar code

Also Published As

Publication number Publication date
CN108304658B (en) 2020-05-19

Similar Documents

Publication Publication Date Title
Song et al. Codes with run-length and GC-content constraints for DNA-based data storage
CN106685656A (en) Method for correcting data errors in continuously variable quantum key distribution system based on polarization code
CN101488819B (en) LDPC code encoding modulation method and apparatus
CN110326342A (en) A kind of device and method of the ordered sequence for prescribed coding subchannel
CN108847850A (en) A kind of segmentation polarization code coding/decoding method based on CRC-SSCL
CN109547034B (en) Decoding method and device, decoder
CN110326221A (en) A method of for generating ordered sequence for polarization code
Chen et al. Design of polar coded 64-QAM
CN102356554B (en) Turbo code data interweaving process method and interweaving device used for interweaving turbo code data
CN108282265A (en) Error correction/encoding method, device, equipment and computer readable storage medium
CN108809518A (en) For reducing the cascade Spinal code construction methods of error performance
CN108304658A (en) A kind of polarization code encoder hardware implementation method based on FPGA
CN108055107A (en) A kind of information communicating method based on puncture polarization code
CN108494523A (en) A kind of more CRC coding methods of Polar codes
CN107888202A (en) A kind of non-recursive SC decodings likelihood ratio determines method and device
CN108880748B (en) Coding and decoding method of rateless Spinal code based on Latin square matrix
WO2023116544A1 (en) Systems and methods for using special nodes for polar encoding in polar codes
CN1183687C (en) Hybrid interleaver for TURBO codes
CN108390677A (en) A kind of coding and decoding method of polarization code optimization
US6690752B2 (en) Sequential decoder for decoding of convolutional codes
CN113556134B (en) Polar code puncturing encoder and encoding method suitable for simplifying serial offset decoding
CN1309471A (en) Viterbi decoder with reduced bit in branching metering computation processing
CN101667839B (en) Interleaving method
CN111988044B (en) Code word construction method of punctured Polar code
CN103888224B (en) Parallel realization method and device for LTE system Turbo code-inner interleaving

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