VNA test calculations

Below is a table of results relating to calculate a device terminal impedance. Two methods of test calculations have be made, the left hand side based on an "H bridge" method, i.e. a balanced bridge, where-by the left hand side measures the reference voltage, while the right hand side top right is a load 50ohms, and the bottom right the device loading circuit. In the BBC Basic program calculation results, the "Vsource" is assumed to be " Vsource = (R.F. signal ref)", while the "Vload" equates to the "D.U.T load voltage". By using a log amplifier device, such as the analog devices AD8307, and loss or calculation errors from the diode detector circuit is overcome.

The other reason for the "Vsource" ( R.F. signal ref ) measurement is to overcome a variance of R.F. signal source voltage, while this would change over the frequency range from LF to 2m, using the si5351A vfo signal source, the R.F. signal voltage would be ( 2 * R.F. signal ref ). However, for the illustrate table, the signal source "Vsource" is the ( R.F. signal ref ) measurement value used within the BBC Basic code programs as the balanced voltage measurement for the calculations of the Swr value.

As for a "return loss bridge", either a balum return loss bridge or a return loss bridge based on the balanced inputs of the AD8307 device, is assumed. The calculations for the return loss results are shown on the print out table shown to the right of the green vertical line. From these calculations, one can see that the device under test load impedance does not go below 50 ohms, while for the calculations shown to the left of the green vertical line, calculations based on the "H mode bridge" circuit, the device under test calculations will illustrate a device load impedance below 50 ohms.

A comparison set of figures for the "H mode bridge" circuit is included to reference the device load impedance to an equivalent coax cable values. The coax is based on a 120pF/m and a 300nH/m cable design for 50 ohms. Should the device under test be higher than 50ohms, then the coax cable line capacitance is assumed to 120pF/m and a line inductance greater than 300nH/m, while for a device load impedance less than 50ohms, the line inductance is assumed to 300nH/m, but the cable capacitance greater than 120pF/m. It is planned that the Arduino code which illustrate the changing line capacitance or line inductance as the following antenna ATU is varied to match the antenna load, be the antenna load lower or higher than the matched condition of 50ohms load. The match conditions of the Arduino code results would be the shown 300nH/m and 120pF/m illustrate values for a matched condition.

However the coax cable values of 300nH/m and 120pF/m relate to as full 1metre length of cable, its lowpass cut off frequency if used as a matching circuit is around 26MHz. However if a 5cmm cable length cable values are used, that being 15nH/5cm and 6pF/5cm which still equates to 50ohms coax impedance, then used as a lowpass filter ATU circuit, the cut off frequency is around 530MHz.

The R.F. signal source intended circuit is the si5351A, capable from LF band to 2m band, but if all three vfo outputs are combined, CLK0 and CLK1 as well as CLK2 are used, the 70cm ham band could also be measured. By using SMD resistors, say the 5mm sized version, just to make things easier to solder you understand, and SMA connectors used all round, even to the Ebay supplied board mounted AD8307 log amp, then things become a lot more sense to home build. And yes the Arduino code program connected to either a 20char 4 line display or a graphic display for the measured results.

In order to determine the Arduino code requirements, two list BBC Basic code programs illustrated, the top or 1st list code is based on the "H mode bridge" ( the split voltage maths ), while the 2nd or bottom code program is based on a standard circuit "return loss bridge".

However while looking around google images, I noticed a circuit diagram relating to swr bridge and an "return loss" analog circuit using a op-amp. The diagram below shows this in its simplest form.

The principle of the above circuit is the comparison of the forward and reverse voltages of a dual voltage standard swr bridge. If the antenna load is high, then the return loss voltage will be a positive voltage, the magnitude equal to the miss-match. If however the return loss voltage is negative in origin, then the reverse signal voltage is greater, then predicting the antenna load perhaps less than 50ohms, the offset in relation to the magnitude to the miss-match. In any regard, if the output voltage of the return loss is equal to zero volts, the reverse and forward voltages are equal, then surely it is a 50ohm antenna load match.

A dual op-amp return loss signalling circuit could be used. The advantage here is the use of a single supply voltage, the op-amp with the signal would then be the return loss signalling data. As the ">50ohm" voltage rises, so does the return loss drop and also the increase of load impedance, or as the "<50ohm" signal rises, so does the drop in return loss signalling data and the drop of load impedance. If both op-amps have outputs that are low in signal voltage, then surely this must mean a 50ohm load match.

Below are the BBC basic programs for the split voltage and standard return loss mathematical models.

Text Box

10 REM vna split voltage bridge method

20 Zsource = 50

30 freq = 29E6

40 reactance_resonant_impedance = 50

50 ratio_test = 1.4

60 PRINT TAB(2);"device Load voltage high results"

70

80 Vload = 1*ratio_test

90 Vsource = 1.0

100 PROC_reflection_coefficient

110 PROC_load_impedance

120 PROC_inductance

130 PROC_capacitance

140 PROC_calculate

150 PRINT

160 PRINT

170 PRINT TAB(2);"device Load matched results"

180

190 Vload = 1.0

