CN106788453A - A kind of parallel polarization code coding method and device - Google Patents

A kind of parallel polarization code coding method and device Download PDF

Info

Publication number
CN106788453A
CN106788453A CN201610993556.4A CN201610993556A CN106788453A CN 106788453 A CN106788453 A CN 106788453A CN 201610993556 A CN201610993556 A CN 201610993556A CN 106788453 A CN106788453 A CN 106788453A
Authority
CN
China
Prior art keywords
node
nodes
pfd
alpha
valuation
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
CN201610993556.4A
Other languages
Chinese (zh)
Other versions
CN106788453B (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.)
Shandong University of Science and Technology
Original Assignee
Shandong University of Science and Technology
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 Shandong University of Science and Technology filed Critical Shandong University of Science and Technology
Priority to CN201610993556.4A priority Critical patent/CN106788453B/en
Publication of CN106788453A publication Critical patent/CN106788453A/en
Application granted granted Critical
Publication of CN106788453B publication Critical patent/CN106788453B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations

Abstract

The invention discloses the interpretation method and device of a kind of parallel polarization code, belong to wireless communication field, more particularly to a kind of parallel decoding method for polarization code.For the shortcoming of Fast SSC algorithms decoding latencies high, the present invention proposes a kind of parallel fast method, it is made up of two parallel Fast SSC decoders, channel information is divided into two parts during decoding, work decoding is carried out by two parallel decoders, the decoding latency of Fast SSC algorithms is effectively reduced.There is identical bit error rate with Fast SSC, but decoding speed is than Fast SSC algorithms faster;When two Fast SSC decoders are parallel, degree of parallelism improves 40% or so than Fast SSC algorithms.

Description

