At a loss with the compass my attention has wondered to a thought experiment regarding GPR or Ground Penetrating Radar.
I was asked a while ago by a friend if it was possible to build a GPR DIY style. At the time i thought no there is no way.. A few years have passed since and i thought i would revisit the idea.
So What is GPR. Its just like normal Aircraft Radar. Aircraft Radar works by sending out a radio wave or pulse and listening for the signal to bounce off and return. If you know the direction of where you sent the pulse and how long the pulse takes to return, if you measure the difference in the frequency of the echo you get the speed of the aircraft. look up the Doppler effect for the speed i wont go into that here as the ground has no speed.
So with GPR the same thing happens, only we send the pulse into the ground and wait for the reflections. as a Radio wave is just a light wave in a different band the distance traveled is the same as the speed of light. there should be a little shift in this value (according to my logic in my head) for when traveling through rock, soil, sand and water, but i haven't found this information on the net i may not need to worry about it as this device would be just a indicator of where you might find something, not a life or death situation.
Having a little search around on the internet I see that High frequencies don't travel well through solid objects, i found a note on a forum that said the signals with the best results for GPR are likely to be around 10Mhz to 100Mhz. From playing around in the past i should be able to generate a pulse in that range and receive it with a pair of small antenna's. The hard part will be counting the time travel time of the pulse.
Lets define a few parameters.
Depth : 30 Meters
Resolution (D) : < 1 Meter
Resolution (H) : < 1 Meter^2
To work out what hardware will be required we need to do a little maths.. First the speed of Light is 299792358m/s. that means our pulse will travel 299792358 meters in one second. if we are to get <1m accuracy in the Depth Axis we will need to count really fast. Aircraft Radar has a lower resolution that we need, the planes are further away so the timing is easier with old hardware. if we are to have a range of 30 or so meters we will need to be able to count for
(30*2)/299792358 = 1 / 4996539.3 = 0.0000002 or 200ns (*2 is because we need to time the reflection so 50 meters)
our Resolution will depend on how high we can count to. in 200ns. i don't know of too many MCU's that are capable of achieving the speeds this is looking like requiring. so lets do the maths and see.
if we can count to 4 in 200ns that will mean 60m/4 = 15m / count.
in 200ns the pulse/wave will travel 60meters, if we want sub meter resolution we will need to break that 200ns into slots, 4 slots would = 15meters per slots. not very clear, clearer than a traditional metal detector. but not GPR worthy.
what if we can count to 256 in 200ns?
60/256 = 0.2343m/count or 23cm so when we see i ping bounce back on the display, and it is actually at 1meter depth, our system may report it as being between 1.00m and 1.25m if its actually at 1.1meters depth the system may report it at a depth of between 1.0 and 1.25m. not to bad if you had to dig another foot or a foot less that's ok with me.
so to count to 256 in 200 nano seconds we need a clock of... 1.28Ghz.. ARGH!!!!
as i said i dont know of a MCU that will do this...
As a possible solution to the crazy clocking speeds I would need on a MCU what actually needs to happen at that rate is, when an echo is received we need to know the time. echo strength would be nice too, that would depend on the radio set used if that information is available. what we might be able to do is have a free running oscillator at 1.2Ghz that is fed to a 8bit counter, then when an echo is read the count/time is stopped and is latched out of the counter and presented to a user in a usable fashion.
This system will work for a the first echo. now the output i have seen on TV when these things are used on documentary films is a multiple echo report. that is their data uses multiple echos to create the map for interpretation..
Depending on what we want to use the GPR for this may be all that we need, to overcome this limitation my first solution is a simple one, have multiple (A)counters all started and reset in parallel but stopped and read out individually by a second (B)counter or gate that counts the number of echos. so the theory is, the (B)counter counts echos and stops (A)counter1 when on the first echo, (A)counter2 is stoped on echo pulse 2 and so on until there are no more counters. the MCU is then free to read the counters out and do some maths and present the data.
I would like to know the nitty and gritty of how the commercial units do the data acquisition are they doing it at these speeds? i don't think so from what i read on the net for shallower GPR a higher base frequency is used but its the reflection time that gets reduced by a massive amount that results in the crazy high clock speed that i have calculated, and they are probably much higher when they use a GPR on a shallow setting..
so my parts list would look something like this..
Rf Transmitter 20-100Mhz
Rf Receiver 20-100Mhz
GPS ( so the data can be mapped against an existing map)
1.2Ghz clock and counter
looking at Element14.com i am not seeing a easy way for me to be generating 1.2Ghz clock for the counter. I have located
8bit Counter MC100E137FNG @ $20au each. its rated to 2.2Ghz :)
10ghz oscilator @$66au ea will need a gate and buffer
ITDB02 2.4E LCD with touch screen
UNO32 Arduino clone80MIPS
RF transmitter and receiver to be located. or constructed from discrete components (the old school way. .that is the hard way)
so the plan is to us the 1Ghz oscillator to clock the counter until an echo signal is received, stop the clock and display the number that results. maybe i could use one counter and stop it with a second counter like the above idea but without the multiple counters, this will require me to make multiple passes at the one spot but with a sample time of 200ns i think this could be an option for a hand held device. with a 1Ghz clock each count on the timer will be 1ns to get the 200ns that equals 60 reflected meters i would need to count to 200. a count of 256 would be equal to 38.4 meters if our power level allows.
that leads me to another method of capturing multiple echo's with one timer, some how it maybe possible to alter the power of the ping in say 5 steps then make a reading at each power level and accumulate the data into something understandable.
having troubles of thinking of a place that would be good to test this. maybe a cemetery but thats just a bit rude.. I know of a place where i could use it to find some interesting structures but i need to be able to confirm my GPR results, ie dig a hole.. thats why a cemetery would be good (for at least the first 6 or so feet of depth).. the plots are all marked out in rows nice and neat and uniform.
So over the next few weeks i might gather up some bits and pieces and see what can't be seen..