Going deeper
I spent last few weeks experimenting with TGLS and Arduino VDI. Here are the findings.
Deriving VDI from TGLS X,R signals can be improved if we analyze the signals a little more.
Here is the aluminum foil as seen by the Arduino.

We can see that the angle is all over the place. I we select minimum signal strength then we may get lucky and fall in the right place.
Here is the copper 1 cent US

The angle is mostly around 80 but is does swing to -80.
Silver ring

Both of the signals have something in common; when R is positive then the angle is in the phase we want.
So requirements to get correct angle are:
- minimum signal level to distinguish the signal from the noise
- positive R value
This should get us into the right ballpark. At this point we can assume several approaches to get the better value of the angle. We could monitor the value of the signals X,R and return the angle when the signals are at their peak. (It should work fine, haven't tried). We could cluster angle values and get the biggest cluster (most common angle measured). I used this second approach, I liked it because we base the decision on the larger population of data points.
There are number of additional tweaks that allow to control the behavior of algorithm; for example we could give more weight in the decision making to the readings that have stronger signal.
Two last parms in the VDI menu allow to control the R polarity to use and the signal weight. (R polarity may have to be flopped if you take your signals 1 opamp earlier in the signal path than U104/U105)
(if you going to use software make sure that you set "BPin" correctly; schematic calls for A2, its A3 in code)
Sound support was added, you can enable/disable it in the menu. Sound does take a lot resources so if you don;t use turn it off.
I had piezzo buzzer connected and it does not sound that good at all. Real speaker or phones would be better...
I haven't tried the system in the field since I switched to this new algorithm, but it should be a definite improvement over the old method (laugh with me now...

).
Arduino program:
MD_V11.zip
Maybe I should start a new thread... Let me know... I'm not sure what is the proper board etiquette
I spent last few weeks experimenting with TGLS and Arduino VDI. Here are the findings.
Deriving VDI from TGLS X,R signals can be improved if we analyze the signals a little more.
Here is the aluminum foil as seen by the Arduino.
We can see that the angle is all over the place. I we select minimum signal strength then we may get lucky and fall in the right place.
Here is the copper 1 cent US
The angle is mostly around 80 but is does swing to -80.
Silver ring
Both of the signals have something in common; when R is positive then the angle is in the phase we want.
So requirements to get correct angle are:
- minimum signal level to distinguish the signal from the noise
- positive R value
This should get us into the right ballpark. At this point we can assume several approaches to get the better value of the angle. We could monitor the value of the signals X,R and return the angle when the signals are at their peak. (It should work fine, haven't tried). We could cluster angle values and get the biggest cluster (most common angle measured). I used this second approach, I liked it because we base the decision on the larger population of data points.
There are number of additional tweaks that allow to control the behavior of algorithm; for example we could give more weight in the decision making to the readings that have stronger signal.
Two last parms in the VDI menu allow to control the R polarity to use and the signal weight. (R polarity may have to be flopped if you take your signals 1 opamp earlier in the signal path than U104/U105)
(if you going to use software make sure that you set "BPin" correctly; schematic calls for A2, its A3 in code)
Sound support was added, you can enable/disable it in the menu. Sound does take a lot resources so if you don;t use turn it off.
I had piezzo buzzer connected and it does not sound that good at all. Real speaker or phones would be better...
I haven't tried the system in the field since I switched to this new algorithm, but it should be a definite improvement over the old method (laugh with me now...



Arduino program:
MD_V11.zip
Maybe I should start a new thread... Let me know... I'm not sure what is the proper board etiquette
Comment