You are on page 1of 93

FINAL YEAR PROJECT

Development of Tools for


Radar System Analysis

This Project is submitted Partial fulfillment of the requirements for the degree of
Bachelor of Engineering in Electrical Engineering
at
University of Newcastle, Australia

Submitted by
TAN Peng Huat C3100923

Uon Supervisor
A/Prof Jamil Khan
PSB Supervisor
LEE Kar Heng

Page 1
TABLE OF CONTENT
Cover Page 1

Table of Table 2

List of Figures 4

List of Tables 6

Abstract 7

Acknowledgement 8

Chapter 1 Introduction

1.1 Chapter Overview 9

1.2 Project Objectives 9

1.3 Project Description 10

1.4 Project Scope 10

1.5 Approach 11

1.6 Report Organization 12

Chapter 2 Literature Review

2.1 Chapter Overview 13

2.2 Mathematical Model of a Basic Radar System 13

2.3 The Radar Range Equation 18

2.4 Simulation of Radar System 25

Chapter 3 Radar Performance Analysis and Simulation

3.1 Radar Cross Section (RCS) 27

3.2 The Radar Simulation 28

3.3 Probability of Detection 32

3.4 Target Types 35

3.5 Beamforming 41

Page 2
3.6 Pulse Compression and Matched Filtering 46

Chapter 4 Simulation and Modeling

4.1 Introduction 51

4.2 The Simulation Model 53

4.3 The Simulation 58

Chapter 5 Performance Analysis

5.1 Running the Radar Simulator 62

5.2 Testing with Experimental Data 66

Chapter 6 Conclusion

6.1 The Project Description 70

6.2 Meeting Project Objectives 70

6.3 Problem Encountered 71

6.4 Summary 71

Reference 72

Appendices 74

Page 3
LIST OF FIGURES
Figure 1.1 Illustration of the Radar system Using the Completed Development
tool 10

Figure 2.1 Pulse Radar Operation 13

Figure 2.2 Range Ambiguity Illustration 15

Figure 2.4 Range Resolution Illustration 16

Figure 2.5 Doppler Effect Illustration 17

Figure 2.6 Illustration of Friis Transmission Equation 20

Figure 2.7 A Practical Operational Scenario 22

Figure 2.8 Signal Processing of Received Signals 23

Figure 3.1 RCS Dependency on Aspect Angle 27

Figure 3.2 Vertical, Horizontal and Circular Polarization 28

Figure 3.3 Maximum Detection Range with Different RCS and Fixed SNR 30

Figure 3.4 SNR Required at Specified Detection Range for 3 Targets 32

Figure 3.5 Pd vs Pfa 34

Figure 3.6 Different Types of Swerling Targets 35

Figure 3.7 Swerling I Target 36

Figure 3.8 Swerling II Target 37

Figure 3.9 Swerling III Target 37

Figure 3.10 Swerling IV Target 38

Figure 3.11 Comparison of Detection Performance of Swerling Targets 39

Figure 3.12 Transmit Beamformer 41

Figure 3.13 Receive Beamformer 42

Figure 3.15 The Delay and Sum Beamformer 45

Figure 3.16 DOA Results 46

Page 4
Figure 3.17 A LTI Block Diagram 47

Figure 3.19 RF Pulse and Matched Filter Output 49

Figure 4.1 Block Diagram of a Simulation Model 53

Figure 4.2 Data Flow in the Simulated Radar Signal Processing 54

Figure 4.3 The Antenna Coordinates 55

Figure 4.4 Array Antenna Geometry 56

Figure 4.5 The Simulated Radar System 58

Figure 4.6 The Simulation Model 60

Figure 5.1 The Simulated Radar System 63

Figure 5.2 Target Definition Block 64

Figure 5.3 Display of the Simulated Target Signal in the Presence of Noise 64

Figure 5.4 Display of Signals after Pulse Compression and Conventional


Beamformer 65

Figure 5.5 Display of Signals after MUSIC Beamforming 66

Figure 5.6 The Radar Used in the Simulator with Experimental Data 66

Figure 5.7 Radar Display onbard the Coast Guard Vessel 67

Figure 5.8 Received Radar Signal Generated from the Recorded Data 68

Figure 5.9 Received Radar Signal after Pulse Compression 68

Figure 5.10 Received Radar Signal after Beamforming 69

Page 5
LIST OF TABLES
Table 2.1 Design Parameters Related to the Radar Equation 24

Table 3.1 Maximum Detection Range with Different RCS and Fixed SNR 30

Table 3.2 SNR Required at Specific Detection Range for 3 Targets 31

Table 3.3 Table of PD vs Pfa 33

Table 3.4 Probability of detection for different types of Swerling targers 36

Table 3.5 Simulation Results for Swerling Target Types 40

Page 6
ABSTRACT
When radar systems were first implemented, engineers were solving

complex mathematics and building prototypes to evaluate the performance of

the systems. The design process took long time to complete. Nowadays, radar

systems are becoming more complex and hence, evaluation of designs is now

more complex. A development tool for demonstration of design is therefore

required to evaluate and test the design of radar system. This tool can also be in

the education of relevant engineering topics such as beamforming, direction-of-

arrival (DOA) estimation and Doppler filtering. In addition, studies of a typical

radar system can also be made possible.

MATLAB and Simulink have been selected to develop the radar system

development tool due to its simplicity in programming and block diagram

system level simulation.

A set of tools developed using MATLAB and Simulink have been

designed and tested with validated results. The author is pleased that a

practical trial had been made possible to validate the simulated results with

actual practical system.

Page 7
ACKNOWLEDGEMENT
The author would like to take this opportunity to express his gratitude to

all individuals who have assisted him in the project. The author is greatly in

debt to his project supervisors, Associate Professor Jamil Khan of the

University of Newcastle, Australia and Mr. Lee Kar Heng of PSB, Singapore,

for their guidance, enlightenment, encouragement and generous advice, without

which the project would not be possible. The author also thanks the FYP

coordinators for their fruitful discussions and fine coordination.

Equally important, the author wishes to extend his appreciate to all staff

from the University of Newcastle and School of Engineering who had in one

way or another make this project an enjoying experience.

Last but not least, the author would like to thank one Government

Agency (cannot be named due to confidentiality) for allowing him to use some

measured results so that validation against simulated results can be made. In

order to obtain the measured results, the radar was made to operate in certain

modes that were not usually used in daily operations.

Page 8
CHAPTER 1 INTRODUCTION

1.1 CHAPTER OVERVIEW

This chapter documents the objectives, aims and scope of the project.

Objectives and aim defines the purpose and the final output of this project

respectively and scopes of the project indicate the expectations of the project,

what are supposed to be delivered at the end of the project.

1.2 PROJECT OBJECTIVES

The objectives of this project include investigations, design, simulation

and development of a complete development tools using MATLAB and

Simulink. The development tool allows users to configure a radar system with

different antennas, transmitter, receiver, and other subsystems. A series of plots

will be presented for user to analyse the performance of the system design.

The project also aims to simulate a typical entire radar system into model

through the use of the developed tool and predict the behaviour of system’s

output.

To achieve this main objective, three sub-objectives were identified, they

 Analyse, research and carry out simulations of radar equations,

algorithm related to the radar system. This allows the author to

understand the working principles of a typical radar system (Part

A),

 Conduct a detailed study of radar signal processing (Part A, Part

B), and

Page 9
 Develop the simulink models and write MATLAB programs for

various radar system components. These components can be

connected to give a complete radar system. The development tool

will then simulate the entire radar system and present plots for

users to performance analyse and evaluation (Part B).

1.3 PROJECT DESCRIPTION

This project is based on the Matlab and SIMULINK model which is used

to simulate a complete radar system shown in Figure 1.

Figure 1.1 Illustration of the Radar System Using the Completed


Development Tool

1.4 PROJECT SCOPE


This project primarily focuses on the development of a radar system

simulation using MATLAB and Simulink.

Page 10
This report presents the experience and knowledge acquired in the

development of the radar simulation tool by the author throughout the entire

duration of the final year project. It also presents the theories behind the system

and discusses the results obtained from the simulation. In addition, it also

documents the all the sub-systems in terms of the functionalities and signal flow

in the radar system. Finally, the report will end with a discussion and

recommendations for future work for this project.

The project scope for Part A shall include the following tasks:

1. Perform a literature research on radar system, radar block diagrams,

propagation model for radar and their associated equations,

2. Evaluate the radar performance evaluation criteria, snf

3. Demonstrate important radar equations using MATLAB.

 investigate some of the important equations in the radar system

such as the radar equation, range resolution and many more.

 build and design the source code on MATLAB.

 perform simulation and obtain the simulated results for

verification against the designed and simulated data.

1.5 APPROACH
In order to complete the project successfully, the following tasks have to

be planned and carried out, they are to

 perform a literature review of radar system theories and simulation

techniques,

 carry out research on radar design considerations and issues by using

MATLAB and SIMULINK simulation software,

Page 11
 carry out a detailed study on signal processing theories in the radar

system,

 be familiar with MATLAB and SIMULINK programming, and

 test the system.

1.6 REPORT ORGANIZATION


Chapter 1 Introduction ‐ Discuss objective of the project, project description,

project scope, and proposed approach.

Chapter 2 Literature Review - reviews the theory and mathematical equations

relating to radar system. This chapter also presents basic theory and

terminology of simulation methods.

Chapter 3 Detailed Radar System Description and Simulation - In this chapter,

the functions of the various components used in radar are explained so that they

can be used to create the MATLAB and SIMULINK model.

Chapter 4 Design of the Radar System Simulation Model – In this chapter, the

simulation concepts and equations are applied to develop a model and

simulation is carried out.

Chapter 5 Result Analysis – This chapter discusses the results obtained from

the developed tool and a comparison against measured data from a radar trial is

presented

Chapter 6 Conclusion – This chapter summarise the FYP project progress.

Difficulties faced in the project and future goals are also set in this chapter.

Page 12
CHAPTER 2 LITERATURE REVIEW
2.1 CHAPTER OVERVIEW

Literature review and surveying of existing work on radar system and

radar signal processing theories, mathematical representations, a survey of

simulation techniques are carried out before developing the simulation tool. The

sources of information are gathered from reference books, technical papers and

the internet with reliable sources.

2.2 MATHEMATICAL MODEL OF A BASIC RADAR SYSTEM

In general, the radar system will simultaneously transmit a pulse and a

synchronised clock. When the pulse hits a target, a return pulse is sent back to

the system, as illustrated in Figure 2.1. From the received signal, the distance of

the target from the radar can be calculated. With successive returns, the

direction and velocity of the target can also be determined.

Returned
Signal

Transmitted R
Signal

Radar

Figure 2.1 Pulse Radar Operation

Page 13
Since the electromagnetic waves travel in the space at the speed of light,

c = 3 x 108 m/sec, then the range is,


c.tdelay
R (2.1)
2
where R is the range in meters and tdelay is the time difference between the

transmitted signal and the received echo in seconds. The factor of ½ is to

