Background technology
The RS sign indicating number is BCH (Broad Cast Channel, the broadcast channel) sign indicating number that a class has very strong error correcting capability, also is the Algorithms of Algebraic Geometric Codes of a quasi-representative, and it is at first constructed in nineteen sixty by Reed (Reed) and Solomon (Suo Luomeng).In general application, the RS sign indicating number can be used as solid size and uses separately, and in the very abominable application of channel condition, have as mobile communication, satellite communication etc. in the channel of multipath fading characteristic, also can be used as outer sign indicating number provides error correcting capability stronger serial concatenation of codes, under the situation that does not increase very high coding and decoding complexity, can obtain high coding gain and the error correcting capability identical with long code like this, modal a kind of structure be exactly with the RS sign indicating number as outer sign indicating number, convolution code is made the cascaded code of ISN.
As shown in Figure 1, show the work decoding flow process that realizes the Reed Solomon coding in the prior art according to the BM iterative algorithm, this flow process comprises:
Among the step S101, ask the associated polynomial coefficient.After the RS decoding system is receiving code word, calculate 2t (for the individual associated polynomial coefficient of RS (n, k) decoding, t=(n-k)/2) by the code character that receives.
Among the step S102, draw errors present and improper value multinomial coefficient by the BM algorithm iteration.The 2t that utilization an is tried to achieve coefficient is tried to achieve error location polynomial and the polynomial coefficient of improper value respectively by the BM iterative algorithm, and two polynomial high order powers all are t.
Among the step S103, by error location polynomial Search Error position.Errors present to code word is searched for, and is about to represent all values substitution error location polynomial of codeword position, if the error location polynomial result is 0 then represents that this position is an error code position.
Among the step S104, by the improper value of improper value polynomial computation errors present correspondence.The improper value of mistake in computation position correspondence after having found error code position.
Among the step S105, at last wrong code word is carried out error correction.The key of above-mentioned RS decode procedure is to find the solution among the step S102 error location polynomial and improper value multinomial coefficient, for this part 1966 Berlekamp (Berlekamp) proposed can be by the polynomial iterative decoding algorithm in syndrome mistake in computation position, this has greatly accelerated to find the solution the speed of error location polynomial, this method is simple and be easy to realize, thereby solved the problem of RS decoding from engineering, 1969 Mei Xi (Massey) pointed out the line of shortest length shift register of this algorithm and the sequence relation between comprehensive, and simplify, therefore, this decoding algorithm just is called BM (Berlekamp Massey, the iterative decoding algorithm of Berlekamp-Mei Xi).
Owing to have the inversion operation of confinement in the above-mentioned BM iterative algorithm, and a large amount of hardware resource arithmetic speed of inversion operation consumption is slow, as if being applied in the BM interative computation, it can cause bigger critical path delay, so developed the IBM algorithm of no inversion operation afterwards, this algorithm is equivalent to be multiplied by simultaneously identical coefficient on the result of original all multinomial coefficient iteration, this result do not influence follow-up by error location polynomial Search Error position and mistake in computation position correspondence improper value and the basis of error code correction on improved the performance of decoding system.IBM (Inverse-free Berlekamp Massey, the Berlekamp of no inversion operation-Mei Xi) algorithm utilizes error location polynomial exactly, the identity that improper value multinomial and associated polynomial satisfy carries out the process of iteration, after calculating the associated polynomial coefficient, set initial errors present and improper value multinomial coefficient and begin iteration, in the process of iteration each time, all want first mistake in computation position and the polynomial recruitment of improper value afterwards, whether be 0 generation control signal corresponding according to this recruitment again, the renewal of control errors present and improper value multinomial coefficient, in the process of each iteration, all make errors present and the polynomial coefficient of improper value satisfy identity, and polynomial high reps does not subtract after guaranteeing each time iteration, like this through after certain iterations, just can obtain errors present and the polynomial coefficient of improper value that high order power meets the demands and meets identity.
Because traditional RS decoder is to decipher according to flow process shown in Figure 1, the key of its whole RS decoding system is that the BM iteration asks errors present, and this link of improper value.So, become the key of the whole RS decoding performance of influence to the implementation of this link.Owing to need complicated finite field inversion operation in the classical BM iterative algorithm, and the inversion operation of finite field consumes hardware resource and arithmetic speed is slow, the critical path time delay of system there is very big influence.Can not satisfy the needs of higher system running frequency.
In summary, existing Reed Solomon coding and decoding technology on reality is used, obviously exists inconvenience and defective, so be necessary to be improved.
Summary of the invention
At above-mentioned defective, the object of the present invention is to provide a kind of Reed Solomon coder-decoder, to carry out the Reed Solomon coding and decoding under the system that is implemented in higher running frequency.
To achieve these goals, the invention provides a kind of Reed Solomon coder-decoder, comprising:
The associated polynomial coefficients calculation block is used to receive the code word of needs decoding, and calculates the associated polynomial coefficient;
Cache module is used for the code word of the needs decoding that buffer memory receives;
Errors present and error code values computing module are used for determining errors present and calculate error code values;
Correction module is used for according to described errors present and error code values, the code word of correspondence in the described cache module of error correction.
According to Reed Solomon coder-decoder provided by the invention, described errors present and error code values computing module comprise:
The IBM algorithm is asked the error location polynomial coefficient module, is used to receive the input of the associated polynomial coefficient of described associated polynomial coefficients calculation block, mistake in computation position multinomial coefficient;
The IBM algorithm is asked improper value multinomial coefficient module, is used to receive the input of the associated polynomial coefficient of described associated polynomial coefficients calculation block, mistake in computation value multinomial coefficient;
Search Error position and calculating error code values module are used for the search of errors present, and the calculating of corresponding error code values.
According to Reed Solomon coder-decoder provided by the invention, described IBM algorithm is asked the error location polynomial coefficient module, and perhaps the IBM algorithm asks improper value multinomial coefficient module to comprise:
Many group registers are used for storing all kinds of numerical value of IBM iterative algorithm process;
First group of delay circuit, first registers by described many group registers are connected with second group of delay circuit, comprise the multiplier and the input summer more than that are linked in sequence successively;
Second group of delay circuit, first registers by described many group registers are connected with first group of delay circuit, comprise the multiplier and the input summer more than that are linked in sequence successively, and/or another multiplier;
Control circuit is connected with first register of described many group registers, is used for producing control signal according to the value of described first register output, to control the renewal of described many group register value.
According to Reed Solomon coder-decoder provided by the invention, described many group registers comprise:
T+1 shift register is connected with a multiplier of first group of delay circuit, the serial that is used to be shifted input syndrome multinomial coefficient;
T background register is connected with at least one multiplier of second group of delay circuit, is used for storing the intermediate object program that IBM iterative algorithm process is asked the error location polynomial coefficient; Perhaps be used for storing the intermediate object program that IBM iterative algorithm process is asked the improper value multinomial coefficient;
T+1 coefficient register, its two ends are connected with a multiplier of first group of delay circuit and second group of delay circuit respectively, are used to deposit the error location polynomial coefficient, perhaps the improper value multinomial coefficient;
First register, the one end is connected with the input summer more than of first group of delay circuit, and the other end is connected with at least one multiplier, second register, the peripheral control circuit of second group of delay circuit respectively; After being used for buffer memory the Reed Solomon coder-decoder carrying out a clock cycle of IBM iteration each time, the multinomial increment that the IBM iterative computation obtains; And
Second register, the one end is connected with at least one multiplier of second delay circuit, and the other end is connected with first register, is used to keep or upgrade the multinomial increment of described Reed Solomon coder-decoder;
Wherein, t=(n-k)/2; N represents code length, k representative information position number.
According to Reed Solomon coder-decoder provided by the invention, when described multinomial increment is 0 or when not satisfying the background register update condition, described control circuit produces signal only makes t background register finish the serial right-shift operation; Otherwise described control circuit produces signal upgrades t+1 coefficient register and t background register.
In order to realize above-mentioned another goal of the invention, the invention provides a kind of method of utilizing Reed Solomon coder-decoder provided by the invention to realize decoding, comprising:
The associated polynomial coefficients calculation block receives the code word that needs decoding, and calculates the associated polynomial coefficient;
The code word of needs that cache module receives decoding is also carried out buffer memory to it;
Errors present and error code values computing module are determined errors present and are calculated error code values;
Correction module is according to described errors present and error code values, corresponding code word in the described cache module of error correction.
According to utilizing Reed Solomon coder-decoder provided by the invention to realize the method for decoding, described errors present and error code values computing module determine that the step of errors present and calculating error code values comprises:
The IBM algorithm asks the error location polynomial coefficient module to receive the input of the associated polynomial coefficient of described associated polynomial coefficients calculation block, mistake in computation position multinomial coefficient;
The IBM algorithm asks improper value multinomial coefficient module to receive the input of the associated polynomial coefficient of described associated polynomial coefficients calculation block, mistake in computation value multinomial coefficient;
Search Error position and calculating error code values module are carried out the search of errors present, and the calculating of corresponding error code values.
Realize the method for decoding according to utilizing Reed Solomon coder-decoder provided by the invention, described IBM algorithm asks the error location polynomial coefficient module to receive the input of the associated polynomial coefficient of described associated polynomial coefficients calculation block, the step of mistake in computation position multinomial coefficient; Perhaps, the IBM algorithm asks improper value multinomial coefficient module to receive the input of the associated polynomial coefficient of described associated polynomial coefficients calculation block, the step of mistake in computation value multinomial coefficient; Comprise:
(1) Reed Solomon coder-decoder circuit is carried out initialization;
(2) carry out first clock cycle of IBM iteration at Reed Solomon coder-decoder each time, the described t+1 shift register serial input associated polynomial coefficient that will be shifted;
(3) the associated polynomial coefficient in t+1 shift register by first group of delay circuit multiplier and the numerical value in t+1 coefficient register multiply each other, and the adder addition of passing through the input more than of first group of delay circuit, obtain the multinomial increment, and deposit in described first register;
(4) to carry out second clock cycle of iteration interim when Reed Solomon coder-decoder each time, according to the multinomial increment in described first register, control circuit produces control signal corresponding, and t background register, a t+1 shift register and t+1 coefficient register are upgraded.
According to utilizing Reed Solomon coder-decoder provided by the invention to realize the method for decoding, described step (1) comprising:
(11) numerical value in the associated polynomial coefficient in initialization t+1 shift register, the numerical value in the t+1 coefficient register and t the background register; And the initial value in described second register is initialized as 1;
Described step (4) comprising:
(41) to carry out second clock cycle of iteration interim when Reed Solomon coder-decoder each time, and according to the multinomial increment in described first register, control circuit produces control signal corresponding:
When the multinomial increment is not equal to 0, and when satisfying the condition of t background register renewal, control circuit produces control signal, value in t+1 in the time of the thus coefficient register is upgraded t background register, and the value in t+1 coefficient register is also exported renewal by an adder in second group of delay circuit;
When the multinomial increment equals 0, the value in t the background register is carried out the serial right-shift operation, and lowest order fills out 0, the value in t+1 coefficient register is exported by an adder of second group of delay circuit and is upgraded simultaneously.
Realize the method for decoding according to utilizing Reed Solomon coder-decoder provided by the invention, the described utilization in the process that the Reed Solomon coder-decoder realizes decoding, the IBM iteration repeats to finish the IBM iteration 2t time, obtain the error location polynomial coefficient value, perhaps improper value system of polynomials numerical value; T=(n-k)/2 wherein; N represents code length, k representative information position number.
The present invention provides the circuit of realizing the IBM iterative algorithm according to the IBM iterative algorithm.This circuit can be used for carrying out the error location polynomial coefficient in the RS decode procedure, and the calculating of improper value multinomial coefficient, owing to adopt the IBM iterative algorithm, the inversion operation of its no finite field, so the consumption to hardware resource is lower, and fast operation does not have influence to the critical path time delay of system.Can be implemented under the higher running frequency system and carry out the Reed Solomon coding and decoding.
Embodiment
In order to make purpose of the present invention, technical scheme and advantage clearer,, the present invention is further elaborated below in conjunction with drawings and Examples.Should be appreciated that specific embodiment described herein only in order to explanation the present invention, and be not used in qualification the present invention.
Basic thought of the present invention is: according to the IBM iterative algorithm, provide the circuit of realizing the IBM iterative algorithm, to be implemented in the RS decoding in the upper frequency system.
The structural representation of the decoder of Fig. 2 Reed Solomon coding that to be the present invention provide according to the IBM iterative algorithm; The decoder 2 of this Reed Solomon coding has comprised:
Associated polynomial coefficients calculation block 21 is used to receive the code word of needs decoding, and calculates the associated polynomial coefficient;
Cache module 22 is used for the code word of the needs decoding that buffer memory receives;
Errors present and error code values computing module 23 are used for determining errors present and calculate error code values;
Correction module 24 is used for according to described errors present and error code values, the code word of correspondence in the described cache module of error correction.In the present invention, the decoder 2 that Reed Solomon is encoded is set to above-mentioned four modules composition, realizes RS decoding to utilize the IBM iterative algorithm.
Fig. 3 is the structural representation of the decoder of the Reed Solomon coding that provides according to the IBM iterative algorithm in the one embodiment of the invention; In this embodiment, errors present and error code values computing module 23 comprise described in the described Reed Solomon coder-decoder 2:
The IBM algorithm is asked error location polynomial coefficient module 231, is used to receive the input of the associated polynomial coefficient of described associated polynomial coefficients calculation block 21, mistake in computation position multinomial coefficient;
The IBM algorithm is asked improper value multinomial coefficient module 232, is used to receive the input of the associated polynomial coefficient of described associated polynomial coefficients calculation block 21, mistake in computation value multinomial coefficient;
Search Error position and calculating error code values module 233 are used for the search of errors present, and the calculating of corresponding error code values.In one embodiment of the invention, its IBM algorithm asks error location polynomial coefficient module 231 and IBM algorithm to ask improper value multinomial coefficient module 232, can be designed as a module, realize its function with equal circuit, the improper value multinomial coefficient of enter code word and improper value multinomial coefficient to calculate.
Fig. 4 A~Fig. 4 B is that the IBM algorithm asks error location polynomial coefficient module and IBM algorithm to ask improper value multinomial coefficient modular structure schematic diagram in the one embodiment of the invention, and the IBM algorithm asks error location polynomial coefficient module 231 and IBM algorithm to ask improper value multinomial coefficient module 232 to comprise:
Many group registers 2311 are used for storing all kinds of numerical value of IBM iterative algorithm process; In whole decode procedure, need to produce multiclass numerical value.Comprise associated polynomial coefficient, improper value multinomial coefficient, error location polynomial coefficient etc.Many groups register 2311 among the present invention is used for such numerical value is stored.
First group of delay circuit 2312, first registers 23114 by described many group registers 2311 are connected with second group of delay circuit 2313, comprise the multiplier 23121 and the input summer 23122 more than that are linked in sequence successively;
Second group of delay circuit 2313, first register 23114 by described many group registers 2311 is connected with first group of delay circuit 2312, comprise the multiplier 23131 and the input summer 23132 more than that are linked in sequence successively, and/or another multiplier 23133;
Control circuit 2114 is connected with first register 23114 of described many group registers 2311, is used for producing control signal according to the value of described first register 23114 outputs, to control the renewal of described many group register 2311 numerical value.
Fig. 5 is that the IBM algorithm in the one embodiment of the invention asks error location polynomial coefficient module and IBM algorithm to ask the structural representation of improper value multinomial coefficient module, and wherein said many group registers 2311 comprise:
T+1 shift register 23111 is connected with a multiplier 23121 of first group of delay circuit 2312, the serial that is used to be shifted input syndrome multinomial coefficient;
T background register 23112 is connected with at least one multiplier 23133 of second group of delay circuit 2313, is used for storing the intermediate object program that IBM iterative algorithm process is asked the error location polynomial coefficient; Perhaps be used for storing the intermediate object program that IBM iterative algorithm process is asked the improper value multinomial coefficient;
T+1 coefficient register 23113, its two ends connect with the multiplier (23121,23131) of first group of delay circuit 2312 and second group of delay circuit 2313 respectively, are used to deposit the error location polynomial coefficient, perhaps the improper value multinomial coefficient; Because this circuit can practicality be asked error location polynomial coefficient and improper value multinomial coefficient; Therefore, this t+1 coefficient register 23113 can be stored above-mentioned two kinds of coefficients.
First register 23114, the one end is connected with the input summer 23122 more than of first group of delay circuit 2312, and the other end is connected with at least one multiplier 23131, second register 23115, the control circuit 2314 of second group of delay circuit 2313 respectively; After being used for buffer memory Reed Solomon coder-decoder 2 carrying out a clock cycle of IBM iteration each time, the multinomial increment that the IBM iterative computation obtains; And
Second register 23115, the one end is connected with at least one multiplier 23131 of second delay circuit 2313, and the other end is connected with first register 23114, is used to keep or upgrade the multinomial increment of described Reed Solomon coder-decoder 2; Wherein, t=(n-k)/2; N represents code length, k representative information position number.
In one embodiment of the invention, when described multinomial increment be 0 or when not satisfying background register 23112 update condition, described control circuit 2314 produces signals only makes t background register 23112 finish the serial right-shift operation; Otherwise described control circuit 2314 produces signal upgrades t+1 coefficient register 23113 and t background register 23112.
As shown in Figure 5, in one embodiment of the invention,, the maximum order of error location polynomial σ (x) (, therefore needs t+1 coefficient register 23113 (σ for RS (n, k) decoding, t=(n-k)/2) because being t
0, σ
1... σ
t) coefficient of storage multinomial σ (x) from constant term to high order power.Simultaneously, also need t background register 23112 (B in order to finish the IBM algorithm
0To B
T-1) intermediate object program of error location polynomial σ (x) coefficient in the storage iterative process.In addition, also need t+1 shift register 23111 (R
0To R
t) come serial to import the coefficient S of associated polynomial
1To S
2tIn first clock cycle of IBM interative computation each time, successively will be from S
1To S
2tIn coefficient move into the R of shift register group 23111
0To R
t, this moment R
0To R
tIn value and the σ of coefficient register 23112
0, σ
1... σ
tMiddle numerical value multiplies each other by multiplier 23121, and the result has calculated multinomial increment D through the adder 23122 of input more than
j, this increment deposits first register 23114 in.
Afterwards when second clock of each iteration arrives, with multinomial increment D
jOutput from first register 23114, this moment, control circuit 2314 was according to D
jValue judge the generation control signal, work as D
jBe not equal to 0, and satisfy and upgrade t background register 23112 (B
0To B
T-1) condition the time, control circuit 2314 produces control signals, the σ in the time of thus
0, σ
1... σ
tIn value to t background register 23112 (B
0To B
T-1) upgrade.And while σ
0, σ
1... σ
tIn value also upgrade by the output of corresponding adder 23132; Otherwise, to t background register 23112 (B
0To B
T-1) carry out the serial right-shift operation, and lowest order fills out 0, while σ
0, σ
1... σ
tIn value remain unchanged.
In another one embodiment of the present invention, with the error location polynomial factor sigma
tFinish and once be updated to example analysis, σ
tCoefficient register multiplies each other via the numerical value in multiplier 23121 and the shift register 23111, and result of calculation obtains multinomial increment D via many input summers 23122
j, multiplying each other through multiplier 23131 or 23133 again, multiplied result is sent σ back to by two input summers 23132
tRegister carries out the renewal of coefficient.
As seen, comprise adder 23122 and one two adder of importing 23115 that two multipliers (23121,23131 or 23133) are imported one more on this path, the delay in its path is long.But because the present invention inserted first register 23114 on this critical path, the delay in path has been divided into two parts, a part postpones to comprise input summer 23122 more than, and a multiplier 23121; Another part postpones to comprise a multiplier 23131 or 23133, and the adder 23132 of one two input.Because the delay of the adder 23122 of many inputs is greater than the adder 23132 of two inputs, so make entire I BM realize that the critical path of circuit has become input summer 23122 more than and the combination that multiplier 23121 postpones.Like this, make this circuit under the higher system frequency, to realize decoding to the RS coding codeword.
In the present invention, according to the requirement of related protocol regulation, system supports RS (240,224), RS (240,192), three kinds of decoding modes of RS (240,176), and requires the RS decoder can run to the system frequency of 100MHz at least.If design according to the BM algorithm in traditional RS decoding, the highest frequency of system's operation does not reach requirement, and the present invention adopts the IBM algorithm, can realize RS decoding under the higher system running frequency.
Fig. 6 utilizes Reed Solomon coder-decoder provided by the present invention to realize the method flow diagram of decoding, and wherein, step S601 and step S602 do not have the branch of precedence, and this flow process comprises the steps:
In step S601, associated polynomial coefficients calculation block 21 receives the code word that needs decoding, and calculates the associated polynomial coefficient.In one embodiment of the invention, when carrying out RS (240,224) decoding, at first utilize enter code word to carry out the calculating of associated polynomial coefficient by associated polynomial coefficients calculation block 21 as system.And when calculating the 16 (coefficient S of the individual associated polynomial of t=(240-224)/2=8) this moment
1To S
2tAfterwards, just with these 16 associated polynomial coefficients from S
1To S
2tDisplacement is input to the IBM algorithm and asks error location polynomial coefficient module 231, and the IBM algorithm is asked in the improper value multinomial coefficient module 232.
In step S602, the code word of needs that cache module 22 receives decoding is also carried out buffer memory to it; Cache module 22 is saved in enter code word in the cache module 22 successively.
In step S603, errors present and error code values computing module 23 are determined errors present and are calculated error code values.
In step S604, correction module 24 is according to described errors present and error code values, corresponding code word in the described cache module 22 of error correction.
In one embodiment of the invention, described step S603 may further comprise the steps: the IBM algorithm is asked the input of the associated polynomial coefficient of the described associated polynomial coefficients calculation block 21 of error location polynomial coefficient module 231 receptions, mistake in computation position multinomial coefficient; The IBM algorithm is asked the input of the associated polynomial coefficient of the described associated polynomial coefficients calculation block 21 of improper value multinomial coefficient module 232 receptions, mistake in computation value multinomial coefficient; Search Error position and calculating error code values module 24 are carried out the search of errors present, and the calculating of corresponding error code values.
In another embodiment of the present invention, described IBM algorithm is asked the input of the associated polynomial coefficient of the described associated polynomial coefficients calculation block 21 of error location polynomial coefficient module 231 receptions, the step of mistake in computation position multinomial coefficient; Perhaps, the IBM algorithm is asked the input of the associated polynomial coefficient of the described associated polynomial coefficients calculation block 21 of improper value multinomial coefficient module 232 receptions, the step of mistake in computation value multinomial coefficient; Comprise:
(1) Reed Solomon coder-decoder 2 circuit is carried out initialization; Code translator is before deciphering, and preliminary examinationization need power on.
(2) carry out first clock cycle of IBM iteration at Reed Solomon coder-decoder 2 each time, a described t+1 shift register 23111 serial input associated polynomial coefficient that will be shifted; RS deciphers the system clock that each iteration needs two cycles, and promptly per two system clocks are with an associated polynomial coefficient S
1To S
16From left to right be displaced to t+1 shift register 23111 (R successively
0, R
1... R
t) in, R in first system clock
0To R
tIn value and t+1 coefficient register 23113 (σ
0, σ
1... σ
t) in value multiply each other by multiplier 23121, the result calculates through the adder 23122 of input more than, just can obtain multinomial increment D
j, this multinomial increment deposits first register 23114 in.
(3) the associated polynomial coefficient in t+1 shift register 23111 multiplies each other by a multiplier 23121 of first group of delay circuit 2312 and numerical value in t+1 the coefficient register 23113, and adder 23122 additions of passing through the input more than of first group of delay circuit 2312, obtain multinomial increment D
j, and deposit in described first register 23114;
(4) to carry out second clock cycle of iteration interim when Reed Solomon coder-decoder 2 each time, according to the multinomial increment in described first register 23114, control circuit 2314 produces control signal corresponding, and t background register 23112, a t+1 shift register 23111 and t+1 coefficient register 23113 are upgraded.
In another embodiment of the present invention, described step (1) comprising:
(11) numerical value in the associated polynomial coefficient in initialization t+1 shift register 2311, the numerical value in the t+1 coefficient register and t the background register 23121; And the initial value in described second register 23115 is initialized as 1.
In one embodiment of the invention, as shown in Figure 5, at first circuit carries out initialization, t+1 shift register 23111 (R
0To R
t) in content be initialized as (R
0, R
1... R
t)=(S
1, 0 ..., 0), while t+1 coefficient register 23113 (σ
0, σ
1... σ
t) and t background register (B
0To B
T-1) in content be initialized as (σ
0, σ
1... σ
t)=(1,0 ..., 0) and (R
0, R
1... R
t)=(S
1, 0 ..., 0), the content in second register 23115 (γ) is initialized as 1.
Described step (4) comprising:
(41) to carry out second clock cycle of iteration interim when Reed Solomon coder-decoder 2 each time, and according to the multinomial increment in described first register 23114, control circuit 2314 produces control signal corresponding:
When the multinomial increment is not equal to 0, and when satisfying the condition of t background register 23112 renewals, control circuit 2314 produces control signal, value in t+1 in the time of the thus coefficient register 23113 is upgraded t background register 23112, and the value in t+1 coefficient register 23113 is also exported renewal by an adder 23132 in second group of delay circuit 2313;
When the multinomial increment equals 0, value in t the background register 23112 is carried out the serial right-shift operation, and lowest order fills out 0, and the value in while t+1 coefficient register 23113 is exported by an adder 23132 of second group of delay circuit 2313 and upgraded.
When second clock of each iteration arrives, with multinomial increment D
jOutput from first register 23114, this moment, control circuit 2314 was according to D
jValue judge the generation control signal, work as D
jBe not equal to 0, and satisfy and upgrade t background register 23112 (B
0To B
T-1) condition the time, control circuit 23114 produces control signals, the σ in the time of thus
0, σ
1... σ
tIn value to t background register 23112 (B
0To B
T-1) upgrade.And while σ
0, σ
1... σ
tIn value also upgrade by the output of corresponding adder 23132, otherwise, to t background register 23112 (B
0To B
T-1) carry out right-shift operation, and lowest order fills out 0, while σ
0, σ
1... σ
tIn value upgrade by the output of corresponding adder 23121.In two above-mentioned clock cycle, this circuit has been finished iterative operation one time.
In above-mentioned a plurality of embodiment, the described Reed Solomon coder-decoder 2 that utilizes realizes that the IBM iteration repeats to finish the IBM iteration 2t time in the process of decoding, obtains the error location polynomial coefficient value, perhaps improper value system of polynomials numerical value; T=(n-k)/2 wherein; N represents code length, k representative information position number.
This process repeats under the control of control circuit, up to iteration repeat to finish 16 times (algorithm dictates iteration 2t time, this moment t=(240-224)/2=8), this moment, the IBM iterative algorithm stopped, t+1 coefficient register 23113 (σ
0, σ
1..., σ
t) in numerical value be the error location polynomial coefficient value of being asked, perhaps improper value system of polynomials numerical value.
After finishing, the IBM iteration just can ask error location polynomial coefficient module 231 and IBM algorithm to ask improper value multinomial coefficient module 232 by the IBM algorithm with the error location polynomial coefficient that obtains, and the improper value multinomial coefficient is exported to the Search Error position and is calculated error code values module 233, carry out the search of errors present and the calculating of the corresponding error code values of errors present, when the intact position of every detection whether wrong and calculated the corresponding error value after, just the corresponding enter code word that is stored in the cache module 22 by 24 pairs of correction module carries out error correction, and the code word after the corresponding decoding of output, after all code word error correction are finished, just finish whole RS decoded operation.
Above-mentioned scheme can be used for the design of RS decoding system fully, and can realize with FPGA (FieldProgrammable Gate Array, field programmable gate array) hardware, has accomplished the real-time processing of decoding.Any technical staff of this area above-mentionedly provide detailed embodiment to describe, so that can use or utilize the present invention.Embodiment shown in the present invention is not only applicable to here, and be applicable to different mode and the design of RS decoding system that system's running frequency is had relatively high expectations.
In sum, the present invention provides the circuit of realizing the IBM iterative algorithm according to the IBM iterative algorithm.This circuit can be used for carrying out the error location polynomial coefficient in the RS decode procedure, and the calculating of improper value multinomial coefficient, owing to adopt the IBM iterative algorithm, the inversion operation of its no finite field, so the consumption to hardware resource is lower, and fast operation does not have influence to the critical path time delay of system.Can be implemented under the higher running frequency system and carry out the Reed Solomon coding and decoding.
Certainly; the present invention also can have other various embodiments; under the situation that does not deviate from spirit of the present invention and essence thereof; those of ordinary skill in the art work as can make various corresponding changes and distortion according to the present invention, but these corresponding changes and distortion all should belong to the protection range of the appended claim of the present invention.