You are on page 1of 4


M. Amin Nasrabadi*, M. H. Bastani

*BasamadAzma Co., Tehran, Iran, PostCode 1373673383, Department of Electrical Engineering Sharif University of Technology, Iran,

Keywords: Exhaustive search, Low autocorrelation binary sequence, Pulse compression.

Finding binary sequences with low autocorrelation is very important in many applications and their construction is a hard computational problem. Here a new exhaustive search algorithm is developed to find all optimal aperiodic binary sequences which is faster than simple one and it achieves its efficiency through a combination of the following four devices: (1) A branch-and-bound search strategy; (2) Search logic that avoids codes redundant relative to two PSL-preserving operations; (3) A fast recursive method for computing autocorrelation functions of binary sequences; (4) A simple scheme for partitioning and parallelizing, made possible by the fixed upper bound on psl.

1 Introduction
Radar is an alarm which reports existence and movement of an object. So, it is desired to have long range and also High Range Resolution (HRR). As target detection probability depends on signal energy, it is desired to send long pulse width signal, but in this case its HRR decreases strongly.

R =

CT 2


In equation 1, C is speed light and T is pulse width of transmitted waveform and R indicates minimum detectable range of radar. Pulse compression is a technique that enables radar to send large amount of energy by using long pulse and also to have range resolution of short pulse. This advantage is provided by using phase or frequency modulation. This method is also good for cases that the transmitter is not able to produce and send enough power. In brief, pulse compression means gathering two opposite advantages "HRR" and "high detection probability" simultaneously. But it has a non desired result. By implementing pulse compression technique, some sidelobes will appear around and near the main lobe of compressed signal. If these side lobes have large amplitude in comparison with the main lobe, radar will be disturbed and

confused. Main step of this technique is finding waveform with low side lobe levels [9]. The goal of this paper is finding optimal binary codes belonging to phased coded approach. It is claimed that there are no accurate solution and effective analytic method for this problem. Up to now, several methods have been used for finding these codes which are divided into two categories: full and partial search. In simple exhaustive search, all N-bit codes (2N) are produced and their autocorrelation functions are calculated. Then best sequences are selected. Implementing this method for large N on general computers is not possible. Because, if one bit is added to a sequence, the needed search time will be doubled minimally. So, for large N, number of codes and required computational time become very huge unless a especial purpose computer is used. Also, this kind of computer has limited ability. For example, so far, only up to 40-bit codes have been searched by this method and by a special minicomputer [7]. This search has taken about 50 days work. After Lindner, Cohen et al extended this full search result to 48 [2], and subsequently, Mertens did it [8], And Coxson et al reached 64 [3]. But they all used PSL-preserver concept in addition to simple full search. In other side, by approximation methods and stochastic search, it is possible to search longer codes in fewer times but none of them can guarantee optimum results [1,4,5]. So, if sequences with PSL lower than ones reached by partial search are required, there will be no way except exhaustive search. The suggested algorithm belongs to full search method but it uses some rules and properties which reduces the search space and consumes less time. It is fast enough to search all 50-bit codes and shorter ones and can easily be modified for partial enumerations. As the basic subject of this algorithm is minimization of the autocorrelation function, in the following section, some properties of this function is reviewed, then PSL-preserver concept reducing search space is introduced. In section 3, methodology and ground rules of the new algorithm are described and the algorithm and its flowchart are illustrated.

2 Mathematical Preliminaries

III) If Sij is referred to all i-bit codes with psl=j and number of its members is illustrated with Kij, set of all i-bit codes can Autocorrelation function of an aperiodic N-bit sequence be apportioned in subsets Sij in this way: N 1 {ak }k =0 , a k = 1 is i 1 2.1 Autocorrelation Function

R (n) =

N |n|1 i =0

a a

i +|n|

, n = 0,1, ,( N 1) (2)
(3) (4) (5) (6)

And its properties:

i K ij = 2 j =1 K ij = 0 j < 1 , j > i 1


R ( n ) = R ( n) R (n) = 0 , | n | N R(0) = N = ML R(n) R(0) , n PSL = max | R(n) |


By adding a bit to the end of these codes, new generated codes will belong to S(i+1)(j+1), S(i+1)j or S(i+1)(j-1) by probability figure 1.

2 1 1 respectively. This is illustrated in , , 3 6 6


(7) The goal of this paper is finding all binary codes which have minimum peak side lobe level. 2.2 PSL-Preservers By applying some operations on a binary code (an), autocorrelation or its absolute value does not changed. These operations all are referred to as PSL_Preserver operations and some of them are bn = an 0 n ( N 1) (8) Figure 1: Diagram of probable changes in PSL of a code after adding one bit.

1 PSL ( N 1)

4 Search routine
4.1 preliminary descriptions Procedure of this algorithm is illustrated in figure 2. Solid lines indicate sure tracks and dotted lines indicate possible and uncertain tracks. As it is shown, it is possible to set a region which runned courses will never exit from it and it is referred to as authorized bound.

cn = (1) n an

0 n ( N 1)


(10) |Ra(n)| = |Rb(n)| = |Rc(n)| As PSL is only related to absolute value of autocorrelation function, For a given length N, these operations induce a partition of the total search space into equivalent classes. So, the entire set of codes can be represented by a subset of onefourth the size, containing a single code from each equivalent class. To find all optimal codes, it suffices to search over this smaller subset [2,6]. I.e. the new search space is included only 2(N-2) codes instead of 2N.

