some matlab tutorials

42
Fundamentals of Radar Signal Processing © 2011 Mark A. Richards, All Rights Reserved Some MATLAB Tutorials Dr. Mark A. Richards School of Electrical & Computer Engineering Georgia Institute of Technology Atlanta, Georgia 30332-0250 [email protected] Fundamentals of Radar Signal Processing

Upload: others

Post on 09-May-2022

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

Some MATLAB Tutorials

Dr. Mark A. Richards

School of Electrical & Computer EngineeringGeorgia Institute of Technology

Atlanta, Georgia [email protected]

Fundamentals of Radar Signal Processing

Page 2: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

2

LICENSE

• Permission to use, copy, modify and distribute, including the right to grant others rights to distribute at any tier, this software and its documentation for any purpose and without fee or royalty is hereby granted, provided that the following copyright and attribution and the disclaimer (see next two pages) are retained in ALL copies and derivative works of the software and documentation, including modifications that you make for internal use or for distribution.

Page 3: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

3

COPYRIGHT AND ATTRIBUTION• Except as otherwise noted, this software was

developed by Dr. Mark A. Richards and/or Gregory Heim of the Georgia Institute of Technology, and was provided by the Georgia Institute of Technology as part of the professional education course “Fundamentals of Radar Signal Processing”, 2006 and subsequent offerings, or by Dr. Mark A. Richards to accompany the book Fundamentals of Radar Signal Processing (McGraw-Hill, New York, 2005).

• Copyright 2006-2011, Mark A. Richards and/or Gregory Heim. All Rights Reserved.

Page 4: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

4

DISCLAIMER• All software is provided "as is". It is intended for

tutorial and demonstration use only and is provided as a convenience and courtesy to the user. No user support is available.

• The developer, the Georgia Institute of Technology, and the Distance Learning and Professional Education division of the Georgia Institute of Technology make absolutely no warranty of merchantability or fitness for any use for any particular purpose, or that the use of the software will not infringe on any third party patents, copyrights, trademarks, or other rights.

Page 5: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

5

Fundamentals of Radar Signal Processing(FRSP) Tutorial MATLAB Software - 1

• Software is available …– On FRSP textbook support web site at www.radarsp.com– On CD-ROM for FRSP professional education course

(“short course”)

• Software is provided as a WinZip file titled FRSP_Demos.zip

• Assumes MATLAB 6 and Signal Processing Toolbox– mainly for hamming, db functions, but may be

others– Used with version R2010a

Page 6: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

6

Fundamentals of Radar Signal Processing(FRSP) Tutorial MATLAB Software - 2

• Software contains the following GUI-based MATLAB demonstrations:– RCS of Complex Targets– LFM Pulse Compression– Multi-PRF Blind Zone Calculation

• … and the following non-GUI-based demonstrations– Pulse Doppler Processing– Detection Calculator– Doppler Beam Sharpening– Adaptive Beamformer

• … and the following student project assignments– Pulse Doppler Processing (similar to above, in project form)– RCS (similar to above, in project form)– LFM waveform and matched filtering (similar to above, in project form)– Threshold detection

Page 7: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

Software Installation

• Unzip FRSP_Demos.zip in the directory of your choice

• This will create a new directory called FRSP_Demos• Start MATLAB and choose the Set Path command

under the File menu• Navigate to the FRSP_Demos directory and click the Add with Subfolders button

• Click the Save button, and then Close• All of the FRSP demo software should now be in

your MATLAB path

7

Page 8: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

GUI-Based Demos

8

Page 9: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

9

RCS:GUI-Based RCS of Complex Targets

• Angle variation of RCS of “complex target” composed of “many” scatterers

– With or without “dominant scatterer”• Reproduces this experiment:

– Can vary # of scatterers, box size, presence/absence of dominant scatterer and relative strength

– Compare to various pdfs– Compute autocorrelation

lengths• >> RCS

– Select/change targetcharacteristics, thenclick on‘New Scatterers’