account for the two-way time delay.

Figure 2.2 shows the timing relation between the transmitted and

received pulses which demonstrates that range is a function of the delay

between the received pulse and transmitted pulse.

Pulse 1 Pulse 2 Pulse 3


Transmitted
Pulses
 time

PRT

Received Pulse 1 Pulse 2 Pulse 3


Pulses echo echo echo
time
tdelay

Figure 2.2 Transmitted and Received Pulse Train

During each Pulse Repetition Time or Interval (PRT/PRI), the radar radiates

energy only for  seconds and listens for target returns for the rest of the PRT.

Hence the radar average power is then

  
Pav  Pt    Pt . .PRF (2.2)
 PRI 
where Pt denotes the peak transmitted power and Pulse Repetition Frequency

(PRF),
1
PRF  (2.3)
PRT

Page 14
2.2.1 Range Ambiguity

The range that corresponds to the two-way time delay is the radar

unambiguous range, Ru [2]. Consider the case where two targets are detected by

the radar, as shown in Figure 2.3.

Pulse 1 Pulse 2
Transmitted
Pulses

PRT

Received
echo 1 echo 2
Pulses

tdel ay tdel ay
(R )
1
Ru

R2

Figure 2.3 Range Ambiguity Illustration

Echo 1 represents the radar return from a target at range R1 = ctdelay/2 due to

transmitted pulse 1. Echo 2 can be interpreted as radar return from the same

target due to pulse 2 or a target at R2, such that


ctdelay
R2 
2
or (2.4)
c  PRT  tdelay 

2
Alternatively, echo 2 can also be the 2nd echo of the target at range R1.

Hence, there is range ambiguity associated with echo 2. The maximum

unambiguous range corresponds to half of the PRI, given by


1 c
Ru  c.PRT  (2.5)
2 2.PRF

Page 15
2.2.2 Range Resolution

Range resolution, denoted as R, describes the radar ability to detect

targets in close proximity as 2 distinct targets. That is, 2 close proximity targets

must be separated by at least R to be completely resolved in range. Consider 2

targets located at ranges R1 and R2, corresponding to time delays t1 and t2

respectively, the difference between the 2 ranges is


c c
R  R2  R1   t2  t1    t (2.6)
2 2
In order to distinguish the 2 targets, they must be at least 1 pulse width, ,

apart, hence the range resolution is defined as


c c
R   (2.7)
2 2B
where B is the radar bandwidth.
R1 R2

c
Received return return

Pulses target 1 target 2

c c
target 1 target 2

Figure 2.4 Range Resolution Illustration

2.2.3 Doppler Effects

In addition to range, radar is also capable to provide the radial velocity of

the target with respect to the radar position. This information is extracted from

the Doppler frequency shift between the transmitted signal and the received

echo. Figure 2.5 shows the frequency shift of the reflected signal by the motion

of the target with respect to the radar.

Page 16
RADAR
ANTENNA
INBOUND
ECHO
TRANSMIT
PULSE

OUTBOUND
ECHO

RADAR TOWER

Figure 2.5 Doppler Effect Illustration

For a target moving towards the radar, a positive shift of frequency

(apparent increase in the carrier frequency) results, while an outbound

movement gives a negative shift. The Doppler frequency, fd, can be obtained by

the following
2 vr f t 2 vr
fd   (2.8)
c 
where ft = transmitted frequency

vr = radial component of the target speed towards the radar

From Equation (2.8), the radial component of the target speed can be

computed.

2.2.4 Pulse Repetitive Frequency

For a single pulse radar, the required maximum unambiguous range, Ru

will determine the maximum PRF, such that,


c
PRF  (2.9)
2 Ru ,max

Page 17
Selection of PRF will be based on the required range and Doppler

ambiguity that is described as follows [3]:

 High PRF radar is unambiguous in Doppler but highly ambiguous in

range since it meets the Nyguist sampling criterion for Doppler shift of all

targets designed to detect but there is little time between pulses for

ranging.

 Medium PRF radar may be ambiguous in both Doppler and range since it

samples too fast for echoes from long range but too slow to Nyguist

sample the Doppler shift of all targets. Medium PRF however has the

best of both worlds, a compromise performance between unambiguity in

Doppler and range.

 Low PRF is unambiguous in range but high ambiguous in Doppler since

it waits until the last transmitted pulse arrives before the next

transmission.

Different PRF is used in different application such as Low PRF or

Medium PRF is suitable for detection of vessels while High PRF is used in

detecting air targets. Hence careful selection of PRF will also result in better

tracking performance since one must be able to detect a target before tracking it.

2.3 THE RADAR RANGE EQUATION

The radar range equation (or The Range Equation or The Radar Equation)

provides an indication on the ability of the radar to detect the presence of a

target, which affects the tracking capability of the radar. The tracking capability

Page 18
is also affected by other factors such as the accuracy of the plot-to-track

association, filtering and prediction algorithms.

2.3.1 Derivation of the Equation

The derivation is based on the famous Friis Transmission Equation [4].

Consider a radar with isotropic radiation, i.e., radiation in all directions as from

the surface of a minute sphere, the power density per unit area is given by
Pt
Pisotropic  (2.10)
4 R 2
where Pisotropic = radiation power density of the isotropic radiation [W/m2]

Pt = the peak power in the transmitted pulse

R = distance from the transmitter to the target

4R2 = the surface area of an imaginary sphere (the isotropic isolator)

with radius R

For a directional radar antenna (with higher gain in one direction), the

radiation power is given by


PG
Pdirectional  t t
(2.11)
4 R 2
where Pdirectional = radiation power density of the directional radar [W/m2]

Gt = the directional gain of the antenna measured in the direction

of the target

Assuming a target at distance R (as depicted in Figure 2.6) intercepts the

transmitted signal, the power re-radiated by the target is given by


Pt ,t arg et  Pradiated 
t t
PG (2.12)

4 R 2

Page 19
where  = radar cross section of the target that indicates the target size

viewed by the radar [m]

The amount of reflected power that is received by the radar, after a round

trip path, is therefore,


Pt ,t arg et
Preflected 
4 R 2
(2.13)
t t
PG

 4 R  2 2

ISOTROPIC
RADIATION

Pt
Pisotropic 
4R 2

Pt Gt
Pdirectional 
RADAR

4R 2
ANTENNA

G, Ae

R DIRECTIONAL
RADIATION

Pt Gt  Pt Gt 
Preflected  Pt ,t arg et 
4R  2 2 4R 2

Figure 2.6 Illustration of Friis Transmission Equation

The power received by the radar antenna is determined by its effective

aperture, given by

Page 20
t t Ae
PG
Pr  Pradiated Ae  (2.14)
 4 R 
2 2

Gr  2
but Ae 
4

t t Gr  
2
PG
therefore Pr  (2.15)
 4 
3
R4

Common radar installations use the same antenna for both transmitting

and receiving, therefore Gt = Gr = G, the received power is then expressed as

PG 
2 2
Pr  t
(2.16)
 4 
3
R4

It is observed that the simple form of radar equation, Equation (2.16), accounts

for not only the effects of each major parameters of the radar antenna but also

those of the target and environment.

2.3.2 The Complete Equation

The simple form of the radar range equation is useful in 1st order calculations.

For more accurate and realistic calculations, the following effects must be

considered [5]:

 Propagation medium and path

 Atmospheric noise

 System losses

 Thermal noise introduced within the radar

 Signal processing losses

 Other losses associated with particular configurations and applications

Page 21
Figure 2.7 presents a realistic operational scenario where the propagation

medium and environment are included. For simplicity, the loss factor, L,

accounts for all system, medium and propagation losses.

Figure 2.7 A Practical Operational Scenario

For a radar system with system temperature of 290K, the system noise

factor, Fn, is defined as


N o N i SNRi
Fn   (2.17)
So Si SNRo

where N and S indicate the noise and signal power levels and subscripts i and o

indicate the input from the antenna and output from the receiver respectively.

The equivalent thermal noise at the receiver input terminals is given by

the equation

Ni  kTB (2.18)

where k = Boltzman’s Constant

T = temperature

B = receiver bandwidth
Page 22
If the overall signal losses are grouped in terms of internal and external

loss, represented by LI and LE respectively, then L = LELI. It also follows that the

effective input signal power being defined as


Pr
Si  (2.19)
LE

and the output signal power is


Si APr AP
So  A   r (2.20)
Li LE LI L

where A represents the radar receiver power gain.

The output noise power is given as

No  AFn Ni (2.21)

By substituting equation (2.18),

No  AFn kTB (2.22)

The signal flow from the antenna input to the receiver output is depicted in

Figure 2.8.
RADAR
ANTENNA

A, B, T,Fn
SNRi SNRo
Pr, LE (Si, Ni) (So, No) TO
RADAR
A DATA
PROCESSOR

Local
Transmitter
Oscillator

RADAR TOWER RADAR SIGNAL PROCESSING

Figure 2.8 Signal Processing of Received Signals

Page 23
Finally, the complete radar equation in terms of losses is given by
So
SNRo 
No
(2.23)
A Pr L

AFn kTB

Substituting the simple radar equation (2.16) into (2.23) gives

PG 
2 2
SNRo  t
(2.24)
 4 
3
R 4 kTBFn L

From the complete radar equation, it is concluded that the difference

between the signal and noise power levels determine the detection performance.

To have better performance, a low noise receiver (low Fn) and minimum internal

and external losses are required in addition to high gain antenna and others.

Table 2-1 summarises the design parameters related to the radar range equation.

DESIGN PARAMETERS DESIGN CONSIDERATIONS


 Peak transmit power
Average Power (Pt)
 Allowable duty cycle
 Aperture size
Antenna Gain (G)
 Beamwidth
 Operating frequency
Wavelength ()
 Aperture size
 Low noise figure
System Noise Temperature (T)
 Signal processing gain
 Ohmic losses
System Losses (L)  Signal processing losses
 Atmospheric loss and clutter
Table 2.1 Design Parameters Related to the Radar Equation

From the Radar Equation and Table 2.1, it is concluded that radar

detection is contributed by many parameters.

Page 24
2.3.3 Maximum Detection Range

The maximum detection range of a target with a specified radar cross

section, , is obtained by rearranging the Radar Equation (2.24) as follows


1
 PG 
2 2 4
R t
 (2.25)
  4  kTBFn L  SNRo  
3

The maximum detection range is obtained smallest output signal-to-noise ratio

of a target can be obtained, in a given design and environmental factor.


1
 PG 
2 2 4
Rmax  t
 m (2.26)
  4  kTBFn L  SNRo min 
3

2.4 SIMULATION OF RADAR SYSTEM

In this project, simulation concept similar to that of MATLAB toolbox is

being employed. A toolbox has been developed to simulate radar system in

terms of radar signal processing, from signals received by the antenna array to

display of target information. In the context and due to limited time allocated,

only the signal processing in the spatial dimension in a radar using signals from

an antenna array is simulated. In real radars, more complex signal processing

