Anda di halaman 1dari 59

PROJECT REPORT

DESIGN AND IMPLEMENTATION OF FFT BASED DELAY LINE


CANCELLER FOR DIGITAL MTI RADAR

ELECTRICAL SPECIALISATION COURSE (O-149 & SSC ‘L’ 230)

PROJECT GUIDE: LT CDR NIKHIL JAIN

SYNDICATE

1. LT BWIC PERERA
2. LT UMESH SHARMA
3. LT P SURESH KUMAR
Design of Simulator for FFT Based Delay Line Canceller

Certificate of Merit

This is to certify that under mentioned officers of O-149 have successfully completed the
project “Design And Implementation Of FFT Based Delay Line Canceller For Digital MTI
Radar” and have been able to achieve the desired results as a partial fulfillment of requirements for
Electrical Specialization Course at INS Valsura.

Lt BWIC Perera Lt Umesh Sharma Lt P Suresh Kumar


(NRL 1758) (52010-B) (52216- Y)

The project report compiled by them is an indication of the successful completion of the project under
my guidance.

(Nikhil Jain)
Lieutenant Commander
Project Guide

INS Valsura 2 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

ACKNOWLEDGEMENT

1. We would like to express our sincere thanks to our project guide Lt Cdr Nikhil Jain, for his
continuous guidance, support and motivation in working out the project. His knowledge on the subject
has helped us to cross many hurdles which we faced from time to time during the completion of the
project.

2. We convey our gratitude to Lt Cdr Praphul Chandra and the staff of the Faculty of Training
Project for their untiring support in our endeavor.

Lt BWIC Perera Lt Umesh Sharma Lt P Suresh Kumar


(NRL 1758) (52010-B) (52216- Y)

INS Valsura 3 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

SCOPE

1. The aim of this project is to design a simulator for a Fast Fourier Transform based Delay
Line Canceler for a Digital MTI Radar. To simulate the effects of clutter and noise on the received
echo signal and demonstrate improvement in the video quality between FFT based DLC and raw
video.

2 The present Radars onboard ships use the traditional double delay line canceler and are
unable to provide satisfactory clutter rejection. This project is a step towards developing a program
to process a radar raw data to demonstrate effectiveness of digital MTI. Graphical User Interface
(GUI) is being used for the simulation. Algorithm is developed which, makes the simulation user
defined and various inputs can be fed to visualize and appreciate the action of the simulator.

3. The model is designed considering one target with fixed velocity and bearing. Basic Radar
range equation is considered in developing this program.

INS Valsura 4 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

CONTENTS

Chapter 1: INTRODUCTION

Chapter 2: DOPPLER PHENOMENON & MTI


2.1 Doppler Phenomenon
2.2 Moving Target Indicator
2.3 Single Delay Line Canceller
2.4 Digital MTI

Chapter 3: SIGNAL PROCESSING


3.1 Fourier Transform
3.2 Continuous Time Signals
3.3 Discrete Time Signals
3.4 Restrictions in Sampling frequency
During A/D Conversion
3.5 Discrete Time Fourier Transform
3.6 Discrete Fourier Transform
3.7 MATLAB and FFT

Chapter 4: PROGRESS
4.1 Approach
4.2 Assumptions
4.3 Progress
4.4 Limitations
4.5 Future Scope

Chapter 5: MATLAB CODE

INS Valsura 5 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

CHAPTER – I

INTRODUCTION

INS Valsura 6 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

CHAPTER – I

INTRODUCTION

1. The word radar is an abbreviation for RAdio Detection And Ranging. In


general, radar systems use modulated waveforms and directive antennas to transmit
electromagnetic energy into a specific volume in space to search for targets. Objects
within a search volume will reflect portions of this energy (radar returns or echoes)
back to the radar. These echoes are then processed by the radar receiver to extract
target information such as range, velocity, angular position, and other target
identifying characteristics.

2. Radars can be classified as ground based, airborne or ship based radar systems.
They can also be classified into numerous categories based on the specific radar
characteristics, such as the frequency band, antenna type, and waveforms utilized.
Another classification is concerned with the mission and/or the functionality of the
radar. This includes: weather, acquisition and search, tracking, track-while-scan, fire
control, early warning and over the horizon radars. Phased array radars utilize phased
array antennas, and are often called multifunction radars.

3. Radars are most often classified by the types of waveforms they use, or by their
operating frequency. Considering the waveforms first, radars can be Continuous Wave
(CW) or Pulsed Radars (PR). CW radars are those that continuously emit
electromagnetic energy, and use separate transmit and receive antennas. Unmodulated
CW radars can accurately measure target radial velocity (Doppler shift) and angular
position. Target range information cannot be extracted without utilizing some form of
modulation. The primary use of unmodulated CW radars is in target velocity search

INS Valsura 7 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