– Select/change plotoptions, then click on‘Compute RCSand Plot Results’

Radar Signal Processing© 2005 Mark A. Richards

Fluctuating Target Model

p(γ ) =1γ

e−

γγ , γ ≥ 0

Swerling Cases 1 and 2

Collection of Equal Size Scatterers

Fluctuation model follows from Central Limit Theorem

• Exponential RCS pdf• chi-square with k=1

• Sometimes called Rayleigh because corresponding voltage (not power) pdf is Rayleigh

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

γ

p(γ)

1γ =

Radar Signal Processing© 2005 Mark A. Richards

Fluctuating Target Model

p(γ ) =4γγ 2 e

−2γγ , γ ≥ 0

Swerling Cases 3 and 4

Collection of Scatterers with One Dominant Scatterer

• Chi-square with k=2pdf for RCS 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

γ

p(γ)

1γ =

Page 10: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

10

LFM:GUI-Based LFM Waveform Characteristics

• Generates and analyzes LFM waveforms and corresponding matched filter outputs– Can vary pulse duration,

bandwidth, sampling rate– Effects of windows– Two-scatterer resolution

• >> LFM– Select/change waveform, window,

plotcharacteristics

• Plots should update automatically

– Click on‘View Additional Plots’ for two-scatterer and ambiguity plots

• Caution: ambiguity function can be VERY slow and/or exhaust memory!

Page 11: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

11

BlindZone:GUI-Based Multi-PRF Blind Zone Calculator

• Computes range-Doppler blind zones for multiple PRIs and “M-of-N” detection

– Can vary # and value of PRIs, and the threshold (M) for M-of-N detection

– Allows for clutter spectrum width, near-in clutter eclipsing

• >> BlindZone– Enter PRIs and detection

threshold– Other parameters as desired– Click “Plot Blind Zones”

2-of-5 example

Single PRI Grayscale Display Mode

Page 12: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

-80-60

-40-20

020

4060

80

12

34

56

7-80

-70

-60

-50

-40

-30

-20

-10

0

velocity (m/s)

RANGE-DOPPLER PLOT OF UNPROCESSED DATA

range (km)

aperture position (m)

rang

e re

lativ

e to

CR

P (k

m)

After Range Compression, Before Cross-Range Compression

-15 -10 -5 0 5 10 15

-1.5

-1

-0.5

0

0.5

1

1.5

2

Non-GUI-Based Demos

12

Page 13: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

13

Detection Calculator Pd_calc• Detection calculator that computes Pd for non-coherent square-law

integration of Swerling target models in Gaussian I/Q noise with a square-law detector– Implements equations in the appendix of Radar Target Detection-

Handbook of Theory and Practice by Daniel P. Meyer and Herbert A. Mayer, (Academic Press, 1973) (“M&M”)

– Computes the threshold and probability of detection for the four standard Swerling cases and the nonfluctuating case

– Also included is the Albersheim approximation to the nonfluctuating case.

• To use: write a main program to call Pd.m– See examples on next two slides

• Based on meyerfun.m, version 1.2 (by Douglas Dougherty, NSWC DD Code T45, 4/14/99)– meyerfun.m and a controlling GUI, meyer.m, available on MathWorks’

MATLAB Central file exchange, http://www.mathworks.com/matlabcentral/fileexchange/1569

• Modified significantly– Additional cases, vectorization, numerical issues

Page 14: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

14

Example Calling Program #1:Pd_as_a_function_of_N.m

% M file for computing a figure to illustrate the effect of% noncoherent integration on Pd vs. SNR for Swerling 0,% for Pfa = 1e-8, SNR from -2 to+15 dB, and N=1 to 100.%% Mark Richards% July 2002

SNR_dB = linspace(0,15);Pfa = 1e-8*ones(size(SNR_dB));

% Step through the cases:

