Main Content

Airborne SAR System Design

This example demonstrates how to design a Synthetic Aperture Radar (SAR) sensor operating in X-band and calculate its parameters. SAR uses the motion of the radar antenna over a target region to provide image of the target region. Synthetic aperture is created when SAR platform travels over the target region while the pulses are transmitted and received from the radar antenna.

This example focuses on design of a SAR sensor which can meet a set of performance parameters. It outlines the steps to translate performance specifications, such as the azimuth resolution and the probability of detection, into SAR system parameters, such as the antenna dimension and the transmit power. It models design parameters for stripmap and spotlight SAR modes of operation. Relative to the stripmap operation, spotlight mode can provide a better resolution, stronger signal from the scene at the cost of reduced scene size or area imaging rate. The example also models the parameters of the azimuth chirp signal.

Design Specifications

The goal of this airborne SAR system is to provide an image of the target region at a distance up to 10 km from the airborne platform with a range and azimuth resolution of 1 m. The platform is operating at an altitude of 5 km and moving with a velocity of 100 m/s. The desired performance indices are probability of detection (Pd) and probability of false alarm (Pfa). These indices must attain a value of 0.9 for Pd and smaller than 1e-6 for Pfa.

slantrngres = 1;        % Required slant range resolution (m)
azres = 1;              % Required azimuth resolution (m)
maxrng = 10e3;          % Maximum unambiguous slant range (m)
pd = 0.9;               % Probability of detection
pfa = 1e-6;             % Probability of false alarm
v = 100;                % Velocity (m/s)
h = 5000;               % Radar altitude (m)

Airborne SAR System Design

We need to define several parameters of the radar system. In this section, system parameters like length of synthetic aperture for stripmap as well as spotlight modes, signal bandwidth which are key parameters that define the operational capability of a SAR system have been derived apart from parameters like beamwidth, integration time and coverage rate.

Signal Configuration

To calculate the SAR system parameters, we also need to know the wavelength of the propagating signal, which is related to the operating frequency of the system. Here, we set the operating frequency to 10 GHz considering X-band.

We use the freq2wavelen function to calculate the wavelength of the propagating signal.

freq = 10e9;                 % Radar Frequency within X-band (Hz)
lambda = freq2wavelen(freq)  % Wavelength (m)
lambda = 0.0300

The signal bandwidth maps to the slant range resolution of SAR and this in turn is the deciding factor needed to distinguish two targets separated by a distance. Slant range resolution gives you the minimum range difference needed to distinguish two targets. Use the rangeres2bw function to calculate the signal bandwidth which is determined by the slant range resolution.

pulse_bw = rangeres2bw(slantrngres)    % Pulse bandwidth (Hz)
pulse_bw = 149896229

Stripmap SAR Mode

The stripmap SAR mode assumes a fixed pointing direction of the radar antenna relative to the direction of motion of platform. Here, the antenna points to the broadside direction.

Antenna Orientation

The depression angle is often used to define the antenna pointing direction in elevation. This example assumes that the earth is sufficiently flat so that the depression angle is the same as the grazing angle.

We use the grazingang function to calculate the grazing angle from the line-of-sight range.

grazang = grazingang(h,maxrng,'Flat')  % Grazing angle (in degrees)
grazang = 30.0000

Antenna Azimuth Dimension

How do we decide the antenna azimuth dimension? The required azimuth resolution is often a deciding factor for antenna azimuth dimension.

The next step is to use the sarlen and sarazres functions to analyze and calculate the synthetic aperture length and its azimuth resolution for selecting the antenna azimuth dimension.

dazv = [1 1.5 2 2.5 3];    % Antenna azimuth dimensions (m)
striplenv = zeros(1,numel(dazv));
stripazresv = zeros(1,numel(dazv));
for i=1:numel(dazv)
    striplenv(i) = sarlen(maxrng,lambda,dazv(i));
    stripazresv(i) = sarazres(maxrng,lambda,striplenv(i));
end