and data processing are used, these include Kalman filtering techniques,

correlation and estimation methodologies.

MATLAB is a programmable software for numerical computations and

data visualization used in many modules taught in the Engineering program.

The author has been introduced to MATLAB and Simulink in various taught

modules and hence, MATLAB is chosen to be the development platform for the

simulation tool.

Page 25
The objectives of the simulation tool are to provide radar engineers and

educators a useful and reliable platform in the research on radar array

processing, to perform array processing on measured radar signals, to support

cooperation in development of software tools and to serve as a software

demonstrator.

Page 26
CHAPTER 3 RADAR PERFORMANCE ANALYSIS
AND SIMULATION

3.1 RADAR CROSS SECTION (RCS)


The term Radar Cross Section (RCS) is used to describe the amount of

scattered power from a target towards the radar, when the target is illuminated

by the RF energy. Electromagnetic waves, with any specified polarization, are

normally diffracted or scattered in all directions when incident wave hit on a

target. The intensity of the backscattered energy that has the same polarization

as the radar’s receiving antenna is used to define the target RCS.

3.1.1 RCS Dependency on Aspect Angle

The target’s RCS fluctuates as a function of radar aspect angle. In Figure

10.1, two unity scatters of 1 m 2 each are aligned and placed along the radar line

of sight contributing to the zero aspect angle at a range R. This composite RCS

consists of the superposition of the two individual radar cross sections which is

2 m 2 . When the aspect angle varies, the composite RCS is modified by the phase

between the two scatters.

Radar line of sight

1m

Radar line of sight

Figure 3.1 RCS dependency on aspect angle

Page 27
It is therefore important to note that target returns may vary due to own

movement and/or target’s movement.

3.1.2 RCS Dependency on Polarization

The radiation field of an antenna is composed of electric and magnetic

lines of force. These lines of force are always right angles to each other. The

electric field determines the direction of polarization of the wave. When a

single-wire antenna is used to extract energy from a passing radio wave,

maximum pickup will be resulted when the antenna is oriented in the same

direction as the electric field. There are three types of polarization, namely the

vertical, horizontal and circular polarization shown in Figure 3.2.

Vertical Horizontal Circular

Figure 3.2 Vertical, Horizontal and Circular Polarization

It is important to note the change in RCS when the polarization of the

radar antenna changes. This is because it will affect the detection performance.

3.2 THE RADAR EQUATION


In Chapter 2, the radar equation which describes the fundamental

relationship between the characteristics of the radar, the target, and the received

signal which is computed in equation is derived. Section 3.1 discusses the

Page 28
importance of RCS in radar performance. This section presents the detection

range performance when RCS varies. The radar equation is given as follow:

PG 
2 2
Pr  t
(3.1)
(4 ) kTe BFLR4
3

where Pr is the return power, Pt is the transmitted power, G is the gain of the
antenna,  is the wavelength,  is the radar cross section, kTe B is the input
noise power, L is the radar losses and R is the total distance from the
transmitting antenna to the target and vice versa.

The maximum range and minimum SNR can be calculated by

manipulating the radar equation,

1
 PG 
2 2
4
RMAX   t
 (3.2)
 (4 ) kTe BF  SNR  
3

This radar detection performance is evaluated as RCS changes. A

MATLAB program has been written to obtain the amount of SNR needed for

maximum range detection when RCS varies. In the simulation, two other

targets with difference RCS are included, hence a total of 3 targets with different

RCS are used.

Table 3.1 shows the maximum detection ranges of the 3 targets with

different RCS, a fixed SNR is used throughout this . With this table, it can be

concluded that RCS plays a very important role to determine the maximum

range detected.

Page 29
SNR (dB) Range (km)
136.1 (Default RCS)
12 76.52 (RCS - delta1)
181.5 (RCS + delta2)

85.86 (Default RCS)


20 48.28 (RCS - delta1)
114.5 (RCS + delta2)

Table 3.1 Maximum Detection Range with Different RCS and Fixed SNR

Figure 3.3 Maximum Detection Range with Different RCS and Fixed SNR
Page 30
The required SNR can be calculated by manipulating the equation,

PG 
2 2
SNR  t
(3.3)
(4 ) kTe BFLR4
3

The next simulation shows how much SNR is required for a fixed range

detection. This simulation also includes two target with different RCS. Table

3.2 shows the SNR required for a fixed range detection. From this table, it can

be concluded that RCS varies proportionally with the SNR.

Range (km) SNR (dB)


26.25 (Default RCS)
60 21.73 (RCS - delta1)
15.69(RCS - delta2)

14.19 (Default RCS)


120 9.42 (RCS - delta1)
4.91 (RCS - delta2)

Table 3.2 SNR Required at Specific Detection Range for 3 Targets

Page 31
Figure 3.4 SNR Required at Specific Detection Range for 3 Targets

3.3 Probability of Detection


The probability of detecting a target is affected by its randomness, the

probability of detection, PD, defines the probability of detection a given target at

a given range when the antenna beam passes the target. In this project, the

probability of detection has been studied to understand the randomness in the

detection.

Page 32
PD is mathematically defined as the probability that a sample of the signal r (t )

exceeded the threshold VT when noise plus signal are present in the radar.

 r  rA   r2  A2 
PD    dr
VT  2 0   2 
I exp (3.4)
   22 

PD  0.5  erfc   InPfa  SNR  0.5  (3.5)

where the complimentary error function is

z
2
 e dv
v
erfc( z )  1 
2
(3.6)
 0

From Equation (3.5), Table 3.3 gives the samples of single pulse SNR corresponding to
few values of PD and Pfa .

Table 3.3 Table of PD vs Pfa

Page 33
This simulation show plots of the probability of detection, PD , versus the

single pulse SNR, with the probability of false alarm, Pfa , as a parameter, which

correspond to Table 3.3. Pfa ranges from 102 on the extreme left to 1012 right of

the plot. From the plot, we can conclude that the amount of SNR needed to

achieve a fixed amount of probability of detection is greater when the

probability of false alarm get smaller.

Figure 3.5 PD vs Pfa

Page 34
3.4 TARGET TYPES

Target fluctuates when a radar system detecting a fluctuating target

indicates that the probability of detection will decrease, or equivalently the SNR

will reduce due to the RCS of the fluctuating target varies irregularly.

Fluctuating targets can be categorized into for different types of Swerling which

are illustrated in Figure 3.6

Figure 3.6 Different Types of Swerling

The expression for the probability of detection for the different types of

Swerling targets are tabulated in Table 3.4. Figure 3.6 to Figure 10 show the

probability of detection of the 5 Swerling target types when the number of

pulses is changed from 1 to 100.

Page 35
Swerling
Expression
Type

 

np 1
 
1  V 1 np SNR 
PD  1  I VT , np  1  1 
VT
I  , np  1  e T
I  n SNR   1 1 
 p 
 n SNR 
 p 
 VT 
II PD  1  I  , np 
 1  SNR 
n 1
VT p eVT
PD  1   V , n  1  K0
III
1  np SNR 2 np  2! I T p
  SNR  np  np  1   SNR  np
2 np
 SNR   SNR 
IV PD  1   0    
 p 1 
n   2  ....   
 n  1  
  2   2  2!  2  p   2 

Table 3.4 Probability of detection for different types of Swerling targets

Figure 3.7 Swerling I Target

Page 36
Figure 3.8 Swerling II Target

Figure 3.9 Swerling III Target

Page 37
Figure 3.10 Swerling IV Target

Figure 3.11 shows the probability of detection of all the Swerling targets

when the SNR changes. It is shown that Swerling target type 4 give the largest

probability of detection when the SNR is larger than 4 dB.

Page 38
Figure 3.11 Comparison of detection performance of Swerling targets

Page 39
Types of SNR No. of
Pd
Swerling (dB) Pulse
23.85 1
I 0.9 15.26 10
10.12 50
8.34 100
23.12 1
II 0.9 7.64 10
1.73 50
-0.37 100
19.11 1
III 0.9 10.63 10
5.61 50
3.74 100
19.62 1
IV 0.9 7.23 10
0.89 50
-1.52 100

Table 3.5 Simulation results for Swerling Target Types

In general, the Swerling 2 and 4 target types give the largest Pd for a

given SNR, Swerling 1 target gives the lowest Pd and SW3 is somewhere

between the other three. The target RCs for Swerling 1 and 2 fluctuate

considerably, thus both noise and RCS fluctuation affects the threshold crossing,

whereby Swerling 3 and 4 consist of predominant scatter, therefore, the

threshold crossing for these target types are affected by RCS fluctuation, but not

to the extent of Swerling 1 and 2 targets.

Page 40
3.5 BEAMFORMING
Beamforming and direction of arrival (DOA) techniques are presented in

this section.

3.5.1 Beamforming Concept

In beamforming, the phase and the amplitude of each antenna element

are controlled. The combined relative amplitude ak and phase shift k is the

complex weight wk. A beamformer for a radar transmitter applies the complex

weight to the transmit signal for each antenna element


antenna
element

power
amplifier

w1 w2 w1 w1

1 2 3 1 beamformer

a1 a2 a1 a1

baseband
Modulator
signal

carrier
oscillator

Figure 3.12 Transmit Beamformer

Page 41
A beamformer for a radar receiver applies the complex weight to the

signal from each antenna element and sum them into one that has the desired

directional pattern
antenna
element

w1 w2 w1 w1

1 2 3 1

a1 a2 a1 a1

beamformer

Summing Network
(power combiner)

Receiver

Figure 3.13 Receive Beamformer

3.5.2 Digital Beamforming

In digital Beamforming, the phase shifting and amplitude scaling for each

antenna element and summation for receiving are carried out digitally. The RF

signals are converted to baseband so that general purpose DSP or dedicated

beamforming chip can be used. The receiver functionality is implemented using

software rather than hardware.

Page 42
3.5.3 Beamforming DOA Algorithm

Adaptive array and smart antennas adapt to environment automatically

while retaining the desired signal beam characteristics. DOA estimation is an

important function in adaptive array applications. Given the DOA estimate of

the target, the radar can direct its energy to the target to improve the detection

performance. In this experimental setup, the Least-Mean-Square (LMS) method

is used.

The LMS equation from the pre-set array vectors with FFT output is

derived. Let the FFT output of the antenna elements (2 in this experiment) be

x  e j1 , e j2 


(3.7)
where 1, 2 = phase at element

Let the pre-set array vector that spans coverage from 0 to 180 be a(, f)

where f = frequency and  = azimuth. Equating the array output x to the array

vector a gives the LMS equation,

J  x  a  , f 
2

(3.8)

J will indicate the peak value at the DOA of the input (minimum error, so

to speak). Plotting J

clearly.

Page 43
3.5.4 The Beamforming and DOA Simulation

The signal detection is simulated with 5 targets detected at 34, 57, 1,

92 and 124.

FFT O/P (Magnitude vs. Frequency)


before
Threshold Detection

FFT O/P (Magnitude vs. Frequency)


after
Threshold Detection