Pd0 = Pd(1*ones(size(SNR_dB)),Pfa,SNR_dB,0);Pd1 = Pd(2*ones(size(SNR_dB)),Pfa,SNR_dB,0);Pd2 = Pd(5*ones(size(SNR_dB)),Pfa,SNR_dB,0);Pd3 = Pd(10*ones(size(SNR_dB)),Pfa,SNR_dB,0);Pd4 = Pd(20*ones(size(SNR_dB)),Pfa,SNR_dB,0);

% OK, now draw the results

plot(SNR_dB,[Pd0; Pd1; Pd2; Pd3; Pd4])axis([0,15,0,1]);xlabel('SNR (dB)'); ylabel('Pd'); grid;legend('N=1','N=2','N=5','N=10','N=20','Location','SouthEast');

0 5 10 150

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

SNR (dB)

Pd

N=1N=2N=5N=10N=20

Page 15: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

15

Example Calling Program #1:Swerling_compare.m

% M file for computing a figure to compare the 5 swerling cases + Albersheim% for N=10 pulses, Pfa = 1e-8, and SNR from -2 to+15 dB%% Mark Richards% July 2002

SNR_dB = linspace(-2,15);Pfa = 1e-8*ones(size(SNR_dB));N = 10*ones(size(SNR_dB));

% Step through the cases:Pd0 = Pd(N,Pfa,SNR_dB,0); % nonfluctuating; also

called Swerling 0 or 5 in some casesPd1 = Pd(N,Pfa,SNR_dB,1);Pd2 = Pd(N,Pfa,SNR_dB,2);Pd3 = Pd(N,Pfa,SNR_dB,3);Pd4 = Pd(N,Pfa,SNR_dB,4);Pd6 = Pd(N,Pfa,SNR_dB,6); % Albersheim's equation

% OK, now draw the resultsplot(SNR_dB,[Pd0; Pd1; Pd2; Pd3; Pd4]; Pd6)axis([-2,15,0,1]);xlabel('SNR (dB)'); ylabel('Pd'); grid;legend('Nonfluctuating','Swerling 1','Swerling 2','Swerling 3', ...

'Swerling 4','Albersheim','Location','Southeast');

-2 0 2 4 6 8 10 12 140

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

SNR (dB)

Pd

NonfluctuatingSwerling 1Swerling 2Swerling 3Swerling 4Albersheim

Page 16: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

16