helperPlotStripmapMode(stripazresv,striplenv,dazv,azres)

Figure contains 2 axes. Axes 1 contains 2 objects of type line, constantline. Axes 2 contains 2 objects of type line, constantline.

As can be seen from the figure above, a synthetic aperture length of 149.9 m for the stripmap mode corresponding to 1 m of required azimuth resolution can be a good choice. The smallest antenna dimension in azimuth we can use for stripmap SAR in this scenario is 2 m. However, to achieve image azimuth resolution less than 1 m the antenna dimension in azimuth must be increased for stripmap SAR imaging mode.

For the rest of this example, we select synthetic aperture length of 149.9 m for stripmap mode and antenna azimuth dimension of 2 m.

daz = 2
daz = 2
striplen = 149.9
striplen = 149.9000

Antenna Elevation Dimension

What should we use for deciding the antenna elevation dimension? The required swath length to be imaged is often used to define the antenna elevation dimension. We assume swath to be imaged along range is 2.4 km.

The next step is to use the aperture2swath function to analyze and calculate the swath length for selecting an antenna elevation dimension.

rngswath = 2400;
delv = [0.15 0.2 0.25 0.3 0.35];    % Elevation Dimensions (m)
rangeswathv = zeros(1,numel(delv));
for i=1:numel(delv)
    [rangeswathv(i),crngswath] = aperture2swath(maxrng,lambda,[delv(i) daz],grazang);
end
clf
plot(rangeswathv,delv)
grid on
xline(rngswath,'-.',{[num2str(round(rngswath,2)),' m']}); % Selected range swath
xlabel('Swath Length (m)')
ylabel('Antenna Elevation Dimension (m)')

Figure contains an axes. The axes contains 2 objects of type line, constantline.

As can be seen from the figure above, we choose the antenna elevation dimension of 0.25 m for the stripmap mode corresponding to 2400 m of required swath length along range to be imaged.

For the rest of this example, we select antenna elevation dimension of 0.25 m.

del = 0.25
del = 0.2500

Real Antenna Beamwidth and Gain

We use the ap2beamwidth function to calculate the real antenna beamwidth.

realAntBeamwidth = ap2beamwidth([daz del],lambda) % [Az El] (deg)
realAntBeamwidth = 2×1

    0.8588
    6.8707

We use the aperture2gain function to calculate the antenna gain.

antGain = aperture2gain(daz*del, lambda) % dBi
antGain = 38.4454

Synthetic Beamwidth, Processing Time, and Constraints

The section above covered the calculation of antenna dimension, signal bandwidth, and antenna beamwidth of a real aperture radar. The required design parameters mentioned above impose constraints on swath length and area coverage rate.

The next step is to use the sarbeamwidth, sarinttime, sarmaxcovrate and sarmaxswath functions to calculate the synthetic beamwidth, integration time, area coverage rate and maximum swath length. Notice that the azimuth beamwidth for SAR system is much smaller than the azimuth beamwidth for a real aperture radar.

stripsynbw = sarbeamwidth(lambda,striplen); % Synthetic beamwidth (degrees)
stripinttime = sarinttime(v,striplen);      % Integration time (sec)
stripcovrate = sarmaxcovrate(azres,grazang);      % Upper bound on coverage rate (m^2/sec)
stripswlen = sarmaxswath(v,azres,grazang);        % Upper bound on swath length (m)

RealAntenna = [realAntBeamwidth(1); NaN; NaN; NaN];
Parameters = ["Synthetic Beamwidth";"Integration Time";"Upper Bound on Swath Length";...
    "Upper Bound on Area Coverage Rate"];
StripmapSAR = [stripsynbw;stripinttime;round(stripcovrate/1e6,1);round(stripswlen/1e3)];
Units = ["degrees";"sec";"km^2/sec";"km"];
sarparams = table(Parameters,RealAntenna,StripmapSAR,Units)
sarparams=4×4 table
                Parameters                 RealAntenna    StripmapSAR      Units   
    ___________________________________    ___________    ___________    __________

    "Synthetic Beamwidth"                    0.85884       0.0057294     "degrees" 
    "Integration Time"                           NaN           1.499     "sec"     
    "Upper Bound on Swath Length"                NaN           173.1     "km^2/sec"
    "Upper Bound on Area Coverage Rate"          NaN            1731     "km"      