A kind of parallel polarization code coding method and device
Technical field
The invention belongs to wireless communication field, more particularly to a kind of parallel decoding method for polarization code.
Background technology
Polar yards is that currently the only energy proves that the coded system of channel capacity can be reached by strict mathematical method, It is the contenders of 5G standards.Arikan proposed channel-polarization (Channel polarization in 2008:A method for constructing capacity-achieving codes,Arikan E.,IEEE International Symposium on Information Theory(ISIT),2008:After theory 1173-1177.), proposed in 2009 SC (Successive-Cancellation) decoding algorithm (Channel polarization:A method for constructing capacity-achieving codes for symmetric binary-input memoryless channels,Arikan E.,IEEE Trans.Inf.Theory,55(7),2009:3051-3073.), SC algorithms are serially translated The property of code result in its low throughput, the shortcoming of decoding latency high, therefore research to Polar yards of parallel decoding is received more Carry out more concerns.The scholars such as Amin proposed SSC (Simplified Successive-Cancellation) in 2011 Algorithm (A Simplified Successive-Cancellation Decoder for Polar Codes, Amin, Alamdar-Yazdi,Frank R.Kschischang,IEEE Communications Letters,15(12),2011: 1378-1380.), RATE0 and RATE1 two kinds of nodes defined in SSC algorithms.When the leaf of node is all busy hour fixed, node It is RATE0 nodes, when being all information bit, node is RATE1 nodes.Both nodes can be decoded directly, it is not necessary to travel through subtree, SSC algorithms reduce the number of nodes for needing activation by cutting the decoding tree of SC algorithms, therefore with throughput higher. On the basis of SSC algorithms, the scholar such as Gabi Sarkis proposed ML-SSC (Max Likelihood in 2013 Simplified Successive-Cancellation) algorithm (Increasing the Throughput of Polar Decoders,Gabi Sarkis,Warren J.Gross.IEEE Communications Letters,17(4),2013: 725-728.).Compared with SSC algorithms, ML-SSC algorithms increased RATE0-RATE1 nodes, by finding estimate and LLR The maximum of the sum of products of (Log-Likelihood Ratio, log-likelihood ratio) obtains this kind of decoding result of node.Swash The reduction of number of nodes living makes ML-SSC algorithms have throughput higher, but the corresponding amount of calculation that increased ML-SSC algorithms. Equally in 2013, the scholar such as Gabi Sarkis has also been proposed Fast-SSC (Fast on the basis of SSC algorithms Simplified Successive-Cancellation) algorithm (Fast Polar Decoders:Algorithm and Implementation,Gabi Sarkis,Pascal Giard,Alexander Vardy,Claude Thibeault, Warren J.Gross,IEEE journal on Selected Areas in Communications,32(5),2014: 946-957.), Fast-SSC algorithms increased two kinds of nodes of SPC and REP on the basis of SSC.SPC nodes only first are solid Positioning, remaining position is information bit, and REP nodes only last position is information bit, and remaining position is fixed bit.By to SSC algorithms The cutting of decoding tree, further increases the throughput of decoder.Although SSC, ML-SSC and Fast-SSC are gulped down with higher Rate is told, but decoding latency is more long.The scholars such as LiBin proposed Parallel-SC algorithms (Parallel in 2013 Decoders of Polar Codes,Bin Li,Hui Shen,David Tse,[2016-8-25],heep:// Arxiv.org/abs/1401.3753.), worked simultaneously by several SC decoders, decoding latency can be effectively reduced, but The SC algorithms of use make the throughput of decoder relatively low.
The content of the invention
In order to seek the interpretation method that a kind of decoding latency is low, throughput is higher, the present invention proposes a kind of parallel pole Change code coding method.
Heretofore described polarization code (Polar yards) can uniquely determine by 3 factors, code length N=2n, code check R=K/ N, positional information sequence A.Sequence A is that a length is N (0,1) sequence, and 0 represents fixed bit, and 1 represents information bit.
The Polar code words of one a length of N can split into two code words of a length of N/2, and Polar yards can represent an accepted way of doing sth (3) form, shown in its correlation such as formula (4).
X is the Polar code words that a length is N in formula (3), and a and b is that two length split out from x are the sequence of N/2 Row, v is intermediate sequence when synthesizing x by a and b, n=log2N, (n-1) secondary Kronecker product of F is represented, B is inverted sequence retracing sequence, and B is defined as follows:
To L1 NBit inverted sequence rearrangement is carried out, sequence S is obtained1 NEven, Li=Sπ(i)
Bit antitonic function π (i) is defined as follows:
I is made with being represented in binary as (b1,b2,…,bm);
Then the value of π (i) is corresponding is represented in binary as (bm,bm-1,…,b1);
Parallel polarization code coding method proposed in the present invention is comprised the following steps that:
Step one, structure decoding tree, by length for the sequence A of N splits into two sequence A by parity bitaAnd Ab, in AaIn 0 Position place fixed bit node, 1 position placement information position node, with N/2 node placing as leaf structure one Complete binary tree Ta, in AbIn 0 position place fixed bit node, 1 position placement information position node, with N/2 placed Node is that leaf builds a complete binary tree Tb;Two constructed binary tree TaAnd TbIt is respectively two parallel fast decodings Device PFDaAnd PFDbDecoding tree;Father node in two decoding trees is according to child nodes type definition;
In two decoding trees, when the leaf of node is all busy hour fixed, node is RATE0 nodes;When the leaf of node When being all information bit, node is RATE1 nodes;When only first, the leaf of node is fixed bit, when remaining position is information bit, Node is SPC nodes;When leaf only last position of node is information bit, remaining position is busy hour fixed, and node is REP sections Point.When the leaf half of node is fixed bit, when half is information bit, node is RATE0-RATE1 nodes;Remove above-mentioned 5 class Node and its subtree, remaining node are OTHER type nodes.
Step 2, decoder receive a frame channel α data, and the channel α is a sequence, the length of channel α and decoding The equal length of the Polar code words for using, is all N, and its value is (α0, α1…αN-1)。
Step 3, the first half (α using channel α0…αN/2-1) initialization decoding tree Ta, using latter half data (αN/2… αN-1) initialization decoding tree Tb, decoding tree TaFor parallel fast decoder PFDaDecoding, decoding tree TbFor quickly translating parallel Code device PFDbDecoding.
Step 4, decoder PFDaAnd PFDbBy root node, two decodings are activated simultaneously according to the order of depth-first The node of tree;
The input of root node is channel α, and the input of other nodes is intermediate value alpha in addition to root node, intermediate value alpha by F computings, As shown in formula (1), or G operation, as shown in formula (2), obtain.
Intermediate value alpha is input value when each node enters row decoding in decoding tree, and intermediate value alpha is a sequence intermediate value alpha The sequence length n of sequence length and activation nodevIt is equal.
In formula (1) and formula (2), αvRepresent the α values of activation node, αlRepresent the intermediate value alpha of the activation left child of node, αrTable Show the intermediate value alpha of the activation right child of node.Activate node output be the node subcode valuation, i.e. sequence β, its length and should The sequence length of node is equal, and the node's length is equal to the leaf number of the node.In formula (2), βlRepresent the activation left child of node Subcode valuation.
When RATE0, RATE1, REP or SPC node in two decoding trees are activated, activated according in two decoding trees The type of node, decoder selects the subcode valuation β of different interpretation method calculate nodes
1) PFD is worked asaAnd PFDbIn activation node when being all RATE0 nodes, two nodes are collectively referred to as RATE0-P nodes;This When, PFDaAnd PFDbIn the subcode valuation β of the node be judged as simultaneously shown in 0, i.e. formula (10).
βa[i]=βb[i]=0,0≤i<nv (10)
2) PFD is worked asaAnd PFDbIn activation node when being all RATE1 nodes, two nodes are collectively referred to as RATE1-P nodes;When RATE1-P nodes are activated, PFDaAnd PFDbIndependent interpretation is carried out according to formula (11), two subcode valuation β are obtained respectivelyaAnd βb
3) PFD is worked asaIn activation node be SPC nodes, PFDbIn activation node be RATE1 nodes when, two nodes are collectively referred to as It is RATE1B nodes, when RATE1B nodes are activated, node is accordingly activated in combining two decoders according to formula (12) first Intermediate value alpha, carries out hard decision to the intermediate value alpha that combination is obtained afterwards, and as shown in formula (13), court verdict sequence HD is represented. Because hard decision only has 0 and 1 two kind of result, thus sequence HD be one containing only 0,1 sequence.Court verdict is carried out very afterwards 1 number in even parity check, i.e. detection sequence HD, as shown in formula (14), check results are represented with parity.If there is even number in HD Individual 1, that is, meet even-odd check, then hard decision result is exactly the subcode valuation β of node, if there is odd number 1 in HD, that is, is unsatisfactory for Even-odd check, then find the court verdict of the minimum intermediate value alpha of absolute value, and the court verdict is carried out to negate computing, if The court verdict is 0, and 1 is changed into after negating, if the court verdict is 1,0 is changed into after negating.Negating the HD sequences after computing is The subcode valuation β of the node, as shown in formula (15) and formula (16), wherein j represents the label of the minimum intermediate value alpha of absolute value.
α=[αa αb] (12)
J=argiMin | α [i] |, 0≤i<nv (15)
4) PFD is worked asaAnd PFDbIn activation node when being all REP nodes, two nodes are collectively referred to as REP-P nodes, work as REP-P When node is activated, PLDaAnd PLDbAccording to formula (17) independent interpretation, two subcode valuation β are obtained respectivelyaAnd βb
5) PFD is worked asaIn activation node be RATE0 nodes, PFDbIn activation node be REP nodes when, two nodes are collectively referred to as It is REPB nodes, the decoding result of two REPB nodes is identical, is to two nodes totally 2 × nvThe hard decision of individual intermediate value alpha sum, According to formula (18) and formula (19), two subcode valuation β are obtainedaAnd βb
6) PFD is worked asaAnd PFDbIn activation node when being all SPC nodes, two nodes are collectively referred to as SPC-P nodes,.Work as SPC-P Node is activated, PFDaAnd PFDbAccording to formula (15) (16) (17) (18) (19) independent interpretation, two subcode valuation β are obtained respectivelya And βb
7) PFD is worked asaIn activation node be RATE0-RATE1 nodes, PFDbIn activation node be SPC nodes when, two section Point is collectively referred to as SPCB1 nodes.When SPCB1 nodes are activated, PFDaUsing the intermediate value alpha of RATE0-RATE1 nodes as F computings A F computing, operation result α are done in inputaRepresent.PFDbA F is using the intermediate value alpha of SPC nodes as the input of F computings Computing, operation result αbRepresent.By αaAnd αbCalculate α as the input of formula (18), using α as formula (19) input, it is public The output β of formula (19)aUse βa0Represent, another output β of formula (19)bUse βb0Represent.
PFD afterwardsaBy αaAnd βa0A G operation is done as the input of G operation, is the rule that 0 negative is 1 according to positive number, The result of G operation is converted into the sequence containing only 0,1, β is useda1Represent, PFDbBy αbAnd βb0A G is as the input of G operation Computing, is the regular sequence being converted into operation result containing only 0,1 that 0 negative is 1 also according to positive number, uses βb1Represent.Will [βa0a1] used as the input of formula (20), the output of formula (20) is exactly the β value of RATE0-RATE1 nodes, by [βb0b1] make It is the input of formula (21), the output of formula (21) is exactly the β value of SPC nodes.
8) PFD is worked asaIn activation node be REP nodes, PFDbIn activation node be SPC nodes when, two nodes are collectively referred to as SPCB2 nodes.When SPCB2 nodes are activated, PFDaA F computing is done using the intermediate value alpha of REP nodes as the input of F computings, Operation result αaRepresent.PFDbA F computing, operation result α are done using the intermediate value alpha of SPC nodes as the input of F computingsb Represent.By αaAnd αbAs formula (18) input calculate α, using α as formula (19) input, the output β of formula (19)aWith βa0Represent, another output β of formula (19)bUse βb0Represent.
PFD afterwardsaBy αaAnd βa0A G operation, PFD are done as the input of G operationbBy αbAnd βb0As the input of G operation Do a G operation.Bring the result of two G operations into formula (12), calculated after formula (12), recycle formula (13) (14) (15) (16) calculate the β of REP nodes and SPC nodes, and β is used respectivelya0And βb0Represent.By βa0As the input of formula (20), The output of formula (20) is exactly the β value of REP nodes, by βb0Used as the input of formula (21), the output of formula (21) is exactly SPC sections The β value of point.
When OTHER type nodes are activated, decoder calculates the intermediate value alpha of next activation node, next to decode Node is prepared.
Step 5, when the activation node in decoder PFDa and PFDb is RATE0, RATE1, REP, SPC, by the node β value is multiplied by generator matrix G and obtains local code word valuation u, completes a decoding for activation node;The matrix Its Middle m=log2nv,The m Kronecker product of F is represented,B is inverted sequence retracing sequence.
Step 6, decoder PFDa and PFDbActivation node number is updated, next node is activated;
Step 7, repeat step four to step 6, all of node is activated into two decoding trees;
Step 8, by decoder PFDaAll of local code word valuation, by the sequential concatenation for obtaining, is exactly decoder PFDa's Code word valuation, by decoder PFDbAll of local code word valuation, by the sequential concatenation for obtaining, is exactly decoder PFDbCode word estimate Value.By decoder PFDaCode word valuation and decoder PFDbCode word valuation XOR, and replace decoder PFDaCode word Valuation.
Step 9, using the code word valuation of decoder PFDa as sequenceThe first half, i.e.,The code of decoder PFDb Word valuation is used as sequenceLater half, i.e.,Merge two code word valuations of decoder, obtain sequenceI.e.Step Rapid ten, output sequenceThe decoding of one frame channel α data terminates.
A kind of code translator for realizing the interpretation method, including:Channel α memories, intermediate value alphaaMemory, centre Value αbMemory, subcode valuation βaMemory, subcode valuation βbMemory, GaMultiply generator matrix module, GbMultiply generator matrix module, Composite module, controller and parallel decoder PFDaAnd PFDb
The channel α that channel α memories are received points for two parts are respectively fed to intermediate value alphaaMemory and intermediate value alphabStorage Device,
Intermediate value alphaaMemory and intermediate value alphabMemory is respectively used to the intermediate value alpha in storage computation processaAnd median αb
Subcode valuation βaMemory and subcode valuation βaMemory is respectively used to the subcode valuation β in storage computation processaWith Subcode valuation βa
GaMultiply generator matrix module and GbMultiply generator matrix module to be respectively used to generator matrix G and obtain matrix G to estimate with subcode Value βaWith subcode valuation βaProduct, i.e., respective local code word valuation u;
Module is by GaMultiply generator matrix module and GbThe local code word valuation u for multiplying the acquisition of generator matrix module merges, and exports sequence Row
Parallel decoder PFDaAnd PFDbIntermediate value alpha is read respectivelyaMemory, intermediate value alphabMemory, subcode valuation βa Memory and subcode valuation βaIntermediate value alpha in memorya, intermediate value alphabMemory, subcode valuation βaWith subcode valuation βa, and will The activation node intermediate value alpha being calculatedaAnd intermediate value alphabIt is stored in intermediate value alphaaMemory and intermediate value alphabMemory, by subcode Valuation βaWith subcode valuation βaIt is stored in subcode valuation βaMemory and subcode valuation βaMemory;
Controller is used for the process for controlling other modules that decoding is completed according to the interpretation method.
Parallel decoder PFDaAnd PFDbIn include following computing framework:
1) F computings are used for asking the α values of the activation left child of node, its hardware structure as shown in Fig. 2 two adjacent α values of selection Symbol do XOR, as the symbol of output, select less absolute value as the value bit of output.
2) G operation is used for obtaining the α values of the activation right child of node, and hardware structure is as shown in Figure 3.G operation has three parameters, Except activation node two α values in itself, in addition it is also necessary to which the β value of left child's feedback is βl.β value is different, to two computings of α not Together, when β is 0, two α are added, and when β is 1, two α subtract each other.
3) C computings will activate the β that the left child's feedback of node is comelThe β come with right child feedbackrCalculate the β value of itself, hardware Framework is as shown in figure 4, the β value of wherein even bit is βlWith βrXOR, the β value and β of odd bitsrIt is equal.
4) REP and REPB computings are respectively intended to calculate the β value of REP nodes and REPB nodes, are both accumulating operations, firmly Part framework is as shown in figure 5, according to REP nodes and the special construction of REPB nodes, all α values summation to activating node, to asking Sign bit is taken with result, is the β value for activating node, its β value is full 0 or complete 1 sequence.
5) SPC computings and RATE1B computings is respectively intended to ask the β value of SPC nodes and RATE1B nodes, is saved according to RATE1B Point special construction, it is substantially a SPC node more long, thus with SPC computing identical hardware structures, such as scheme Shown in 6.The sign bit of input is obtained first, and even-odd check is carried out to it, if it is activation node to meet verification then symbol position β value, if being unsatisfactory for verification, the sign bit minimum to absolute value enters to negate, result of the inverted as activation node β Value.
6) SPCB1 computings are used for calculating the β value of SPCB1 nodes, and its hardware structure is as shown in fig. 7, the structure of SPCB1 nodes More complicated, it is necessary first to which that SPCB1 nodes are splitted into a REP node, a RATE1 node is counted respectively by F and G operation Two α values of node are calculated, then the sign bit of the result of REP computings and G operation is merged into final β value.
7) SPCB2 computings are used for calculating the β value of SPCB2 nodes, and its hardware structure is as shown in Figure 8, it is necessary first to by one SPCB2 nodes split into a REP node and a SPC node, and two α of node are calculated respectively using F computings and G operation Value, is calculating two β value of node, by merging the final β value for obtaining activation node according to REP computings and SPC computings.
Beneficial effects of the present invention:
The interpretation method of polarization code disclosed by the invention, for the shortcoming of Fast-SSC algorithms decoding latency high, it is proposed that Parallel fast method, is made up of two parallel Fast-SSC decoders, effectively reduces the decoding latency of Fast-SSC algorithms. There is the identical bit error rate with Fast-SSC, but decoding speed is than Fast-SSC algorithm faster.When two Fast-SSC decoders When parallel, degree of parallelism improves 40% or so than Fast-SSC algorithm.
Brief description of the drawings
Fig. 1 parallel polarization decoder framework;
The hardware structure of Fig. 2 F computings;
The hardware structure of Fig. 3 G operations;
The hardware structure of Fig. 4 C computings;
The hardware structure of Fig. 5 REP and REPB computings;
The hardware structure of Fig. 6 SPC and RATE1B computings;
The hardware structure of Fig. 7 SPCB1 computings;
The hardware structure of Fig. 8 SPCB2 computings;
Fig. 9 parallel polarization code decoding flow chart;
Figure 10 RATE0-P node schematic diagrames;
Figure 11 RATE1-P node schematic diagrames;
Figure 12 RATE1N node schematic diagrames;
Figure 13 REP-P node schematic diagrames;
Figure 14 REPN node schematic diagrames;
Figure 15 SPC node schematic diagrames;
Figure 16 SPCB1 nodes and interpretation method schematic diagram;
Figure 17 SPCB2 nodes and interpretation method schematic diagram;
Figure 18 bit error rate curves;
Specific embodiment
Parallel polarization code coding method in the present embodiment to be proposed, as shown in figure 9, comprising the following steps that:
The present embodiment code length N=1024, code check R=0.5;Positional information
A=[00,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 000000000 00000000000000000000000000000000000000000000000000000000000000100000000000000 00000000000000000000000000000000000000000000000001000000000000000000000000000 00001000000000001011100010111011111110000000000000000000000000000000000000000 00000000000000000000011100000000000000000000000100010111000000010001011100111 11111111111000000000000000100000001000111110000001101111111011111111111111100 01011101111111011111111111111101111111111111111111111111111111000000000000000 00000000000000000000000000000000100000001000101110000000000000001000000010111 11110000011101111111011111111111111100000000000001110001011101111111000101110 11111111111111111111111000111111111111111111111111111111111111111111111111111 11111111110000000100010111000101111111111100111111111111111111111111111111011 11111111111111111111111111111111111111111111111111111111111110111111111111111 11111111111111111111111111111111111111111111111111111111111111111111111111111 11111111111111111111111111111111111];
Step one, structure decoding tree, two sequences are split into by sequence A by parity bit
Aa=[00,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 00000000 00000000000000000000000000000000000000000000000000000001000101110000000000000 00000000000000000010000000000000001000000010111111100000000000000110001011101 11111100010111011111110111111111111111000000000000000000000000000000010000000 00000011100010111011111110000000100010111000101111111111100111111111111111111 11111111111100000001000111110111111111111111011111111111111111111111111111110 111111111111111111111111111111111111111111111111111111111111111];
Ab=[00,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 00000000 00000000000000000000000000000000000000000000000000000001000101110000000000000 00000000000000000010000000000000001000000010111111100000000000000110001011101 11111100010111011111110111111111111111000000000000000000000000000000010000000 00000011100010111011111110000000100010111000101111111111100111111111111111111 11111111111100000001000111110111111111111111011111111111111111111111111111110 111111111111111111111111111111111111111111111111111111111111111];
In AaIn 0 position place fixed bit node, 1 position placement information position node, with 512 nodes for placing For leaf builds a complete binary tree Ta, in AbIn 0 position place fixed bit node, 1 position placement information position node, With 512 nodes for placing a complete binary tree T is built as leafb;Two constructed binary tree TaAnd TbIt is respectively two Individual parallel fast decoder PFDaAnd PFDbDecoding tree;Father node in two decoding trees is according to child nodes type definition;
In two decoding trees, when the leaf of node is all busy hour fixed, node is RATE0 nodes;When the leaf of node When being all information bit, node is RATE1 nodes;When only first, the leaf of node is fixed bit, when remaining position is information bit, Node is SPC nodes;When leaf only last position of node is information bit, remaining position is busy hour fixed, and node is REP sections Point.When the leaf half of node is fixed bit, when half is information bit, node is RATE0-RATE1 nodes;Remove above-mentioned 5 class Node and its subtree, remaining node are OTHER type nodes.TaAnd TbIn node it is as shown in table 1.
Table 1
Node type Ta Tb
RATE0 9 10
RATE1 22 24
REP 14 13
SPC 15 14
RATE0-RATE1 2 0
OTHER 59 60
Step 2, decoder receive a frame channel α data, and the channel α is a sequence, the length of channel α and decoding The equal length of the Polar code words for using, is all 1024, and its value is (α0, α1…α1023)。
Step 3, the first half (α using channel α0…α511) initialization decoding tree Ta, using latter half data (α512… α1023) initialization decoding tree Tb, decoding tree TaFor parallel fast decoder PFDaDecoding, decoding tree TbFor quickly translating parallel Code device PFDbDecoding.
Step 4, decoder PFDaAnd PFDbBy root node, two decodings are activated simultaneously according to the order of depth-first The node of tree;
The input of root node is channel α, and the input of other nodes is intermediate value alpha in addition to root node, intermediate value alpha by F computings, As shown in formula (1), or G operation, as shown in formula (2), obtain.
Intermediate value alpha is input value when each node enters row decoding in decoding tree, and intermediate value alpha is a sequence, intermediate value alpha The sequence length n of sequence length and activation nodevIt is equal.
In formula (1) and formula (2), αvRepresent the intermediate value alpha of activation node, αlThe intermediate value alpha of the activation left child of node is represented, αrRepresent the intermediate value alpha of the activation right child of node.The output for activating node is the subcode valuation of the node, i.e. sequence β, its length With the equal length of the node, leaf number of the node's length equal to the node.In formula (2), βlRepresent the activation left child of node Subcode valuation.
When RATE0, RATE1, REP or SPC node in two decoding trees are activated, activated according in two decoding trees The type of node, decoder selects the subcode valuation β of different interpretation method calculate nodes:
1) PFD is worked asaAnd PFDbIn activation node when being all RATE0 nodes, two nodes are collectively referred to as RATE0-P nodes;This When, PFDaAnd PFDbIn the subcode valuation β of the node be judged as simultaneously shown in 0, i.e. formula (10).
βa[i]=βb[i]=0,0≤i<nv (10)
2) PFD is worked asaAnd PFDbIn activation node when being all RATE1 nodes, two nodes are collectively referred to as RATE1-P nodes;When RATE1-P nodes are activated, PFDaAnd PFDbIndependent interpretation is carried out according to formula (11), two subcode valuation β are obtained respectivelyaAnd βb
3) PFD is worked asaIn activation node be SPC nodes, PFDbIn activation node be RATE1 nodes when, two nodes are collectively referred to as It is RATE1B nodes, when RATE1B nodes are activated, node is accordingly activated in combining two decoders according to formula (12) first Intermediate value alpha, carries out hard decision to the intermediate value alpha that combination is obtained afterwards, and as shown in formula (13), court verdict sequence HD is represented. Because hard decision only has 0 and 1 two kind of result, thus sequence HD be one containing only 0,1 sequence.Court verdict is carried out very afterwards 1 number in even parity check, i.e. detection sequence HD, as shown in formula (14), check results are represented with parity.If there is even number in HD Individual 1, that is, meet even-odd check, then hard decision result is exactly the subcode valuation β of node, if there is odd number 1 in HD, that is, is unsatisfactory for Even-odd check, then find the court verdict of the minimum intermediate value alpha of absolute value, and the court verdict is carried out to negate computing, if The court verdict is 0, and 1 is changed into after negating, if the court verdict is 1,0 is changed into after negating.Negating the HD sequences after computing is The subcode valuation β of the node, as shown in formula (15) and formula (16), wherein j represents the label of the minimum intermediate value alpha of absolute value.
α=[αa αb] (12)
J=argiMin | α [i] |, 0≤i<nv (15)
4) PFD is worked asaAnd PFDbIn activation node when being all REP nodes, two nodes are collectively referred to as REP-P nodes, work as REP-P When node is activated, PLDaAnd PLDbAccording to formula (17) independent interpretation, two subcode valuation β are obtained respectivelyaAnd βb
5) PFD is worked asaIn activation node be RATE0 nodes, PFDbIn activation node be REP nodes when, two nodes are collectively referred to as It is REPB nodes, the decoding result of two REPB nodes is identical, is to two nodes totally 2 × nvThe hard decision of individual intermediate value alpha sum, According to formula (18) and formula (19), two subcode valuation β are obtainedaAnd βb
6) PFD is worked asaAnd PFDbIn activation node when being all SPC nodes, two nodes are collectively referred to as SPC-P nodes,.Work as SPC-P Node is activated, PFDaAnd PFDbAccording to formula (15) (16) (17) (18) (19) independent interpretation, two subcode valuation β are obtained respectivelya And βb
7) PFD is worked asaIn activation node be RATE0-RATE1 nodes, PFDbIn activation node be SPC nodes when, two section Point is collectively referred to as SPCB1 nodes.When SPCB1 nodes are activated, PFDaUsing the intermediate value alpha of RATE0-RATE1 nodes as F computings A F computing, operation result α are done in inputaRepresent.PFDbA F is using the intermediate value alpha of SPC nodes as the input of F computings Computing, operation result αbRepresent.By αaAnd αbCalculate α as the input of formula (18), using α as formula (19) input, it is public The output β of formula (19)aUse βa0Represent, another output β of formula (19)bUse βb0Represent.
PFD afterwardsaBy αaAnd βa0A G operation is done as the input of G operation, is the rule that 0 negative is 1 according to positive number, The result of G operation is converted into the sequence containing only 0,1, β is useda1Represent, PFDbBy αbAnd βb0A G is as the input of G operation Computing, is the regular sequence being converted into operation result containing only 0,1 that 0 negative is 1 also according to positive number, uses βb1Represent.Will [βa0a1] used as the input of formula (20), the output of formula (20) is exactly the β value of RATE0-RATE1 nodes, by [βb0b1] make It is the input of formula (21), the output of formula (21) is exactly the β value of SPC nodes.
8) PFD is worked asaIn activation node be REP nodes, PFDbIn activation node be SPC nodes when, two nodes are collectively referred to as SPCB2 nodes.When SPCB2 nodes are activated, PFDaA F computing is done using the intermediate value alpha of REP nodes as the input of F computings, Operation result αaRepresent.PFDbA F computing, operation result α are done using the intermediate value alpha of SPC nodes as the input of F computingsb Represent.By αaAnd αbAs formula (18) input calculate α, using α as formula (19) input, the output β of formula (19)aWith βa0Represent, another output β of formula (19)bUse βb0Represent.
PFD afterwardsaBy αaAnd βa0A G operation, PFD are done as the input of G operationbBy αbAnd βb0As the input of G operation Do a G operation.Bring the result of two G operations into formula (12), calculated after formula (12), recycle formula (13) (14) (15) (16) calculate the β of REP nodes and SPC nodes, and β is used respectivelya0And βb0Represent.By βa0As the input of formula (20), The output of formula (20) is exactly the β value of REP nodes, by βb0Used as the input of formula (21), the output of formula (21) is exactly SPC sections The β value of point.
When OTHER type nodes are activated, decoder calculates the intermediate value alpha of next activation node, next to decode Node is prepared.
Step 5, when the activation node in PFDa and PFDb is RATE0, RATE1, REP, SPC, the node β value is multiplied Local code word valuation u is obtained with generator matrix G, a decoding for activation node is completed;The matrixWherein m= log2nv,The m Kronecker product of F is represented,B is inverted sequence retracing sequence.
Step 6, decoder PFDa and PFDbActivation node number is updated, next node is activated;
Step 7, repeat step four to step 6, all of node is activated into two decoding trees;
Step 8, by decoder PFDaAll of local code word valuation, by the sequential concatenation for obtaining, is exactly decoder PFDa's Code word valuation, by decoder PFDbAll of local code word valuation, by the sequential concatenation for obtaining, is exactly decoder PFDbCode word estimate Value.By PFDaCode word valuation and decoder PFDbCode word valuation XOR, and replace decoder PFDaCode word valuation.
Step 9, by decoder PFDaCode word valuation as sequenceThe first halfDecoder PFDbCode word Valuation is used as sequenceLater halfMerge two code word valuations of decoder, obtain sequenceI.e.
Step 10, output sequenceThe decoding of one frame channel α data terminates.
A kind of framework for realizing the decoder of the interpretation method employed in the present embodiment as shown in figure 1, including: Channel α memories, intermediate value alphaaMemory, intermediate value alphabMemory, subcode valuation βaMemory, subcode valuation βbMemory, Ga Multiply generator matrix module, GbMultiply generator matrix module, composite module, controller and parallel decoder PFDaAnd PFDb
The channel α that channel α memories are received points for two parts are respectively fed to intermediate value alphaaMemory and intermediate value alphabStorage Device,
Intermediate value alphaaMemory and intermediate value alphabMemory is respectively used to the intermediate value alpha in storage computation processaAnd median αb
Subcode valuation βaMemory and subcode valuation βaMemory is respectively used to the subcode valuation β in storage computation processaWith Subcode valuation βa
GaMultiply generator matrix module and GbMultiply generator matrix module to be respectively used to generator matrix G and obtain matrix G to estimate with subcode Value βaWith subcode valuation βaProduct, i.e., respective local code word valuation u;
Module is by GaMultiply generator matrix module and GbThe local code word valuation u for multiplying the acquisition of generator matrix module merges, and exports sequence Row
Parallel decoder PFDaAnd PFDbIntermediate value alpha is read respectivelyaMemory, intermediate value alphabMemory, subcode valuation βa Memory and subcode valuation βaIntermediate value alpha in memorya, intermediate value alphabMemory, subcode valuation βaWith subcode valuation βa, and will The activation node intermediate value alpha being calculatedaAnd intermediate value alphabIt is stored in intermediate value alphaaMemory and intermediate value alphabMemory, by subcode Valuation βaWith subcode valuation βaIt is stored in subcode valuation βaMemory and subcode valuation βaMemory;
Controller is used for the process for controlling other modules that decoding is completed according to the interpretation method.
Parallel decoder PFDaAnd PFDbIn include following computing framework:
1) F computings are used for asking the α values of the activation left child of node, its hardware structure as shown in Fig. 2 two adjacent α values of selection Symbol do XOR, as the symbol of output, select less absolute value as the value bit of output.
2) G operation is used for obtaining the α values of the activation right child of node, and hardware structure is as shown in Figure 3.G operation has three parameters, Except activation node two α values in itself, in addition it is also necessary to which the β value of left child's feedback is βl.β value is different, to two computings of α not Together, when β is 0, two α are added, and when β is 1, two α subtract each other.
3) C computings will activate the β that the left child's feedback of node is comelThe β come with right child feedbackrCalculate the β value of itself, hardware Framework is as shown in figure 4, the β value of wherein even bit is βlWith βrXOR, the β value and β of odd bitsrIt is equal.
4) REP and REPB computings are respectively intended to calculate the β value of REP nodes and REPB nodes, are both accumulating operations, firmly Part framework is as shown in figure 5, according to REP nodes and the special construction of REPB nodes, all α values summation to activating node, to asking Sign bit is taken with result, is the β value for activating node, its β value is full 0 or complete 1 sequence.
5) SPC computings and RATE1B computings is respectively intended to ask the β value of SPC nodes and RATE1B nodes, is saved according to RATE1B Point special construction, it is substantially a SPC node more long, thus with SPC computing identical hardware structures, such as scheme Shown in 6.The sign bit of input is obtained first, and even-odd check is carried out to it, if it is activation node to meet verification then symbol position β value, if being unsatisfactory for verification, the sign bit minimum to absolute value enters to negate, result of the inverted as activation node β Value.
6) SPCB1 computings are used for calculating the β value of SPCB1 nodes, and its hardware structure is as shown in fig. 7, the structure of SPCB1 nodes More complicated, it is necessary first to which that SPCB1 nodes are splitted into a REP node, a RATE1 node is counted respectively by F and G operation Two α values of node are calculated, then the sign bit of the result of REP computings and G operation is merged into final β value.
7) SPCB2 computings are used for calculating the β value of SPCB2 nodes, and its hardware structure is as shown in Figure 8, it is necessary first to by one SPCB2 nodes split into a REP node and a SPC node, and two α of node are calculated respectively using F computings and G operation Value, is calculating two β value of node, by merging the final β value for obtaining activation node according to REP computings and SPC computings.
Compliance test result
The bit error rate of the inventive method is close with Fast-SSC algorithms and Parallel-SC algorithms, bit error rate curve As shown in figure 18.
The characteristics of the inventive method has throughput high and postpones small simultaneously.Parallel polarization code coding method is defined to translate Shown in growth rate T such as formulas (22) of the code degree of parallelism compared with Fast-SSC, when 2 decoder PFD are split into, degree of parallelism increases Rate long is as shown in table 2.
Table 2

