Synthetic Aperture Radar Systems - Laboratory Handbook
Synthetic Aperture Radar Systems - Laboratory Handbook
Synthetic Aperture Radar Systems - Laboratory Handbook
Editura
NAUTICA
CONTENTS
Page
Appendix 1 47
Appendix 2 49
Appendix 3 53
Bibliography 57
Laboratory work no. 1
1.1. Objectives
• Study the operating principle of pulse radar.
According to the type of signal emitted, active radar systems are classified into:
- Continuous wave (CW) radar, which emits a pure sinusoidal, continuous,
unmodulated signal. This type of equipment is not able to determine the
distance to which the target is located, being only able to indicate the
presence / absence of the target, the radar cross-section (RCS) and the
relative velocity of the target based on the Doppler Effect.
- Frequency-modulated continuous-wave (FMCW) radar, which emits a
continuous, frequency-modulated sinusoidal signal. It can at the same time
determine the distance and relative speed of the target.
- Pulse radar, which emits short radio pulses and is able to determine the
distance to the target. It is currently the most common type of radar.
Based on the transmitter and receiver locations, active radars are classified
into:
- Monostatic radar - the transmitter and the receiver are placed in the same
location (are co-located).
- Bistatic radar - the transmitter and receiver are separated by a distance
comparable to the distance to the target.
- Multistatic radar - a system that contains a multitude of monostatic or
bistatic radars, placed in different locations, serving a common coverage
area.
5
Laboratory work no. 1
1.3. Experiment
Necessary equipment
Other
2-channel Oscilloscope
6
Laboratory work no. 1
Procedure
1. Build the system in figure 1.2 using the components listed above.
CAUTION! Do not look in the direction of the broadcast antenna during system
operation. May cause blindness.
2. By manipulating the micrometric screw in the Gunn diode oscillator, adjust its
oscillation frequency to approx. 10 GHz.
4. Start the oscilloscope and adjust it to display the time evolution of two signals with a
frequency of approx. 1 kHz and amplitude of several tens of mV.
5. With all the settings in the middle of the scale, start the modulator signal generator
which also provides the polarization of the PIN diode in the PIN modulator.
CAUTION! Powering the oscillator before polarizing the PIN diode can lead to its
destruction.
7
Laboratory work no. 1
6. By adjusting the voltage to the minimum position, start the oscillator’s power supply.
7. Adjust the supply voltage of the oscillator until it starts oscillating (indicated by the
occurrence of a signal on the oscilloscope channel 1).
8. By adjusting the impedance adapter (slide screw tuner) the amplitude of the emitted
signal can be maximized, which leads to the increase of the target reflection seen on the
channel 2 of the oscilloscope.
In case of correct operation, an image similar to that in figure 1.4 should appear on the
oscilloscope screen.
9. By changing the positions and angles of the two targets (reflecting sheets), study the
effects on the reflected signal (oscilloscope channel 2).
System operation
On the transmission path, the microwave signal generated by the Gunn diode
oscillator is then attenuated by a variable attenuator which, besides adjusting the output
power, also provides the oscillator isolation function, thus reducing unwanted influences of
load variations on signal parameters. Next, the signal is amplitude modulated using the PIN
diode modulator. The detector in the waveguide segment with the detector (slotted line)
provides a voltage proportional to the power of the microwave signal transmitted by the
8
Laboratory work no. 1
guide, so the supplied voltage has the shape of the emitted signal envelope, i.e. the form of the
modulator signal.
This voltage is visualized on channel 1 of the oscilloscope. The impedance
adapter (slide screw tuner) has the function of adapting the impedance of the waveguide to the
impedance of the antenna, thus ensuring the maximum power transfer to it.
On the receive path, the target reflected signal is captured by the antenna and
applied to the crystal detector which, similar to the detector in the transmitter, provides a
voltage proportional to the received signal strength - its envelope, which is displayed on the
channel 2 of the oscilloscope.
Exercises
1) From the non-overlapping condition of the first received pulse with the second
pulse emitted by the radar, determine the maximum detection distance of a
target for the implemented system. (Rmax = c ∙ T / 2)
3) Assuming that in Figure 1.4 Δt = 10 ns, at what distance from radar is the
target? (R = c ∙ Δt / 2)
9
10
Laboratory work no. 2
2.1.Objectives
Implement a Doppler radar in SDR technology.
𝑓𝑡
∆𝑓 ≈ 2𝑣 (2.1)
𝑐
where ft is the frequency of the signal emitted by radar, c is the speed of light, v is the relative
speed of the target in the direction of the radar and Δf is the Doppler deviation Δf = fr - ft, where
fr is the frequency of the received signal.
From relation 2.1 the target speed is determined according to:
𝑐 ∆𝑓
𝑣 ≈ (2.2)
2 𝑓𝑡
11
Laboratory work no. 2
2.3. Experiment
Necessary equipment
Procedure
12
Laboratory work no. 2
The WBX radio module is mounted inside the USRP N200 SDR platform housing.
In order to establish the connection between the computer and the USRP N200 SDR,
it is compulsory that the computer network board is Gigabit. Otherwise, a Gigabit Ethernet
Switch between SDR and the computer is required. Using the switch also allows shared use of
the SDR by multiple users.
In the program’s Front Panel bring the following items from the Controls Palette:
- From the Modern / Numeric library Numeric Control, Numeric Indicator and
Meter blocks;
- From the Modern / Boolean library, Round LED and Stop Button blocks;
13
Laboratory work no. 2
- From the Modern / String & Path library String Control block;
- From the Modern / Graph library Waveform Graph block;
- From the Modern / Container library Tab Control and SubPanel blocks;
- From the Modern / I/O library IVI Logical Name block.
The niSRP Write Tx Data and niUSRP Fetch Rx Data blocks are configured as
follows (by clicking the arrow, the contextual menu appears):
The Stop button is configured (by right-clicking it and choosing the Properties option
from the context menu) as follows:
14
Laboratory work no. 2
To control the second While loop using the same stop button, create a local variable
associated with the button by right-clicking on it and choosing Create > Local Variable
from the context menu. Then right click on it and choose Change To Read from the
context menu.
15
Laboratory work no. 2
System operation
The system continually emits a constant frequency sine wave and continually measures
the magnitude of the wave reflected by the possible targets. If the magnitude of the reflected
wave is greater than the selected detection threshold, the system considers that it has detected a
target and calculates its velocity on the basis of the difference between the frequency of the
reflected wave and the emission frequency using formula 2.2.
16
Laboratory work no. 2
For the system presented, the baseband signal processing is performed on the computer,
by the software. The software is created with the LabVIEW graphical programming environment
and is shown in Figure 2.2.
The section of the program presented in figure 2.5 implements the SDR configuration,
setting the sampling frequency of digital-to-analog converters, local oscillator frequency,
amplifier gain, and antenna port.
The section in figure 2.6 sets the frequency of the sinusoidal modulator signal that will
modulate the carrier generated by the local oscillator onboard the SDR and sets the duration of
the transmit sequence, then calculates the normalized frequency of the modulator signal, the
number of samples of the transmit sequence and the frequency of the signal emitted by the
equipment, i.e. the frequency of the emitted radio wave, this being equal to the frequency of the
local oscillator in the SDR emission path + the frequency of the modulator signal.
17
Laboratory work no. 2
The next section of the program implements the configuration of the radio receiver
section of the SDR platform, setting the sampling frequency of the analogue-to-digital
converters, the local oscillator frequency (at the same value as the emission oscillator), the gain
of the amplifier, the antenna port and the duration of the acquired sequence. It also calculates the
number of samples of the sequence by multiplying the duration with the sampling frequency.
The program section in Figure 2.8 implements the transmit loop that generates the complex
baseband sinusoidal signal (composed of two sinusoids, one for the real, the other for the
imaginary part of the baseband signal) to be sent to the SDR in order to modulate the broadcast
carrier. It also displays graphically the time evolution of this signal.
18
Laboratory work no. 2
The program section in Figure 2.9 implements the receive loop where the received signal is
transferred to the computer, graphically displayed, tested whether the amplitude of any
component in its spectrum exceeds the detected detection threshold indicating the presence of a
target, and if the answer is affirmative, the frequency of the dominant component (with the
highest amplitude) is calculated and the frequency of the emitted signal is subtracted to obtain
the Doppler frequency deviation. Then, using the formula 2.2 the velocity of the target is
calculated and displayed.
The program section in Figure 2.10 stops communication with the SDR equipment and
displays any errors that may have occurred during the program's operation.
Exercises
1) What is the resolution in cm/s when measuring the speed with this system if the
frequency determination resolution is 5 Hz (calculated as the inverse of the
acquisition sequence duration = 1 / 0.2s) and the emission frequency is 2GHz?
2) What Doppler frequency deviation produces a target that travels at 200 Km/h for
the equipment presented in the previous point?
3) What is the speed measured by a Doppler radar oriented in a direction that makes
an angle of 30 degrees with the direction of the target movement?
20
Laboratory work no. 3
3.1. Objectives
Build a radar capable of determining the distance to the target using a Vector
Network Analyzer.
Port 1 Port 2
𝑠11 𝑠12
For a 2-port network (figure 3.1) S-matrix is: S = 𝑠 𝑠22
21
𝑏1 𝑏1 𝑏2 𝑏2
where s11 = , s12 = , s21 = , s22 = , a1 and a2 are the incident waves
𝑎1 𝑎2 𝑎1 𝑎2
(complex quantities that characterize the incident waves) and b1 and b2 are the reflected /
transmitted waves.
To measure parameter s11, a signal characterized by a1 is injected into port 1,
while the reflected signal characterized by b1 is measured, port 2 being terminated on a known
𝑏
load, typically 50Ω. Then s11 is determined using the relationship s11 = 𝑎1 .
1
equipment performs the measurements at different frequencies, starting from a minimum value
and incrementing the frequency value in equal steps, which is why the resulting radar will be
called stepped-frequency radar.
The typical block diagram of a VNA contains a variable-frequency sine wave
source, 4 receivers, 2 switches, and 2 directional couplers that separate the incident and reflected
waves (Figure 3.2).
Between the two ports of the VNA connects the device under test (DUT). In our
application, to use the analyzer as radar, two identical ultra-wide band antennas are connected at
both ports and the VNA is configured for measuring s21 (or s12) across the entire analyzer
frequency range. Thus, the equipment emits using one of the antennas a frequency-modulated
sinusoidal signal (a chirp) and receives the signal reflected by the potential targets with the other
antenna.
The array of s21 parameters resulting from the measurement (one value for each
tested frequency) is processed using the Inverse Discrete Fourier Transform, resulting in the
time-domain response of the radar’s environment containing the targets. This response can be
treated as the impulse-response of the environment (in the same way as the Inverse Fourier
Transform of a system’s Transfer Function is the impulse-response of that system, because the
frequency-dependent S parameters array is a kind of Transfer Function), and in its graphical
representation radar "echoes" produced by targets are easily identifiable. By simply multiplying
the time axis (abscissa) with the light velocity divided by 2, the Echo Amplitude vs. Distance
graph is created (figure 3.3). Such a representation in radar terminology is called an A-scope, A-
display or R-scope.
Target response
3.3. Experiment
Necessary equipment
Procedure
1. Connect the two Vivaldi antennas to the two ports of the Analyzer using the two
N-SMA adapters as shown in figure 3.4.
Figure 3.4: The analyzer equipped with the two Vivaldi antennas
2. Start and configure the Analyzer to work as a Vector Analyzer (not as a Spectrum
Analyzer, from the MEAS menu, setting Meas Mode -> Vector), without
calibration (accessing submenu Calibration -> Restore Calibration Settings),
displaying s21 parameter (accessing submenu Result Display -> Transmission
Fwd (Port 1 > 2)), in magnitude and phase format (submenu Format ->
Magnitude + Phase).
Set the frequency span to its maximum possible value accessing the menu SPAN
-> Full Span.
Choose the automatic sweep time accessing the menu SWEEP -> Auto SWP
Time, the sweep type as Single Sweep and the trigger as Trigger –> Free Run.
23
Laboratory work no. 3
The bandwidth of the filters is left in automatic mode from the BW -> Auto
RBW menu.
Set the trace display mode from the TRACE menu -> Trace Mode -> Clear /
Write.
4. Open FSH4View Version 2.70 and connect to the analyzer via USB as shown in
Figure 3.5.
24
Laboratory work no. 3
8. Open the two files, Correction.txt and Measurement.txt, in a text editor (eg.
Notepad++), and delete the first 47 lines containing the analyzer configuration
data.
Exercises
1) What is the resolution of the system, knowing that the analyzer bandwidth in the
𝑐
case of the full span setting is approx. 3 GHz? (δr = 2𝐵 ).
25
26
Laboratory work no. 4
4.1. Objectives
Process raw data images provided by a SAR satellite using MATLAB.
Like any radar, the SAR equipment emits radio pulses, followed by an echo
listening window, during which the equipment "listens" to the echoes and stores the received
signals in a column of a matrix called the raw data matrix.
The transmission and listening procedure is repeated at a PRI (Pulse Repetition
Interval) interval, where PRI = 1 / PRF (Pulse Repetition Frequency).
The raw data (two-dimensional) matrix is obtained, where each column contains
the samples of the echo received after a pulse.
The scene is thus sampled in time in two directions. Time in the direction of the
range is called fast time which alludes to the high velocity of propagation of electromagnetic
waves (speed of light) and the one in the direction of azimuth (in rows), called slow time
(sampled at the platform speed, obviously much lower than the speed of light).
Unlike photographic images, the raw image matrix provided by the synthetic
aperture RADAR cannot be interpreted directly by humans. To obtain a useful image, similar to
a photo, it is necessary to process the data through an operation called focusing.
Focusing the raw image involves the application of two separate filters (matched
filters) over the two dimensions - range and azimuth. Most often, the pulse transmitted by radar
is a linear chirp, which offers the advantage that it can be compressed by the range filter (figure
4.2), providing high resolution without the need for extremely short impulses and therefore high
peak powers.
(4.1)
28
Laboratory work no. 4
Since the azimuth response of a point target is also shown to be a chirp, the
azimuth processing (compression) is similar to the compression in the range, namely through a
cross-correlation with the reference function (chirp) deduced based on geometric features (slant-
range, real antenna aperture, radar platform speed).
The expression of the azimuth chirp is:
(4.2)
Figure 4.3: SAR image processing (raw data processing) - two matched filtering operations
Further on, in the current laboratory, raw data from the ERS (European Remote
Sensing) satellite will be processed using a MATLAB program that implements image focusing
based on the two cross-correlations described above.
4.3.Experiment
Necessary equipment
Procedure
2. Choose the test image to be processed and process it without multi looking (spatial
averaging), observing the results.
3. Select again the test image for processing and process it with multi looking
(spatial averaging), observing the results.
4. Select the real image from the ERS satellite and process it without multi looking
(spatial averaging), observing the results.
5. Select the real image from the ERS satellite and process it with multi looking
(spatial averaging), observing the results.
(Spatial averaging is required here because the range and azimuth resolutions are
not equal, resulting in pixels that are not square).
Exercises
1) Analyze the program in Appendix 2 and indicate the code sections that implement
the two matched filters (cross-correlations).
2) What is the reason why cross-correlations in the program are performed in the
frequency domain instead of being done in the time domain? (The cross-
correlation theorem shows that the Fourier Transform of the cross-correlation of
two signals is equal to the Fourier Transform of the first signal multiplied by the
complex conjugate of the Fourier Transform of the second signal.)
30
Laboratory work no. 5
5.1. Objective
Implement a SAR radar using a VNA and MATLAB data processing;
Compare the execution times for 2 focusing algorithms.
5.3. Experiment
Necessary equipment
31
Laboratory work no. 5
Procedure
1. Connect the two Vivaldi antennas to the two ports of the Analyzer via the two N-
SMA adapters as shown in figure 5.1.
2. Insert the SD Memory Card into the appropriate slot of the Analyzer to store the
measurements on it.
Figure 5.1: The analyzer equipped with the two Vivaldi antennas
3. Start and configure the Analyzer to work as a Vector Analyzer (not as a Spectrum
Analyzer, from the MEAS menu, setting Meas Mode -> Vector), without
calibration (accessing submenu Calibration -> Restore Calibration Settings),
displaying s21 parameter (accessing submenu Result Display -> Transmission
Fwd (Port 1 > 2)), in magnitude and phase format (submenu Format ->
Magnitude + Phase).
Set the frequency span to its maximum possible value accessing the menu SPAN
-> Full Span.
Choose the automatic sweep time accessing the menu SWEEP -> Auto SWP
Time, the sweep type as Single Sweep and the trigger as Trigger –> Free Run.
The bandwidth of the filters is left in automatic mode from the BW -> Auto
RBW menu.
Set the trace display mode from the TRACE menu -> Trace Mode -> Clear /
Write.
and then access the Trigger -> Free Run submenu. Following this command, the
Analyzer performs a new measurement, indicated by temporary showing an
asterisk in the top right corner of the Analyzer screen. After the asterisk
disappears, save the measurement data on the memory card by pressing the SAVE
/ RECALL key, then access the Save submenu. By default, the file name is
Dataset###.set, where ### is a number. For this first measurement, used as
correction data set, enter the name Correction.set.
6. Perform a new measurement with the Analyzer placed at the far left of its route,
the origin of the measuring tape, following the same procedure as in Section 4,
with the difference that the file name will be Ach001.set, then move the Analyzer
5cm to the right on the measuring tape and perform a new measurement, the name
of the new file being Ach002.set (the analyzer increments the number of the file
name itself), repeating this procedure until the acquisition of 41 files is completed,
which corresponds to a synthetic aperture of 2m (40 * 5cm).
7. Remove the memory card from the Analyzer and insert it into the Computer
(possibly using an SD card reader).
8. Create a new folder, called Data, on the computer where the measurement files
will be stored. Open the FSH4View program, close the first window (the one for
connecting the Analyzer to the computer) and access the File -> Convert Files
menu. In the window that opens, select the source files (the files with the
measurements from the SD card) and in the next window, indicate as destination
folder the newly created Data folder and the ASCII Files(* .TXT) format for the
files that will result following the conversion procedure.
9. Using a text editor (eg Notepad ++) create a file named DeleteLines.bat that will
contain the following code line:
FORFILES /m *.txt /C "cmd /c more +47 @file > @file.nou & move /y @file.nou @file > nul"
Place the file DeleteLines.bat in the converted files folder and execute it. It
automatically deletes the first 47 non-useful lines in each file that has txt
extension in the folder where it is placed.
10. Run the two versions of the data processing program in MATLAB,
Processing_SAR_VNA_v1.m and Processing_SAR_VNA_v2.m, listed in
Appendix 3. The previously created Data folder must be in the same folder as the
program Processing_SAR_VNA_vx.m, where x is 1 or 2.
33
Laboratory work no. 5
11. Analyze and compare the resulting images and running times for the two
program variants.
Exercises
1) Modify the programs so that the pixel intensity of the resulting image is
proportional to the logarithm of pixel values, then to their exponential.
34
Laboratory work no. 6
6.1. Objectives
Familiarize with the methods of processing and visualising data from different
common polarimetric SAR platforms.
The basic concept of SAR polarimetry is given by the 2x2 complex scattering
matrix (Sinclair scattering matrix) that describes the transformation of the two-dimensional
transmitted (e.g., incidence) plane wave vector Ei into the received (e.g., scattered) wave vector
Er (two-dimensional in the far field of the scatterer) performed by the scatterer (eq. 6.1). Both
vectors are two-dimensional, having a horizontal component EH and a vertical component EV, in
the case of plane waves.
(6.1)
where SIJ are the four complex scattering amplitudes and horizontal (H) or vertical
(V) indicate associated received and transmitted polarization. The most common type of
implementation measures the S matrix by sending and receiving using all four combinations of
linear polarizations (Figure 6.1):
35
Laboratory work no. 6
6.3. Experiment
Necessary equipment
Procedure
1. PolSARpro program comes with a set of test data, acquired with different SARs,
found on the computer at the location: ~ / PSP_demo / Sample_data, where ~
represents the user's directory. Open and process the data set from the AIRSAR
airborne platform. For this, after opening the PolSARpro program, in the first
window choose ENTER, then in the next window - the Program Menu window,
select the AIRSAR option by clicking the corresponding button as in the
following figure:
36
Laboratory work no. 6
2. Go to the Environment menu and, in the window that opens, enter the path to the
data acquired over Flevoland (The Netherlands) and make the settings in figure
6.3, then click Save & Exit:
3. Access the Import -> Input Data File menu and in the window that opens make
the settings:
4. In the previous menu, click the Read Header button followed by OK.
5. Access the Import -> Extract -> Full Resolution menu and in the window that
opens, click the Run button.
6. To view the generated images, access the Display menu, then BMP Viewer, and
in the window that opens, choose the location of the .bmp files generated by the
data processing:
Exercises
39
40
Laboratory work no. 7
7.1. Objectives
Segmentation of a Polarimetric SAR Image Using the Wishart distribution of the
second order polarimetric SAR data matrix.
The entropy and the parameter α calculated for a polarimetric data set provide
sufficient information to segment the SAR image in a very simple manner, allowing image
segmentation in regions that correspond to urban areas, agricultural fields, water bodies (rivers,
lakes, seas, oceans).
7.3.Experiment
Necessary equipment
Procedure
1. Select the type of data as AIRSAR, as in the previous lab, then in the
Environment menu, choose the path to the data acquired over San Francisco
(USA), as in figure 7.1.
41
Laboratory work no. 7
2. Access the Import -> Input Data File menu and in the window that opens
make the following settings:
3. Click the Read Header button, and since the file does not contain information
about the number of rows and columns of the raw data matrix, insert them
manually, as in figure 7.3.
42
Laboratory work no. 7
4. Access the Import -> Extract -> Full Resolution menu and in the window
that opens, click the Run button.
43
Laboratory work no. 7
7. To view the generated images, go to the Display menu, then the BMP Viewer
and in the window that opens, choose the location of the file wishart_H_
alpha_class_3.bmp generated by the data processing.
44
Laboratory work no. 7
Exercises
The unsupervised (the example in the lab) classification of digital images implies
creating pixel groups that represent geographic features without first knowing what is to be
classified. Practically, pixels are built into cluster classes, and then it is checked whether clusters
have meaning in the analyzed digital image.
In order to form the classes, the spectral response of all pixels is analyzed by
statistical methods and based on the statistical analysis results the pixels are grouped into
clusters. Analysis and calculation are done automatically by software.
In practice, the two classification methods are used in combination. First, using
unsupervised classification, clusters (classes) are constructed, and then, through a supervised
cluster classification, they are ignored and joined to those of significance. This only preserves
clusters with meaning for the decision to classify the rest of the landscape.
45
46
Appendix 1
Processing_radar_VNA.m MATLAB Program
[Laboratory 3]
47
Appendix 1
48
Appendix 2
Processing_SAR_ERS.m MATLAB Program
[Laboratory 4]
%--------------------------------------------------------------------------
% Multilooking yes/no?:
text=['Press m to perform averaging (multi-looking), or any other key to '...
'not perform: '];
selection = input(text, 's');
if selection == 'm'
multilook = 1; % 0: no; 1: yes
factor_ml = 5; % multilooking factor
else
multilook = 0;
end
%--------------------------------------------------------------------------
% C.) Display the raw image (absolute values because it is made up of complex
%numbers):
figure;
imagesc(abs(raw_data));colormap('gray');
title('The raw SAR image (unfocused)'); xlabel('Range'); ylabel('Azimuth');
axis equal; axis off;
%--------------------------------------------------------------------------
%--------------------------------------------------------------------------
% Place the generated chirp at the center of a vector with a length equal to
%the range size of the raw data matrix:
range_chirp(ceil((range_size- ...
range_chirp_length)/2):range_chirp_length+ceil((range_size-
range_chirp_length)/2)-1)=temp_range_chirp;
%--------------------------------------------------------------------------
50
Appendix 2
%--------------------------------------------------------------------------
figure;
subplot(2,1,1); plot(t,real(temp_azimuth_chirp),'b'); hold on;
plot(t,imag(temp_azimuth_chirp),'r');
title('Azimuth chirp'); xlabel('Time [s]'); ylabel('Amplitude');
xlim([min(t) max(t)]);
subplot(2,1,2); plot(v, abs(fftshift(fft(temp_azimuth_chirp))));
title('Spectrum of azimuth chirp '); xlabel('Frequency [Hz]');
ylabel('Magnitude');
xlim([min(v) max(v)]);
%--------------------------------------------------------------------------
% Place the generated chirp at the center of a vector with a length equal to
%the azimuth size of the raw data matrix:
azimuth_chirp(ceil((azimuth_size-
azimuth_chirp_length)/2):azimuth_chirp_length+ceil((azimuth_size-
azimuth_chirp_length)/2)-1)=temp_azimuth_chirp;
%--------------------------------------------------------------------------
%-------------------------------------------------
for k1 = 1:azimuth_size
vector = raw_data(k1,:); % Row selection
VECTOR = fft(vector); % Fourier Transform
CORR = VECTOR.*CONJ_RANGE_CHIRP; % Spectrum
%multiplication
if_vector = fftshift(ifft(CORR)); % Inverse Fourier
%Transform
processed_image(k1,:) = if_vector;
end
%-------------------------------------------------
51
Appendix 2
for k2 = 1:range_size
vector = processed_image(:,k2); % Column selection
VECTOR = fft(vector); % Fourier Transform
CORR = VECTOR.*CONJ_AZIMUTH_CHIRP.'; % Spectrum
%multiplication
if_vector = fftshift(ifft(CORR)); % Inverse Fourier
%Transform
processed_image(:,k2) = if_vector;
end
%--------------------------------------------------------------------------
if multilook == 1
index=1;
end
%--------------------------------------------------------------------------
figure;
imagesc(abs(processed_image));colormap('gray')
title('Focused SAR image')
xlabel('Range','FontSize',12); ylabel('Azimuth','FontSize',12);
caxis([0 max_power]);
axis equal; axis off;
%--------------------------------------------------------------------------
52
Appendix 3
Processing_SAR_VNA_v1.m MATLAB Program
[Laboratory 5]
% Based on Gorham, L.A. and Moore, L.J., "SAR image formation toolbox for
% MATLAB," Algorithms for Synthetic Aperture Radar Imagery XVII
% 7669, SPIE (2010).
clear all;
%define experiment parameters-------------------------------------
half_angle=20; %antenna real aperture (3dB half-angle) [degrees]
dist_increment=0.05; %distance increment between successive measurements [m]
image_length=3; %final image length [m]
scene_altitude=0; %altitude of the analyzed scene relative to the radar [m]
%auto computed parameters--------------------------------------------------
np = length(dir(['Data', '\*.txt']))-1; %no. of measurements = no. of files -
%correction
image_width = dist_increment * (np-1); %final image width [m]
%constants-----------------------------------------------------------------
c = 299792458; %light speed [m/s]
%----------------------antennas coupling correction------------------------
dat=load('Data\Correction.txt'); %load correction data
freq=dat(:,1); %extract frequencies
magnitude_dB=dat(:,2); %extract s21 parameters magnitudes in dB
magnitude=10.^(magnitude_dB/20); %convert from dB
phase=dat(:,3)*pi/180; %extract s21 parameters phases in radians
s21=magnitude.*exp(1i*phase); %compute complex s21 array
correction=s21; %correction array
f_start=freq(1); %start frequency [Hz]
delta_f=freq(2)-freq(1); %frequency increment (resolution) [Hz]
%---------------create raw data matrix from acquired data------------------
data.phdata=[];
for cnt = 1 : np
file=['Data\Ach' num2str(cnt,'%03d') '.txt'];
dat=load(file); %load data
magnitude_dB=dat(:,2); %extract s21 magnitudes in dB
magnitude=10.^(magnitude_dB/20); %convert from dB
phase=dat(:,3)*pi/180; %extract s21 phases in radians
s21=magnitude.*exp(1i*phase); %compute complex s21 array
s21=s21-correction; %correct for antennas coupling
data.phdata=[data.phdata s21]; %create raw data matrix
end
data.deltaF=delta_f; %frequency resolution [Hz]
data.minF=f_start; %start frequency [Hz]
data.K = size(data.phdata,1); %frequencies / pulse
data.Np = size(data.phdata,2); %no. of pulses
data.Nfft = 2^(nextpow2(10*data.K)); %total number of IFFT bins
data.maxWr = c/(2*data.deltaF); %maximum scanned range [m]
53
Appendix 3
54
Appendix 3
% Based on Gorham, L.A. and Moore, L.J., "SAR image formation toolbox for
% MATLAB," Algorithms for Synthetic Aperture Radar Imagery XVII
% 7669, SPIE (2010).
clear all;
%define experiment parameters-------------------------------------
half_angle=20; %antenna real aperture (3dB half-angle) [degrees]
dist_increment=0.05; %distance increment between successive measurements [m]
image_length=3; %final image length [m]
scene_altitude=0; %altitude of the analyzed scene relative to the radar [m]
%auto computed parameters--------------------------------------------------
np = length(dir(['Data', '\*.txt']))-1; %no. of measurements = no. of files -
%correction
image_width = dist_increment * (np-1); %final image width [m]
%constants-----------------------------------------------------------------
c = 299792458; %light speed [m/s]
%----------------------antennas coupling correction------------------------
dat=load('Data\Correction.txt'); %load correction data
freq=dat(:,1); %extract frequencies
magnitude_dB=dat(:,2); %extract s21 parameters magnitudes in dB
magnitude=10.^(magnitude_dB/20); %convert from dB
phase=dat(:,3)*pi/180; %extract s21 parameters phases in radians
s21=magnitude.*exp(1i*phase); %compute complex s21 array
correction=s21; %correction array
f_start=freq(1); %start frequency [Hz]
delta_f=freq(2)-freq(1); %frequency increment (resolution) [Hz]
%---------------create raw data matrix from acquired data------------------
data.phdata=[];
for cnt = 1 : np
file=['Data\Ach' num2str(cnt,'%03d') '.txt'];
dat=load(file); %load data
magnitude_dB=dat(:,2); %extract s21 magnitudes in dB
magnitude=10.^(magnitude_dB/20); %convert from dB
phase=dat(:,3)*pi/180; %extract s21 phases in radians
s21=magnitude.*exp(1i*phase); %compute complex s21 array
s21=s21-correction; %correct for antennas coupling
data.phdata=[data.phdata s21]; %create raw data matrix
end
data.deltaF=delta_f; %frequency resolution [Hz]
data.minF=f_start; %start frequency [Hz]
data.K = size(data.phdata,1); %frequencies / pulse
data.Np = size(data.phdata,2); %no. of pulses
data.Nfft = 2^(nextpow2(10*data.K)); %total number of IFFT bins
data.maxWr = c/(2*data.deltaF); %maximum scanned range [m]
N_pix_v=floor(image_length/data.maxWr*data.K*2); %focused image vertical no.
%of pixels
55
Appendix 3
56
Bibliography
2. Ettus research - WBX 50-2200 MHz Rx/Tx (40 MHz) RF Daughterboard Manual.
6. Stefan Auer, Florian Burkert, Stefan Gernhardt, "SAR image focusing with MATLAB",
Technische Universitat Munchen.
7. LeRoy A. Gorham, Linda J. Moore, "SAR image formation toolbox for MATLAB",
Proc. SPIE 7699, Algorithms for Synthetic Aperture Radar Imagery XVII, 769906
(April 18, 2010); doi:10.1117/12.855375; http://dx.doi.org/10.1117/12.855375.
8. PolSARpro Tutorial.
57