The azimuth resolution we can achieve using SAR in this scenario is 1 m. However, to achieve this performance, pulses need to be integrated for over 1.5 sec. The upper bound on area coverage rate is 173 km^2/sec. The upper bound on maximum swath length to be imaged is 1731 km.

Spotlight SAR Mode

Spotlight SAR is capable of extending the SAR imaging capability to high resolution imaging significantly. This is possible since the spotlight mode ensures that the radar antenna squints instantaneously around the region being imaged thereby illuminating the target region for longer duration as compared to stripmap mode.

Coherent Integration Angle

Achieved azimuth resolution in stripmap SAR is 1 m. Resolution of spotlight SAR is often expressed in terms of coherent integration angle of the radar boresight vector as the platform traverses the synthetic aperture length.

We use the sarintang and sarlen functions to calculate the coherent integration angle and synthetic aperture length.

ciang = sarintang(lambda,azres)    % (degrees)
ciang = 0.8589
len = sarlen(maxrng,'CoherentIntegrationAngle',ciang)   % (m)
len = 149.8976

The best azimuth resolution achievable in stripmap SAR is 1 m for antenna dimension of 2 m in azimuth. However, a specification to obtain 0.5 m resolution for spotlight SAR can be achieved using same antenna. This is obtained by steering the radar beam to keep the target within the beam for a longer time and thus form a longer synthetic aperture.

The next step is to use the sarlen and sarazres functions to analyze the synthetic aperture length and its azimuth resolution over varying coherent integration angles.

spotazres = 0.5;       % Azimuth resolution in spotlight SAR (m)
intangv = 1:0.01:2.5;  % Coherent integration angles (degrees)
spotlenv = zeros(1,numel(intangv));
spotazresv = zeros(1,numel(intangv));
for i=1:numel(intangv)
    spotlenv(i) = sarlen(maxrng,'CoherentIntegrationAngle',intangv(i));
    spotazresv(i) = sarazres(maxrng,lambda,spotlenv(i));
end

helperPlotSpotlightMode(spotazresv,spotlenv,intangv,spotazres)

Figure contains 2 axes. Axes 1 contains 2 objects of type line, constantline. Axes 2 contains 2 objects of type line, constantline.

As evident from the figure above, we choose the synthetic aperture length of 300 m for the spotlight mode corresponding to 0.5 m of azimuth resolution. For a coherent integration angle of 1.71 degrees, the azimuth resolution in spotlight mode is 0.5 m. However, to achieve similar azimuth resolution in stripmap mode, the antenna dimension in azimuth must be increased.

For the rest of this example, we select synthetic aperture length of 300 m and coherent integration angle of 1.71 degrees for spotlight mode.

spotlen = 300
spotlen = 300
intang = 1.71
intang = 1.7100

Synthetic Beamwidth, Processing Time, and Constraint

Relative to the stripmap operation, spotlight mode can provide a better resolution, stronger signal from the scene at the cost of reduced scene size or area imaging rate.

We use sarbeamwidth, sarinttime, sarmaxcovrate and sarmaxswath functions to calculate the synthetic beamwidth, integration time, area coverage rate and maximum swath length. Notice that the area coverage rate, maximum swath length for spotlight SAR system is much smaller than for a stripmap SAR.

spotsynbw = sarbeamwidth(lambda,spotlen);            % Synthetic beamwidth (degrees)
spotinttime = sarinttime(v,spotlen);                 % Integration time (sec)
spotcovrate = sarmaxcovrate(spotazres,grazang);      % Upper bound on coverage rate (m^2/sec)
spotswlen = sarmaxswath(v,spotazres,grazang);        % Upper bound on swath length (m)

