CN102045073A - Method and device for decoding broadcast channel (BCH) code - Google Patents

Method and device for decoding broadcast channel (BCH) code Download PDF

Info

Publication number
CN102045073A
CN102045073A CN2009102055455A CN200910205545A CN102045073A CN 102045073 A CN102045073 A CN 102045073A CN 2009102055455 A CN2009102055455 A CN 2009102055455A CN 200910205545 A CN200910205545 A CN 200910205545A CN 102045073 A CN102045073 A CN 102045073A
Authority
CN
China
Prior art keywords
polynomial
iteration
initial value
coefficient
zero degree
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
CN2009102055455A
Other languages
Chinese (zh)
Other versions
CN102045073B (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.)
Huawei Digital Technologies Chengdu Co Ltd
Original Assignee
Huawei Symantec Technologies Co Ltd
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 Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN 200910205545 priority Critical patent/CN102045073B/en
Publication of CN102045073A publication Critical patent/CN102045073A/en
Application granted granted Critical
Publication of CN102045073B publication Critical patent/CN102045073B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

The embodiment of the invention provides a method and device for decoding a broadcast channel (BCH) code. The method comprises the steps: computing a syndrome according to a receiving code; solving the polynomial of an error position according to the syndrome by an iterative algorithm; confirming the error position according to the polynomial of the error position by a money type search algorithm; and correcting an error value on the confirmed error position to obtain a recovering code. The method and device for decoding the BCH code of the embodiment can optimize a parallel bench mark (BM) iterative algorithm on the resource and the speed by improving the riBM algorithm.

Description

