Blind Estimation of Self-Synchronous Scrambler Using Orthogonal Complement Space in DSSS Systems

In a non-cooperative context, a receiver has to estimate the communication parameters without any prior knowledge of the transmitter, which is highly demanding. Estimating a self-synchronous scrambler is even more challenging because the scrambling sequence of the self-synchronous scrambler is affected by the input sequence. This paper proposes an improved algorithm for blind estimation of a self-synchronous scrambler using the orthogonal property without any bias condition of the received signals in direct sequence spread spectrum (DSSS) systems. We first examine the linear relation of a scrambling sequence using the repetitive property of the spreading code used in a DSSS system. Using the obtained linear relation and the basis of the orthogonal complement space, we then acquire the feedback polynomial candidates of the scrambler. Finally, by calculating the greatest common divisor polynomial of the feedback polynomial candidates, we estimate the correct feedback polynomial. Through computer simulations, we verify that the proposed method achieves superior estimation performance compared to the existing method. Furthermore, we show that the proposed method has practically acceptable computational complexity. For these reasons, it is expected that the proposed method can be applied to blind estimation of a self-synchronous scrambler in a practical non-cooperative system.


I. INTRODUCTION
In non-cooperative contexts, such as spectrum surveillance and cognitive radio, a receiver has to blindly estimate the parameters used in a transmitter without prior knowledge of the transmitter in order to recover the information. In this regard, many studies have been conducted on blind estimation of communication parameters, such as modulation type [1], [2], source coding [3], channel coding [4]- [6], interleaving [7], line coding [8], etc.
The direct sequence spread spectrum (DSSS) system is widely used in military and commercial communication systems because of its low probability of intercept (LPI) and the robustness to the narrow-band interference [11]. In the DSSS system, a scrambler can be used as a randomizer by adding the scrambling sequence generated from a linear feedback The associate editor coordinating the review of this manuscript and approving it for publication was Mohammad Alshabi .
shift register (LFSR) to the input of the scrambler. There are two major types of scramblers: the synchronous scrambler, which generates a scrambling sequence independently of the input bits, and the self-synchronous scrambler, whose input bits affect the state of the LFSRs.
Pertaining to the blind estimation of the scramblers, algorithms that utilize the bias of the received sequence were proposed in [10] and [11]. Moreover, estimation methods without using the bias condition of the received sequence were provided in [12]- [18]. References [12] and [13] presented the estimation methods that use the dual words of the channel code, and the rank-based estimation method was also provided in [14]. In particular, the estimation methods for the synchronous scrambler in DSSS systems were developed in [15] and [16], which employ a triple correlation and eigenvalue decomposition, respectively. However, the aforementioned methods suffer from high computational complexity due to the full search of all possible feedback polynomials [10]- [15] or huge matrix computation [16]. On the other hand, [17] most recently presented a method that blindly estimates the feedback polynomial of the synchronous scrambler in DSSS systems by using the repetitive property of the spreading code and the inherent linearity of the scrambled sequence. Compared to previous studies, the method in [17] showed remarkable estimation performance improvement and drastically reduced the computational complexity. As an extension of [17], [18] first presented a blind self-synchronous scrambler estimation method in the DSSS system. However, the method in [18] obtains only one feedback polynomial from Gaussian elimination, which can be wrong if the received signals suffer from severe noise. Therefore, it is encouraged to find more than one feedback polynomial candidate and verify them to improve estimation performance.
To solve the problem in [18], this paper proposes an improved algorithm for blind estimation of a self-synchronous scrambler using an orthogonal complement space without any bias condition of the received signals in DSSS systems. To achieve this, we first examine the linear relation of a scrambling sequence through the repetitive property of the spreading code used in the DSSS system. Using the obtained linear relation and the basis of the orthogonal complement space, we then acquire as many candidates for the feedback polynomial of the scrambler as possible. Considering the bit errors induced from a noisy channel, we conduct a verification process for each feedback polynomial candidate. Finally, we estimate the correct feedback polynomial by calculating the greatest common divisor (GCD) polynomial of all verified feedback polynomial candidates. To validate the proposed method, we carry out computer simulations and compare the estimation probabilities of the proposed method with the method in [18] for various degrees of feedback polynomials.
The contributions of this paper can be summarized as follows: • The main contribution of this paper is that an improved self-synchronous scrambler estimation algorithm compared to the existing algorithm in [18] is developed. The specific contributions are described in what follows.
-It is shown that the coefficient vectors of the multiples of the correct feedback polynomial form the basis of an orthogonal complement space spanned by the shift-and-added sequence of the received sequence. -A method of obtaining as many candidates as possible for the feedback polynomial of the self-synchronous scrambler is proposed, which utilizes the basis of the orthogonal complement space. -An effective process for the verification of each feedback polynomial candidate is provided by using the orthogonality of the coefficient vectors of the feedback polynomial candidate  -An improved estimation algorithm that includes the methods of obtaining and verifying the feedback polynomial candidates is provided. The remainder of this paper is organized as follows. Section II describes the system model. Section IIU proposes a blind self-synchronous scrambler estimation algorithm. Section OV shows the estimation performance under various simulation setups and the execution time of the proposed algorithm, and Section V concludes the paper. Fig. 1 shows a simplified block diagram of a DSSS system with a self-synchronous scrambler, where m t is a message bit, w j is a spreading code bit, y l is an input bit to the selfsynchronous scrambler, p l is a scrambling bit, and s l is a scrambled bit. The spreader generates the spread sequence bit (y l ) l=kt+k−1 l=kt from the message bit m t and the k-bit length spreading code w j j=k−1 j=0 , which can be expressed as