SpotlightSAR = [spotsynbw;spotinttime;round(spotcovrate/1e6,1);round(spotswlen/1e3)];

sar = table(Parameters,StripmapSAR,SpotlightSAR,Units)
sar=4×4 table
                Parameters                 StripmapSAR    SpotlightSAR      Units   
    ___________________________________    ___________    ____________    __________

    "Synthetic Beamwidth"                   0.0057294      0.0028628      "degrees" 
    "Integration Time"                          1.499              3      "sec"     
    "Upper Bound on Swath Length"               173.1           86.5      "km^2/sec"
    "Upper Bound on Area Coverage Rate"          1731            865      "km"      

Azimuth Chirp Signal Parameters

In this section, azimuth chirp signal parameters like azimuth chirp rate, Doppler bandwidth, beam compression ratio, azimuth bandwidth after dechirp and azimuth time-bandwidth product have been derived. These are important parameters to design an accurate synthetic aperture processing mechanism in azimuth.

We use the sarchirprate function to calculate azimuth chirp rate at which the azimuth signal changes frequency as the sensor illuminates a scatterer.

azchirp = sarchirprate(maxrng,lambda,v); % (Hz/sec)

We analyze the azimuth chirp rate sensitivity to range and Doppler cone angle variations. We observe that increasing the unambiguous range of the radar reduces the azimuth chirp rate.

dcang = 60:1:120;         % Doppler cone angles (in degrees)
rngv = 1e3:100:maxrng;
azchirpv = zeros(length(dcang),length(rngv));
for i = 1:length(dcang)
    azchirpv(i,:) = sarchirprate(rngv,lambda,v,dcang(i));
end
clf
mesh(rngv/1e3,dcang,azchirpv)
xlabel('Range (km)')
ylabel('Doppler Cone Angle (degrees)')
zlabel('Azimuth Chirp Rate (Hz/sec)')
view([45 45]);

Figure contains an axes. The axes contains an object of type surface.

We use the sarscenedopbw function to calculate the scene bandwidth after azimuth dechirp. We assume scene size of 916 m.

Wa = 916;
bwdechirp = sarscenedopbw(maxrng,lambda,v,Wa); % (Hz)

We analyze the scene bandwidth sensitivity to Doppler cone angle variations.

bwdechirpv = zeros(length(dcang),1);
for i = 1:length(dcang)
    bwdechirpv(i,:) = sarscenedopbw(maxrng,lambda,v,Wa,dcang(i));
end
clf
plot(dcang,bwdechirpv)
grid on
xlabel('Doppler Cone Angle (degrees)')
ylabel('Azimuth Bandwidth after Dechirp (Hz)')

Figure contains an axes. The axes contains an object of type line.

Next, we use the sarpointdopbw and sarbeamcompratio functions to calculate the Doppler bandwidth of the received signal from a point scatterer and the beam compression ratio. Notice that the Doppler bandwidth, beam compression ratio for spotlight SAR system is much greater than for a stripmap SAR.

Stripmap SAR

stripbwchirp = sarpointdopbw(v,azres);  % (Hz)
striptbwaz = bwdechirp*stripinttime;    % Unitless
stripbcr = sarbeamcompratio(maxrng,lambda,striplen,Wa); % Unitless

Spotlight SAR Mode

spotbwchirp = sarpointdopbw(v,spotazres); % (Hz)
spottbwaz = bwdechirp*spotinttime;        % Unitless
spotbcr = sarbeamcompratio(maxrng,lambda,spotlen,Wa); % Unitless

Parameters = ["Doppler Bandwidth from Point Scatterer";"Azimuth Time-Bandwidth Product";...
    "Beam Compression Ratio";"Azimuth Chirp Rate";"Azimuth Bandwidth after Dechirp"];