Threshold
Setting

X
Threshold
Setting
1

Threshold Detection
Process Flow Diagram

Threshold Detector O/P

Figure 3.14 The Signal Detection Process

In the simulation, the transmitter sends the computed beamformer output

power to the host computer for display. The receiver receives all the required

data from the DSD memory module and stores them into memory.

Page 44
The covariance, beamformer and multiplier blocks implement the delay-

and-sum beamforming algorithm

x0 t 

Delay & Weight

0 & 0

x1t

Delay & Weight

1 & 1

 y t 
xm2t

Delay & Weight

m2 &m2

xm1t

Delay & Weight

m1 &m1

Delay and Sum Beamformer

Figure 3.15 Delay-and-Sum Beamformer

Page 45
The theoretical and measured results for targets with DOA of 92 and

124.
4
Theoretical Results:DOA 92 degree 4 Theoretical Results:DOA 124
x 10 x 10
7 7

6 6

5 5

4 magnitude 4
magnitude

3 3

2 2

1
1

0
0 20 40 60 80 100 120 140 160 180 0
0 20 40 60 80 100 120 140 160 180
angle(degree)
angle(degree)

Hardware Generated Results:DOA 92 degree Hardware Generated Results:DOA 124 degree


100 100

80 80

60 60
magnitude
magnitude

40 40

20 20

0 0

-20 -20
0 20 40 60 80 100 120 140 160 180 0 20 40 60 80 100 120 140 160 180
angle(degree) angle(degree)

Figure 3.16 Delay-and-Sum Beamformer

3.6 PULSE COMPRESSION AND MATCHED FILTERING


Consider a general LTI filter with impulse response h(t) or H(f), with x(t)

as input and y(t) as output, as shown in Figure 3.18, where x(t) = s(t) + n(t) and

y(t) = so(t) + no(t), s(t) = signal component at input, n(t) = white noise component

at input, so(t) = signal component at output and no(t) = noise component at

output.

Page 46
x(t) LTI y(t)
h(t) or H(f)

Figure 3.17 A LTI Block Diagram

Since s(t) is known, its Fourier Transform S(f) can be readily obtained, from

superposition theorem,

Y  f   So  f   N o  f  (3.8)

The output signal so(t) is given by the inverse Fourier Transform



so  t   s  t   h  t    H  f  S  f e j 2 ft df


and the power spectral density of the output noise no(t) is given by
No
Pno  f   Pn  f  H  f   Hf
2 2

2
The average power of the output noise is the area under the curve of Pno(f),
 No 
Pnave   Pno  f df   H  f  df
2

 2 

Consider at time T, when the input s(t) is present, the power in the

output so(t) is made as large as possible than the power in the noise no(t), the

maximized output signal-to-noise ratio is defined as


 2

So T 
2
 H  f  S  f e j 2  fT df

SNRo  
No 
H  f  df
Pno

2

2 

Page 47
By applying the Schwarz’s Inequality,
2
  a  t  b  t  dt    a 2  t  dt  b2  t  dt
    
For real functions, the inequality becomes
2
  A  f  B  f  dt    A  f  2 dt  B  f  2 dt
    
For complex functions,

A  f   B  f 

Hence,
 
 H 2  f df  S 2  f df
SNRo   
No 
 H  f  df
2

2 


2  S 2  f df
 
No

It can be shown that the maximum signal-to-noise ratio does not depend

on the transfer function H(f) of the filter. As long as H(f) takes on a optimum

value, say, Hopt(f), which can be defined as

Hopt  f   S   f  e j 2  fT

the SNR will be maximum

Taking inverse Fourier Transform gives


 
hopt  t    S   f  e  j 2  fT e j 2  ft df   S   f  e  j 2  f T -t  df
 

Since s(t) is a real-value signal, S*



hopt  t    S   f  e  j 2  f T -t  df


 S T  t 

Page 48
It is shown that the finite impulse hopt(t) is a delay, mirror image

conjugate of the original signal. For received signal s(t) where s(t)  S(f) the

matched filter impulse response

h  t   s T  t   H  f   S   f  e j 2  fT

where  = constant and

T = time between transmitted signal and received echo

For a received signal, s(t), the energy of the signal,



Es   s  t dt


therefore,

2  S 2  f df 2 Es
SNRo,opt  

No No

Consider a RF pulse (which is the basis of a chirp pulse), s(t), of duration

Ts, amplitude A and frequency fc where fc is an integer multiple of 1/Ts and large

enough for s(t) to be considered a narrowband signal. For Ts = 4 sec, fc = 1/ >

1/4The peak value of the output is 1 at Ts, which is a normalized value.

1 1.5

0.8

0.6 1

0.4

0.2 0.5

-0.2 0

-0.4

-0.6 -0.5

-0.8

-1 -1
0 5 10 15 20 25 30 0 10 20 30 40 50 60

Input Signal s(t) Output Signal so(t)

Figure 3.18 RF Pulses and Matched Filter Output


Page 49
The spectrum of the output signal of a matched filter is proportional to

the energy spectral density of the input signal, except for a time delay factor, i.e.

So  f   H opt  f  S  f 
 S   f  S  f  e - j 2  fT
 S  f  e - j 2  fT
2

The output signal of a matched filter is proportional to shifted version of

the autocorrelation function of the input signal,

so  t  =R s  t - T 

The output signal-to-noise ratio of a matched filter depends only on the

ratio of the signal energy to the power spectral density of the white noise at the

filter input,
2 Es
SNRo,opt 
No

The above three properties of pulse compression using matched filtering

explain why pulse compression technique is commonly used in most

communication systems, including radar system.

Page 50
CHAPTER 4 SIMULATION AND MODELING
4.1 INTRODUCTION

There are many factors that could affect the best procedure to be used for

a tracking problem, in fact many other problems. After going through the

decision process, the following factors are derived:

 system function,

 simulation objective,

 budget,

 interactive requirement,

 speed requirement and

 accuracy requirement.

At times, some factors dominate others. In the radar signal processing

simulation, the dominance is not that clear.

4.1.1 System Function

Radar signal processing is one of the many functions that a radar system

has to perform. Hence it is important to consider the interaction between the

signal processing function and other functions such as detection and

beamforming. A simulation of each function separately may not lead to same

conclusion regarding the overall system performance as an integrated

simulation would. In this dissertation, functions such as scenario generation

and radar model are generated as modules or parameters.

Page 51
4.1.2 Simulation Objective

The objective is related to the intended use of the simulation results or

data. This purpose of this project is to evaluate the performance of the radar

transmission with beamforming and detection targets with direction of arrival

(DOA). In order to archive simulation objective MATLAB and Simulink are

used to develop a toolbox set with all the necessary modules such as antenna,

beamforming, target generation and other required modules.

4.1.2 Budget

Running on limited budget, real or simulated radar data are not used but

rather those generated using models. There is no identified budget allocated

except a small amount is used to purchase the MATLAB Student Edition.

4.1.3 Interactive Requirement

A radar signal processing simulation model can interact with a radar

operator or actual equipment such as a radar interface. Since the objective is to

evaluate the filters, serious GUI are not considered, however, some graphic

displays and plots are generated to present the tracking profile better.

4.1.4 Speed Requirement

This simulation model is not real-time hence most of the computing time

is devoted to attaining accuracy. The simulation should be able to run on

normal commercially-off-the-shelf personal computer.

Page 52
4.1.5 Accuracy Requirement

Although constraint by budget, there is no compromise to accuracy. The

approach to model the radar signal processing such that each model reflects the

actual functions as close as possible. The quality of the data upon which the

models are based is important, however higher quality data requires more

complex simulation model. Hence, as long as the data generated is realistic and

yet not too complex to generate, it is acceptable. The highest quality data is

none other than those generated by a real system.

4.2 THE SIMULATION MODEL

The simulation program developed should allow preliminary analysis

and design of radar tracking algorithm that is to be implemented in most radar

projects. It is also used for evaluating other tracking solution and as a basis for

further development. The simulation model should be modular and structured

as depicted in Figure 4.1.

Scenario Generation Sensors Model Radar Data Processing


 track initiation/dropping
 plot-to-track association
 targets (no., type e.g. aircraft,  radar type (mono, bistatic,...)
 filtering/prediction
vessels,... , parameters e.g. RCS,  features (measurements, accuracy,
 adaptive features, if any
signature,... , trajectory,...) rate, coverage,...)
 track status
 disturbance (clutter,...)  geometry (stationary, moving,...)
 movement compensation
 track data management

Performance Evaluation

DATA EXCHANGE  track accuracy (position, speed,


heading)
 track no./lifetime/type
VARIABLES/PARAM ETERS  track quality/identity confidence
MONITORED  display of performance accessed

Figure 4.1 Block Diagram of a Simulation Model

Page 53
The simulation process begins with conventional processing on the

received signals in the form of conventional beamforming, Doppler filtering and

pulse compression. A model-based detection and estimation is also developed

to estimate the number of targets, direction to targets and Doppler of targets.

The direction-to-targets are expressed by the direction-of-arrival (DOA) of the

reflected signals.

Signal Pulse Conventional


Detection and
Simulation Compression
Extractor

Measured Doppler Model based


signals detection and
Filtering extractor

Beamforming

Figure 4.2 Data Flow in the Simulated Radar Signal Processing

4.2.1 Scenario Generation

The simulation will be executed in the following sequence:

 Define of the receiver antenna

 Refine a simulated signal

 Set the compensation method to be used by steering vector compensation

 Carry out the conventional processing

 Select data for model based processing using the RxRadarSigT signal

Page 54
 Estimate and modify a spatial correlation matrix with a spatial

correlation matrix, which is contained in a RxCorrMatT variable

 Spatial model based detection and estimation.

 Present the result.

4.2.2 The Antenna Coordinates

The standard antenna fixed coordinate system is used, it is shown in

Figure 4.3. The angles and  have the range and and 

Figure 4.3 The Antenna Coordinates

. For array antenna, the coordinate system and the geometry of the

antenna elements are shown in Figure 4.4.

Page 55
Figure 4.4 Array Antenna Geometry

4.2.3 Data Types Defined in the Simulation

The following data types are defined and used in the simulation.

Information is passed from one module to another module via the defined

signals using the data types.

 CxMatrixT 2D complex matrix.

 RealMatrixT 2D real matrix.

 IntMatrixT 2D integer matrix. Complex integers are not allowed.

 CxScalarT Complex scalar.

 RealScalarT Real scalar.

 IntScalarT Integer scalar. Complex integers are not allowed.

 CxVectorT Complex vector. Vectors are (n x 1)-matrices.

 RealVectorT Real vector. Vectors are (n x 1)-matrices.

 IntVectorT Integer vector. Complex integers are not allowed. Vectors

are (n x 1)-matrices.

 StringT String.
Page 56
 StringVectorT A vector of strings.

 IndexT An (1 x n) integer matrix used for indexing in vectors etc.

4.2.4 Definition of Components in the Simulation