II. SYSTEM MODEL
The scrambled bit s l is then generated by adding the scrambling sequence bit p l to the spread sequence bit y l and can be expressed as In Fig. 2, we depict a self-synchronous scrambler for the n degree feedback polynomial c (x) = 1 + c 1 x + c 2 x 2 + · · · + c n x n . Then, the scrambling sequence (p l ) l≥1 , which is generated by the LFSR, has the following linear relation: From (2) and (3), we obtain Note that to estimate the feedback polynomial of the selfsynchronous scrambler, it is necessary to remove the spread sequence bits (y l ) l=kt+k−1 l=kt from (4). Therefore, to cancel out the spread sequence bits in (4), u l is defined as [18] By substituting (2) to (5) and using the repetitive property of the spreading code, it can be readily seen that Then, by substituting (3) to (6), u l can be rewritten as

III. PROPOSED ALGORITHM FOR ESTIMATION OF A SELF-SYNCHRONOUS SCRAMBLER
In this section, we propose an improved blind estimation method of a self-synchronous scrambler. First, we present an algorithm for the estimation of the self-synchronous scrambler in a noiseless channel and then extend it to a noisy channel.

A. BLIND ESTIMATION OF A SELF-SYNCHRONOUS SCRAMBLER IN A NOISELESS CHANNEL
For the self-synchronous scrambler estimation, we propose a method to acquire as many feedback polynomial candidates of the scrambler as possible by finding the basis of the orthogonal complement space. To do this, we first examine the orthogonality of the feedback polynomial coefficient vector.
With the vector representation, (7) can be expressed as follows: (1, c 1 , · · · , c n ) , (u l , u l−1 , · · · , u l−n ) mod 2 = 0, for l≡ / 0 mod k, (8) where ·, · represents the inner product. Let the vector (1, c 1 , . . . , c n ) with the coefficients of the feedback polynomial of the self-synchronous scrambler be simplified to c. According to (8), if l≡ / 0 mod k, then c is orthogonal to the consecutive n-length vectors of the sequence (u l , u l−1 , · · · , u l−n ) for l≡ / 0 mod k. Now, we define the q-bit length vector c j as Then, from (8), we obtain From (10), we can see that the vectors c j are orthogonal to the consecutive q-bit length sequence (u l ) Therefore, the vectors c j j = 0, · · · , q − n − 1 belong to the orthogonal complement space of the vector space spanned by (u l ) since each vector of c j is independent. Therefore, finding the basis of the orthogonal complement space is equivalent to finding the candidates for the feedback polynomial of the self-synchronized scrambler. The basis of the orthogonal complement space can be obtained by using Gauss-Jordan elimination as shown in Fig. 3, which is based on Theorem 1 in [19]. For a matrix or a vector A, we denote the transpose of A as A T .
Theorem 1 [19]: Let the matrix A = G T I be the augmented matrix of the q × n matrix G T with rank r and the q × q identity matrix I. In addition, let H be the submatrix of size (q − r) × q at the lower right corner of the reduced row echelon form (RREF) of A. Then, H· G T = 0 holds. The algorithm finding the basis of the orthogonal complement space based on Theorem 1 is summarized in Algorithm 1. Since finding the orthogonal complement space is equivalent to finding the candidates of the feedback polynomial, which are indeed the multiples of c(x), the feedback polynomial candidates can be obtained by using Algorithm 1.

