CN100525118C - Turbo code interleaving address computing method and device - Google Patents
Turbo code interleaving address computing method and device Download PDFInfo
- Publication number
- CN100525118C CN100525118C CNB2005100665260A CN200510066526A CN100525118C CN 100525118 C CN100525118 C CN 100525118C CN B2005100665260 A CNB2005100665260 A CN B2005100665260A CN 200510066526 A CN200510066526 A CN 200510066526A CN 100525118 C CN100525118 C CN 100525118C
- Authority
- CN
- China
- Prior art keywords
- row
- address
- array
- result
- prime number
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
The method thereof comprises: determining the basic parameters of interleave matrix in term of the length of code-blocks; in term of the basic parameters of the interlacing matrix, the column number selecting array and the minimum relive prime integer of the interleave matrix is figured out using the adder, subtracter and control logic; the turbo code interleave address is figured out using the column number selection array and the minimum relative prime integer. The apparatus thereof comprises: a basic parameters calculation module, a minimum relative prime integer array calculation module, a column number selection array calculation module and an interleave address calculation module.
Description
Technical field
The present invention relates to computer application field, relate in particular to a kind of computational methods and device of Turbo code interleaving address.
Background technology
Turbo code is a kind of new error control code that French scholar found in 1993, is one of achievement in research great in information and the coding field, is the best sign indicating number of application performance in the fields such as magnetic recording such as remote data communication, data.
Because Turbo code very near BER (error rate) limit of shannon formula, has obtained using widely in CDMA (code division multiple access) and 3G (Third Generation) Moblie technology.Before Turbo code is carried out the operation of Code And Decode, need utilize the Turbo code interleaver that the input data are carried out nonuniformity interweaves, promptly the input data are rearranged combination, make the weight of the code word of input data obtain redistribution, thereby make the pseudo-randomness of the code word of input data reach best, the ability of raising system antiburst error improves systematic function.
The Turbo code interleaver of 3GPP (third generation partnership project) 25.212 agreements regulation is defined as follows:
1, code block length K decision interleaver matrix line number R.
Situation 1:K=40 is during to 159 bits, R=5;
Situation 2:K=160 is during to 200 bits or 481 to 530 bits, R=10;
Situation 3:K is other length, R=20.
2, determine prime number P and interleaver matrix columns C according to code block length K.
Situation 1:K=481 is to 530 bits, C=p=53;
Situation 2: seek minimum prime number in the table 1 from be stored in ROM (read-only memory), make p satisfy: K≤R * (p+1), specific operation process is: read the value of P in order successively from table 1, do the multiplication comparison operation, till finding the P that satisfies condition.Determine columns C according to the value of P then.
Table 1: prime number table
The P index | Prime number p | Root v | The P index | Prime number p | Root v | The P index | Prime number p | Root v |
0 | 7 | 3 | 22 | 101 | 2 | 44 | 223 | 3 |
1 | 11 | 2 | 23 | 103 | 5 | 45 | 227 | 2 |
2 | 13 | 2 | 24 | 107 | 2 | 46 | 229 | 6 |
3 | 17 | 3 | 25 | 109 | 6 | 47 | 233 | 3 |
4 | 19 | 2 | 26 | 113 | 3 | 48 | 239 | 7 |
5 | 23 | 5 | 27 | 127 | 3 | 49 | 241 | 7 |
6 | 29 | 2 | 28 | 131 | 2 | 50 | 251 | 6 |
7 | 31 | 3 | 29 | 137 | 3 | 51 | 257 | 3 |
8 | 37 | 2 | 30 | 139 | 2 | |||
9 | 41 | 6 | 31 | 149 | 2 | |||
10 | 43 | 3 | 32 | 151 | 6 | |||
11 | 47 | 5 | 33 | 157 | 5 | |||
12 | 53 | 2 | 34 | 163 | 2 | |||
13 | 59 | 2 | 35 | 167 | 5 | |||
14 | 61 | 2 | 36 | 173 | 2 | |||
15 | 67 | 2 | 37 | 179 | 2 | |||
16 | 71 | 7 | 38 | 181 | 2 | |||
17 | 73 | 5 | 39 | 191 | 19 | |||
18 | 79 | 3 | 40 | 193 | 5 | |||
19 | 83 | 2 | 41 | 197 | 2 | |||
20 | 89 | 3 | 42 | 199 | 3 | |||
21 | 97 | 5 | 43 | 211 | 2 | |||
3, will import code block writes in the interleaver matrix of R * C by row;
4, constant series in the structure row, construct constant series in the ranks, interweave, in the ranks interweave again in advance then;
Row number according to P (j) (j=0,1 ..., R-1) sequence in the ranks exchanges, P (j) be j by the capable initial position of exchange.
PA:{19,9,14,4,0,2,5,7,12,18,10,8,13,17,3,1,16,6,15,11}for R=20;
PB:{19,9,14,4,0,2,5,7,12,18,16,13,17,15,3,1,6,11,8,10}for R=20;
PC:{9,8,7,6,5,4,3,2,1,0}for R=10;
PD:{4,3,2,1,0}for R=5。
Sequence length K:P (j)
40to159-bit: PD
160to200-bit: PC
201to480-bit: PA
481to530-bit:: PC
531to2280-bit: PA
2281to2480-bit: PB
2481to3160-bit: PA
3161to3210-bit: PB
3211to5114-bit: PA
Row exchanges concern more complicated some, divide three kinds of situations:
Situation 1: if C=p, carry out exchanging between the j time row (j=0,1,2 ..., R-1), cj (i)=s ((i*q (j)) mode (p-1)), i=0,1,2 ..., (p-2)., and cj (p-1)=0;
Situation 2: if C=p+1, carry out exchanging between the j time row (j=0,1,2 ..., R-1), cj (i)=s ((i*q (j)) mode (p-1)), i=0,1,2 ..., (p-2), cj (p-1)=0, cj (p)=p; If (K=C * R), exchange c
R-1(p) and c
R-1(0).
Situation 3: if C=p-1, carry out exchanging between the j time row (j=0,1,2 ..., R-1), cj (i)=s ((i*q (j)) mode (p-1))-1, i=0,1,2 ..., (p-2).
Wherein minimum prime number group { q (j) } (j=1,2 ... definite method R-1) is: g.c.d{qj, p-1}=1, q (j)〉6, q (j)〉q (j-1), q (0)=1.
Sequence S (i) method of determining is: s (i)=(v*s (i-1)) mod p, and i=1,2 ..., (p-2)., s (0)=1.Wherein v is the root v that finds from table 1.
3, export code block (the matrix packing ratio is special procured and deleted) by row in the interleaver matrix.
The implementation that the Turbo code interleaving address calculates mainly contains 2 kinds of modes: 1, interleaving address is estimated algorithm, promptly calculated the interleaving address table in advance, and this table left among the RAM (random access memory), when carrying out the TURBO coding, if the place that need interweave is arranged, then directly from RAM, read interleaving address; 2, the real-time computing method of interleaving address is calculated interleaving address in real time when TURBO encodes.
A kind of computational methods of interleaving address are in the prior art: adopt high-speed dsp (digital signal processor) to calculate interleaving address in the interleaver of described 3GPP 25.212 agreements regulation.
The shortcoming of these interleaving address computational methods is: comprise a large amount of multiplication and modulo operation in the interleaver implementation of 3GPP 25.212 agreements regulation.Adopt high-speed dsp according to this computation schemes interleaving address, the time-delay of processing is relatively large, can't improve binary encoding, the decoding performance of system.
The another kind of computational methods of interleaving address are in the prior art: adopt ASIC (application-specific integrated circuit (ASIC)) or FPGA (field programmable gate array) to calculate interleaving address in real time in the interleaver of described 3GPP 25.212 agreements regulation.
The shortcoming of these interleaving address computational methods is:
1, it is bigger to consume the power consumption of more logical resource, chip;
2, the being associated property of TURBO coding/decoding module is bigger, influences intermodule stream treatment speed separately;
When 3, carrying out the encoding and decoding of a plurality of code blocks, need the double counting interleaving address.
Summary of the invention
In view of above-mentioned existing in prior technology problem, the purpose of this invention is to provide a kind of computational methods and device of Turbo code interleaving address, thereby improved the computational speed of interleaving address, optimized the consumption of system logic resource, reduced the power consumption of System on Chip/SoC.
The objective of the invention is to be achieved through the following technical solutions:
A kind of computational methods of Turbo code interleaving address comprise:
A, determine that according to the input code block length basic parameter of interleaver matrix, this basic parameter comprise the line number R of interleaver matrix and columns C, prime number p, root v;
B, according to the basic parameter of described interleaver matrix, utilize adder, subtracter and control logic to calculate minimum matter integer array, described v added up, if the described value that adds up greater than prime number p, then the value of the value-p that will add up deposits into buffer memory from small to large successively according to the address; Otherwise, the value that adds up is deposited into buffer memory from small to large successively according to the address, go out the value of being deposited in the described buffer memory according to first address lookup, go to inquire about the value of being deposited in the described buffer memory with the value that is inquired again as the address, the value that one query goes out successively goes to inquire about the value of being deposited in the described buffer memory again as the address, and the value that will at every turn inquire is formed row number selection array;
C, utilize described row number to select array and minimum matter integer array, calculate the Turbo code interleaving address.
Described step B comprises:
B1, a median is set, this median is initialized as 0;
B2, according to the prime number p of described interleaver matrix and the line number R of interleaver matrix, from existing prime number, select predetermined quantity and greatest common divisor p-1 from small to large successively and be 1 prime number;
If the described prime number of selecting of B3 is greater than median+(p-1), the value of prime number-median of selecting of record-(p-1) then, and the median p-1 that adds up; Otherwise, the value of prime number-median that record is selected, median remains unchanged;
B4, the value that is write down is formed minimum matter integer array successively.
Described step B2 comprises:
B21, selection are formed a prime number table greater than preceding 21 prime numbers of 6;
B22, from described prime number table, read prime number from small to large successively, and successively in the prime number read of record and the greatest common divisor of p-1 be not the position of 1 prime number;
B23, be not that position, prime number p and the root v of 1 prime number forms the position table that a minimum prime number group is rejected prime number with described record and greatest common divisor p-1;
B24, reject the position table of prime number and the line number R of interleaver matrix, from described prime number table, read predetermined quantity and greatest common divisor p-1 successively and be 1 prime number according to described minimum prime number group.
Described step C further comprises:
C1, according to the basic parameter of described interleaver matrix, carry out the conversion of capable number of interleaver matrix;
C2, utilize described row number to select array and minimum matter integer array, carry out the conversion of interleaver matrix row number;
C3, according to the row after the described conversion number and row number, calculate the Turbo code interleaving address.
Described step C2 further comprises:
C21, to utilize adder that the prime number in the described minimum matter integer array is carried out step-length be 1 add up;
C22, to utilize subtracter and control logic be the modulo operation that 1 the value that obtained of adding up is carried out p-1 to described step-length;
C23, with the result of described modulo operation as the address, inquire about described row and number select value in the array, and with the value that checked out row after as conversion number, carry out the conversion of interleaver matrix row number.
Described step C2 also comprises:
Special row and column transformational marker p_c_rel is set, if C=p-1, then p_c_rel=0 in described basic parameter; If C=p, then p_c_rel=1; If C=p+1, input code block length K!=R*C, then p_c_rel=2; If C=p+1, K=R*C, then p_c_rel=3.
According to the columns col_cnt of the line number row_cnt of described p_c_rel, the data that interweaved and the data that interweaved, carry out the conversion of special row of interleaver matrix number, wherein
If p_c_rel=1, col_cnt=p or p_c_rel=2, col_cnt=p-1 or p_c_rel=3, col_cnt=p-1, then the row after the conversion number are 0;
=0 or p_c_rel=3, col_cnt=0, row_cnt=0, then the row after the conversion number are p;
If p_c_rel=3, col_cnt=p, row_cnt=0, then the row after the conversion number are 1;
If p_c_rel=0, then the row number after the conversion number select the output valve of array to deduct 1 value for row.
A kind of Turbo code interleaver comprises:
Parameter Calculation circuit: the basic parameter that is used for calculating the root parameter and the prime number parameter that comprise interleaver matrix according to code block length, this basic parameter comprises the line number R of interleaver matrix and columns C, prime number p, root v, and the parameter that calculates is passed to row respectively number selects array counting circuit, minimum matter integer array counting circuit and interleaving address counting circuit;
Minimum matter integer array counting circuit: the basic parameter that is used for the interleaver matrix that passes over according to the Parameter Calculation circuit, utilize adder, subtracter and control logic to calculate and meet the prime number array that minimum matter integer is selected condition, and the result that will calculate leaves in the random access memory ram;
Row number are selected the array counting circuit: be used for the root v that passes over according to the Parameter Calculation circuit, relatively subtract each other by adding up and recursive algorithm calculates the number of falling out and selects array SI, and the result that will calculate leaves among the RAM;
Interleaving address counting circuit: the basic parameter that is used for the interleaver matrix that passes over according to the Parameter Calculation circuit, utilization is left the minimum matter integer array among the RAM in and is listed as number value of selection array, calculate interleaving address, and the interleaving address that calculates is left among the RAM;
Described row number selection array counting circuit comprises:
The comparison subtraction circuit adds up: the accumulation calculating that is used for being undertaken by adder the root parameter of interleaver matrix, by adder, subtracter and control logic the result who adds up is carried out the modulo operation of matter parameter then, and result calculated is passed to intermediate object program RAM;
Intermediate object program RAM: be used for depositing the result of calculation that the comparison subtraction circuit that adds up passes over successively according to address from small to large;
Recursion is searched circuit: be used for from first address, search the result of calculation of depositing among the intermediate object program RAM, the result of calculation that once finds in the past successively is as the address then, search the result of calculation of depositing among the intermediate object program RAM, and the result of calculation that finds is passed to final result RAM successively;
Final result RAM: be used for depositing successively recursion and search the result of calculation that circuit passes over, and with the final calculation result of this result of calculation as row number selection array.
Described minimum matter integer array counting circuit comprises:
Matter integer address obtains circuit: be used for the prime number parameter according to interleaver matrix, calculate and meet the address that minimum matter integer is selected the prime number of condition, and the result that will calculate passes to the comparison subtraction circuit;
Median is deposited circuit: be used to deposit the median of modulo operation, and the result that will deposit passes to the comparison subtraction circuit;
Compare subtraction circuit: be used for by adder, subtracter and control logic, utilize median to deposit the median that circuit passes over, to carry out modulo operation according to the prime number that the address inquired that matter integer address acquisition circuit passes over, and result calculated will be passed to minimum matter integer array RAM successively;
Minimum matter integer array RAM: be used for depositing successively the result of calculation that the comparison subtraction circuit passes over, and with the final calculation result of this result of calculation of depositing successively as minimum matter integer array.
Described interleaving address counting circuit comprises:
Row change-over circuit: be used for basic parameter, carry out the conversion of the row number of interleaver matrix, and the result that will change passes to interleaving address and determines circuit by the mode of tabling look-up according to interleaver matrix;
Row change-over circuit: be used for basic parameter according to interleaver matrix, the minimum matter integer array and the row number selection array that leaves among the final result RAM among the minimum matter integer array RAM left in utilization in, carry out the conversion of the row number of interleaver matrix, and the result that will change passes to interleaving address and determines circuit;
Interleaving address is determined circuit: row after the conversion that is used for being passed over according to row change-over circuit, row change-over circuit number and row number, calculate interleaving address, and the result that will calculate leaves among the RAM in.
As seen from the above technical solution provided by the invention, the present invention compares with prior art, the present invention has realized modulo operation in the interleaving address computational process by adder, subtracter and control logic, therefore, the present invention has simplified the Turbo interleaving address computational algorithm of stipulating in 3GGP 25.212 agreements, make Turbo interleaving address computational algorithm to realize by ASIC, thereby improved interleaving address computational speed, optimized the consumption of system logic resource, reduced the power consumption of System on Chip/SoC.
Description of drawings
Fig. 1 is a Turbo editing machine structure chart in the prior art;
Fig. 2 is the concrete process chart of the method for the invention;
Fig. 3 is the basic principle figure of the method for the invention;
Fig. 4 realizes the circuit theory diagrams that the SI array is calculated in the method for the invention;
Fig. 5 realizes the circuit theory diagrams that Q (j) array cuts algorithm mutually in the method for the invention;
Fig. 6 obtains circuit theory diagrams for realizing the prime number table address of Q (j) array in cutting algorithm mutually in the method for the invention;
Fig. 7 is the circuit theory diagrams of the modulo operation of realizing in the method for the invention adding up.
Embodiment
The invention provides a kind of computational methods and device of Turbo code interleaving address.Core of the present invention is: the modulo operation in the interleaving address computational process is converted into " relatively subtracting each other " computing, has simplified Turbo interleaving address computational algorithm.
Describe the method for the invention in detail below in conjunction with accompanying drawing, the concrete handling process of the method for the invention as shown in Figure 2, the basic principle figure that comprises 5 step the method for the invention as shown in Figure 3, the present invention is divided into 4 stages with the computational process of interleaving address: basic parameter is determined, calculate, Q (j) (minimum matter integer) array is calculated and interleaving address calculating by array for SI (row number select).
Describe the method for the invention in detail according to the flow process of the method for the invention below, the flow process of the method for the invention comprises the steps:
Step 2-1, determine basic parameter according to code block length.
The parameter that this step need be determined comprises: the line number of interleaver matrix and columns, prime number p, root v, minimum prime number group are rejected the position of prime number and the mark p_c_rel of the special conversion of switching matrix.
Wherein the line number of interleaver matrix and columns, prime number p, root v determine according to 3GPP 25.212 agreements regulation.Concrete operations are carried out according to following process:
1, determines the line number R of interleaver matrix.
Interleaver matrix line number R determines according to code block length K, divides three kinds of situations to handle:
Situation 1:K=40 is during to 159 bits, R=5;
Situation 2:K=160 is during to 200 bits or 481 to 530 bits, R=10;
Situation 3:K is other length, R=20.
2, determine prime number P, interleaver matrix columns C and root v.
Prime number P and interleaver matrix columns C determine according to code block length K and interleaver matrix line number R, handle in two kinds of situation:
Situation 1:K=481 is to 530 bits, C=p=53;
Situation 2: in the prime number table shown in the table 1, seek minimum prime number p, make p satisfy: K≤R * (p+1), specific operation process is: the value of reading prime number P by the P index column in the table 1 from small to large successively, according to formula K≤R * (p+1) do the multiplication comparison operation, till finding the P that satisfies condition.Determine columns C according to the value of P then.
Value according to P is searched in table 1, determines corresponding root v.
3, determine the position of minimum prime number group rejecting prime number.
Minimum prime number group carries out will using when interleaving address calculates, and minimum prime number group is rejected the position of prime number and determined that according to parameter P specific operation process is as follows:
From table 1,, be followed successively by 7,11,13......, 79 according to picking out preceding 19 prime numbers from small to large), the prime number that needs to reject is: this prime number and greatest common divisor (p-1) they are not 1, that is: g.c.d{qj, p-1}!=1.
As: in the time of p=23, prime number 11 and 22 greatest common divisor are not 1, so that prime number 11 needs when selecting is disallowable; In the time of p=239, need to reject 2 prime numbers: the 0th prime number 7 and the 2nd prime number 13, because 7 and 13 can both be divided exactly by 238.
The corresponding relation of the position of parameter p and minimum prime number group rejecting prime number is as shown in table 2, the 4th row record needs to reject the position of prime number in the table, wherein 20 expressions do not need to reject, and 21 expressions need to reject 2 prime numbers (the 0th and the 2nd), and other value representations need be rejected the particular location of prime number.
Table 2: prime number is counted P, root v and is rejected prime number position table
The address | P (9 bit) | V (3 bit) | Reject position (5 bit) |
0 | 7 | 3 | 20 |
1 | 11 | 2 | 20 |
2 | 13 | 2 | 20 |
3 | 17 | 3 | 20 |
4 | 19 | 2 | 20 |
5 | 23 | 5 | 1 |
6 | 29 | 2 | 0 |
7 | 31 | 3 | 20 |
8 | 37 | 2 | 20 |
9 | 41 | 6 | 20 |
10 | 43 | 3 | 0 |
11 | 47 | 5 | 5 |
12 | 53 | 2 | 2 |
13 | 59 | 2 | 6 |
14 | 61 | 2 | 20 |
15 | 67 | 2 | 1 |
16 | 71 | 7 | 0 |
17 | 73 | 5 | 20 |
18 | 79 | 3 | 2 |
19 | 83 | 2 | 9 |
20 | 89 | 3 | 1 |
21 | 97 | 5 | 20 |
22 | 101 | 2 | 20 |
23 | 103 | 5 | 3 |
24 | 107 | 2 | 12 |
25 | 109 | 6 | 20 |
26 | 113 | 3 | 0 |
27 | 127 | 3 | 0 |
28 | 131 | 2 | 2 |
29 | 137 | 3 | 3 |
30 | 139 | 2 | 5 |
31 | 149 | 2 | 8 |
32 | 151 | 6 | 20 |
33 | 157 | 5 | 2 |
34 | 163 | 2 | 20 |
35 | 167 | 5 | 19 |
36 | 173 | 2 | 10 |
37 | 179 | 2 | 20 |
38 | 181 | 2 | 20 |
39 | 191 | 19 (representing) with 0 | 4 |
40 | 193 | 5 | 20 |
41 | 197 | 2 | 0 |
42 | 199 | 3 | 1 |
43 | 211 | 2 | 0 |
44 | 223 | 3 | 8 |
45 | 227 | 2 | 20 |
46 | 229 | 6 | 4 |
47 | 233 | 3 | 6 |
48 | 239 | 7 | 21 |
49 | 241 | 7 | 20 |
50 | 251 | 6 | 20 |
51 | 257 | 3 | 20 |
4, determine the mark of special conversion.
This mark is used for the relation of flag parameters p and columns C.
If C=p-1, then this mark p_c_rel=0;
If C=p, then this mark p_c_rel=1;
If C=p+1, and K!=R*C, then this mark p_c_rel=2;
If C=p+1 and K=R*C, then this mark p_c_rel=3.
Step 2-2, according to the interleaver matrix basic parameter, utilize adder, subtracter and the control logic number of being listed as to select the calculating of array and minimum matter integer array.
For the time of the calculating that reduces interleaving address, the present invention allows some calculate parallel processings as far as possible.Therefore, after basic parameter was determined, because SI (the row number selection) calculating of array and the calculating of Q (j) (minimum matter integer) array are separate, the calculating of these two arrays was handled concurrently among the present invention.
Below we at first describe the computational process of SI array.
Array S (i) method of determining is: s (i)=(v*s (i-1)) mod p, i=1,2 ... (p-2)., s (0)=1.Wherein v is the root v that finds from table 1.
In the computational process of interleaving address, need repeatedly use modulo operation.Calculate for delivery,, need to consume more logical resource, and also can strengthen the computing time of whole interleaving address if directly realize it being very uneconomic with logic.Therefore, key problem of the present invention is exactly the modulo operation of how simplifying in the interleaving address computational algorithm, by seeking the purpose that a kind of equivalent algorithm arrives modulo operation, rather than directly realizes modulo operation with divider.
Among the present invention the modulo operation in the SI array computational process is converted into " add up and relatively subtract each other " computing, the circuit theory diagrams that calculate by " add up and relatively subtract each other " computing realization SI array among the present invention as shown in Figure 4.Its concrete course of work is as follows:
1, at first, calculate (v*i) mod p (1<=i<p), and the value of being calculated is stored among the RAM as an array successively.The specific implementation process is:
Add up with an accumulator register, every bat v that adds up, and the value and the p that add up compared is if the value that adds up greater than p, as result of calculation, and stores this result of calculation " accumulated value-p " into intermediate object program RAM among; If the value that adds up is not more than p, then directly accumulated value is latched, and this value is stored in the next address among the intermediate object program RAM.Therefore, add up finish after, among the intermediate object program RAM from the address 0 beginning depositing (1*v) mod p successively, (2*v) mod p, (3*v) mod p ... ((p-1) * is the value of mod p v).Because v is less than p, so first data of storing among the intermediate object program RAM are: (1*v) mod p=v.
Then, call recurrence formula, the value of from middle RAM as a result, searching S (i) as index with the value of S (i-1).Be the address since 0, read the value of intermediate object program RAM, this value is exactly the value of S (1), then this value is stored into SI as a result among the RAM.Again with the value of S (1) as the address, read the value of intermediate object program RAM, the value of reading is exactly the value of S (2), and this is worth storing into SI as a result among the RAM...., and the like, can obtain the value of all S (i).
Below we describe the computational process of Q (j) array.
The computational process of minimum matter integer array Q (j) is mainly: select qualified prime number q from table 1, and carry out the p-1 modulo operation, then the result behind the modulo operation is left in the ram in slice.
The alternative condition of minimum matter integer group is: { q (j) } (j=1,2 ... R-1), make g.c.d{qj, p-1}=1, promptly the minimum common divisor of q (j) and p-1 is 1, wherein q (j)〉6, q (j)〉q (j-1), q (0)=1.
The specific implementation method of Q (j) array is: select preceding 21 prime numbers as original prime number array from table 1, value according to p, from table 2, find the position of the prime number that does not satisfy minimum matter integer group selection condition, i.e. rejecting prime number position in the table 2, then from described original prime number array according to the rejecting prime number position that finds, eliminate the prime number that does not satisfy alternative condition, obtain through the prime number array after rejecting, from this array, pick out preceding 19, and it is carried out the p-1 modulo operation, promptly obtain Q (j) array.
Modulo operation in the computational process of the prime number of picking out being carried out the modulo operation of p-1 and SI array mentioned above is similar, and adopting cuts algorithm mutually realizes.When carrying out the prime number modulo operation, the prime number of at every turn reading is ascending arrangement, and the difference of facing two prime numbers mutually is always smaller or equal to p-1.The described concrete processing procedure that cuts algorithm mutually is as follows:
A history value is set, and this history value is initialized as 0, will compare and subtract each other from the prime number read through the prime number array after rejecting and " history value+(p-1) " then, that is:
When the prime number of reading during more than or equal to " history value+(p-1) ", get " prime number-history value of reading-(p-1) " result as delivery, and the history value p-1 that adds up;
When the prime number of reading during less than " history value+(p-1) ", get the result of the value of " prime number-history value of reading " as delivery, history value remains unchanged.
Realize among the present invention that circuit theory diagrams that Q (j) array cuts algorithm mutually as shown in Figure 5.
Its concrete course of work is: (mould R-1) counts with a counter, controls the calculating process of whole Q (j) array.After receiving starting impulse, counter jumps to 0 and begin counting from being worth 31, and count value is followed successively by 0,1......R-1 (wherein R is the line number of array of interweaving).Counter is written to the operation result of Q (j) among the RAM when 0~R-1 successively.First initial value that writes is " 1 ", and the back writes the resulting result of modulo operation successively.
With the value of counter address as inquiry prime number table table 1, when running into the position that needs to reject, read the address and skip one, that is: read value+1 of address=counter; Also have a kind of special circumstances, need skip 2 addresses, when promptly needing to reject 2 prime numbers, for this situation, need skip the prime number of position 0 and position 2, when realizing, when the value of counter less than 2 the time, read value+1 of address=counter, when Counter Value more than or equal to 2 the time, value+2 of reading address=counter.
Prime number table address during realization Q (j) array cuts algorithm mutually obtains circuit theory diagrams as shown in Figure 6.
Its concrete course of work is: the value that can directly use counter is as the address, when running into the data that need rejecting, with skew of value increase of address generally speaking.These circuit theory diagrams are divided into 2 branches, promptly need to reject 2 and less than the situation of 2 prime numbers, and whether promptly reject the position is 21 (21 marks need be rejected the situation of 2 prime numbers).
If rejecting the position is 21, when the value of counter greater than 1 the time, add 2 addresses with the value of counter, otherwise add 1 address as ROM with the value of counter as ROM;
If rejecting the position is not 21, with the value of counter with reject the position and compare, when the value of counter 〉=during the rejecting position, add 1 address with the value of counter, otherwise directly use the address of the value of counter as ROM as ROM.
Step 2-3:, carry out the conversion of capable number of interleaver matrix according to the interleaver matrix basic parameter.
Interleaving address computational methods of the present invention are based on interleaving address and estimate algorithm.
The main processing procedure of the method for the invention is: row address and column address after interweaving with 2 rolling counters forwards, and the row address that comes out according to counting and column address are calculated row address and column address before interweaving, calculate the preceding address that interweaves with row address before interweaving and column address, and this address value write among the RAM, for the encoder inquiry.
The row of the row * matrix column number before the interleaving address=interweave+before interweaving number.2 counters are arranged in the present invention, respectively to row number (row_cnt) and row number counting (col_cnt).To the row counting, when the value of linage-counter equaled the line number of interleaver matrix, columns added 1 earlier, and line number makes zero.
Row that these two rolling counters forwards go out number and row number are row number after interweaving and row number, need change, and convert row number before interweaving and row number to.
Row number conversion is fairly simple, can directly change with the mode of tabling look-up.
Step 2-4: utilize the row calculate number to select array and minimum matter integer array, carry out the conversion of interleaver matrix row number.
Interleaver matrix row exchange concern more complicated some, divide three kinds of situations:
Situation 1: if C=p, carry out exchanging between the j time row (j=0,1,2 ..., R-1), cj (i)=s ((i*q (j)) mode (p-1)), i=0,1,2 ..., (p-2)., and cj (p-1)=0;
Situation 2: if C=p+1, carry out exchanging between the j time row (j=0,1,2 ..., R-1), cj (i)=s ((i*q (j)) mode (p-1)), i=0,1,2 ..., (p-2), cj (p-1)=0, cj (p)=p; If (K=C * R), exchange c
R-1(p) and c
R-1(0).
Situation 3: if C=p-1, carry out exchanging between the j time row (j=0,1,2 ..., R-1), cj (i)=s ((i*q (j)) mode (p-1))-1, i=0,1,2 ..., (p-2).
Wherein minimum prime number group { q (j) } (j=1,2 ... definite method R-1) is: g.c.d{qj, p-1}=1, q (j)〉6, q (j)〉q (j-1), q (0)=1.
Sequence S (i) method of determining is: s (i)=(v*s (i-1)) mod p, and i=1,2 ..., (p-2)., s (0)=1.Wherein V is the root v that finds from table 1.
Above the computing that all will use i*q (j) mod (p-1) of described three kinds of situations.
Utilize the rule of " (a*b) mod c is equivalent to (a* (b mod c)) mod c ", can do q (j) mod (p-1) operation earlier, multiply by i then, again to the multiplication result delivery.Because minimum matter integer array Q (j) calculates in step 2-2, and that the middle preservation of Q (j) is the result of q (j) mod (p-1).Therefore, can utilize array Q (j) that the computing of i*q (j) mod (p-1) is simplified.
If cj (i)=i*q (j) mod (p-1), because (i*q (j)) mod (p-1)=((i-1) * q (j)+q (j)) mod (p-1), and i only increases progressively 1 since 0 at every turn, utilize recursion rule rate, cj (0)=0, cj (1)=(cj (0)+q (j)) mod (p-1), cj (2)=(cj (1)+q (j)) mod (p-1) ... ..cj (i)=(cj (i-1)+q (j)) mod (p-1), so carrying out when cj (i) calculates, only need to the preceding historical results of once calculating add q (j) again delivery get final product.Therefore, the multiplication modulo operation among formula i*q (j) mod (p-1) can be converted into the modulo operation that adds up.
Realize in the method for the invention adding up modulo operation circuit theory diagrams as shown in Figure 7.Its groundwork process is:
I among formula i*q (j) mod (p-1) is the column count of interleaver matrix row, the method of the invention is undertaken by row when carrying out interleaving address calculating, behind the interleaving address that has calculated the 1st all row of row, carry out the interleaving address of the 2nd all row of row again, and the like ....When adding up modulo operation, at first the historical results of preceding all row that once calculate is noted, because the line number of interleaver matrix mostly is 20 row most, so need 20 history value of record at most.When the interleaving address that carries out new row calculates, with the value addition of history value and the current Q that reads (j), and with value after the addition and (p-1) comparison:
If the value that the value after the addition greater than p-1, is got after the addition deducts the result of calculation of the value of p-1 as the modulo operation that adds up;
If the value after the addition is not more than p-1, directly get value after the addition as the result of calculation of the modulo operation that adds up.
Simultaneously the result of calculation of the modulo operation that adds up is preserved as new history value, get ready for next column calculates.
Will be by (i*q (j)) mod (p-1) value that modulo operation obtained of adding up noted earlier as address (need subtract 1 with this value) for the C=p-1 situation, go to inquire about the value of the SI array that is obtained by step 2-2, just can obtain being listed as the row number before the exchange, be listed as conversion then accordingly.
In row number conversion, also need to consider some special circumstances.When C=p and C=p+1, the calculating of preceding p-1 row IA interchange address has only been finished in top processing.When C=p, p-1 row assignment 0; When C=p+1, p-1 row assignment 0, the p row assignment p.
Simultaneously, when C=p+1 and K=R*C, need do exchange to R-1 capable the 0th row and P row.Not before the exchange, the conversion of the 0th row and p row is listed as and number is respectively 1 and p, therefore, in the 0th capable when row of R-1, can run in this case, directly to exchange row assignment p, when running into the capable p row of R-1, directly to exchange row assignment 1 (R-1 that mentions here is capable to be meant row number after the exchange, when being 0 corresponding to the value of linage-counter).
Consider the VB vacancy bit that comprises last column in the switching matrix, after exchange is finished, need these VB vacancy bits are rejected.So when interleaving address calculates, need remove these special addresses.For the deposit position of VB vacancy bit before matrix switch should be: K, K+1 ... therefore R*C-1, does not write these values in the interleaving address table when running into the interleaving address value that calculates greater than K.
Conversion at the row of special relationship number in the method for the invention has a kind of special transfer algorithm.It mainly is according to the row row_cnt of current counting and row col_cnt, and switching matrix special marking p_c_rel, number selection of row before determining to interweave, under normal conditions, the output of row number selection array S (i) is the row number selection before interweaving, but, need to select some particular values, as " S (i)-1 ", " 0 ", " 1 ", " p " for some special circumstances.Its choice relation is:
If p_c_rel=0 then deciphers out 0, promptly the row number after the conversion number select the output valve of array to deduct 1 value (promptly selecting si_data-1 output) for row;
If p_c_rel=1 and col_cnt=p or p_c_rel=2 and col_cnt=p-1 or p_c_rel=3 and col_cnt=p-1 then decipher out 2, promptly the row after the conversion number are 0;
=0 or p_c_rel=3 and col_cnt=0 and row_cnt=0, then decipher out 3, promptly the row after the conversion number are p;
If p_c_rel=3 and col_cnt=p and row_cnt=0 then decipher out 4, promptly the row after the conversion number are 1;
Other situations decipher out 1, and promptly the row number after the conversion number are selected the output valve (promptly selecting si_data output) of array for row.
Step 2-5: utilize row number after the conversion and row number, carry out the calculating of interleaving address.
After the row after interweaving number and row number are changed, row before obtaining interweaving number and interweave before row number, utilize formula then: the row of the row * matrix column number before the interleaving address=interweave+before interweaving number, obtain the interleaving address of the needed preceding code block that interweaves, interleaving address with the code block before resulting interweaving deposits among the interleaving address RAM at last, uses for the inquiry of Turbo code editing machine.
The present invention also provides a kind of calculation element of Turbo code interleaving address, comprises as lower module:
Parameter Calculation module: be used for according to code block length, calculate line number and columns, prime number p, root v, the minimum prime number group of interleaver matrix and reject the position of prime number and the basic parameters such as mark of special conversion, and the parameter that calculates is passed to minimum matter integer array computing module, row number selection array computing module and interleaving address computing module respectively.
Minimum matter integer array computing module: be used for the prime number p that passes over according to the basic parameter determination module, from the prime number table, pick out and meet the prime number that minimum matter integer is selected condition, carry out the modulo operation of p-1 then by cutting algorithm mutually, calculate minimum matter integer group Q (j), and the result that will calculate leaves among the RAM in.
Row number are selected the array computing module: be used for the root v that passes over according to the basic parameter determination module, relatively subtract each other by adding up and recursive algorithm calculates the number of falling out and selects array SI, and the result that will calculate leaves among the RAM.
Interleaving address computing module: the basic parameter that is used for the interleaver matrix that passes over according to the basic parameter determination module, utilization is left the minimum matter integer array among the RAM in and is listed as number value of selection array, calculate the interleaving address before interweaving, and the interleaving address that calculates is left among the RAM.
Described minimum matter integer array computing module comprises again as lower module:
Matter integer address obtains module: be used for the condition selected according to prime number p and minimum matter integer, calculate the address that goes out to meet the prime number of the condition of selecting in the prime number table, and the result that will calculate pass to the comparison subtraction module;
The median storage module: be used to deposit and compare the needed median of additive operation, and the result that will deposit passes to the comparison subtraction module, this median is initialized as 0;
Compare subtraction module: be used for by adder, subtracter and control logic, the median of utilizing the median storage module to pass over, to carry out modulo operation according to the prime number that the address inquired that matter integer address acquisition module passes over, and result calculated will be passed to minimum matter integer array RAM successively
Minimum matter integer array RAM: be used for depositing successively the result of calculation that the comparison subtraction module passes over, and with the final calculation result of this result of calculation as minimum matter integer array.
Described row number selection array computing module comprises again as lower module:
The comparison subtraction module adds up: be used for the value according to root v, carry out accumulation calculating by register, with the result of accumulation calculating and the value of parameter p, compare additive operation then, and result calculated is passed to intermediate object program RAM by adder, subtracter and control logic.
Intermediate object program RAM: be used for from the address 0, deposit the result of calculation that the comparison subtraction module that adds up passes over successively.
Recursion is searched module: be used for from the address 0, search the result of calculation of depositing among the intermediate object program RAM, call recurrence formula then, the result of calculation of once searching successively subtracts a resulting value as the address, search the result of calculation of depositing among the intermediate object program RAM, and the result of calculation of searching is passed to final result RAM successively.
Final result RAM: be used for depositing successively recursion and search the result of calculation that module passes over, and with the final calculation result of this result of calculation as the SI array.
Described interleaving address computing module comprises again as lower module:
Row modular converter: be used for the basic parameter of the interleaver matrix that passes over according to the basic parameter determination module, carry out the conversion of the row number of interleaver matrix by the mode of tabling look-up, and the result that will change pass to the interleaving address determination module.
Row modular converter: be used for basic parameter according to interleaver matrix, the minimum matter integer array and the row number selection array that leaves among the final result RAM among the minimum matter integer array RAM left in utilization in, carry out the conversion of the row number of interleaver matrix, and the result that will change passes to the interleaving address determination module.
The interleaving address determination module: be used for according to row modular converter, row modular converter passed over interweave before row number and row number, calculate the interleaving address before interweaving, and the result that will calculate leaves among the RAM in.
The above; only for the preferable embodiment of the present invention, but protection scope of the present invention is not limited thereto, and anyly is familiar with those skilled in the art in the technical scope that the present invention discloses; the variation that can expect easily or replacement all should be encompassed within protection scope of the present invention.Therefore, protection scope of the present invention should be as the criterion with the protection range of claim.
Claims (9)
1, a kind of computational methods of Turbo code interleaving address is characterized in that, comprising:
A, determine that according to the input code block length basic parameter of interleaver matrix, this basic parameter comprise the line number R of interleaver matrix and columns C, prime number p, root v;
B, according to the basic parameter of described interleaver matrix, utilize adder, subtracter and control logic to calculate minimum matter integer array, described v added up, if the described value that adds up greater than prime number p, then the value of the value-p that will add up deposits into buffer memory from small to large successively according to the address; Otherwise, the value that adds up is deposited into buffer memory from small to large successively according to the address, go out the value of being deposited in the described buffer memory according to first address lookup, go to inquire about the value of being deposited in the described buffer memory with the value that is inquired again as the address, the value that one query goes out successively goes to inquire about the value of being deposited in the described buffer memory again as the address, and the value that will at every turn inquire is formed row number selection array;
C, utilize described row number to select array and minimum matter integer array, calculate the Turbo code interleaving address.
According to the computational methods of the described a kind of Turbo code interleaving address of claim 1, it is characterized in that 2, described step B comprises:
B1, a median is set, this median is initialized as 0;
B2, according to the prime number p of described interleaver matrix and the line number R of interleaver matrix, from existing prime number, select predetermined quantity and greatest common divisor p-1 from small to large successively and be 1 prime number;
If the described prime number of selecting of B3 is greater than median+(p-1), the value of prime number-median of selecting of record-(p-1) then, and the median p-1 that adds up; Otherwise, the value of prime number-median that record is selected, median remains unchanged;
B4, the value that is write down is formed minimum matter integer array successively.
According to the computational methods of the described a kind of Turbo code interleaving address of claim 2, it is characterized in that 3, described step B2 comprises:
B21, selection are formed a prime number table greater than preceding 21 prime numbers of 6;
B22, from described prime number table, read prime number from small to large successively, and successively in the prime number read of record and the greatest common divisor of p-1 be not the position of 1 prime number;
B23, be not that position, prime number p and the root v of 1 prime number forms the position table that a minimum prime number group is rejected prime number with described record and greatest common divisor p-1;
B24, reject the position table of prime number and the line number R of interleaver matrix, from described prime number table, read predetermined quantity and greatest common divisor p-1 successively and be 1 prime number according to described minimum prime number group.
According to the computational methods of claim 1 or 2 or 3 described a kind of Turbo code interleaving address, it is characterized in that 4, described step C further comprises:
C1, according to the basic parameter of described interleaver matrix, carry out the conversion of capable number of interleaver matrix;
C2, utilize described row number to select array and minimum matter integer array, carry out the conversion of interleaver matrix row number;
C3, according to the row after the described conversion number and row number, calculate the Turbo code interleaving address.
According to the computational methods of the described a kind of Turbo code interleaving address of claim 4, it is characterized in that 5, described step C2 further comprises:
C21, to utilize adder that the prime number in the described minimum matter integer array is carried out step-length be 1 add up;
C22, to utilize subtracter and control logic be the modulo operation that 1 the value that obtained of adding up is carried out p-1 to described step-length;
C23, with the result of described modulo operation as the address, inquire about described row and number select value in the array, and with the value that checked out row after as conversion number, carry out the conversion of interleaver matrix row number.
According to the computational methods of the described a kind of Turbo code interleaving address of claim 5, it is characterized in that 6, described step C2 also comprises:
Special row and column transformational marker p_c_rel is set, if C=p-1, then p_c_rel=0 in described basic parameter; If C=p, then p_c_rel=1; If C=p+1, input code block length K!=R*C, then p_c_rel=2; If C=p+1, K=R*C, then p_c_rel=3.
According to the columns col_cnt of the line number row_cnt of described p_c_rel, the data that interweaved and the data that interweaved, carry out the conversion of special row of interleaver matrix number, wherein
If p_c_rel=1, col_cnt=p or p_c_rel=2, col_cnt=p-1 or p_c_rel=3, col_cnt=p-1, then the row after the conversion number are 0;
=0 or p_c_rel=3, col_cnt=0, row_cnt=0, then the row after the conversion number are p;
If p_c_rel=3, col_cnt=p, row_cnt=0, then the row after the conversion number are 1;
If p_c_rel=0, then the row number after the conversion number select the output valve of array to deduct 1 value for row.
7, a kind of Turbo code interleaver is characterized in that, comprising:
Parameter Calculation circuit: the basic parameter that is used for calculating the root parameter and the prime number parameter that comprise interleaver matrix according to code block length, this basic parameter comprises the line number R of interleaver matrix and columns C, prime number p, root v, and the parameter that calculates is passed to row respectively number selects array counting circuit, minimum matter integer array counting circuit and interleaving address counting circuit;
Minimum matter integer array counting circuit: the basic parameter that is used for the interleaver matrix that passes over according to the Parameter Calculation circuit, utilize adder, subtracter and control logic to calculate and meet the prime number array that minimum matter integer is selected condition, and the result that will calculate leaves in the random access memory ram;
Row number are selected the array counting circuit: be used for the root v that passes over according to the Parameter Calculation circuit, relatively subtract each other by adding up and recursive algorithm calculates the number of falling out and selects array SI, and the result that will calculate leaves among the RAM;
Interleaving address counting circuit: the basic parameter that is used for the interleaver matrix that passes over according to the Parameter Calculation circuit, utilization is left the minimum matter integer array among the RAM in and is listed as number value of selection array, calculate interleaving address, and the interleaving address that calculates is left among the RAM;
Described row number selection array counting circuit comprises:
The comparison subtraction circuit adds up: the accumulation calculating that is used for being undertaken by adder the root parameter of interleaver matrix, by adder, subtracter and control logic the result who adds up is carried out the modulo operation of matter parameter then, and result calculated is passed to intermediate object program RAM;
Intermediate object program RAM: be used for depositing the result of calculation that the comparison subtraction circuit that adds up passes over successively according to address from small to large;
Recursion is searched circuit: be used for from first address, search the result of calculation of depositing among the intermediate object program RAM, the result of calculation that once finds in the past successively is as the address then, search the result of calculation of depositing among the intermediate object program RAM, and the result of calculation that finds is passed to final result RAM successively;
Final result RAM: be used for depositing successively recursion and search the result of calculation that circuit passes over, and with the final calculation result of this result of calculation as row number selection array.
According to the described a kind of Turbo code interleaver of claim 7, it is characterized in that 8, described minimum matter integer array counting circuit comprises:
Matter integer address obtains circuit: be used for the prime number parameter according to interleaver matrix, calculate and meet the address that minimum matter integer is selected the prime number of condition, and the result that will calculate passes to the comparison subtraction circuit;
Median is deposited circuit: be used to deposit the median of modulo operation, and the result that will deposit passes to the comparison subtraction circuit;
Compare subtraction circuit: be used for by adder, subtracter and control logic, utilize median to deposit the median that circuit passes over, to carry out modulo operation according to the prime number that the address inquired that matter integer address acquisition circuit passes over, and result calculated will be passed to minimum matter integer array RAM successively;
Minimum matter integer array RAM: be used for depositing successively the result of calculation that the comparison subtraction circuit passes over, and with the final calculation result of this result of calculation of depositing successively as minimum matter integer array.
9, according to the described a kind of Turbo code interleaver of claim 7, it is characterized in that described interleaving address counting circuit comprises:
Row change-over circuit: be used for basic parameter, carry out the conversion of the row number of interleaver matrix, and the result that will change passes to interleaving address and determines circuit by the mode of tabling look-up according to interleaver matrix;
Row change-over circuit: be used for basic parameter according to interleaver matrix, the minimum matter integer array and the row number selection array that leaves among the final result RAM among the minimum matter integer array RAM left in utilization in, carry out the conversion of the row number of interleaver matrix, and the result that will change passes to interleaving address and determines circuit;
Interleaving address is determined circuit: row after the conversion that is used for being passed over according to row change-over circuit, row change-over circuit number and row number, calculate interleaving address, and the result that will calculate leaves among the RAM in.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100665260A CN100525118C (en) | 2005-04-27 | 2005-04-27 | Turbo code interleaving address computing method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100665260A CN100525118C (en) | 2005-04-27 | 2005-04-27 | Turbo code interleaving address computing method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1855735A CN1855735A (en) | 2006-11-01 |
CN100525118C true CN100525118C (en) | 2009-08-05 |
Family
ID=37195634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100665260A Expired - Fee Related CN100525118C (en) | 2005-04-27 | 2005-04-27 | Turbo code interleaving address computing method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100525118C (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102316059A (en) * | 2010-07-05 | 2012-01-11 | 中国科学院微电子研究所 | Interleaving method and device for OFDM system |
CN102412850B (en) * | 2010-09-25 | 2014-02-05 | 中兴通讯股份有限公司 | Turbo code parallel interleaver and parallel interleaving method thereof |
-
2005
- 2005-04-27 CN CNB2005100665260A patent/CN100525118C/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1855735A (en) | 2006-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100536359C (en) | Interleaving / deinterleaving device and method for communication system | |
CN100568745C (en) | Interleaver in the communication system and deinterleaving method | |
CN100574116C (en) | Turbo-interleaving device and method | |
CN101043284B (en) | Interleaver of TURBO coder in WCDMA system | |
CN1130028C (en) | Viterbi decoding apparatus and viterbi decoding method | |
US7170432B2 (en) | Addresses generation for interleavers in turbo encoders and decoders | |
CN108416427A (en) | Convolution kernel accumulates data flow, compressed encoding and deep learning algorithm | |
KR100780995B1 (en) | Interleaver and method for interleaving data | |
CN101635611A (en) | Channel decoding method and channel decoding device | |
CN102356554A (en) | Turbo code data interweaving process method and interweaving device used for interweaving turbo code data | |
CN100525118C (en) | Turbo code interleaving address computing method and device | |
CN1592117B (en) | Mobile telephone, apparatus, method, and program for calculating an interleave parameter | |
CN1165193C (en) | Method for storage line beat in Vittbe code translator | |
JP2000353965A (en) | Method and device for interleaving, turbo encoding method and turbo encoder | |
CN107343201A (en) | CABAC coding methods and system | |
CN101242190B (en) | Time de-interweaving method | |
CN102170333B (en) | A kind of parallel calculating method of interleaving address and system | |
CN100477538C (en) | Turbo code interleaver | |
CN103888224B (en) | Parallel realization method and device for LTE system Turbo code-inner interleaving | |
Park et al. | Encoding weights of irregular sparsity for fixed-to-fixed model compression | |
US7610519B1 (en) | Vector generation for codes through symmetry | |
CN100477546C (en) | Convolution coding method and coder thereof | |
CN1176541C (en) | Method for enhancing product code decoding speed and decoding device | |
JP2008519337A5 (en) | ||
CN112242851B (en) | Iterative data processing method and decoder system in layered decoding of LDPC code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090805 Termination date: 20150427 |
|
EXPY | Termination of patent right or utility model |