def square_coax( b, t, mu, epsilon): kkp = ( 1 - ( t / b)) / ( 1 + ( t / b)) qp = np.exp( - const.pi * ( 1 / kkp)) p = np.sqrt( qp) * ( ( alg.n_fun( qp) / alg.d_fun( qp)) ** 2) q = np.sqrt( 1 - ( p ** 2)) k = ( ( p - q) ** 2) / ( ( p + q) ** 2) kpk = 1 / alg.k_int( k) return 47.086 * kpk / np.sqrt( epsilon)
def stripline_coupled( w, s, b, t, mu, epsilon): if t == 0: ke = np.tanh( ( const.pi * w) / ( 2 * b)) * \ np.tanh( ( const.pi / 2) * ( ( w + s) / b)) ko = np.tanh( ( const.pi * w) / ( 2 * b)) * \ ( 1 / np.tanh( ( const.pi / 2) * ( ( w + s) / b))) kpke = 1 / alg.k_int( ke) kpko = 1 / alg.k_int( ko) Z0e = 29.976 * const.pi * np.sqrt( mu / epsilon) * kpke Z0o = 29.976 * const.pi * np.sqrt( mu / epsilon) * kpko else: theta = ( const.pi * s) / ( 2 * b) ae = ( np.log( 2) + np.log( 1 + np.tanh( theta))) / \ ( 2 * const.pi * np.log( 2)) ao = ( np.log( 2) + np.log( 1 + ( 1 / np.tanh( theta)))) / \ ( 2 * const.pi * np.log( 2)) c = 2 * np.log( ( 2 * b - t) / ( b - t)) - \ ( ( t / b) * np.log( ( t * ( 2 * b - t)) / ( ( b - t) ** 2))) Z0e = ( 30 * const.pi * ( b - t)) / \ ( np.sqrt( epsilon) * ( w + ( ae * b * c))) Z0o = ( 30 * const.pi * ( b - t)) / \ ( np.sqrt( epsilon) * ( w + ( ao * b * c))) return (Z0e, Z0o)