WO2016057836A1 - Method and system for identifying optimal quadratic permutation polynomial turbo interleaver sets - Google Patents

Method and system for identifying optimal quadratic permutation polynomial turbo interleaver sets Download PDF

Info

Publication number
WO2016057836A1
WO2016057836A1 PCT/US2015/054763 US2015054763W WO2016057836A1 WO 2016057836 A1 WO2016057836 A1 WO 2016057836A1 US 2015054763 W US2015054763 W US 2015054763W WO 2016057836 A1 WO2016057836 A1 WO 2016057836A1
Authority
WO
WIPO (PCT)
Prior art keywords
snr
pairs
bits
parameter
block size
Prior art date
Application number
PCT/US2015/054763
Other languages
French (fr)
Inventor
Carl Scarpa
Edward Schell
Original Assignee
Sirius Xm Radio 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 Sirius Xm Radio Inc. filed Critical Sirius Xm Radio Inc.
Publication of WO2016057836A1 publication Critical patent/WO2016057836A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2739Permutation polynomial interleaver, e.g. quadratic permutation polynomial [QPP] interleaver and quadratic congruence interleaver

Definitions

  • the present invention generally relates to Forward Error Correction ("FEC") based on a Quadratic Permutation Polynomial (Q.PP) turbo interleaver structure to facilitate high-speed turbo decoding of large code block sizes in, for example, a Satellite Digital Audio Radio Service (“SDARS”) system.
  • FEC Forward Error Correction
  • Q.PP Quadratic Permutation Polynomial
  • the inventive algorithm can be implemented across multiple computers, where each computer evaluates a subset of all possible sets in parallel with the other computers. The "winners" of each computer run can then compete against each other to determine the best overall Q.PP set in a final test or set of tests. Depending upon the number of possible Q.PP pairs for a given block size, the intermediate test stages may also be divided into subsets and themselves parallel processed in a distributed processing approach.
  • the best Q.PP parameter set is not obtained using a given fixed code block size. Rather, there is some variance in Q.PP turbo code performance with block size, even using the optimal Q.PP parameter set at each such block size.
  • the testing protocol provided above for a defined block size may be implemented at each of multiple possible block sizes within the range of allowed block sizes. The greater the range of block sizes, of course, the more computation that must be performed.
  • Nk may be considered to operate in an inner loop
  • an additional outer loop can increment through the range of all possible block sizes Nl to Nm.

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

Systems and automated methods are provided for obtaining optimal Q.PP parameter sets. For a given block size N all possible Q.PP parameter sets may be generated to obtain a candidate set of f1,f2 pairs. The candidate set may then be initially tested for performance, and the poorer performing parameter pairs removed from consideration, resulting in a good candidate set. The good candidate set may then be subjected to more extensive testing, which may include decreasing SNR and lengthening the test bit sequences in various combinations to trigger errors, and thus allow ranking of the candidates by performance. Because some block sizes N are fixed by system design parameters, the inquiry may end there. In other embodiments, where there is an allowed range of possible block sizes for a system being designed ab initio, the above process may be an inner loop, for a given block size, where an outer loop runs through various possible block sizes N, where N may be subject to some condition. For example, in some embodiments block sizes are desired to be a multiple of some integer or even some power of 2, e.g., 8, and thus the outer loop runs through potential block sizes N that satisfy such conditions, for example, all N between 10,000 and 13,000 that are divisible by 8. Using an exemplary system, an optimal parameter set {f1,f2} = {217,1560} was found for a block size of N=12,168 bits, and an optimal parameter set {f1,f2} = {299, 510} for a block size of N=12,240 bits was found.

Description