and track, and in missile guidance. Pulsed radars use a train of pulsed waveforms
(mainly with modulation). In this category, radar systems can be classified on the
basis of the Pulse Repetition Frequency (PRF), as low PRF, medium PRF, and high
PRF radars. Low PRF radars are primarily used for ranging where target velocity
(Doppler shift) is not of interest. High PRF radars are mainly used to measure target
velocity. Continuous wave as well as pulsed radars can measure both target range and
radial velocity by utilizing different modulation schemes.

4. High Frequency (HF) radars utilize the electromagnetic waves’ reflection off
the ionosphere to detect targets beyond the horizon. Very High Frequency (VHF) and
Ultra High Frequency (UHF) bands are used for very long range Early Warning
Radars (EWR)

INS Valsura 8 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

CHAPTER -II

DOPPLER PHENOMENON & MTI

INS Valsura 9 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

CHAPTER – II

DOPPLER PHENOMENON AND MTI

1. As we all know, the latest surveillance Radars on board IN Ships have


graduated from traditional Analog MTI using analog delay line cancellers to the
digital delay line cancellers. The Digital delay line cancellers have numerous
advantages like better stability, repeatability, precision and improved signal to noise
ratio. It does not require Temperature control and can be easily packaged. In addition,
the availability of Digital processor also permits more freedom in selection and
application of amplitude weightings for shaping the filters which may be switched
into the circuit depending on the weather conditions.

Doppler Phenomenon