Claims (3)

1. a kind of parallel polarization code coding method, comprises the following steps that:
Step one, structure decoding tree, by length for the sequence A of N splits into two sequence A by parity bitaAnd Ab, in AaIn 0 position Placement location fixed bit node, 1 position placement information position node, one is built completely with the N/2 node for placing as leaf Binary tree Ta, in AbIn 0 position place fixed bit node, 1 position placement information position node, with the N/2 node for placing For leaf builds a complete binary tree Tb;Two constructed binary tree TaAnd TbIt is respectively two parallel fast decoders PFDaAnd PFDbDecoding tree;Father node in two decoding trees is according to child nodes type definition;
In two decoding trees, when the leaf of node is all busy hour fixed, node is RATE0 nodes;When the leaf of node is all During information bit, node is RATE1 nodes;When only first, the leaf of node is fixed bit, when remaining position is information bit, node It is SPC nodes;When leaf only last position of node is information bit, remaining position is busy hour fixed, and node is REP nodes;When The leaf half of node is fixed bit, and when half is information bit, node is RATE0-RATE1 nodes;Remove above-mentioned 5 class node and Its subtree, remaining node is OTHER type nodes;
Step 2, decoder receive a frame channel α data, and the channel α is a sequence, and the length of channel α and decoding are used Polar code words equal length, be all N, its value is (α0, α1…αN-1);
Step 3, the first half (α using channel α0…αN/2-1) initialization decoding tree Ta, using latter half data (αN/2…αN-1) Initialization decoding tree Tb, decoding tree TaFor parallel fast decoder PFDaDecoding, decoding tree TbFor parallel fast decoder PFDbDecoding;
Step 4, decoder PFDaAnd PFDbBy root node, two decoding trees are activated simultaneously according to the order of depth-first Node;
The input of root node is channel α, and the input of other nodes is intermediate value alpha in addition to root node, intermediate value alpha by F computings, such as formula (1) shown in, or G operation, as shown in formula (2), obtain;
Intermediate value alpha is input value when each node enters row decoding in decoding tree, and intermediate value alpha is a sequence, the sequence of intermediate value alpha The sequence length n of length and activation nodevIt is equal;
&alpha; 1 &lsqb; i &rsqb; = F ( &alpha; v &lsqb; 2 * i &rsqb; , &alpha; v &lsqb; 2 * i + 1 &rsqb; ) = s i g n ( &alpha; v &lsqb; 2 * i &rsqb; ) s i g n ( &alpha; v &lsqb; 2 * i + 1 &rsqb; ) min ( | &alpha; v &lsqb; 2 * i &rsqb; | , | &alpha; v &lsqb; 2 * i + 1 &rsqb; | ) , 0 &le; i < n v - - - ( 1 )
&alpha; r &lsqb; i &rsqb; = G ( &alpha; v &lsqb; 2 * i &rsqb; , &alpha; v &lsqb; 2 * i + 1 &rsqb; , &beta; l &lsqb; i &rsqb; ) = &alpha; v &lsqb; 2 * i + 1 &rsqb; - ( 2 &beta; l &lsqb; i &rsqb; - 1 ) &alpha; v &lsqb; 2 * i &rsqb; , 0 &le; i < n v - - - ( 2 )
In formula (1) and formula (2), αvRepresent the intermediate value alpha of activation node, αlRepresent the intermediate value alpha of the activation left child of node, αrTable Show the intermediate value alpha of the activation right child of node;Activate node output be the node subcode valuation, i.e. sequence β, its length and should The equal length of node, the node's length is equal to the leaf number of the node;In formula (2), βlRepresent the son of the activation left child of node Code valuation;
When RATE0, RATE1, REP or SPC node in two decoding trees are activated, node is activated according in two decoding trees Type, decoder selects the subcode valuation β of different interpretation method calculate nodes
1) PFD is worked asaAnd PFDbIn activation node when being all RATE0 nodes, two nodes are collectively referred to as RATE0-P nodes;Now, PFDaAnd PFDbIn the subcode valuation β of the node be judged as simultaneously shown in 0, i.e. formula (10);
βa[i]=βb[i]=0,0≤i<nv (10)
2) PFD is worked asaAnd PFDbIn activation node when being all RATE1 nodes, two nodes are collectively referred to as RATE1-P nodes;Work as RATE1- P node is activated, PFDaAnd PFDbIndependent interpretation is carried out according to formula (11), two subcode valuation β are obtained respectivelyaAnd βb
&beta; a &lsqb; i &rsqb; = 0 , i f &alpha; a &lsqb; i &rsqb; &GreaterEqual; 0 1 , o t h e r w i s e &beta; b &lsqb; i &rsqb; = 0 , i f &alpha; b &lsqb; i &rsqb; &GreaterEqual; 0 1 , o t h e r w i s e , 0 &le; i < n v - - - ( 11 )
3) PFD is worked asaIn activation node be SPC nodes, PFDbIn activation node be RATE1 nodes when, two nodes are collectively referred to as RATE1B nodes, when RATE1B nodes are activated, first according in corresponding activation node in formula (12) two decoders of combination Between value α, hard decision is carried out to the intermediate value alpha that obtains of combination afterwards, as shown in formula (13), court verdict sequence HD is represented;By There was only 0 and 1 two kind of result in hard decision, thus sequence HD be one containing only 0,1 sequence;Odd even is carried out to court verdict afterwards Verification, i.e. 1 number in detection sequence HD, as shown in formula (14), check results are represented with parity;If there is even number in HD 1, that is, meet even-odd check, then hard decision result is exactly the subcode valuation β of node, if there is odd number 1 in HD, that is, is unsatisfactory for strange Even parity check, then find the court verdict of the minimum intermediate value alpha of absolute value, and the court verdict is carried out to negate computing, if should Court verdict is 0, and 1 is changed into after negating, if the court verdict is 1,0 is changed into after negating;The HD sequences after computing are negated to be somebody's turn to do The subcode valuation β of node, as shown in formula (15) and formula (16), wherein j represents the label of the minimum intermediate value alpha of absolute value;
α=[αa αb] (12)
H D &lsqb; i &rsqb; = 0 , &alpha; &lsqb; i &rsqb; &GreaterEqual; 0 1 , &alpha; &lsqb; i &rsqb; < 0 , 0 &le; i < n v - - - ( 13 )
p a r i t y = &CirclePlus; i = 0 N i - 1 H D &lsqb; i &rsqb; , 0 &le; i < n v - - - ( 14 )
J=argiMin | α [i] |, 0≤i<nv (15)
&beta; &lsqb; i &rsqb; = H D &lsqb; i &rsqb; &CirclePlus; p a r i t y , i = j H D &lsqb; i &rsqb; , o t h e r w i s e , 0 &le; i < n v - - - ( 16 )
4) PFD is worked asaAnd PFDbIn activation node when being all REP nodes, two nodes are collectively referred to as REP-P nodes, when REP-P nodes When being activated, PLDaAnd PLDbAccording to formula (17) independent interpretation, two subcode valuation β are obtained respectivelyaAnd βb
&beta; a &lsqb; i &rsqb; = 0 , &Sigma; i = 0 n v &alpha; a &lsqb; i &rsqb; &GreaterEqual; 0 1 , o t h e r w i s e &beta; b &lsqb; i &rsqb; = 0 , &Sigma; i = 0 n v &alpha; b &lsqb; i &rsqb; &GreaterEqual; 0 1 , o t h e r w i s e , 0 &le; i < n v - - - ( 17 )
5) PFD is worked asaIn activation node be RATE0 nodes, PFDbIn activation node be REP nodes when, two nodes are collectively referred to as REPB nodes, the decoding result of two REPB nodes is identical, is to two nodes totally 2 × nvThe hard decision of individual intermediate value alpha sum, root According to formula (18) and formula (19), two subcode valuation β are obtainedaAnd βb
&alpha; = &Sigma; i = 0 n v &alpha; a &lsqb; i &rsqb; + &Sigma; i = 0 n v &alpha; b &lsqb; i &rsqb; , 0 &le; i < n v - - - ( 18 )
&beta; a &lsqb; i &rsqb; = &beta; b &lsqb; i &rsqb; = 0 , &alpha; &GreaterEqual; 0 1 , o t h e r w i s e , 0 &le; i < n v - - - ( 19 )
6) PFD is worked asaAnd PFDbIn activation node when being all SPC nodes, two nodes are collectively referred to as SPC-P nodes,;When SPC-P nodes It is activated, PFDaAnd PFDbAccording to formula (15) (16) (17) (18) (19) independent interpretation, two subcode valuation β are obtained respectivelyaWith βb
7) PFD is worked asaIn activation node be RATE0-RATE1 nodes, PFDbIn activation node be SPC nodes when, two nodes close Referred to as SPCB1 nodes;When SPCB1 nodes are activated, PFDaUsing the intermediate value alpha of RATE0-RATE1 nodes as F computings input Do a F computing, operation result αaRepresent;PFDbA F computing is done using the intermediate value alpha of SPC nodes as the input of F computings, Operation result αbRepresent;By αaAnd αbAs formula (18) input calculate α, using α as formula (19) input, formula (19) output βaUse βa0Represent, another output β of formula (19)bUse βb0Represent;
PFD afterwardsaBy αaAnd βa0A G operation is done as the input of G operation, is the rule that 0 negative is 1 according to positive number, G is transported The result of calculation is converted into the sequence containing only 0,1, uses βa1Represent, PFDbBy αbAnd βb0A G operation is done as the input of G operation, It is the regular sequence being converted into operation result containing only 0,1 that 0 negative is 1 also according to positive number, uses βb1Represent;By [βa0a1] Used as the input of formula (20), the output of formula (20) is exactly the β value of RATE0-RATE1 nodes, by [βb0b1] as formula (21) input, the output of formula (21) is exactly the β value of SPC nodes;
&beta; a &lsqb; 2 i &rsqb; = = &beta; ^ a &lsqb; i &rsqb; &CirclePlus; &beta; ^ a &lsqb; i + n v / 2 &rsqb; &beta; a &lsqb; 2 i + 1 &rsqb; = &beta; ^ a &lsqb; i + n v / 2 &rsqb; , 0 &le; i < n v / 2 - - - ( 20 )
&beta; b &lsqb; 2 i &rsqb; = &beta; ^ b &lsqb; i &rsqb; &CirclePlus; &beta; ^ b &lsqb; i + n v / 2 &rsqb; &beta; b &lsqb; 2 i + 1 &rsqb; = &beta; ^ b &lsqb; i + n v / 2 &rsqb; , 0 &le; i < n v / 2 - - - ( 21 )
8) PFD is worked asaIn activation node be REP nodes, PFDbIn activation node be SPC nodes when, two nodes are collectively referred to as SPCB2 nodes;When SPCB2 nodes are activated, PFDaA F computing is done using the intermediate value alpha of REP nodes as the input of F computings, Operation result αaRepresent;PFDbA F computing, operation result α are done using the intermediate value alpha of SPC nodes as the input of F computingsb Represent;By αaAnd αbAs formula (18) input calculate α, using α as formula (19) input, the output β of formula (19)aWith βa0Represent, another output β of formula (19)bUse βb0Represent;
PFD afterwardsaBy αaAnd βa0A G operation, PFD are done as the input of G operationbBy αbAnd βb0One is done as the input of G operation Individual G operation;Bring the result of two G operations into formula (12), calculated after formula (12), recycle formula (13) (14) (15) (16) calculate the β of REP nodes and SPC nodes, and β is used respectivelya0And βb0Represent;By βa0As the input of formula (20), formula (20) output is exactly the β value of REP nodes, by βb0Used as the input of formula (21), the output of formula (21) is exactly SPC nodes β value;
When OTHER type nodes are activated, decoder calculates the intermediate value alpha of next activation node, is decoding next node Prepare;
Step 5, as decoder PFDa and PFDbIn activation node when being RATE0, RATE1, REP, SPC, the node β value is multiplied Local code word valuation u is obtained with generator matrix G, a decoding for activation node is completed;The matrixWherein m= log2nv,The Kronecker product of m times is represented,B is inverted sequence retracing sequence;
Step 6, decoder PFDa and PFDbActivation node number is updated, next node is activated;
Step 7, repeat step four to step 6, all of node is activated into two decoding trees;
Step 8, by decoder PFDaAll of local code word valuation, by the sequential concatenation for obtaining, is exactly decoder PFDaCode word Valuation, by decoder PFDbAll of local code word valuation, by the sequential concatenation for obtaining, is exactly decoder PFDbCode word valuation; By decoder PFDaCode word valuation and decoder PFDbCode word valuation XOR, and replace decoder PFDaCode word estimate Value;
Step 9, by decoder PFDaCode word valuation as sequenceThe first half, i.e.,Decoder PFDbCode word estimate Value is used as sequenceLater half, i.e.,Merge two code word valuations of decoder, obtain sequenceI.e.
Step 10, output sequenceThe decoding of one frame channel α data terminates.
2. a kind of code translator for parallel polarization code coding method described in claim 1, it is characterised in that the device bag Include:Channel α memories, intermediate value alphaaMemory, intermediate value alphabMemory, subcode valuation βaMemory, subcode valuation βbStorage Device, GaMultiply generator matrix module, GbMultiply generator matrix module, composite module, controller and parallel decoder PFDaAnd PFDb
The channel α that channel α memories are received points for two parts are respectively fed to intermediate value alphaaMemory and intermediate value alphabMemory,
Intermediate value alphaaMemory and intermediate value alphabMemory is respectively used to the intermediate value alpha in storage computation processaAnd intermediate value alphab
Subcode valuation βaMemory and subcode valuation βaMemory is respectively used to the subcode valuation β in storage computation processaAnd subcode Valuation βa
GaMultiply generator matrix module and GbMultiply generator matrix module to be respectively used to generator matrix G and obtain matrix G and subcode valuation βa With subcode valuation βaProduct, i.e., respective local code word valuation u;
Module is by GaMultiply generator matrix module and GbThe local code word valuation u for multiplying the acquisition of generator matrix module merges, output sequence
Parallel decoder PFDaAnd PFDbIntermediate value alpha is read respectivelyaMemory, intermediate value alphabMemory, subcode valuation βaStorage Device and subcode valuation βbIntermediate value alpha in memorya, intermediate value alphab, subcode valuation βaWith subcode valuation βa, and will be calculated Activation node intermediate value alphaaAnd intermediate value alphabIt is stored in intermediate value alphaaMemory and intermediate value alphabMemory, by subcode valuation βaAnd subcode Valuation βbIt is stored in subcode valuation βaMemory and subcode valuation βbMemory;
Controller is used for the process for controlling other modules that decoding is completed according to the interpretation method.
3. the code translator of parallel polarization code coding method according to claim 2, it is characterised in that described is parallel Decoder PFDaAnd PFDbIn include following computing framework:
1) F computings are used for asking the α values of the activation left child of node, its hardware structure as shown in Fig. 2 two symbols of adjacent α values of selection Number XOR is done, as the symbol of output, select less absolute value as the value bit of output;
2) G operation is used for obtaining the α values of the activation right child of node, and hardware structure is as shown in Figure 3;G operation has three parameters, except Activation node α values in itself, in addition it is also necessary to which the β value of left child's feedback is βl;βlValue is different, and the computing to α is different, when β is 0, two Individual α is added, and when β is 1, two α subtract each other;
3) C computings will activate the β that the left child's feedback of node is comelThe β come with right child feedbackrCalculate the β value of itself, hardware structure As shown in figure 4, the β value of wherein even bit is βlWith βrXOR, the β value and β of odd bitsrIt is equal;
4) REP and REPB computings are respectively intended to calculate the β value of REP nodes and REPB nodes, are both accumulating operation, hardware frame Structure is as shown in figure 5, according to REP nodes and the special construction of REPB nodes, all α values summation to activating node is tied to summation Fruit takes sign bit, is the β value for activating node, and its β value is full 0 or complete 1 sequence;
5) SPC computings and RATE1B computings is respectively intended to ask the β value of SPC nodes and RATE1B nodes, according to RATE1B nodes Special construction, it is substantially a SPC node more long, therefore with SPC computing identical hardware structures, such as Fig. 6 institutes Show;The sign bit of input is obtained first, and even-odd check is carried out to it, if it is the β for activating node to meet verification then symbol position Value, if being unsatisfactory for verification, enters to negate to the minimum sign bit of absolute value, and result of the inverted is used as the β value for activating node;
6) SPCB1 computings are used for calculating the β value of SPCB1 nodes, and its hardware structure is as shown in fig. 7, the structure of SPCB1 nodes compares It is complicated, it is necessary first to SPCB1 nodes to be splitted into a REP node, a RATE1 node calculates two respectively by F and G operation The α values of individual node, then the sign bit of the result of REP computings and G operation is merged into final β value;
7) SPCB2 computings are used for calculating the β value of SPCB2 nodes, and its hardware structure is as shown in Figure 8, it is necessary first to by a SPCB2 Node splits into a REP node and a SPC node, two α values of node is calculated respectively using F computings and G operation, in root Two β value of node are calculated according to REP computings and SPC computings, by merging the final β value for obtaining activation node.
CN201610993556.4A 2016-11-11 2016-11-11 Parallel polar code decoding method and device Active CN106788453B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610993556.4A CN106788453B (en) 2016-11-11 2016-11-11 Parallel polar code decoding method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610993556.4A CN106788453B (en) 2016-11-11 2016-11-11 Parallel polar code decoding method and device

