CN101202550A - Method and apparatus of multiple numbers computation in RS decoding and decoder and method of decoding - Google Patents

Method and apparatus of multiple numbers computation in RS decoding and decoder and method of decoding Download PDF

Info

Publication number
CN101202550A
CN101202550A CNA2006101680116A CN200610168011A CN101202550A CN 101202550 A CN101202550 A CN 101202550A CN A2006101680116 A CNA2006101680116 A CN A2006101680116A CN 200610168011 A CN200610168011 A CN 200610168011A CN 101202550 A CN101202550 A CN 101202550A
Authority
CN
China
Prior art keywords
value
independent variable
tuple
less
matrix
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.)
Pending
Application number
CNA2006101680116A
Other languages
Chinese (zh)
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to CNA2006101680116A priority Critical patent/CN101202550A/en
Priority to JP2007323919A priority patent/JP2008154238A/en
Publication of CN101202550A publication Critical patent/CN101202550A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The invention discloses a multiplicity calculating method in an RS decoding. The method includes inputting a target value for a reliability matrix and a multiplicity calculation to express the target value into a monotone increasing function or a monotone decreasing function of an independent variable; carrying out fast iteration to the independent variable to calculate the independent variable value corresponding to the target value through the characteristic that the target value is the monotone increasing function or the monotone decreasing function of the independent variable and calculating a multiplicity matrix according to the reliability matrix and the calculated dependent variable value. The invention also discloses a multiplicity calculating device, an RS encoder and a decoding method in the RS decoding. After the invention is applied, the complexity of multiplicity calculating is remarkably reduced, thus reducing the decoding complexity of the algebra soft decision of an RS code. And the invention is very convenient for various detail applications.

Description