StripmapSAR = [stripbwchirp;striptbwaz;stripbcr;round(azchirp);bwdechirp];
SpotlightSAR = [spotbwchirp;round(spottbwaz);round(spotbcr);round(azchirp);bwdechirp];
Units = ["Hz";"unitless";"unitless";"Hz/sec";"Hz"];
r = table(Parameters,StripmapSAR,SpotlightSAR,Units)
r=5×4 table
                   Parameters                   StripmapSAR    SpotlightSAR      Units   
    ________________________________________    ___________    ____________    __________

    "Doppler Bandwidth from Point Scatterer"         100             200       "Hz"      
    "Azimuth Time-Bandwidth Product"              916.02            1833       "unitless"
    "Beam Compression Ratio"                      916.02            1833       "unitless"
    "Azimuth Chirp Rate"                              67              67       "Hz/sec"  
    "Azimuth Bandwidth after Dechirp"             611.09          611.09       "Hz"      

SAR Power Calculation

The next section estimates the peak power that must be transmitted using the power form of the radar equation for stripmap SAR. The required peak power is related to many factors including the maximum unambiguous range, the required SNR at the receiver, and the pulse width of the waveform. Among these factors, the required SNR at the receiver is determined by the design goal of Pd and Pfa. We model and estimate the target RCS, the PRF and different sources of gain and loss for the radar system and its environment. We first calculate the SNR required at the receiver.

Receiver SNR

The relation between Pd, Pfa and SNR can be best represented by a receiver operating characteristics (ROC) curve.

snr_db = [-inf, 0, 3, 10, 13];
rocsnr(snr_db);

Figure contains an axes. The axes with title Nonfluctuating Coherent Receiver Operating Characteristic (ROC) Curves contains 10 objects of type line, text.

The ROC curves make it clear that to satisfy the design goals of Pfa = 1e-6 and Pd = 0.9, the received signal's SNR must exceed 13 dB. The approach above reads out the SNR value from the curve, but it is often desirable to calculate only the required value. Using Albersheim's equation, the required SNR can be derived as

snr_min = albersheim(pd, pfa)
snr_min = 13.1145

Target RCS

We use the landreflectivity function to calculate the reflectivity a.k.a. the normalized radar cross-section (NRCS) for a given grazing angle and operating frequency. The target RCS in the ground image plane is calculated using the sarSurfaceRCS and taking the radar resolution into account.

landType = "Smooth";    
nrcs = landreflectivity(landType,grazang,freq); % Calculate normalized RCS of smooth land with no vegetation
tgtrcs = sarSurfaceRCS(nrcs,[slantrngres azres],grazang);

Upper and Lower PRF Bounds

We use the sarprfbounds function to determine the minimum and maximum PRF values for a range swath and azimuth resolution given the radar velocity and the grazing angle.

[prfminv, prfmax] = sarprfbounds(v,azres,rngswath,grazang)
prfminv = 100
prfmax = 6.7268e+04

PRF Selection

The PRF is typically programmable and can be optimized for each mission. We use the sarprf function to calculate the PRF of the radar based on the radar velocity and the real antenna dimension along azimuth. We specify a constant roll-off factor as a safety margin to prevent mainlobe returns from aliasing in the PRF interval. If the PRF is set too low, the radar will suffer from grating lobes and Doppler ambiguities. If the PRF is set too high, range measurements will be ambiguous.

prf = sarprf(v,daz,'RollOff',1.5)
prf = 150

The selected PRF is within the PRF bounds.

Processing Gains

We use the matchinggain function to calculate the range processing gain due to the noise bandwidth reduction after the matched filter.

d = 0.05;                           % 5 percent duty cycle
pw = (1/prf)*d;                     % Effective pulse width (sec)
rnggain = matchinggain(pw,pulse_bw) % Range processing gain (dB)
rnggain = 46.9867

We use the sarazgain function to calculate the azimuth processing gain due to the coherent integration of pulses.

azgain = sarazgain(maxrng,lambda,v,azres,prf); % Az processing gain (dB)

Losses and Noise Factor