A kind of BCH code interpretation method and device
Technical field
The present invention relates to communication technical field, relate in particular to a kind of BCH code interpretation method and device.
Background technology
At present, NAND (with non-) flash memory has very remarkable advantages in power consumption, speed, data reliability, weight and aspect such as quiet, along with the light and thin notebook computer at whole PC (PersonalComputer, personal computer) market share continues to increase, these advantages of NAND become more attractive, solid state memory disc (SSD, Solid State Disk) based on nand flash memory is progressively entering into these application.
Nand flash memory can be divided into two big framework: single layer cell SLC (Single Level Cell) and multilevel-cell MLC (Multi Level Cell), MLC is because cost is low, capacity is big, but its service behaviour is stable not as SLC, according to statistics, adopting the error rate of MLC nand flash memory (MLC NAND Flash Memory) access data probably is 10 -5,, need to adopt error correcting code ECC (Error Correction Code) technology that many bits (bit) random error is entangled in its realization for guaranteeing the accuracy of reading of data.
At the realization of BCH coding and decoding, decoding is difficult point, commonly used having in all decoding algorithms: Peterson algorithm, Berlekamp-Massey iterative algorithm (being called for short the BM method), Euclid (Euclid) algorithm.Wherein, the Peterson algorithm is suitable for the less decoding of error correction number, and its amount of calculation is maximum in above-mentioned three kinds of algorithms; BM algorithm and Euclid algorithm are applicable to the decoder that the error correction number is bigger, and the Euclid algorithm is understood easily than BM iterative algorithm, but operand is bigger, and than the hardware configuration complexity of BM iterative algorithm.Consider the particularity of binary system BCH code in addition, so in design, adopt the fast and the most frequently used BM iterative algorithm of decoding speed.
The inventor finds in realizing process of the present invention, in the BM iterative algorithm, comprise iBM commonly used (Inversionless Berlecamp-Massey) algorithm and riBM (Reformulation inversionlessBerlecamp-Massey) algorithm, wherein, the riBM algorithm is to the derivation of iBM algorithm and improvement, its critical path shortens to original half, improved the VLSI design performance greatly, but, the riBM algorithm is the parallel BM iterative algorithm that is applicable to the FPGA design that proposes at RS (Reed Solomon) sign indicating number, because the RS sign indicating number is the special case of BCH code, its decode procedure is than BCH code complexity, therefore, if with the riBM algorithm application in the decode procedure of general BCH code, will cause the significant wastage of resource.
Summary of the invention
The embodiment of the invention provides a kind of BCH code interpretation method and device, can realize BCH code decoding taking less FPGA resource and guaranteeing under the prerequisite at a high speed.
The above-mentioned purpose of the embodiment of the invention is achieved by the following technical solution:
A kind of BCH code interpretation method, described method comprises: calculate syndrome according to receiving code; Utilize iterative algorithm according to described syndrome mistake in computation position multinomial; Utilize money formula searching algorithm to determine errors present according to described error location polynomial; Improper value on the described definite errors present is carried out the error correction sign indicating number that is restored.Wherein, utilize iterative algorithm to comprise according to described syndrome mistake in computation position multinomial: it is zero at the initial value of Auxiliary polynomial under the zero degree iteration of initial value under the zero degree iteration and described error location polynomial that error location polynomial is set; The improper value multinomial is set, and the initial value under the zero degree iteration is the coefficient of described syndrome at initial value under the zero degree iteration and the polynomial Auxiliary polynomial of described improper value; It is 1 at the initial value of Auxiliary polynomial under zero degree iteration zero degree power of initial value under the zero degree iteration zero degree power and described error location polynomial that error location polynomial is set; It is 0 that the initial value of iteration coefficient under the zero degree iteration is set; It is 1 that the initial value of iteration restrictive condition under the zero degree iteration is set; The Auxiliary polynomial, iteration coefficient and the iteration restrictive condition that are worth polynomial Auxiliary polynomial, error location polynomial according to the initial value mistake in computation of above-mentioned setting; According to the initial value of above-mentioned setting and according to the polynomial Auxiliary polynomial of improper value of aforementioned calculation acquisition, Auxiliary polynomial, iteration coefficient and the iteration restrictive condition of error location polynomial, mistake in computation value multinomial; Auxiliary polynomial, iteration coefficient and iteration restrictive condition mistake in computation position multinomial according to the initial value of above-mentioned setting and the mistake in computation value multinomial that obtains according to aforementioned calculation, the polynomial Auxiliary polynomial of improper value, error location polynomial obtain error location polynomial.
A kind of BCH code code translator, described device comprises: first computing unit is used for calculating syndrome according to receiving code; Second computing unit is used to utilize iterative algorithm according to described syndrome mistake in computation position multinomial; Determining unit is used to utilize money formula searching algorithm to determine errors present according to described error location polynomial; Error correction unit, the improper value on the errors present that is used for described determining unit is determined are carried out the error correction sign indicating number that is restored.Wherein, second computing unit comprises: module is set, and being used to be provided with error location polynomial is zero at the initial value of Auxiliary polynomial under the zero degree iteration of initial value under the zero degree iteration and described error location polynomial; The improper value multinomial is set, and the initial value under the zero degree iteration is the coefficient of described syndrome at initial value under the zero degree iteration and the polynomial Auxiliary polynomial of described improper value; It is 1 at the initial value of Auxiliary polynomial under zero degree iteration zero degree power of initial value under the zero degree iteration zero degree power and described error location polynomial that error location polynomial is set; It is 0 that the initial value of iteration coefficient under the zero degree iteration is set; It is 1 that the initial value of iteration restrictive condition under the zero degree iteration is set; Control module is used for being worth according to the initial value mistake in computation that the module setting is set Auxiliary polynomial, iteration coefficient and the iteration restrictive condition of polynomial Auxiliary polynomial, error location polynomial; First computing module is used for according to the initial value that the module setting is set and the result of calculation mistake in computation value multinomial of control module; Second computing module is used for obtaining error location polynomial according to the initial value that the module setting is set and the result of calculation mistake in computation position multinomial of the control module and first computing module.
The BCH code interpretation method and the device of the embodiment of the invention according to the characteristics of BCH binary system code system, have carried out 2 optimizations to the riBM interpretation method, and promptly when iteration time r was odd number time, difference λ (r) perseverance was 0, therefore, 2t iteration of iteration can be reduced to t time; And need error correction in the decoding of RS sign indicating number, and for the binary system BCH code, its correction value must be 1, so improper value multinomial ω (r) can be simplified with improper value multinomial ω (r).So, the embodiment of the invention is taking less FPGA resource and is guaranteeing under the situation of realization of High Speed, realized the difficult point in the BCH interpretation method, promptly ask error location polynomial according to syndrome, and, by improvement, make parallel BM iterative algorithm on resource and speed, all obtain optimization to the riBM algorithm.
Description of drawings
Accompanying drawing described herein is used to provide further understanding of the present invention, constitutes the application's a part, does not constitute limitation of the invention.In the accompanying drawings:
Fig. 1 is the BCH code interpretation method flow chart of the embodiment of the invention;
Fig. 2 is the flow chart of step 102 embodiment illustrated in fig. 1;
Fig. 3 is the composition schematic diagram of embodiment of the invention BCH code code translator;
Fig. 4 is that the circuit of first computing module of the embodiment of the invention is formed schematic diagram;
Fig. 5 is the rough schematic view of first computing module shown in Figure 4;
Fig. 6 is that the circuit of a plurality of first computing modules of the embodiment of the invention is formed schematic diagram;
Fig. 7 is that the circuit of the control module of the embodiment of the invention is formed schematic diagram;
Fig. 8 is that the circuit of second computing module of the embodiment of the invention is formed schematic diagram;
Fig. 9 is the rough schematic view of second computing module shown in Figure 6;
Figure 10 is that the circuit of a plurality of second computing modules of the embodiment of the invention is formed schematic diagram;
Figure 11 is that the circuit of second computing unit of the embodiment of the invention is formed schematic diagram.
Embodiment
For the purpose, technical scheme and the advantage that make the embodiment of the invention is clearer,, the embodiment of the invention is described in further details below in conjunction with embodiment and accompanying drawing.At this, illustrative examples of the present invention and explanation thereof are used to explain the present invention, but not as a limitation of the invention.
A kind of BCH code interpretation method flow chart that Fig. 1 provides for the embodiment of the invention, in the present embodiment, error location polynomial is expressed as
Figure B2009102055455D0000041
The Auxiliary polynomial of error location polynomial is expressed as
Figure B2009102055455D0000042
The improper value polynomial table is shown
Figure B2009102055455D0000043
The polynomial Auxiliary polynomial of improper value is expressed as
Figure B2009102055455D0000044
Wherein,
Figure B2009102055455D0000045
Be error location polynomial Λ in the r time iteration (r, z) in z iCoefficient; R is an iterations; I is the power item to dependent variable z; δ i(r) be improper value multinomial Δ in the r time iteration (r, z) in z iCoefficient; b iWhen (r) being the r time iteration, the Auxiliary polynomial B of error location polynomial (r, z) middle z iCoefficient; θ iWhen (r) being the r time iteration, the polynomial Auxiliary polynomial Θ of improper value (r, z) middle z iCoefficient; γ (r) when converting no algorithm for inversion to, the iteration coefficient that multiply by; K (r) is for trying to achieve the restrictive condition of unique solution for assurance in the iteration.Please refer to Fig. 1, this method comprises:
101: calculate syndrome according to receiving code;
Wherein, receiving code is meant the process coded data that receives, and in the present embodiment, needs to adopt the method for present embodiment that these data are deciphered.In the present embodiment, in order to narrate conveniently, receiving code is expressed as R (z), syndrome is expressed as S (z), and the coefficient table of syndrome is shown S i
102: utilize iterative algorithm according to described syndrome mistake in computation position multinomial, please refer to Fig. 2, specifically comprise:
201: it is zero at the initial value of Auxiliary polynomial under the zero degree iteration of initial value under the zero degree iteration and described error location polynomial that error location polynomial is set; The improper value multinomial is set, and the initial value under the zero degree iteration is the coefficient of described syndrome at initial value under the zero degree iteration and the polynomial Auxiliary polynomial of described improper value; It is 1 at the initial value of Auxiliary polynomial under zero degree iteration zero degree power of initial value under the zero degree iteration zero degree power and described error location polynomial that error location polynomial is set; It is 0 that the initial value of iteration coefficient under the zero degree iteration is set; It is 1 that the initial value of iteration restrictive condition under the zero degree iteration is set;
Wherein, error location polynomial is zero can be expressed as λ at the initial value of Auxiliary polynomial under the zero degree iteration of initial value under the zero degree iteration and described error location polynomial i(0)=b i(0)=0 wherein, i=1,2 ... t.
Wherein, the initial value under the zero degree iteration is the coefficient of described syndrome to the improper value multinomial at initial value under the zero degree iteration and the polynomial Auxiliary polynomial of described improper value, can be expressed as
Figure B2009102055455D0000051
Wherein, S iBe the coefficient of described syndrome, i=0,1 ..., 2t-1.
Wherein, error location polynomial is 1 at the initial value of Auxiliary polynomial under zero degree iteration zero degree power of initial value under the zero degree iteration zero degree power and described error location polynomial, can be expressed as λ 0(0)=b 0(0)=1.
Wherein, the initial value of iteration coefficient under the zero degree iteration is 0, can be expressed as k (0)=0.
Wherein, the initial value of iteration restrictive condition under the zero degree iteration is 1, can be expressed as γ (0)=1.
202: the Auxiliary polynomial, iteration coefficient and the iteration restrictive condition that are worth polynomial Auxiliary polynomial, error location polynomial according to the initial value mistake in computation of above-mentioned setting;
Wherein, if δ 0(r) ≠ 0 and k (r) 〉=0, then:
Figure B2009102055455D0000061
Otherwise, Wherein, r is an iterations, and i is the power item.
203: according to the initial value of above-mentioned setting and according to the polynomial Auxiliary polynomial of improper value of aforementioned calculation acquisition, Auxiliary polynomial, iteration coefficient and the iteration restrictive condition of error location polynomial, mistake in computation value multinomial;
Wherein, δ ~ i ( r + 1 ) = γ ( r ) · δ i + 2 ~ ( r ) - δ 0 ( r ) ~ · θ i + 1 ~ ( r ) , ( i = 0,1,2 , . . . . . . , 2 t - 1 ) .
204: Auxiliary polynomial, iteration coefficient and iteration restrictive condition mistake in computation position multinomial according to the initial value of above-mentioned setting and the mistake in computation value multinomial that obtains according to aforementioned calculation, the polynomial Auxiliary polynomial of improper value, error location polynomial obtain error location polynomial.
Wherein, λ ~ i ( r + 1 ) = γ ( r ) · λ ~ i ( r ) - δ ~ 0 ( r ) · b ~ i - 1 ( r ) , ( i = 0,1 , . . . . . . , t ) , r = 0 γ ( r ) · λ ~ i ( r ) - δ ~ 0 ( r ) · b ~ i - 2 ( r ) , ( i = 0,1 , . . . . . . , t ) , r = 1,2 , . . . . . . , t - 1 .
Wherein, the error location polynomial of acquisition can be expressed as
Figure B2009102055455D0000065
Wherein, i=0,1 ...., t.
103: utilize money formula searching algorithm to determine errors present according to described error location polynomial;
After calculating obtains error location polynomial according to abovementioned steps, can utilize money formula searching algorithm to determine errors present, not repeat them here by the means of prior art according to described error location polynomial.
104: the improper value on the described definite errors present is carried out the error correction sign indicating number that is restored.
After having determined errors present according to abovementioned steps, can utilize the means of prior art that the improper value on this errors present is carried out error correction, and then the sign indicating number that is restored, do not repeat them here.
The BCH code interpretation method of the embodiment of the invention according to the characteristics of BCH binary system code system, has been carried out 2 optimizations to the riBM interpretation method, and promptly when iteration time r was odd number time, difference λ (r) perseverance was 0, therefore, 2t iteration of iteration can be reduced to t time; And need error correction in the decoding of RS sign indicating number, and for the binary system BCH code, its correction value must be 1, so improper value multinomial ω (r) can be simplified with improper value multinomial ω (r).
Fig. 3 please refer to Fig. 3 for a kind of BCH code code translator composition frame chart that the embodiment of the invention provides, and this installs based on the riBM algorithm, mainly comprises: first computing unit 31, second computing unit 32, determining unit 33 and error correction unit 34, wherein:
First computing unit 31 is used for calculating syndrome according to receiving code.Specifically be described, do not repeat them here in step 101.
Second computing unit 32 is used to utilize iterative algorithm to find the solution error location polynomial according to described syndrome, in the present embodiment, this second computing unit 32 comprises: module 321, control module 322, first computing module 323 and second computing module 324 are set, wherein:
Module 321 is set, and to be used to be provided with error location polynomial be zero at the initial value of Auxiliary polynomial under the zero degree iteration of initial value under the zero degree iteration and described error location polynomial; The improper value multinomial is set, and the initial value under the zero degree iteration is the coefficient of described syndrome at initial value under the zero degree iteration and the polynomial Auxiliary polynomial of described improper value; It is 1 at the initial value of Auxiliary polynomial under zero degree iteration zero degree power of initial value under the zero degree iteration zero degree power and described error location polynomial that error location polynomial is set; It is 0 that the initial value of iteration coefficient under the zero degree iteration is set; It is 1 that the initial value of iteration restrictive condition under the zero degree iteration is set.Specifically in step 201, done detailed description, do not repeated them here.
Control module 322 is used for being worth according to the initial value mistake in computation that module 321 settings are set Auxiliary polynomial, iteration coefficient and the iteration restrictive condition of polynomial Auxiliary polynomial, error location polynomial.Specifically in step 202, done detailed description.In the present embodiment, this control module 322 can comprise:
Receive submodule, be used to receive the described initial value that the iteration restrictive condition of module 321 settings is set, and the polynomial coefficient of the improper value of zero degree power;
Judge submodule, be used for initial value according to polynomial coefficient of the improper value of described zero degree power and described iteration restrictive condition, whether the polynomial coefficient of improper value of judging described zero degree power is zero, and whether the initial value of described iteration restrictive condition more than or equal to zero, and produces the control command of next iteration and the iteration coefficient gamma (r+1) of next iteration in view of the above.Wherein, the control command of next iteration comprises: the coefficient of the Auxiliary polynomial of the error location polynomial of next iteration
Figure B2009102055455D0000081
The coefficient of the polynomial Auxiliary polynomial of improper value of next iteration
Figure B2009102055455D0000082
And the iteration restrictive condition k (r+1) of next iteration.Wherein, if δ 0(r) ≠ 0 and k (r) 〉=0, then:
b i ~ ( r + 1 ) = λ ~ i ( r ) , ( i = 0,1 , . . . . . . , t ) θ ~ i ( r + 1 ) = θ i + 1 ~ ( r ) , ( i = 0,1 , . . . . . . 2 t - 1 ) γ ( r + 1 ) = δ ~ 0 ( r ) k ( r + 1 ) = - k ( r ) ; Otherwise, b ~ i ( r + 1 ) = b i - 1 ~ ( r ) , ( i = 0,1 , . . . . . . , t ) θ ~ i ( r + 1 ) = θ ~ i ( r ) , ( i = 0,1 , . . . . . . 2 t - 1 ) γ ( r + 1 ) = γ ( r ) k ( r + 1 ) = k ( r ) + 1 ;
Wherein, r is an iterations, and i is the power item.
In the present embodiment, this control module 322 can realize by control circuit shown in Figure 4, but present embodiment not with this as restriction, any control circuit that is used to realize aforementioned formula and method can be used for realizing the control module 322 of the embodiment of the invention.
First computing module 323 is used for according to the initial value that module 321 settings are set and the result of calculation mistake in computation value multinomial of control module 322.Specifically in step 203, done detailed description.In the present embodiment, this first computing module 323 can comprise 2t first calculating sub module, and each first calculating sub module is respectively according to formula:
Carry out the interative computation of the 0th 2t-1 power of power to the, wherein, each first calculating sub module comprises:
First multiplier is used for the iteration coefficient of the polynomial coefficient of the improper value of last power and this iteration is carried out multiplying;
First data selector is used for the control command according to control module, selects one from the coefficient of polynomial coefficient of the improper value of described last power and the polynomial Auxiliary polynomial of improper value;
First register, the output that is used to store described first data selector is as the input of the coefficient of the polynomial Auxiliary polynomial of improper value of described first data selector;
Second multiplier is used for the coefficient of polynomial coefficient of the improper value of zero degree power and the polynomial Auxiliary polynomial of described improper value is carried out multiplying;
First adder is used for the multiplication result of described first multiplier and the multiplication result of described second multiplier are carried out addition, obtains the polynomial coefficient of improper value;
Second register is used to store the polynomial coefficient of described improper value, and output.
In the present embodiment, first calculating sub module can be formed realization by circuit shown in Figure 5, can be by the PE1 of accompanying drawing shown in Figure 6 iRepresent, and the 2t of present embodiment first calculating sub module can be passed through the PE1 of accompanying drawing shown in Figure 7 respectively 0~PE1 2t-1Represent.
Second computing module 324 is used for obtaining error location polynomial according to the initial value that the module setting is set and the result of calculation mistake in computation position multinomial of the control module and first computing module.Specifically be described in step 204, in the present embodiment, this second computing module 324 comprises t second calculating sub module, respectively according to formula:
Figure B2009102055455D0000091
Carry out the interative computation of the 0th t power of power to the, wherein, each second calculating sub module comprises:
The 3rd multiplier is used for the iteration coefficient of this iteration and the coefficient of error location polynomial are carried out multiplying;
The 4th multiplier, be used for to the polynomial coefficient of the improper value of zero degree power and next time the coefficient of the Auxiliary polynomial of the error location polynomial of power carry out multiplying;
Second data selector is used for the control command according to control module, from the coefficient of described error location polynomial and described before select one the coefficient of Auxiliary polynomial of error location polynomial of first power;
The 3rd register, the output that is used to store described second data selector is as the coefficient output of the Auxiliary polynomial of the error location polynomial of this power;
Second adder is used for the multiplication result of described the 3rd multiplier and the multiplication result of described the 4th multiplier are carried out addition;
The 4th register, the add operation result who is used to store described second adder, and as the output of the coefficient of error location polynomial.
In the present embodiment, first calculating sub module can be formed realization by circuit shown in Figure 5, can be by the PE1 of accompanying drawing shown in Figure 6 iRepresent, and the 2t of present embodiment first calculating sub module can be passed through the PE1 of accompanying drawing shown in Figure 7 respectively 0~PE1 2t-1Represent.
In the present embodiment, second calculating sub module 123 can be formed by circuit shown in Figure 8 and realizes, can be by the PEO of accompanying drawing shown in Figure 9 iRepresent, and the t of present embodiment second calculating sub module can be passed through the PE0 of accompanying drawing shown in Figure 10 respectively t~PE0 0Represent.
Please refer to Figure 11 again, it is the circuit realization schematic diagram of second computing unit 32 of the embodiment of the invention, as shown in figure 11, this second computing unit 32 comprises module (figure do not show), 2t first calculating sub module 111, control module 112 and t second computing module 113 is set, concrete function does not repeat them here in above stated specification.
Determining unit 33 is used to utilize money formula searching algorithm to determine errors present according to the error location polynomial that second computing unit 32 calculates acquisition.
Wherein, this determining unit 33 can be finished by the means of prior art, does not repeat them here.
Improper value on the errors present that error correction unit 34 is used for determining unit 33 is determined carries out the error correction sign indicating number that is restored.
Wherein, this error correction unit 34 also can be finished by the means of prior art, does not repeat them here.
The BCH code code translator of the embodiment of the invention according to the characteristics of BCH binary system code system, has carried out 2 optimizations to the riBM interpretation method, and promptly when iteration time r was odd number time, difference λ (r) perseverance was 0, therefore, 2t iteration of iteration can be reduced to t time; And need error correction in the decoding of RS sign indicating number, and for the binary system BCH code, its correction value must be 1, so improper value multinomial ω (r) can be simplified with improper value multinomial ω (r).So, the embodiment of the invention is taking less FPGA resource and is guaranteeing under the situation of realization of High Speed, realized the difficult point in the BCH interpretation method, promptly ask error location polynomial according to syndrome, and, by improvement, make parallel BM iterative algorithm on resource and speed, all obtain optimization to the riBM algorithm.
Above-described specific embodiment; purpose of the present invention, technical scheme and beneficial effect are further described; institute is understood that; the above only is specific embodiments of the invention; and be not intended to limit the scope of the invention; within the spirit and principles in the present invention all, any modification of being made, be equal to replacement, improvement etc., all should be included within protection scope of the present invention.