Tuple computational methods, device and decoder and interpretation method in the RS decoding
Technical field
The present invention relates to RS decoding technique field, more specifically, the present invention relates to tuple computational methods, device and decoder and interpretation method in a kind of RS decoding.
Background technology
Reed-Solomon (RS) is encoded in nineteen sixties and just proposes, and has been widely used at present such as in the systems such as digital communication system such as wired, wireless and deep space communication system and storage, compressed encoding.The RS coding is a class linear block codes, and its code word has ultimate range and separates (MDS) characteristic, has good anti-burst error and anti-channel fading ability.
For many years, people use the method for hard decision or non-algebraically soft-decision that the RS sign indicating number is deciphered, this makes the error correction potentiality of RS coding not be not fully exerted, thereby the decoding performance of RS sign indicating number can not compare favourably with turbine (Turbo) sign indicating number or low density parity check code (LDPC) sign indicating number near Shannon (Shannon) limit for a long time.
Recently, some breakthroughs have appearred in RS sign indicating number algebraically Soft decision decoding, make this be coded in many applications such as comprising anti-channel fading, short code, information source compression and demonstrate than Turbo code and LDPC sign indicating number and have more performance advantage.The work of RS sign indicating number algebraically Soft decision decoding starts from the RS sign indicating number row sign indicating number work decoding of Sudan in 1997.The row sign indicating number work decoding of Sudan has greatly improved the error correcting capability of RS code decoder.Guruswami etc. have improved the work of Sudan, have further strengthened the error-correcting performance of RS code decoder.On the basis of Guruswami and Sudan work, Koetter and Vardy have proposed the algebraically Soft decision decoding, and this yard decoding performance can be compared favourably with Turbo code and LDPC sign indicating number, even surpass these codings.
Below RS algebraically soft-decision decoding is described.RS sign indicating number algebraically soft-decision decoding comprises three committed steps, is respectively that tuple calculates, two variable polynomial interopolations are calculated and two variable multinomials decompose.Calculate for tuple, in most cases, the information that is input to the RS decoder is the reliable metric of probability of receiving symbol, and this information is commonly referred to as " soft information ".The interpolation point tuple that the soft informational needs of probability converts the decoding of Guruswami-Sudan (G-S) row sign indicating number to just can carry out the decoding of G-S row sign indicating number.
With respect to hard-decision decoding and non-algebraic soft-decision decoding, algebraically soft-decision RS code decoder has more excellent decoding performance, but its decoding complexity is also higher.In order to reduce algebraically soft-decision RS sign indicating number decoding complex degree, people have carried out big quantity research to two variable polynomial interopolations and the decomposition of two variable multinomials, work out the several different methods that comprises divide and conquer.
Yet, to improve even made some, the complexity of tuple calculation procedure is still very high in the prior art, causes algebraically soft-decision RS sign indicating number decoding complexity still very high.And, even can control the complexity of tuple calculation procedure in the prior art by certain mode, because uncontrollable desired value, its result still may cause the complexity of interpolation and decomposition step to improve, perhaps cause decoder performance to descend, and both of these case all is difficult to accept in real system.
Summary of the invention
In view of this, main purpose of the present invention is the tuple computational methods that propose in a kind of RS decoding, to reduce the complexity that tuple calculates.
Another object of the present invention is the tuple calculation element that proposes in a kind of RS decoding, to reduce the complexity that tuple calculates.
A further object of the present invention is to propose a kind of RS decoder, to reduce algebraically soft-decision RS sign indicating number decoding complexity.
Another purpose of the present invention is to propose a kind of RS interpretation method, to reduce algebraically soft-decision RS sign indicating number decoding complexity.
For achieving the above object, technical scheme of the present invention is achieved in that
Tuple computational methods in a kind of RS decoding, this method comprises:
Import the desired value that reliability matrix and tuple calculate, described desired value is expressed as the monotonic increase or the monotonic decreasing function of an independent variable;
Utilizing desired value is the monotonic increase of this independent variable or the characteristic of monotonic decreasing function, this independent variable is carried out iteratively faster with the pairing independent variable value of calculating desired value, and calculate the tuple matrix according to this reliability matrix and the described independent variable value that calculates.
Describedly independent variable is carried out iteratively faster be: utilize dichotomy algorithm or golden cut algorithm that independent variable is carried out iteratively faster.
Described desired value is that the interpolation that tuple calculates is counted, and described iteratively faster specifically comprises:
A1, independent variable is got dividing value and floor value, wherein go up dividing value greater than the pairing independent variable value of desired value, floor value is less than the pairing independent variable value of desired value;
The target function value of any between dividing value and the floor value in B1, the calculating, and whether the target function value of judging this point count less than described interpolation, if less than, upgrade floor value with the independent variable value of this point, if be not less than, then upgrade and go up dividing value with the independent variable value of this point;
Whether the difference of dividing value and floor value less than predefined threshold value in C1, the judgement, if less than, finish described iteratively faster, otherwise return execution in step B1.
Described floor value is λ 0, described upward dividing value is λ 1,
λ 0 = s N , λ 1 = s N + q ;
Wherein: N is the code length of RS sign indicating number, and s is that described interpolation is counted, and q is an order of modulation.
Described desired value is a cost value, and described iteratively faster specifically comprises:
A2, independent variable is got dividing value and floor value, wherein go up dividing value greater than the pairing independent variable value of desired value, floor value is less than the pairing independent variable value of desired value;
The target function value of any between dividing value and the floor value in B2, the calculating, and whether the target function value of judging this point less than described cost value, if less than, upgrade floor value with the independent variable value of this point, if be not less than, then upgrade and go up dividing value with the independent variable value of this point;
Whether the difference of dividing value and floor value less than predefined threshold value in C2, the judgement, if less than, finish described iteratively faster, otherwise return execution in step B2.
Described floor value is λ 0, described upward dividing value is λ 1, and
λ 0 = - N + N 2 + 8 C · Σ i = 1 q Σ j = 1 N π ij 2 2 Σ i = 1 q Σ j = 1 N π ij 2 ;
λ 1 = λ 0 + 2 λ 0 · N + N · q N + 2 λ 0 · Σ i = 1 q Σ j = 1 N π ij 2 ;
Wherein: N is the code length of RS sign indicating number, and C is described cost value, and q is an order of modulation, π IjElement for the capable j row of reliability matrix i.
Described reliability matrix is full reliability matrix or sparse reliability matrix.
A kind of tuple calculation element that is used for RS decoding, this device comprises:
Input module is used to receive the desired value that reliability matrix and tuple calculate;
The desired value representation module is used for described desired value is expressed as the monotonic function of an independent variable;
Tuple matrix computations module, be used to utilize the characteristic of desired value for the monotonic function of independent variable, this independent variable is carried out iteratively faster with the pairing independent variable value of calculating desired value, and calculate the tuple matrix according to this reliability matrix and the described independent variable value that calculates.
Described desired value representation module is used for described desired value is expressed as the monotonically increasing function of an independent variable, or is used for described desired value is expressed as the monotonic decreasing function of an independent variable.
Described input module is used to receive full reliability matrix or sparse reliability matrix.
Described tuple matrix computations module is used to utilize dichotomy algorithm or golden cut algorithm that this independent variable is carried out iteratively faster.
A kind of RS code decoder, this decoder comprises:
The tuple calculation element, be used for calculating the tuple matrix according to the reliability matrix of input and the desired value of tuple calculating, wherein desired value is expressed as the monotonic function of an independent variable, utilize the characteristic of desired value for the monotonic function of independent variable, this independent variable is carried out iteratively faster with the pairing independent variable value of calculating desired value, and go out the tuple matrix according to the described independent variable value that calculates and this reliability matrix computations;
Two variable polynomial interopolation devices are used for the polynomial coefficient of tuple matrix computations two variablees that calculates according to described, to obtain two variable multinomials;
Two variable multinomial decomposers are used for the two variable multinomials that obtain are decomposed, to obtain being listed as the candidate codewords of sign indicating number decoding.
A kind of RS code coding method, this method comprises:
The desired value that input reliability matrix and tuple calculate, described desired value is expressed as the monotonic function of an independent variable, utilizing desired value is the characteristic of the monotonic function of this independent variable, this independent variable is carried out iteratively faster with the pairing independent variable value of calculating desired value, and calculate the tuple matrix according to this reliability matrix and the described independent variable value that calculates;
According to the described polynomial coefficient of tuple matrix computations two variablees that calculates, obtaining two variable multinomials, and the two variable multinomials that obtain are decomposed, to obtain being listed as the candidate codewords of sign indicating number decoding.
Described desired value is that the interpolation that tuple calculates is counted, and described iteratively faster specifically comprises:
A3, independent variable is got dividing value and floor value, wherein go up dividing value greater than the pairing independent variable value of desired value, floor value is less than the pairing independent variable value of desired value;
The target function value of any between dividing value and the floor value in B3, the calculating, and whether the target function value of judging this point count less than described interpolation, if less than, upgrade floor value with the independent variable value of this point, if be not less than, then upgrade and go up dividing value with the independent variable value of this point;
Whether the difference of dividing value and floor value less than predefined threshold value in C3, the judgement, if less than, finish described iteratively faster, otherwise return execution in step B3.
Described desired value is a cost value, and described iteratively faster specifically comprises:
A4, independent variable is got dividing value and floor value, wherein go up dividing value greater than the pairing independent variable value of desired value, floor value is less than the pairing independent variable value of desired value;
The target function value of any between dividing value and the floor value in B4, the calculating, and whether the target function value of judging this point less than described cost value, if less than, upgrade floor value with the independent variable value of this point, if be not less than, then upgrade and go up dividing value with the independent variable value of this point;
Whether the difference of dividing value and floor value less than predefined threshold value in C4, the judgement, if less than, finish described iteratively faster, otherwise return execution in step B4.
From technique scheme as can be seen, in the present invention, desired value is expressed as the monotonic function of an independent variable, and to utilize desired value be the characteristic of the monotonic function of this independent variable, this independent variable is carried out iteratively faster to calculate the pairing independent variable value of desired value, calculate the tuple matrix according to this reliability matrix and the described independent variable value that calculates again.This shows, the present invention is incorporated into the monotonic function feature in the calculating of algebraically soft-decision RS decoding tuple just, search out appropriate initial value, thereby can adopt various iteratively faster algorithms to calculate the tuple matrix fast, therefore significantly reduce the complexity that tuple calculates, thereby reduced the decoding complexity of RS sign indicating number.
In addition, among the present invention, by between independent variable floor value that sets and last dividing value, choosing a point, the size of this functional value and desired value and upgrade floor value or go up dividing value relatively according to this comparative result, thus realized quick search.
And the iterative algorithm that is adopted among the present invention can be for comprising the various iteratively faster algorithms of various algorithms such as golden cut algorithm, dichotomy algorithm, so the also very convenient various concrete application of the present invention.
Description of drawings
Fig. 1 is the exemplary flow chart of tuple computational methods during RS deciphers according to the present invention;
Fig. 2 is the flow chart according to tuple computational methods in the RS decoding of first embodiment of the invention;
Fig. 3 is the flow chart according to tuple computational methods in the RS decoding of second embodiment of the invention;
Fig. 4 is for choosing the exemplary schematic representation of dividing value and floor value in the first embodiment of the invention;
Fig. 5 is for choosing the exemplary schematic representation of dividing value and floor value in the second embodiment of the invention;
Fig. 6 is the demonstrative structure figure according to tuple calculation element in the RS decoding of the present invention;
Fig. 7 is the demonstrative structure figure according to RS decoder of the present invention;
Fig. 8 is the exemplary flow chart according to RS interpretation method of the present invention.
Embodiment
For making the purpose, technical solutions and advantages of the present invention express clearlyer, the present invention is further described in more detail below in conjunction with drawings and the specific embodiments.
The decoding decoding of algebraically soft-decision RS sign indicating number is compared with traditional hard-decision decoding and non-algebraically soft-decision decoding has better decoding performance, but complexity is also higher.The suitable proportion that the operand of tuple calculation procedure occupies in whole algebraically soft decision decoder.
Generally, the amount of calculation of the tuple calculating of realization algebraically soft-decision RS sign indicating number decoding is O (N 3), wherein N is a code length.When order of modulation q was bigger, it is very high that tuple calculates required amount of calculation.For the q value that often may choose,, realize that the arithmetic operation that tuple calculates to be needed (as storage access, relatively wait) number may reach 2 as 256 24
The present invention can obviously reduce the complexity of algebraically soft-decision RS code decoder by reducing the complexity of tuple calculation procedure.
At first, algorithm principle of the present invention is elaborated:
For code length is N, and information digit is the RS sign indicating number of K, and establishing message polynomial is m (x)=a 0+ a 1X+ ... + a K-1X K-1, information word a i(i=0,1 ..., K-1) be the element that is defined in finite field gf (q);
In finite field gf (q), choose N different nonzero element, obtain set D = { x 1 , x 2 , · · · , x N } ⋐ GF ( q ) , N<q, set D can be used for carrying out the RS coding;
The RS codeword set can be write as:
C ( N , K ) = &Delta; { f ( x 1 ) , f ( x 2 ) , &CenterDot; &CenterDot; &CenterDot; , f ( x N ) : x 1 , x 2 , &CenterDot; &CenterDot; &CenterDot; , x N &Element; D , f ( X ) &Element; GF ( q ) [ X ] , degf ( X ) < K } ;
If the RS coded sequence that sends is v 1=f (x 1), v 2=f (x 2) ..., v N=f (x N);
This sequence is sent into channel after modulation, arrive receiving terminal after channel noise and the interference effect and obtain sequence
Figure A20061016801100123
Algebraically soft-decision RS decoder is according to the sequence of complex numbers that receives
Figure A20061016801100124
The message polynomial that several maximum possible of reconstruct transmitting terminal send, this process are called the decoding of row sign indicating number.
In order to realize the row sign indicating number decoding of RS sign indicating number, need from receive input information, extract the tuple information of interpolation point information and interpolation point correspondence.
In real system, the information that receiving terminal can access is the probability reliability information often, and in order to realize algebraically soft-decision RS decoding, these probabilistic informations need convert interpolation point and corresponding tuple information to, and this conversion is tuple and calculates.
If decoder lists polynomial f (x), receive vector
Figure A20061016801100125
Corresponding probability reliability matrix is:
The element of matrix ∏ &pi; ij = P r { f ( x j ) = i - 1 / r &RightArrow; } (1≤i≤q, 1≤j≤N) be illustrated in receiving sequence is
Figure A20061016801100133
Condition under, when sending message polynomial and be f (x), j coded identification is the probability of i-1;
If certain π Ij≠ 0, then obtain interpolation point (x j, y i)=(x j, i-1), this interpolation point is with nonnegative integer m of correspondence Ij, be called tuple;
If interpolation point (x j, y i) corresponding tuple is m Ij, then this point will produce m in the interpolation procedure of algebraically soft-decision RS decoding Ij(m Ij+ 1) constraint equation/2;
If the tuple matrix of matrix ∏ correspondence is M, M=[m Ij], then the constraint equation quantity of interpolation procedure generation is C ( M ) = &Delta; &Sigma; i = 1 q &Sigma; j = 1 N m ij ( m ij + 1 ) / 2 , And be referred to as cost;
Cost value is high more, and the required complexity of interpolation and decomposition step is also high more.
On the other hand, each element m of tuple matrix IjWith the value of probability multiplication be π IjM IjThe tuple matrix obtains qN such product for the M correspondence, the value that these products are done and obtained < M , &Pi; > = &Delta; &Sigma; i = 1 q &Sigma; j = 1 N m ij &pi; ij Be defined as score.Research by Koetter etc. knows that this score value is high more, and algebraically soft decision decoder output performance is good more.
Actual decoder can only have limited complexity.Tuple calculates and need maximize score under the certain situation of interpolation and decomposition step complexity, perhaps minimizes the complexity of interpolation and decomposition step under the certain situation of score.
In other words, tuple calculates and need regularly maximize score or minimize cost under the certain situation of score in cost one.For the former, establish the tuple set of matrices and be m ( C ) = &Delta; { M : &Sigma; i = 1 q &Sigma; j = 1 N m ij ( m ij + 1 ) / 2 = C } , Reality is exactly to seek matrix M Opt=arg max M ∈ m (C)<M, ∏ 〉.
In order to be illustrated more clearly in prior art and difference of the present invention, earlier existing Kotter algorithm is probably illustrated.For calculating optimum tuple matrix, the algorithm below Kotter etc. have provided.
When being input as reliability matrix ∏ and during with the interpolation point quantity s of tuple metering:
Input: reliability matrix ∏ and the interpolation point quantity s that measures with tuple;
Output: satisfy &Sigma; i = 1 q &Sigma; j = 1 N m ij = s Optimum tuple matrix M.
The first step: ∏ is set *:=∏, full null matrix of M:=and k:=0;
Second step: seek matrix ∏ *Middle maximum value position π Ij *(i j), and upgrades position (i, j) Dui Ying value in corresponding position &pi; ij * : = &pi; ij m ij + 2 , m Ij:=m Ij+ 1 and k:=k+1.
The 3rd step: if k 〉=s returns and output matrix M; Otherwise changeed for second step.
For the situation that is input as reliability matrix ∏ and cost value C:
Input: reliability matrix ∏ and cost value C;
Output: satisfy C &GreaterEqual; C M = &Sigma; i = 1 q &Sigma; j = 1 N m ij ( m ij + 1 ) / 2 Optimum tuple matrix M.
The first step: ∏ is set *:=∏, full null matrix of M:=and C M:=0.
Second step: seek matrix ∏ *Middle maximum value position π Ij *(i j), and upgrades position (i, j) Dui Ying value in corresponding position &pi; ij * : = &pi; ij m ij + 2 And C M:=C M+ m Ij+ 1.
The 3rd step: if C<C M, m is set Ij:=m Ij+ 1 and changeed for second step, otherwise return and output matrix M.
In first kind of situation, at first import interpolation point quantity s and reliability matrix ∏, give matrix ∏ then *, tuple matrix M sum counter k initialize, then searching matrix ∏ *Middle maximum value position π Ij *(i j), and upgrades matrix ∏ in corresponding position *(i j) locates corresponding element in the position with the tuple matrix M.Then, counter adds 1, and judges interpolation that whether iterations has the reached appointment s that counts, if also do not reach, then continues iteration, otherwise stops iteration and export the tuple matrix M.
It is different that the process of second kind of situation and the difference of first kind of situation only are that it stops Control Parameter, therefore enumerates its algorithm steps no longer in detail.
The computation complexity of Koetter scheduling algorithm is discussed below.First kind of situation and second kind of corresponding same algorithm of situation, only difference be they stop the Control Parameter difference, therefore only consider the complexity of first kind of situation.
First kind of situation carried out s time maximum search in the matrix that a size is q * N, the RS sign indicating number has s 〉=N.Therefore the complexity of this process is O (N 3).
If the consideration sparse matrix promptly for each symbol that receives, is only included the probability of the correspondence of J nearest around this acceptance point parameter point in the reliability matrix, then the reliability matrix each be listed as only J element, the computation complexity of process 1 is O (N 2).
Make M that (∏ is the tuple matrix that first kind of situation of algorithm of Koetter etc. generated in the s step s), and definition V is one q * N real matrix, and (i j) locates element V for it IjSatisfy 0≤V Ij<1 (i=1,2 ..., q; J=1,2 ..., N).
Theorem below Koetter etc. have proved:
For each positive number λ, there is nonnegative integer s, make
Figure A20061016801100151
Otherwise,, exist arithmetic number λ that following formula is set up for each nonnegative integer s.
According to above-mentioned theorem, be analyzed as follows:
By this theorem, the applicant can obtain following inference (inference 1 and inference 2).
Inference 1: establish two arithmetic number λ 1And λ 0Satisfy λ 1〉=λ 0, nonnegative integer s 1And s 0The corresponding tuple matrix of difference
Figure A20061016801100152
With Then s must be arranged 1〉=s 0
Card: order
Figure A20061016801100154
With
Figure A20061016801100155
In Koetter scheduling algorithm first situation, each iteration step all have a unique position (i, j), its corresponding tuple m IjAdd 1, thereby have s 1 = &Sigma; i = 1 q &Sigma; j N m ij ( 1 ) With s 0 = &Sigma; i = 1 q &Sigma; j N m ij ( 0 ) ;
Notice λ 1〉=λ 0So,
Figure A20061016801100158
So
Figure A20061016801100159
Inference 2: establishing λ is positive number, and first kind of situation of its corresponding Koetter scheduling algorithm is at iteration step s = &Sigma; i = 1 q &Sigma; j N m ij The tuple matrix that produces
Figure A200610168011001511
Cost value then
Figure A200610168011001512
About the parameter lambda monotonic increase.
This inference can be used lemma 1 and directly obtain, so locate to omit its proof.
Therefore, can reach a conclusion: the desired value that algebraically soft-decision RS decoding tuple calculates (interpolation of calculating with tuple count s or cost value C) can be expressed as the monotonically increasing function of parameter λ.That is to say that tuple calculating can be converted into a monotonically increasing function desired value and find the solution problem.Find the solution for monotonic increase or decreasing function desired value, needn't adopt the very high progressively alternative manner of complexity, and can adopt such as method rapid solvings such as dichotomy or Fibonacci methods, the convergence rate of dichotomy or Fibonacci method is very fast, thereby its complexity is very low.
When the desired value of algebraically soft-decision RS decoding tuple calculation procedure can be expressed as the monotonically increasing function of certain independent variable: for a monotonically increasing function y=g (x), given desired value y 0, can find two initial value x as that 1And x 2, satisfy g (x respectively 1)≤y 0And g (x 2) 〉=y 0, then can use the whole bag of tricks such as dichotomy or Fibonacci method g (the x)-y that solves an equation 0=0 calculates desired value fast.
Among the present invention, calculate by the monotonic function feature being incorporated into algebraically soft-decision RS decoding tuple just, search out appropriate initial value simultaneously, thereby can adopt iteratively faster methods such as dichotomy or Fibonacci method to calculate the tuple matrix fast.
Owing to introduced the monotonic function characteristic, use very fast dichotomy or the Fibonacci method of convergence rate, only need iteration step number seldom just can obtain needed result, the present invention has avoided methods such as Koetter progressively to search for the big shortcoming of amount of calculation, has greatly reduced the complexity that tuple calculates.
Specifically, for full reliability matrix, the present invention calculates the O (N of the required complexity of tuple from methods such as Koetter 3) be reduced to O (N 2); For sparse reliability matrix, the complexity of wanting required for the present invention is from the O (N of methods such as Koetter 2) be reduced to O (N) and about the linear complexity of N.
Amount of calculation not only required for the present invention has reduction on the magnitude about N, and the present invention has identical input and identical output with the method for Koetter, thereby neither can cause the rising of the complexity of interpolation and decomposition step, can not cause whole decoder for decoding decreased performance yet.
Be the quick search of example explanation monotonically increasing function desired value below with the dichotomy.
Suppose function y=g (x) monotonic increase and g (x is arranged 1)<y 0And g (x 2)>y 0, desired value y 0The corresponding x that separates 0The amount of finding the solution for needs.At first calculate x 1And x 2Mid point x 3Pairing functional value.Because g (x 3)>y 0, use x 3As the new upper bound, and calculate x 1And x 3Mid point x 4Pairing functional value.Because g is (x 4)<y 0, use x 4As new lower bound, repeat this process and can obtain desired value fast.
Calculate the tuple matrix in order to use dichotomy or Fibonacci method, also need to be provided with initial value.If function g (λ) be λ about increasing function, given desired value g now asks λ to make equation g (λ)=g.If can two initial value λ given in advance LAnd λ H, make g (λ L)≤g and g (λ H) 〉=g then can use the quick ferret out value of dichotomy or Fibonacci method immediately.Certainly, if there is not initial value, for monotonic increase or decreasing function, still can use dichotomy or Fibonacci method ferret out value, for no other reason than that the algorithm first step need be determined initial value, its complexity is higher slightly than the method that initial value is arranged.
Setting about tuple calculates initial value has following inference (inference 3 and inference 4).
Inference 3: be provided with reliability matrix ∏ and positive integer s, be provided with &lambda; 0 = s N With &lambda; 1 = s N + q . Nonnegative integer s 1And s 0The corresponding tuple matrix of difference
Figure A20061016801100173
With
Figure A20061016801100174
S then 1〉=s, s 0≤ s.
Card: definition
Figure A20061016801100175
With
Figure A20061016801100176
So have:
Figure A20061016801100177
With
Figure A20061016801100178
Inference 4: be provided with reliability matrix ∏ and arithmetic number C, be provided with &lambda; 0 = - N + N 2 + 8 C &CenterDot; &Sigma; i = 1 q &Sigma; j = 1 N &pi; ij 2 2 &Sigma; i = 1 q &Sigma; j = 1 N &pi; ij 2 With &lambda; 1 = &lambda; 0 + 2 &lambda; 0 &CenterDot; N + N &CenterDot; q N + 2 &lambda; 0 &CenterDot; &Sigma; i = 1 q &Sigma; j = 1 N &pi; ij 2 ;
Definition
Figure A200610168011001711
With
Figure A200610168011001712
Inequality is then set up:
C ( M ( 0 ) ) = &Delta; &Sigma; i = 1 q &Sigma; j = 1 N m ij ( 0 ) ( m ij ( 0 ) + 1 ) / 2 &le; C &le; C ( M ( 1 ) ) = &Delta; &Sigma; i = 1 q &Sigma; j = 1 N m ij ( 1 ) ( m ij ( 1 ) + 1 ) / 2 .
Card: verify λ easily 0It is quadratic equation with one unknown ( &Sigma; i = 1 q &Sigma; j = 1 N &pi; ij 2 ) &CenterDot; x 2 + N &CenterDot; x - 2 C = 0 A root, therefore
Figure A200610168011001715
Be that the left-half inequality is set up.
Under demonstrate,prove the right half part inequality:
For each positive number λ, there is nonnegative integer s by theorem, makes
Figure A20061016801100181
Otherwise, for each nonnegative integer s, exist arithmetic number λ that following formula is set up as can be known:
Figure A20061016801100182
V=[v herein Ij] (i=1,2 ..., q; J=1,2 ... N) matrix of a q * N satisfies 0≤V Ij<1;
Note a = &Delta; 2 &lambda; 0 &CenterDot; N + N &CenterDot; q N + 2 &lambda; 0 &CenterDot; ( &Sigma; i = 1 q &Sigma; j = 1 N &pi; ij 2 ) , λ then 10+ a;
So can get:
C ( M ( 1 ) ) = &Delta; 1 2 &CenterDot; &Sigma; i = 1 q &Sigma; j = 1 N m ij ( 1 ) &CenterDot; ( m ij ( 1 ) + 1 )
Figure A20061016801100185
= 1 2 &CenterDot; &Sigma; i = 1 q &Sigma; j = 1 N ( &lambda; 1 &pi; ij - V ij ) &CenterDot; ( &lambda; 1 &pi; ij - V ij + 1 )
= 1 2 &CenterDot; &Sigma; i = 1 q &Sigma; j = 1 N { ( &lambda; 0 + a ) &pi; ij - V ij } &CenterDot; { ( &lambda; 0 + a ) &pi; ij - V ij + 1 }
= 1 2 &CenterDot; &Sigma; i = 1 q &Sigma; j = 1 N &lambda; 0 &pi; ij ( &lambda; 0 &pi; ij + 1 )
+ 1 2 &CenterDot; &Sigma; i = 1 q &Sigma; j = 1 N { &lambda; 0 &pi; ij ( a &pi; ij - V ij ) + ( a&pi; ij - V ij ) &CenterDot; ( &lambda; 0 &pi; ij + 1 ) }
+ 1 2 &CenterDot; &Sigma; i = 1 q &Sigma; j = 1 N ( a&pi; ij - V ij ) 2
First value of this last equation of formula just is C, and the 3rd is nonnegative value;
Now writing out second separately has:
1 2 &CenterDot; &Sigma; i = 1 q &Sigma; j = 1 N { &lambda; 0 &pi; ij ( a&pi; ij - V ij ) + ( a&pi; ij - V ij ) &CenterDot; ( &lambda; 0 &pi; ij + 1 ) }
= 1 2 &CenterDot; &Sigma; i = 1 q &Sigma; j = 1 N { 2 &lambda; 0 a &pi; ij 2 - 2 &lambda; 0 &pi; ij V ij + a &pi; ij - V ij }
&GreaterEqual; 1 2 &CenterDot; &Sigma; i = 1 q &Sigma; j = 1 N { 2 &lambda; 0 a &pi; ij 2 - 2 &lambda; 0 &pi; ij + a &pi; ij - 1 }
= - &lambda; 0 &CenterDot; N - q &CenterDot; N 2 + a &CenterDot; ( N 2 + &lambda; 0 &Sigma; i = 1 q &Sigma; j = 1 N &pi; ij 2 )
= 0
This formula and the formula simultaneous above it get C M ( 1 ) &GreaterEqual; C .
It is the initial value of interpolation when counting s and cost value C that inference 3 and inference 4 provide desired value respectively.This two inferences explanation, as long as according to above-mentioned formula initialization, then the target λ that is asked necessarily is clipped in λ 0And λ 1Between.
By above-mentioned labor as seen:
Know that the desired value that algebraically soft-decision RS decoding tuple calculates (interpolation of calculating with tuple count s or cost value C) can be expressed as monotonically increasing function or the monotonic decreasing function of parameter λ.Simultaneously, can set the initial value upper bound and lower bound, the λ of desired value s or C correspondence is clipped between this lower bound and the upper bound.So, can use the quick calculating that realizes the tuple matrix such as dichotomy or Fibonacci method.
To sum up, Fig. 1 is the exemplary flow chart of tuple computational methods during RS deciphers according to the present invention.As shown in Figure 1, this method comprises:
Step 101: import the desired value that reliability matrix and tuple calculate, described desired value is expressed as the monotonic function of an independent variable;
Here, monotonic function both can be monotonically increasing function, can also be monotonic decreasing function.And the reliability matrix both can be full reliability matrix, also can be sparse reliability matrix.
Step 102: utilizing desired value is the characteristic of the monotonic function of this independent variable, and this independent variable is carried out iteratively faster with the pairing independent variable value of calculating desired value, and calculates the tuple matrix according to this reliability matrix and the described independent variable value that calculates.
Wherein, can utilize various iteratively faster algorithms such as dichotomy algorithm or golden cut algorithm that independent variable is carried out iteratively faster.
When desired value is a interpolation that tuple calculates when counting, iteratively faster specifically comprises: at first, independent variable is got dividing value and floor value, wherein go up dividing value greater than the pairing independent variable value of desired value, floor value is less than the pairing independent variable value of desired value; The target function value of any between dividing value and the floor value on calculating then, and whether the target function value of judging this point count less than described interpolation, if less than, upgrade floor value with the independent variable value of this point, if be not less than, then upgrade and go up dividing value with the independent variable value of this point; Whether judge the difference that goes up dividing value and floor value again less than predefined threshold value, if less than, finish described iteratively faster, otherwise continue to carry out iteration.Preferably, described floor value is λ 0, described upward dividing value is λ 1, &lambda; 0 = s N , &lambda; 1 = s N + q ;
Wherein: N is the code length of RS sign indicating number, and s is that described interpolation is counted, and q is an order of modulation.
When desired value was cost value, iteratively faster specifically comprised: at first, independent variable is got dividing value and floor value, wherein go up dividing value greater than the pairing independent variable value of desired value, floor value is less than the pairing independent variable value of desired value; The target function value of any between dividing value and the floor value on calculating then, and whether the target function value of judging this point less than described cost value, if less than, upgrade floor value with the independent variable value of this point, if be not less than, then upgrade and go up dividing value with the independent variable value of this point; Whether judge the difference that goes up dividing value and floor value again less than predefined threshold value, if less than, finish described iteratively faster, otherwise return the continuation iteration.
Preferably, floor value is λ 0, described upward dividing value is λ 1, and
&lambda; 0 = - N + N 2 + 8 C &CenterDot; &Sigma; i = 1 q &Sigma; j = 1 N &pi; ij 2 2 &Sigma; i = 1 q &Sigma; j = 1 N &pi; ij 2 ;
&lambda; 1 = &lambda; 0 + 2 &lambda; 0 &CenterDot; N + N &CenterDot; q N + 2 &lambda; 0 &CenterDot; &Sigma; i = 1 q &Sigma; j = 1 N &pi; ij 2 ;
Wherein: N is the code length of RS sign indicating number, and C is described cost value, and q is an order of modulation, π IjElement for the capable j row of reliability matrix i.
Now investigate the computation complexity of algorithm of the present invention.Each iteration step of the present invention needs a 2 * q * N add operation, a q * N multiply operation and a q * N operation.Dichotomy or Fibonacci method can be finished calculating in a needs iteration step number seldom, and (being usually less than time iteration just meets the demands.Because just increasing amount of calculation in rain, the finite word length effect of computer, more iterations do not have real value).Like this, the computation complexity of improvement algorithm is O (N 2).
If the consideration sparse matrix promptly for each symbol that receives, is only included the probability of the correspondence of J nearest around this acceptance point parameter point in the reliability matrix, then the reliability matrix each be listed as only J element, improvement algorithm computation complexity is O (N).
Described algorithm of the present invention above in detail, below in conjunction with above-mentioned algorithm to a preferred embodiment of the present invention will be described in detail.
At when being input as reliability matrix ∏ and first kind of situation during with the interpolation point quantity s of tuple metering, specifically describe the first embodiment of the present invention below:
Wherein:
Input: reliability matrix ∏ and the interpolation point quantity s that measures with tuple;
Output: satisfy &Sigma; i = 1 q &Sigma; j = 1 N m ij = s Optimum tuple matrix M.
The first step: be provided with &lambda; L : = s N With &lambda; H : = s N + q ;
Second step: λ is set :=λ L+ ρ (λ HL) and
Figure A20061016801100214
If s M<s is provided with λ L:=λ, otherwise λ is set H:=λ;
The 3rd step: if λ HL≤ ε returns and exports
Figure A20061016801100215
Otherwise changeed for second step.
Fig. 2 is the flow chart according to tuple computational methods in the RS decoding of first embodiment of the invention.As shown in Figure 2, this method comprises:
Step 201: input interpolation point quantity s and reliability matrix ∏ and preset parameters ρ and ε;
Wherein ρ and ε are two predefined positive numbers, and parameter ρ can satisfy 0<ρ<1, and corresponding dichotomy or Fibonacci method for example can be made as 0.5 or 0.618.ε is a very little positive number, for example desirable 0.0001.If λ in the iterative process LTo λ HLine segment length smaller or equal to ε, think that then this line segment has converged a point, thereby can stop iteration.
Step 202: iterative initial value is set &lambda; L : = s N With &lambda; H : = s N + q ;
Step 203: calculate λ LTo λ HBetween some λ, λ :=λ L+ ρ (λ HL);
Step 204: the target function value s (λ) that calculates corresponding λ place:
Step 205: relatively this target function value and input desired value s, if functional value less than desired value, in step 206 with λ new lower bound λ more LValue, otherwise upgrade upper bound λ with λ in step 207 HValue;
Step 208 detects λ HLValue whether less than predefined thresholding ε, if should value less than ε, expression has been satisfied and has been stopped iterated conditional, returns former caller and exports the tuple matrix in step 209
Figure A20061016801100221
Otherwise change step 203 and continue iteration.
Second kind of situation at when being input as reliability matrix ∏ and cost value C specifically describes the second embodiment of the present invention below:
Input: reliability matrix ∏ and cost value C:
Output: satisfy C &GreaterEqual; C M = &Sigma; i = 1 q &Sigma; j = 1 N m ij ( m ij + 1 ) / 2 Optimum tuple matrix M;
The first step: be provided with &lambda; L : = - N + N 2 + 8 C &CenterDot; ( &Sigma; i = 1 q &Sigma; j = 1 N &pi; ij 2 ) 2 &CenterDot; ( &Sigma; i = 1 q &Sigma; j = 1 N &pi; ij 2 ) And &lambda; H : = &lambda; L + 2 &lambda; L &CenterDot; N + N &CenterDot; q N + 2 &lambda; L &CenterDot; ( &Sigma; i = 1 q &Sigma; j = 1 N &pi; ij 2 ) ;
Second step: λ is set :=λ L+ ρ (λ HL) and
Figure A20061016801100225
If C M<C is provided with λ L:=λ; Otherwise, λ is set H:=λ.
The 3rd step: if λ HL≤ ε returns and exports
Figure A20061016801100226
Otherwise changeed for second step.
Fig. 3 is the flow chart according to tuple computational methods in the RS decoding of second embodiment of the invention.As shown in Figure 3, this method comprises:
Step 301: input interpolation point quantity s and reliability matrix ∏ and preset parameters ρ and ε;
Wherein ρ and ε are two predefined positive numbers, and parameter ρ can satisfy 0<ρ<1, and corresponding dichotomy or Fibonacci method for example can be made as 0.5 or 0.618.ε is a very little positive number, for example desirable 0.0001.If λ in the iterative process LTo λ HLine segment length smaller or equal to ε, think that then this line segment has converged a point, thereby can stop iteration.
Step 302: iterative initial value is set &lambda; L : = - N + N 2 + 8 C &CenterDot; ( &Sigma; i = 1 q &Sigma; j = 1 N &pi; ij 2 ) 2 &CenterDot; ( &Sigma; i = 1 q &Sigma; j = 1 N &pi; ij 2 ) And &lambda; H : = &lambda; L + 2 &lambda; L &CenterDot; N + N &CenterDot; q N + 2 &lambda; L &CenterDot; ( &Sigma; i = 1 q &Sigma; j = 1 N &pi; ij 2 ) ;
Step 303: calculate λ LTo λ HBetween some λ, calculate the target function value C (λ) at corresponding λ place then in step 304;
Step 305: relatively this target function value and input desired value C, if functional value less than desired value, in step 306 with λ new lower bound λ more LValue, otherwise upgrade upper bound λ with λ in step 307 HValue:
Step 308 detects λ HLValue whether less than predefined thresholding ε, if should value less than ε, expression has been satisfied and has been stopped iterated conditional, returns former caller and exports the tuple matrix in step 309 Otherwise change step 303 and continue iteration.
Initial value when inference 3 and inference 4 provide desired value respectively and be S and C, this two inferences explanation, the target λ that is asked necessarily is clipped in λ 0And λ 1Between.Fig. 4 is for choosing the exemplary schematic representation of dividing value and floor value in the first embodiment of the invention; Fig. 5 is for choosing the exemplary schematic representation of dividing value and floor value in the second embodiment of the invention.
Based on above-mentioned algorithm and flow process, the invention allows for tuple calculation element in a kind of RS decoding.Fig. 6 is the demonstrative structure figure according to tuple calculation element in the RS decoding of the present invention.As shown in Figure 6, this device 600 comprises:
Input module 601 is used to receive the desired value that reliability matrix and tuple calculate;
Desired value representation module 602 is used for described desired value is expressed as the monotonic function of an independent variable;
Tuple matrix computations module 603, be used to utilize the characteristic of desired value for the monotonic function of independent variable, this independent variable is carried out iteratively faster with the pairing independent variable value of calculating desired value, and calculate the tuple matrix according to this reliability matrix and the described independent variable value that calculates.
Wherein, desired value representation module 602 can be used for described desired value is expressed as the monotonically increasing function of an independent variable; Desired value representation module 602 can also be used for described desired value is expressed as the monotonic decreasing function of an independent variable.The reliability matrix that input module 601 receives both can be full reliability matrix, also can be sparse reliability matrix.
Preferably, tuple matrix computations module 603 is used to utilize dichotomy algorithm or golden cut algorithm that this independent variable is carried out iteratively faster.
Based on tuple calculation element in the above-mentioned RS decoding, the invention allows for a kind of RS code decoder.Fig. 7 is the demonstrative structure figure according to RS decoder of the present invention.As shown in Figure 7, this decoder 700 comprises:
Tuple calculation element 701, be used for calculating the tuple matrix according to the reliability matrix of input and the desired value of tuple calculating, wherein desired value is expressed as the monotonic function of an independent variable, utilize the characteristic of desired value for the monotonic function of independent variable, this independent variable is carried out iteratively faster with the pairing independent variable value of calculating desired value, and go out the tuple matrix according to the described independent variable value that calculates and this reliability matrix computations;
Two variable polynomial interopolation devices 702 are used for the polynomial coefficient of tuple matrix computations two variablees that calculates according to described, to obtain two variable multinomials;
Two variable multinomial decomposers 703 are used for the two variable multinomials that obtain are decomposed, to obtain being listed as the candidate codewords of sign indicating number decoding.
Particularly: the consideration code length is N, message length is the RS sign indicating number decoding of K, for two variable polynomial interopolation devices 702, after interpolation point and corresponding each interpolation point tuple obtain, two variable polynomial interopolation devices are listed coefficient and are defined in the some linear equations of finite field gf (q), the corresponding binary polynomial Q of the unknown number of the system of linear equations that obtains (x, y) coefficient, separate this system of linear equations and can obtain binary polynomial Q (x, y) coefficient, (x, the computing of coefficient y) is called Q (x, y) interpolation to ask for Q.
For two variable multinomial decomposers 703, when binary polynomial Q (x, y) obtain after, (wherein f (x) is at most the multinomial of K-1 for the number of times that is defined in GF (q) for x, factor y-f y) (x) to obtain Q.The number of times that decomposites is at most the candidate codewords multinomial of each multinomial of K-1 for the decoding of row sign indicating number, all code words of listing is compared with the sequence of receiving can draw the optimal decoding code word.
The invention allows for a kind of RS code coding method.Fig. 8 is the exemplary flow chart according to RS interpretation method of the present invention.As shown in Figure 8, this method comprises:
Step 801: the desired value that input reliability matrix and tuple calculate, described desired value is expressed as the monotonic function of an independent variable, utilizing desired value is the characteristic of the monotonic function of this independent variable, this independent variable is carried out iteratively faster with the pairing independent variable value of calculating desired value, and calculate the tuple matrix according to this reliability matrix and the described independent variable value that calculates;
Step 802: according to the described polynomial coefficient of tuple matrix computations two variablees that calculates, obtaining two variable multinomials, and the two variable multinomials that obtain are decomposed, to obtain being listed as the candidate codewords of sign indicating number decoding.
Wherein, be the situation that interpolation that tuple calculates is counted for desired value, described iteratively faster specifically comprises:
At first, independent variable is got dividing value and floor value, wherein go up dividing value greater than the pairing independent variable value of desired value, floor value is less than the pairing independent variable value of desired value; The target function value of any between dividing value and the floor value on calculating then, and whether the target function value of judging this point count less than described interpolation, if less than, upgrade floor value with the independent variable value of this point, if be not less than, then upgrade and go up dividing value with the independent variable value of this point; Whether judge the difference that goes up dividing value and floor value again less than predefined threshold value, if less than, finish described iteratively faster, go up the target function value of putting between dividing value and the floor value otherwise return again to calculate, thereby continue iteration.
For desired value is the situation of cost value, and described iteratively faster specifically comprises:
At first, independent variable is got dividing value and floor value, wherein go up dividing value greater than the pairing independent variable value of desired value, floor value is less than the pairing independent variable value of desired value; The target function value of any between dividing value and the floor value on calculating then, and whether the target function value of judging this point less than described cost value, if less than, upgrade floor value with the independent variable value of this point, if be not less than, then upgrade and go up dividing value with the independent variable value of this point; Whether judge the difference that goes up dividing value and floor value again less than predefined threshold value, if less than, finish described iteratively faster, go up the target function value of putting between dividing value and the floor value otherwise return to calculate, thereby continue iteration.
The following describes examples of properties of the present invention:
In order to verify the validity of this method calculating tuple, can adopt the C++ coding on Pentium (Pentium) 4 Windows XP platforms, algorithm computation speed to be carried out emulation.In order to get rid of the correlation of algorithm operation result, method that investigation Koetter etc. is proposed and the ratio of running time required for the present invention to machine.
In order accurately to calculate running time, algorithm invokes to be tested repeatedly can be asked for its average time.In emulation, the setting of call number is a principle to have 99% confidence level the running time that guarantees to obtain.Choose two RS sign indicating numbers, one is encoded to (255,144,112) that are defined in finite field gf (256), and another is encoded to (63,32, the 32) sign indicating number that is defined in finite field gf (64), uses this sign indicating number to carry out emulation and observes its speed of service.Use additive white Gaussian noise channel (AWGN) channel to carry out emulation, the result when observation signal to noise ratio (Eb/N0) is 10dB.For each symbol that receives, include the probability of the correspondence of J nearest around this acceptance point parameter point in the reliability matrix.
Because first embodiment and the different desired value of the corresponding same algorithm of second embodiment, the only running time of relatively improving second kind of situation of second embodiment and prior art.
For row sign indicating numbers decoding, establish a row sign indicating number code word number and be no more than L, then according to the definition of Koetter etc., establishing K is message length, desired value C may be defined as C=(K-1) L 2/ 2.Parameter ρ=0.5 is set, ε=0.0001.Choose that some (L, J) parameter is to carrying out emulation.Simulation result as shown in Table 1.Method of the present invention has identical input and identical output with original Koetter scheduling algorithm.
Table 1 is some RS codes results's running time, and row S-R represents that Koetter scheduling algorithm and the present invention calculate the time ratio of tuple.
Figure A20061016801100261
Table 1
As can be seen from Table 1, the method speed of service of the present invention is higher than original algorithm far away.The present invention is guaranteeing to have reduced implementation complexity under the constant situation of RS algebraically Soft decision decoding performance.
In sum, the desired value of algebraically soft-decision RS decoding tuple calculation procedure can be expressed as the monotonic increase or the decreasing function of certain independent variable.
The present invention is incorporated into the increasing function feature algebraically soft-decision RS decoding tuple just and calculates, and searches out appropriate initial value simultaneously, thereby can adopt dichotomy or Fibonacci method to calculate the tuple matrix fast.Owing to introduced the increasing function characteristic, use very fast dichotomy or the Fibonacci method of convergence rate, only need iteration step number seldom just can obtain needed result, avoided methods such as Koetter progressively to search for the big shortcoming of amount of calculation, greatly reduced the complexity that tuple calculates.
The above is preferred embodiment of the present invention only, is not to be used to limit protection scope of the present invention.Within the spirit and principles in the present invention all, any modification of being done, be equal to replacement, improvement etc., all should be included within protection scope of the present invention.

