Homebrew arduino based antenna analyzer.

Did you find it difficult to calibrate?

Yes and no.

In principle, calibration is easy. A 50 ohm resistor will read as a SWR of 1.0, a 100 ohm resistor will read as a SWR of 2.0, and other values can be tested against expected values. That's the way that K6BEZ did it, that's the way other constructors have done it. And that's how I started out doing it.

BUT

I wasn't getting consistent results across the band. It turns out that the AD9851 DDS signal generator module was not producing the same level of output at all frequencies. In theory that should not matter because the SWR of an antenna doesn't change if you throw 1mw of signal, 10mw of signal or 50mw of signal into it to test it. It should produce the same answer.

Same with a 50 ohm dummy load resistor. If I test it at 0.5 Mhz, it should be the same SWR=1.0 that a test at 5 Mhz would produce. But I wasn't quite getting that same result, and the reason turned out to be that the signal from the DDS module was low enough (well under 0.6 volts) that I was working down in the non linear region of the diodes (D1 and D2 in the circuit).

http://i.imgur.com/ain7YgA.png

So how to compensate?

I set up a voltage divider at the output of the DDS (pin 2 in the circuit). Sticking with 10.0 Mhz, I took measurements coming into the arduino (output of the opamps) at different levels of drive into the measurement curcuit.

With a large set of numbers and the help of Excel and a lot of trial and error I arrived at a formula that would compensate for the non linearity of the diodes at low voltages, something like...

RawValue = analogRead(A0);

TweakedValue = RawValue * (algorithm thing) ;

and then used the tweaked value for the SWR calculations. Now it reads the correct values at all tested dummy loads at all frequencies.

/r/amateurradio Thread Parent Link - i.imgur.com