3 Methodology
This algorithm is constructed on some ground rules: I) By adding a +1 or -1 to the end of a code, psl of the new code will change maximally only one unit. i.e., if x is an N-bit code and y is an (N+1)-bit code which is produced from x, psl ( x) 1 psl ( y ) psl ( x) + 1 (11) So, for finding all N-bit codes with psl equal to L, it suffices to find all (N-1)-bit codes whose psls are between (L-1) and (L+1) and after lengthening them only by one bit (+1 or -1), desired codes will belong to these generated codes if they are being. Also for finding all (N-1)-bit codes it suffices to find all (N-2)-bit codes with psl between (L-2) and (L+2) and . It is the main point of this algorithm. II) By adding M bits to the end of a code with psl equal to L, psls of the new codes will not become smaller than (L-M).

Figure 2: Authorized bound and tracks from S21 to S72.

The suggested algorithm is to search over all courses in the authorized bound. The tighter the bound, the less time is required for finding the code. 4.2 The algorithm At first, a one-bit code is selected. At each step, one bit (+1) is added to the end of code and it is checked whether new code is suited in authorized bound or not. If it exits from the bound, sign of the last bit will change. If new code returns to the bound, adding code length will continue and if not, the last bit will be removed and sign of previous bit will change. This recursive procedure will continue until the generated code returns to the bound or the code reaches to the start code. This latter case means no desired code can be found from the start point or there is not any such a desired code. In the search course and after adding m bits to the end of start code, if this M-bit code (M = m + start_length and M<N) goes out from the bound, it will not require to set (N-M) residue bits, because this course will not return into the bound, i.e. 2(N-M) codes will be deleted from search space without any computation, while in simple exhaustive search all 2N codes are checked. It is the most important advantage of this method. The flowchart of the suggested algorithm is shown in figure 3.

the PSL-preserving operations). For instance, redundancy due to the negation operation is avoided by allowing a -1 for the first bit. The alternating-sign operation is accounted for by setting second bit to -1 as well. So, the search space becomes one-fourth of total one. The possibility for parallelizing the search routine is evident. Furthermore, choices for code elements being set at first step constitute a list of jobs for assigning to separate processors. Another refinement used in this algorithm is computing autocorrelation of new generated code from previous one through a recursive equation and it is not required to calculate repeated steps. By considering an N-bit code length A=a0a1aN-1, these recursive equations are as follows: By adding a new bit aN to the end of A (Anew=a0a1aN-1aN), new autocorrelation function is calculated from equation 13, Rnew (n) = R(n) + a N n a N , n = 0,..., N (13) And by complementing nth bit of A (Anew=a0a1-aN-1),

Rnew (n) = R (n) 2a N 1 n a N 1 , n = 0,...,( N 1) (14)

This algorithm is started by a two-bit code whose both elements are set to -1. In fact, all checked codes are started with two bits equal to -1. So, the search space is reduced to one-fourth. If this method is used to find only one desired code, it is better to add code length by +1 or -1 randomly instead of setting exactly by +1. In this case, finding first proper code will be usually faster. Also, this algorithm can be started with an arbitrary code, but it may not reach the desired one.

5 Summary and Result

An effective full search routine is exhibited which can search longer codes in smaller time and without requiring any special computer. It partitions total search space into smaller subsets and can be implemented by parallel processing. It uses recursive equations instead of computing all elements in each step. This algorithm can delete very large amount of codes from search space and consume less cpu time. The suggested algorithm has been used for searching all 50bit codes and smaller ones.

The authors appreciate the insightful comments made by the anonymous reviewers.

[1] Amin Nasrabadi M., Bastani M. H., A new approach for long low autocorrelation binary sequence problem using genetic algorithm, Proc. CIE Int. Radar Conf., vol. II, pp. 1898-1900, (October 2006). [2] Cohen M. N., Fox M. R., Baden J. M., Minimum peak sidelobe pulse compression codes, Proc. IEEE Int. Radar Conf., pp. 633-638, (1990). [3] Coxson G. E., Russo J., M., Efficient Exhaustive Search for Optimal-Peak-Sidelobe Binary Codes, IEEE

Figure 3: Flowchart of Length-Increment Algorithm. The process has been refined to account for redundancies with respect to the two PSL-preserving operations. The idea is to search over a reduced search space including only a single code from each equivalent class (two codes are equivalent if one can be reached from the other by some combination of


[5] [6] [7] [8] [9]

Transactions on Aerospace and Electronic System, vol. 41, No. 1, pp. 302-308, (January 2005). Deng X., Fan P., New Binary Sequences with Good Aperiodic Autocorrelations Obtained by Evolutionary Algorithm, IEEE Communications Letters, vol. 3, No. 10, pp. 288-290, (October 1999). Ferrara M., Near-Optimal Peak-Sidelobe Binary Codes, Proc. IEEE Int. Radar Conf., (April 2006). Khaleghian, M., Selecting and generating Codes for phase coded radar, M.S.C. Thesis, EE department of Sharif university of Technology, (September 1997). Lindner, J., Binary sequences up to length 40 with best possible autocorrelation function, Electronic Letters, vol. 11, no. 21, (October 1975). Mertens, S., Exhaustive search for low autocorrelation binary sequences, J. Phys. A: Math. Gen., vol. 29, pages L473-L481, (1996). Skolnik, M. I., Introduction to Radar Systems, McGraw-Hill, (1981).