The components used in the simulation are defined as follow:

 AntDefT Definition of receiving antennas and systems.

There are several subtypes.

 AntDefT ’LA’ Definition of a linear array. The distance between

the elements can be arbitrary and the elements

can be of any of the available antenna types.

 AntDefT ’ULA’ Definition of a linear array with equal distant

antenna elements. The elements can be of any of

the available antenna types.

 AntDefT ’isotropULA’ Definition of an ULA with isotropical

elements.

 RxRadarSigT Stores radar signals before and after conventional

processing.

 TargetDefT Definition of a target in a MATLAB structure

variable.

 NoiseDefT Definition of a noise source in a MATLAB

structure variable.

 ClutterDefT Definition of a clutter source in a MATLAB

structure variable.

 DoaParamT Estimated and true DOA parameters.

Page 57
 DoaSpecT A direction-of-arrival (DOA) spectrum DoaSpecT.

It is a measure of the presence of signal sources in

different directions.

4.3 THE SIMULATION

The simulation of the radar system is achieved using the following

modules created, as shown in Figure 4.5.

Figure 4.5 The Simulated Radar System

The simulated radar system also includes a practical measurement

onboard a Coast Guard vessel to verify the targets generated and beamforming

algorithm.

Page 58
Antennas

 Modeling of array and single-channel antennas and arbitrary antenna

element placements and antenna patterns

Simulated signals

 Single-range simulation of Gaussian distributed narrowband signals.

 Simulation of narrowband radar signals with specified Doppler shifts

and waveforms.

 Waveforms: rectangular, Chirp code which is linear Frequency

Modulation code generation, the phase between samples increases in a

rate corresponding to a linear frequency increase.

 Simulation of Gaussian distributed noise.

Conventional signal processing

 Pulse compression with any of the waveforms above.

 Conventional beamforming: Tapering (uniform, Taylor, Chebychev),

adaptive sidelobe cancellation and beam orthogonalization are possible.

 Doppler filtering. Windowing (nine different types).

Model based signal processing

 Plot of radar signals, DOA spectra and antenna patterns.

4.3.1 The Simulation Model

The simulation model of prototype is derived based on the simulation

model depicted in Figure 4.6.

Page 59
Scenario Generation Radar Signal Processing
 Target Generation  Pulse compression
 Noise  Simulates the received  Conventional
 Clutter radar signal in the beamforming
 Antenna presence of noise and  MUSIC DOA
clutter and target, with
the defined radar
waveform

Performance
evaluation
 Plot the results

Figure 4.6 The Simulation Model

The received radar signal is represented by its complex envelope and is

stored in the radar multidimensional matrix. Before any processing is done, the

indices of the radar signal are: (pulseIx, timeInPulseIx, channelIx, extraIx, cpiIx,

trialIx), where pulseIx is the index of the received pulses, timeInPulseIx is the

index of received time snapshots within one pulse, channelIx is the index of the

antenna channels, extraIx is an user defined index, cpiIx is the index of the CPIs

(Coherent Processing Intervals) and trialIx is the index of repeated trials.

“Conventional processing” means linear filtering in the form of

conventional beamforming, Doppler filtering and pulse compression. After

conventional processing, the indices are interpreted differently. If no data

reduction is done, the information in the radar matrix should be the same as

before. In the radar matrix are the coordinates in a specific basis. For example,

when performing doppler filtering, it is changed from the trivial basis

tmk(different k:s) to the Fourier basis e jk tm (different k:s). Indices after

Page 60
complete conventional processing are (dopplerChanIx, rangeBinIx, beamIx,

extraIx, cpiIx, trialIx), where opplerChanIx is the index of Doppler channels,

rangeBinIx is the index of range bins and beamIx is the index of formed beams.

Before or after conventional processing, model based detection and

estimation methods can be used to estimate, for example, the number of targets,

direction to and Doppler and range of targets. The direction to targets are

expressed by the direction-of-arrival (DOA) of the reflected signals.

Page 61
CHAPTER 5 PERFORMANCE ANALYSIS
The purpose of this chapter is to present the simulations carried out using

the radar system simulation constructed. Recordings from a Coast Guard radar

are also injected into the simulation to verify the results.

5.1 RUNNING THE RADAR SIMULATOR


The development uses Simulink, which is an add-on to MATLAB for the

modelling and simulation of a radar system. The powerful graphical feature of

MATLAB and Simulink enable the display of radar signals after processing and

this makes the analysis efficient. This also makes the radar simulator flexible

and easy to expand.

5.1.1 Description of the Simulator

Figure 5.1 shows the radar system simulator, it contains, from left to

right, top to bottom, antenna definition, radar waveform definition, target and

noise definition, radar signal simulation, pulse compression, conventional and

MUSIC beamforming. There are also some blocks for plotting intermediate and

final signals:

 Adding a target of type: swerling0 (depending on the number of targets)

 Adding noise of type: Gaussian.

 Simulating targets

 Simulating noise... done (0.6 secs).

 Performing pulse compression

 Target extraction and display

Page 62
Figure 5.2 The Simulated Radar System

5.1.2. The Simulation

The simulation is executive with “radarex1” where the block diagram of

the radar simulator is run in the Simulink. The simulation is first carried out

with 3 well separated targets. The targets are defined using the Target

Definition Block. The antenna, waveform and noise are then defined

subsequently using the respective definition blocks. The simulator is executed

by choosing Start under the Simulation menu. Three graph windows with user

interface controls for the interactive visualization of the resulting signals appear.

Page 63
Figure 5.2 Target Definition Block

First, the simulated signals are displayed, since there are three targets

there are three transmitted waveforms shown in Figure 5.3.

Figure 5.3 Display of the Simulated Target Signals in the Presence of Noise
Page 64
The peaks of the three targets at 6 km, 1 km and 10.5 km, and sidelobes in range

can be seen.

Figure 5.4a shows the signal after pulse compression. The typical

appearance of the chirp (linear FM) waveforms after pulse compression with

main beam and range sidelobes is displayed.

Figure 5.4b shows the signal after conventional beamforming. Since the

array antenna only has 12 antenna elements the beamwidth will be large, about

10 degrees. But since the targets are already separated in range, the main beams

and sidelobes of all three targets can be seen clearly.

Figure 5.4 Display of Signals after Pulse Compression and Conventional


Beamforming

The MUSIC direction-of-arrival spectra is shown in Figure 5.5, it gives a better

resolution compared to conventional beamforming.

Page 65
Figure 5.5 Display of Signals MUSIC Beamforming

Signal after MUSIC DOA estimation shows high DOA resolution compared to

conventional beamforming. The three targets have the DOAs 25° , 5°, 18°and

ranges 6 km, 1 km, 10.5 km, respectively.

5.2 TESTING WITH EXPERIMENTAL DATA


The simulator has been tested with recorded data from the radar onboard

one Coast Guard radar as shown in Figure 5.6.

Figure 5.6 The Radar Used in the Simulator with Experimental Data

Page 66
There are many targets and clutters detected by the radar, for simplicity,

5 target information are recorded, with the assistance of Coast Guard

Technician. On the display shown in Figure 5.7, the five selected targets are

displayed with markers.

Figure 5.7 Radar Display onboard the Coast Guard Vessel

These information is saved on an USB drive in pure text format (due to

confidentiality, the format cannot be shown in this report). The information is

injected to the radar simulator for processing. The signal is formatted into the

radar signal data type RxRadarSigT so that the pulse compression block can

process.

Page 67
Figure 5.8 Received Radar Signal Generated from the Recorded Data

As the targets are closed in range, two of the pulses are merged. Before

processing, the target identification does not give a good indication on the target

information.

Figure 5.9 Received Radar Signal after Pulse Compression

Page 68
After pulse compression, the five targets are clearly visible as pulse

compression gives maximum signal to noise ratio.

Figure 5.10 Received Radar Signal After Beamforming

After beamforming, the five targets are clearly distinguishable in both

range and azimuth. A comparison against Figure 5.7 and 5.10 shows that the

targets are processed correctly by the simulator.

Page 69
CHAPTER 6 CONCLUSION

6.1 THE PROJECT DESCRIPTION


The aim of this project is to design and build a radar system simulator

that generates targets, noise and clutter. It simulates the transmitting process by

defining the antenna used. The radar signal transmitted, targets defined and

generated noise and clutter are then processed to produce the received radar

signal. Data type RxRadarSigT is used to model the transmission, environment

and receiving of the signals. The received signal is then processed by a pulse

compression and then conventional and beamforming processes. The results

obtained are then displayed on various plots.

6.2 Meeting Project Objectives


Most of the key objectives set at the start of this project have been

achieved as in

 analyse and research on radar system, performance, radar signal

processing with beamforming and pulse compression

 conduct a survey of simulation methods,

 simulate a radar system, and

 develop a radar processing technique for study and investigation.

However, several problems are encountered in the project work.

Page 70
6.3 Problem Encountered
There are some constraints which are encountered during the project

phase.

Since the radar system is relatively difficult, there are the difficulties in

pursuing the knowledge. In Part A, many MATLAB simulations were carried

out to understand radar system.

Beamforming is also new and are difficult to code as it involves random

signals. In addition, it was difficult to seek assistance due to the difficulty.

These difficulties were overcome with persistence and consultation

sessions given by industrial professionals and supervisors.

The main difficulty is the verification of simulation results, in this aspect,

it was a blessing that the Coast guard approved the use of recorded data from

her radar onboard one vessel, but this is controlled by the security regulation

and some of the information cannot be disclosed in this report.

6.4 Summary
The project objectives have been achieved with persistence and hard

work.

Page 71
REFERENCE
[1] A Farina and F A Studer, “Radar Data Processing Volume I”, John Wiley
and Sons Inc., England, 1985.

[2] B R Mahafza, “Introduction to Radar Analysis”, CRC Press, USA, 1998.

[3] Associate Professor Leonard Chin, “E470 Radar Engineering”, Course


Notes, Nanyang Technology University, Singapore, 1996.

[4] C A Balanis, “Antenna Theory: Analysis and Design”, John Wiley and Sons
Inc., Singapore, 1997.

[5] J L Eaves and E K Reedy, “Principles of Modern Radar”, Van Nostrand


Reinhold, USA, 1987.

[6] S Blackman abd R Popoli, “Design and Analysis of Modern Tracking


Systems”, Artech House, London, 1999.

[7] E Brooker, “Tracking and Kalman Filtering Made Easy”, John Wiley and
Sons Inc., Singapore, 1999.

[8] R G Brown and P Y C Hwang, “Introduction to Random Signals and


Applied Kalman Filtering”, John Wiley and Sons Inc., Singapore, 1983.

[9] P R Kalata, “The Tracking Index: A Generalized Parameter for - and --
 Target Trackers”, IEEE Transactions on Aerospace and Electronic
Systems, AES-20, March 1984, pp. 174-182.

[10] T Benedict and G Border, “Synthesis of an Optimal Set of Radar Track-


While-Scan Smoothing Equations”, IRE Transactions of Automatic Control,
AC-7, July 1962, pp. 27-32.