Algorithm 1
Finding the Basis of the Orthogonal Complement Space Input: n vectors of length q, Output: Basis of the orthogonal complement space Do binary Gauss-Jordan elimination on the augmented matrix G I.

Return the row vectors of matrix H of G I.
Then, the feedback polynomial candidate that has the smallest degree is chosen as the feedback polynomial of the self-synchronous scrambler. We summarize the proposed blind estimation method of the feedback polynomial for a noiseless channel in Algorithm 2.

B. BLIND ESTIMATION OF A SELF-SYNCHRONOUS SCRAMBLER IN A NOISY CHANNEL
In this subsection, we extend Algorithm 2 to a noisy channel. In a noisy channel, a polynomial that is not a multiple of c(x) can appear in the outputs of Algorithm 1 due to the bit Algorithm 2 Blind Estimation of the Feedback Polynomial of the Self-Synchronous Scrambler in a Noiseless Channel Input: (s l ) l≥1 : scrambled sequence of length S k: spreading code length n th : upper bound of the degree of the feedback polynomial Output: θ : Feedback polynomial 1.
In Step 6, the output of Step 5 is converted into a polynomial and added to . errors induced from the channel. To find the correct feedback polynomial in a noisy channel, Algorithm 2 is iteratively performed for L times in the same manner in [18]. However, even if Algorithm 2 is repeatedly performed, the incorrect feedback polynomial can still be obtained. For further improvement, in this paper, we propose verification of the feedback polynomial candidates using (10) to check whether the polynomial obtained from Algorithm 2 is a multiple of c(x) or not.
In a noiseless channel, the inner product of an arbitrary vector and a vector in the vector space spanned by (u l ) i−(q−1) l=i , i≡ / 0 mod k is 0 with a probability of 1/2. In addition, the inner product of c j and the vector in the vector space spanned by (u l ) i−(q−1) l=i , i≡ / 0 mod k is always 0 because of (10). On the other hand, in a noisy channel, the inner product of c j and the vector in the vector space spanned by (u l ) i−(q−1) l=i , i≡ / 0 mod k is 0 with a probability smaller than 1 because of the bit errors. However, it is still larger than 1/2. Using this probability gap, we can distinguish the right feedback polynomial candidates from the wrong ones and verify the feedback polynomial candidates to determine the correct feedback polynomial.
After verifying each feedback polynomial candidate, the GCD polynomial of all verified feedback polynomial candidates is determined as the correct feedback polynomial. We summarize the proposed blind estimation method of the feedback polynomial for the noisy channel in Algorithm 3. In Step 11, deg(θ ) denotes the degree of the polynomial θ and the verification parameter R determines how many sequences are used for the verification of θ .
The number of iterations L and the verification parameter R affect the minimum length of the received sequence required to run Algorithm 3. If we denote the minimum length of the received sequence required to run Algorithm 3 as M , it can u l ← s l ⊕ s l+1 ⊕ s l+k ⊕ s l+(k+1) .
For j = 1 to n th offset ←offset +k 9.
Add the result of Step 7 to 10.
If there is no j such that score j < TH , then delete θ from . 15.
The parameter offset is used to avoid u l for i ≡ 0 mod k. In Step 9, the output of Step 7 is converted into a polynomial and added to .
be obtained by M = max{(n th + L − 2)k + n th , (R − 1)k + n th }. (11) In (11), the first term is the minimum length of the received sequence required to run Steps 4 to 9, and the second term is that for running Steps 12 to 14 in Algorithm 3. In practice, it is plausible to assume that L > R because it is important to obtain as many feedback polynomial candidates as possible, and thus, we can rewrite (11) as Note that Algorithm 3 first finds as many feedback polynomial candidates as possible in Steps 4 to 9 using the basis of the orthogonal complement space and then determines the correct feedback polynomial in Steps 10 to 14 using the probability gap of the inner product. The threshold TH, which is used to distinguish the right feedback polynomial candidates from the wrong ones in Step 14, affects the estimation performance of Algorithm 3. If TH is too small, the polynomial that is not a multiple of the correct feedback polynomial indeed can be included  in . On the other hand, if TH is too large, a multiple of the correct feedback polynomial cannot be included in . Therefore, it is important to set TH to an appropriate value. After performing simulations by changing the values of TH, we find that Algorithm 3 shows satisfactory performance when TH is 0.55, and therefore, we set TH to 0.55 in the simulations.