Claims (10)

1. a BCH code interpretation method is characterized in that, described method comprises:
Calculate syndrome according to receiving code;
Utilize iterative algorithm according to described syndrome mistake in computation position multinomial, comprising:
It is zero at the initial value of Auxiliary polynomial under the zero degree iteration of initial value under the zero degree iteration and described error location polynomial that error location polynomial is set; The improper value multinomial is set, and the initial value under the zero degree iteration is the coefficient of described syndrome at initial value under the zero degree iteration and the polynomial Auxiliary polynomial of described improper value; It is 1 at the initial value of Auxiliary polynomial under zero degree iteration zero degree power of initial value under the zero degree iteration zero degree power and described error location polynomial that error location polynomial is set; It is 0 that the initial value of iteration coefficient under the zero degree iteration is set; It is 1 that the initial value of iteration restrictive condition under the zero degree iteration is set;
The Auxiliary polynomial, iteration coefficient and the iteration restrictive condition that are worth polynomial Auxiliary polynomial, error location polynomial according to the initial value mistake in computation of above-mentioned setting;
According to the initial value of above-mentioned setting and according to the polynomial Auxiliary polynomial of improper value of aforementioned calculation acquisition, Auxiliary polynomial, iteration coefficient and the iteration restrictive condition of error location polynomial, mistake in computation value multinomial;
Auxiliary polynomial, iteration coefficient and iteration restrictive condition mistake in computation position multinomial according to the initial value of above-mentioned setting and the mistake in computation value multinomial that obtains according to aforementioned calculation, the polynomial Auxiliary polynomial of improper value, error location polynomial obtain error location polynomial;
Utilize money formula searching algorithm to determine errors present according to described error location polynomial;
Improper value on the described definite errors present is carried out the error correction sign indicating number that is restored.
2. method according to claim 1 is characterized in that:
Error location polynomial is that null representation is λ at the initial value of Auxiliary polynomial under the zero degree iteration of initial value under the zero degree iteration and described error location polynomial i(0)=b i(0)=0 wherein, i=1,2 ... t;
Initial value under the zero degree iteration is the coefficient of described syndrome to the improper value multinomial at initial value under the zero degree iteration and the polynomial Auxiliary polynomial of described improper value, and mathematical expression is expressed as Wherein, S iBe the coefficient of described syndrome, i=0,1 ..., 2t-1;
Error location polynomial is 1 at the initial value of Auxiliary polynomial under zero degree iteration zero degree power of initial value under the zero degree iteration zero degree power and described error location polynomial, and mathematical expression is expressed as λ 0(0)=b 0(0)=1;
The initial value of iteration coefficient under the zero degree iteration is 0, and mathematical expression is expressed as k (0)=0;
The initial value of iteration restrictive condition under the zero degree iteration is 1, and mathematical expression is expressed as γ (0)=1.
3. method according to claim 2 is characterized in that, is worth Auxiliary polynomial, iteration coefficient and the iteration restrictive condition of polynomial Auxiliary polynomial, error location polynomial according to the initial value mistake in computation of above-mentioned setting, comprising:
The Auxiliary polynomial, iteration coefficient and the iteration restrictive condition that are worth polynomial Auxiliary polynomial, error location polynomial according to the initial value and the following formula mistake in computation of described setting:
If δ 0(r) ≠ 0 and k (r) 〉=0, then:
Otherwise,
Figure F2009102055455C0000023
Wherein, r is an iterations, and i is the power item.
4. method according to claim 3, it is characterized in that, according to the initial value of above-mentioned setting and according to the polynomial Auxiliary polynomial of improper value of aforementioned calculation acquisition, Auxiliary polynomial, iteration coefficient and the iteration restrictive condition of error location polynomial, mistake in computation value multinomial comprises:
Utilize following formula, according to the initial value of above-mentioned setting and Auxiliary polynomial, iteration coefficient and the iteration restrictive condition that passes through the polynomial Auxiliary polynomial of aforementioned calculation acquisition improper value, error location polynomial, mistake in computation value multinomial;
δ ~ i ( r + 1 ) = γ ( r ) · δ i + 2 ~ ( r ) - δ 0 ( r ) ~ · θ i + 1 ~ ( r ) , ( i = 0,1,2 , . . . . . . , 2 t - 1 ) .
5. method according to claim 4, it is characterized in that, Auxiliary polynomial, iteration coefficient and iteration restrictive condition mistake in computation position multinomial according to the initial value of above-mentioned setting and the mistake in computation value multinomial that obtains according to aforementioned calculation, the polynomial Auxiliary polynomial of improper value, error location polynomial, obtain error location polynomial, comprising:
Utilize following formula, according to Auxiliary polynomial, iteration coefficient and the iteration restrictive condition mistake in computation position multinomial of the initial value of above-mentioned setting and the mistake in computation value multinomial that obtains through aforementioned calculation, the polynomial Auxiliary polynomial of improper value, error location polynomial:
Figure F2009102055455C0000031
Obtain error location polynomial, be expressed as
Figure F2009102055455C0000032
Wherein, i=0,1 ..., t.
6. a BCH code code translator is characterized in that, described device comprises:
First computing unit is used for calculating syndrome according to receiving code;
Second computing unit is used to utilize iterative algorithm according to described syndrome mistake in computation position multinomial, and this second computing unit comprises:
Module is set, and being used to be provided with error location polynomial is zero at the initial value of Auxiliary polynomial under the zero degree iteration of initial value under the zero degree iteration and described error location polynomial; The improper value multinomial is set, and the initial value under the zero degree iteration is the coefficient of described syndrome at initial value under the zero degree iteration and the polynomial Auxiliary polynomial of described improper value; It is 1 at the initial value of Auxiliary polynomial under zero degree iteration zero degree power of initial value under the zero degree iteration zero degree power and described error location polynomial that error location polynomial is set; It is 0 that the initial value of iteration coefficient under the zero degree iteration is set; It is 1 that the initial value of iteration restrictive condition under the zero degree iteration is set;
Control module is used for being worth according to the initial value mistake in computation that the module setting is set Auxiliary polynomial, iteration coefficient and the iteration restrictive condition of polynomial Auxiliary polynomial, error location polynomial;
First computing module is used for according to the initial value that the module setting is set and the result of calculation mistake in computation value multinomial of control module;
Second computing module is used for according to initial value that module is provided with and control module and the are set
The result of calculation mistake in computation position multinomial of one computing module obtains error location polynomial;
Determining unit is used to utilize money formula searching algorithm to determine errors present according to described error location polynomial;
Error correction unit, the improper value on the errors present that is used for described determining unit is determined are carried out the error correction sign indicating number that is restored.
7. device according to claim 6 is characterized in that, the described initial value that the module setting is set is specially:
Error location polynomial is that null representation is λ at the initial value of Auxiliary polynomial under the zero degree iteration of initial value under the zero degree iteration and described error location polynomial i(0)=b i(0)=0 wherein, i=1,2 ... t;
Initial value under the zero degree iteration is the coefficient of described syndrome to the improper value multinomial at initial value under the zero degree iteration and the polynomial Auxiliary polynomial of described improper value, and mathematical expression is expressed as
Figure F2009102055455C0000041
Wherein, S iBe the coefficient of described syndrome, i=0,1 ..., 2t-1;
Error location polynomial is 1 at the initial value of Auxiliary polynomial under zero degree iteration zero degree power of initial value under the zero degree iteration zero degree power and described error location polynomial, and mathematical expression is expressed as λ 0(0)=b 0(0)=1;
The initial value of iteration coefficient under the zero degree iteration is 0, and mathematical expression is expressed as k (0)=0;
The initial value of iteration restrictive condition under the zero degree iteration is 1, and mathematical expression is expressed as γ (0)=1.
8. device according to claim 7 is characterized in that, described control module comprises:
Receive submodule, be used to receive the described initial value that the iteration restrictive condition of module setting is set, and the polynomial coefficient of the improper value of zero degree power;
Judge submodule, be used for initial value according to polynomial coefficient of the improper value of described zero degree power and described iteration restrictive condition, whether the polynomial coefficient of improper value of judging described zero degree power is zero, and whether the initial value of described iteration restrictive condition more than or equal to zero, and produces the control command of next iteration and the iteration coefficient gamma (r+1) of next iteration in view of the above;
Wherein, the control command of next iteration comprises: the coefficient of the Auxiliary polynomial of the error location polynomial of next iteration
Figure F2009102055455C0000051
The coefficient of the polynomial Auxiliary polynomial of improper value of next iteration And the iteration restrictive condition k (r+1) of next iteration;
Wherein, if δ 0(r) ≠ 0 and k (r) 〉=0, then:
b i ~ ( r + 1 ) = λ ~ i ( r ) , ( i = 0,1 , . . . . . . , t ) θ ~ i ( r + 1 ) = θ i + 1 ~ ( r ) , ( i = 0,1 , . . . . . . 2 t - 1 ) γ ( r + 1 ) = δ ~ 0 ( r ) k ( r + 1 ) = - k ( r ) ; Otherwise, b ~ i ( r + 1 ) = b i - 1 ~ ( r ) , ( i = 0,1 , . . . . . . , t ) θ ~ i ( r + 1 ) = θ ~ i ( r ) , ( i = 0,1 , . . . . . . 2 t - 1 ) γ ( r + 1 ) = γ ( r ) k ( r + 1 ) = k ( r ) + 1 ;
Wherein, r is an iterations, and i is the power item.
9. device according to claim 8 is characterized in that, described first computing module comprises 2t first calculating sub module, respectively according to formula:
Figure F2009102055455C0000055
Carry out the interative computation of the 0th 2t-1 power of power to the, wherein, each first calculating sub module comprises:
First multiplier is used for the iteration coefficient of the polynomial coefficient of the improper value of last power and this iteration is carried out multiplying;
First data selector is used for the control command according to control module, selects one from the coefficient of polynomial coefficient of the improper value of described last power and the polynomial Auxiliary polynomial of improper value;
First register, the output that is used to store described first data selector is as the input of the coefficient of the polynomial Auxiliary polynomial of improper value of described first data selector;
Second multiplier is used for the coefficient of polynomial coefficient of the improper value of zero degree power and the polynomial Auxiliary polynomial of described improper value is carried out multiplying;
First adder is used for the multiplication result of described first multiplier and the multiplication result of described second multiplier are carried out addition, obtains the polynomial coefficient of improper value;
Second register is used to store the polynomial coefficient of described improper value, and output.
10. device according to claim 9 is characterized in that, described second computing module comprises t second calculating sub module, respectively according to formula:
Figure F2009102055455C0000061
Carry out the interative computation of the 0th t power of power to the, wherein, each second calculating sub module comprises:
The 3rd multiplier is used for the iteration coefficient of this iteration and the coefficient of error location polynomial are carried out multiplying;
The 4th multiplier, be used for to the polynomial coefficient of the improper value of zero degree power and next time the coefficient of the Auxiliary polynomial of the error location polynomial of power carry out multiplying;
Second data selector is used for the control command according to control module, from the coefficient of described error location polynomial and described before select one the coefficient of Auxiliary polynomial of error location polynomial of first power;
The 3rd register, the output that is used to store described second data selector is as the coefficient output of the Auxiliary polynomial of the error location polynomial of this power;
Second adder is used for the multiplication result of described the 3rd multiplier and the multiplication result of described the 4th multiplier are carried out addition;
The 4th register, the add operation result who is used to store described second adder, and as the output of the coefficient of error location polynomial.
CN 200910205545 2009-10-26 2009-10-26 Method and device for decoding broadcast channel (BCH) code Expired - Fee Related CN102045073B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910205545 CN102045073B (en) 2009-10-26 2009-10-26 Method and device for decoding broadcast channel (BCH) code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910205545 CN102045073B (en) 2009-10-26 2009-10-26 Method and device for decoding broadcast channel (BCH) code