PATENT APPLICATION UNDER THE PATENT CO-OPERAITON TREATY
FOR
METHOD AND SYSTEM FOR IDENTIFYING OPTIMAL QUADRATIC PERMUTATION POLYNOMIAL TURBO INTERLEAVER SETS
CROSS-REFERENCE TO RLEATED APPLICATIONS
This application claims the benefit of United States Provisional Patent Application No. 62/061,292, filed on October 8, 2014, which is hereby incorporated by reference in its entirety.
FIELD OF THE INVENTION
The present invention generally relates to Forward Error Correction ("FEC") based on a Quadratic Permutation Polynomial (Q.PP) turbo interleaver structure to facilitate high-speed turbo decoding of large code block sizes in, for example, a Satellite Digital Audio Radio Service ("SDARS") system.
BACKGROUND OF THE INVENTION
Modern communication systems have demanding throughput rates that are only expected to increase in future applications and uses. Historically, FEC systems have used trellis and Reed-Solomon coding, where high throughput can be achieved due to circuit simplicity. With the advent of modern iterative FEC techniques such as turbo codes (a common choice for low speed applications) and Low-Density Parity-Check (LDPC) codes (a common choice for high speed applications), high throughput rates are not nearly as easily achieved compared to non- iterative approaches. Throughputs above payload rates of lOMbits/sec have almost always been addressed exclusively by LDPC encoders/decoders. This is due to the ease of parallel implementation of the LDPC decoder. However, this has not been the case for turbo codes due to the nature of the interleaver used within a turbo encoder. Well performing codes have used interleavers that do not lend themselves to a parallel implementation. As a result, they have had lower throughput rates. Today, this turbo coding limitation has largely been solved by using Q.PP turbo interleaver technology, which allows for high speed decoding while taking advantage of the small turbo decoder footprint. Indeed, the Q.PP interleaver has been adopted by the 3GPP2 standards body as the turbo interleaver of choice for all LTE turbo
implementations.
Q.PP interleavers are easy to implement. They are based on permuting the input information bits by the following quadratic equation: y = Mod fl * x + fl * x2, N)
Where:
x = input vector ranging from 0 to the information code block size (N) -1; N = the block size of the information bits prior to parity encoding;
/l, /2 = the Q.PP permutation parameter set; and
Mod = modulo function over subspace N.
The requirement to form a valid interleaver set is that the choice of values for {fl,f2} must uniquely map an input vector (x, from 0 to N-l) to an output vector (y) in the same subspace, i.e., from 0 to N-l. That is, for every input bit location, there exists a unique output bit location, spanning the entire input block size. Arbitrary values of fl, f2 will not achieve this requirement. As a result, algorithms based on number theory must be used to derive suitable parameter sets.
To find a suitable value of the f2 portion of the parameter set, one begins with the block size. All of the unique prime numbers of the information block size must be calculated, and then the resulting product of these unique primes must be found. For example, for an information block size of 12,168, the prime factors are 2, 2, 2, 3, 3, 13 and 13. The unique prime numbers are thus 2, 3, and 13, whose product is 78. Any multiple of 78 is thus a suitable value to use for the f2 parameter value.
Given a value for each f2, to find a corresponding suitable value of fl, a simple search algorithm can be used. From number theory, it can be proved that fl must be an odd integer greater than or equal to three. Number theory also shows that the value of fl needs to be no larger than ½ the information block size N, since values beyond that will yield similar results to smaller values due to the modulus function. In other words, for a given block size N, one calculates the product of its unique primes, and takes any multiple of that as f2; for a given f2, fl is an odd integer that is greater than 3 and less than or equal to N/2. For a large block size N, on the order of 10K+, there are thus thousands of possible fl candidates, and on the order of 100 or so possible f2 candidates. To find an appropriate pair, for each f2, a candidate output vector Y can be calculated for a given fl, which is then tested to see if it maps the input vector X to unique output addresses. If so, a successful pair of fl, f2 parameters will have been found for the given block size N. In general, there are typically thousands of suitable pairs that meet the above criterion, particularly for larger block sizes. This begs the question: which fl, f2 Q.PP parameter set pair yields the best performing Q.PP turbo interleaver?
Evaluating suitable fl, f2 pairs can be performed in a number of ways. Conventionally, the best approach is to analyze the resulting Q.PP interleaver structure and calculate its minimum distance (given the encoder's systematic recursive encoding polynomial). However, this method presents an extremely high computational demand for even moderate block sizes, and is essentially unsuitable for large block sizes, such as, for example, those in excess of 10,000 information bits. Moreover, the computational load is exactly the same for any proposed Q.PP pair. Testing a significant number of candidate {fl,f2} pairs is thus computationally significant, and often intractable.
What is needed in the art is a way to intelligently quickly rule out bad Q.PP sets, thereby speeding up the selection process for the best survivor pair. The present invention satisfies this need.
BRIEF DESCRIPTION OF THE DRAWINGS:
Fig. 1 depicts an exemplary bit error rate ("BER") curve for a rate 1/3 turbo interleaver, illustrating both good and bad exemplary Q.PP sets, according to an exemplary embodiment of the present invention.
SUMMARY OF THE INVENTION:
Automated methods are provided for obtaining optimal Q.PP parameter sets. For a given block size N all possible Q.PP parameter sets may be generated to obtain a candidate set of fl,f2 pairs. The candidate set may then be initially tested for performance, and the poorer performing parameter pairs removed from consideration, resulting in a good candidate set. The good candidate set may then be subjected to more extensive testing, which may include decreasing SNR and lengthening the test bit sequences in various combinations to trigger errors, and thus allow ranking of the candidates by performance. Because some bock sizes N are fixed by system design parameters, the inquiry may end there. In other exemplary embodiments, where there is an allowed range of possible block sizes for a system being designed ab initio, the above process may be an inner loop, for a given block size, where an outer loop runs through various possible block sizes N, where N may be subject to some condition. For example, in some embodiments block sizes are desired to be a multiple of some integer or even some power of 2, e.g. 8, and thus the outer loop runs through potential block sizes N that satisfy such conditions, such as, for example, all N between 10,000 and 13,000 that are divisible by 8. In other embodiments, other constraints upon block size N may, for example, be imposed, and the outer loop run through all possible N that meet the constraint.
Using an exemplary system, an optimal parameter set {fl,f2} = {217,1560} was found for a block size of N=12,168 bits, and an optimal parameter set {fl,f2} = {299, 510} for a block size of N=12,240 bits was found.
DETAILED DESCRIPTION OF THE INVENTION:
Conventionally, Q.PP parameter pairs may be calculated by searching for the pair that gives the maximum minimum distance between two valid code words. If there are multiple parameter pairs that achieve that maximum minimum distance, then the Q.PP parameter pair that gives the minimum number of multiplicities of that distance is used, where a multiplicity of a given code is how many code words hit that minimum distance. Researchers have published papers on the optimum minimum distance, where, for small block sizes parameter sets have been found that achieve such maximum minimum distance and, when there was a tie, a minimum number of multiplicities. However, the problem lies in trying to run standard discovery techniques for block sizes on the order of 10,000 bits and greater, where they take inordinately long, if they converge to an answer at all. In trials by the present inventors using standard software, the computation time increases quadratically with block size. Thus, while such conventional methods may work for, say a thousand bits, when up to 12,000 bits was attempted, such standard parameter discovery software was found to be useless. Thus, systems and automated methods are presented herein that quickly rule out bad Q.PP parameter sets early on, allowing a testing protocol to focus on the "good" candidates, so as to find those of them that are optimal. According to an exemplary embodiment of the present invention, which can be implemented via an algorithm executing on one or more suitable data processing devices, computing systems and/or the like, such methods may be developed around the shape of the Bit Error Rate ("BER") curve of the turbo encoder's mother code.
Fig. 1 depicts an exemplary BER curve for a rate 1/3 Q.PP turbo encoder, using each of a good and a not-so-good Q.PP interleaver parameter set for comparison. Obviously, the "good" Q.PP parameter set was used to generate the lower, solid line, curve, and the "not-so-good" Q.PP parameter set was used to generate the upper, dotted line curve.
Normally, curves for different Q.PP parameter sets are not as disparate as shown and hence are not so easily identifiable as being "good" or "bad." Recognizing that a good curve should have near error free performance at some Eb/No ratio (for a rate 1/3 turbo code it is around 0.4 dB) permits poorly performing code sets to be quickly ruled out. It is noted that Eb/No refers to the energy per bit to noise power spectral density ratio, and is an important parameter in digital communications or data transmission. It is a normalized signa!-to-noise ratio (SNR) measure, and is also known as the "SNR per bit." it is especially useful when comparing the BER performance of different digital modulation schemes without taking bandwidth into account. Eb/No is equal to the SNR divided by the "gross" link spectral efficiency in (bit/s)/Hz, where the bits in this context are transmitted data bits, inclusive of error correction information and other protocol overhead. When forward error correction (FEC) is being discussed, Eb/No is routinely used to refer to the energy per information bit (i.e. the energy per bit net of FEC overhead bits). The noise spectral density No, usually expressed in units of Watts per Hertz, can also be seen as having dimensions of energy, or units of joules, or joules per cycle. Eb/No is therefore a non-dimensional ratio.
As noted above, some bad Q.PP parameter sets will be vastly bad (as shown by the upper dotted line curve in Fig. 1), while others may not differ as greatly. Because the vertical axis has better bit error rates at the bottom, a poorly performing curve will generally be "on top" of a good curve, as shown in Fig. 1, where the dashed line poorer curve lies above the solid line good curve. In exemplary embodiments of the present invention, the idea is to not waste time computing the performance of a bad set, which will quickly reveal itself at known thresholds. For example, at a test point of 0.4 Eb/No, the bad set will almost immediately reveal itself with bit errors in the decoded turbo block.
According to an exemplary embodiment of the present invention, an error performance threshold may be set for a given Eb/No and a search then performed to identify bad codes that would statistically result in a block error. Each set can, for example, be used in a turbo decoder simulation under white Gaussian noise conditions, only examining the mother code's performance (no puncturing). The inventive algorithm can simulate the entire set of Q.PP parameters under evaluation at a given SNR, for example, Eb/No. A threshold allowance of K block errors can be permitted (because it is not guaranteed that any code can be error free at any Eb/No) at the given Eb/No setting. The set that requires the longest amount of time to reach the block error threshold is determined to be the best set. If multiple sets do not exceed the block error count for the given Eb/No, then the algorithm may move to a lower Eb/No value (i.e., move to the left in the BER curve of Fig. 1), and the remaining survivor parameter sets may then be re-evaluated. Alternatively, a longer time can be used to run the code at the higher Eb/No value until errors do occur. Still alternatively, combinations of (i) lowering the Eb/No value and (ii) extending the time in which the test is run may be successively and recursively used. As can be gleaned from the curve of Fig. 1, as the algorithm continues to lower the Eb/No value, all sets will eventually exceed the allowable block error threshold. The set that holds out the longest through this evaluation process can be determined to be the best Q.PP set.
Thus, for example, a first test may be run for a given block size N at a Eb/No ratio of 0.4, with a maximum BER of 10"6. From the results of this first test, all "bad" Q.PP parameter sets that have a BER greater than such a threshold can be dropped. This obtains a subset of the originally identified Q.PP parameter pairs, each of which passes at a Eb/No ratio of 0.4, which can then, for example, be tested at a lower Eb/No ratio, such as, for example, 0.3, and running the decoding process until they all reach a BER of 10"4. If some still survive, for example, then the Eb/No ratio may be further decremented, say by 0.1, for example, and the BER raised by some appropriate increment, or alternatively left where it is until all the remaining candidates reach it. This "whittling down" process may be continued until a "best" Q.PP parameter pair is found from the remaining candidates.
Alternatively, the subset of the originally identified Q.PP parameter pairs, each of which passed at a Eb/No ratio of 0.4, can then, for example, be tested at that same Eb/No ratio, where the decoding process is run until the last Q.PP parameter pair reaches a BER of 10"7. If multiple Q.PP parameter pairs still survive, for example they never incur errors above the lowered BER of 10"7, then either (i) the Eb/No ratio may be further decremented, say by 0.1, for example, and the BER further raised by some appropriate increment, or (ii) just the Eb/No ratio is further decremented and the BER left where it is until all but one of the remaining candidate pairs reaches it.
It is noted that any combination of SNR and minimal errors in various stages may be used as tests to whittle down an initial set of "good" Q.PP parameter sets to find a "best" Q.PP parameter set.
Due to the large number of possible sets that meet the Q.PP criterion, the inventive algorithm can be implemented across multiple computers, where each computer evaluates a subset of all possible sets in parallel with the other computers. The "winners" of each computer run can then compete against each other to determine the best overall Q.PP set in a final test or set of tests. Depending upon the number of possible Q.PP pairs for a given block size, the intermediate test stages may also be divided into subsets and themselves parallel processed in a distributed processing approach.
Exploiting the nature of the BER curve in the manner described above can be very effective in finding the best Q.PP set, at least in a statistical sense. It should be noted that unlike the minimum distance method (which is definitive), the inventive method can only yield a statistically high confidence level for finding good Q.PP sets.
Accordingly, the present invention is salutary in that it provides a way to quickly dispense with poor Q.PP sets at an initial stage - making the identification of good sets manageable even for very large block sizes. By way of example, for an information block size of N=12,168 bits, an algorithm according to a preferred embodiment of the present invention identifies the pair fl=217 and f2=1560 as yielding an excellent rate 1/3 turbo code with very low error floors (this block size and parameter set is not part of the LTE standard). In another example that is detailed in exemplary code below, for N=12,240 an optimal parameter pair of fl=299 and f2=510 was identified (this block size and parameter set is also not part of the LTE standard).
As is somewhat counterintuitive, often the best Q.PP parameter set is not obtained using a given fixed code block size. Rather, there is some variance in Q.PP turbo code performance with block size, even using the optimal Q.PP parameter set at each such block size. Thus, in exemplary embodiments where block size is constrained, but variable within some range, the testing protocol provided above for a defined block size may be implemented at each of multiple possible block sizes within the range of allowed block sizes. The greater the range of block sizes, of course, the more computation that must be performed. Thus, while the procedure described above for a fixed block size Nk may be considered to operate in an inner loop, an additional outer loop can increment through the range of all possible block sizes Nl to Nm. The "ultimate winner" will be a Q.PP parameter set for a given block size Nk within the defined range, or an {fl,f2} for a block size Nk. The outer loop processing may also be in parallel with a set of computers or data processors, and the entire process automated, by feeding an exemplary program (i) a range of block sizes, (ii) a threshold of performance by which to initially reject Q.PP parameter pair candidates (e.g., a BER at a specified Eb/No) in a first pass of the inner loop, and (iii) a performance threshold, either the same or different, by which to select an optimal pair form the "winners" of each first pass test at each block size. From the optimal Q.PP parameter pairs at each block size within the range, a final competition can be held to determine the best performing Q.PP interleaver with an associated optimal block size within the range.
It is noted that sometimes an external constraint is imposed upon the block size due to legacy data structures, or other framing and coding considerations, in exemplary embodiments of the present invention an optimal block size can be chosen that is closest to, but less than, the required block size, and then each block zero padded to make up the difference. For example, in some embodiments block sizes are desired to be a multiple of some integer or even some power of 2, e.g., 8, and thus the outer loop runs through potential block sizes N that satisfy such conditions, for example, all N between 10,000 and 13,000 that are divisible by 8. Exemplary Parameter Generation Code and Sample Output
Exemplary Matlab code is provided below that may be used to generate Q.PP interleavers according to exemplary embodiments of the present invention. The exemplary code contains a defined value of N=12,440, but this may be changed to any desired value, for example. The exemplary Matlab code is followed by an exemplary output set of possible {fl,f2} pairs which it generated, which may then be tested in one or more of the ways described above to whittle down to the best performing parameter sets, which can then be more rigorously tested to find the best performing parameter set.
As can be seen in the second line, the exemplary script uses a block size N=12,240. As noted above, the code is otherwise agnostic to block size N, and thus may be used for *any* block size, or any range of them. N is simply a variable that a user may set as she chooses, and an outer loop may be added that increments a block size N variable between a range of N0 to Nm, where the N declaration in the inner loop of the exemplary script is changed from
"N=12240" to "N=Nk", for example, Nk set by the outer loop (not shown).
Returning to the example of the code below where N=12,240, it is noted that the prime factors of 12,240 are 2, 2, 2, 2, 3, 3, 5 and 17. Taking the product of unique prime factors thus yields 2*3*5*17= 510. Thus, the possible parameter set comprises 510 and multiples thereof for f2, and, as seen, the code runs through various odd integers as a possible fl for each f2 that satisfy various tests and conditions used by the script (which are explained in the comments to the code). It is understood, however, that the same script may be used for any arbitrary block size to generate Q.PP parameter pairs for testing according to various embodiments of the present invention. The exemplary script shown below constrains f2 to multiples of f2 up to and including 4*f2. Thus, in this particular example, f2 may be 510, 1020, 1530 and 2040. For each possible f2, fls are generated where, as noted above, fl > 3, and in this exemplary script, fl is also subject to other conditions which limit fl to 1999 or less.
The exemplary script (which may be an inner loop of a larger script, as noted) generates a set of Q.PP parameters for block size N, which can then be tested, as described above. The testing may be fully automated and implemented using distributed processing, wherein the set of Q.PP parameters at each block size N is divided into subsets, and each subset is initially tested to see if at a set Eb/No ratio - e.g., 0.4 - if any parameter pairs exceed a maximum BER, e.g., 10"6 during decoding.
From the results of this first test, all "bad" Q.PP parameter sets that have a BER greater than the maximum allowable BER can be dropped. Then, for each block size, the surviving Q.PP parameter sets can then be tested at a lower Eb/No ratio, such as, for example, 0.3, and the decoding process can be run, for example, until they all reach a BER of 10"4, the last one to reach it being the best for that block size. If some still survive, for example, then the Eb/No ratio may be further decremented by some increment, say by 0.1, for example, and the BER either (i) raised by some appropriate increment, or alternatively (ii) left where it is, and the decoding process run until all the remaining candidates reach the then set BER. This "whittling down" process may be continued until a "best" Q.PP parameter pair for each block size is found from the remaining candidates.
Finally the best overall Q.PP pair may be chosen from the "winners" at each block size, as described above, by (i) decrementing Eb/No ratios, or by (ii) decrementing Eb/No ratios and lowering BER tolerances.
Thus, due to the large number of possible sets that meet the Q.PP criterion, the inventive algorithm can be implemented across multiple computers, where each computer evaluates a subset of all possible sets in parallel with the other computers. The "winners" of each computer run can then compete against each other to determine the best overall Q.PP set in a final test or set of tests.
Exemplary Matlab Code For Generating QPP Interleaves
Figure imgf000011_0001
clear
N=12240; Smax=0 ;
InVL=0 :N-1;
F=factor (N) ;
s=0;
DF=0;
cnt=l ;
for j=l : length (F)
if (F(j) ~= s
s=F(j) ;
DF(cnt)=F(j) ;
cnt = cnt+1;
end
e d
f2inc=l ;
for j=l : length (DF)
f2inc=f2inc*DF prms=primes (500) ;
gppcnt=l ;
cnt=0 ;
bc=l ;
catalin= = [1 1 2 5 14 42 1
BigD= [1 0 0 0 0 0 0;
0 2 0 0 0 0 0;
0 0 6 0 0 0 0;
0 0 0 24 0 0 0;
0 0 0 0 120 0 0;
0 0 0 0 0 720 0;
0 0 0 0 0 0 5040] ;
f (fwon==l)
fnm=strcat ( 1 OF?
fid = fopen(fnm,
nd disp ( ! s )
disp ( ! " ) for p = 3:2:2000
fl=p;
cnt=0 ; for f2=f2inc : f2inc : 4*f2inc
terminate=0 ; for j=l : length (DF)
clear InV O tV chk s;
InV=0 : DF ( j ) -1;
OutV = mod(fl*InV + InV . * InV* f2 , DF ( j ) ) ;
chk (OutV+1) =1;
s=sum (chk) ; i (s ~= DF(j) )
% ciisp(: Q?P p rens not valid' S
terminate=l ;
break
end
end
if (terminate ==0)
¾ s'io i let:?, check, if the diverse to this GPP pair % ubic or quadratic or higher
ivd=-l ;
for K=l :7
v=factorial (K+l) *catalin (K) *f2AK;
vm=mod (v, ) ;
if (vm ==0)
ivd=K;
break
end
end
¾ s'io i coiiL ui ;:b.e inverse coe ί.~1ρ, £2ρ,"
clear D U e
D=BigD ( 1 : ivd, 1 : ivd) ;
gppcnt=gppcnt+l ;
disp (strcat (! s , num2str ( f1 ) , ! ,. s , num2str ( f2 ) , ! irxv degree = ' , num2str (ivd) ) )
if (fwon==l)
fprintf (fid, ! %d %s %d\r; ' , f1 , ! , f2 ) ;
end end
end
end
disp (strcat ( * $ QPP sets found ~ ' , num2str (gppcnt-1 ))) ;
if (fwon==l)
fclose ( fid) ;
e d Exemplary Parameter Set for N=12,240.
7 , 510
7 , 1020
7 , 1530
7 , 2040
11 510
11 1020
11 1530
11 2040
13 510
13 1020
13 1530
13 2040
19 510
19 1020
19 1530
19 2040
23 510
23 1020
23 1530
23 2040
29 510
29 1020
29 1530
29 2040
31 510
31 1020
31 1530
31 2040
37 510
37 1020
37 1530
37 2040
41 510
41 1020
41 1530
41 2040
43 510
43 1020
43 1530
43 2040
47 510
47 1020
47 1530
47 2040
49 510
49 1020
49 1530
49 2040
53 510
53 1020 53 2040
59 510
59 1020
59 1530
59 2040
61 510
61 1020
61 1530
61 2040
67 510
67 1020
67 1530
67 2040
71 510
71 1020
71 1530
71 2040
73 510
73 1020
73 1530
73 2040
77 510
77 1020
77 1530
77 2040
79 510
79 1020
79 1530
79 2040
83 510
83 1020
83 1530
83 2040
89 510
89 1020
89 1530
89 2040
91 510
91 1020
91 1530
91 2040
97 510
97 1020
97 1530
97 2040
101 , 510
101 , 1020
101 , 1530
101 , 2040
103 , 510
103 , 1020
103 , 1530 103 2040
107 510
107 1020
107 1530
107 2040
109 510
109 1020
109 1530
109 2040
113 510
113 1020
113 1530
113 2040
121 510
121 1020
121 1530
121 2040
127 510
127 1020
127 1530
127 2040
131 510
131 1020
131 1530
131 2040
133 510
133 1020
133 1530
133 2040
137 510
137 1020
137 1530
137 2040
139 510
139 1020
139 1530
139 2040
143 510
143 1020
143 1530
143 2040
149 510
149 1020
149 1530
149 2040
151 510
151 1020
151 1530
151 2040
157 510
157 1020
157 1530
157 2040 161 1020
161 1530
161 2040
163 510
163 1020
163 1530
163 2040
167 510
167 1020
167 1530
167 2040
169 510
169 1020
169 1530
169 2040
173 510
173 1020
173 1530
173 2040
179 510
179 1020
179 1530
179 2040
181 510
181 1020
181 1530
181 2040
191 510
191 1020
191 1530
191 2040
193 510
193 1020
193 1530
193 2040
197 510
197 1020
197 1530
197 2040
199 510
199 1020
199 1530
199 2040
203 510
203 1020
203 1530
203 2040
209 510
209 1020
209 1530
209 2040
211 510 211 1020
211 1530
211 2040
217 510
217 1020
217 1530
217 2040
223 510
223 1020
223 1530
223 2040
227 510
227 1020
227 1530
227 2040
229 510
229 1020
229 1530
229 2040
233 510
233 1020
233 1530
233 2040
239 510
239 1020
239 1530
239 2040
241 510
241 1020
241 1530
241 2040
247 510
247 1020
247 1530
247 2040
251 510
251 1020
251 1530
251 2040
253 510
253 1020
253 1530
253 2040
257 510
257 1020
257 1530
257 2040
259 510
259 1020
259 1530
259 2040
263 510
263 1020 263 1530
263 2040
269 510
269 1020
269 1530
269 2040
271 510
271 1020
271 1530
271 2040
277 510
277 1020
277 1530
277 2040
281 510
281 1020
281 1530
281 2040
283 510
283 1020
283 1530
283 2040
287 510
287 1020
287 1530
287 2040
293 510
293 1020
293 1530
293 2040
299 510
299 1020
299 1530
299 2040
301 510
301 1020
301 1530
301 2040
307 510
307 1020
307 1530
307 2040
311 510
311 1020
311 1530
311 2040
313 510
313 1020
313 1530
313 2040
317 510
317 1020
317 1530 317 2040
319 510
319 1020
319 1530
319 2040
329 510
329 1020
329 1530
329 2040
331 510
331 1020
331 1530
331 2040
337 510
337 1020
337 1530
337 2040
341 510
341 1020
341 1530
341 2040
343 510
343 1020
343 1530
343 2040
347 510
347 1020
347 1530
347 2040
349 510
349 1020
349 1530
349 2040
353 510
353 1020
353 1530
353 2040
359 510
359 1020
359 1530
359 2040
361 510
361 1020
361 1530
361 2040
367 510
367 1020
367 1530
367 2040
371 510
371 1020
371 1530
371 2040 373 510
373 1020
373 1530
373 2040
377 510
377 1020
377 1530
377 2040
379 510
379 1020
379 1530
379 2040
383 510
383 1020
383 1530
383 2040
389 510
389 1020
389 1530
389 2040
397 510
397 1020
397 1530
397 2040
401 510
401 1020
401 1530
401 2040
403 510
403 1020
403 1530
403 2040
407 510
407 1020
407 1530
407 2040
409 510
409 1020
409 1530
409 2040
413 510
413 1020
413 1530
413 2040
419 510
419 1020
419 1530
419 2040
421 510
421 1020
421 1530
421 2040
427 510 427 1020
427 1530
427 2040
431 510
431 1020
431 1530
431 2040
433 510
433 1020
433 1530
433 2040
437 510
437 1020
437 1530
437 2040
439 510
439 1020
439 1530
439 2040
443 510
443 1020
443 1530
443 2040
449 510
449 1020
449 1530
449 2040
451 510
451 1020
451 1530
451 2040
457 510
457 1020
457 1530
457 2040
461 510
461 1020
461 1530
461 2040
463 510
463 1020
463 1530
463 2040
467 510
467 1020
467 1530
467 2040
469 510
469 1020
469 1530
469 2040
473 510
473 1020 473 1530
473 2040
479 510
479 1020
479 1530
479 2040
481 510
481 1020
481 1530
481 2040
487 510
487 1020
487 1530
487 2040
491 510
491 1020
491 1530
491 2040
497 510
497 1020
497 1530
497 2040
499 510
499 1020
499 1530
499 2040
503 510
503 1020
503 1530
503 2040
509 510
509 1020
509 1530
509 2040
511 510
511 1020
511 1530
511 2040
517 510
517 1020
517 1530
517 2040
521 510
521 1020
521 1530
521 2040
523 510
523 1020
523 1530
523 2040
529 510
529 1020
529 1530 529 2040
533 510
533 1020
533 1530
533 2040
539 510
539 1020
539 1530
539 2040
541 510
541 1020
541 1530
541 2040
547 510
547 1020
547 1530
547 2040
551 510
551 1020
551 1530
551 2040
553 510
553 1020
553 1530
553 2040
557 510
557 1020
557 1530
557 2040
559 510
559 1020
559 1530
559 2040
563 510
563 1020
563 1530
563 2040
569 510
569 1020
569 1530
569 2040
571 510
571 1020
571 1530
571 2040
577 510
577 1020
577 1530
577 2040
581 510
581 1020
581 1530
581 2040 583 510
583 1020
583 1530
583 2040
587 510
587 1020
587 1530
587 2040
589 510
589 1020
589 1530
589 2040
593 510
593 1020
593 1530
593 2040
599 510
599 1020
599 1530
599 2040
601 510
601 1020
601 1530
601 2040
607 510
607 1020
607 1530
607 2040
611 510
611 1020
611 1530
611 2040
613 510
613 1020
613 1530
613 2040
617 510
617 1020
617 1530
617 2040
619 510
619 1020
619 1530
619 2040
623 510
623 1020
623 1530
623 2040
631 510
631 1020
631 1530
631 2040
637 510 637 1020
637 1530
637 2040
641 510
641 1020
641 1530
641 2040
643 510
643 1020
643 1530
643 2040
647 510
647 1020
647 1530
647 2040
649 510
649 1020
649 1530
649 2040
653 510
653 1020
653 1530
653 2040
659 510
659 1020
659 1530
659 2040
661 510
661 1020
661 1530
661 2040
667 510
667 1020
667 1530
667 2040
671 510
671 1020
671 1530
671 2040
673 510
673 1020
673 1530
673 2040
677 510
677 1020
677 1530
677 2040
679 510
679 1020
679 1530
679 2040
683 510
683 1020 683 1530
683 2040
689 510
689 1020
689 1530
689 2040
691 510
691 1020
691 1530
691 2040
701 510
701 1020
701 1530
701 2040
703 510
703 1020
703 1530
703 2040
707 510
707 1020
707 1530
707 2040
709 510
709 1020
709 1530
709 2040
713 510
713 1020
713 1530
713 2040
719 510
719 1020
719 1530
719 2040
721 510
721 1020
721 1530
721 2040
727 510
727 1020
727 1530
727 2040
733 510
733 1020
733 1530
733 2040
737 510
737 1020
737 1530
737 2040
739 510
739 1020
739 1530 739 2040
743 510
743 1020
743 1530
743 2040
749 510
749 1020
749 1530
749 2040
751 510
751 1020
751 1530
751 2040
757 510
757 1020
757 1530
757 2040
761 510
761 1020
761 1530
761 2040
763 510
763 1020
763 1530
763 2040
767 510
767 1020
767 1530
767 2040
769 510
769 1020
769 1530
769 2040
773 510
773 1020
773 1530
773 2040
779 510
779 1020
779 1530
779 2040
781 510
781 1020
781 1530
781 2040
787 510
787 1020
787 1530
787 2040
791 510
791 1020
791 1530
791 2040 793 510
793 1020
793 1530
793 2040
797 510
797 1020
797 1530
797 2040
803 510
803 1020
803 1530
803 2040
809 510
809 1020
809 1530
809 2040
811 510
811 1020
811 1530
811 2040
817 510
817 1020
817 1530
817 2040
821 510
821 1020
821 1530
821 2040
823 510
823 1020
823 1530
823 2040
827 510
827 1020
827 1530
827 2040
829 510
829 1020
829 1530
829 2040
839 510
839 1020
839 1530
839 2040
841 510
841 1020
841 1530
841 2040
847 510
847 1020
847 1530
847 2040
851 510 851 1020
851 1530
851 2040
853 510
853 1020
853 1530
853 2040
857 510
857 1020
857 1530
857 2040
859 510
859 1020
859 1530
859 2040
863 510
863 1020
863 1530
863 2040
869 510
869 1020
869 1530
869 2040
871 510
871 1020
871 1530
871 2040
877 510
877 1020
877 1530
877 2040
881 510
881 1020
881 1530
881 2040
883 510
883 1020
883 1530
883 2040
887 510
887 1020
887 1530
887 2040
889 510
889 1020
889 1530
889 2040
893 510
893 1020
893 1530
893 2040
899 510
899 1020 899 1530
899 2040
907 510
907 1020
907 1530
907 2040
911 510
911 1020
911 1530
911 2040
913 510
913 1020
913 1530
913 2040
917 510
917 1020
917 1530
917 2040
919 510
919 1020
919 1530
919 2040
923 510
923 1020
923 1530
923 2040
929 510
929 1020
929 1530
929 2040
931 510
931 1020
931 1530
931 2040
937 510
937 1020
937 1530
937 2040
941 510
941 1020
941 1530
941 2040
943 510
943 1020
943 1530
943 2040
947 510
947 1020
947 1530
947 2040
949 510
949 1020
949 1530 949 2040
953 510
953 1020
953 1530
953 2040
959 510
959 1020
959 1530
959 2040
961 510
961 1020
961 1530
961 2040
967 510
967 1020
967 1530
967 2040
971 510
971 1020
971 1530
971 2040
973 510
973 1020
973 1530
973 2040
977 510
977 1020
977 1530
977 2040
979 510
979 1020
979 1530
979 2040
983 510
983 1020
983 1530
983 2040
989 510
989 1020
989 1530
989 2040
991 510
991 1020
991 1530
991 2040
997 510
997 1020
997 1530
997 2040
1001 , 510
1001 , 1020
1001 , 1530
1001 , 2040 1007 510
1007 1020
1007 1530
1007 2040
1009 510
1009 1020
1009 1530
1009 2040
1013 510
1013 1020
1013 1530
1013 2040
1019 510
1019 1020
1019 1530
1019 2040
1021 510
1021 1020
1021 1530
1021 2040
1027 510
1027 1020
1027 1530
1027 2040
1031 510
1031 1020
1031 1530
1031 2040
1033 510
1033 1020
1033 1530
1033 2040
1039 510
1039 1020
1039 1530
1039 2040
1043 510
1043 1020
1043 1530
1043 2040
1049 510
1049 1020
1049 1530
1049 2040
1051 510
1051 1020
1051 1530
1051 2040
1057 510
1057 1020
1057 1530
1057 2040
1061 510 1061 1020
1061 1530
1061 2040
1063 510
1063 1020
1063 1530
1063 2040
1067 510
1067 1020
1067 1530
1067 2040
1069 510
1069 1020
1069 1530
1069 2040
1073 510
1073 1020
1073 1530
1073 2040
1079 510
1079 1020
1079 1530
1079 2040
1081 510
1081 1020
1081 1530
1081 2040
1087 510
1087 1020
1087 1530
1087 2040
1091 510
1091 1020
1091 1530
1091 2040
1093 510
1093 1020
1093 1530
1093 2040
1097 510
1097 1020
1097 1530
1097 2040
1099 510
1099 1020
1099 1530
1099 2040
1103 510
1103 1020
1103 1530
1103 2040
1109 510
1109 1020 1109 1530
1109 2040
1111 510
1111 1020
1111 1530
1111 2040
1117 510
1117 1020
1117 1530
1117 2040
1121 510
1121 1020
1121 1530
1121 2040
1123 510
1123 1020
1123 1530
1123 2040
1127 510
1127 1020
1127 1530
1127 2040
1129 510
1129 1020
1129 1530
1129 2040
1133 510
1133 1020
1133 1530
1133 2040
1141 510
1141 1020
1141 1530
1141 2040
1147 510
1147 1020
1147 1530
1147 2040
1151 510
1151 1020
1151 1530
1151 2040
1153 510
1153 1020
1153 1530
1153 2040
1157 510
1157 1020
1157 1530
1157 2040
1159 510
1159 1020
1159 1530 1159 2040
1163 510
1163 1020
1163 1530
1163 2040
1169 510
1169 1020
1169 1530
1169 2040
1171 510
1171 1020
1171 1530
1171 2040
1177 510
1177 1020
1177 1530
1177 2040
1181 510
1181 1020
1181 1530
1181 2040
1183 510
1183 1020
1183 1530
1183 2040
1187 510
1187 1020
1187 1530
1187 2040
1189 510
1189 1020
1189 1530
1189 2040
1193 510
1193 1020
1193 1530
1193 2040
1199 510
1199 1020
1199 1530
1199 2040
1201 510
1201 1020
1201 1530
1201 2040
1211 510
1211 1020
1211 1530
1211 2040
1213 510
1213 1020
1213 1530
1213 2040 1217 510
1217 1020
1217 1530
1217 2040
1219 510
1219 1020
1219 1530
1219 2040
1223 510
1223 1020
1223 1530
1223 2040
1229 510
1229 1020
1229 1530
1229 2040
1231 510
1231 1020
1231 1530
1231 2040
1237 510
1237 1020
1237 1530
1237 2040
1243 510
1243 1020
1243 1530
1243 2040
1247 510
1247 1020
1247 1530
1247 2040
1249 510
1249 1020
1249 1530
1249 2040
1253 510
1253 1020
1253 1530
1253 2040
1259 510
1259 1020
1259 1530
1259 2040
1261 510
1261 1020
1261 1530
1261 2040
1267 510
1267 1020
1267 1530
1267 2040
1271 510 1271 1020
1271 1530
1271 2040
1273 510
1273 1020
1273 1530
1273 2040
1277 510
1277 1020
1277 1530
1277 2040
1279 510
1279 1020
1279 1530
1279 2040
1283 510
1283 1020
1283 1530
1283 2040
1289 510
1289 1020
1289 1530
1289 2040
1291 510
1291 1020
1291 1530
1291 2040
1297 510
1297 1020
1297 1530
1297 2040
1301 510
1301 1020
1301 1530
1301 2040
1303 510
1303 1020
1303 1530
1303 2040
1307 510
1307 1020
1307 1530
1307 2040
1313 510
1313 1020
1313 1530
1313 2040
1319 510
1319 1020
1319 1530
1319 2040
1321 510
1321 1020 1321 1530
1321 2040
1327 510
1327 1020
1327 1530
1327 2040
1331 510
1331 1020
1331 1530
1331 2040
1333 510
1333 1020
1333 1530
1333 2040
1337 510
1337 1020
1337 1530
1337 2040
1339 510
1339 1020
1339 1530
1339 2040
1349 510
1349 1020
1349 1530
1349 2040
1351 510
1351 1020
1351 1530
1351 2040
1357 510
1357 1020
1357 1530
1357 2040
1361 510
1361 1020
1361 1530
1361 2040
1363 510
1363 1020
1363 1530
1363 2040
1367 510
1367 1020
1367 1530
1367 2040
1369 510
1369 1020
1369 1530
1369 2040
1373 510
1373 1020
1373 1530 1373 2040
1379 510
1379 1020
1379 1530
1379 2040
1381 510
1381 1020
1381 1530
1381 2040
1387 510
1387 1020
1387 1530
1387 2040
1391 510
1391 1020
1391 1530
1391 2040
1393 510
1393 1020
1393 1530
1393 2040
1397 510
1397 1020
1397 1530
1397 2040
1399 510
1399 1020
1399 1530
1399 2040
1403 510
1403 1020
1403 1530
1403 2040
1409 510
1409 1020
1409 1530
1409 2040
1417 510
1417 1020
1417 1530
1417 2040
1421 510
1421 1020
1421 1530
1421 2040
1423 510
1423 1020
1423 1530
1423 2040
1427 510
1427 1020
1427 1530
1427 2040 1429 510
1429 1020
1429 1530
1429 2040
1433 510
1433 1020
1433 1530
1433 2040
1439 510
1439 1020
1439 1530
1439 2040
1441 510
1441 1020
1441 1530
1441 2040
1447 510
1447 1020
1447 1530
1447 2040
1451 510
1451 1020
1451 1530
1451 2040
1453 510
1453 1020
1453 1530
1453 2040
1457 510
1457 1020
1457 1530
1457 2040
1459 510
1459 1020
1459 1530
1459 2040
1463 510
1463 1020
1463 1530
1463 2040
1469 510
1469 1020
1469 1530
1469 2040
1471 510
1471 1020
1471 1530
1471 2040
1477 510
1477 1020
1477 1530
1477 2040
1481 510 1481 1020
1481 1530
1481 2040
1483 510
1483 1020
1483 1530
1483 2040
1487 510
1487 1020
1487 1530
1487 2040
1489 510
1489 1020
1489 1530
1489 2040
1493 510
1493 1020
1493 1530
1493 2040
1499 510
1499 1020
1499 1530
1499 2040
1501 510
1501 1020
1501 1530
1501 2040
1507 510
1507 1020
1507 1530
1507 2040
1511 510
1511 1020
1511 1530
1511 2040
1517 510
1517 1020
1517 1530
1517 2040
1519 510
1519 1020
1519 1530
1519 2040
1523 510
1523 1020
1523 1530
1523 2040
1529 510
1529 1020
1529 1530
1529 2040
1531 510
1531 1020 1531 1530
1531 2040
1537 510
1537 1020
1537 1530
1537 2040
1541 510
1541 1020
1541 1530
1541 2040
1543 510
1543 1020
1543 1530
1543 2040
1549 510
1549 1020
1549 1530
1549 2040
1553 510
1553 1020
1553 1530
1553 2040
1559 510
1559 1020
1559 1530
1559 2040
1561 510
1561 1020
1561 1530
1561 2040
1567 510
1567 1020
1567 1530
1567 2040
1571 510
1571 1020
1571 1530
1571 2040
1573 510
1573 1020
1573 1530
1573 2040
1577 510
1577 1020
1577 1530
1577 2040
1579 510
1579 1020
1579 1530
1579 2040
1583 510
1583 1020
1583 1530 1583 2040
1589 510
1589 1020
1589 1530
1589 2040
1591 510
1591 1020
1591 1530
1591 2040
1597 510
1597 1020
1597 1530
1597 2040
1601 510
1601 1020
1601 1530
1601 2040
1603 510
1603 1020
1603 1530
1603 2040
1607 510
1607 1020
1607 1530
1607 2040
1609 510
1609 1020
1609 1530
1609 2040
1613 510
1613 1020
1613 1530
1613 2040
1619 510
1619 1020
1619 1530
1619 2040
1621 510
1621 1020
1621 1530
1621 2040
1627 510
1627 1020
1627 1530
1627 2040
1631 510
1631 1020
1631 1530
1631 2040
1633 510
1633 1020
1633 1530
1633 2040 1637 510
1637 1020
1637 1530
1637 2040
1639 510
1639 1020
1639 1530
1639 2040
1643 510
1643 1020
1643 1530
1643 2040
1651 510
1651 1020
1651 1530
1651 2040
1657 510
1657 1020
1657 1530
1657 2040
1661 510
1661 1020
1661 1530
1661 2040
1663 510
1663 1020
1663 1530
1663 2040
1667 510
1667 1020
1667 1530
1667 2040
1669 510
1669 1020
1669 1530
1669 2040
1673 510
1673 1020
1673 1530
1673 2040
1679 510
1679 1020
1679 1530
1679 2040
1681 510
1681 1020
1681 1530
1681 2040
1687 510
1687 1020
1687 1530
1687 2040
1691 510 1691 1020
1691 1530
1691 2040
1693 510
1693 1020
1693 1530
1693 2040
1697 510
1697 1020
1697 1530
1697 2040
1699 510
1699 1020
1699 1530
1699 2040
1703 510
1703 1020
1703 1530
1703 2040
1709 510
1709 1020
1709 1530
1709 2040
1711 510
1711 1020
1711 1530
1711 2040
1721 510
1721 1020
1721 1530
1721 2040
1723 510
1723 1020
1723 1530
1723 2040
1727 510
1727 1020
1727 1530
1727 2040
1729 510
1729 1020
1729 1530
1729 2040
1733 510
1733 1020
1733 1530
1733 2040
1739 510
1739 1020
1739 1530
1739 2040
1741 510
1741 1020 1741 1530
1741 2040
1747 510
1747 1020
1747 1530
1747 2040
1753 510
1753 1020
1753 1530
1753 2040
1757 510
1757 1020
1757 1530
1757 2040
1759 510
1759 1020
1759 1530
1759 2040
1763 510
1763 1020
1763 1530
1763 2040
1769 510
1769 1020
1769 1530
1769 2040
1771 510
1771 1020
1771 1530
1771 2040
1777 510
1777 1020
1777 1530
1777 2040
1781 510
1781 1020
1781 1530
1781 2040
1783 510
1783 1020
1783 1530
1783 2040
1787 510
1787 1020
1787 1530
1787 2040
1789 510
1789 1020
1789 1530
1789 2040
1793 510
1793 1020
1793 1530 1793 2040
1799 510
1799 1020
1799 1530
1799 2040
1801 510
1801 1020
1801 1530
1801 2040
1807 510
1807 1020
1807 1530
1807 2040
1811 510
1811 1020
1811 1530
1811 2040
1813 510
1813 1020
1813 1530
1813 2040
1817 510
1817 1020
1817 1530
1817 2040
1823 510
1823 1020
1823 1530
1823 2040
1829 510
1829 1020
1829 1530
1829 2040
1831 510
1831 1020
1831 1530
1831 2040
1837 510
1837 1020
1837 1530
1837 2040
1841 510
1841 1020
1841 1530
1841 2040
1843 510
1843 1020
1843 1530
1843 2040
1847 510
1847 1020
1847 1530
1847 2040 1849 510
1849 1020
1849 1530
1849 2040
1859 510
1859 1020
1859 1530
1859 2040
1861 510
1861 1020
1861 1530
1861 2040
1867 510
1867 1020
1867 1530
1867 2040
1871 510
1871 1020
1871 1530
1871 2040
1873 510
1873 1020
1873 1530
1873 2040
1877 510
1877 1020
1877 1530
1877 2040
1879 510
1879 1020
1879 1530
1879 2040
1883 510
1883 1020
1883 1530
1883 2040
1889 510
1889 1020
1889 1530
1889 2040
1891 510
1891 1020
1891 1530
1891 2040
1897 510
1897 1020
1897 1530
1897 2040
1901 510
1901 1020
1901 1530
1901 2040
1903 510 1903 1020
1903 1530
1903 2040
1907 510
1907 1020
1907 1530
1907 2040
1909 510
1909 1020
1909 1530
1909 2040
1913 510
1913 1020
1913 1530
1913 2040
1919 510
1919 1020
1919 1530
1919 2040
1927 510
1927 1020
1927 1530
1927 2040
1931 510
1931 1020
1931 1530
1931 2040
1933 510
1933 1020
1933 1530
1933 2040
1937 510
1937 1020
1937 1530
1937 2040
1939 510
1939 1020
1939 1530
1939 2040
1943 510
1943 1020
1943 1530
1943 2040
1949 510
1949 1020
1949 1530
1949 2040
1951 510
1951 1020
1951 1530
1951 2040
1957 510
1957 1020 1957 1530
1957 2040
1961 510
1961 1020
1961 1530
1961 2040
1963 510
1963 1020
1963 1530
1963 2040
1967 510
1967 1020
1967 1530
1967 2040
1969 510
1969 1020
1969 1530
1969 2040
1973 510
1973 1020
1973 1530
1973 2040
1979 510
1979 1020
1979 1530
1979 2040
1981 510
1981 1020
1981 1530
1981 2040
1987 510
1987 1020
1987 1530
1987 2040
1991 510
1991 1020
1991 1530
1991 2040
1993 510
1993 1020
1993 1530
1993 2040
1997 510
1997 1020
1997 1530
1997 2040
1999 510
1999 1020
1999 1530
1999 2040 Non-Limiting Software and Hardware Examples
Various exemplary embodiments of the invention as described above can be
implemented as one or more program products, software applications and the like, for use with a computer system, both as to transmission from preparation and as to receiver operations and processes. The terms program, software application, and the like, as used herein, are defined as a sequence of instructions designed for execution on a computer system or data processor. A program, computer program, or software application may include a subroutine, a function, a procedure, an object method, an object implementation, an executable application, an applet, a servlet, a source code, an object code, a shared library/dynamic load library and/or other sequence of instructions designed for execution on a computer system.
The program(s) of the program product or software may define functions of the embodiments (including the methods described herein) and can be contained on a variety of computer readable media. Illustrative computer readable media include, but are not limited to: (i) information permanently stored on non-writable storage medium (e.g., read-only memory devices within a computer such as CD-ROM disk readable by a CD-ROM drive); (ii) alterable information stored on writable storage medium (e.g., floppy disks within a diskette drive or hard-disk drive); or (iii) information conveyed to a computer by a communications medium, such as through a computer or telephone network, including wireless communications. The latter embodiment specifically includes information downloaded from the Internet and other networks. Such computer readable media, when carrying computer-readable instructions that direct the functions of the present invention, represent embodiments of the present invention.
In general, the routines executed to implement the embodiments of the present invention, whether implemented as part of an operating system or a specific application, component, program, module, object or sequence of instructions may be referred to herein as a "program." A computer program typically is comprised of a multitude of instructions that will be translated by the native computer into a machine-readable format and hence executable instructions. Also, programs are comprised of variables and data structures that either reside locally to the program or are found in memory or on storage devices. In addition, various programs described herein may be identified based upon the application for which they are implemented in a specific embodiment of the invention. However, it should be appreciated that any particular program nomenclature that follows is used merely for convenience, and thus the invention should not be limited to use solely in any specific application identified and/or implied by such nomenclature.
It is also clear that given the typically endless number of manners in which computer programs may be organized into routines, procedures, methods, modules, objects, and the like, as well as the various manners in which program functionality may be allocated among various software layers that are resident within a typical computer (e.g., operating systems, libraries, API's, applications, applets, etc.) It should be appreciated that the invention is not limited to the specific organization and allocation or program functionality described herein.
The present invention may be realized in hardware, software, or a combination of hardware and software. A system according to a preferred embodiment of the present invention can be realized in a centralized fashion in one computer system on the transmit side, and one receiver on the receive side, or in a distributed fashion where different elements are spread across several interconnected computer systems, including cloud connected computing systems and devices. Any kind of computer system— or other apparatus adapted for carrying out the methods described herein— is suited. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.
Each computer system may include, inter alia, one or more computers and at least a signal bearing medium allowing a computer to read data, instructions, messages or message packets, and other signal bearing information from the signal bearing medium. The signal bearing medium may include non-volatile memory, such as ROM, Flash memory, Disk drive memory, CD-ROM, and other permanent storage. Additionally, a computer medium may include, for example, volatile storage such as RAM, buffers, cache memory, and network circuits. Furthermore, the signal bearing medium may comprise signal bearing information in a transitory state medium such as a network link and/or a network interface, including a wired network or a wireless network, that allow a computer to read such signal bearing information. Although specific embodiments of the invention have been disclosed, those having ordinary skill in the art will understand that changes can be made to the specific embodiments without departing from the spirit and scope of the invention. The scope of the invention is not to be restricted, therefore, to the specific embodiments. The above-presented description and figures are intended by way of example only and are not intended to limit the present invention in any way except as set forth in the following claims. For example, while this disclosure speaks in terms of enhancing the bandwidth efficiency of satellite radio broadcasts, its techniques and systems are applicable to any type of communications system, transmitting, broadcasting or exchanging audio, video or other data content. It is particularly noted that persons skilled in the art can readily combine the various technical aspects of the various elements of the various exemplary embodiments that have been described above in numerous other ways, all of which are considered to be within the scope of the invention.
It will thus be seen that the objects made apparent from the preceding description are efficiently attained, and since certain changes may be made without departing from the spirit and scope of the invention, it is intended that all matter contained in the above description shall be interpreted as illustrative and not in a limiting sense.

Claims

WHAT IS CLAIMED:
1. A computerized method of generating and testing Q.PP parameter sets for large code block sizes, comprising:
generating a set of possible Q.PP parameter pairs {fl,f2} for a given block size N greater than 10,000 bits;
first testing the bit error performance of each pair of the set at a given SNR;
eliminating any Q.PP parameter pair that does not meet a defined performance threshold;
subsequently testing the remaining Q.PP pairs by changing at least one of (i) number of bits decoded error free , (ii) SNR, or (iii) bit error rate, to find an optimal pair or pairs; and
outputting one or more optimal pair or pairs of Q.PP parameters to a user.
2. The method of claim 1, wherein the defined SNR for the first test is an Eb/No ratio between 0.2 and 0.8, inclusive.
3. The method of claim 1, wherein the defined SNR for the first test is an Eb/No ratio between 0.3 and 0.5, inclusive.
4. The method of claim 1, wherein the defined performance threshold for the first test is at least one of:
a maximal BER, or a minimum number of bits successfully decoded at a defined BER.
5. The method of claim 1, wherein for the subsequent test the defined SNR is 0.3 Eb/No and the defined performance threshold is a maximal BER of 10"4'
6. The method of claim 1, wherein for the subsequent test the defined SNR is 0.4 Eb/No and the defined performance threshold is a maximal BER of 10"6'
7. The method of claim 1, wherein for the subsequent test either (i) the SNR is lowered and the bit error rate raised, (ii) the SNR lowered and the bit error rate maintained the same, (iii) the SNR maintained the same and the bit error rate lowered, or (iv) the SNR lowered and the number of bits to be decoded error free is raised .
8. The method of claim 1, further comprising testing over a range of possible block sizes, each possible bock size tested as the given block size.
9. The method of claim 1, wherein said subsequently testing includes incrementally increasing/decreasing the Eb/No and decreasing/increasing the number of bits being decoded one or more times.
10. The method of claim 9, wherein the last parameter pair to meet the BER threshold is chosen as a winner of the subsequent testing.
11. A computerized method of generating and testing Q.PP parameter sets for a given code block size, comprising:
generating a set of possible Q.PP parameter pairs for a given block size;
separating the set into I subsets;
first testing in parallel the performance of each subset of pairs at a given SNR;
eliminating any Q.PP parameter pair from each subset that does not meet a defined performance threshold;
subsequently testing the remaining Q.PP pairs from each subset by at least one of decoding larger numbers of bits and decoding a signal of a lower SNR ratio to find an optimal pair or pairs to obtain an optimal Q.PP pair for that subset;
testing the optimal pair from each subset by some combination of decoding larger numbers of bits and decoding a signal of a lower SNR ratio to find an optimal pair or pairs for the set; and
outputting one or more optimal pair or pairs of Q.PP parameters to a user.
12. The method of claim 11, wherein each subset of Q.PP pairs is first tested on a separate data processing device.
13. The method of claim 12, wherein the remaining Q.PP pairs from each subset are also tested in parallel on separate data processing devices.
14. The method of claim 12, wherein the optimal pairs from each subset are tested on one data processing device in a head to head comparison.
15. A system, comprising:
at least one processor;
a display; and
memory containing instructions that, when executed, cause the at least one processor to: generate a set of possible Q.PP parameter pairs {fl,f2} for a given block size N greater than 10,000 bits;
first test the bit error performance of each pair of the set at a given SNR;
eliminate any Q.PP parameter pair that does not meet a defined performance threshold; subsequently test the remaining Q.PP pairs by changing at least one of (i) number of bits decoded error free , (ii) SNR, or (iii) bit error rate, to find an optimal pair or pairs; and outputting one or more optimal pair or pairs of Q.PP parameters.
16. The system of claim 15, wherein the defined SNR for the first test is an Eb/No ratio between 0.2 and 0.8, inclusive.
17. The system of claim 15, wherein the defined SNR for the first test is an Eb/No ratio between 0.3 and 0.5, inclusive.
18. The system of claim 15, wherein the defined performance threshold for the first test is at least one of:
a maximal BER, or a minimum number of bits successfully decoded at a defined BER.
19. The system of claim 15, wherein for the subsequent test the defined SNR is 0.3 Eb/No and the defined performance threshold is a maximal BER of 10"4'
20. The system of claim 15, wherein for the subsequent test the defined SNR is 0.4 Eb/No and the defined performance threshold is a maximal BER of 10"6'
21. The system of claim 15, wherein for the subsequent test either (i) the SNR is lowered and the bit error rate raised, (ii) the SNR lowered and the bit error rate maintained the same, (iii) the SNR maintained the same and the bit error rate lowered, or (iv) the SNR lowered and the number of bits to be decoded error free is raised .
22. The system of claim 15, wherein the instructions further cause the at least one processor to test over a range of possible block sizes, each possible bock size tested as the given block size.
23. The system of claim 15, wherein said subsequently test includes incrementally increasing/decreasing the Eb/No and decreasing/increasing the number of bits being decoded one or more times.
24. The system of claims 19-23, wherein the last parameter pair to meet a then prevailing BER threshold is chosen as a winner of the subsequent testing.
25. The system of claim 22 where the range of possible block sizes are divided into one or more layers of subsets and tested in parallel.
26. The system of claim 15, wherein the optimal pair is a parameter set {fl,f2} = {217,1560} for a block size of N=12,168 bits, and a parameter set {fl,f2} = {299, 510} for a block size of N=12,240 bits.
27. The method of claim 1, wherein the optimal pair is a parameter set {fl,f2} = {217,1560} for a block size of N=12,168 bits, and a parameter set {fl,f2} = {299, 510} for a block size of N=12,240 bits.
PCT/US2015/054763 2014-10-08 2015-10-08 Method and system for identifying optimal quadratic permutation polynomial turbo interleaver sets WO2016057836A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462061292P 2014-10-08 2014-10-08
US62/061,292 2014-10-08

Publications (1)

Publication Number Publication Date
WO2016057836A1 true WO2016057836A1 (en) 2016-04-14

Family

ID=55653802

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/054763 WO2016057836A1 (en) 2014-10-08 2015-10-08 Method and system for identifying optimal quadratic permutation polynomial turbo interleaver sets

Country Status (1)

Country Link
WO (1) WO2016057836A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080172590A1 (en) * 2007-01-17 2008-07-17 Broadcom Corporation, A California Corporation Quadratic polynomial permutation (QPP) interleaver providing hardware savings and flexible granularity adaptable to any possible turbo code block size
US20110066914A1 (en) * 2009-09-11 2011-03-17 Shuenn-Gi Lee Address Generation Apparatus And Method For Quadratic Permutation Polynomial Interleaver De-Interleaver
US20140032997A1 (en) * 2006-11-10 2014-01-30 Jung-Fu Cheng Qpp interleaver/de-interleaver for turbo codes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140032997A1 (en) * 2006-11-10 2014-01-30 Jung-Fu Cheng Qpp interleaver/de-interleaver for turbo codes
US20080172590A1 (en) * 2007-01-17 2008-07-17 Broadcom Corporation, A California Corporation Quadratic polynomial permutation (QPP) interleaver providing hardware savings and flexible granularity adaptable to any possible turbo code block size
US20110066914A1 (en) * 2009-09-11 2011-03-17 Shuenn-Gi Lee Address Generation Apparatus And Method For Quadratic Permutation Polynomial Interleaver De-Interleaver

Similar Documents

Publication Publication Date Title
US11165537B2 (en) Method for encoding information bit sequence in communication network
CN109039344B (en) Method and equipment for coding input data into polar code, decoding method and equipment thereof
US10097205B2 (en) Transmission device, reception device, transmission method, and reception method for suppressing the degrading of decoding performance due to combinations of eliminations at the bit level
EP3497796B1 (en) Selection of an error correcting code based on a target information length and a target parity length
CN109314600B (en) System and method for rate matching when using generic polarization codes
US10560218B2 (en) Apparatus and methods for decoding assistant bit-based polar code construction
US11381257B2 (en) Capacity achieving multicarrier modulation and coding systems and methods
AU2018206034A1 (en) Rate matching method, encoding apparatus, and communication apparatus
JP2020504508A (en) Apparatus and method used for polar code construction
US20160028417A1 (en) Decoding Method, Decoding Apparatus, and Communications System
CN109547034B (en) Decoding method and device, decoder
CN101710850A (en) Convolution Turbo encoding method and device for realizing encoding method
WO2019015742A1 (en) Apparatus and method for encoding a message having a target probability distribution of code symbols
EP3813278B1 (en) Multilevel polar-coded modulation transmitting and receiving methods and devices
US20230155680A1 (en) Modulation and Encoding Method and Apparatus, Demodulation and Decoding Method and Apparatus, Device, and Communication System
US10491330B2 (en) Wireless node for a wireless communication system and method thereof
CN107431559B (en) method and device for data transmission by using multi-polarization code
US10673563B2 (en) Modulation method and apparatus
JP4675312B2 (en) Encoding device, decoding device, transmitter, and receiver
JP2005529509A (en) Method and communication device for matching data rates in a communication device
WO2016057836A1 (en) Method and system for identifying optimal quadratic permutation polynomial turbo interleaver sets
US20140068387A1 (en) Transmitting apparatus, receiving apparatus, transmitting method and receiving method for communicating data coded with low density parity check (ldpc) codes
US8782501B2 (en) Error correction encoding method, decoding method and associated devices
CN111771336B (en) Apparatus and method for generating polarization code
US20230136251A1 (en) On-demand decoding method and apparatus

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15848202

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15848202

Country of ref document: EP

Kind code of ref document: A1