Pseudo-random scrambling code parameter double-overlapping and sampling analysis method and device
Through the double-thread and acquisition analysis method, the problem of blindly identifying pseudo-random scrambling code parameters in digital communication is solved, and the function of autonomously recovering encoding parameters under small data volume is realized. It is suitable for error-correcting code pseudo-random scrambling sequence analysis that meets specific conditions.
Patent Information
- Application Number
- CN202211668777.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-24
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2042-12-24
AI Technical Summary
During digital communication, error correction code parameters are known but it is difficult to blindly identify pseudo-random scrambling code parameters, especially when specific conditions are met, traditional methods require a large amount of data and cannot guarantee a full zero sequence or a 0-1 proportional balance.
A double iterative and acquisition analysis method for pseudo-random scrambling code parameters is proposed. Through initialization, iterative calculation, sampling and convolution operations, the coding sequence is gradually restored using Euclidean analysis method and long division, thereby identifying the pseudo-random scrambling code parameters.
It is realized that without sharing pseudo-random scrambling encoding parameters and not increasing the overhead of code streams, the receiver recovers the scrambling encoding parameters by itself, thereby restoring the transmitted information, with a small amount of data used and no 0-1 balance requirement for the information sequence.
Smart Images

Figure CN116155447B_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the field of communication technology, and in particular relates to a method and device for double-overlapping and sampling analysis of pseudo-random scrambling code parameters. Background Art
[0002] Existing technologies for pseudo-random scrambling code analysis: BM iterative method; combined advantage statistical method; repeated code statistical method. The BM iterative method requires traversal and solution, which has a large amount of computation and requires that the data sequence used for scrambling has a long all-zero sequence. The combined advantage statistical method has a large amount of computation and requires that the data sequence used for scrambling contain an unbalanced ratio of 0s and 1s. The repeated code statistical method requires a large amount of data and requires that the data sequence used for scrambling contain an unbalanced ratio of 0s and 1s. Summary of the invention
[0003] In actual digital communication, error correction coding (mainly including block code and convolutional code) is often used first, and then pseudo-random scrambling coded data is used for communication. The present invention solves the following problem: when the error correction code parameters are known and the two limiting conditions of "the code length and the period of the m sequence are mutually prime" and "there is a polynomial corresponding to the check vector that is not divisible by the characteristic polynomial of the m sequence" are met, the parameters of the pseudo-random scrambling code are blindly identified. If the existing method is used, in order to form a statistical advantage in analysis and judgment, the amount of data is often very large, and the error correction code itself cannot guarantee that there must be a long all-zero sequence, and its 0-1 ratio is also balanced, which does not meet the application requirements of the traditional method. In view of the above problems, the present invention proposes a double-overlapping and sampling analysis method and device for pseudo-random scrambling code parameters, which can be applied in two aspects: one is used for national defense security, to conduct reconnaissance and analysis of unknown signals such as satellites and shortwave generated by the enemy, clarify the rules of their coding parameters, and provide important technical support for battlefield situation awareness, information restoration of secret communications, and victory over the enemy; the second is used in communication occasions including satellite communications "combined application of linear codes and scrambling codes". By using the analysis method and device of the present invention, the communicating parties do not need to share the pseudo-random scrambling coding parameters, nor do they need to add extra overhead to the transmitted code stream to transmit the scrambling coding parameters. This can help the receiving party to recover the scrambling coding parameters by itself, thereby restoring the transmitted information.
[0004] In order to achieve the above object, the present invention adopts the following technical solutions:
[0005] On the one hand, the present invention provides a double-overlapping and sampling analysis method for pseudo-random scrambling code parameters, which is suitable for analyzing pseudo-random scrambling sequences of error correction codes that meet the following conditions:
[0006] 1) n and 2 m -1 coprime: (n,2 m -1)=1;
[0007] 2) There exists an h jSatisfies: g(x) does not divide h j (x);
[0008]
[0009]
[0010] Where g(x) represents the characteristic polynomial of the m-sequence used for scrambling, n represents the block code length or the convolutional code subcode length; h j represents the check vector; n1 represents the length of the check vector;
[0011] The method includes:
[0012] Step 1, initialization, take j = 0;
[0013] Step 2, let j=j+1;
[0014] Step 3: If j≤r, calculate the check vector h j With scrambled sequence The convolution result is recorded as satisfy:
[0015]
[0016] Where r represents the number of check elements or the check length;
[0017] Step 4: Take n as the sampling interval and take The sampling sequence is like If it is a sequence of all 0s, go to step 2;
[0018] Step 5: Use iterative method to calculate the generated sequence The characteristic polynomial g1(x) of the minimum register is of degree m1;
[0019] Step 6, calculate the period of g1(x): p = 2 m -1;
[0020] Step 7: For the applicable condition of the method (n, p1) = 1, perform the Euclidean analysis method to calculate the integers u and v so that the following equation holds:
[0021] un+vp1=1
[0022] Finding Satisfaction
[0023] un≡1mod p1
[0024] The smallest positive integer u;
[0025] Step 8: Sample the sequence with sampling interval u Second sampling, get the m sequence:
[0026] Step 9, determine whether log2n is a positive integer. If so, take g(x) = g1(x). Otherwise, use the iterative method to calculate the generated sequence. The characteristic polynomial g(x) of the minimum shift register is m;
[0027] Step 10, take h j (x) is the dividend, g(x) is the divisor, and long division is used to find
[0028] h j (x)≡x t mod g(x)
[0029] The smallest non-negative integer t;
[0030] Step 11, use the sequence The period of the m sequence is obtained
[0031] s i =a (i+p-t)nu ;
[0032] Step 12: Descramble and restore the coded sequence:
[0033] c i =b i +s i .
[0034] Furthermore, in step 5, m1=m.
[0035] Furthermore, the sequence g1(x) can be regarded as the characteristic polynomial, (a (m-1)n ,a (m-2)n ,…,a0) is the initial state of the register generation.
[0036] Furthermore, the sequence The period is p = 2 m -1.
[0037] Furthermore, the sequence g(x) can be regarded as the characteristic polynomial, (a (m-1)nu ,a (m-2)nu ,…,a0) is the initial state of the register generation.
[0038] Another aspect of the present invention provides a pseudo-random scrambling code parameter double-overlapping and sampling analysis device, which is suitable for analyzing the pseudo-random scrambling sequence of the error correction code that meets the following conditions:
[0039] 1) n and 2 m-1 coprime: (n,2 m -1)=1;
[0040] 2) There exists an h j Satisfies: g(x) does not divide h j (x);
[0041]
[0042]
[0043] Where g(x) represents the characteristic polynomial of the m-sequence used for scrambling, n represents the block code length or the convolutional code subcode length; h j represents the check vector; n1 represents the length of the check vector;
[0044] The device includes:
[0045] Initialization module, used for initialization, taking j=0;
[0046] Assignment module, used to set j=j+1;
[0047] Convolution module, used to calculate the check vector h if j≤r j With scrambled sequence The convolution result is recorded as satisfy:
[0048]
[0049] Where r represents the number of check elements or the check length;
[0050] The sampling module is used to take n as the sampling interval and take The sampling sequence is like If it is a sequence of all 0s, then switch to the assignment module;
[0051] The first iteration module is used to calculate the generated sequence using an iterative method The characteristic polynomial g1(x) of the minimum register is of degree m1;
[0052] The first calculation module is used to calculate the period of g1(x): p=2 m -1;
[0053] The second calculation module is used to perform the Euclidean analysis method to calculate the integers u and v so that the following formula holds true for the applicable condition (n, p1) = 1 of the method
[0054] un+vp1=1
[0055] Finding Satisfaction
[0056] un≡1mod p1
[0057] The smallest positive integer u;
[0058] The secondary sampling module is used to sample the sequence at a sampling interval u. Second sampling, get the m sequence:
[0059] The second iteration module is used to determine whether log2n is a positive integer. If so, g(x)=g1(x) is taken. Otherwise, the iterative method is used to calculate the generated sequence The characteristic polynomial g(x) of the minimum shift register is m;
[0060] The third calculation module is used to obtain h j (x) is the dividend, g(x) is the divisor, and long division is used to find
[0061] h j (x)≡x t mod g(x)
[0062] The smallest non-negative integer t;
[0063] m sequence derivation module, used to utilize sequence The period of the m sequence is obtained
[0064] s i =a (i+p-t)nu ;
[0065] The descrambling recovery module is used to descramble and recover the coded sequence:
[0066] c i =b i +s i .
[0067] Furthermore, in the first iteration module, m1=m.
[0068] Furthermore, the sequence g1(x) can be regarded as the characteristic polynomial, (a (m-1)n ,a (m-2)n ,…,a0) is the initial state of the register generation.
[0069] Furthermore, the sequence The period is p = 2 m -1.
[0070] Furthermore, the sequence g(x) can be regarded as the characteristic polynomial, (a (m-1)nu ,a (m-2)nu,…,a0) is the initial state of the register generation.
[0071] Compared with the prior art, the present invention has the following beneficial effects:
[0072] By using the analysis method and device of the present invention, the communicating parties do not need to share the pseudo-random scrambling coding parameters, nor do they need to add extra overhead to the transmitted code stream to transmit the scrambling coding parameters. The amount of data used is very small, and only (2m-1)n+n1 bits of data (m is the number of the scrambling code characteristic polynomial, n is the block code length or the convolution code subcode length, and n1 is the check vector length) are needed to help the receiving party recover the scrambling coding parameters by itself, thereby restoring the transmitted information. There is no special requirement for the information sequence such as 0-1 balance. BRIEF DESCRIPTION OF THE DRAWINGS
[0073] Figure 1 is a schematic diagram of an m-sequence generator;
[0074] Figure 2 Schematic diagram of a pseudo-random scrambler and descrambler;
[0075] Figure 3 A flowchart of a method for double-overlapping and sampling analysis of pseudo-random scrambling code parameters according to an embodiment of the present invention;
[0076] Figure 4 The present invention is a schematic diagram of the structure of a device for double-overlapping and sampling analysis of pseudo-random scrambling code parameters according to an embodiment of the present invention. DETAILED DESCRIPTION
[0077] The present invention will be further explained below with reference to the accompanying drawings and specific embodiments:
[0078] Problem description and basic assumptions
[0079] The error correction coding sequence is The characteristic polynomial of the m-sequence used for scrambling is denoted by
[0080]
[0081] Here g0 = g n =1, modulo 2 addition is used. Unless otherwise specified in the following description, all additions used are modulo 2 additions. Figure 1 The initial (i.e. time 0) states of the linear feedback shift registers (hereinafter referred to as shift registers) of the pseudo-random scrambler and descrambler are both [s m-1 ,S m-2 ,…,S0], the generated m sequence is recorded as satisfy:
[0082] S i+m =S i+m-1 g1+S i+m-2g2+…+S i g m
[0083] The state at time i is [s i+m-1 ,s i+m-2 ,…,s i ].
[0084] like Figure 2 , coding sequence The pseudo-random scrambling sequence is denoted as The scrambled sequence is obtained by adding the coded sequence to the m sequence bit by bit modulo 2:
[0085] b i =c i +s i
[0086] When descrambling, the scrambled sequence With m-sequence Bit-by-bit modulo 2 addition:
[0087] c i =b i +s i
[0088] Thus recovering the coding sequence
[0089] Question: If the error correction coding parameters are known, how do we solve the parameters of the pseudo-random scrambler and descramble the coded sequence?
[0090] There are two typical error correction coding types: "linear block code" and "convolutional code". Therefore, this problem can be broken down into two sub-problems.
[0091] Subproblem 1: The error correction code is a linear block code. Given the code length n, the number of check elements r, and the r check vectors in the check matrix H,
[0092] Subproblem 2: The error correction code is a convolutional code. Given the subcode length n, the check length r, and the r check vectors in the basic check matrix H in
[0093] Here, n1 represents the length of the check vector, which is n in subproblem 1 and is usually an integer multiple of the subcode length in subproblem 2.
[0094] But the two analyses can be performed with the same parameters n, r, This completes the description of the method, so it is no longer necessary to determine whether it is a block code or a convolutional code during the method introduction.
[0095] Method Description
[0096] The present invention provides a double-overlapping and sampling analysis method for pseudo-random scrambling code parameters, which is suitable for error correction code pseudo-random scrambling sequence analysis that meets the following conditions:
[0097] 1) n and 2 m -1 coprime: (n,2 m -1)=1;
[0098] 2) There exists an h j Satisfies: g(x) does not divide h j (x). Here
[0099]
[0100] like Figure 3 As shown, the above-mentioned double-overlapping and sampling analysis method includes:
[0101] 1) Initialization, take j=0.
[0102] 2) Let j=j+1.
[0103] 3) If j≤r, calculate the check vector h j With scrambled sequence The convolution result is recorded as satisfy:
[0104]
[0105] 4) Taking n as the sampling interval, take The sampling sequence is like If it is a sequence of all 0s, go to step 2.
[0106] 5) Use iterative method to calculate the generated sequence The characteristic polynomial g1(x) of the minimum shift register is of degree m1.
[0107] Note 1: Since the method is applicable to the conditions (n,2 m -1)=1, so according to the properties of the m-sequence, m1=m.
[0108] Note 2: The iterative method is quoted from the literature - "Linear Shift Register Sequence" by Ding Shisun, Shanghai Science and Technology Press, 1982. The method is restated here to make it simpler and in line with the expression habits of this article, see Appendix 1 for details.
[0109] 6) Calculate the period of g1(x): p = 2 m -1.
[0110] 7) For the applicable condition of the method (n, p1) = 1, perform the Euclidean analysis method to calculate the integers u and v so that the following equation holds
[0111] un+vp1=1
[0112] Finding Satisfaction
[0113] un≡1mod p1
[0114] The smallest positive integer u.
[0115] 8) The sampling sequence is sampled at sampling interval u Second sampling, get the m sequence:
[0116] Note 1: Sequence g1(x) can be regarded as the characteristic polynomial, (a (m-1)n ,a (m-2)n ,…,a0) is the initial state of the register generation.
[0117] Note 2: According to the shift-add characteristic of m-sequence, That is A shift sequence of t is a nonnegative integer.
[0118] 9) Determine whether log2n is a positive integer. If so, take g(x) = g1(x). Otherwise, use an iterative method to calculate the generated sequence. The characteristic polynomial g(x) of the minimum shift register is m.
[0119] 10) Take h j (x) is the dividend, g(x) is the divisor, and long division is used to find
[0120] h j (x)≡x t mod g(x)
[0121] The smallest non-negative integer t. For details on long division, see Appendix 2.
[0122] 11) Utilize Sequence The period of the m sequence is obtained
[0123] s i =a (i+p-t)nu
[0124] Note 1: Sequence The period is p = 2 m -1.
[0125] Note 2: Sequence g(x) can be regarded as the characteristic polynomial, (a (m-1)nu ,a (m-2)nu ,…,a0) is the initial state of the register generation.
[0126] 12) Descramble and restore the coded sequence:
[0127] c i =b i +s i
[0128] The analysis process is over!
[0129] Appendix 1 Iterative Method
[0130] Known sequence The characteristic polynomial g(x) of the minimum shift register that generates the sequence s is calculated in an iterative manner as follows.
[0131] Initialization: g0(x) = 1, find the first one in sequence s that satisfies s i =1 position i, let g i-1 (x)=…=g0(x)=1,g i (x) = 1 + x i .
[0132] Assume that we already have g1(x),…,g k (x), which in turn can generate the sequence The characteristic polynomial of is m1, m2, …, m k , the degree of g0(x) is denoted as m0, m0=1.
[0133] The following two cases generate the sequence: The polynomial g k+1 (x).
[0134] 1) If g k (x) can generate a sequence but
[0135] g k+1 (x) = g k (x),m k+1 =m k
[0136] 2) If g k (x) cannot generate a sequence In m0,n1,…,m k In the above example, let m l It's the last one. k A small number, that is
[0137] m l <m l+1 =…=m k
[0138] Then we need to divide it into two cases to get g k+1(x)
[0139] 2.1) If km k ≤lm l , then take
[0140]
[0141] At this time f n+1 The degree of (x) is n k .
[0142] 2.2) If km k >lm l , then take
[0143]
[0144] At this time k+1 The degree of (x) is k-l+m k .
[0145] If the degree of g(x) is m, then g 2m (x) = g(x).
[0146] Appendix 2: Long division to find the number of shifts
[0147] Known Dividend Division is a primitive polynomial. Find the smallest non-negative integer t that satisfies: h(x)≡x t modg(x).
[0148] 1) Initialization, take j = 0,
[0149]
[0150] 2) If There is only one 1 in the , and the others are all 0, then h i = 1, the remainder obtained by dividing the period of g(x) is t, and the analysis process ends; otherwise, let the integer k satisfy h i =1, calculate the smallest i
[0151]
[0152] 3) Take j=j+1 and go to step 2.
[0153] The third step of the method, convolution, is a summation process. Steps 4 and 8 are sampling operations. Steps 5 and 9 use two iterative analysis methods, so it is called the double iterative and sampling analysis method.
[0154] Principle of analytical method
[0155] Pseudo-random scrambling sequence Is the coding sequence and m-sequence The sum of "Calculate the check vector h j and convolution, and then sample the convolution result at interval n", which is equivalent to "first calculate the check vector h j and coding sequences The convolution is performed and the result is sampled at interval n to obtain 1, and then the check vector h is calculated. j and m-sequence The convolution is performed and sampled at interval n to obtain result 2, and finally result 1 and result 2 are summed.
[0156] According to the meaning of the error correction code check vector, the result 1 should be all zeros. According to the shift-add characteristic of the m sequence, as long as h j (x) is not divisible by g(x), check vector h j and m-sequence The convolution result is a shift sequence of the original m sequence; and when h j When (x) is divisible by g(x), the check vector h j and m-sequence The convolution result is a sequence of all zeros.
[0157] According to the sampling characteristics of the m sequence, since the periods n and p of the m sequence are relatively prime, the result obtained by sampling the "shift sequence of the original m sequence" at interval n is There are two cases: one is when n is an integer power of 2 (log2n is a positive integer), this sampling sequence is a shift sequence of the original sequence; the other is when n is not an integer power of 2, the minimum shift register that generates this sampling sequence has the same order as the original sequence, but the characteristic polynomial is different.
[0158] (Analysis Method Steps 1-3) Double Overlap and Sampling Analysis Method Using Different H j (x) Try to solve the original m sequence and restore the coded sequence. (Analysis method step 4) If the result after convolution and sampling is is all 0, then the corresponding h j (x) is divisible by g(x), the analysis method skips this h j (x), continue to use the new h j (x) Solve. (Analysis method step 5-6) If If it is not all 0, it is generated by iterative method. The characteristic polynomial g1(x) of the minimum shift register is m1, and the sequence The period is
[0159] (Analysis method step 7-8) Since the result after sampling is an m-sequence with the sequence before sampling with the same period, we can The original sequence is obtained by sampling again. The sampling interval is a positive integer u, so that
[0160] un≡1mod p1
[0161] So obtained It is equivalent to the sampling sequence obtained by the original sequence according to the interval 1, that is, the original sequence itself.
[0162] (Analysis method step 9) Then determine whether log2n is a positive integer. If so, this sampling sequence is a shift sequence of the original sequence and has the same characteristic polynomial (g(x) = g1(x)); if not, the shift register that generates this sampling sequence has the same order (m = m1) as the original sequence, but the characteristic polynomial is different. Therefore, the iterative analysis method is used in step 9 of the analysis method to calculate the generated sequence. The characteristic polynomial g(x) of the minimum shift register.
[0163] (Steps 10-11 of the analytical method) Sequence It is the shift-add sequence of the original m sequence. It is necessary to calculate the shift number t and shift it again by pt bits according to the period p of the sequence to restore the original m sequence. Then subtract the original m sequence from the scrambled sequence. Get the coding sequence
[0164] Since the iterative analysis method only needs 2m bits to ensure that the generating polynomial of the m sequence can be calculated, the length of the scrambling sequence used in this process only needs to include (2m-1)n+n1.
[0165] As an implementable method, the following specific example is given:
[0166] Suppose the generator matrix of the (4,2) linear block code (code length is 4, information length is 2) is
[0167]
[0168] The check matrix is
[0169]
[0170] The characteristic polynomial of the m-sequence used for scrambling is
[0171] g(x)=1+x 2 +x 3
[0172] Assume that the information sequence is written in groups as
[0173] "00 10 11 01 01 10 01 10"
[0174] Then the coding sequence of the linear block code is written in groups as
[0175] "0000 1010 0111 1101 1101 1010 1101 1010"
[0176] Assuming the initial state of the digital scrambler is "001", the generated m sequence is
[0177] "1001 1101 0011 1010 0111 0100 1110 1001"
[0178] The scrambled sequence is obtained by scrambling the coded sequence for
[0179] "1001 0111 0100 0111 1010 1110 0011 0011"
[0180] Question: If only the check matrix of the linear block code and the scrambled sequence are known
[0181] "1001 0111 0100 0111 1010 1110 0011 0011"
[0182] Can the pseudo-random scrambler parameters be solved and the encoded sequence recovered?
[0183] Analysis of the applicability of the analytical method to this problem: code length n = 4, information length is 2, number of check elements r = 2, 2 check vectors are provided in the check matrix, h 1 =[1 0 1 1], h 2 = [0 1 0 1], the length is n1 = 4, which is the same as the code length n = 4. The number of register stages of the m sequence is m = 3, and the resulting sequence period is 2 m -1=7. Satisfy the use conditions:
[0184] 1) n and 2 m -1 coprime: (n,2 m -1)=1;
[0185] 2)h 2 Satisfies: g(x)=1+x 2 +x 3 Not divisible by h 2 (x) = x + x 3 .
[0186] Therefore, the analysis can be completed using a double-overlapping analysis method.
[0187] Calculation process:
[0188] 1) Execute step 1 of the analysis method: Initialize and take j=0.
[0189] 2) Execute step 2 of the analysis method: set j=j+1, and obtain j=1.
[0190] 3) Execute step 3 of the analysis method: Since j = 1 < 2 = r, calculate the check vector
[0191] h 1 = [1 0 1 1] and the scrambled sequence 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 1 1 0 1 0 1 1 1 0 0 0 1 1 0 0 1 1
[0193] The convolution result is 0 1 1 1 0 0 0 0 0 1 1 0 0 1 0 0 0 1 1 0 0 1 1 0 1 1 0 0
[0195] 4) Execute step 4 of the analysis method: take n=4 as the sampling interval and take The sampling sequence 0 0 0 0 0 0 0 0
[0197] because It is a sequence of all zeros, so go to step 2 of the analysis method.
[0198] 5) Execute step 2 of the analysis method: let j=j+1, and obtain j=2.
[0199] 6) Execute step 3 of the analysis method: Since j = 2 = r, calculate the check vector h 2 = [0 1 0 1] and the scrambled sequence 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 1 1 0 1 0 1 1 1 0 0 0 1 1 0 0 1 1
[0201] The convolution result is 1 0 0 1 0 1 0 0 1 0 1 1 0 0 1 0 0 0 1 0 1 1 0 1 1 1 1 1 1
[0203] 7) Execute step 4 of the analysis method: take n=4 as the sampling interval and take The sampling sequence 1 0 1 0 0 1 1 1
[0205] 8) Execute the analysis method step 5: Use the iterative analysis method to calculate the generated sequence The characteristic polynomial g1(x) of the minimum register is m1. k (x) can generate a sequence Then take d k =0, otherwise take d k =1.
[0206] k <![CDATA[g k (x)]]> <![CDATA[m k ]]> <![CDATA[k-m k ]]> <![CDATA[d k ]]> 0 1 0 0 1 1 1+x 1 0 1 2 x 1 1 1 3 <![CDATA[1+x 2 ]]> 2 1 0 4 <![CDATA[1+x 2 ]]> 2 2 1 5 <![CDATA[x 3 ]]> 3 2 1 6 <![CDATA[1+x 2 +x 3 ]]> 3 3 0 7 <![CDATA[1+x 2 +x 3 ]]> 3 4 0 8 <![CDATA[1+x 2 +x 3 ]]>
[0207] We get g1(x)=1+x 2 +x 3 , the number is m1 = 3
[0208] 8) Execute the analysis method step 6: Calculate the cycle
[0209] 9) Execute step 7 of the analysis method: Since (n,p1)=(4,7)=1, the Euclidean analysis method is used to calculate u=2, which satisfies
[0210] un≡1mod p1
[0211] 10) Execute step 8 of the analysis method: sample the sequence at sampling interval u Second sampling, get the m sequence:
[0212]
[0213]
[0214] 11) Execute step 9 of the analysis method: Since log2n=2 is an integer, take g(x)=g1(x), and the degree of g(x) is m=m1=3.
[0215] 12) Execute step 10 of the analysis method: Get h 2 (x) = x + x 3 is the dividend, g(x) is the divisor, and using long division we get
[0216] h 2 (x)≡x 4 mod g(x)
[0217] t=4
[0218] 13) Execute the analysis method step 11: Calculation The period p = 2 m-1=7, get the m sequence 1 00 1 1 1 0…, here
[0219] s i =a (i+p-t)nu =a (i+3)nu
[0220] 14) Execute step 12 of the analysis method: descramble and recover the coded sequence 0 0 0 0 1 0 1 0 0 1 111 1 0 1 1 1 0 1 1 0 1 0 1 1 0 1 1 0 1 0, here
[0221] c i =b i +s i
[0222] Analysis method terminated!
[0223] The effects of the above embodiment are as follows:
[0224] 1) The amount of data used is very small, requiring only (2m-1)n+n1=24 bits of data.
[0225] 2) There are no special requirements for information sequences such as 0-1 balance.
[0226] As an implementable method, the following specific example is given:
[0227] Assume that the two generators of the (3,2,2) system convolutional code are
[0228] [101,000,001]
[0229] [011,001,000]
[0230] The checksum is
[0231] H=[1 0 0 0 1 0 1 1 1]
[0232] The characteristic polynomial of the m-sequence used for scrambling is
[0233] g(x)=1+x 2 +x 3
[0234] Assume that the information sequence is written in groups as
[0235] "00 10 11 01 01 10 01 10"
[0236] Assume that the convolutional code starts encoding in the all-zero state, then the encoding sequence of the convolutional code is
[0237] "000 101 110 011 011 100 011 101"
[0238] Assuming the initial state of the digital scrambler is "001", the generated m sequence is
[0239] "100 111 010 011 101 001 110 100"
[0240] The scrambled sequence is obtained by scrambling the coded sequence for
[0241] "100 010 100 000 110 101 101 001"
[0242] Question: If only the check matrix of the convolutional code and the scrambled sequence are known
[0243] "100 010 100 000 110 101 101 001"
[0244] Can the pseudo-random scrambler parameters be solved and the encoded sequence recovered?
[0245] Analysis of the applicability of the analysis method to this problem: code length n = 3, information length is 2, number of check elements r = 1, and 1 check vector is provided in the check matrix
[0246] h 1 =[1 0 0 0 1 0 1 1 1]
[0247] The length is n1 = 9. The number of register stages of the m sequence is m = 3, and the resulting sequence period is 2 m -1=7. Satisfy the use conditions:
[0248] 1) n and 2 m -1 coprime: (n,2 m -1)=1;
[0249] 2)h 1 Satisfies: g(x)=1+x 2 +x 3 Not divisible by h 1 (x) = 1 + x 4 ++x 6 +x 7 +x 8 .
[0250] Therefore, the analysis can be completed using a double-overlapping analysis method.
[0251] Calculation process:
[0252] 1) Execute step 1 of the analysis method: Initialize and take j=0.
[0253] 2) Execute step 2 of the analysis method: let j=j+1, and get j=1.
[0254] 3) Execute step 3 of the analysis method: Since j = 1 = r, calculate the check vector h 1 With scrambled sequence The convolution result is recorded as 1010001001011100
[0256] 4) Execute step 4 of the analysis method: take n=3 as the sampling interval and take The sampling sequence is 1 0 1 1 1 0
[0258] 5) Execute the analysis method step 5: Use the iterative analysis method to calculate the generated sequence The characteristic polynomial g1(x) of the minimum shift register is of degree m1.
[0259] If g k (x) can generate a sequence Then take d k =0, otherwise take d k = 1. The iterative analysis method process is represented by a list
[0260] k <![CDATA[g k (x)]]> <![CDATA[m k ]]> <![CDATA[k-m k ]]> <![CDATA[d k ]]> 0 1 0 0 1 1 1+x 1 0 1 2 x 1 1 1 3 <![CDATA[1+x 2 ]]> 2 1 1 4 <![CDATA[1+x+x 2 ]]> 2 2 1 5 <![CDATA[1+x+x 3 ]]> 3 2 0 6 <![CDATA[1+x+x 3 ]]>
[0261] g1(x)=1+x+x 3 ,m1=3
[0262] 6) Execute step 6 of the analytical method:
[0263] 7) Execute the analysis method Step 7: Execute the Euclidean analysis method to obtain u=5 to satisfy
[0264] un≡1mod p1
[0265] 8) Execute the analysis method step 8: with sampling interval u = 5 pairs of sequences
[0266] 1 0 1 1 1 0 0 1 0 1 1 1 0 0…
[0267] Sampling, get the m sequence
[0268] 1 0 1 0 0 1 1 1 0 1 0 0 1 1…
[0269] 9) Execute the analysis method step 9: Since log2n=log23 is not an integer, the iterative analysis method is used to calculate the generated sequence The characteristic polynomial g(x) of the minimum shift register is m.
[0270] If g k (x) can generate a sequence Then take d k =0, otherwise take d k = 1. The iterative analysis method process is represented by a list
[0271] k <![CDATA[g k (x)]]> <![CDATA[m k ]]> <![CDATA[k-m k ]]> <![CDATA[d k ]]> 0 1 0 0 1 1 1+x 1 0 1 2 x 1 1 1 3 <![CDATA[1+x+x 2 ]]> 2 1 1 4 <![CDATA[1+x 2 ]]> 2 2 1 5 <![CDATA[1+x 2 +x 3 ]]> 3 2 0 6 <![CDATA[1+x 2 +x 3 ]]>
[0272] g(x)=1+x 2 +x 3 ,m=3
[0273] 10) Execute the analysis method step 10: Get h 1 (x) is the dividend, g(x) is the divisor, and long division is used to find t=5 that satisfies
[0274] h 1 (x)≡x t mod g(x)
[0275] 11) Execute the analysis method Step 11: Utilize the sequence The period p = 2 m -1=7, get the m sequence
[0276] 1 0 0 1 1 1 0 1 0 0 1 1…
[0277] 12) Descramble and restore the coded sequence: 000 101 110 011 011 100 011 101
[0279] Analysis method terminated!
[0280] Effects of the above embodiments:
[0281] 1) The amount of data used is very small, requiring only (2m-1)n+n1=24 bits of data.
[0282] 2) There are no special requirements for information sequences such as 0-1 balance.
[0283] Based on the above embodiments, Figure 4 As shown, the present invention also proposes a double-overlapping and sampling analysis device for pseudo-random scrambling code parameters, which is suitable for analyzing pseudo-random scrambling sequences of error correction codes that meet the following conditions:
[0284] 1) n and 2 m -1 coprime: (n,2 m -1)=1;
[0285] 2) There exists an h j Satisfies: g(x) does not divide h j (x);
[0286]
[0287]
[0288] Where g(x) represents the characteristic polynomial of the m-sequence used for scrambling, n represents the block code length or the convolutional code subcode length; h j represents the check vector; n1 represents the length of the check vector;
[0289] The device includes:
[0290] Initialization module, used for initialization, taking j=0;
[0291] Assignment module, used to set j=j+1;
[0292] Convolution module, used to calculate the check vector h if j≤r j With scrambled sequence The convolution result is recorded as satisfy:
[0293]
[0294] Where r represents the number of check elements or the check length;
[0295] The sampling module is used to take n as the sampling interval and take The sampling sequence is like If it is a sequence of all 0s, then switch to the assignment module;
[0296] The first iteration module is used to calculate the generated sequence using an iterative method The characteristic polynomial g1(x) of the minimum register is of degree m1;
[0297] The first calculation module is used to calculate the period of g1(x): p=2 m -1;
[0298] The second calculation module is used to perform the Euclidean analysis method to calculate the integers u and v so that the following formula holds true for the applicable condition (n, p1) = 1 of the method
[0299] un+vp1=1
[0300] Finding Satisfaction
[0301] un≡1mod p1
[0302] The smallest positive integer u;
[0303] The secondary sampling module is used to sample the sequence at a sampling interval u. Second sampling, get the m sequence:
[0304] The second iteration module is used to determine whether log2n is a positive integer. If so, g(x)=g1(x) is taken. Otherwise, the iterative method is used to calculate the generated sequence The characteristic polynomial g(x) of the minimum shift register is m;
[0305] The third calculation module is used to obtain h j (x) is the dividend, g(x) is the divisor, and long division is used to find
[0306] h j (x)≡x t mod g(x)
[0307] The smallest non-negative integer t;
[0308] m sequence derivation module, used to utilize sequence The period of the m sequence is obtained
[0309] s i =a (i+p-t)nu ;
[0310] The descrambling recovery module is used to descramble and recover the coded sequence:
[0311] c i =b i +s i .
[0312] Furthermore, in the first iteration module, m1=m.
[0313] Furthermore, the sequence g1(x) can be regarded as the characteristic polynomial, (a (m-1)n ,a (m-2)n ,…,a0) is the initial state of the register generation.
[0314] Furthermore, the sequence The period is p = 2 m -1.
[0315] Furthermore, the sequence g(x) can be regarded as the characteristic polynomial, (a (m-1)nu ,a(m-2)nu ,…,a0) is the initial state of the register generation.
[0316] In summary, the analysis method and device of the present invention can make the communicating parties not need to share the pseudo-random scrambling coding parameters, nor add extra overhead to the transmitted code stream to transmit the scrambling coding parameters. The amount of data used is very small, and only (2m-1)n+n1 bits of data (m is the degree of the scrambling code characteristic polynomial, n is the block code length or the convolution code subcode length, and n1 is the check vector length) are needed to help the receiving party recover the scrambling coding parameters by itself, thereby restoring the transmitted information. And there is no special requirement for the information sequence such as 0-1 balance.
[0317] The above is only a preferred embodiment of the present invention. It should be pointed out that a person skilled in the art can make several improvements and modifications without departing from the principle of the present invention. These improvements and modifications should also be regarded as within the scope of protection of the present invention.
Claims
1. A method for double-overlapping and sampling analysis of pseudo-random scrambling code parameters, characterized in that: Applicable to the analysis of pseudo-random scrambling sequences of error-correcting codes that meet the following conditions: 1) n and 2 m -1 coprime: (n,2 m -1)=1; 2) There exists an h j Satisfies: g(x) does not divide h j (x); Where g(x) represents the characteristic polynomial of the m-sequence used for scrambling, n represents the block code length or the convolutional code subcode length; h j represents the check vector; n1 represents the length of the check vector; The method includes: Step 1, initialization, take j = 0; Step 2, let j=j+1; Step 3: If j≤r, calculate the check vector h j With scrambled sequence The convolution result is recorded as satisfy: Where r represents the number of check elements or the check length; Step 4: Take n as the sampling interval and take The sampling sequence is like If it is a sequence of all 0s, go to step 2; Step 5: Use iterative method to calculate the generated sequence The characteristic polynomial g1(x) of the minimum register is of degree m1; Step 6, calculate the period of g1(x): p = 2 m -1; Step 7: For the applicable condition of the method (n, p1) = 1, perform the Euclidean analysis method to calculate the integers u and v so that the following equation holds: un+vp1=1 Finding Satisfaction The smallest positive integer u such that un≡1modp1; Step 8: Sample the sequence with sampling interval u Second sampling, get the m sequence: Step 9, determine whether log2n is a positive integer. If so, take g(x) = g1(x). Otherwise, use the iterative method to calculate the generated sequence. The characteristic polynomial g(x) of the minimum shift register is m; Step 10, take h j (x) is the dividend, g(x) is the divisor, and long division is used to find h j (x)≡x t The smallest non-negative integer t modg(x); Step 11, use the sequence The period of the m sequence is obtained s i =a (i+p-t)nu ; Step 12: Descramble and restore the coded sequence: c i =b i +s i 。 2. The method for double-overlapping and sampling analysis of pseudo-random scrambling code parameters according to claim 1, characterized in that: In step 5, m1=m.
3. The method for double-overlapping and sampling analysis of pseudo-random scrambling code parameters according to claim 1, characterized in that: sequence g1(x) can be regarded as the characteristic polynomial, (a (m-1)n ,a (m-2)n ,…,a0) is the initial state of the register generation.
4. The method for double-overlapping and sampling analysis of pseudo-random scrambling code parameters according to claim 1, characterized in that: sequence The period is p = 2 m -1.
5. The method for double-overlapping and sampling analysis of pseudo-random scrambling code parameters according to claim 1, characterized in that: sequence g(x) can be regarded as the characteristic polynomial, (a (m-1)nu ,a (m-2)mu ,…,a0) is the initial state of the register generation.
6. A pseudo-random scrambling code parameter double-overlapping and sampling analysis device, characterized in that: Applicable to the analysis of pseudo-random scrambling sequences of error-correcting codes that meet the following conditions: 1) n and 2 m -1 coprime: (n,2 m -1)=1; 2) There exists an h j Satisfies: g(x) does not divide h j (x); Where g(x) represents the characteristic polynomial of the m-sequence used for scrambling, n represents the block code length or the convolutional code subcode length; h j represents the check vector; n1 represents the length of the check vector; The device includes: Initialization module, used for initialization, taking j=0; Assignment module, used to set j=j+1; Convolution module, used to calculate the check vector h if j≤r j With scrambled sequence The convolution result is recorded as satisfy: Where r represents the number of check elements or the check length; The sampling module is used to take n as the sampling interval and take The sampling sequence is like If it is a sequence of all 0s, then switch to the assignment module; The first iteration module is used to calculate the generated sequence using an iterative method The characteristic polynomial g1(x) of the minimum register is of degree m1; The first calculation module is used to calculate the period of g1(x): p=2 m -1; The second calculation module is used to perform the Euclidean analysis method to calculate the integers u and v so that the following formula holds true for the applicable condition (n, p1) = 1 of the method: um+vp1=1 Finding Satisfaction un≡1modp1 The smallest positive integer u; The secondary sampling module is used to sample the sequence at a sampling interval u. Second sampling, get the m sequence: The second iteration module is used to determine whether log2n is a positive integer. If so, g(x)=g1(x) is taken. Otherwise, the iterative method is used to calculate the generated sequence The characteristic polynomial g(x) of the minimum shift register is m; The third calculation module is used to obtain h j (x) is the dividend, g(x) is the divisor, and long division is used to find the value that satisfies h. j (x)≡x t The smallest non-negative integer t modg(x); m sequence derivation module, used to utilize sequence The period of the m sequence is obtained s i =a (i+p-t)nu ; The descrambling recovery module is used to descramble and recover the coded sequence: c i =b i +s i 。 7. The device for double-overlapping and sampling analysis of pseudo-random scrambling code parameters according to claim 6, characterized in that: In the first iteration module, m1=m.
8. The device for double-overlapping and sampling analysis of pseudo-random scrambling code parameters according to claim 6, characterized in that: sequence g1(x) can be regarded as the characteristic polynomial, (a (m-1)n ,a (m-2)n ,…,a0) is the initial state of the register generation.
9. The device for double-overlapping and sampling analysis of pseudo-random scrambling code parameters according to claim 6, characterized in that: sequence The period is p = 2 m -1.
10. The device for double-overlapping and sampling analysis of pseudo-random scrambling code parameters according to claim 6, characterized in that: sequence g(x) can be regarded as the characteristic polynomial, (a (m-1)nu ,a (m-2)nu ,…,a0) is the initial state of the register generation.
Citation Information
Patent Citations
Method for identifying pseudorandom scrambling codes
CN103560863A
Method and apparatus for generating pseudo random sequence in broadband wireless communication system
US20100135493A1