Claims (15)

1. the tuple computational methods during a RS deciphers is characterized in that this method comprises:
Import the desired value that reliability matrix and tuple calculate, described desired value is expressed as the monotonic increase or the monotonic decreasing function of an independent variable;
Utilizing desired value is the monotonic increase of this independent variable or the characteristic of monotonic decreasing function, this independent variable is carried out iteratively faster with the pairing independent variable value of calculating desired value, and calculate the tuple matrix according to this reliability matrix and the described independent variable value that calculates.
2. the tuple computational methods in the RS according to claim 1 decoding is characterized in that, describedly independent variable is carried out iteratively faster be: utilize dichotomy algorithm or golden cut algorithm that independent variable is carried out iteratively faster.
3. the tuple computational methods in the RS decoding according to claim 1 is characterized in that, described desired value is that the interpolation that tuple calculates is counted, and described iteratively faster specifically comprises:
A1, independent variable is got dividing value and floor value, wherein go up dividing value greater than the pairing independent variable value of desired value, floor value is less than the pairing independent variable value of desired value;
The target function value of any between dividing value and the floor value in B1, the calculating, and whether the target function value of judging this point count less than described interpolation, if less than, upgrade floor value with the independent variable value of this point, if be not less than, then upgrade and go up dividing value with the independent variable value of this point;
Whether the difference of dividing value and floor value less than predefined threshold value in C1, the judgement, if less than, finish described iteratively faster, otherwise return execution in step B1.
4. the tuple computational methods in the RS decoding according to claim 3 is characterized in that described floor value is λ 0, described upward dividing value is λ 1,
&lambda; 0 = s N , &lambda; 1 = s N + q ;
Wherein: N is the code length of RS sign indicating number, and s is that described interpolation is counted, and q is an order of modulation.
5. the interpretation method of RS sign indicating number according to claim 1 is characterized in that, described desired value is a cost value, and described iteratively faster specifically comprises:
A2, independent variable is got dividing value and floor value, wherein go up dividing value greater than the pairing independent variable value of desired value, floor value is less than the pairing independent variable value of desired value;
The target function value of any between dividing value and the floor value in B2, the calculating, and whether the target function value of judging this point less than described cost value, if less than, upgrade floor value with the independent variable value of this point, if be not less than, then upgrade and go up dividing value with the independent variable value of this point;
Whether the difference of dividing value and floor value less than predefined threshold value in C2, the judgement, if less than, finish described iteratively faster, otherwise return execution in step B2.
6. the interpretation method of RS sign indicating number according to claim 5 is characterized in that, described floor value is λ 0, described upward dividing value is λ 1, and
&lambda; 0 = - N + N 2 + 8 C &CenterDot; &Sigma; i = 1 q &Sigma; j = 1 N &pi; ij 2 2 &Sigma; i = 1 q &Sigma; j = 1 N &pi; ij 2 ;
&lambda; 1 = &lambda; 0 + 2 &lambda; 0 &CenterDot; N + N &CenterDot; q N + 2 &lambda; 0 &CenterDot; &Sigma; i = 1 q &Sigma; j = 1 N &pi; ij 2 ;
Wherein: N is the code length of RS sign indicating number, and C is described cost value, and q is an order of modulation, π IjElement for the capable j row of reliability matrix i.
7. according to the tuple computational methods in each described RS decoding among the claim 1-6, it is characterized in that described reliability matrix is full reliability matrix or sparse reliability matrix.
8. one kind is used for the tuple calculation element that RS deciphers, and it is characterized in that this device comprises:
Input module is used to receive the desired value that reliability matrix and tuple calculate;
The desired value representation module is used for described desired value is expressed as the monotonic function of an independent variable;
Tuple matrix computations module, be used to utilize the characteristic of desired value for the monotonic function of independent variable, this independent variable is carried out iteratively faster with the pairing independent variable value of calculating desired value, and calculate the tuple matrix according to this reliability matrix and the described independent variable value that calculates.
9. the tuple calculation element of RS decoding according to claim 8, it is characterized in that, described desired value representation module is used for described desired value is expressed as the monotonically increasing function of an independent variable, or is used for described desired value is expressed as the monotonic decreasing function of an independent variable.
10. the tuple calculation element of RS decoding according to claim 8 is characterized in that described input module is used to receive full reliability matrix or sparse reliability matrix.
11. the tuple calculation element of each described RS decoding is characterized in that described tuple matrix computations module is used to utilize dichotomy algorithm or golden cut algorithm that this independent variable is carried out iteratively faster according to Claim 8-10.
12. a RS code decoder is characterized in that, this decoder comprises:
The tuple calculation element, be used for calculating the tuple matrix according to the reliability matrix of input and the desired value of tuple calculating, wherein desired value is expressed as the monotonic function of an independent variable, utilize the characteristic of desired value for the monotonic function of independent variable, this independent variable is carried out iteratively faster with the pairing independent variable value of calculating desired value, and go out the tuple matrix according to the described independent variable value that calculates and this reliability matrix computations;
Two variable polynomial interopolation devices are used for the polynomial coefficient of tuple matrix computations two variablees that calculates according to described, to obtain two variable multinomials;
Two variable multinomial decomposers are used for the two variable multinomials that obtain are decomposed, to obtain being listed as the candidate codewords of sign indicating number decoding.
13. a RS code coding method is characterized in that, this method comprises:
The desired value that input reliability matrix and tuple calculate, described desired value is expressed as the monotonic function of an independent variable, utilizing desired value is the characteristic of the monotonic function of this independent variable, this independent variable is carried out iteratively faster with the pairing independent variable value of calculating desired value, and calculate the tuple matrix according to this reliability matrix and the described independent variable value that calculates;
According to the described polynomial coefficient of tuple matrix computations two variablees that calculates, obtaining two variable multinomials, and the two variable multinomials that obtain are decomposed, to obtain being listed as the candidate codewords of sign indicating number decoding.
14. RS code coding method according to claim 13 is characterized in that,
Described desired value is that the interpolation that tuple calculates is counted, and described iteratively faster specifically comprises:
A3, independent variable is got dividing value and floor value, wherein go up dividing value greater than the pairing independent variable value of desired value, floor value is less than the pairing independent variable value of desired value;
The target function value of any between dividing value and the floor value in B3, the calculating, and whether the target function value of judging this point count less than described interpolation, if less than, upgrade floor value with the independent variable value of this point, if be not less than, then upgrade and go up dividing value with the independent variable value of this point;
Whether the difference of dividing value and floor value less than predefined threshold value in C3, the judgement, if less than, finish described iteratively faster, otherwise return execution in step B3.
15. RS code coding method according to claim 13 is characterized in that, described desired value is a cost value, and described iteratively faster specifically comprises:
A4, independent variable is got dividing value and floor value, wherein go up dividing value greater than the pairing independent variable value of desired value, floor value is less than the pairing independent variable value of desired value;
The target function value of any between dividing value and the floor value in B4, the calculating, and whether the target function value of judging this point less than described cost value, if less than, upgrade floor value with the independent variable value of this point, if be not less than, then upgrade and go up dividing value with the independent variable value of this point;
Whether the difference of dividing value and floor value less than predefined threshold value in C4, the judgement, if less than, finish described iteratively faster, otherwise return execution in step B4.
CNA2006101680116A 2006-12-15 2006-12-15 Method and apparatus of multiple numbers computation in RS decoding and decoder and method of decoding Pending CN101202550A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CNA2006101680116A CN101202550A (en) 2006-12-15 2006-12-15 Method and apparatus of multiple numbers computation in RS decoding and decoder and method of decoding
JP2007323919A JP2008154238A (en) 2006-12-15 2007-12-14 Method and apparatus for calculating multiplicity in rs decoding, and decoder and decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2006101680116A CN101202550A (en) 2006-12-15 2006-12-15 Method and apparatus of multiple numbers computation in RS decoding and decoder and method of decoding

