Main Prjct Documentation

Embed Size (px)

Citation preview

  • 8/8/2019 Main Prjct Documentation

    1/65

    CHAPTER 1

    OVERVIEW

    1

  • 8/8/2019 Main Prjct Documentation

    2/65

    1.1 Introduction

    The basic purpose of radar is to detect the presence of an object of interest and provide

    information concerning the objects location, motion, size and other parameters. The first task is

    called the problem of target detection and second one is referred as parameter estimation.

    For good detection radar needs a large peak signal power to average noise power ratio

    (S0/N0) at the time of targets return signal. Thus, for good detection many radars seek to transmit

    long duration pulses to achieve high energy since transmitters are typically operated near their

    peak power limitation. On the other hand, for good range resolution, radar needs short pulse.

    These divergent needs of long pulses for detection and short pulses for range accuracy in

    measurement prevented early radars from simultaneously performing both functions well.

    As radar development progressed and emphasis changed from merely getting things to

    work, to getting things work in an optimum or near optimum manner, new concepts came into

    being that laid foundations of waveform design as an integral part of the radar system

    development. During World War II, Woodward indicated that the transmitted pulse could be

    designed to be as wide as necessary to meet the energy requirements of the system and that after

    the detect ability requirement had been satisfied the range resolution conditions could be met by

    coding the transmitted signal with the wide band modulation information. This technique isreferred to as pulse compression.

    Both the analog and digital pulse compression techniques have been successfully

    exploited for achieving best results. This is done at the cost of introducing side lobes at the

    output of matched filter. To overcome this problem we use Costas arrays or Costas Codes as they

    produce well controlled side lobes.

    1.2 Aim of the project

    The main objective of this project is to find the Costas arrays for higher values of N.

    These have good autocorrelation properties which are useful in radars, sonar, seismic,

    communications and other signaling applications.

    2

  • 8/8/2019 Main Prjct Documentation

    3/65

    1.3 Significance and applications

    The significance of the project comes from the fact that the Costas arrays have near ideal

    thumbtack ambiguity function. They have well-controlled side lobe level and sharp main lobe

    i.e., the side lobe level is 1/N times of the main lobe level, where, N is the length of thesequence. Thus, as the value of N increases, the side lobe level decreases resulting in good

    autocorrelation function.

    Thus, there is a need to find Costas arrays for higher values of N. For a particular value

    of N, there are N! possible sequences of length N. From these N! combinations, only a few

    satisfy the Costas property. Till now all possible Costas arrays up to length, N = 26 have been

    found. We need to find the Costas arrays for N>26.

    These Costas arrays are used not only for sonar applications but also for radar

    applications. These are mainly used for pulse compression in radar applications.

    1.4 Organization of the work

    This project is mainly organized into five chapters.

    Chapter 1 deals with the introduction of the project presenting the aim and significance

    of the project. The applications are also cited in the same chapter.

    Chapter 2 introduces the concepts related to radar and existing pulse compression

    techniques. It also discusses the limitations of these techniques.

    Chapter 3 deals with the introduction to Costas arrays and their properties. The different

    construction methods used for obtaining Costas arrays along with few examples are also

    presented in this chapter.

    Chapter 4 presents results obtained through various construction methods for length,

    N>26. Scope for the future work is also proposed.

    3

  • 8/8/2019 Main Prjct Documentation

    4/65

    CHAPTER 2

    FUNDAMENTALS OF RADAR AND PULSE

    COMPRESSION TECHNIQUES

    4

  • 8/8/2019 Main Prjct Documentation

    5/65

    2.1 Introduction

    RADAR (Radio Detection And Ranging) is an electromagnetic system for the detection

    and location of reflecting objects such as aircraft, ships, spacecraft, vehicles, people and the

    natural environment. It operates by radiating energy into space and detecting the echo signalreflected from an object or target. The reflected energy that is returned to the radar not only

    indicates the presence of a target but by comparing the received echo signal with the signal that

    was transmitted, its location can be determined along with other target-related information.

    Radar can perform its function at long or short distances and under conditions impervious to

    optical and infrared sensors. It can operate in darkness, haze, fog, rain and snow. Its ability to

    measure distance with high accuracy and in all weather conditions is one of its most important

    attributes.

    The basic principle of radar is illustrated in Figure 2.1

    Figure 2.1 Basic Radar

    A transmitter generates an electromagnetic signal that is radiated into space by an

    antenna. A portion of the transmitted energy is intercepted by the target and reradiated in many

    directions. The reradiating energy directed back towards the radar is collected by the radar

    antenna, which delivers it to the receiver. There, it is processed to detect the presence of target

    and determine its parameters.

    5

  • 8/8/2019 Main Prjct Documentation

    6/65

    Thus there are two tasks performed by the radar.

    (i)Target detection: It is accomplished by transmitting an electromagnetic signal and detecting

    the presence of target by analyzing the reflected wave.

    (ii)Parameter estimation:

    If the reflected signal is of adequate strength then it is furtheranalyzed to determine target distance, velocity, shape of target, number of targets and so on. This

    analysis is referred to as parameter estimation.

    Target detection and parameter estimation are difficult practical problems if the target is

    small and at a large distance. The real test of radar capability comes when detection and

    parameter estimation must be performed for several targets simultaneously. This problem is

    called target resolution. Target detection refers to the task of recognizing a return signal in the

    system noise. Similarly, measurement precision concerns the effect of noise and it describes the

    uncertainty that the interfering noise causes in the value of the parameter. In contrast, resolution

    depends on the interference from other targets.

    2.2 Resolution

    Resolution is the ability to separately detect multiple targets. Targets are resolved in

    four dimensions although not necessarily by all radars: Range, Azimuth, Elevation and Doppler

    shift.2.2.1 Types of resolution

    a) Range Resolution

    It is the ability to separate multiple targets at the same angular positions but at different

    ranges. Range resolution is the function of radars radio frequency signal bandwidth with wide

    bandwidths allowing targets closely spaced in range being resolved. To be resolved in range, the

    basic criteria are that the targets must be separated by at least the range equivalent of width of the

    processed echo pulse. R = c /2

    Where R = range resolution (in meters)

    c = velocity of propagation (in meters/sec)

    = processed targets pulse width (in sec)

    6

  • 8/8/2019 Main Prjct Documentation

    7/65

    Without pulse compression, the processed pulse width is approximately equal to that of

    the transmitted pulse. With pulse compression, the processed pulse is narrower than that of the

    transmitted pulse. The effective bandwidth of any pulse is approximately the reciprocal of the

    processed pulse width. Thus range resolution can also be described in bandwidth terms.The transmitted matched bandwidth (B) = 1/

    Hence, R = c/ (2B) (in meters)

    The degree of range resolution depends upon certain parameters like

    a) Width of transmitted pulse.

    b) Types and sizes of targets.

    c) Efficiency of target and indicator.

    For small range resolution, we require large bandwidth or shorter pulse width.

    b) Angular and cross range resolution

    Cross-range is the linear dimension perpendicular to the axis of the antenna specified as

    azimuth (horizontal) or elevation (vertical cross-range). Cross-range resolution gives the radar

    ability to separate multiple targets at same range.

    Resolution in cross range is determined by the antennas effective beam width i.e., the

    narrow beam antennas resolve more closely spaced targets. The criterion for cross-rangeresolution is that the targets at the same range separated by more than the antenna beam width

    are resolved and those separated by less than the antenna beam width are not resolved.

    Cross-range resolution X R (in meters)

    Where X = cross-range resolution (in meters)

    R = target range (in meters)

    = antenna beam width (in radians)

    The following relation relates the beam width of the antenna to its length and the wavelength ofthe electromagnetic wave.

    = / De

    Where = signals wavelength

    De = effective length of the antenna in the direction in which beam

    7

  • 8/8/2019 Main Prjct Documentation

    8/65

    width is being calculated. (Azimuth/elevation)

    The effective size of the antenna is about 0.7times its actual size.

    c) Enhanced cross-range resolution

    This depends upon sequentially viewing targets from several different locations with the

    antenna. This concept is applied in Synthetic Aperture Radar (SAR) and Inverse Synthetic

    Aperture Radar (ISAR). SAR techniques are well suited for situation where the radar moves

    rapidly and the target is stationary such as air-borne radar viewing the target on the ground.

    ISAR technique is applied where the radar is stationary and the targets move rapidly fast. ISAR

    is sometimes used to analyze formation of aircraft from the ground-based or shipboard radars to

    determine how many aircrafts are in the formation.

    d) Doppler Resolution

    Doppler resolution is ability to separate targets at the same range, azimuth and elevation

    but moving at different radial velocities. It is particularly useful in identifying the targets by

    separating the net target motion from the spectral components caused by rotating pieces of the

    targets.

    The criterion for Doppler resolution is that the Doppler frequencies must differ by at leastone cycle over the time of observation. Doppler resolution thus is the function of time over

    which the signal is gathered for processing.

    2.2.2 Range resolution with short pulse radar

    High range resolution ( R small) might be obtained with the short pulse radar and is

    important for many radar applications that are listed below.

    a) Range resolution: It is easier to separate or resolve multiple targets in range than in angle.

    b) Range accuracy: If radar has good range resolution then it has good range accuracy.

    c) Clutter reduction: Increased target-to-clutter ratio is obtained by reducing the amount of

    distributed clutter with which the target echo signal must compete.

    8

  • 8/8/2019 Main Prjct Documentation

    9/65

    d) Inter-clutter visibility: With some types of patchy land and sea clutter, high-resolution radar

    can detect moving targets even in the areas of clutter patches.

    e) Glint reduction: Angle and range tracking errors introduced by a complex target with multiple

    scatterers are reduced when high range resolution radar is employed to isolate or resolve theindividual scatterers that make up the targets.

    f)Multi-path resolution: Range resolution permits the separation of the desired target echo from

    the echoes that arrive at the radar via scattering from longer propagation paths or multi-paths.

    g) Multi-path height finding: When multi-path due to scattering of radar energy from earths

    surface can be separated from the direct path signal by high range resolution radar, target

    height can be determined without a direct measurement of elevation angle.

    h) Doppler tolerance: With a short pulse waveform, the Doppler-frequency shift from a moving

    target will be small compared to the receiver bandwidth. Hence only a single matched filter is

    needed for detection rather than a bank of matched filters tuned to different Doppler shifts.

    i) ECCM: Short pulse radar can negate the effects of certain electronic counter measures such as

    range-gate stealers, repeater jammers etc. The wide bandwidth of the short pulse radar can, in

    principle, provide some reduction in the effects of broadband noise jamming and reduce the

    effectiveness of some electronic warfare receivers and their associated signal processing.

    2.2.3 Limitations of the short pulse radar

    a) Since the spectral bandwidth of a pulse is inversely proportional to its width, the bandwidth of

    a short pulse is large. Large bandwidth can increase system complexity, make greater demands

    on the signal processing and increase the likelihood of interference to and from the users of the

    electromagnetic system.

    b) A serious limitation to achieving long ranges with short duration pulses is that a high peak

    power is required for large pulse energy. The transmission line of high peak power radar can be

    subject to voltage breakdown or discharge especially at higher frequencies where wave-guide

    dimensions are small. If peak power is limited by breakdown, the pulse might not have

    sufficient energy.

    9

  • 8/8/2019 Main Prjct Documentation

    10/65

    2.3 Pulse compression

    Pulse compression can be defined as a technique that allows radar to utilize a long pulse

    to achieve large radiated energy but simultaneously obtaining range resolution of short pulse.

    Theoretically, in pulse compression, a wideband modulated pulse is transmitted and at the timeof reception, the received pulse is compressed to achieve a short pulse which results in high

    range resolution.

    It is the method of breaking the unwanted constraint between range and resolution. Pulse

    compression radar transmits a modulated pulse, which is both long having good range

    characteristics and wideband having good range resolution criterion. The pulse compression

    becomes attractive when peak power required by short pulse radar cant be achieved with

    practical transmitter. Since the spectral bandwidth of a pulse is inversely proportional to its

    width, the bandwidth of a short pulse is large.

    A long pulse can have the same spectral characteristics as a short pulse if the long pulse

    is modulated in frequency or phase. The received echo signal is processed in a matched filter that

    compresses long pulse to a width of 1/B where B is the spectral bandwidth. Thus we achieve a

    long pulse with large bandwidth. This process is called pulse compression.

    2.3.1 Necessity

    For border or field area surveillance, a portable radar system with reasonable range is

    required. These characteristics are achieved only by employing pulse compression technique

    because in pulse compression, we need low power for transmission, which reduces the size of the

    equipment (e.g.: BFSR used by Indian Army).

    2.3.2 Advantagea) More efficient use of average power available at the radar transmitter and in some cases,

    avoidance of peak power problems in the high power section of the radar transmitter.

    b) Transmission of long pulse using average power capability of the system.

    c) The average power may be increased without increasing PRF. Hence it decreases range

    10

  • 8/8/2019 Main Prjct Documentation

    11/65

    ambiguity.

    d) Reduction of vulnerability to certain types of interfering signals that dont have same

    properties as that of the coded waveform.

    e) Increased system resolving capability both in range and velocity. In case of range resolution,the generation of extremely fast rise time and high peak power signals is bypassed using pulse

    compression techniques.

    f)Good range accuracy.

    2.3.3 Limitation

    The pulse compression has the range side lobes that might be mistaken as true signal and

    also can miss the weak echo signal from target.

    2.4 Types of pulse compression techniques

    Chart 2.1 shows the classification of pulse compression techniques.

    Chart 2.1 Classification of pulse compression techniques

    11

    Pulse Compression Techniques

    Digital TechniquesAnalog Techniques

    Discrete

    Frequency Coding

    Phase CodingNon-Linear FMLinear FM

    Costas

    Codes

    SteppedFrequency

    pulses

    Poly-phase

    Bi-phase

  • 8/8/2019 Main Prjct Documentation

    12/65

    2.5 FM Techniques

    If a long duration pulse is frequency modulated, its spectrum can have a wider bandwidth

    than if no FM were present. Since increasing bandwidth corresponds to waveforms with

    decreasing effective duration, the potential exists for a long duration, large bandwidth and pulseto be converted to a short duration effective pulse. In effect, we seek to squeeze the long

    pulse into a short pulse. If energy can be conserved, we can even expect the shorter

    compressed pulse to increase in peak amplitude compared to its amplitude as a long pulse.

    These effects can all be achieved by a signal processing technique called pulse

    compression. The actual signal processor consists of a matched filter that is often followed by a

    second filter that minimizes certain undesired responses from the matched filter.

    To visualize the process of pulse compression, imagine that a long pulse of duration T

    has a linearly varying instantaneous angular frequency i(t) with time as shown in figure 2.5a.

    At the start of the pulse, the carrier cycles at a rate o-( /2). In the pulse center, the

    frequency is o (nominal carriers angular frequency). At the pulse end, frequency increases to

    o+( /2). The total frequency deviation over time T is given by (rad/s). This pulse is

    applied to a pulse compression filter that has a constant modulus transfer function but a phase

    that corresponds to a linearly decreasing envelope delay as shown in figure 2.5b.

    We may visualize the low frequencies that enter the filter first as being delayed more than

    those that enter later. If the slope (T seconds of delay change over an angular frequency span of

    ) is a match to the input signals FM, all the frequencies can be thought of as emerging at

    the same time and piling up in the output. The response can be larger in amplitude as shown in

    figure 2.5c. However, because the inputs bandwidth is large, these frequencies can pile up for

    only a short time and the output quickly decreases from the peak in relation to the reciprocal ofbandwidth. The duration of the main response is smaller than T by the factor 1/ fT, where f =

    /(2 ) and is called the time-bandwidth product or the pulse compression ratio of

    s(t). Similarly, peak power is larger by a factor .

    12

  • 8/8/2019 Main Prjct Documentation

    13/65

    Outside the region of main response, undesired response occurs for a time duration T on

    each side of the main response.

    Figure 2.5 FM pulse compression technique

    a) A long duration pulse with linear FM

    b) The compression filter and its linear delay characteristics

    c) The output pulse

    Side lobes are unwanted by-products of the pulse compression process. Their form and

    amplitudes depend greatly on the type of FM used and whether the modulated pulses s(t)

    contains any shaping (tapering of amplitude) across the pulse.

    2.5.1 Two principle methods for reduction of side lobes of LFM signals:

    a) Method 1: In this method, the output of the pulse compression filter is passed through

    compensation or amplitude weighting filter specifically designed to reduce the side lobes at the

    13

  • 8/8/2019 Main Prjct Documentation

    14/65

  • 8/8/2019 Main Prjct Documentation

    15/65

    2.6.1 Binary phase coding

    In binary phase coding, the phase of each sub pulse is selected to be either 0 or

    radians according to some specified criterion. If the selection of the 0 or phases is made at

    random, the waveform approximates a noise-modulated signal and has a thumbtack likeambiguity function. The output of matched filter will be a compressed pulse of width and will

    have peak N times greater than that of a long pulse. The pulse compression ratio equals the

    number of sub pulses i.e. N = T/ , where, the bandwidth B 1/ .

    The matched filter output extends for a time T on either side of peak response. The

    unwanted but unavoidable portions of the output waveform other than the compressed pulse are

    known as time side lobes.

    2.6.2 Types of binary phase codes

    a) Barker Codes

    Barker codes are originally developed for radar applications. This code is a subset of

    pseudorandom code with a length of up to 13. They are widely used in radar system because of

    its following properties.

    i) Low power and relatively high energy.

    ii) Sharp autocorrelation function.

    iii) Relatively low side lobes.

    The property that makes them popular for application in radars is known as the one shot

    correlation. Barker codes are the perfect codes because all the side lobes in these codes are either

    0 or 1. Hence, we can conclude that here all the side lobes are very low. Therefore, a high

    discrimination can be obtained.

    The Barker code of length N = 13 is as shown in figure 2.6(a)

    Figure 2.6(a) Barker code of length 13

    The (+) indicates 0 phase and (-) indicates radian phase. Its autocorrelation function,

    15

  • 8/8/2019 Main Prjct Documentation

    16/65

    which is the output of matched filter, is as shown below in figure 2.6(b).

    Figure 2.6(b) Autocorrelation function for Barker code

    There are 6 equal time side lobes to either side of the peak, each at a level 22.3dB below

    the peak. The side lobe level of the Barker codes is 1/N2 that of the peak signal.

    Figure 2.6(c) Tapped delay line filter

    In figure 2.6(c), a schematic of tapped delay line, which generates Barker code of length

    13 when the input is from left, is shown. The same tapped delay line filter can be used as the

    receiver matched filter if the received signal is applied from the right. The Barker codes are

    listed in Table (1) below.

    16

  • 8/8/2019 Main Prjct Documentation

    17/65

    Table (1) Barker Codes

    There are none greater than length 13. Hence, the greatest pulse compression ratio for aBarker code is 13. This is a relatively low value for pulse compression applications.

    b) Linear recursive Sequences (or) Shift Register Codes

    When a pulse compression ratio larger than 13 is required, some other criterion for

    selecting the 0 or phases is needed. One method for obtaining a set of random like phase

    codes is to employ a shift register with feedback and modulo-2 addition that generates a

    pseudorandom sequence of zeros and ones of length 2n-1 where, n is the number of stages in the

    shift register. An n-stage shift register consists of n consecutive two state memory units

    controlled by a single clock. The two states considered here are 0 and 1. At each clock pulse, the

    state of each stage is shifted to the next stage in one line. Figure 2.7 shows a seven-stage shift

    register used to generate a pseudorandom sequence of zeros and ones of length 127. In this

    particular case, feedback is obtained by combining the output of the 6 th and 7th stages in a

    17

    S.No. Code length Code elements Side lobe level in dB

    1 2 + - , + + -6.02 3 + + - -9.53 4 + + - + , + + + - -12.04 5 + + + - + -14.0

    5 7 + + + - - + - -16.96 11 + + + - - - + - - + - -20.8

    713 + + + + + - - + + - + -

    +

    -22.3

  • 8/8/2019 Main Prjct Documentation

    18/65

    modulo-2 adder.

    Figure 2.6(d) Modulo-2 adder

    An n-stage binary device has a total of 2n different possible states. The shift register

    cannot however employ the state in which all stages are zero since it would produce all zeros

    thereafter. Thus an n-stage shift register can generate a binary sequence of length no greater than

    2n

    -1 before repeating. The actual sequence obtained depends on both the feedback connectionand the initial loading of the shift register.

    When the output sequence of an n-stage shift register is of period 2n-1, it is called a

    maximal length sequence or m-sequence. This type of waveform is also known as linear

    recursive sequence (LRS), pseudorandom sequence, pseudo noise (PN) sequence or binary shift

    register sequence. They are linear since they obey the superposition theorem.

    When applied to phase coded pulse compression, the zeros correspond to zero phase of

    the sub pulse and the ones correspond to radians phase. There can be more than one maximal

    length sequence depending on the feedback connection. With the proper code, the highest

    (power) side lobe can be about 1/2N that of the maximum compressed pulse power. A 24 dB side

    lobe can be available with a sequence of length 127. Not all maximal length codes however have

    these low values of peak side lobe.

    It is generally said that the more usual maximum side lobe of a typical maximal lengthshift register sequence is approximately 1/N that of the peak response. As mentioned above, a

    completely random selection of the phases results in a side lobe approximately 2/N below the

    peak. The typical maximal length shift register sequence might have a side lobe of 1/N and the

    best of the maximal length sequences might approach 1/2N. By comparison, the Barker codes

    18

  • 8/8/2019 Main Prjct Documentation

    19/65

    have a peak side lobe 1/N2 below the peak.

    The shift register codes fit several of the tests for randomness. They are called

    pseudorandom since they may appear to be random but they are actually deterministic once theshift registers length and feedback connections are known.

    c) Code concatenation

    The different approach to achieve longer codes with higher compression ratio is the

    process of code concatenation or combination. In this approach, one utilizes whatever codes are

    available and then codes the transmit pulse at two or more levels so that each segment of code is

    again coded with another phase code. This has been called Barker squad code or combined

    barker coding when utilizes with Barker codes.

    Hollis calculated the properties of such codes. He combined a Barker code of length 4

    with a code of length 13 in two ways where each bit of 13-bit word was coded into 4 bits. Then

    the zero Doppler autocorrelation function of the waveform yielded 4 side peaks of amplitude 13

    located at range offsets of 1, 3 segments and 12 peaks of amplitude 4. When each bit of the

    4-bit code was coded into 13 bits, the same number of side peaks of amplitude greater than unityappeared but the location of the side peaks of amplitude 13 occurred at offsets 13 and 39

    sequences.

    The main peak of the autocorrelation function in both the cases was 52. The first

    combination may be useful if the expected interference is considerably separated in range from

    target.

    d) Other well-known binary sequences

    Computer search has shown that the longest code with side lobe level of 2 is of length 28,

    the longest code with side lobe level 3 is 51 and the longest codes for levels 4 and 5 are 69 and

    88 respectively. The side lobe levels are almost 25 dB for code lengths varying from 51 to 88.

    19

  • 8/8/2019 Main Prjct Documentation

    20/65

    These side lobe levels are better than the 1/2N values of the best maximal length sequences.

    2.7 Non-binary pulse compression codes

    a) Ternary codesTernary code is another type of code that can be used to represent information and data.

    However, ternary code uses 3 digits for representation of data. Therefore, ternary code may also

    be called as three-alphabet code. This code consists of 1, 0 and 1.

    b) Quin-quenary codes

    This code can also be used to represent data. It uses five arguments to represent

    information. Therefore, this code can also be called as five-alphabet code. It generally uses 2,

    1 and 0.

    c) Multi-level code

    This code is unrestricted code i.e., the alphabets are not only restricted to integers but also

    non-integers.

    Example: 1, 1.2, 0, 7.8, -4, 1, -9.8

    d) Huffman codes

    So far, every pulse compression waveform discussed is of constant amplitude across the

    uncompressed pulse. The signal bandwidth is increased by phase or frequency modulation rather

    than by amplitude modulation. The Huffman codes on the other hand consist of elements that

    vary in amplitude as well as in phase. When the Doppler shift is zero, they produce

    autocorrelation function with no side lobes on time axis except for a single unavoidable side lobe

    at both ends of the compressed waveform. The level of these two end side lobes is a design trade

    off.

    In one example, a Huffman code of length 64 with no Doppler shift has a side lobe at

    each end that is 56 dB below the peak. As with other methods for obtaining zero or low side

    lobes, the volume under the ambiguity diagram must remain constant which means that higher

    side lobes will appear elsewhere in the Doppler domain. The side lobes also degrade if the

    20

  • 8/8/2019 Main Prjct Documentation

    21/65

    tolerance in the amplitude and phase are not maintained sufficiently high.

    e) Complementary codes

    It is possible to find pairs of equal length phase coded pulse in which the side lobe of theautocorrelation function of one is the negative of the other. If the autocorrelation functions from

    the output of the matched filters are added, the algebraic sum of the side lobes will be zero and

    main response will be (2N) where, N is the number of elements in each of the two codes.

    These are called complementary codes or Golay codes after the person who first reported

    their existence and described how to construct them. Theoretically, there are no side lobes on the

    time axis when complementary codes are employed. Complementary codes can also be obtained

    with either binary or poly phase sequences.

    There are two problems in using complementary codes. They are listed below:

    1) The two codes have to be transmitted on two separate pulses, detected separately and then

    subtracted. Any delay occurring during this time between two pulses can result in

    incomplete correlation of the side lobes transmitting the two codes simultaneously at two

    different frequencies. Due to this, the target response can vary with frequency.

    2) The side lobes are not all zero after cancellation when there is a Doppler frequency shiftand thus the ambiguity diagram will constrain other regions with high side lobes. Due to

    this, there might be serious practical difficulties.

    f) Poly phase codes

    The phases of the sub pulses in phase coded pulse compression need not be restricted to

    the two levels of 0 and . When other than the binary phases of 0 or are used, the coded

    pulses are called poly phase codes. They produce lower side lobe levels than the binary phase

    codes and are tolerant to large Doppler frequency shifts but appear to be suitable for detection of

    large targets with aircraft velocity. An example is the Frank poly phase code.

    B.Lewis and F.Kretschmer proposed the variants of Frank poly phase codes that are

    21

  • 8/8/2019 Main Prjct Documentation

    22/65

    called as P-codes. They devised four P-codes that they claimed to be more tolerant than the

    Frank code.

    A Frank code can be defined by an M x M matrix as shown below:

    The numbers in the matrix are each multiplied by a phase equal to 2/ M radians (or

    360/M degrees). The poly phase code starts at the upper left hand corner of the matrix and a

    sequence of length M2 is obtained. The pulse compression ratio is M2 = L, the total number of

    sub pulses.

    Frank conjectured that for large L, the highest side lobe of a poly phase code relative to

    the peak of the compressed pulse is 2L 10 * pulse compression ratio. In the above example

    with L = 25, the peak side lobe is 23.9 dB. Since the rate of change of phase is a frequency,

    examining the matrix indicates that the frequencies of the Frank code change linearly with time

    in a discrete fashion. The Frank codes can be thought of as approximating a stepped linear FMwaveform.

    2.8 Conclusion

    With the advent of pulse compression technology, the radar system and their application

    in military and non-military field have undergone a sea change. The trade off between signal

    transmitted and range resolution was solved and that too without encountering excessively high

    peak powers which could cause electrical breakdowns. Both, the analog and digital technologieshave been successfully exploited to achieve best results.

    Range resolution with low probability of intercept can be achieved by employing digital

    phase codes of greater length having good autocorrelation and cross correlation properties,

    22

  • 8/8/2019 Main Prjct Documentation

    23/65

    synthesis of which is a non linear multivariable optimization problem. The good auto correlation

    can also be achieved by selecting the appropriate order of frequency coding which is explained

    in the next chapter.

    CHAPTER 3

    INTRODUCTION TO COSTAS ARRAYS AND

    THEIR CONSTRUCTION METHODS

    23

  • 8/8/2019 Main Prjct Documentation

    24/65

    3.1 Introduction

    In the development of radar, multiple target resolution has turned out to be one of the

    most difficult problems to be solved. Pulse compression has solved the problem of resolving the

    closely spaced target of approximately some cross-section at the cost of introducing side-lobes at

    the output of matched filter. As far as radar pulse compression is concerned, the optimal codes

    for the radar signals are the ones whose peak side-lobes of the autocorrelation function are

    minimum for a given code-length. Therefore, huge attention is only paid to the autocorrelation

    function for designing codes.

    Contributions of J.P.Costas in the design of frequency hop codes known as Costas codes

    or Costas arrays or Costas sequence is appreciable. These produce well-controlled side-lobes in

    delay-Doppler plane and have near ideal thumbtack ambiguity function.

    These Costas codes come under the discrete frequency codes. The other type of discrete

    frequency codes are Stepped frequency codes. They are as shown in the below figures.

    Figure 3.1 Discrete frequency codes for N = 10

    24

  • 8/8/2019 Main Prjct Documentation

    25/65

    (a) Stepped LFM

    (b) Costas code

    The Costas arrays are also a type of Stepped frequency codes but the only difference is

    that in Costas arrays, the frequencies are placed in random fashion. ACostas array is an Nx N

    array of dots and blanks with exactly one dot in each row and column and with distinct vector

    differences between all pairs of dots. J.P.Costas used the difference triangle method to find

    whether a given sequence is a Costas sequence or not. The procedure to check for Costas array

    using difference triangle method is discussed below.

    Order the complete set of integers from 1 to N such that the difference triangle formed

    from the ordered sequence shall have no repeated terms in any row. Form the first row by taking

    differences between adjacent numbers. All differences in this row must be unique. Form the

    second row by taking differences between next adjacent terms. This row must also be free of

    repeated values and so forth. A simple example of this process is shown in Table (2) for N = 10.

    Table (2) Difference triangle for N = 10

    3.2 Properties of Costas arrays

    1) These produce well-controlled side-lobes. The side lobe level is inversely proportional to 1/N

    25

  • 8/8/2019 Main Prjct Documentation

    26/65

    i.e., as the value of N (length of the sequence) increases, the side-lobe level decreases.

    2) The pulse compression ratio is N2. Thus, as the value of N increases, the pulse width

    decreases resulting in good range resolution.

    3) It has near ideal thumbtack ambiguity function as shown in figure 3.2.

    Figure 3.2 Ambiguity function

    4) An important property of Costas arrays is that they come in sets of four or eight. This isapparent when one considers that a set of eight Costas arrays can be constructed from a single

    Costas array:

    i) Reversing the order of the rows of a Costas array produces another Costas array,

    ii) Reversing the order of the columns of a Costas array produces another Costas array,

    iii) Reversing the orders of both the rows and columns of a Costas array produces another Costas

    array and

    iv) Transposing a Costas array provides a basis for another four Costas arrays.

    If a Costas array is symmetrical about the main diagonal or anti diagonal then the

    transpose will be a duplicate of one of the other cases, and this Costas array will be part of a set

    of four, not eight.

    26

  • 8/8/2019 Main Prjct Documentation

    27/65

    3.3 History of Costas arrays

    Costas arrays were mainly developed for sonar applications but now-a-days they are also

    used in radar applications. Radar and sonar signals are used to determine both the distance (alsocalled range)of a target from the observer and the velocity (also called range rate)at which the

    target is either approaching or receding from the observer. The time difference between emission

    and reception provides the distance of the target from the device while the frequency difference

    between the two gives an indication of the speed of the target. The range is proportional to the

    round-trip delay time (or time shift)of the signal and the velocity is proportional to the Doppler

    (or frequency shift)of the signal.[6]

    In a frequency-hopping radar or sonar system, the signal consists of one or more

    frequencies being chosen from a set {f1, f2 fm} of available frequencies for transmission at each

    of a set {t1, t2 tn} of consecutive time intervals. For modeling purposes, it is reasonable to

    consider the situation in which m = n and where a different one of n equally spaced frequencies

    {f1, f2 fn} is transmitted during each of the n equal duration time intervals {t1, t2 tn}. Such a

    signal is conveniently represented by an n X n permutation matrix A where the n rows

    correspond to the n frequencies, the n columns correspond to the n time intervals and the entry

    aij equals 1 if and only frequency fi is transmitted in time interval tj otherwise aij = 0 and thus

    resulting in a frequency-hop pattern of Costas arrays.

    When this signal is reflected from the target and received back by the observer, it is

    shifted in both time and frequency and from the amounts of these shifts, both range and velocity

    are determined. The observer determines the amounts of these shifts by comparing all shifts (in

    both time and frequency) of a replica of the transmitted signal with the actual received signal and

    noting for which combination of time shift and frequency shift the coincidence is greatest. Thismay be thought of as counting the number of coincidences between 1s in the matrix A = (aij) with

    1s in a shifted version A* of A, in which all entries have been shifted r units to the right ( r is

    negative if there is a shift to the left), and s units upward (s is negative if the shift is downward).

    27

  • 8/8/2019 Main Prjct Documentation

    28/65

    The number of such coincidences, C(r, s), is the (un normalized) autocorrelation between A and

    A*, and clearly satisfies the following conditions.

    C (0, 0) = n

    C(r, s) = 0, if r n or if s n.0 C(r, s) < n except when r = s = 0.

    This conforms to the assumption that the signal is zero outside the intervals f1 f fn and

    t1 t tn .If the sequence of frequencies is to be repeated periodically in time, a singly periodic

    correlation function can be defined accordingly. In this context, periodicity in frequency does not

    appear to be a useful notion. In the real world, the returning signal is always noisy. The two-

    dimensional autocorrelation function C(r, s), called the ambiguity function in the radar and sonar

    literature and should be thought of as the total coincidence between the actual returning noisy

    signal and the shift of the ideal transmitted signal by r units in time and s units in frequency. It is

    useful to think of the signal matrix A = (aij) as a two-dimensional template of n2 cells, which is

    opaque at the n2 - n cells where aij = 0, and transparent at the n cells where a ij = 1. The total signal

    energy behind these windows is summed (via a double integral in time and frequency) to give the

    value of C(r, s) when the template is shifted r units on the time axis and s units on the frequency

    axis.[6]

    Among the 2n2

    matrices of 0s and 1s of order n, there are only n! Permutation matricesand some of these are better than others as signal patterns for radar and sonar. For example, the

    n X n identity matrix In can be shifted one unit up and one unit left, and will then produce n-1

    coincidences with the original matrix. For large values of n and a noisy environment, the signal

    pattern In would be almost guaranteed to produce spurious targets, shifted an equal number of

    units in both time and frequency from the real target. At a minimum, there is a shift of A = (aij)

    which will make any of the n 1s land on any of the n 1 remaining 1s, so we know that

    min all codes max (r,s) (0,0) C( r, s) 1.

    Where C(r, s) is the ideal ambiguity function of the permutation matrix itself. This led J.P.Costas

    to look for those n X n permutation matrices for which

    max (r,s) (0,0) C( r, s) =1.

    28

  • 8/8/2019 Main Prjct Documentation

    29/65

    as the best possible case. All permutation matrices which satisfy the above condition have been

    called either constellations or Costas arrays. It is conjectured that these arrays exist for all

    positive integers n.

    3.4 Difficulty in finding Costas arrays

    The definition of a Costas array as a permutation matrix with special restrictions does not

    lead to a simple method of finding them because the Costas condition is not easily posed in a

    clearly simple way such as a simple set of constraint equations. The only known way to obtain

    all Costas arrays for a given order is an exhaustive search. The number of permutations of orderN is N! , while the number of Costas arrays of order N increases to a maximum of 21,104 for

    N = 16 after which the number drops rapidly. Exhaustive search, such as sequential generation

    of all N! permutation matrices and examining the check matrix to determine which have the

    Costas property, is prohibitively slow for large N.

    Using the difference triangle method, all possible Costas arrays up to length, N = 12 have

    been successfully found. As N increases, the complexity increases. Thus, different construction

    algorithms like Welch, Lempel, Taylor and Golomb were proposed to find Costas arrays for

    greater values of N. These algorithms are discussed in the next section.

    3.5 Construction methods of Costas arrays

    3.5.1 Systematic methods of construction

    The finite field with q elements denoted by GF(q) exists when and only when q is a

    power of a prime. Detailed proofs (in order of increasing complexity) that the Welch, Lempel

    and Golomb construction methods produce Costas arrays are contained in next topics. These

    proofs depend on the arithmetic of finite fields and particularly on two properties of all primitive

    elements in finite fields. The element in GF(q) is called primitive if the successive powers of

    (i.e.,1, 2,,q-1 = 1) run through all the nonzero elements of GF(q).

    29

  • 8/8/2019 Main Prjct Documentation

    30/65

    For primitive , the two essential facts are as follows:

    1) For every nonzero element x in GF(q) there is an integer i such that i = x.

    2) i = k in GF(q) if and only if i k(mod q - 1).

    3.5.2 The Welch construction

    For every prime p > 2, the Welch construction yields an N x N Costas array W1 with N =

    p - 1 and a Costas array W2 with N = p - 2. For certain primes, it also yields a Costas array W3

    with N = p - 3.

    W: N = p-1

    i(row) = 1,2,3,p-1

    j(column) = 0,1,2,3,p-2

    The N x N matrix contains a dot at position (i,j) if and only i = j(mod p).

    W: N = p-2

    It is obtained by deleting a dot at (1,0) from W along with top row and left column.

    W3: N = p-3

    This works only when 2 is primitive in GF(p). Using = 2, Whas dots at both (1,0) and

    (2,l). W3 is the result of deleting these two dots along with the two top rows and the two left

    columns.

    3.5.2(a) Matlab Code for Welch1

    function out = welch1(p,a,c) % welch1(p,a,c) generates all W1 Welch array

    sequences. Generates all W1 Welch Costas array

    sequences from a prime p, with optional primitive

    elements a (1 = all), optional circular shift c. If c isnot specified then all circular shifts are generated.

    if p= =2 % if p is 2 output 1

    arrays=1;

    elseif ~isprime(p)

    30

  • 8/8/2019 Main Prjct Documentation

    31/65

    error('not a prime number'); % error if 'p' entered is not a prime

    else

    if (nargin > 1)&&(all(a~=1))

    pes = primelem(p);if IsNotPrimitive(a,pes) % error if a's entered not primitive

    error([num2str(a) ' not all primitive in GF(' num2str(p) '). Pick a from ' num2str(pes) '.']);

    end

    end

    if (nargin = = 2)

    c = 0; % assume circular shift c = 0 if not entered

    elseif (nargin == 1)

    a = primelem(p); % take all primitive elements if not specified

    c = 0; % c must take value 0 in this case

    end

    if a==1

    a = primelem(p); % if a=1 include

    end % all primitives

    arrays=GenerateFromPrimitives(a,p);

    if c~=0 % circular shift arrays as requiredarrays=CircularShiftArrays(c,arrays);

    end

    end

    if nargin < 3

    arrays=minimal(circshifts(dsyms(arrays))); % generate all possible circular shifts

    end

    out=costas(arrays); % output sorted Costas arrays

    function out=IsNotPrimitive(a,pes) % check if a is primitive

    out=~all(ismember(a,pes));

    function arrays=GenerateFromPrimitives(a,p) % generate the W1 arrays from the primitive

    elements

    31

  • 8/8/2019 Main Prjct Documentation

    32/65

  • 8/8/2019 Main Prjct Documentation

    33/65

    Figure 3.5.2 W1 with p = 43, N = 42

    3.5.3 The Lempel construction

    L2: N = p-2

    i(row) = 1,2,3,p-2j(column) = 1,2,3,p-2

    The N x N matrix contains a dot at position (i,j) if and only ( i + j )mod p = 1.

    L3: N = p-3

    33

  • 8/8/2019 Main Prjct Documentation

    34/65

    This works only when 2 is primitive in GF(p) where p is an odd prime. Using = 2-1 = will

    mean that 1 + 1 = 1 and hence that dot at (1,1) can be deleted from L2 along with the top row

    and the left column.

    An example of Costas array using L2

    with

    N = 25 is shown in figure 3.5.3.

    Figure 3.5.3 L2 with p = 27, N = 25

    3.5.4 The Golomb construction

    G2: N = p-2

    i(row) = 1,2,3,.p-2

    j(column) = 1,2,3,..p-2

    A dot is placed at the position (i,j) if and only if (i + j ) mod p =1.

    G3: N = p-3

    34

  • 8/8/2019 Main Prjct Documentation

    35/65

  • 8/8/2019 Main Prjct Documentation

    36/65

    This construction always follows from G*4. When + =1 and 2 + -1 = 1 then necessarily

    also -1 + 2 = 1 in GF(p). Thus, after (1,1) and (2,-1) are deleted along with their respective rows

    and columns, there will be another deletable dot at (-1,2).

    3.5.5 The Taylor construction

    3.5.5(a) Taylor variant to Lempel

    T4: N = p-4

    This works only when the primitive, in GF(p) satisfies 2 + 1 = 1. Then the dots at (1,2)

    and (2,1) can both be deleted simultaneously from L2 along with the two top rows and the

    two left columns.

    3.5.5(b) Taylor variant to Golomb

    T1: N = p-1

    Add a corner dot at one of (0,0) or (0,p-1) or (p-1,0) or (p-1,p-1). This is possible only when

    p 2k and the conditions at one of the corners do not prevent it.

    T0: N = p

    Add two corner dots at (0,0) and (p-1,p-1) or (0,p-1) and (p-1,0). This is possible only when

    p -1(mod 6) and when not prevented by the condition on the two corners.

    3.6 Costas arrays with special properties

    3.6.1 Periodic constructions

    Repeating the 2 X 2 Costas array in both directions over the entire plane gives a doubly

    periodic checkerboard pattern with a Costas array in every 2 X 2 window. For any n > 2,

    however, there does not exist a doubly periodic pattern with a Costas array in every n X n

    window. The nearest approximation to such a pattern is given by the extended Welch

    construction, as follows.

    Let pbe an odd prime, with primitive root . Put a dot in position ( i , j ) iff i = j(mod

    p). The resulting infinite integer matrix of dots and blanks has the property that in every p X p

    window there are p dots with no repeated vector difference. (Each p X p window fails to be a

    36

  • 8/8/2019 Main Prjct Documentation

    37/65

    Costas array by having one empty row and one row with two dots.) Singly periodic patterns, (p -

    1) X , exist which have a Costas array in every (p - 1) X (p - 1) window, where the windows

    are only left-right shifted. The only known examples are those arising from the extended Welch

    construction, but the possibility of other examples has not been entirely ruled out.

    3.6.2. Non-attacking queens

    For n > 1 we have found no example of a Costas array consisting of non-attacking

    Queens. It would even be interesting to find a Costas array for n > 10 having only one

    occurrence of a Queen attack. (Another sort of near miss is shown in Fig.3.6.2 (a))

    Figure 3.6.2(a) Nine non attacking queens on 10x10 board

    If an application could be satisfied with semi-Queens, then we already have an infinite

    supply from the Lempel construction. A semi-Queen would attack its row and column but only

    the diagonal parallel to the main diagonal. Symmetry prohibits two dots in any line parallel tobut off of the main diagonal, because reflection would repeat their difference vector. In the

    Lempel construction with 9 any power of odd prime, there is exactly one solution to x+x =1, for

    each primitive , and hence exactly one dot on the main diagonal.

    With q a power of two, there will be no solution to x +x=1 and hence no dot on the main

    diagonal. It may be useful to note that we can describe exactly which Queen attacks do occur in

    the Lempel construction. Each dot at (i, j) attacks the dot at (j, i), and no others. This is illustrated

    in Fig.3.6.2(b) with GF (33).

    37

  • 8/8/2019 Main Prjct Documentation

    38/65

    Figure 3.6.2(b)Queen attack in Lempel Construction

    3.7 Radar applications of Costas arrays

    With emerging technologies for exhaustive search as presented here, sufficient palettes of

    moderate order Costas arrays are available to produce effectively ideal autocorrelation

    performance with cross-correlation performance similar to that of BPSK codes. These

    waveforms are particularly useful in applications where the target Doppler is a significant

    portion of the radar bandwidth, such as radars designed to track extra atmospheric objects,

    particularly in highly eccentric orbits such as those with ballistic objects such as launch vehicles.

    Other radar types that can use FSK waveforms based on Costas arrays include CW or quasi-CW

    bistatic radars and high duty cycle radars with broadband chips that are transmitted in an FSK

    pattern based on Costas arrays.

    3.8 Conclusion

    The Table (3) below gives an idea of the applicable methods for constructing a Costas

    array for particular value of length, N.

    38

  • 8/8/2019 Main Prjct Documentation

    39/65

    Table (3) Table of applicable construction methods up to N = 83

    Using the above table, all possible Costas arrays for different values of N up to 26 are

    found. The number of available Costas arrays for different values up to N = 26 is being listed in

    Table (4) as shown below.

    39

  • 8/8/2019 Main Prjct Documentation

    40/65

    Table (4) Number of Costas arrays up to N = 26

    From the above table, it is clear that all possible Costas arrays up to N = 26 have been

    found. The exact number of Costas arrays for N >26 is not known. As the aim of the project is

    constructing Costas arrays for N > 26, all the obtained results are presented in the next chapter.

    40

  • 8/8/2019 Main Prjct Documentation

    41/65

    CHAPTER 4

    RESULTS AND CONCLUSIONS

    4.1 Results

    Various Costas sequences for N = 27 using different construction methods have been

    obtained. They are listed below:

    41

  • 8/8/2019 Main Prjct Documentation

    42/65

    1 3 7 15 2 5 11 23 18 8 17 6 13 27 26 24 20 12 25 22 16 4 9 19 10 21

    14

    1 3 19 12 23 5 25 20 10 16 13 27 11 15 2 9 14 8 21 22 18 17 26 6 4

    7 24

    1 5 2 22 6 12 3 10 23 25 7 18 13 27 4 21 11 9 24 17 26 20 8 16 19

    15 14

    1 8 22 18 16 5 23 17 14 19 12 20 26 25 7 10 11 27 3 15 2 21 13 24 9

    4 6

    1 15 2 25 6 24 26 18 16 9 13 4 11 17 14 10 22 21 3 8 19 20 5 27 7

    23 12

    1 21 19 26 6 27 15 2 25 16 17 11 23 9 20 5 8 4 10 12 22 3 7 24 14

    13 18

    1 25 19 5 4 12 10 16 26 7 18 6 23 27 24 8 21 11 3 22 17 20 13 15 2

    9 14

    2 3 14 12 21 5 18 20 26 16 4 27 24 15 1 9 19 8 23 22 25 17 10 6 13

    7 11

    2 8 26 22 10 3 11 6 20 4 14 15 18 27 25 19 1 5 17 24 16 21 7 23 13

    12 9

    2 17 14 12 7 19 18 20 26 16 4 13 24 1 15 23 5 8 9 22 11 3 10 6 27

    21 25

    2 20 3 8 23 7 10 5 1 9 13 22 21 27 18 16 4 25 14 15 17 11 24 6 26

    12 19

    2 20 17 8 9 21 10 19 15 23 27 22 7 13 18 16 4 11 14 1 3 25 24 6 26

    12 5

    2 24 16 4 14 7 5 13 12 1 6 18 27 3 22 8 19 9 15 11 26 23 25 10 17

    20 21

    2 24 16 4 14 21 19 27 12 15 6 18 13 17 22 8 5 23 1 25 26 9 11 10 3

    20 7

    2 25 8 13 3 23 12 5 19 20 18 22 14 1 27 4 21 16 26 6 17 24 10 9 11

    7 15

    42

  • 8/8/2019 Main Prjct Documentation

    43/65

  • 8/8/2019 Main Prjct Documentation

    44/65

    5 21 11 18 2 23 19 10 13 24 1 27 3 17 16 25 12 20 22 4 26 15 7 8 14

    9 6

    5 25 10 26 2 4 15 22 3 13 7 6 9 23 20 21 27 17 8 1 18 16 12 24 11

    19 14 6 4 9 24 13 21 2 15 3 27 11 10 7 25 26 20 12 19 14 17 23 5 16 18 22

    8 1

    6 4 23 24 27 7 2 1 17 13 25 10 21 11 26 20 12 5 14 3 9 19 16 18 22

    8 15

    6 9 14 8 7 15 26 4 22 20 12 25 16 17 3 27 1 24 13 10 19 23 2 18 11

    21 5

    6 10 23 13 16 1 11 20 15 2 7 26 4 27 9 5 19 25 17 8 24 22 3 21 18

    12 14

    6 16 20 12 14 7 1 25 8 17 18 26 11 23 10 24 15 13 3 19 22 27 5 2 9

    4 21

    6 16 20 12 14 21 15 11 8 3 18 26 25 9 10 24 1 27 17 5 22 13 19 2 23

    4 7

    6 23 14 8 21 1 26 4 22 20 12 11 16 3 17 13 15 24 27 10 5 9 2 18 25

    7 19

    6 23 14 8 21 1 26 4 22 20 12 11 16 3 17 13 15 24 27 10 5 9 2 18 25

    7 19

    7 4 23 2 19 13 22 5 17 27 1 24 10 9 25 26 18 3 8 11 15 21 14 12 20

    16 6

    7 5 18 6 26 12 16 19 14 3 2 23 17 27 20 22 9 21 1 15 11 8 13 24 25

    4 10

    7 8 11 18 3 5 2 17 13 19 9 20 6 25 1 10 22 27 16 15 23 21 14 24 12

    4 26

    7 12 27 6 15 25 10 1 9 11 17 16 2 13 5 22 26 23 24 19 3 21 14 8 4

    20 18

    7 16 15 22 27 17 18 13 5 3 25 12 26 1 9 6 2 19 4 23 11 21 14 20 24

    8 10

    44

  • 8/8/2019 Main Prjct Documentation

    45/65

    7 20 3 10 11 9 26 25 1 23 5 8 22 17 13 18 6 15 12 27 19 21 14 4 16

    24 2

    7 24 19 26 23 1 6 9 25 15 13 4 18 5 17 2 10 11 20 3 27 21 14 16 8

    12 22 8 7 20 2 18 1 6 26 21 12 14 17 10 19 27 23 9 24 22 16 13 25 3 4 11

    15 5

    8 13 21 25 15 4 1 24 9 7 10 2 14 23 5 12 11 27 20 26 22 16 18 19 6

    17 3

    8 21 20 2 18 15 6 26 7 12 14 3 10 5 13 9 23 24 22 16 27 11 17 4 25

    1 19

    8 23 19 22 27 16 17 9 15 25 3 5 18 1 21 6 10 7 2 13 12 20 14 4 26

    24 11

    8 27 7 11 1 4 15 24 23 21 10 2 14 9 19 12 25 13 20 26 22 16 18 5 6

    3 17

    9 1 3 17 8 24 6 4 10 7 22 26 11 19 20 16 21 15 27 2 13 12 5 23 18

    25 14

    9 12 13 23 7 21 16 24 17 5 1 19 25 27 18 15 14 4 20 6 11 3 10 22 26

    8 2

    9 16 2 22 4 17 11 13 14 3 24 12 10 1 7 6 15 19 27 23 18 21 5 20 25

    8 26

    9 17 18 2 26 24 27 6 11 1 7 22 5 19 8 21 15 25 20 13 10 12 16 4 3

    23 14

    9 21 3 10 26 19 23 18 1 4 13 15 11 25 12 17 16 8 6 24 2 27 7 20 14

    5 22

    9 23 18 1 26 20 10 22 4 25 5 8 15 13 14 6 2 21 27 16 3 12 17 19 7

    11 24

    9 27 3 24 11 17 1 12 6 4 5 19 15 23 18 25 14 16 21 2 22 13 10 26 8

    7 20

    10 1 14 4 7 11 6 16 18 24 20 9 8 5 19 3 25 12 17 26 27 15 22 2 23

    21 13

    45

  • 8/8/2019 Main Prjct Documentation

    46/65

    10 4 25 24 13 8 11 15 1 21 9 22 20 27 17 23 2 3 14 19 16 12 26 6 18

    5 7

    10 8 24 20 14 7 25 9 4 5 2 6 23 15 26 12 11 17 19 27 18 3 13 22 1

    16 21 10 8 24 20 14 21 11 23 4 19 2 6 9 1 26 12 25 3 5 13 18 17 27 22 15

    16 7

    10 15 14 4 21 25 6 16 18 24 20 23 8 19 5 17 11 12 3 26 13 1 22 2 9

    7 27

    10 16 1 12 17 21 22 11 19 3 23 26 7 9 6 24 20 27 14 5 15 13 8 2 18

    4 25

    10 16 14 5 8 7 17 4 18 23 2 9 26 1 19 13 15 24 21 22 12 25 11 6 27

    20 3

    10 16 15 12 3 7 22 25 5 17 9 26 21 23 6 24 20 13 14 19 1 27 8 2 18

    4 11

    11 4 18 2 8 27 1 19 14 13 20 24 6 23 21 26 9 17 5 25 22 7 3 12 15

    16 10

    11 5 13 20 1 27 23 24 26 8 3 17 9 25 22 15 14 4 7 18 2 19 6 10 16

    21 12

    11 7 13 6 10 17 25 22 23 8 19 9 1 15 24 27 4 16 26 20 18 5 21 12 14

    3 2

    11 10 4 24 7 23 3 18 21 9 26 16 5 1 15 27 2 25 17 22 19 6 8 12 20

    13 14

    11 23 13 27 16 20 26 8 6 21 2 10 1 17 12 4 7 9 5 18 19 24 3 25 22

    15 14

    11 24 26 4 14 20 12 13 2 7 10 6 21 1 18 5 3 25 15 9 17 16 27 22 19

    23 8

    11 25 22 23 10 12 6 2 8 15 3 16 9 19 14 26 18 7 5 4 13 24 27 17 21

    1 20

    11 27 22 18 10 20 5 26 1 23 21 2 3 17 16 7 9 15 12 19 6 24 4 8 13

    25 14

    46

  • 8/8/2019 Main Prjct Documentation

    47/65

    12 7 16 10 6 5 2 18 21 4 14 1 22 11 23 3 17 8 26 24 9 13 15 20 27

    19 25

    12 9 21 13 19 20 5 8 17 7 22 10 14 3 25 4 27 23 16 18 26 24 6 11 2

    1 15 12 17 10 24 22 8 19 3 7 20 9 16 13 1 2 4 27 26 18 5 23 6 15 25 21

    11 14

    12 21 16 10 6 19 2 18 7 4 14 15 22 25 9 17 3 8 26 24 23 27 1 20 13

    5 11

    12 23 7 27 5 20 19 8 3 21 22 10 14 17 11 4 13 9 16 18 26 24 6 25 2

    15 1

    13 9 26 6 22 16 11 18 19 17 7 10 1 15 24 21 3 5 4 25 2 8 20 12 23

    27 14

    13 11 23 16 19 9 17 8 18 12 1 15 3 27 26 5 14 20 21 6 10 25 2 22 24

    7 4

    13 17 23 9 24 16 18 12 2 7 10 22 19 15 4 20 21 3 11 6 25 8 1 27 26

    5 14

    13 20 6 10 12 9 19 25 14 23 16 8 2 17 7 18 3 15 11 27 26 21 1 4 5

    24 22

    13 21 17 19 18 4 11 22 2 12 7 24 1 27 14 6 10 8 9 23 16 5 25 15 20

    3 26

    13 21 23 2 22 15 27 26 17 12 25 3 19 5 8 9 20 24 18 16 6 11 7 4 14

    1 10

    13 27 26 17 22 4 2 10 12 5 1 24 3 25 14 18 6 21 11 20 23 8 9 15 7

    19 16

    14 1 5 16 8 20 26 3 24 23 25 7 4 13 27 18 21 11 9 10 17 12 6 22 2

    19 15

    14 1 22 11 17 24 5 18 19 23 21 4 12 3 15 10 2 7 6 8 26 20 16 13 27

    9 25

    14 3 10 5 23 16 15 26 1 13 7 12 8 9 17 2 6 21 18 24 22 4 20 11 25

    27 19

    47

  • 8/8/2019 Main Prjct Documentation

    48/65

    14 3 15 20 24 4 22 9 16 13 19 21 12 11 25 26 7 5 27 2 23 8 18 10 6

    1 17

    14 5 25 24 12 16 18 15 8 3 13 7 20 9 23 6 21 27 17 22 1 4 2 26 10

    11 19 14 5 26 27 1 8 25 6 11 3 21 20 4 15 19 22 10 7 2 12 18 16 24 9 23

    17 13

    14 7 18 9 19 24 12 6 3 16 8 4 2 1 15 22 11 20 10 5 17 23 26 13 21

    25 27

    14 9 2 15 13 20 17 22 3 11 21 8 24 27 23 6 18 7 26 16 10 12 4 5 19

    25 1

    14 9 17 4 16 12 10 27 20 11 1 7 8 5 19 22 21 15 25 6 13 24 26 2 18

    3 23

    14 11 18 9 19 12 27 2 13 1 7 16 20 5 25 26 22 21 10 4 6 24 8 3 17

    15 23

    14 11 21 25 15 6 23 5 18 26 27 4 2 1 13 16 9 20 7 3 19 8 22 24 10

    17 12

    14 11 27 8 4 24 6 5 12 1 23 21 16 3 17 2 7 9 15 26 19 20 10 18 22

    13 25

    14 12 18 21 3 22 24 8 17 25 19 5 9 27 4 26 7 2 15 20 11 1 16 13 23

    10 6

    14 13 6 3 25 4 9 10 23 19 21 24 16 11 27 18 26 7 22 20 2 8 12 1 15

    5 17

    14 13 9 12 20 8 2 11 4 19 17 7 24 1 15 10 21 3 5 18 25 16 22 6 26

    23 27

    14 13 20 12 8 6 19 22 17 25 2 27 15 1 5 16 26 9 21 18 3 23 7 24 4

    10 11

    14 15 8 16 20 22 9 6 11 3 26 1 13 27 23 12 2 19 7 10 25 5 21 4 24

    18 17

    14 15 19 16 8 20 26 17 24 9 11 21 4 27 13 18 7 25 23 10 3 12 6 22 2

    5 1

    48

  • 8/8/2019 Main Prjct Documentation

    49/65

    14 15 22 25 3 24 19 18 5 9 7 4 12 17 1 10 2 21 6 8 26 20 16 27 13

    23 11

    14 16 10 7 25 6 4 20 11 3 9 23 19 1 24 2 21 26 13 8 17 27 12 15 5

    18 22 14 17 1 20 24 4 22 23 16 27 5 7 12 25 11 26 21 19 13 2 9 8 18 10 6

    15 3

    14 17 7 3 13 22 5 23 10 2 1 24 26 27 15 12 19 8 21 25 9 20 6 4 18

    11 16

    14 17 10 19 9 16 1 26 15 27 21 12 8 23 3 2 6 7 18 24 22 4 20 25 11

    13 5

    14 19 11 24 12 16 18 1 8 17 27 21 20 23 9 6 7 13 3 22 15 4 2 26 10

    25 5

    14 19 26 13 15 8 11 6 25 17 7 20 4 1 5 22 10 21 2 12 18 16 24 23 9

    3 27

    14 21 10 19 9 4 16 22 25 12 20 24 26 27 13 6 17 8 18 23 11 5 2 15 7

    3 1

    14 23 2 1 27 20 3 22 17 25 7 8 24 13 9 6 18 21 26 16 10 12 4 19 5

    11 15

    14 23 3 4 16 12 10 13 20 25 15 21 8 19 5 22 7 1 11 6 27 24 26 2 18

    17 9

    14 25 13 8 4 24 6 19 12 15 9 7 16 17 3 2 21 23 1 26 5 20 10 18 22

    27 11

    14 25 18 23 5 12 13 2 27 15 21 16 20 19 11 26 22 7 10 4 6 24 8 17 3

    1 9

    14 27 6 17 11 4 23 10 9 5 7 24 16 25 13 18 26 21 22 20 2 8 12 15 1

    19 3

    14 27 23 12 20 8 2 25 4 5 3 21 24 15 1 10 7 17 19 18 11 16 22 6 26

    9 13

    15 1 2 11 6 24 26 18 16 23 27 4 25 3 14 10 22 7 17 8 5 20 19 13 21

    9 12

    49

  • 8/8/2019 Main Prjct Documentation

    50/65

    15 7 5 26 6 13 1 2 11 16 3 25 9 23 20 19 8 4 10 12 22 17 21 24 14

    27 18

    15 7 11 9 10 24 17 6 26 16 21 4 27 1 14 22 18 20 19 5 12 23 3 13 8

    25 2 15 8 22 18 16 19 9 3 14 5 12 20 26 11 21 10 25 13 17 1 2 7 27 24 23

    4 6

    15 11 5 19 4 12 10 16 26 21 18 6 9 13 24 8 7 25 17 22 3 20 27 1 2

    23 14

    15 17 5 12 9 19 11 20 10 16 27 13 25 1 2 23 14 8 7 22 18 3 26 6 4

    21 24

    15 19 2 22 6 12 17 10 9 11 21 18 27 13 4 7 25 23 24 3 26 20 8 16 5

    1 14

    16 5 21 1 23 8 9 20 25 7 6 18 14 11 17 24 15 19 12 10 2 4 22 3 26

    13 27

    16 7 12 18 22 9 26 10 21 24 14 13 6 3 19 11 25 20 2 4 5 1 27 8 15

    23 17

    16 11 18 4 6 20 9 25 21 8 19 12 15 27 26 24 1 2 10 23 5 22 13 3 7

    17 14

    16 19 7 15 9 8 23 20 11 21 6 18 14 25 3 24 1 5 12 10 2 4 22 17 26

    27 13

    16 21 12 18 22 23 26 10 7 24 14 27 6 17 5 25 11 20 2 4 19 15 13 8 1

    9 3

    17 1 6 10 18 8 23 2 27 5 7 26 25 11 12 21 19 13 16 9 22 4 24 20 15

    3 14

    17 3 6 5 18 16 22 26 20 13 25 12 19 9 14 2 10 21 23 24 15 4 1 11 7

    27 8

    17 4 2 24 14 8 16 15 26 21 18 22 7 27 10 23 25 3 13 19 11 12 1 6 9

    5 20

    17 5 15 1 12 8 2 20 22 7 26 18 27 11 16 24 21 19 23 10 9 4 25 3 6

    13 14

    50

  • 8/8/2019 Main Prjct Documentation

    51/65

    17 18 24 4 21 5 25 10 7 19 2 12 23 27 13 1 26 3 11 6 9 22 20 16 8

    15 14

    17 21 15 22 18 11 3 6 5 20 9 19 27 13 4 1 24 12 2 8 10 23 7 16 14

    25 26 17 23 15 8 27 1 5 4 2 20 25 11 19 3 6 13 14 24 21 10 26 9 22 18 12

    7 16

    17 24 10 26 20 1 27 9 14 15 8 4 22 5 7 2 19 11 23 3 6 21 25 16 13

    12 18

    18 12 13 16 25 21 6 3 23 11 19 2 7 5 22 4 8 15 14 9 27 1 20 26 10

    24 17

    18 12 14 23 20 21 11 24 10 5 26 19 2 27 9 15 13 4 7 6 16 3 17 22 1

    8 25

    18 12 27 16 11 7 6 17 9 25 5 2 21 19 22 4 8 1 14 23 13 15 20 26 10

    24 3

    18 13 14 24 7 3 22 12 10 4 8 5 20 9 23 11 17 16 25 2 15 27 6 26 19

    21 1

    18 20 4 8 14 7 17 5 24 9 26 22 19 27 2 16 3 25 23 15 10 11 1 6 13

    12 21

    18 20 4 8 14 21 3 19 24 23 26 22 5 13 2 16 17 11 9 1 10 25 15 6 27

    12 7

    18 24 3 4 15 20 17 13 27 7 19 6 8 1 11 5 26 25 14 9 12 16 2 22 10

    23 21

    18 27 14 24 21 17 22 12 10 4 8 19 20 23 9 25 3 16 11 2 1 13 6 26 5

    7 15

    19 1 25 4 17 11 27 16 22 24 23 9 13 5 10 3 14 12 7 26 6 15 18 2 20

    21 8

    19 5 10 27 2 8 18 6 24 3 23 20 13 15 14 22 26 7 1 12 25 16 11 9 21

    17 4

    19 7 25 18 2 9 5 10 27 24 15 13 17 3 16 11 12 20 22 4 26 1 21 8 14

    23 6

    51

  • 8/8/2019 Main Prjct Documentation

    52/65

    19 11 10 26 2 4 1 22 17 27 21 6 23 9 20 7 13 3 8 15 18 16 12 24 25

    5 14

    19 12 26 6 24 11 17 15 14 25 4 16 18 27 21 22 13 9 1 5 10 7 23 8 3

    20 2 19 16 15 5 21 7 12 4 11 23 27 9 3 1 10 13 14 24 8 22 17 25 18 6 2

    20 26

    19 27 25 11 20 4 22 24 18 21 6 2 17 9 8 12 7 13 1 26 15 16 23 5 10

    3 14

    20 1 21 17 27 24 13 4 5 7 18 26 14 19 9 16 3 15 8 2 6 12 10 23 22

    25 11

    20 5 9 6 1 12 11 19 13 3 25 23 10 27 7 22 18 21 26 15 16 8 14 24 2

    4 17

    20 7 8 26 10 13 22 2 21 16 14 25 18 23 15 19 5 4 6 12 1 17 11 24 3

    27 9

    20 15 7 3 13 24 27 4 19 21 18 26 14 5 23 16 17 1 8 2 6 12 10 9 22

    11 25

    20 21 8 26 10 27 22 2 7 16 14 11 18 9 1 5 19 4 6 12 15 3 25 24 17

    13 23

    21 4 9 2 5 27 22 19 3 13 15 24 10 23 11 26 18 17 8 25 1 7 14 12 20

    16 6

    21 8 25 18 17 19 2 3 27 5 23 20 6 11 15 10 22 13 16 1 9 7 14 24 12

    4 26

    21 12 13 6 1 11 10 15 23 25 3 16 2 27 19 22 26 9 24 5 17 7 14 8 4

    20 18

    21 16 1 22 13 3 18 27 19 17 11 12 26 15 23 6 2 5 4 9 25 7 14 20 24

    8 10

    21 20 17 10 25 23 26 11 15 9 19 8 22 3 27 18 6 1 12 13 5 7 14 4 16

    24 2

    21 23 10 22 2 16 12 9 14 25 26 5 11 1 8 6 19 7 27 13 17 20 15 4 3

    24 18

    52

  • 8/8/2019 Main Prjct Documentation

    53/65

    21 24 5 26 9 15 6 23 11 1 27 4 18 19 3 2 10 25 20 17 13 7 14 16 8

    12 22

    22 5 14 20 7 27 2 24 6 8 16 17 12 25 11 15 13 4 1 18 23 19 26 10 3

    21 9 22 12 8 16 14 7 13 17 20 25 10 2 3 19 18 4 27 1 11 23 6 15 9 26 5

    24 21

    22 12 8 16 14 21 27 3 20 11 10 2 17 5 18 4 13 15 25 9 6 1 23 26 19

    24 7

    22 18 5 15 12 27 17 8 13 26 21 2 24 1 19 23 9 3 11 20 4 6 25 7 10

    16 14

    22 19 14 20 21 13 2 24 6 8 16 3 12 11 25 1 27 4 15 18 9 5 26 10 17

    7 23

    22 24 5 4 1 21 26 27 11 15 3 18 7 17 2 8 16 23 14 25 19 9 12 10 6

    20 13

    22 24 19 4 15 7 26 13 25 1 17 18 21 3 2 8 16 9 14 11 5 23 12 10 6

    20 27

    23 3 18 2 26 24 13 6 25 15 21 22 19 5 8 7 1 11 20 27 10 12 16 4 17

    9 14

    23 7 17 10 26 5 9 18 15 4 27 1 25 11 12 3 16 8 6 24 2 13 21 20 14

    19 22

    23 9 18 15 26 20 10 22 4 11 19 8 1 27 14 6 2 7 13 16 17 12 3 5 21

    25 24

    23 13 17 24 25 3 15 12 6 4 19 5 1 9 18 11 14 16 7 2 22 27 10 26 8

    21 20

    23 15 17 3 8 24 6 4 10 21 22 26 25 5 20 16 7 1 13 2 27 12 19 9 18

    11 14

    23 16 2 22 4 3 25 27 14 17 24 12 10 15 21 6 1 5 13 9 18 7 19 20 11

    8 26

    24 7 4 6 26 17 18 22 21 8 14 9 2 15 11 27 13 16 10 20 25 5 23 12 19

    3 1

    53

  • 8/8/2019 Main Prjct Documentation

    54/65

    24 11 7 19 17 12 3 16 27 21 2 6 14 13 15 8 5 25 4 22 10 20 26 1 18

    23 9

    24 21 4 6 26 3 18 22 7 8 14 23 2 1 25 13 27 16 10 20 11 19 9 12 5

    17 15 24 25 21 5 3 12 17 16 13 7 2 6 14 27 1 8 19 11 4 22 10 20 26 15 18

    9 23

    25 4 18 2 8 13 15 5 14 27 20 24 6 9 7 26 23 3 19 11 22 21 17 12 1

    16 10

    25 8 1 22 17 3 16 6 7 4 13 15 9 27 2 19 26 5 10 24 11 21 20 23 14

    12 18

    25 9 27 13 16 20 26 8 6 7 2 10 15 3 12 4 21 23 19 18 5 24 17 11 22

    1 14

    25 11 22 9 10 12 6 2 8 1 17 16 23 5 14 26 18 21 19 4 27 24 13 3 7

    15 20

    25 13 22 18 10 20 19 26 15 9 7 2 17 3 16 21 23 1 12 5 6 24 4 8 27

    11 14

    25 19 27 20 15 13 9 24 26 8 17 3 23 11 22 1 14 4 21 18 2 5 6 10 16

    7 12

    25 21 27 6 10 3 11 22 9 8 5 23 15 1 24 13 4 16 26 20 18 19 7 12 14

    17 2

    26 3 20 15 25 5 16 23 9 8 10 6 14 27 1 24 7 12 2 22 11 4 18 19 17

    21 13

    26 4 12 24 14 7 9 1 16 13 22 10 15 11 6 20 23 5 27 3 2 19 17 18 25

    8 21

    26 4 12 24 14 21 23 15 16 27 22 10 1 25 6 20 9 19 13 17 2 5 3 18 11

    8 7

    26 8 11 20 19 7 18 9 13 5 1 6 21 15 10 12 24 17 14 27 25 3 4 22 2

    16 23

    26 8 25 20 5 21 18 23 27 19 15 6 7 1 10 12 24 3 14 13 11 17 4 22 2

    16 9

    54

  • 8/8/2019 Main Prjct Documentation

    55/65

    26 11 14 16 21 9 10 8 2 12 24 15 4 27 13 5 23 20 19 6 17 25 18 22 1

    7 3

    26 20 2 6 18 25 17 22 8 24 14 13 10 1 3 9 27 23 11 4 12 7 21 5 15

    16 19 26 25 14 16 7 23 10 8 2 12 24 1 4 13 27 19 9 20 5 6 3 11 18 22 15

    21 17

    27 3 9 23 24 16 18 12 2 21 10 22 5 1 4 20 7 17 25 6 11 8 15 13 26

    19 14

    27 7 9 2 22 1 13 26 3 12 11 17 5 19 8 23 20 24 18 16 6 25 21 4 14

    15 10

    27 13 26 3 22 4 2 10 12 19 15 24 17 11 14 18 6 7 25 20 9 8 23 1 21

    5 16

    27 20 6 10 12 23 5 11 14 9 16 8 2 3 21 18 17 1 25 13 26 7 15 4 19

    24 22

    27 23 26 6 22 16 25 18 5 3 21 10 15 1 24 7 17 19 4 11 2 8 20 12 9

    13 14

    27 25 9 16 5 23 3 8 18 12 15 1 17 13 26 19 14 20 7 6 10 11 2 22 24

    21 4

    27 25 21 13 26 23 17 5 10 20 11 22 15 1 2 4 8 16 3 6 12 24 19 9 18

    7 14

    55

  • 8/8/2019 Main Prjct Documentation

    56/65

    The difference triangle for the first sequence in the above results is as shown in the Table (5)

    56

    1 3 71

    52 5

    1

    1

    2

    3

    1

    88

    1

    76

    1

    3

    2

    7

    2

    6

    2

    4

    2

    0

    1

    2

    2

    5

    2

    2

    1

    64 9

    1

    9

    1

    0

    2

    1

    1

    4

    2 4 8

    -

    1

    3

    3 61

    2-5

    -

    1

    0

    9

    -

    1

    1

    71

    4-1 -2 -4 -8

    1

    3-3 -6

    -

    1

    2

    51

    0

    -

    9

    1

    1

    -

    7

    61

    2

    -

    5

    -

    1

    0

    91

    87

    -

    1

    5

    -1-

    2-4

    2

    1

    1

    3-3 -6

    -

    1

    2

    51

    0-9

    -

    1

    8

    -71

    51 2 4

    1

    4

    -

    1

    -

    2-4

    2

    1

    1

    3

    -

    3-6

    -

    1

    2

    51

    0

    1

    6

    1

    1-7

    -

    1

    4

    1 2 4

    -

    2

    1

    -

    1

    3

    3 61

    2

    -

    5

    1 2 4 8 16

    3 6

    -

    1

    7

    -5 19

    9 18

    7

    -

    1

    5

    -1 -2 -4 -8

    -

    1

    6

    -3 -6 17

    5

    4 81

    63 6

    1

    2

    -

    5

    -

    1

    0

    91

    87

    1

    4

    -

    1-2 -4 -8

    -

    1

    6

    -

    3-6

    -

    1

    2

    51

    0

    1

    6

    2

    0

    1

    1-7

    1

    51 2 4 8

    1

    63 6

    1

    2-5

    -

    1

    0

    -

    2

    0

    -

    1

    1

    7

    -

    1

    5

    -1 -2

    2

    2

    1

    51 2 4 8

    1

    63 6

    1

    2-5

    -

    1

    9

    9

    -

    1

    1

    -

    2

    2

    -

    1

    5

    -1-

    2-4 -8

    1

    75

    1

    0-9

    1

    1

    2

    2

    1

    51 2 4 8

    1

    63

    -

    2

    3

    -

    1

    7

    -5

    -

    1

    0

    9

    -

    1

    1

    71

    4

    -

    1-2

    2

    5

    2

    1

    1

    3-3 -6

    1

    75

    1

    0

    -

    9

    -

    1

    8

    -7

    -

    1

    4

    1 2

    1

    63 6

    1

    2

    2

    4

    1

    99

    -

    1

    1

    71

    4-1 -2

    -

    4-8

    -

    1

    6

    -3 -6

    51

    0

    2

    0

    1

    1

    2

    2

    1

    51 2 4 8

    -

    1

    3

    3 6

    -

    1

    7

    -5

    -

    1

    0

    1

    2

    2

    4

    1

    9 9

    1

    8 7

    1

    4 -1 -2

    -

    4 -8

    1

    3

    -

    3 -6

    -

    12

    2

    6

    2

    3

    1

    75

    1

    0

    2

    0

    1

    1-7

    -

    1

    4

    1 2 4 8

    -

    1

    3

    2

    5

    2

    1

    1

    3-3

    2

    3

    1

    75

    -

    1

    9

    -91

    1-7

    1

    51

    2

    3

    1

    75

    1

    0

    2

    0

    1

    1

    -

    7

    -

    1

    4

    1 2 4 8

    1

    9

    91

    8

    71

    4

    -

    1

    -

    2

    -4 -81

    3

    -3

    1

    1

    2

    2

    1

    51 2 4 8

    -

    1

    3

    3 6

    2

    4

    1

    99

    -

    1

    1

    71

    4

    -

    1-2 -4

    2

    1

    1

    3

    -

    3-6

    1

    75

    1

    0-9

    1

    51 2 4 8

    1

    63

    3 61

    2-5

    1

    99

    81

    63 6

    1

    21 1

  • 8/8/2019 Main Prjct Documentation

    57/65

    Table (5) Difference triangle for N = 27

    57

  • 8/8/2019 Main Prjct Documentation

    58/65

    58

    j 1 2 3 4 5 6 7 8 91

    0

    1

    1

    1

    2

    1

    3

    1

    4

    1

    5

    1

    6

    1

    7

    1

    8

    1

    9

    2

    0

    2

    1

    2

    2

    2

    3

    2

    4

    2

    5

    2

    6

    i

    1

    2

    3

    4

    5

    6

    7

    8

    9

    1

    0

    1

    11

    2

    1

    31

    4

    1

    5

    1

    61

    7

    1

    8

    1

    9

    2

    0

    2

    12

    2

    2

    3

    2

    4

    2

    5

    2

    6

    2

    7

  • 8/8/2019 Main Prjct Documentation

    59/65

    Figure 4.1 Costas array for N = 27 using Welch construction

    4.2 Conclusions

    Thus, the obtained Costas arrays for length, N = 27 are listed in the results above. As said

    earlier, the side lobe level for Costas array of length N is given by 1/N, there is a need to find

    Costas arrays for greater lengths. So, in future the Costas arrays for greater values are expected

    to be found.

    59

  • 8/8/2019 Main Prjct Documentation

    60/65

    APPENDIX A

    The different intermediate functions that are used in the matlab code for Welch1

    construction are given below.

    1) primelem.m

    function out=primelem(p) %primelem(p) generates primitive elements for a p or q.

    Generates the primitive elements for an input prime p, or

    power of prime q. These can be used in Costas arrayconstructions such as Golomb & Welch. For prime

    numbers the function outputs a vector of elements. For

    prime powers the function outputs rows of polynomials,

    which express decreasing powers of x.

    if IsNotAPrimePower(p) % error if not prime or prime power

    error('not a prime or power of a prime')

    endif isprime(p) % case for prime numbers

    pe=FindFirstPrimitiveElement(p);

    out=PrimitivesElementsForPrime(p,pe);

    else % case for prime powers

    n=length(factor(p)); % obtain n from value entered

    p=unique(factor(p)); % obtain p from value entered

    q=p^n; % rename original p to q for clarity

    nm1=n-1; % set n-1 as it's used repeatedly

    irr=fliplr(gfprimfd(n,'min',p)); % get irreducible polynomials

    x=[zeros(1,n-2) 1 0]; % i.e. if n=2 x = [1 0]

    ph=round((q-1)*prod(1-1./unique(factor(q-1)))); % Eulers totient (phi) function

    pr=GenerateXTable(q,x,irr,nm1,p,n);

    60

  • 8/8/2019 Main Prjct Documentation

    61/65

    out=PrimitiveElementsForPrimePower(ph,n,x,q,pr);

    end

    function out=IsNotAPrimePower(p) % check if p is a prime power

    out=length(unique(factor(p)))~=1;function num=FindFirstPrimitiveElement(p) % find the first element which is primitive in

    GF(p)

    for num=2:p-1,

    test=num; % set number to be tested

    for i=1:((p-1)/2),

    test=mod(num*test,p); % raise the number to successive powers

    if test==1; % if it becomes 1 before a full cycle

    break; % then it is not primitive

    end % so break and test next number

    end

    if test~=1 % if test never takes value 1 then

    break; % we have found the 1st primitive

    end % element, so move on

    end

    function out=PrimitivesElementsForPrime(p,pe) % obtain all primitive elements from firstprimitive element

    c=zeros(1,p-1); % allocate space for the primitives

    c(1)=pe; % first primitive is the one from above

    for i = 2:p-1

    c(i) = mod(pe*c(i-1),p); % take successive powers to get others

    end % gcd finds index of primitives

    out=unique(sort(c(gcd(1:p-2,p-1)==1)));

    function pr=GenerateXTable(q,x,irr,nm1,p,n) % generate the table for x

    pr=zeros(q-2,n); % allocate space for x table

    pr(1,:)=x;

    for i=2:q-2

    61

  • 8/8/2019 Main Prjct Documentation

    62/65

    [u v]=deconv(conv(pr(i-1,:),x),irr); % raise to next power and

    vl=length(v); % express in wanted terms

    v=v(vl-nm1:vl);

    pr(i,:)=mod(v,p);end

    function prim=PrimitiveElementsForPrimePower(ph,n,x,q,pr) % find the primitive elements

    prim=zeros(ph,n); % allocate space for the primitives

    prim(1,:)=x; % x is always primitive

    count=2; % counter for primitives

    for i=2:q-2

    if (gcd(i,q-1)==1) % check each row and add to

    prim(count,:)=pr(i,:); % list if primitive

    count=count+1; % update counter if 1 is found

    end

    end

    2) minimal.m

    function out=minimal(A) %minimal(A) replaces arrays with minimal flip or rotation.

    Replaces input arrays with their flip or rotation which isminimal, then returns sorted unique arrays. All input arrays

    must be of the same length.

    nrows=size(A,1);

    for i=1:nrows

    x=dsyms(A(i,:));

    A(i,:)=x(1,:);

    end

    out=unique(A,'rows');

    3) circshifts.m

    function out=circshifts(A) %circshifts(A) generates circular shifts of arrays

    62

  • 8/8/2019 Main Prjct Documentation

    63/65

    Generates all unique circular shifts of input arrays.

    [numarrays length]=size(A);

    arrays=zeros(numarrays*length,length);

    arrays(1:numarrays,:)=A;for i=1:length-1

    A=[A(:,2:end) A(:,1)];

    arrays(numarrays*i+1:(numarrays*i)+numarrays,:)=A;

    end

    out=unique(arrays,'rows');

    4) dsyms.m

    function out = dsyms(A) %dsyms(A) generates all rotations and flips of arrays.

    Generates the family of arrays in the dihedral symmetry

    class for the sequences in the input matrix (i.e. all rotations

    and flips).

    [num,N]=size(A);

    [junk,A1]=sort(A,2);

    out=unique([A;fliplr(A);N-A+1;fliplr(N-A+1);A1;fliplr(A1);N-A1+1;fliplr(N-A1+1)],'rows');

    5) iscostas.m

    function out = iscostas(A) %iscostas(x) tests sequence to see if Costas condition is

    satisfied. Tests sequence to see if it contains unique vectors

    between pairs of dots (does not test to see if sequence is

    permutation sequence). Also tests multiple rows of

    sequences of the same length, returning a column of 1's and

    0's.1 indicates condition is satisfied, 0 not satisfied.

    [num,len]=size(A);

    conv2check=(exist('conv2','builtin')= =5);

    out = false(num,1);

    for i = 1:num

    63

  • 8/8/2019 Main Prjct Documentation

    64/65

    if AllElementsAreUnique(A(i,:))

    out(i)=true;

    end

    j=0;runto = ceil(len/2)-1;

    while out(i) && (j

  • 8/8/2019 Main Prjct Documentation

    65/65

    out=A(iscostas(A),:);

    if size(out,1)