2. The Doppler phenomenon is used for measuring target speed. The phenomenon
is based on frequency changes. The frequency changes can also be regarded as phase
changes between the transmitted and received signals. The Doppler phenomenon is
determined by the following factors:
a. The vector of the relative speed between the two objects .
b. The wave length of the transmitted signal.
The Doppler frequency (Fd) can be calculated according to the following equation,
Fd = ± 2V / λ
V - (V'cosα) the vector of the relative speed
Note: The target speed which the Doppler phenomenon measures is actually the
component of the target speed according to its relative angle to the radar antenna (i.e.
V a: V'cosα). That is the reason for the use of the term "vector of the relative speed".

INS Valsura 10 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

Fig.2.1 Doppler Phenomenon

3. The above drawing displays three possible conditions:


a. A stationary target - The transmitted frequency (f0) and the received
frequency (ft) are equal because the Doppler frequency is zero (ft = f0 +
fd = f0 + 0 = fo),
b. A target with a positive relative speed (closing velocity) - The received
frequency is larger than the transmitted frequency because the Doppler
frequency is positive (ft = f0 + fd).
c. A target with a negative relative speed (opening velocity) - The received
frequency is smaller than the transmitted frequency because the Doppler
frequency is negative (ft = f0 - fd).

INS Valsura 11 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

Moving Target Indicator

Fig.2.2 Response of MTI & Non MTI Channels

4. The MTI unit filters returns of stationary targets and emphasizes moving
targets of the radar identification range. By doing so, the MTI unit improves the target
and clutter (returns from stationary targets) ratio. This ratio (S/C), therefore, explains
the radar ability to neutralize undesired echoes (clutter). As bigger is the S/C ratio the
better the radar can identify actual targets.

5. In order to detect moving targets the system uses the phase difference produced
by the target motion. The return signal phase is compared with a reference-signal phase.
If the phase difference stays constant along the reception, the target is a stationary one,
but if this phase difference changes, the target is a moving one.

INS Valsura 12 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

Fig.2.3 Doppler Phenomenon

6. The above drawing illustrates two possibilities of actualizing the MTI circuit:
Analog MTI:
a. The phase detector receives the return and the reference signals.
b. The phase detector output is supplied to a delay circuit (of the PRT) and
to the summing integrator.
c. When the integrator output is zero, the target is a stationary one, because
the signal does not change in time and the delay output and the phase
detector output are equal.
d. When the integrator output is not zero, the target is moving.

INS Valsura 13 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

Single Delay Line Canceller

7. A single delay line canceller can be implemented as shown in figure. The


Canceller’s impulse response is denoted as. The output is equal to the convolution
between the impulse response and the input. The single delay canceller is often called a
two-pulse canceller” since it requires two distinct input pulses before an output can be
read. The delay is equal to the PRT of the radar.

Fig.2.4 Arrangement of Single Analog Delay Line Canceller

INS Valsura 14 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

Amplitude

0 1/T 2/T 3/T 4/T


Frequency

Fig.2.5 Frequency Response of Single Delay Line Canceller

Fig.2.6 Phase Difference in Target and Clutter for Different Pulses

INS Valsura 15 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

Digital MTI

8. The digital MTI operates basically in the same way as the single MTI circuit
except that the circuit functions are done digitally.

Fig.2.6 Arrangement of Digital Delay Line Canceller

The second target velocity is Vd1; therefore the Doppler frequency is fd1. The phase
detector output changes after each PRT.

The output after the first PRT is : V01 = A.β .COS (2ПFt + Ф)
2
The output after the second PRT is : V02 = A.β .COS (2ПF (t+T) + Ф)
2
The output after the third PRT is : V03 = A.β .COS (2ПF (t+2T) + Ф)
2

INS Valsura 16 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

Fig.2.7 Video output of Digital Delay Line Canceller

INS Valsura 17 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

CHAPTER -III

SIGNAL PROCESSING

INS Valsura 18 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

CHAPTER-III

SIGNAL PROCESSING

Fourier Transform

1. The entire gambit of Signal processing study is based on Continuous Time


signals. However the study based on Continuous time signals is more theoretical in
nature and difficult to observe, analyse and understand visually. The implementation
is further more difficult. The modern systems are rather based on discrete time
systems wherein the continuous time inputs are sampled and converted to discrete
time systems and then processed by a Digital Signal Processor to generate a Discrete
time output which again needs to be converted to continuous time output. The
continuous time signals can be analysed in frequency domain using Fourier
transforms which evaluates the continuous time signal in terms of everlasting
continuous time sinusoids. When continuous time signals are sampled to convert them
into discrete signals, they can now be described in frequency domain using discrete
time sinusoids using Discrete Fourier transforms.

2. The Fourier Transform is among the most widely used tools for transforming
continuous time signals, from what is referred to as time domain to frequency domain.
The Fourier transform utilises complex numbers and exponentials for carrying out this
transformation. However, as we move into the domain of Discrete time signals, Fourier
Transforms are replaced with Discrete Fourier Transforms (DFT). Discrete Fourier
Transform has numerous applications in the field of Digital Signal Processing and is
embedded in one form or another in innumerable ways in all kinds of applications.

INS Valsura 19 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

Continuous Time Signals

3. Continuous time signals can be expressed in terms of everlasting continuous


time sinusoids or exponentials or simply in terms of frequencies associated with them
using Fourier Transforms. A time domain signal g(t) can be expressed in frequency
domain using the following integral.

where, F represents the analog frequency of the continuous time sinusoid.

Fig.3.1 Pictorial Representation of Fourier Transform

4. When we talk about a sampled signal, by a similar logic, it should be possible


to express it in terms of discrete time sinusoids. To understand it better, we need to
understand more about discrete time sinusoids, their properties and behavior since it is
completely different from the continuous time sinusoids.

INS Valsura 20 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

Fig.3.2 Sampling an analog signal

when a continuous time signal is sampled as shown in the figure using periodic or
uniform sampling, the signal x(t) can be written as,

where x(n) is discrete time signal obtained by taking samples of analog signal xa(t)
every T seconds. The interval T is called the sampling interval whereas the fs = 1, T is
called the sampling rate.

Discrete Time Sinusoids

5. A discrete time sinusoid may be obtained by sampling the continuous time


sinusoid. Thus if we sample the signal as given by equation (1), the resulting signal can
be expressed as follows,
x(n) = ACos(2П nFT +θ) = ACos(2 П nF/Fs+ θ)

INS Valsura 21 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

In the above equation, the ratio F/Fs is denoted by the term relative or normalised
frequency (f) with units as cycles per sample. The normalised frequency f can also be
expressed as ω = 2 П f in radians per sample. Remember that Ф = 2 П f represents the
analog angular frequency and is not to be confused with ω which is the normalised
angular frequency.Therefore, the equation can now be written as follows.
x(n) = ACos(2 П f n+ θ)
For example, Matlab program to generate a discrete time sinusoid with signal of
F=200Hz and Fs=1600Hz,

F = 200 Hz
Fs= 1600 Hz
N= 1:20
x= plot (2*pi*F*n /Fs)
stem (n, x, ’fill’,’-.‘)

Fig.3.3 Aperiodic discrete time sinusoid signal

INS Valsura 22 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

6. The Discrete time sinusoid in figure has a normalised frequency f = 200/1600 =


1/8 cycles/sample. Discrete time sinusoids are very different from continuous time
sinusoids. A discrete time sinusoid is periodic only if its normalized frequency, f is a
rational number i.e. a sinusoid should have a normalised frequency of the form
f = k/N

where, K and N are relatively primes. In this case N would automatically become the
period of the periodic sinusoid and k is any integer. The same can be verified in figure
wherein, the normalised frequency is given by f = 1/8 cycles per sample, therefore the
signal repeats after every eight samples. However, if we consider a sinusoid given by
x(n) = cos0.5n, then it’s relative frequency f = 0.5 /2П which is not in the form of k/N.
Hence such a signal is not periodic.

7. The same has been plotted using a Matlab program to generate an aperiodic
discrete time sinusoid with f = 0.5/2П as given below,
n=1:30
x=cos(0.5*n)
stem(n, x, ‘fill’, ‘-.’)
The output can be seen in figure

Fig.3.4 An Aperiodic discrete time sinusoid signal

INS Valsura 23 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

8. Discrete time sinusoids whose frequencies (in terms of w) are separated by an


integer multiple of 2П are identical or equivalently (in terms of f), discrete time
sinusoids whose frequencies are separated by an integer are identical. To prove this,
let us take a discrete time sinusoid of frequency f given by,
x (n) = ACos(2 П f n+ θ)
If the normalised frequency of the above sinusoid is increased to (f+a) cycles per
sample where a is an integer, then we get
x (n) = ACos(2 П ( f +a)n+ θ)
= ACos(2 П f n+q+2 П an)
= ACos(2 П f n+ θ)
This means, that if we have two discrete time sinusoids, one with a normalised
frequency of f = −1/2, and the other with f = 1/2, then they will be identical. Or, in
other words we can state that all discrete sinusoids have normalised frequencies
between −1/2 < f < 1/2 or − П <f < П. Any sinusoid having a frequency beyond this
range will be identical to one of them which is with in this range. A signal having a
normalised frequency of ½ will have highest rate of oscillation as shown in figure
below

Fig.3.5 A discrete time sinusoid signal with ω = П or f = 1/2.

INS Valsura 24 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

Restrictions In Sampling Frequency During Analog To Digital Conversion

9. The analog frequency F (Hz) of a discrete time sinusoid with a normalised


frequency f(cycles/sample) can only be determined if the sampling frequency Fs(Hz)
is known accurately. We know that the analog frequency associated with the
continuous time sinusoids may fall in a range
∞< F < ∞
∞<Ө<∞
However, in case of Normalised frequency, as brought out in the previous section, the
range is as follows
−1/2< f <1/2
−П<Ө<П
Replacing normalised frequency f by F/Fs in the above equation, we get
−1/2<F/Fs<1/2
This restricts the input analog frequency as,
−Fs/2< F <Fs/2
− П /T< Ө < П /T
From these relations we observe that the fundamental difference between continuous
time and Discrete time signals is in their range of values for the variables f and F or Ө
and w. Periodic sampling of a continuous time signal implies the mapping of the
infinite frequency range of analog frequency F (Ө) to a finite range of the normalised
frequency f (w). Since the highest normalised frequency is given by f = 1/2 , the
corresponding highest analog frequency that can be uniquely represented for a given
sampling frequency is given by,
F max =Fs/2
Ө max = П /T

INS Valsura 25 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

Thus, for any analog signal (sampled at a given sampling frequency Fs) which has a
component given by Fmax, it will be represented by a normalised frequency given by
f = 1/2 .However, if we have a analog signal which is greater than Fmax, then it will
be represented by any normalised frequency which will lie between −1/2 and −1/2
depending on how much the analog signal exceeds Fmax.

Determination Of Aliasing Frequency

10. It is possible to exactly determine the Alias frequency of the under sampled
signal. As brought out earlier, the Continuous time frequency and Normalised
frequency are linearly related by the expression f = F/ Fs with a slope m = 1 /Fs for a
given value of Fs. This equation has been plotted in the form of a graph in figure.

Fig.3.6 Determination of the aliasing frequency

If we observe the graph carefully, we can understand the following


(a) The Normalised frequency on y axis can take values between −1/2< f < 1/2.
(b) The Continuous time frequency can take values between −Fs/2 < F < Fs/2.

INS Valsura 26 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

(c) The graph repeats itself after Fs/2, because any continuous time frequency
further to it will represent the same discrete time sinusoid on the y axis.
(d) The continuous time sinusoids at the frequency of F1 and F2 respectively
are represented by the same normalised frequency f1 for a given sampling
frequency Fs.

Discrete Time Fourier Transform (DTFT)

11. The frequency domain representation of a Discrete time signal can be evaluated
by sampling the above equation in terms of time. Thus, the variable t, can be replaced
with nTs where Ts represents the sampling interval and the Integration symbol is
replaced with summation operator. We therefore get an expression,

since, a practical discrete signal would be finite; we assume that we have taken N
Samples of the signal. Therefore, the equation becomes,

12. The above expression represents the Discrete Time Fourier Transform (DTFT)
of discrete time signals. Here, the ratio F/Fs represents the normalised frequency f in
cycles per sample. We are thus evaluating the discrete time signal g(n) in terms of
discrete time exponentials. Note that a discrete time exponential at normalised
frequency f given by e−2ПJfn is same as the one at frequency f+a given by the
expression e-2 jП(f+a)n. The smallest value of a for which this is true is unity . Thus,

INS Valsura 27 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

the discrete time signal g(n) is being evaluated in terms of discrete time exponentials
which repeat themselves with a period of 1 cycle per sample i.e. 0 ≤ f < 1. Thus, DTFT
of a discrete time sequence is periodic in nature, the periodicity being 1 cycle per
sample in terms of normalised frequency.

Fig.3.7 (a) Fourier Transform of Continuous signal, (b) FT of Impulse train, (c) DTFT

Discrete Fourier Transform (DFT)

13. The Discrete Fourier Transform (DFT) is a mathematical operation that


transforms a discrete sequence, usually from the time domain into the frequency
domain, in order to explicitly determine the spectral information for the sequence. The
time domain sequence can be real or complex. The DFT has finite length, and is

INS Valsura 28 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

periodic with period equal to. The discrete Fourier transform for the finite sequence is
defined by,

The inverse DFT is given by,

The Fast Fourier Transform (FFT) is not a new kind of transform different from the
DFT. Instead, it is an algorithm used to compute the DFT more efficiently.

INS Valsura 29 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

Matlab and FFT

14. Matlab's FFT function is an effective tool for computing the discrete Fourier
transform of a signal.
Syntax :
Y = fft(X)
Y = fft(X,n)
Y = fft(X,[],dim)
Y = fft(X,n,dim)
Definition the functions X = fft(x) and x = ifft(X) implement the transform and
inverse transform pair’s = fft(X) returns the discrete Fourier transform (DFT) of
vector X, computed with a fast Fourier transform (FFT) algorithm. If X is a matrix,
FFT returns the Fourier transform of each column of the matrix. If X is a
multidimensional array, FFT operates on the first nonsingleton dimension. Y =
fft(X,n) returns the n-point DFT. If the length of X is less than n, X is padded with
trailing zeros to length n. If the length of X is greater than n, the sequence X is
truncated. When X is a matrix, the length of the columns is adjusted in the same
manner. Y = fft(X,[],dim) and Y = fft(X,n,dim) applies the FFT operation across the
dimension dim.
Example:
A common use of Fourier transforms is to find the frequency components of a signal
buried in a noisy time domain signal. Consider data sampled at 1000 Hz. Form a

INS Valsura 30 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

signal containing 50 Hz and 120 Hz and corrupt it with some zero-mean random
noise: t = 0:0.001:0.6;
x = sin(2*pi*50*t)+sin(2*pi*120*t);
y = x + 2*randn(size(t));
plot(1000*t(1:50),y(1:50))
title('Signal Corrupted with Zero-Mean Random Noise')
xlabel('time (milliseconds)')

15. It is difficult to identify the frequency components by looking at the original


signal. Converting to the frequency domain, the discrete Fourier transform of the
noisy signal y is found by taking the 512-point fast Fourier transform (FFT):

INS Valsura 31 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

Y = fft(y,512);
The power spectrum, a measurement of the power at various frequencies, is
Pyy = Y.* conj(Y) / 512;
Graph the first 257 points (the other 255 points are redundant) on a meaningful
frequency axis:
f = 1000*(0:256)/512;
plot(f,Pyy(1:257))
title('Frequency content of y')
xlabel('frequency (Hz)')

INS Valsura 32 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

CHAPTER -IV

PROGRESS

INS Valsura 33 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

CHAPTER – IV

PROGRESS

Approach

1. Clutter is an interfering source of energy or an unwanted signal. In the presence of


clutter which can be due to back scatter from the ground, weather, waves, chaff or any
other such cause, a target can be considered as detected if the signal to interference ratio
(S/N) (which effectively takes care of the signal/clutter and signal/noise) equals or
exceeds a certain specified value at the input of the detector.

2. The basic radar range equation for search radar has been used in the development
of the radar model. The energy returned by the target is computed and compared with that
returned by the clutter source at the target range. A specified limit on the Signal to Noise
Ratio (S/N) may, therefore be used as a criterion for target detection.

3. The performance of a MTI radar is often assessed by its ability to detect a moving
target accurately while filtering out the clutter. The conventional method used is analog
delay line cancellers in which processing is highly time consuming and not very accurate.
Also in order to evaluate under noisy conditions of environment such as rain, chaff etc...
one might have to wait for a longer time. These problems could be overcome by
techniques of mathematical modeling and simulation. The purpose of this project is to
present a generalized model for simulating a digital MTI processing using FFT technique.

INS Valsura 34 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

4. Assumptions. The simulator has been designed keeping following


Assumptions in mind:

(a) The Simulations have been carried out taking only one target into
consideration.
(b) The Radar has been assumed to be looking in only one direction and
processing 256 pulses during the entire simulation.
(c) The target is assumed to be moving at a constant velocity as selected by the
user and also assumed to have its radial velocity component in line with the Radar.

Progress

5. The project involved learning MATLAB as well as brushing up the basics of MTI
Radar and signal processing techniques with emphasis on Fast Fourier Transform. We
started our project with learning the basics of MATLAB.

6. After understanding the scope of the project we designed a general block diagram
of the simulator as given below,

INS Valsura 35 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

Video Signal

7. Interaction with the user is included for various inputs which are under user
control e.g. Range of the target, Velocity of the target, Pulse width, PRT, Transmitted
frequency, Sampling frequency, clutter and noise. The code developed helps the user
in appreciating the effects of varying the value of these inputs on the result.

8. Pulse is transmitted and the received echo is added with clutter and noise and
these values are stored in a raw video array. This is then processed using FFT and
finally plots of raw video, velocity and processed data are plotted for visual
appreciation of the user. The slow moving targets are attenuated as they are assumed to
be moving clutter.

9. GUIDE, the MATLAB Graphical User Interface development environment,


provides a set of tools for creating graphical user interfaces (GUIs). These tools greatly
simplify the process of designing and building GUIs. User can use the GUIDE tools to
lay out the GUI. Using the GUIDE Layout Editor, user can lay out a GUI easily by

INS Valsura 36 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

clicking and dragging GUI components -- such as panels, buttons, text fields, sliders,
menus, and so on into the layout area.

10. GUIDE automatically generates an M-file that controls how the GUI operates.
The M-file initializes the GUI and contains a framework for all the GUI callbacks -- the
commands that are executed when a user clicks a GUI component. Using the M-file
editor, we can add code to the callbacks to perform the functions user wants them to.

11. GUIs were developed and effort is made to make the simulation as user
friendly as possible. The Matlab code and GUI are available in softcopy provided
with the Project report.

INS Valsura 37 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

12. Flowchart.

DATA : Range,PW, PRT,


Ft , Vr, Fs

Select FFT option

Add Clutter

Select S/N Ratio

Generation of Raw
video Array

Generation of MTI
Video array after
performing FFT on
Raw Video

INS Valsura 38 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

Raw data displayed on


A scope.

Processed plot of Amp vs


Velocity & Amp vs
Range plotted

INS Valsura 39 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

13. Limitations. The simulator suffers with the following limitations,

(a) As the processing power of the Home PC is constrained there is a limitation


to the speed of computation.
(b) The sampling frequency should be greatly increased to depict the fast
moving targets accurately else, aliasing occurs. But, for increasing the sampling
frequency there should be a proportionate increase in the processor speed.

14. Future Scope. As the navy moves ahead with her plans towards
indigenization and modernization the need to develop the required technical support
and also to raise the level of awareness amongst the younger generation becomes of
paramount importance. The project is also aimed towards similar goals of making an
attempt to increase the awareness about the detection of moving targets with
consideration for clutters. In subsequent stages the model can be developed in real time
for which this project is the basic platform.

(a) This project may be implemented on the RADAR Trainer in CEE


(b) It may be used to take video input from the trainer and process the signal and
give a clutter rejected output
(c) It can be used as a training aid

INS Valsura 40 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

CHAPTER -V

MATLAB CODE

INS Valsura 41 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

CHAPTER-V

MATLAB CODE

function varargout = DLC(varargin)


% DLC M-file for DLC.fig
% DLC, by itself, creates a new DLC or raises the existing
% singleton*.
% H = DLC returns the handle to a new DLC or the handle to
% the existing singleton*.
% DLC('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in DLC.M with the given input arguments.
% DLC('Property','Value',...) creates a new DLC or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before DLC_OpeningFunction gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to DLC_OpeningFcn via varargin.
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help DLC
% Last Modified by GUIDE v2.5 22-Jul-2008 16:16:58
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @DLC_OpeningFcn, ...
'gui_OutputFcn', @DLC_OutputFcn, ...
'gui_LayoutFcn', [] , ...

INS Valsura 42 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

'gui_Callback', []);

if nargin & isstr(varargin{1})


gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT

% --- Executes just before DLC is made visible.


function DLC_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to DLC (see VARARGIN)
% Choose default command line output for DLC
handles.output = hObject;

% Update handles structure


guidata(hObject, handles);

% UIWAIT makes DLC wait for user response (see UIRESUME)


% uiwait(handles.figure1);

INS Valsura 43 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

% --- Outputs from this function are returned to the command line.
function varargout = DLC_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure


varargout{1} = handles.output;

% --- Executes on button press in Start_sim.


function Start_sim_Callback(hObject, eventdata, handles)
% hObject handle to Start_sim (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

global t;
global N;

% Target Parameters %
e6=get(handles.edit6,'string')
tgt_range=str2num(e6); % in meters
e7=get(handles.edit7,'string')
v=str2num(e7);

INS Valsura 44 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

% Radar Parameters%
e13=get(handles.edit13,'string')
pulse_width=str2num(e13);
e14=get(handles.edit14,'string')
prt=1/str2num(e14);%prf=500hz
e12=get(handles.edit12,'string')
f=str2num(e12);
c=300000000;
e11=get(handles.edit11,'string')
max_mti_range=str2num(e11);
lamda=c/f;

% Simulation Parameters %
tgt_amplitude=2;
e8=get(handles.edit8,'string')
fs=str2num(e8);
time_max_mti_range=max_mti_range*2/c; % -------2R/C
N=round(time_max_mti_range/(1/fs)); % NUMBER OF PULSES = 100 ;
(30000*100000/3*10000000); (2R/C)/(1/fs)
N_pulse=fs*(pulse_width); % NO. OF SAMPLES PER PULSE
fd=2*v/lamda; %----------Dopller Shift
set(handles.edit15,'string',num2str(fd));
tgt_range_sample_no=round((tgt_range*2/c)/(1/fs)); %---Sample number which shows the target
amplitude variation

%----------------------------------------------------------MAKE INVISIBLE
set(handles.edit9,'visible','off') % TO MAKE PROCESSOR PARAMETERS VISIBLE
set(handles.edit8,'visible','off')
set(handles.text18,' visible ',' off ')
set(handles.text19,' visible ',' off ')

INS Valsura 45 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

set(handles.text20,' visible ',' off ')


set(handles.text22,' visible ',' off ')
set(handles.text23,' visible ',' off ')
set(handles.frame6,' visible ',' off ')
set(handles.pushbutton2,'visible',' off ')

% Video Generation %
video_array=zeros(32,N);
for x=1 : 256
n=1:N_pulse;
delay=prt*fs*(x-1);
S_by_C_dB=str2num(get(handles.clutter,'string'));
S_by_C=10^(S_by_C_dB/20);

tgt_vid=tgt_amplitude+0.6*sin((2*pi*fd*(delay-n)/fs));
tgt_range=tgt_range-v*prt;%-------------NEW RANGE OF THE TARGET
tgt_range_sample_no=round((tgt_range*2/c)/(1/fs)); %---Sample nuber which shows the target
amplitude variation

clutter_amp=tgt_amplitude/S_by_C;
vid=ones(N,1);
vid(tgt_range_sample_no-5:tgt_range_sample_no+5)=clutter_amp;
vid(tgt_range_sample_no:tgt_range_sample_no+N_pulse-1)=tgt_vid+clutter_amp;
% vid(N+tgt_range_sample_no-5:N+tgt_range_sample_no+5)=clutter_amp;
nvid=awgn(vid,str2num(get(handles.snr,'string')),'measured');%---------------------Addition of white
gausian noise to the video

INS Valsura 46 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

% Plot Raw Video %


axes(handles.raw_vid)
plot((1:N)*max_mti_range/N,nvid)
axis([tgt_range-250 tgt_range+250 0 3]) % Increase the sampling frequency and decrease the pulse
width
xlabel('Range (mtrs)')
ylabel('Amplitude')

title('Raw Video Plot')


set(handles.raw_vid,'XMinorTick','on')

% Insert Raw video in the video array used by the DLC %


for i=1:31
video_array(i,:)=video_array(i+1,:);
end
video_array(32,:)=nvid';
grid on
drawnow;

%--------------------- Get selection by the user


index_selected = get(handles.listbox1,'Value');

% Select the Delay Line Canceller %


if index_selected==1
fft_video_array=(abs(fft(video_array)));
axes(handles.dlc_op)
fft_video_array(1,:)=zeros(N,1)';
fft_video_array(2,:)=zeros(N,1)';
rr=str2num(get(handles.dlc_op_range,'string'));

INS Valsura 47 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

plot((0:15)*(1/(31*prt))*(lamda/2),fft_video_array(1:16,round(rr*N/max_mti_range)))
xlabel('Velocity (m/s)')
ylabel('Amplitude')
title('FFT DLC Ouput')
set(handles.dlc_op,'XMinorTick','on')
drawnow;
axes(handles.axes3)
plot((1:N)*max_mti_range/N,max(fft_video_array))

axis([tgt_range-250 tgt_range+250 0 20])


xlabel('Range (mtrs)')
ylabel('Amplitude')
title('Processed Video Plot after Filtering Zero Velocity targets')
set(handles.axes3, 'XMinorTick','on')
drawnow;
% end
end
x=2

% Single Delay Line Canceller


if index_selected==2
t=zeros(31,N);
for d=1:31

% t(d,tgt_range_sample_no:tgt_range_sample_no+N_pulse-
1)=vid(d,tgt_range_sample_no:tgt_range_sample_no+N_pulse-1)'-
vid(d+1,tgt_range_sample_no:tgt_range_sample_no+N_pulse-1)';
t(d,:)=2+video_array(d,:)'- video_array(d+1,:)';
end
axes(handles.axes3)

for d=1:31

INS Valsura 48 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

plot((1:N)*max_mti_range/N,t(d,:));

end
% axes(handles.dlc_op)
% plot((1:N)*max_mti_range/N,max(t));
% axis([tgt_range-250 tgt_range+250 0 20]);

% axes([tgt_range-150 tgt_range+150 -3 +3])


axis([tgt_range-250 tgt_range+250 0 6]);
xlabel('Range (m)')
ylabel('Amplitude')
title('Processed Video Plot after Filtering Zero Velocity targets')
set(handles.dlc_op,'XMinorTick','on')

drawnow;
end
end

% Executes on button press in fft.


function fft_Callback(hObject, eventdata, handles)
% hObject handle to fft (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hint: get(hObject,'Value') returns toggle state of fft

% --- Executes during object creation, after setting all properties.


function listbox1_CreateFcn(hObject, eventdata, handles)
% hObject handle to listbox1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB

INS Valsura 49 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

% handles empty - handles not created until after all CreateFcns called
% Hint: listbox controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc
set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end

% --- Executes on selection change in listbox1.


function listbox1_Callback(hObject, eventdata, handles)
% hObject handle to listbox1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: contents = get(hObject,'String') returns listbox1 contents as cell array
% contents{get(hObject,'Value')} returns selected item from listbox1

% --- Executes during object creation, after setting all properties.


function edit1_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.


% See ISPC and COMPUTER.
if ispc
set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

INS Valsura 50 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

end

function edit1_Callback(hObject, eventdata, handles)


% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit1 as text
% str2double(get(hObject,'String')) returns contents of edit1 as a double
% --- Executes during object creation, after setting all properties.

function edit2_CreateFcn(hObject, eventdata, handles)


% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc
set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end

function edit2_Callback(hObject, eventdata, handles)


% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit2 as text
% str2double(get(hObject,'String')) returns contents of edit2 as a double

% --- Executes during object creation, after setting all properties.

INS Valsura 51 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

function edit3_CreateFcn(hObject, eventdata, handles)


% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc
set(hObject,'BackgroundColor','white');
else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end

function edit3_Callback(hObject, eventdata, handles)


% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit3 as text
% str2double(get(hObject,'String')) returns contents of edit3 as a double

% --- Executes during object creation, after setting all properties.


function edit4_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.

if ispc
set(hObject,'BackgroundColor','white');
else

INS Valsura 52 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end

function edit4_Callback(hObject, eventdata, handles)


% hObject handle to edit4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit4 as text
% str2double(get(hObject,'String')) returns contents of edit4 as a double

% --- Executes during object creation, after setting all properties.


function slider1_CreateFcn(hObject, eventdata, handles)
% hObject handle to slider1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: slider controls usually have a light gray background, change
% 'usewhitebg' to 0 to use default. See ISPC and COMPUTER.
usewhitebg = 1;
if usewhitebg
set(hObject,'BackgroundColor',[.9 .9 .9]);
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end

% --- Executes on slider movement.


function slider1_Callback(hObject, eventdata, handles)
% hObject handle to slider1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'Value') returns position of slider
% get(hObject,'Min') and get(hObject,'Max') to determine range of slider

INS Valsura 53 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

% --- Executes during object creation, after setting all properties.


function edit6_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc

set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end
set(handles.axes(raw_vid),'visible','on')

function edit6_Callback(hObject, eventdata, handles)


% hObject handle to edit6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit6 as text
% str2double(get(hObject,'String')) returns contents of edit6 as a double
% --- Executes during object creation, after setting all properties.

function edit7_CreateFcn(hObject, eventdata, handles)


% hObject handle to edit7 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc
set(hObject,'BackgroundColor','white');
else

INS Valsura 54 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end

function edit7_Callback(hObject, eventdata, handles)


% hObject handle to edit7 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit7 as text
% str2double(get(hObject,'String')) returns contents of edit7 as a double

% --- Executes on button press in pushbutton2.


function pushbutton2_Callback(hObject, eventdata, handles)
set(handles.edit9,'visible','on') % TO MAKE PROCESSOR PARAMETERS VISIBLE
set(handles.edit8,'visible','on')
set(handles.text18,'visible','on')
set(handles.text19,'visible','on')
set(handles.text20,'visible','on')
set(handles.text22,'visible','on')
set(handles.text23,'visible','on')
set(handles.frame6,'visible','on')
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% --- Executes during object creation, after setting all properties.

function edit8_CreateFcn(hObject, eventdata, handles)


% hObject handle to edit8 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc

INS Valsura 55 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end

INS Valsura 56 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

GUI -FRONT END

INS Valsura 57 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

DISPLAY SCREEN FOR FFT BASED DLC

INS Valsura 58 Faculty of Training Projects


Design of Simulator for FFT Based Delay Line Canceller

References

[1] B. P. Lathi, Modern Digital and Analog Communication Systems.


No. 3, Oxford University Press, third ed., April 2004.

[2] D. G. M. John G. Proakis, Digital Signal Processing Principles, Algorithms and Applications,
vol. 57. Prentice Hall Of India, third ed., 2004.

[3] Bassem R. Mahafza, Radar System Analysis and Design Using MATLAB.
CRC Press, 2004

[4] Merrill.I.Skolnik, Introduction to Radar Systems,


Third edition.

INS Valsura 59 Faculty of Training Projects

Anda mungkin juga menyukai