Publications (1)

Publication Number Publication Date
CN101202550A true CN101202550A (en) 2008-06-18

Family

ID=39517548

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006101680116A Pending CN101202550A (en) 2006-12-15 2006-12-15 Method and apparatus of multiple numbers computation in RS decoding and decoder and method of decoding

Country Status (2)

Country Link
JP (1) JP2008154238A (en)
CN (1) CN101202550A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101494462B (en) * 2009-03-03 2012-02-22 东南大学 Iterative decoding method for RS product code cascade convolution code system
CN101771644B (en) * 2008-12-31 2012-12-05 北京信威通信技术股份有限公司 Joint detection and soft decision decoding-based signal receiving method
CN104915699A (en) * 2015-05-21 2015-09-16 中山大学 Matrix two-dimensional code RS decoding error correction method based on improved GS algorithm

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101771644B (en) * 2008-12-31 2012-12-05 北京信威通信技术股份有限公司 Joint detection and soft decision decoding-based signal receiving method
CN101494462B (en) * 2009-03-03 2012-02-22 东南大学 Iterative decoding method for RS product code cascade convolution code system
CN104915699A (en) * 2015-05-21 2015-09-16 中山大学 Matrix two-dimensional code RS decoding error correction method based on improved GS algorithm
CN104915699B (en) * 2015-05-21 2018-02-09 中山大学 Matrix two-dimensional code RS decoding error correction methods based on improved GS algorithms