[11] R E Kalman, “A New Approach to Linear Filtering and Prediction


Problems”, Transaction of the ASME – Journal of Basic Engineering, March
1960, pp. 35- 45.

[12] A Gelb, “Applied Optimal Estimation”, The MIT Press, England, 1975.

Page 72
[13] G Welch and G Bishop, “An Introduction to the Kalman Filter”,
Department of Computer Science, University of North Carolina at Chapel
Hill, 1997.

[14] S S Blackman, “Multiple-Target Tracking with Radar Application”, Artech


House, USA, 1986.

[15] S S Swords, “Technical History of the Beginnings of Radar”, Institution of


Electrical Engineers (IEE), 1986.

[16] H von Kroge, “GEMA: Birthplace of German Radar and Sonar”, Institute of
Physics Publishing, 2000.

[17] D C Clark, “Early advances in radar technology for aircraft detection”,


Lincoln Laboratory Journal, 2000.

[18] “Power measurement on pulsed signals with spectrum analyzers”, Rohde


& Schwarz application note, 2008.

[19] Long, M W, “Radar Reflectivity of Land and Sea, 3rd Edition”, Artech
House, 2001.

[20] M I Skolnik (editor), “The Radar Handbook”, McGraw-Hill, 1990.

[21] A G Stove, “Linear FMCW radar techniques”, Radar and Signal Processing,
Proceedings of the IEEE, vol. 5, pp. 343–350, 1992.

[22] B R Mahafza, “Radar System Analysis and Design, Second Edition”,


Chapman and Hall/CRC, 2000.

Page 73
APPENDIX

RCS Dependency on Aspect Angle


function [rcs] = rcs_aspect (scat_spacing, freq)

scat_spacing = 200
freq = 3.0e+6
eps = 0.00001;
wavelength = 3.0e+8 / freq;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Compute aspect angle vector
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
aspect_degrees = 0.:.05:180.;
aspect_radians = (pi/180) .* aspect_degrees;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Compute electrical scatterer spacing vector in wavelength units
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
elec_spacing = (2.0 * scat_spacing / wavelength) .*
cos(aspect_radians);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Compute RCS (rcs = RCS_scat1 + RCS_scat2)
% Scat1 is taken as phase reference point
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
rcs = abs(1.0 + cos((2.0 * pi) .* elec_spacing) + i * sin((2.0 * pi) .*
elec_spacing));
rcs = rcs + eps;
rcs = 20.0*log10(rcs);

figure (1);
plot (aspect_degrees,rcs,'blue');
grid;
xlabel ('aspect angle - degrees');
ylabel ('RCS in dBsm');
title (' Frequency is 3GHz; scatterer spacing is 2m');

Radar Equation
function [out_par] = radar_eq(pt, freq, g, sigma, te, b, nf, loss,
input_par,option, rcs_delta1, rcs_delta2, pt_percent1, pt_percent2)

%%%%%%%%%%%%%%%%%%%%%%
%Define All Variables
%%%%%%%%%%%%%%%%%%%%%%

Page 74
clear all
pt = 1.5e+6; % peak power in Watts
freq = 5.6e+9; % radar operating frequency in Hz
g = 45.0; % antenna gain in dB
sigma = 0.1; % radar cross section in m sqaured
te = 290.0; % effective noise temprature in Kelvins
b = 5.0e+6; % radar operating bandwidth in Hz
nf = 3.0; %noise figure in dB
loss = 0.0; % radar losses in dB
option = 2; % 1 ===> input_par = SNR in dB
%%%%%%%%%%% 2 ===> input_par = Range in Km
input_par = 85.855922;% 1 ===> input_par = 20
%%%%%%%%%%% 2 ===> input_par = 85.855922
rcs_delta1 = 5;
rcs_delta2 = 10;
pt_percent1 = 0.5;
pt_percent2 = 2.0;
c = 3.0e+8;

lambda = c / freq;
p_peak = base10_to_dB(pt);
lambda_sq = lambda^2;
lambda_sqdb = base10_to_dB(lambda_sq);
sigmadb = base10_to_dB(sigma);
for_pi_cub = base10_to_dB((4.0 * pi)^3);
k_db = base10_to_dB(1.38e-23);
te_db = base10_to_dB(te)
b_db = base10_to_dB(b);

if (option == 1)
temp = p_peak + 2. * g + lambda_sqdb + sigmadb - for_pi_cub - k_db -
te_db - b_db - nf - loss - input_par;
out_par = dB_to_base10(temp)^(1/4)
% calculate sigma(+-)rcs_delta1,2 dB
sigmap = rcs_delta1 + sigmadb;
sigmam = sigmadb - rcs_delta2;
% calculate pt_percent1 * pt and pt_percent2 * pt
pt05 = p_peak + base10_to_dB(pt_percent1);
pt200 = p_peak + base10_to_dB(pt_percent2);
index = 0;

% vary snr from .5 to 1.5 of default value


for snrvar = input_par*.5 : 1 : input_par*1.5
index = index + 1;
range1(index) = dB_to_base10(p_peak + 2. * g + lambda_sqdb +
sigmam - for_pi_cub - k_db - te_db - b_db - nf - loss - snrvar)^(1/4) /
1000.0;
range2(index) = dB_to_base10(p_peak + 2. * g + lambda_sqdb +
sigmadb - for_pi_cub - k_db - te_db - b_db - nf - loss - snrvar)^(1/4)
/ 1000.0;

Page 75
range3(index) = dB_to_base10(p_peak + 2. * g + lambda_sqdb +
sigmap - for_pi_cub - k_db - te_db - b_db - nf - loss - snrvar)^(1/4) /
1000.0;
end

index = 0;
for snrvar = input_par*.5 : 1 : input_par*1.5;
index = index + 1;
rangp1(index) = dB_to_base10(pt05 + 2. * g + lambda_sqdb +
sigmadb - for_pi_cub - k_db - te_db - b_db - nf - loss - snrvar)^(1/4)
/ 1000.0;
rangp2(index) = dB_to_base10(p_peak + 2. * g + lambda_sqdb +
sigmadb - for_pi_cub - k_db - te_db - b_db - nf - loss - snrvar)^(1/4)
/ 1000.0;
rangp3(index) = dB_to_base10(pt200 + 2. * g + lambda_sqdb +
sigmadb - for_pi_cub - k_db - te_db - b_db - nf - loss - snrvar)^(1/4)
/ 1000.0;
end

snrvar = input_par*.5 : 1 : input_par*1.5;


figure(1)
plot(snrvar,range2,'red',snrvar,range1,'blue',snrvar,range3,'k')
legend('RCS(Default)','RCS - delta1','RCS + delta2')
xlabel ('Minimum SNR required for detection - dB');
ylabel ('Maximum detection range - Km');
title('delta1=10dBsm, delta2=10dBsm')
grid

else

range_db = base10_to_dB(input_par * 1000.0);


out_par = p_peak + 2. * g + lambda_sqdb + sigmadb - for_pi_cub -
k_db - te_db - b_db - nf - loss - 4.0 * range_db
% calculate sigma -- rcs_delta1,2
sigma5 = sigmadb - rcs_delta1;
sigma10 = sigmadb - rcs_delta2;
% calculate pt_percent1 * pt and pt_percent2 * pt
pt05 = p_peak + base10_to_dB(pt_percent1);
pt200 = p_peak + base10_to_dB(pt_percent2);
index = 0;

% vary snr from .5 to 1.5 of default value


for rangvar = input_par*.5 : 1 : input_par*1.5
index = index + 1;
var = 4.0 * base10_to_dB(rangvar * 1000.0);
snr1(index) = p_peak + 2. * g + lambda_sqdb + sigmadb -
for_pi_cub - k_db - te_db - b_db - nf - loss - var;
snr2(index) = p_peak + 2. * g + lambda_sqdb + sigma5 - for_pi_cub
- k_db - te_db - b_db - nf - loss - var;
snr3(index) = p_peak + 2. * g + lambda_sqdb + sigma10 -
for_pi_cub - k_db - te_db - b_db - nf - loss - var;
Page 76
end

index = 0;
for rangvar = input_par*.5 : 1 : input_par*1.5;
index = index + 1;
var = 4.0 * base10_to_dB(rangvar * 1000.0);
snrp1(index) = p_peak + 2. * g + lambda_sqdb + sigmadb -
for_pi_cub - k_db - te_db - b_db - nf - loss - var;
snrp2(index) = pt05 + 2. * g + lambda_sqdb + sigmadb - for_pi_cub
- k_db - te_db - b_db - nf - loss - var;
snrp3(index) = pt200 + 2. * g + lambda_sqdb + sigmadb -
for_pi_cub - k_db - te_db - b_db - nf - loss - var;
end

rangvar = input_par*.5 : 1 : input_par*1.5;


figure(1)
plot(rangvar,snr1,'red',rangvar,snr2,'blue',rangvar,snr3,'k')
legend('default RCS','RCS-delta1','RCS-delta2')
xlabel ('Detection range - Km');
ylabel ('SNR - dB');
grid
title('delta1=5dBsm, delta2=10dBsm')
end

Probability of Detection
clear all
for nfa = 2:2:12
b = sqrt(-2.0 * log(10^(-nfa)));
index = 0;
hold on
for snr = 0:.1:18
index = index +1;
a = sqrt(2.0 * 10^(.1*snr));
pro(index) = marcumsq(a,b);
end
x = 0:.1:18;
set(gca,'ytick',[.1 .2 .3 .4 .5 .6 .7 .75 .8 .85 .9 ...
.95 .9999])
set(gca,'xtick',[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18])

loglog(x, pro,'k');
end
hold off
xlabel ('Single pulse SNR - dB')
ylabel ('Probability of detection')
grid

Page 77
Types of Swerling Target – Swerling I
clear all
pfa = 1e-9;
nfa = log(2) / pfa;
index = 0;
for snr = -10:.5:30
index = index +1;
prob1(index) = pd_swerling1 (nfa, 1, snr);
prob10(index) = pd_swerling1 (nfa, 10, snr);
prob50(index) = pd_swerling1 (nfa, 50, snr);
prob100(index) = pd_swerling1 (nfa, 100, snr);
end
x = -10:.5:30;
plot(x, prob1,'red',x,prob10,'blue',x,prob50,'green',x,
prob100,'black');
axis([-10 30 0 1])
xlabel ('SNR - dB')
ylabel ('Probability of detection')
legend('np = 1','np = 10','np = 50','np = 100')
grid

Types of Swerling Target – Swerling II


clear all
pfa = 1e-9;
nfa = log(2) / pfa;
index = 0;
for snr = -10:.5:30
index = index +1;
prob1(index) = pd_swerling2 (nfa, 1, snr);
prob10(index) = pd_swerling2 (nfa, 10, snr);
prob50(index) = pd_swerling2 (nfa, 50, snr);
prob100(index) = pd_swerling2 (nfa, 100, snr);
end
x = -10:.5:30;
plot(x, prob1,'red',x,prob10,'blue',x,prob50,'green',x,
prob100,'black');
axis([-10 30 0 1])
xlabel ('SNR - dB')
ylabel ('Probability of detection')
legend('np = 1','np = 10','np = 50','np = 100')
grid