200 Vsource = 1.0

210 PROC_reflection_coefficient

220 PROC_load_impedance

230 PROC_inductance

240 PROC_capacitance

250 PROC_calculate

260 PRINT

270 PRINT

280

290 PRINT TAB(2);"device Load voltage low results"

300

310 Vload = 1/ratio_test

320 Vsource = 1.0

330 PROC_reflection_coefficient

340 PROC_load_impedance

350 PROC_inductance

360 PROC_capacitance

370 PROC_calculate

380

390 END

400 DEF PROC_reflection_coefficient

410 reflection = Vload/Vsource

420 PRINT TAB(5);"Vsource = ";INT(Vsource*100)/100;" Volts"

430 PRINT TAB(5);"Vload = ";INT(Vload*100)/100;" Volts"

440 PRINT TAB(5);"test freq. = ";freq/1E6;"MHz"

450 PRINT TAB(5);"coax impedance = 50ohm"

460 PRINT TAB(5);"reflection coeficient = "; INT(reflection*100)/100

470

480 PRINT TAB(5);"Swr = 1:";INT(reflection*100)/100

490 ENDPROC

500

510 DEF PROC_load_impedance

520 Zload = reflection * Zsource

530 REM Zload = ( ( 1+ reflection)/(1-reflection) ) * Zsource

540 PRINT TAB(5);"device imp. load = ";INT(Zload*100)/100;" ohms"

550 ENDPROC

560 DEF PROC_inductance

570 ind = 1E9 * (Zload / (2 * PI * freq))

580 PRINT TAB(5);"device ind. = ";INT(ind*100)/100;"nH"

590 ENDPROC

600 DEF PROC_capacitance

610 cap = 1E12/(2 * PI * freq * Zload )

620 PRINT TAB(5);"device cap. = ";INT(cap*100)/100;"pF"

630 ENDPROC

640

650

660 DEF PROC_calculate

670 XL = Zload

680 REM "RL is low to 50ohms,"

690 REM "thus the wire is capacitive and needs inductive loading"

700 IF XL <= reactance_resonant_impedance THEN PROC_low

710

720 REM "RL is high to 50ohms,"

730 REM "thus thwe wire is inductive and needs capacitive loading"

740 IF XL > reactance_resonant_impedance THEN PROC_high

750 ENDPROC

760

770

780

790 REM "RL is low to 50ohms,"

800 REM "thus the wire is short and capacitive thus needs inductive loading"

810 DEF PROC_low

820 coax_cap = 300E-9/(Zload * Zload)

830 PRINT TAB(5);"Coax ind. = 300nH"

840 PRINT TAB(5);"Coax cap. = ";coax_cap*1E12;"pF"

850 ENDPROC

860

870

880 REM "RL is high to 50ohms,"

890 REM "thus the wire is long and inductive thus needs capacitive loading"

900 DEF PROC_high

910

920 coax_ind = (Zload * Zload)*120E-12

930 PRINT TAB(5);"Coax ind. = ";coax_ind*1E9;"nH"

940 PRINT TAB(5);"Coax cap. = 120pF"

950 ENDPROC

Text Box

5 REM return loss impedance calculations

10 Zsource = 50

20 return_loss = 40

30 freq = 29E6

40 PROC_cal_return_loss

50 return_loss = 30

60 PROC_cal_return_loss

70 return_loss = 20

80 PROC_cal_return_loss

90 return_loss = 10

100 PROC_cal_return_loss

110 return_loss = 1

120 PROC_cal_return_loss

130 END

140

150 DEF PROC_cal_return_loss

160 REM PROC_reflection_coefficient

170 PROC_returnloss_vswr

180 PROC_load_impedance

190 PROC_inductance

200 PROC_capacitance

210 PRINT

220 PRINT

230 ENDPROC

240 GOTO 260

250

260

270 END

280 DEF PROC_load_impedance

290 Zload = reflection * Zsource

300 REM Zload = ( ( 1+ reflection)/(1-reflection) ) * Zsource

310 PRINT TAB(5);"Zload = ";INT(Zload*100)/100;"ohms"

320 ENDPROC

330 DEF PROC_inductance

340 ind = 1E9 * (Zload / (2 * PI * freq))

350 PRINT TAB(5);"ind = ";INT(ind*100)/100;"nH"

360 ENDPROC

370 DEF PROC_capacitance

380 cap = 1E12/(2 * PI * freq * Zload )

390 PRINT TAB(5);"cap = ";INT(cap*100)/100;"pF"

400 ENDPROC

410

420 DEF PROC_returnloss_vswr

430 top = (10^(return_loss/20)) + 1

440 bot = (10^(return_loss/20)) - 1

450 reflection = top/bot

460 PRINT TAB(5);"return loss = ";return_loss;" dB"

470 PRINT TAB(5);"freq = ";freq/1E6;"MHz"

480 PRINT TAB(5);"reflection coeficient = "; INT(reflection*1000)/1000

490 PRINT TAB(5);"Swr = 1:";INT(reflection*1000)/1000

500 ENDPROC