Publications (2)

Publication Number Publication Date
CN102045073A true CN102045073A (en) 2011-05-04
CN102045073B CN102045073B (en) 2013-04-17

Family

ID=43910919

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910205545 Expired - Fee Related CN102045073B (en) 2009-10-26 2009-10-26 Method and device for decoding broadcast channel (BCH) code

Country Status (1)

Country Link
CN (1) CN102045073B (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102855940A (en) * 2012-06-19 2013-01-02 记忆科技(深圳)有限公司 Syndrome computing method and computing device thereof
CN104243084A (en) * 2013-06-07 2014-12-24 中国科学院深圳先进技术研究院 Error correction decoding method applied for human body communication channel and device thereof
CN106059596A (en) * 2016-06-24 2016-10-26 中山大学 Packet Markov superposition coding method by taking binary BCH code as component code, and decoding method
CN103944589B (en) * 2014-04-30 2017-02-15 中国科学院微电子研究所 BCH encoding and decoding method and device
CN108683426A (en) * 2018-05-18 2018-10-19 中国科学院微电子研究所 ECC system and memory based on BCH code

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1561005B (en) * 2004-02-20 2010-12-08 汇智***股份有限公司 Quick double-error correction BCH code decoder
JP4598711B2 (en) * 2006-03-30 2010-12-15 富士通株式会社 Error correction device
CN101459431B (en) * 2008-12-30 2012-03-07 北京大学 Decoding method for channel error correcting BCH code and RS code

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102855940A (en) * 2012-06-19 2013-01-02 记忆科技(深圳)有限公司 Syndrome computing method and computing device thereof
CN104243084A (en) * 2013-06-07 2014-12-24 中国科学院深圳先进技术研究院 Error correction decoding method applied for human body communication channel and device thereof
CN104243084B (en) * 2013-06-07 2018-09-04 中国科学院深圳先进技术研究院 Error correction coding/decoding method and its device applied to human body communication channel
CN103944589B (en) * 2014-04-30 2017-02-15 中国科学院微电子研究所 BCH encoding and decoding method and device
CN106059596A (en) * 2016-06-24 2016-10-26 中山大学 Packet Markov superposition coding method by taking binary BCH code as component code, and decoding method
CN106059596B (en) * 2016-06-24 2019-05-14 中山大学 Using binary BCH code as the grouping markov supercomposed coding method and its interpretation method of composition code
CN108683426A (en) * 2018-05-18 2018-10-19 中国科学院微电子研究所 ECC system and memory based on BCH code
CN108683426B (en) * 2018-05-18 2022-08-26 中国科学院微电子研究所 ECC system and memory based on BCH code

Also Published As

Publication number Publication date
CN102045073B (en) 2013-04-17

Similar Documents

Publication Publication Date Title
US8458574B2 (en) Compact chien-search based decoding apparatus and method
US10187085B2 (en) Decoding method, decoding apparatus and decoder
CN102208213B (en) Error correction mechanisms for flash memories
US9075739B2 (en) Storage device
CN101277119B (en) Method for complexing hardware of Reed Solomon code decoder as well as low hardware complex degree decoding device
CN103325425B (en) Memory controller
CN102045073A (en) Method and device for decoding broadcast channel (BCH) code
US9680509B2 (en) Errors and erasures decoding from multiple memory devices
US10523240B2 (en) Methods and apparatus to determine and apply polarity-based error correction code
CN102354535A (en) Logical unit multiplexing system
US9191029B2 (en) Additional error correction apparatus and method
CN102891689B (en) A kind of error location polynomial method for solving and device
CN107688506B (en) BCH decoding system with flow structure
CN101931415B (en) Encoding device and method, decoding device and method as well as error correction system
CN103916138B (en) A kind of money search circuit and ECC decoding apparatus and method based on the money search circuit
CN101777922B (en) High-speed and low-delay Berlekamp-Massey iteration decoding circuit for broadcast channel (BCH) decoder
US8255777B2 (en) Systems and methods for locating error bits in encoded data
CN1561005B (en) Quick double-error correction BCH code decoder
KR101190522B1 (en) BCH decoder, memory system having the same and BCH decoding method
KR101267958B1 (en) Bch decoder, memory system having the same and decoding method
KR101154923B1 (en) BCH decoder, memory system having the same and BCHBCH decoding method
US20220368352A1 (en) Apparatus and method for parallel reed-solomon encoding
CN104378121A (en) Decoding method and device
KR101226439B1 (en) Rs decoder, memory system having the same and decoding method
CN108847851A (en) A kind of implementation method of binary BCH code syndrome matrix

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: FORMER NAME: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee after: Huawei Symantec Technologies Co., Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee before: Chengdu Huawei Symantec Technologies Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130417

Termination date: 20171026