Types of Swerling Target – Swerling III

Page 78
clear all
pfa = 1e-9;
nfa = log(2) / pfa;
index = 0;
for snr = -10:.5:30
index = index +1;
prob1(index) = pd_swerling3 (nfa, 1, snr);
prob10(index) = pd_swerling3 (nfa, 10, snr);
prob50(index) = pd_swerling3(nfa, 50, snr);
prob100(index) = pd_swerling3 (nfa, 100, snr);
end
x = -10:.5:30;
plot(x, prob1,'red',x,prob10,'blue',x,prob50,'green',x,
prob100,'black');
axis([-10 30 0 1])
xlabel ('SNR - dB')
ylabel ('Probability of detection')
legend('np = 1','np = 10','np = 50','np = 100')
grid

Types of Swerling Target – Swerling IV


clear all
pfa = 1e-9;
nfa = log(2) / pfa;
index = 0;
for snr = -10:.5:30
index = index +1;
prob1(index) = pd_swerling4 (nfa, 1, snr);
prob10(index) = pd_swerling4 (nfa, 10, snr);
prob50(index) = pd_swerling4(nfa, 50, snr);
prob100(index) = pd_swerling4 (nfa, 100, snr);
end
x = -10:.5:30;
plot(x, prob1,'red',x,prob10,'blue',x,prob50,'green',x,
prob100,'black');
axis([-10 30 0 1.1])
xlabel ('SNR - dB')
ylabel ('Probability of detection')
legend('np = 1','np = 10','np = 50','np = 100')
grid
axis tight

Types of Swerling Target – Comparison of the Four type of


Swerling Targets
clear all
pfa = 1e-9;
nfa = log(2) / pfa;

Page 79
index = 0;
for snr = -10:.5:30
index = index +1;
prob101(index) = pd_swerling1 (nfa, 10, snr);
prob102(index) = pd_swerling2 (nfa, 10, snr);
prob103(index) = pd_swerling3(nfa, 10, snr);
prob104(index) = pd_swerling4 (nfa, 10, snr);
end
x = -10:.5:30;
plot(x, prob101,'red',x,prob102,'blue',x,prob103,'green',x,
prob104,'black');
axis([-10 30 0 1.1])
xlabel ('SNR - dB')
ylabel ('Probability of detection')
legend('SW1','SW2','SW3','SW4')
grid
axis tight

RxRadarSigT
function sigOut = RxRadarSigT(signals, model, param, pulIx, ranIx,
spaIx, extraIx, cpiIx, trialIx, pulTrans, ranTrans, spaTrans, freqPos,
rangePos, doaPos, spaPulTrans, spaRanTrans, pulRanTrans, allTrans)

% The structure of this function is prepared for using MATLAB's


classes.

if (nargin == 0)
sigOut = basedef;
elseif isa(signals,'RxRadarSigT')
sigOut = signals;
else
if (nargin < 2)
error('Error: To few input parameters.')
end

% ****************** Add missing input parameters ******************

arginNo=3;
if (nargin < arginNo)
param = [];
end
arginNo = arginNo +1;

if (nargin < arginNo)


pulIx = [];
end
arginNo = arginNo +1;
if (nargin < arginNo)
ranIx = [];
end

Page 80
arginNo = arginNo +1;
if (nargin < arginNo)
spaIx = [];
end
arginNo = arginNo +1;
if (nargin < arginNo)
extraIx = [];
end
arginNo = arginNo +1;
if (nargin < arginNo)
cpiIx = [];
end
arginNo = arginNo +1;
if (nargin < arginNo)
trialIx = [];
end
arginNo = arginNo +1;

if (nargin < arginNo)


pulTrans = [];
end
arginNo = arginNo +1;
if (nargin < arginNo)
ranTrans = [];
end
arginNo = arginNo +1;
if (nargin < arginNo)
spaTrans = [];
end
arginNo = arginNo +1;

if (nargin < arginNo)


freqPos = [];
end
arginNo = arginNo +1;
if (nargin < arginNo)
rangePos = [];
end
arginNo = arginNo +1;
if (nargin < arginNo)
doaPos = [];
end
arginNo = arginNo +1;

% ****************** Default values ******************

if isempty(param)
param = {speedoflight};
end%if
if isempty(pulIx)
pulIx = 1:size(signals,1);
Page 81
end%if
if isempty(ranIx)
ranIx = 1:size(signals,2);
end%if
if isempty(spaIx)
spaIx = 1:size(signals,3);
end%if
if isempty(extraIx)
extraIx = 1:size(signals,4);
end%if
if isempty(cpiIx)
cpiIx = 1:size(signals,5);
end%if
if isempty(trialIx)
trialIx = 1:size(signals,6);
end%if

% ************* Pick out some more fields from input parameters.


*************

antenna = model{1};
waveform = model{2};
%propSpeed = param{1};

% ************* Base definition. *************

sigOut = basedef;

% ************* Assign values. *************

sigOut.signals = signals;
sigOut.antenna = antenna;
sigOut.waveform = waveform;
sigOut.pulIx = pulIx;
sigOut.ranIx = ranIx;
sigOut.spaIx = spaIx;
sigOut.extraIx = extraIx;
sigOut.cpiIx = cpiIx;
sigOut.trialIx = trialIx;

sigOut.trans.pulTrans = pulTrans;
sigOut.trans.ranTrans = ranTrans;
sigOut.trans.spaTrans = spaTrans;

sigOut.freqPos = freqPos;
sigOut.rangePos = rangePos;
sigOut.doaPos = doaPos;
end%if
%endfunction RxRadarSigT
Page 82
function sigOut = basedef
sigOut.dataType = 'RxRadarSigT';
sigOut.version = 2;
% The version number must be changed after important changes of
this
% data type, changes requiring changes of the functions which are
% using this data type.
sigOut.signals = [];
sigOut.antenna = [];
sigOut.waveform = [];
sigOut.pulIx = [];
sigOut.ranIx = [];
sigOut.spaIx = [];
sigOut.extraIx = [];
sigOut.cpiIx = [];
sigOut.trialIx = [];

sigOut.trans.pulTrans = [];
sigOut.trans.ranTrans = [];
sigOut.trans.spaTrans = [];

sigOut.freqPos = [];
sigOut.rangePos = [];
sigOut.doaPos = [];

%parent = SigT(...)
%sigOut = class(sigOut,'RxRadarSigT',parent);
% Inheritance from class "SigT".
%endfunction basedef

defant
function ant = defant(antennaType, in1, in2, in3, in4, in5, in6, in7)

antDefVersion = 3; % 980525: Version 3 = The field beamSpaceTrans


% is moved from the element to the current level.

% ---------------------------------------------------------------------
-- %
% Global constants
% ---------------------------------------------------------------------
-- %

global thSign

thSign = +1;
Page 83
% ---------------------------------------------------------------------
-- %
% Handle input parameters
% ---------------------------------------------------------------------
-- %

if (nargin < 0)
error('To few input parameters.')
end

% ****************** Add missing input parameters ******************

arginNo=1;
if (nargin < arginNo)
antennaType = [];
end
arginNo = arginNo +1;
if (nargin < arginNo)
in1 = [];
end
arginNo = arginNo +1;
if (nargin < arginNo)
in2 = [];
end
arginNo = arginNo +1;
if (nargin < arginNo)
in3 = [];
end
arginNo = arginNo +1;
if (nargin < arginNo)
in4 = [];
end
arginNo = arginNo +1;
if (nargin < arginNo)
in5 = [];
end
arginNo = arginNo +1;
if (nargin < arginNo)
in6 = [];
end
arginNo = arginNo +1;
if (nargin < arginNo)
in7 = [];
end
arginNo = arginNo +1;

% ****************** Default values ******************

if isempty(antennaType)
antennaType = 'baseAnt';
end%if
Page 84
% ****************** Antenna definitions ******************

% ---------------------------------------------------------------------
-- %
% Base antenna definition.
% ant = defant('baseAnt', antennaType, noElem)
% ---------------------------------------------------------------------
-- %
if (strcmp(antennaType, 'baseAnt'))
antennaType = in1;
noElem = in2;

ant.dataType = 'AntDefT';
ant.version = antDefVersion;
ant.name = 'none';
ant.antennaType = antennaType;
ant.noElem = noElem;
ant.beamSpaceTrans = 1;
ant.Dmax = 1; % Maximum directivity.
ant.efficiency = 1; % Conduction and dielectric efficiency
ec*ed.

if (0)
% ---------------------------------------------------------------------
-- %
% Base antenna element definition.
% ant = defant('baseElemAnt', antennaType, noElem patternType)
% ---------------------------------------------------------------------
-- %
%elseif (strcmp(antennaType, 'baseElemAnt'))
antennaType = in1;
noElem = in2;
ant = defant('baseAnt', 'elem', noElem)
ant.patternType = patternType;
%ant.elemOrient = elemOrient;
ant.polarization = 1; % CxVectorT with three elements:
% polarization(1): x-coordinate.
% polarization(2): y-coordinate.
% polarization(3): z-coordinate.

%end%if
end%if (0)

% ---------------------------------------------------------------------
-- %
% 'isotropElem' : Isotropical antenna element.
% ---------------------------------------------------------------------
-- %

Page 85
elseif (strcmp(antennaType, 'isotropElem'))
if (nargin > 1), error('Error: Too many input parameters.'), end%if
ant.dataType = 'AntDefT';
ant.version = antDefVersion;
ant.name = 'none';
ant.antennaType = 'elem';
ant.patternType = 'isotrop';
%ant.lambda = in1; % Removed this field.
ant.noElem = 1;
ant.beamSpaceTrans = 1;

% ---------------------------------------------------------------------
-- %
% 'pattFuncElem'
% Antenna element whose antenna pattern is given by a function.
% ---------------------------------------------------------------------
-- %
elseif (strcmp(antennaType, 'pattFuncElem'))
if (nargin > 3), error('Error: Too many input parameters.'), end%if
if (isempty(in2)), in2 = zeros(2,1); end%if
elemOrient = zeros(2,1);
elemOrient(1:size(in2,1),:) = in2; % Enabling only theta as
directional angle
ant.dataType = 'AntDefT';
ant.version = antDefVersion;
ant.name = 'none';
ant.antennaType = 'elem';
ant.patternType = 'func';
ant.patternFunc = in1;
ant.elemOrient = elemOrient;
%ant.lambda = in2; % Removed this field.
ant.noElem = 1;
ant.beamSpaceTrans = 1;

% ---------------------------------------------------------------------
-- %
% 'ULA' : Uniform linear array.
% ---------------------------------------------------------------------
-- %
elseif (strcmp(antennaType, 'ULA'))
if ((nargin > 4) | (length(in1) > 2))
error('Error: Too many input parameters.')
end%if
noElem = in1(1,1);
distElem = in1(1,2);
%lambda = in1(1,3);
if (nargin < 4)
taper = ones(noElem,1);
else
taper = in3;
end