We use the noisefigure function to estimate the noise figure of the cascaded receiver stages. We assume 7 stages with the following values:

  • Stage 1 LNA: Noise Figure = 1.0 dB, Gain = 15.0

  • Stage 2 RF Filter: Noise Figure = 0.5 dB, Gain = -0.5

  • Stage 3 Mixer: Noise Figure = 5.0 dB, Gain = -7.0

  • Stage 4 IF Filter: Noise Figure = 1.0 dB, Gain = -1.0

  • Stage 5 IF Preamplifier: Noise Figure = 0.6 dB, Gain = 15.0

  • Stage 6 IF Stages: Noise Figure = 1.0 dB, Gain = 20.0

  • Stage 7 Phase Detectors: Noise Figure = 6.0 dB, Gain = -5.0

nf  = [1.0, 0.5, 5.0, 1.0, 0.6, 1.0, 6.0];        % dB
g   = [15.0, -0.5, -7.0, -1.0, 15.0, 20.0, -5.0]; % dB
cnf = noisefigure(nf, g)
cnf = 1.5252

We use the radarpropfactor function to calculate the one-way radar propagation factor over smooth land.

[hgtsd, beta0, vegType] = landroughness('Smooth');
tgtheight = hgtsd;
Re = effearthradius(maxrng,h,tgtheight);
propf = radarpropfactor(maxrng,freq,h,tgtheight,'EffectiveEarthradius',Re,'TiltAngle',grazang,...
    'ElevationBeamwidth',realAntBeamwidth(2),'SurfaceHeightStandardDeviation',hgtsd,'SurfaceSlope',beta0,...
    'VegetationType',vegType)
propf = -0.0042

We use the tropopl function to calculate losses due to atmospheric gaseous absorption.

atmoLoss = tropopl(maxrng,freq,tgtheight,grazang)
atmoLoss = 0.0733

Transmit Power

We use the radareqsarpow function to calculate the peak power with the SAR radar equation. Additional losses and factors including the azimuth beam shape loss, window loss, transmission loss and receive line loss can be specified. We estimate the beam shape loss with the beamloss function, and we use 5 dB for all other fixed losses combined. For this analysis, we use the (weakest) "Smooth" land target. A finite data collection time limits the total energy collected, and signal processing in the radar increases the SNR in the SAR image by two major gain factors. The first is due to pulse compression, and the second is due to coherently combining echoes from multiple pulses.

imgsnr = snr_min + rnggain + azgain; % (dB)
Lb = beamloss;
customLoss = 5;        % dB
sntemp = systemp(cnf); % Noise Temperature
Pt = radareqsarpow(maxrng,lambda,imgsnr,pw,rnggain,azgain,'Gain',antGain,'RCS',tgtrcs,...
    'AtmosphericLoss',atmoLoss,'Loss',cnf,'PropagationFactor',propf,...
    'Ts',sntemp,'CustomFactor',-Lb-customLoss)
Pt = 535.1030

Summary

This example demonstrates the aspects that must be calculated to design a X-band SAR system that can operate in stripmap and spotlight mode. The example demonstrates that the same SAR system can operate in stripmap as well as spotlight modes and achieve varying levels of resolution depending upon the requirements at the cost of other parameters. We analyzed and selected antenna dimensions to meet required resolutions. We estimated antenna gains, processing time, constraints, and the azimuth chirp signal parameters. We then estimated required SNR, target RCS, PRF, processing gains and losses in the radar and its environment. Finally, we used the SAR equation to calculate the peak transmit power.

Parameters = ["Antenna Dimension in Azimuth";"Antenna Dimension in Elevation";"Synthetic Aperture Length";...
    "Azimuth Resolution";"Synthetic Beamwidth";"Integration Time";"Upper Bound on Swath Length";...
    "Upper Bound on Area Coverage Rate";"Coherent Integration Angle";"Doppler Bandwidth from Point Scatterer";...
    "Azimuth Time-Bandwidth Product";"Beam Compression Ratio";"Azimuth Chirp Rate";"Azimuth Bandwidth after Dechirp"];
