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.
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
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.
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.
CONTENTS
Chapter 1: INTRODUCTION
Chapter 4: PROGRESS
4.1 Approach
4.2 Assumptions
4.3 Progress
4.4 Limitations
4.5 Future Scope
CHAPTER – I
INTRODUCTION
CHAPTER – I
INTRODUCTION
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
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)
CHAPTER -II
CHAPTER – II
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".
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.
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.
Amplitude
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.
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
CHAPTER -III
SIGNAL PROCESSING
CHAPTER-III
SIGNAL PROCESSING
Fourier Transform
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.
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.
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’,’-.‘)
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
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.
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.
(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.
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,
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
periodic with period equal to. The discrete Fourier transform for the finite sequence is
defined 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.
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
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)')
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)')
CHAPTER -IV
PROGRESS
CHAPTER – IV
PROGRESS
Approach
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.
(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,
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.
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.
12. Flowchart.
Add Clutter
Generation of Raw
video Array
Generation of MTI
Video array after
performing FFT on
Raw Video
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.
CHAPTER -V
MATLAB CODE
CHAPTER-V
MATLAB CODE
'gui_Callback', []);
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- 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)
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);
% 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 ')
% 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
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))
% 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
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]);
drawnow;
end
end
% 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
end
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end
if ispc
set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end
set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end
set(handles.axes(raw_vid),'visible','on')
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end
set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end
References
[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