You are on page 1of 27

2

0
0
8

T
h
e

M
a
t
h
W
o
r
k
s
,

I
n
c
.

USE OF MATLAB FOR RADAR
REMOTE SENSING OF FORESTS
Gustaf Sandberg, PhD student
Chalmers University of Technology
2

Matlab is used in all parts of the research
process
3

Radars are more than target detection
Military radars
Air traffic control
Speed control
Maritime navigation
Weather radar
Wind speed (at sea)
Crop/forest biomass
and more
The CARABAS and LORA system.
Developed and operated by the Swedish
defence research agency (FOI). Used for
forest biomass estimation.
4

Research in the radar remote sensing
group at Chalmers
Effects of the ionosphere
Sea ice monitoring
Wind over oceans
Ocean waves
Signal processing algorithms
Calibration and validation
Forest biomass retrieval
Advanced modelling of backscatter from forests
5

Radar signal depends on forest biomass
Penetrates clouds
Independent of light conditions
Low frequencies (<~2 GHz) penetrates canopy
Interaction with stem and/or branches
Large stem + branches strong return
Lower frequencies higher sensitivity
6

The BIOSAR experiment: A case study
Access precision of forest
biomass measurements
Swedish test site near
Skara
International collaboration
Funded by ESA
Image shows radar image
(7 x 8 km
2
, courtesy DLR)
7

The data needs to be processed before it
is analyzed
8

Many different kinds of data available.
9

Data processing example: Combine in-
situ and lidar data
In-situ measurements
for 10 stands (blue)
Lidar measurements
for 59 stands (red)
Wish to combine the
datasets
Problem: overlapping
stands
Image size is 4 by 1 km
2
10

Data processing example: Combine in-
situ and laser data
In-situ measurements
more accurate
Remove overlapping
lidar stands
Find intersections
using polybool
(Mapping toolbox)
Remove stands with
non-empty intersection
Red defines the intersection found
using polybool. Example from the
Matlab help.
11

Data processing example: Combine in-
situ and laser data
Example code:
% Extract the vertices for the in-situ stands
[x1, y1] = poly2cw(trees(n).polygon_UTM33(:,1),trees(n).polygon_UTM33(:,2));
for k=1:length(forest_stands_lidar)
% Extract the vertices for the "Lidar stands"
[x2,y2]=deal(forest_stands_lidar(k).polygon(:,1),forest_stands_lidar(k).polygon(:,2));
% Find the polygon vertices for the area covered by both the in-situ
% and the "Lidar stands".
[x,y]=polybool('and',x1,y1,x2,y2);
% If this common polygon exists, the areas overlap
if ~isempty(x)
include_stand(k)=false;
end
end
12

The initial data analysis is needed to get
to know the data
13

Matlab is well suited for initial data
analysis
No need to initialize variables
Easy to plot data and view images
Cells are very useful for experiment code
Variable editor for examination of variables
Fast enough calculations for most purposes
14

Initial data analysis example: Examine
stand polygons
Want to check the stand polygons
Visual inspection suitable
Example code:
% Load the stands for which lidar estimates exist
load('C:\Work\RS_BIOMASS\Biomass_map_lidar\biomass_map\forest_stands_Lidar.mat','
forest_stands_lidar')
% Look at the polygons
figure
for k=1:length(forest_stands_lidar)
plot(forest_stands_lidar(k).polygon(:,1),forest_stands_lidar(k).polygon(:,2))
title(forest_stands_lidar(k).stand_id)
axis equal
pause
end
15

Statistical analysis is an essential part of
the research
16

Strong support for statistical analysis
Linear regression is often used
Extensive support in Matlab
Very easy to use
Non-linear regression also supported
Many probability distributions supported
A multitude of statistical tests possible
17

Statistical analysis example: Linear
regression
Assume backscatter linearly dependent on biomass
Estimate parameters
Calculate confidence bounds
Calculate backscatter estimates from model
Calculate mean squared error
Calculate adjusted R
2
coefficient
18

Statistical analysis example: Linear
regression
Example code:
% Define the linear model
gamma0L=@(b,biomass) [ones(size(biomass)),biomass]*b;
% Estimate parameters and CI
[b_Lband_L,bint_Lband_L]=regress(gamma0_Lband,[ones(size(biomass)) biomass]);
% Calculate the estimated backscatter using the linear model
gamma0_insitu_Lband_Lest=gamma0L(b_Lband_L,biomass_insitu);
gamma0_Lidar_Lband_Lest=gamma0L(b_Lband_L,biomass_Lidar);
% Calculate the mean squared error
MSE_Lband_L=mean(abs(gamma0_Lband-gamma0L(b_Lband_L,biomass)).^2);
% Calculate adjusted R2 coefficient
R2_Lband_L=1-MSE_Lband_L/MSE_Lband_C;
R2adj_Lband_L=1-(1-R2_Lband_L)*(Nsamples-1)/(Nsamples-1-1);
19

Statistical analysis example: Hypothesis
testing
Null hypothesis: Constant backscatter
Alternate hypothesis: Linear dependence on biomass
Use generalized likelihood ratio test
The test variable is chi-2 distributed
Can test for significance of alternate hypothesis
20

Statistical analysis example: Hypothesis
testing
Example code:
% Number of samples
Nsamples=length(biomass);
% Significance level 5 %
a=0.05;
% Test variable limit for tests with 1 degree of freedom
testvar_lim=chi2inv(1-a,1);
% H0: Constant model. H1: Linar model
% The test variable is chi-squared distributed, 1 degree of freedom
testvar_Pband_CvsL=Nsamples/sigma2*(MSE_Pband_C-MSE_Pband_L);
21

The final stage: visualization and
presentation
22

Visualization of results is necessary
Matlab allows easy plotting of data
Custom settings nice plots
Possible to change most settings
Many image formats supported
23

Visualization example: The basic plot
The basic plot is frequently used
Plot backscatter vs. biomass
Include models with estimated parameters
Set axis limits
Define legends and axis labels
24

Visualization example: The basic plot
Example code:
biomass_lin=linspace(0,bmax,200)';
plot(biomass_insitu,gamma0_insitu_Lband,'*',...
biomass_Lidar,gamma0_Lidar_Lband,'x',...
biomass_lin,gamma0L(b_Lband_L,biomass_lin),'--',...
biomass_lin,gamma0WC(gamma0_veg_Lband,gamma0_gr_Lband,c_Lband_WC,...
biomass_lin/cos(mean([incang_insitu_Lband;incang_Lidar_Lband]))),'-')
xlabel('Biomass [tons/ha]','Interpreter','Latex')
ylabel(['$\gamma_{',pol,'}^0 [m^2/m^2]$'],'Interpreter','Latex')
grid
axis([0 bmax 0 gmaxLband])
legend('In-situ estimated biomass','Lidar estimated biomass',...
'Linear Model','Water cloud model','Location','NorthWest')
print(gcf,'-dmeta',fullfile(results_dir,['Forward_',pol,'_Lband',scenario]))
25

L-band (1.3 GHz) radar backscatter vs.
biomass.
26

Same plot for P-band (435 MHz). Lower
frequencies better results.
27

Conclusion: Matlab is used in all parts of
the research process
Illustrated by examples from case study
Many more examples available
Easy solutions to many problems
Single programming language reduces complexity
Many clever solutions, e.g. cells

You might also like