05 Processing data

The radar basics - get to know your data, storing results, calibrating

Filter, Dewow, DC shift, Timezero & Gain

Why preprocessing?

Preprocessing is helping us to interpret better by increased visibility and for further processing.

In general the earth is surrounded by radio waves. Some occur naturally from earth and sun radiation. Think on radar applications throughout our general systems! There is radio and TV towers, signal for our mobile phones, radar measurement from military, tracking planes, sea ships and many more.

So called “noise” from radar applications is all around and it also shows on ground radar surveys as well. It is possible to remove the noise in different ways but not to eliminate it completely. Removing noise will especially help in analyzing more depth of a radargram.

Time Zero

# starting point of each trace
time0(x)

# first break at the moment
tfb <- firstBreak(x, w = 20, method = "coppens", thr = 0.05)

#plot
plot(pos(x), tfb, pch = 20, ylab = "first wave break",
     xlab = "position (m)")

# set time zero to actual first break	 
t0 <- firstBreakToTime0(tfb, x)
time0(x) <- t0     

#plot
plot(x[, 15], xlim = c(0, 100))  
abline(v = tfb[15], col = "blue")  

# a little shortcut  
  x <- estimateTime0(x, w = 20, method = "coppens", thr = 0.05, FUN = mean)

DC shift /DC offset ( dc = direct current)

#lets look at the trace
plot(x[, 15])  

plot(x[1:110, 15])

#plot the horizontal line
plot(x[, 15])  
abline(h = mean(x[1:110, 15]), col = "green")


x_dcs <- dcshift(x, u = 1:110) 

plot(x_dcs[,15])  

Correcting the Time Zero shift for the radar line

x_tc <- time0Cor(x_dcs, method = "pchip")

plot(x_tc)

Dewow

“wow” in context with radar means to remove low frequency component or wow-effects from each trace. There are three types of wow options within this specific package: median, mean and gaussian.

x_wow <- dewow(x_tc, type = "runmed", w = 50)     
# plot along
plot(x_wow)  

#plot differences
plot(x_wow - x_tc)   

#plot trace signals
plot(x_tc[,15], col = "blue")      
lines(x_wow[,15], col = "red") 

Gain

Gain filter function is used to amplify the radar signal. The signal is getting more week with longer time/depth. To overcome this the trace is amplified as a whole.
Tip: An image with a good applied gain filter should look a little “snowy” in the bottom part where the signal is not showing anything more. In this R package there are there filter option: power, exponential and automatic.

##check for current frequency
#plot single line trace
x4_env <- envelope(x_wow)

# plot all the trace amplitude envelopes 
trPlot(x4_env, log = "y", col = rgb(0.2,0.2,0.2,7/100))

# plot average over all traces
lines(traceStat(x4_env), log = "y", col = "red", lwd = 2)

The first break tells about how to choose the “te” in the gain function.

## power gain
x_g <- gain(x_wow, type = "power", alpha = 1, te = 220, tcst = 20)

#Compare the amplitude before and after
plot(traceStat(x4_env), log = "y", col = "red", lwd = 2)
lines(traceStat(envelope(x_g)), log = "y", col = "green", lwd = 2)

# try type "exponential
xx <- gain(x_g, type ="exp",  alpha = 0.02, t0 = 0, te = 125)
plot(traceStat(envelope(xx), log = "y", col = "blue", lwd = 2)

#compare results of frequencies
plot(traceStat(x4_env), log = "y", col = "red", lwd = 2)
lines(traceStat(envelope(x_g)), log = "y", col = "green", lwd = 2)
lines(traceStat(envelope(xx)), log = "y", col = "blue", lwd = 2)

Filter - Background Subtraction (time sensitive)

Background subtraction is one of many filter option to apply an a radargram. The technique behind is relatively new and removes so called flat-line banding. Especially the first “layer” of radar waves is often a strong banding effect. When removed, it is possible there might be objects to see. The filtering process is depended on the width it is applied to.
E.g. the surface could be interrupted and the banding effect is split in multiple parts. The width is set to the shortest lenght of disruption.

bgs <- backgroundSub(xxx, width = 21, trim = 0.02, s = 1, eps = 1, itmax = 5)
plot(bgs)
plot(bgs- xxx)