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