Publications (2)

Publication Number Publication Date
CN106788453A true CN106788453A (en) 2017-05-31
CN106788453B CN106788453B (en) 2020-06-19

Family

ID=58973169

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610993556.4A Active CN106788453B (en) 2016-11-11 2016-11-11 Parallel polar code decoding method and device

Country Status (1)

Country Link
CN (1) CN106788453B (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107947803A (en) * 2017-12-12 2018-04-20 中国石油大学(华东) A kind of method for rapidly decoding of polarization code
CN108418588A (en) * 2018-01-17 2018-08-17 中国计量大学 Low latency polarization code SMS design of encoder
CN109274460A (en) * 2018-09-14 2019-01-25 北京邮电大学 A kind of multi-bit parallel structure serially offsets interpretation method and device
WO2019037782A1 (en) * 2017-08-25 2019-02-28 华为技术有限公司 Decoding method and decoder for polar code
CN109450457A (en) * 2018-08-09 2019-03-08 山东科技大学 A kind of code length freely polarizes code encoding method
WO2019112524A1 (en) * 2017-12-05 2019-06-13 Çankaya Üni̇versi̇tesi̇ High-speed decoder for polar codes
CN110022158A (en) * 2018-01-09 2019-07-16 华为技术有限公司 A kind of interpretation method and device
CN110535477A (en) * 2019-08-30 2019-12-03 山东科技大学 Parallel polarization code coding method
CN110752893A (en) * 2019-10-17 2020-02-04 网络通信与安全紫金山实验室 Approximate decoding method and device for belief propagation of polarization code
CN111404558A (en) * 2019-01-03 2020-07-10 电信科学技术研究院有限公司 Polar code decoding method, decoder and computer storage medium
CN111684726A (en) * 2017-12-11 2020-09-18 高通股份有限公司 Polar code construction with recursive mutually exclusive IDs by removing bit channels
CN112104378A (en) * 2019-06-18 2020-12-18 大唐移动通信设备有限公司 Polar code decoding processing method, device and equipment
US11936401B2 (en) 2019-06-27 2024-03-19 Sanechips Technology Co., Ltd. Polar code decoding method and apparatus, storage medium, and terminal

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6289487B1 (en) * 1997-11-03 2001-09-11 Harris Corporation Efficient modified viterbi decoder
CN104124979A (en) * 2013-04-27 2014-10-29 华为技术有限公司 Polar code decoding method and decoding device
CN105356891A (en) * 2015-11-26 2016-02-24 中国地质大学(武汉) Polarity decoding batch processing method with high resource utilization rate

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6289487B1 (en) * 1997-11-03 2001-09-11 Harris Corporation Efficient modified viterbi decoder
CN104124979A (en) * 2013-04-27 2014-10-29 华为技术有限公司 Polar code decoding method and decoding device
CN105356891A (en) * 2015-11-26 2016-02-24 中国地质大学(武汉) Polarity decoding batch processing method with high resource utilization rate

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019037782A1 (en) * 2017-08-25 2019-02-28 华为技术有限公司 Decoding method and decoder for polar code
WO2019112524A1 (en) * 2017-12-05 2019-06-13 Çankaya Üni̇versi̇tesi̇ High-speed decoder for polar codes
CN111684726A (en) * 2017-12-11 2020-09-18 高通股份有限公司 Polar code construction with recursive mutually exclusive IDs by removing bit channels
CN111684726B (en) * 2017-12-11 2024-03-19 高通股份有限公司 Polar code construction with recursively mutually exclusive ID by removing bit channels
CN107947803A (en) * 2017-12-12 2018-04-20 中国石油大学(华东) A kind of method for rapidly decoding of polarization code
CN110022158A (en) * 2018-01-09 2019-07-16 华为技术有限公司 A kind of interpretation method and device
US11171673B2 (en) 2018-01-09 2021-11-09 Huawei Technologies Co., Ltd. Decoding method and apparatus
CN108418588A (en) * 2018-01-17 2018-08-17 中国计量大学 Low latency polarization code SMS design of encoder
CN108418588B (en) * 2018-01-17 2022-02-11 中国计量大学 Low-delay polar code decoder
CN109450457B (en) * 2018-08-09 2022-05-24 山东科技大学 Code length free polarization code coding method
CN109450457A (en) * 2018-08-09 2019-03-08 山东科技大学 A kind of code length freely polarizes code encoding method
CN109274460A (en) * 2018-09-14 2019-01-25 北京邮电大学 A kind of multi-bit parallel structure serially offsets interpretation method and device
CN109274460B (en) * 2018-09-14 2021-01-08 北京邮电大学 Multi-bit parallel structure serial offset decoding method and device
CN111404558B (en) * 2019-01-03 2023-06-27 大唐移动通信设备有限公司 Polar code decoding method, decoder and computer storage medium
CN111404558A (en) * 2019-01-03 2020-07-10 电信科学技术研究院有限公司 Polar code decoding method, decoder and computer storage medium
CN112104378A (en) * 2019-06-18 2020-12-18 大唐移动通信设备有限公司 Polar code decoding processing method, device and equipment
CN112104378B (en) * 2019-06-18 2024-01-26 大唐移动通信设备有限公司 Polar code decoding processing method, device and equipment
US11936401B2 (en) 2019-06-27 2024-03-19 Sanechips Technology Co., Ltd. Polar code decoding method and apparatus, storage medium, and terminal
CN110535477A (en) * 2019-08-30 2019-12-03 山东科技大学 Parallel polarization code coding method
CN110752893A (en) * 2019-10-17 2020-02-04 网络通信与安全紫金山实验室 Approximate decoding method and device for belief propagation of polarization code

Also Published As

Publication number Publication date
CN106788453B (en) 2020-06-19

Similar Documents

Publication Publication Date Title
CN106788453A (en) A kind of parallel polarization code coding method and device
Yuan et al. Low-latency successive-cancellation list decoders for polar codes with multibit decision
CN102484484B (en) Transmitter, encoding device, receiver, and decoding device
CN109361402B (en) Coding method and encoding device
AU2012321618B2 (en) Apparatus and method for transmitting and receiving data in communication/broadcasting system
US6715120B1 (en) Turbo decoder with modified input for increased code word length and data rate
Ercan et al. On error-correction performance and implementation of polar code list decoders for 5G
CN101026439B (en) Decoding method for increasing Turbo code decoding rate
US8988256B2 (en) Coding method, decoding method, coder, and decoder
CN103269229B (en) A kind of mixed iteration interpretation method of LDPC-RS two dimension product code
CN106888026A (en) Segmentation polarization code coding/decoding method and system based on LSC CRC decodings
CN108847850A (en) A kind of segmentation polarization code coding/decoding method based on CRC-SSCL
CN101904101A (en) Encoder, decoder, encoding method, and decoding method
CN106998208B (en) Code word construction method of variable length Polar code
CN104079380B (en) Distributed type combined information source-channel superposition coding and combined decoding method
JPWO2019130475A1 (en) Error correction coding method and device using channel polarization, decoding method and device
Xiong et al. Symbol-based successive cancellation list decoder for polar codes
CN102340320B (en) Bidirectional and parallel decoding method of convolutional Turbo code
CN103986557A (en) LTE Turbo code parallel block decoding method with low path delay
CN108055107B (en) Information communication method based on puncture polarization code
KR101657912B1 (en) Method of Decoding Non-Binary Low Density Parity Check Codes
CN103957016B (en) Turbo code encoder with low storage capacity and design method of Turbo code encoder
CN111786683B (en) Low-complexity polar code multi-code block decoder
CN103856218B (en) Decoding process method and decoder
KR20150003127A (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check 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