Skip to main content

NB: Z+Vf handy calculation, bonus: some theory about electrical cable length

Disclaimer: this is just hands-on lab for to clarify my knowledges about power lines, I do not pretend for any mathematical accuracy, any kind of “extended understanding” or so on. Just keep calm, be patient, read it ;)

Task: approximate and check some values (Z and Vf) in single “place”, script is self-sufficient and didn’t require any imports.

Instrument: DER EE DE-5000 RLC Meter, Hantek DSO2D15.

#!/usr/bin/python
c=299792458
TdInstrumentLen=0.1 # !!! measured !!!
pfx={
        'milli':1e-3,
        'micro':1e-6,
        'nano':1e-9,
        'pico':1e-12,
        'femto':1e-15
        }

Cables = [
#           L       pfx     C       pfx     Len   Comment
        (   0.694, 'micro', 255.4, 'pico',  3.06, '8D-FB 3 m' ),
        (   0.664, 'micro', 255.4, 'pico',  3.06, '8D-FB PL259 + PL259' ),
        (   0.711, 'micro', 335.3, 'pico',  3.06, '8D-FB PL259 + PL259 + OPEK CX-301U' ),
        (   0.717, 'micro', 277.5, 'pico',  2.71, 'RG-58 A/U + PL259 + cable' ),
        (   0.236, 'micro', 120.26, 'pico', 1.11, 'RG-58 A/U + PL259 + Ntype' ),
        (   0.298, 'micro', 114.63, 'pico', 1.09, 'RG-58 A/U + PL259 + PL259' ),
         ]

def _Z ( L,C ):
    return ( L / C) ** ( 1/2 )

def _Vf ( L, C, Length ):
    return 1 / ( ( ( L / Length ) * ( C / Length ) ) ** ( 1/2 ) * c ) * 100

def _Td ( Length, Vf ):
    return ( ( ( Length + TdInstrumentLen )  * 2 ) / ( c * pfx['nano'] * ( Vf / 100 ) ) )

if __name__ == '__main__':
    print(" {:<9}\t{:<7} {:<8} {:<30}\t{:<88}".format('Z','Vf','Length','Est. Osc TDR readings','Comment'))
    for cable in Cables:
        L      = cable[0]
        Lpfx   = pfx[cable[1]]
        C      = cable[2]
        Cpfx   = pfx[cable[3]]
        Length = cable[4]
        Desc    = cable[5]

        Z  = _Z  (L * Lpfx, C * Cpfx)
        Vf = _Vf (L * Lpfx, C * Cpfx, Length)
        Td = _Td (Length, Vf)

        print("{:<5.2f} Ohm\t{:<3.0f}%\t {:<5.3f} m\t{:<3.2f} ns\t{:<80} ".format(Z,Vf,Length,Td,Desc))

# vim:  set spell! autowrite:

Some results:

 Z              Vf      Length   Est. Osc TDR readings          Comment                                                                                 
52.13 Ohm       77 %     3.060 m        27.50 ns        8D-FB 3 m                                                                        
50.99 Ohm       78 %     3.060 m        26.90 ns        8D-FB PL259 + PL259                                                              
46.05 Ohm       66 %     3.060 m        31.89 ns        8D-FB PL259 + PL259 + OPEK CX-301U                                               
50.83 Ohm       64 %     2.710 m        29.25 ns        RG-58 A/U + PL259 + cable                                                        
44.30 Ohm       70 %     1.110 m        11.61 ns        RG-58 A/U + PL259 + Ntype                                                        
50.99 Ohm       62 %     1.090 m        12.76 ns        RG-58 A/U + PL259 + PL259                                                        

Some explanation about TDR (time domain reflectometry). If u have some oscilloscope and generator (my case is simple - very-entry-level HANTEK DSO 150 “MHz” with internal generator (which just cant generate usable meander) and external pulse generator based on Schmitt Trigger, eevblog which give me slightly more reasonable results on front edge with rise time about 2-3 ns) - you CAN do some deadly simple cable measurement jobs done on home table without spending a lot of $$ for specific equipment. So I have had enough results to calculate estimated, theoretical travel time into wires (coax line in mine case) which is well-known (= length is already measured +/- 3 cm) and check my self :)

For example, I have cable RG-58 A/U, length = 2 m 71 cm. Connect it to “measurement” equipment, got some pictures, made some cursor calculation:

Hantek

Measured round-trip = 29.3 ns

Predicted/estimated value = 29.25 ns

50.83 Ohm       64 %     2.710 m        29.25 ns        RG-58 A/U + PL259 + cable
                                        ^^^^^^^^

Enough for home measurement.