Page 86
ant.dataType = 'AntDefT';
ant.version = antDefVersion;
ant.name = 'none';
ant.antennaType = antennaType;
ant.noElem = noElem;
%ant.lambda = lambda; % Removed this field.
ant.distElem = distElem;
ant.element = in2;
ant.beamSpaceTrans = taper;

% ---------------------------------------------------------------------
-- %
% 'isotropULA' : Uniform linear array with isotropical antenna
element.
% ---------------------------------------------------------------------
-- %
elseif (strcmp(antennaType, 'isotropULA'))
if ((nargin > 2) | (length(in1) > 2))
error('Error: Too many input parameters.')
end%if
noElem = in1(1,1);
%lambda = in1(1,3);
elem = defant('isotropElem');
ant = defant('ULA', in1, elem, ones(noElem,1));

% ---------------------------------------------------------------------
-- %
% 'LA' : Non-Uniform linear array.
% ---------------------------------------------------------------------
-- %
elseif (strcmp(antennaType, 'LA'))
if (nargin > 5), error('Error: Too many input parameters.'), end%if
elemPos = in1;
if ((size(elemPos,2) > 1) & (size(elemPos,1) == 1)) % Test #1 of
elemPos
disp('elemPos should be a column vector, transposing...')
elemPos = elemPos';
elseif ((size(elemPos,1) > 1) & (size(elemPos,2) > 1))
error('Error: The element position field must be a vector')
end%if
if (elemPos(1) ~= 0) % Test #2 of elemPos
error('Error: First element in elemPos should be 0, since it is a
relative position')
end%if

lambda = in2;
if (nargin < 5)
taper = ones(size(elemPos));
else
taper = in4;
Page 87
end%if

ant.dataType = 'AntDefT';
ant.version = antDefVersion;
ant.name = 'none';
ant.antennaType = antennaType;
%ant.lambda = lambda; % Removed this field.
ant.elemPos = elemPos;
ant.noElem = length(elemPos);
ant.element = in3;
ant.beamSpaceTrans = taper;

% ---------------------------------------------------------------------
-- %
% 'array' : Array antenna.
%
% ant = defant('array', elemPos, [], element, [], elemOrient,
couplingMat)
% ant = defant(antennaType, in1, in2, in3, in4, in5, in6, in7)
% ---------------------------------------------------------------------
-- %
elseif (strcmp(antennaType, 'array'))
%elseif (strcmp(antennaType, 'array') | strcmp(antennaType, 'BFArray'))
noElem = length(in1);
elemPos = zeros(3,noElem);
elemPos(1:size(in1,1),:) = in1;

if ~isempty(in4) % beamSpaceTrans
error('A beamSpaceTrans (in4) can not be specified for "array"
antenna type.');
end%if

if isempty(in5) % elemOrient
in5 = zeros(3,noElem);
end%if

if (0)
if iscell(in3) % element
nElemDef = length(in3);
else
nElemDef = 1;
end
%size(in4),nElemDef
if (size(in4,1) ~= nElemDef) % beamSpaceTrans
error('Illegal number of rows of beamSpaceTrans.');
end
if (size(in4,2) ~= noElem) % beamSpaceTrans
error('Illegal number of columns of beamSpaceTrans.');
end
else
if (strcmp(antennaType, 'BFArray'))
chkdtype(in4,'CxMatrixT') % beamSpaceTrans
Page 88
if (size(in4,1) ~= noElem) % beamSpaceTrans
error('Illegal number of rows of beamSpaceTrans.');
end
end%if
end%if (0)

ant = setr([], 'dataType', 'AntDefT');


ant = setr(ant,'version', antDefVersion);
ant = setr(ant,'name','none');
ant = setr(ant,'antennaType', antennaType);
ant = setr(ant,'elemPos', elemPos);
ant = setr(ant,'noElem', noElem);
ant = setr(ant,'element', in3);
%ant = setr(ant,'beamSpaceTrans',in4);
ant = setr(ant,'elemOrient', in5);
ant = setr(ant,'couplingMat', in6);

% ---------------------------------------------------------------------
-- %
% 'beamform' : Beamforming virtual antenna.
%
% ant = defant('beamform', element, beamSpaceTrans)
% ant = defant(antennaType, in1, in2, in3, in4, in5, in6, in7)
% ---------------------------------------------------------------------
-- %
elseif (strcmp(antennaType, 'beamform'))
ant.dataType = 'AntDefT';
ant.version = antDefVersion;
ant.name = 'none';
ant.antennaType = antennaType;
ant.noElem = size(in2,2); % Number of channels out.
ant.element = in1;
ant.beamSpaceTrans = in2;

% ---------------------------------------------------------------------
-- %
% 'BFArray' : Array antenna with beamforming.
%
% ant = defant('BFArray', elemPos, [], element, beamSpaceTrans,
elemOrient,
% couplingMat)
% ant = defant(antennaType, in1, in2, in3, in4, in5, in6, in7)
% ---------------------------------------------------------------------
-- %
elseif (strcmp(antennaType, 'BFArray'))
ant1 = defant('array', in1, in2, in3, [], in5, in6, in7);
ant = defant('beamform', ant1, in4);

% ------- Create antenna elements. -------


nElem = 51;
elem21 = defant('pattFuncElem', 'sqrt(cos(x(1,:)))');
Page 89
elem2 = cell(1,nElem);
for n = 1:nElem, elem2{n}=elem21; end%for n
%elem2 = repmat({},1,nElem); % Alternative way to create elem2.

% ------- Create beamforming matrix to do subarray beamforming. ---


----
T = zeros(nElem,25);
for n=1:25
T((2*n-1):(2*n-1)+2,n) = [0.5 1 0.5].';
end%for n
elemPos = [0:0.5:25]*0.1 + posErr;
ant = defant('BFArray',elemPos,[],elem2,T);

% ---------------------------------------------------------------------
-- %
% 'aimtEx' : The AIMT application example antenna. One-dimensional.
%
% Implementation by FA.
% ---------------------------------------------------------------------
-- %
elseif (strcmp(antennaType, 'aimtEx'))
% The subarrays are in the x-direction. The main digital array is in
the
% x-direction.

if (nargin > 1), error('DBT-Error: Too many input parameters.'),


end%if
noElemMain = 25;
noElemSub = 3;
lambda = 0.1;
distElemMain = lambda;
distElemSub = lambda/2;
taper = [0.5 1 0.5]';
elem = defant('pattFuncElem', 'sqrt(cos(x(1,:)))');
subarray = defant('ULA', [noElemSub, distElemSub], elem, taper);
ant = defant('ULA', [noElemMain, distElemMain], subarray, ...
ones(noElemMain,1));
ant.name = 'aimtEx';

% ---------------------------------------------------------------------
-- %
% 'expAnt' : The AIMT experimental antenna.
% ---------------------------------------------------------------------
-- %
elseif (strcmp(antennaType, 'expAnt')) % The AIMT experimental
antenna.
if (nargin > 1)
error(['Error: Too many input parameters. Cal. file is set by ',...
'the function setcal1.'])
end%if
global c0
Page 90
c0 = 2.99792458e8; % The speed of light.

noElem = 12;
distElem = 0.0450; % Distance in meters. Should we use variable "xel"
% instead in steering matrix calculation?
%lambda = NaN; % This is only a temporary value. The frequency
% can be found in the .dbs file. The correct value is set by the
% function expsig1.
ant = defant('isotropULA', [noElem, distElem]);
ant.name = 'expAnt';

% ---------------------------------------------------------------------
-- %
% The ELSE branch.
% ---------------------------------------------------------------------
-- %
else
error('Error: Desired antenna type is not implemented.')
end%if

if isfield(ant,'lambda')
error('Error: The field lambda should not exist in AntDefT any
more.')
end%if

defclutter
function clutterdef = defclutter(clType, clTypeParam,
clPower,clPatchDOAs, transAnt, platHeight, platVel)

%----------------------------------------------------------------------
---
%---- In-parameter control & default values handling -
---
%----------------------------------------------------------------------
---

if (0)

arginNo=1;
if (nargin < arginNo)
error('DBT-Error: To few input parameters.')
end
arginNo = arginNo +1;

% ****************** Add missing input parameters ******************

Page 91
if (nargin < arginNo)
method = [];
end
arginNo = arginNo +1;
if (nargin < arginNo)
method = [];
end
arginNo = arginNo +1;
if (nargin < arginNo)
method = [];
end
arginNo = arginNo +1;
if (nargin < arginNo)
method = [];
end
arginNo = arginNo +1;
if (nargin < arginNo)
method = [];
end
arginNo = arginNo +1;
if (nargin < arginNo)
method = [];
end
arginNo = arginNo +1;

% ****************** Default values ******************

if isempty(method)
method = 'cbf';
end%if

% ****************** ******************

else %if(0)

if nargin < 7 % Defaults to platform velocity 40 [m/s]


platVel = 0;
end%if

if nargin < 6 % Defaults to platform height 3000 [m]


platHeight = 2;
end%if

if nargin < 5 % Defaults to string that tells us that


transAnt = 'recAnt'; % the transmitting antenna is to be the
end%if % same as receiving antenna. see
simradarsig.m
if (isempty(transAnt))
transAnt = 'recAnt';
end%if

Page 92
if nargin < 4 | isempty(clPatchDOAs)
clPatchDOAs = d2r(-60):0.5:d2r(60); % Directions to clutterpatches
end%if

if nargin < 3 | isempty(clPower) % Defaults to the power 1 [W].


clPower = 1;
end%if

if nargin < 2 | isempty(clType) | isempty(clTypeParam)


if nargin == 1 & ~strcmp(clType,'MIT-LCE')
error('Error: Missing clutter type specific parameters');
end%if
b = 12; % Defaults to light air condition
windSpeed = 5; % Defaults to a windspeed of 5 [mph]
clRange = 1000; % Defaults to the range 1000 [m]
clTypeParam{1} = b; % All these parameters are specific
clTypeParam{2} = windSpeed; % to the clutter type 'MIT-LCE'.
clTypeParam{3} = clRange;
end%if

end%if(0)

if isempty(platHeight)
platHeight = 0;
end%if
if platHeight == 0
dbtwarning('Platform height set to zero => no clutter simulated')
end

%----------------------------------------------------------------------
---
%---- Setting up the output parameter -
---
%----------------------------------------------------------------------
---

clutterdef.dataType = 'ClutterDefT';
clutterdef.Type = clType;
clutterdef.TypeParam = clTypeParam;
clutterdef.Power = clPower;
clutterdef.DOAs = clPatchDOAs;
clutterdef.TransAnt = transAnt;
clutterdef.PlatHeight = platHeight;
clutterdef.PlatVelocity = platVel;

%End Of File ----------------------------------------------------------


---

Page 93

You might also like