Stripmap = [daz;del;striplen;azres;stripsynbw;stripinttime;round(stripcovrate/1e6,1);round(stripswlen/1e3);...
    NaN;stripbwchirp;striptbwaz;stripbcr;round(azchirp);bwdechirp];
Spotlight = [daz;del;spotlen;spotazres;spotsynbw;spotinttime;round(spotcovrate/1e6,1);round(spotswlen/1e3);...
    intang;spotbwchirp;round(spottbwaz);round(spotbcr);round(azchirp);bwdechirp];
Units = ["m";"m";"m";"m";"degrees";"sec";"km^2/sec";"km";"degrees";"Hz";"unitless";...
    "unitless";"Hz/sec";"Hz"];
T = table(Parameters,Stripmap,Spotlight,Units)
T=14×4 table
                   Parameters                   Stripmap     Spotlight      Units   
    ________________________________________    _________    _________    __________

    "Antenna Dimension in Azimuth"                      2            2    "m"       
    "Antenna Dimension in Elevation"                 0.25         0.25    "m"       
    "Synthetic Aperture Length"                     149.9          300    "m"       
    "Azimuth Resolution"                                1          0.5    "m"       
    "Synthetic Beamwidth"                       0.0057294    0.0028628    "degrees" 
    "Integration Time"                              1.499            3    "sec"     
    "Upper Bound on Swath Length"                   173.1         86.5    "km^2/sec"
    "Upper Bound on Area Coverage Rate"              1731          865    "km"      
    "Coherent Integration Angle"                      NaN         1.71    "degrees" 
    "Doppler Bandwidth from Point Scatterer"          100          200    "Hz"      
    "Azimuth Time-Bandwidth Product"               916.02         1833    "unitless"
    "Beam Compression Ratio"                       916.02         1833    "unitless"
    "Azimuth Chirp Rate"                               67           67    "Hz/sec"  
    "Azimuth Bandwidth after Dechirp"              611.09       611.09    "Hz"      

References

[1] Carrara, Walter G., Ronald M. Majewski, and Ron S. Goodman. Spotlight Synthetic Aperture Radar: Signal Processing Algorithms. Boston: Artech House, 1995.

Supporting Functions

helperPlotStripmapMode

function helperPlotStripmapMode(stripazresv,striplenv,dazv,azres)
% Plot azimuth resolution vs. synthetic aperture length
subplot(1,2,1)
plot(stripazresv,striplenv)
grid on
xline(azres,'-.',{[num2str(round(azres)),' m']}); % Selected azimuth resolution
xlabel('Azimuth or Cross-range Resolution (m)')
ylabel('Synthetic Length (m)')

stripidx = find(abs(striplenv-150)<1); % Index corresponding to required azimuth resolution

% Plot synthetic aperture length vs. antenna azimuth dimensions
subplot(1,2,2)
plot(striplenv,dazv)
grid on
xline(striplenv(stripidx),'-.',{[num2str(round(striplenv(stripidx),2)),' m']}); % Selected synthetic length
xlabel('Synthetic Length (m)')
ylabel('Antenna Azimuth Dimension (m)')
end

helperPlotSpotlightMode

function helperPlotSpotlightMode(spotazresv,spotlenv,intangv,spotazres)
% Plot azimuth resolution vs. synthetic aperture length
subplot(1,2,1)
plot(spotazresv,spotlenv)
grid on
xline(0.5,'-.',{[num2str(round(spotazres,2)),' m']}); % Selected azimuth resolution
xlabel('Azimuth or Cross-range Resolution (m)')
ylabel('Synthetic Length (m)')

spotidx = find(abs(spotlenv-300)<1); % Index corresponding to 0.5 m azimuth resolution

% Plot synthetic aperture length vs. coherent integration angles
subplot(1,2,2)
plot(spotlenv,intangv)
grid on
xline(spotlenv(spotidx),'-.',{[num2str(round(spotlenv(spotidx))),' m']}); % Selected synthetic length
xlabel('Synthetic Length (m)')
ylabel('Coherent Integration Angle (degrees)')
end