Also Published As

Publication number Publication date
JP2008154238A (en) 2008-07-03

Similar Documents

Publication Publication Date Title
CN107517095B (en) Polarization code coding and decoding method for non-uniform sectional check
Yu et al. A least square method for parameter estimation of RSC sub-codes of turbo codes
CN101656541B (en) Coding method and device of RS codes
CN101162965B (en) Deletion-correcting coding method and system of LDPC code
Wu et al. A maximum cosinoidal cost function method for parameter estimation of RSC turbo codes
CN1574650A (en) Apparatus and method for decoding a low density parity check code in a communication system
CN107332570B (en) Polarization code coding method of segmented cascade Hash sequence
WO2007053126A1 (en) Methods and devices for decoding and encoding data
Chang et al. Fast blind recognition of BCH code based on spectral analysis and probability statistics
CN101202550A (en) Method and apparatus of multiple numbers computation in RS decoding and decoder and method of decoding
CN108063623B (en) Serial elimination decoding method of Polar code for reducing complexity
CN101106437B (en) A decoding method for limited geometrical low density checksum code
Xing et al. Low-complexity Chase decoding of Reed-Solomon codes using module
Hashimoto Composite scheme LR+ Th for decoding with erasures and its effective equivalence to Forney's rule
CN101707486A (en) LDPC decryption method of multi-state belief propagation (BP) iteration with unidirectional rectification
CN105915231B (en) The long constraint convolutional code building method of superposition is repeated based on multiplying property
CN100355211C (en) LDPC iteration encoding Method based on improved Taneer graph
US11515895B2 (en) Block code encoding and decoding methods, and apparatus therefor
Finamore et al. Improving the performance of LT codes
US7055102B2 (en) Turbo decoder using parallel processing
CN107342775B (en) Viterbi decoding method for punctured convolutional code
CN109802690B (en) Decoding method, device and computer readable storage medium
CN102916707B (en) Compatible convolutional code generator polynomial defining method, coding method and encoder
KR20070084951A (en) Apparatus and method for receiving signal in a communication system
CN113258937B (en) Component decoder, extrinsic information storage unit, and Turbo code decoder

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20080618