IV. ESTIMATION PERFORMANCE
In this section, to validate the proposed method, we show the estimation probability of Algorithm 3 for various bit error rates (BER) in a binary symmetric channel. Furthermore, the computational complexity and the execution time of Algorithm 3 are investigated. Throughout the simulations, we set the verification parameter, R, to 3 × 10 3 , the upper bound of the degree of the feedback polynomial, n th , to n + 5, and the length of the spreading code, k, to 31, respectively. The feedback polynomials for various polynomial degrees, which are used in the simulations, are shown in Table 1.
We show the estimation probability of Algorithm 3 for various L to check the effect of L on the estimation performance in Fig. 4. In the simulations, we set n to 10 and L to 10 3 , 2 × 10 3 , 10 4 , and 2 × 10 4 , respectively. The length of the received sequence, S, is also described in parentheses with L in Fig. 4. From Fig. 4, we can observe that the estimation probability increases as L becomes large. In specific, the esti- mation probabilities of Algorithm 3 reach almost 0.9 at BERs of 0.093, 0.095, 0.097, and 0.099 for L = 10 3 , 2 × 10 3 , 10 4 , and 2 × 10 4 , respectively. This is because, as L increases, the probability of obtaining the multiples of the correct feedback polynomials increases in Steps 4 to 9 of Algorithm 3. From the simulation results, we can also confirm that there is a trade-off between the estimation probability and the amount of received data because as L becomes large, the receiver requires a larger amount of data to run Algorithm 3.
To compare the performance, the estimation probabilities of Algorithm 2 in [18] are also given for the same parameters in Fig. 5. In the simulations, we set L to 10 4 for Algorithm 2 in [18] and Algorithm 3 of this paper, and the length of the received sequence, S, is set to 310,418 which is obtained from (12) when L is 10 4 . From Fig. 5, we can see that the estimation probabilities of Algorithm 3 can reach around 0.9 at BERs of 0.09, 0.06, and 0.035 for the feedback polynomial degrees n = 10, 20, and 30, respectively, whereas estimation probabilities of Algorithm 2 in [18] reach almost 0.9 at BERs of 0.08, 0.041, and 0.021 for the feedback polynomial degrees n = 10, 20, and 30, respectively. From the results, we see that the proposed method outperforms the previous method in [18]. This is due to the fact that the proposed method can find more feedback polynomial candidates compared to [18] and has verifications, which result in better estimation probabilities.
Next, we show the computational complexity of Algorithm 3 in terms of the bitwise operations in Table 2, along with that of Algorithm 2 in [18]. From Table 2, we can see that the computational complexity of Algorithm 3 increases as the number of iterations L increases. Therefore, the execution time also increases as L becomes large. Compared to Algorithm 2 in [18], the complexity of Algorithm 3 slightly increases due to the verifications of the feedback polynomial  candidates. However, in what follows, we will show that the execution time is still acceptable in a practical sense.
To check the execution time of Algorithm 3, we perform the simulations with an AMD Ryzen 5 3600 of 3.58 GHz and 32 GB RAM. We depict the results in Fig. 6, where the x-axis and y-axis represent the degree of the feedback polynomial n and time (ms), respectively. The execution time is measured by the average time of 100 runs when L = 10 4 . As can be seen in Fig. 6, even when the degree of the feedback polynomial is 40, the execution time is shorter than 700ms, which is acceptable in practice.

V. CONCLUSION
In this paper, we proposed an improved algorithm for blind estimation of a self-synchronous scrambler using the orthogonal complement space without any bias condition of the received signals in DSSS systems. By applying the method for calculating the basis of the orthogonal complement space, we obtained as many feedback polynomial candidates of the scrambler as possible to improve the estimation performance. Considering the bit errors induced from a noisy channel, verifications for each feedback polynomial candidate were conducted, and then the correct feedback polynomial was estimated by calculating the GCD polynomial of all verified feedback polynomial candidates. Through computer simulations, we showed that the proposed method had superior performance compared to the conventional method in terms of the estimation probability. It is noteworthy that the execution time of the proposed method is practical, even if there is a slight increase in computational complexity compared to the previous method. Therefore, it is expected that the proposed method can be applied to a practical system.
In this paper, we assume that we can collect a sufficient amount of data to construct as many matrices as we need. Considering when the scant data are collected, future work could include efficient blind scrambler estimation for the cases where there is scant data.