Analyser-DDS a 500Khz up to 71Mhz antenna-analyser Update ver2: Don’t you power supply exceeding 9,6 V ( 8 x AA-cell NiCd or NiMh ) , if not insert a 7809 voltage regulator . Extension up to 71 Mhz instead of 65,536 Mhz Software update for calibration bug and extension to 71 Mhz Software PC program Analyser_RX to extend to 71 Mhz Optional use of anti-rebound capacitors ( 100 nF ) over switches Update of alignement procedure Introduction Analyser-DDS is based on the same principle as the ” AN EXPERIMENTAL HF AERIAL ANALYSER from Jim Tregellas VK5JST ” . This principle is measuring unknown impedances adding a pur ohmic resistor in series feeded with a sinusoidal RF-source . My specific goal was to make an antenna analyser covering at least 160 up to 6 meters , with ability to view measurement results as graphs . Thereby it needs to be reproducible by the average HAM . The main specifications of this analyser are frequency coverage from 500Khz up to 65536Khz Further more the measured units are displayed on a 4 lines x 20 characters LCD and reflect the frequency in Khz , the step in Khz , the impedance Z in Ohm , the resistive part in Ohm , the reactive part in Ohm and the SWR as a ratio to 1 . Tuning is possible in step by step mode ore as a scan of 80 times the step-value starting upwards from the tuned frequency . The scan can be transmitted via RS232 to a PC , where the data will be plotted in a graph using the program Analyser-RX . The RF-source is a DDS60 dds-vfo . Imedances from 5 Ohm up to 1000 Ohm can be measured within a usable grade of accuracy . Measure principle Graphic representation of measured units: If the antenna impedance is not pure ohmic , we get following vectors . Pythagorean theorem : The sum of the areas of the two squares on the legs (Vx and V50+VR) equals the area of the square on the hypotenuse (Vin) . Thus: Vin² = VX² + (V50+VR)² Of Vin² = VX² + V50² + VR² +( 2xV50xVR) Of 2 x V50 x VR = Vin² - VX² - V50² - VR² and as VX² + VR² = VOUT² (triangle VOUT,VR,VX) thus: VR = (Vin² - V50² - VOUT²) / (2 x V50) and VX² = VOUT² - VR² so VX = SQRT ( VOUT² - VR²) the current through the circuit is I = U/R thus I = V50/50 as well X = VX / I and R = VR / I out of X and R we calculate Z = SQRT ( X² + R²) what remains is to deduct the SWR from what was above knowing that SWR = (Vin + Vref) / (Vin – Vref) Vin is known by measuring . How can we get Vref: In fig A Vref is the hypotenuse of triangle Vref,Vx,V50-Vr thus Vref^2 = (V50-VR)^2 + VX^2 or Vref = SQRT (V50-VR)^2 + (VX^2) In fig B it doesn’t matter if V50-Vr is either positive or negative . In fig C , V50 – VR = 0 which means that R equals 50 Ohm. Thus Vref = VX In fig D the perfect match : V50-VR=0 en VX=0 Thus Vref = 0 So to determine the SWR : Vin as measured unit calculate Vref = SQRT (V50-VR)^2 + (VX^2) calculate SWR = (Vin + Vref) / (Vin – Vref) Exceptions on this approach: 1° With a pure Ohmic antenna we have following vector diagram thus we don’t have to calculate Vr and VX = 0 2° When a pure capacitor is connected thus VX becomes a measured unit So thats it. It just remains to build a measure circuit and have a calculator... or use a PIC16F876A … Schematics PCB 3D-view and X-ray view PICTURES of DDS60 position and PCB component side Construction and alignment . Preferably use an insulated enclose box . While soldering don’t forget to make 2-layer connections where indicated (see PCB) . Alignment is quite simple . Let the antenna connector open without anywhat . The power supply will be 9,6 V The frequency will be set to 10.000 Khz Turn trimpots anti-clock wise to minimise outputs to PIC . Trim DDS60 output to obtain 1 V dc at pin 12 of LM324 . Terminate antenna connector with 50 Ohm terminator without prolongator . Increase RV1( Vi) until you read Vi=116 on LCD reading . Increase RV2(V50) and RV3(Vo) to obtain Vin/2 reading on the LCD Normally you would read Z=50 R=50 and X=0 . End of procedure . Would you ever want to redo this procedure , then first turn trimpots anti-clock wise to minimise outputs to PIC . Analyser-RX program Analyser-RX is a PC-program , receiving the data from the PIC within the SCAN2PC menu after validation by the DO-key . 976 characters are transmitted . The first bytes define STEP and START-frequency , followed by 80 times 3 bytes as Vin, V50 and Vout . The Timer-function will renew the graph whenever new data are available . The drawn graph include following measurements Z , X , R , and SWR . On frequency overflow above 65536 Khz the graph will be clipped . If V50=0 then graphvalues will be maximized . If Vout=0 then graphvalues will be minimized with exception of SWR which will be maximized . Have a look to the VB6-kernel of this program : ReDim Meting(1 To Aantal, 1 To 3) As Variant ‘index 1=Vin ‘index 2=V50 ‘index 3=Vout ReDim Result(0 To Aantal, 1 To 6) Result(0, 1) = "Z Ohm" Result(0, 2) = "X Ohm" Result(0, 3) = "R Ohm" Result(0, 4) = "SWR" Result(0, 5) = "50 Ohm" Result(0, 6) = "SWR 1/1" For A = 1 To Aantal J=0 If Meting(A, 2) = 0 Then R = 9999 Z = 9999 X = 9999 SWR = 11 J=1 End If If Meting(A, 3) = 0 Then R=0 Z=0 X=0 SWR = 11 J=1 End If If J = 1 Then GoTo SetRes Vout = Meting(A, 3) V50 = Meting(A, 2) If V50 + Vout < Meting(A, 1) Then Vin = V50 + Vout Meting(A, 1) = Vin End If Vin = Meting(A, 1) VR = (Vin ^ 2 - V50 ^ 2 - Vout ^ 2) / (2 * V50) If VR < 0 Then VR = 0 'test VX = Sqr(Abs(Vout ^ 2 - VR ^ 2)) i = V50 / 50 X = VX / i R = VR / i Z = Sqr(X ^ 2 + R ^ 2) Vref = Sqr((V50 - VR) ^ 2 + (VX ^ 2)) If Vin - Vref = 0 Then SWR = 11 J=1 End If If J = 1 Then GoTo SetRes SWR = (Vin + Vref) / Abs(Vin - Vref) Debug.Print A, "SWR ", SWR If SWR > 11 Then SWR = 11 SetRes: If Z > 1999 Then Z = 1999 If X > 1999 Then X = 1999 If R > 1999 Then R = 1999 Result(A, 1) = Z Result(A, 2) = X Result(A, 3) = R Result(A, 4) = SWR Next A The graph will be scaled automaticly in accordance with the max-values . Z , X , R are clipped at 2000 Ohm or above . SWR will be clipped at 11/1 or above . The graph will include a date and time title corresponding to the moment of transmission to PC and it will determine the file-name of the graph when saved . The program allows scaling of the graph to different screen and printer resolutions . On start the program will list all RS232 ports . The user will select the connected port by clicking it . Have a lot of fun with building and using this analyser . Willy ON5KN Incuded some real graphs with comments: A 55 Ohm resistor straight on the analyser , Step=1000Khz,Fstart=0 Khz The start-zone is wrong due to limitations of the output bandpass filter of DDS60 . Observe less then 80 points as 65000 Khz is reached . 55 Ohm straight on analyser Step=100Khz , Fstart=0Khz Look at start zone of DDS60 . Valid measures from +/- 500Khz Limiting to 65536Khz was not yet functional ! EH-antenne measure , Step 500Khz , Fstart 10000Kihz Observe SWR-dip near 14000Khz Resonance zone of EH-antenna, Step=50Khz , Fstart 13000Khz Observe automatic scaling of Z-X-R Allowing maximal SWR of 1,5/1 we can reach 14000 tot 14150Khz Reactive component (X) would be insignificant while impedance would vary from 65 tot 33 Ohm Measure of 55 Ohm resistance on 17 m 50 Ohm coax , Step=500Khz , Fstart 2000Khz Observe the minor mismatch and adaptor function of the coax depending from frequency (or coax length) .Mismatch remains pure resistive (X remains 0) . Measure of 17m open coax 50 Ohm Step=500Khz, Fstart=2000Khz Observe the quarter wave effect around 5500Khz , High Z (X) but R=0 Measure of 6m dipole , Step=500Khz , Fstart=20000Khz This dipole was quick made of wire and cutted down until good match . With SWR 1,5/1 we can handle 50000Khz tot 52500Khz . The reactive component is insignificant and the impedance Z=R between 30 and 70 Ohm . Identical 6m dipole with zoom as Step=100Khz