Pulse Doppler Processing Demonstration• Formation of a fast-time/slow-time (range/pulse #)

data matrix for moving targets in noise and clutter– LFM chirp waveform

• Pulse Doppler processing for target detection; and range, velocity, and relative RCS estimation– Formation of range-Doppler matrix– Pulse compression– MTI filter compensation– R4 correction– Threshold detection– Peak interpolation

Page 17: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

17

Pulse Doppler Processing Procedure• Two stages

– makePDdata creates a fast-time/slow-time data matrix that will support the desired scenario

– procPDdata performs the processing• Stage 1: Data Creation

– >> edit makePDdata

• Set all simulation parameters by editing input section of makePDdata.m

– >> makePDdata

• To create data set for processing• Output in file.mat

– Where file is the “root file name” you specify– Parameters logged in file.lis

• Stage 2: Processing– >> procPDdata

Page 18: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

18

Pulse Doppler Processing Inputs• makePDdata user input section:

% User Input Section ###############################% ###############################################

% Get root file name for saving resultsfile=input('Enter root file name for data and listing files: ','s');

T = 10e-6; % pulse length, secondsW = 10e6; % chirp bandwidth, Hzfs = 12e6; % chirp sampling rate, Hz; oversample by a little

Np = 20; % # of pulsesjkl = 0:(Np-1); % pulse index arrayPRF = 25.0e3; % PRF in HzPRI = (1/PRF); % PRI in secT_0 = PRI*jkl; % relative start times of pulses, in secg = ones(1,Np); % gains of pulsesT_out = [12 38]*1e-6; % start and end times of range window in secT_ref = 0; % system reference time in usecfc = 10e9; % RF frequency in Hz; 10 GHz is X-band

% Compute unambiguous Doppler interval in m/sec% Compute unambiguous range interval in meters

vua = 3e8*PRF/(2*fc);rmin = 3e8*T_out(1)/2;rmax = 3e8*T_out(2)/2;rua = rmax-rmin;

% Define number of targets, then range, amplitude, and% radial velocity of each

Ntargets = 4;del_R = (3e8/2)*( 1/fs )/1e3; % in kmranges = [2.3 2.7 3.1 3.5]*1e3; % in kmSNR = [10 20 15 20]; % dBvels = [-0.3 -0.15 +0.1 +0.25]*vua; % in m/sec

% End User Input Section #########################% ############################################

Page 19: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

Pulse Doppler Processing Outputs - 1

19

1.5 2 2.5 3 3.5 4 4.5 5 5.5 615

20

25

30

35

40NONCOHERENTLY INTEGRATED RANGE TRACE

range bin

pow

er

-200-150

-100-50

050

100150

200

1

2

3

4

5

6-80

-70

-60

-50

-40

-30

-20

-10

0

velocity (m/s)

RANGE-DOPPLER PLOT OF UNPROCESSED DATA

range (km)

RANGE-DOPPLER CONTOUR PLOT OF UNPROCESSED DATA

rang

e (k

m)

velocity (m/s)-150 -100 -50 0 50 100 150

2

2.5

3

3.5

4

4.5

5

5.5

Page 20: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

Pulse Doppler Processing Outputs - 2

20

-200-150

-100-50

050

100150

200

1

2

3

4

5

6-90

-80

-70

-60

-50

-40

-30

-20

-10

0

velocity (m/s)

RANGE-DOPPLER PLOT OF CLUTTER-CANCELLED DATA

range (km)

RANGE-DOPPLER CONTOUR PLOT OF CLUTTER-CANCELLED DATA

rang

e (k

m)

velocity (m/s)-150 -100 -50 0 50 100 150

2

2.5

3

3.5

4

4.5

5

5.5

Page 21: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

Pulse Doppler Processing Outputs - 3

21

RANGE-DOPPLER CONTOUR PLOT OF CLUTTER-CANCELLED DATA

rang

e (k

m)

velocity (m/s)-150 -100 -50 0 50 100 150

2

2.5

3

3.5

4

4.5

5

5.5

RANGE-DOPPLER CONTOUR PLOT OF FULLY-PROCESSED DATA

rang

e (k

m)

velocity (m/s)-150 -100 -50 0 50 100 150

0.5

1

1.5

2

2.5

3

3.5

4

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5-120

-100

-80

-60

-40

-20

0

range (km)

pow

er (d

B)

MAXIMUM DOPPLER RESPONSE VS. RANGE

Page 22: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

22

Doppler Beam Sharpening Imaging - 1• Closely related to the pulse Doppler demonstration and project• Imaging of a user-specified array of point scatterers• Two stages

– makeSARdata creates a fast-time/slow-time data matrix that will support the desired scenario

– procSARdata_DBS performs the DBS imaging algorithm

• Stage 1: Data Creation• >> edit makeSARdata

– Set all simulation parameters by editing input section of makeSARdata.m

• >> makeSARdata– To create data set for processing– Output in file.mat

• Where file is the “root file name” you specify• Parameters logged in file.lis

Page 23: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

23

Doppler Beam Sharpening Imaging - 2• Stage 2: Image Formation

• >> edit procSARdata_DBS– Set image formation option switches by editing input

section of procSARdata_DBS.m

• >> procSARdata_DBS to generate DBS image– Range-compressed only in Fig. 1 window– Fully-formed image in Fig. 2 window– If geometric corrections selected, then

• Cross-range resampled image in Fig. 3 window• Range curvature-corrected image in Fig. 4 window

Page 24: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

24

DBS Demonstration: makeSARdata% User input section #################################

% need a file name to store data, e.g. 'myfile' or 'temp' or 'sardata'.% Data will then be in 'myfile.dat', etc.file=input('Enter root file name for data and listing files: ','s');

DCR = 20; % cross-range resolution, mDR = 20; % range resolution, mRcrp = 40000; % range to swath centerv = 150; % platform velocity, m/sfc = 10e9; % RF frequency in Hzlambda = c/fc; % wavelength, mtau = 5e-6; % pulse length, seconds (bandwidth set by

resolution)Daz = 0.2; % antenna azimuth size, mthetaaz = lambda/Daz; % azimuth beamwidth, radiansBWdopp = 2*v/lambda*thetaaz; % slow time Doppler bandwidth, HzLs = 3000; % swath depth, moversample_st = 2; % slow time oversample factor; higher makes

% prettier pictures but larger data setsoversample_ft = 2; % fast time oversample factor, similar to slow

time

% Define target locations, one row of (x,R) coordinates per target

% Ranges are relative to the CRP range (Rcrp) above.

% coords = [0,0]; % a single point target at the CRP

coords = ... % a grid of 9 point targets[-1000,-1000;-1000,0;-1000,+1000;0,-1000;0,0;0,+1000;+1000,-1000;+1000,0;+1000,+1000];

% End user input section #####################################

% ###################################################

Page 25: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

25

Sample makeSARdata Output

pulse number

fast

tim

e (s

ec)

Real Part of Data Matrix

100 200 300 400 500 600

2.6

2.65

2.7

2.75

2.8

x 10-4

Page 26: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

26

DBS Demonstration: procSARdata_DBS• %#######################################################• % User input section ###################################

• % algorithm control parameters• dechirp = false; % use azimuth dechirp step or not• oversample_freq = 2; % oversampling in Doppler; bigger makes better• % picture but needs more memory and time• fix_geometry = false; % perform geometric corrections or not

• % Get data file name• file=input('Enter root file name for data file: ','s');

• % End user input section ###############################• % ######################################################

Page 27: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

27

Sample procSARdata_DBS Output,No Geometric Corrections

aperture position (m)

rang

e re

lativ

e to

CR

P (k

m)

After Range Compression, Before Cross-Range Compression

-15 -10 -5 0 5 10 15

-1.5

-1

-0.5

0

0.5

1

1.5

2

cross-range (km)

rang

e re

lativ

e to

CR

P (k

m)

Fully Compressed Image

-6 -4 -2 0 2 4

-1.5

-1

-0.5

0

0.5

1

1.5

2

Page 28: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

28

Sample procSARdata_DBS Outputwith Geometric Corrections

cross-range (km)

rang

e re

lativ

e to

CR

P (k

m)

Resampled and Range-Shifted Image

-6 -4 -2 0 2 4 6

-1.5

-1

-0.5

0

0.5

1

1.5

2

Page 29: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

Sample procSARdata_DBS Images,with and without Azimuth Dechirp

• Azimuth dechirp not needed if• Consider R = 40 km, λ = 3 cm, ∆CR = 5 m

– Violates limit, which is about 17 m in this case • Generate new data with ∆CR = 5 m, etc.

– Process with requency oversample = 4 for good mainlobe definition

29

2CR Rλ∆ ≥

cross-range (km)

rang

e re

lativ

e to

CR

P (k

m)

Fully Compressed Image

-1.15 -1.1 -1.05 -1 -0.95 -0.9 -0.85

-1.04

-1.02

-1

-0.98

-0.96

-0.94

-0.92

cross-range (km)

rang

e re

lativ

e to

CR

P (k

m)

Fully Compressed Image

-1.1 -1.05 -1 -0.95 -0.9

-1.04

-1.02

-1

-0.98

-0.96

-0.94

-0.92

No Azimuth Dechirp: Cross-Range Smearing

With Azimuth Dechirp:Cross-Range Resolution Goal Met

Page 30: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

30

Adaptive Beamformer• Simple demonstration of four different beamformer patterns in

an environment with two jammers– Non-adaptive (fixed) beamformer– fully-adaptive beamformer using weights– “distortionless” beamformer– Post-DFT (beamspace) beamformer

• >> edit beamform– Set all parameters by editing input section of beamform.m– RF, jammer AOAs, powers– Array parameters– Use -30 dB Taylor weighting (or not)

• >> beamform– Four different patterns in four figure windows

-1 *Ih = S t

Page 31: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

31

Adaptive Beamformer beamform%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User Input Section

lambda = 0.03; % wavelengthd = lambda/2; % element spacingdl = d/lambda;N = 16; % # of array elementsaoa_max = asin(1/2/dl); % maximum "real space" AOA (radians)window_on = false; % true or false

Nangle = 1000; % # of angles for evaluating beam patternNm1 = Nangle-1;

t_aoa = pi/180*(0); % target AOA (radians)j_aoa1 = pi/180*(18); % jammer #1 AOA (radians)j_aoa2 = pi/180*(-33); % jammer #2 AOA (radians)

SNR = 0; % signal to noise ratio (dB)JSR1 = +50; % jammer #1 to noise ratio (dB)JSR2 = +30; % jammer #2 to noise ratio (dB)

% End user input section%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Page 32: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

32

Outputs from beamform, Both Jammers in the Sidelobes, No Weighting

-80 -60 -40 -20 0 20 40 60 80-60

-50

-40

-30

-20

-10

0

Angle of Arrival (degrees)

Nor

mal

ized

Arra

y R

espo

nse

(dB

)

Distortionless Beamformer Array Pattern

-80 -60 -40 -20 0 20 40 60 80-60

-50

-40

-30

-20

-10

0

Angle of Arrival (degrees)

Nor

mal

ized

Arra

y R

espo

nse

(dB

)

Fully Adaptive Array Pattern

-80 -60 -40 -20 0 20 40 60 80-60

-50

-40

-30

-20

-10

0

Angle of Arrival (degrees)

Nor

mal

ized

Arra

y R

espo

nse

(dB

)

Unadapted Array Pattern

-80 -60 -40 -20 0 20 40 60 80-60

-50

-40

-30

-20

-10

0

Angle of Arrival (degrees)

Nor

mal

ized

Arra

y R

espo

nse

(dB

)

Post-DFT (Beamspace) Array Pattern

Page 33: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

33

Outputs from beamform, One Jammer in the Mainlobe , No Weighting

-80 -60 -40 -20 0 20 40 60 80-60

-50

-40

-30

-20

-10

0

Angle of Arrival (degrees)

Nor

mal

ized

Arra

y R

espo

nse

(dB

)

Unadapted Array Pattern

-80 -60 -40 -20 0 20 40 60 80-60

-50

-40

-30

-20

-10

0

Angle of Arrival (degrees)

Nor

mal

ized

Arra

y R

espo

nse

(dB

)

Fully Adaptive Array Pattern

-80 -60 -40 -20 0 20 40 60 80-60

-50

-40

-30

-20

-10

0

Angle of Arrival (degrees)

Nor

mal

ized

Arra

y R

espo

nse

(dB

)

Distortionless Beamformer Array Pattern

-80 -60 -40 -20 0 20 40 60 80-60

-50

-40

-30

-20

-10

0

Angle of Arrival (degrees)

Nor

mal

ized

Arra

y R

espo

nse

(dB

)

Post-DFT (Beamspace) Array Pattern

Page 34: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

Student Projects

34

0 200 400 600 800 1000 1200 1400 1600 1800 20000

0.5

1

1.5

2

2.5x 10

-3

radar cross section (m2)

rela

tive

prob

abili

ty

PDF of RCS vs. Aspect, Large Dominant+Many Case

0 50 100 150 200 250 300 350 4000

10

20

30

40

50

60

sample

pow

er

-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

normalized frequency (cycles)

ampl

itude

Page 35: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

Student Projects - 1• “Student projects” are simulation projects intended to illustrate

radar signal behavior and/or teach students to implement simple signal processing algorithms

• Included are four project topics– RCS statistics– Linear FM waveform properties and matched filtering– Pulse Doppler processing and detection– CFAR detection

• For each project, the following are provided:– Example problem assignment in Microsoft Word format– Example problem solution consisting of

• Sample MATLAB code• Microsoft Word document describing the solution

35

Page 36: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

Student Projects - 2• Document note for all projects: Equations in the

problem assignment and solution documents were created in MathType™. MathType is an upgrade to Microsoft’s Equation Editor. It can edit equations created in Equation Editor, however, the converse is not true. In addition, MathType may use some fonts or characters not available on machines on which it is not installed. Consequently, it is recommended that the user install MathType if it is desired to work with the student project assignment and solution documents. MathType is available at www.dessci.com/en/products/mathtype/.

36

Page 37: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

Student Projects - 3• All projects are self-contained and self-explanatory

using the problem assignment document, except for the pulse Doppler project

• The pulse Doppler project requires that data be generated by the instructor, to be analyzed by the students.

• The following charts provide some additional detail on creating data for the pulse Doppler project and then using that data in the sample solution.

37

Page 38: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

38

MTI + Pulse Doppler Processing• Place all files in the Pulse Doppler directory in the MATLAB

work directory– Or anywhere on the MATLAB path

• >> edit makedata– Set all parameters by editing input section of makedata.m– Includes noise, clutter, moving targets, and R4

• Radar parameters: RF, PRF, range window• Target SNR, ranges, velocities, #of targets• CNR

• >> makedata– To create data set for processing– Output data in file.mat

• Where file is the “root file name” you specify• Parameters logged in file.lis

• >> procdata– To perform MTI + pulse Doppler processing, generate displays

• Input is in same file.mat specified in makedata• Program pauses at every graph; hit any key to continue

Page 39: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

39

Create PD Data: makedata% User Input Section ####################################% ####################################################

% Get root file name for saving resultsfile=input('Enter root file name for data and listing files: ','s');

T = 10e-6; % pulse length, secondsW = 10e6; % chirp bandwidth, Hzfs = 12e6; % chirp sampling rate, Hz; oversample by a little

Np = 20; % # of pulsesjkl = 0:(Np-1); % pulse index arrayPRF = 25.0e3; % PRF in HzPRI = (1/PRF); % PRI in secT_0 = PRI*jkl; % relative start times of pulses, in secg = ones(1,Np); % gains of pulsesT_out = [12 38]*1e-6; % start and end times of range window in

secT_ref = 0; % system reference time in usecfc = 10e9; % RF frequency in Hz; 10 GHz is X-band

% Compute unambiguous Doppler interval in m/sec% Compute unambiguous range interval in meters

vua = 3e8*PRF/(2*fc);rmin = 3e8*T_out(1)/2;rmax = 3e8*T_out(2)/2;rua = rmax-rmin;

% Define number of targets, then range, amplitude, and% radial velocity of each

Ntargets = 4;del_R = (3e8/2)*( 1/fs )/1e3; % in kmranges = [2.3 2.7 3.1 3.5]*1e3; % in kmSNR = [10 20 15 20]; % dBvels = [-0.3 -0.15 +0.1 +0.25]*vua; % in m/sec

% End User Input Section ###############################% #############################################

Page 40: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

40

Final Output from makedata

1.5 2 2.5 3 3.5 4 4.5 5 5.5 6-40

-30

-20

-10

0

10

20

30

distance (km)

ampl

itude

(dB

)

Page 41: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

41

Process PD Data: procdata• No parameters to set• Some sample figures:

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5-100

-90

-80

-70

-60

-50

-40

-30

-20

-10

0

range (km)

pow

er (d

B)

MAXIMUM DOPPLER RESPONSE VS. RANGE

Page 42: Some MATLAB Tutorials

Fundamentals of Radar Signal Processing© 2011 Mark A. Richards, All Rights Reserved

42

Missing Pieces?

• Contact Mark Richards by e-mail, [email protected]