def __init__(self, max_freq=30.,max_linewidth=1.,N=1000, center_freq = 0.,
            tau = 0.3,r = 0.8):
        Time_Delay_Network.__init__(self, max_freq,max_linewidth,N,center_freq)

        self.tau = tau
        self.delays = [tau]
        self.r = r
        self.M1=np.matrix([[r]])
        self.E = lambda z: np.exp(-z*self.tau)
        self.T = lambda z: np.matrix([(np.exp(-z*self.tau) - self.r)/
                                        (1.-self.r* np.exp(-z*self.tau))])
        self.T_denom = lambda z: (1.-self.r* np.exp(-z*self.tau))
        self.Tp_denom = lambda z: der(self.T_denom,z)
    def __init__(self, max_freq=10.,max_linewidth=10.,N=1000, center_freq = 0.,
                    r=0.9,tau = 1.):
        Time_Delay_Network.__init__(self, max_freq,max_linewidth,N,center_freq)
        self.r = r
        self.delays = [tau]
        e = lambda z: np.exp(-z*tau)
        dim = 2

        self.M1 = np.matrix([[0,r],[r,0]])
        self.E = lambda z: np.matrix([[e(z),0],[0,e(z)]])

        self.T_denom = lambda z: (1.-r**2* e(z)**2)
        self.T = lambda z: -r*np.eye(dim) + ((1.-r**2.)/self.T_denom(z)) * \
            np.matrix([[r*e(z)**2,e(z)],[e(z),r*e(z)**2]])
        self.Tp_denom = lambda z: der(self.T_denom,z)
예제 #3
0
    def __init__(
        self,
        max_freq=60.,
        max_linewidth=1.,
        N=5000,
        center_freq=0.,
        r1=0.9,
        r2=0.4,
        r3=0.8,
        tau1=0.1,
        tau2=0.23,
        tau3=0.1,
        tau4=0.17,
    ):
        Time_Delay_Network.__init__(self, max_freq, max_linewidth, N,
                                    center_freq)

        self.r1 = r1
        self.r2 = r2
        self.r3 = r3
        self.delays = [tau1, tau2, tau3, tau4]

        t1 = np.sqrt(1 - r1**2)
        t2 = np.sqrt(1 - r2**2)
        t3 = np.sqrt(1 - r3**2)

        dim = 4

        M1 = np.matrix([[0, -r1, 0, 0], [-r2, 0, t2, 0], [0, 0, 0, -r3],
                        [t2, 0, r2, 0]])
        self.M1 = M1

        M2 = np.matrix([[t1, 0], [0, 0], [0, t3], [0, 0]])

        M3 = np.matrix([[0, t1, 0, 0], [0, 0, 0, t3]])

        M4 = np.matrix([[r1, 0], [0, r3]])

        E = lambda z: np.matrix([[np.exp(-tau1 * z), 0, 0, 0],
                                 [0, np.exp(-tau2 * z), 0, 0],
                                 [0, 0, np.exp(-tau3 * z), 0],
                                 [0, 0, 0, np.exp(-tau4 * z)]])
        self.E = E

        self.T_denom = lambda z: la.det(np.eye(dim) - M1 * E(z))
        self.Tp_denom = lambda z: der(self.T_denom, z)
        self.T = lambda z: M3 * E(z) * la.inv(np.eye(dim) - M1 * E(z)
                                              ) * M2 + M4
    def __init__(self, max_freq=60.,max_linewidth=1.,N=5000, center_freq = 0.,
                r1=0.9,r2=0.4,r3=0.8,
                tau1 = 0.1, tau2 = 0.23,tau3 = 0.1,tau4 = 0.17,
                ):
        Time_Delay_Network.__init__(self, max_freq,max_linewidth,N,center_freq)


        self.r1 = r1
        self.r2 = r2
        self.r3 = r3
        self.delays =[tau1,tau2,tau3,tau4]

        t1 = np.sqrt(1-r1**2)
        t2 = np.sqrt(1-r2**2)
        t3 = np.sqrt(1-r3**2)

        dim = 4

        M1 = np.matrix([[0,-r1,0,0],
                        [-r2,0,t2,0],
                       [0,0,0,-r3],
                       [t2,0,r2,0]])
        self.M1 = M1

        M2 = np.matrix([[t1,0],
                        [0,0],
                        [0,t3],
                        [0,0]])

        M3 = np.matrix([[0,t1,0,0],
                        [0,0,0,t3]])

        M4 = np.matrix([[r1,0],
                        [0,r3]])

        E = lambda z: np.matrix([[np.exp(-tau1*z),0,0,0],
                             [0,np.exp(-tau2*z),0,0],
                             [0,0,np.exp(-tau3*z),0],
                             [0,0,0,np.exp(-tau4*z)]])
        self.E = E

        self.T_denom = lambda z: la.det(np.eye(dim) - M1*E(z))
        self.Tp_denom = lambda z: der(self.T_denom,z)
        self.T = lambda z: M3*E(z)*la.inv(np.eye(dim) - M1*E(z))*M2+M4
예제 #5
0
    def __init__(self,
                 max_freq=30.,
                 max_linewidth=1.,
                 N=1000,
                 center_freq=0.,
                 tau=0.3,
                 r=0.8):
        Time_Delay_Network.__init__(self, max_freq, max_linewidth, N,
                                    center_freq)

        self.tau = tau
        self.delays = [tau]
        self.r = r
        self.M1 = np.matrix([[r]])
        self.E = lambda z: np.exp(-z * self.tau)
        self.T = lambda z: np.matrix([(np.exp(-z * self.tau) - self.r) /
                                      (1. - self.r * np.exp(-z * self.tau))])
        self.T_denom = lambda z: (1. - self.r * np.exp(-z * self.tau))
        self.Tp_denom = lambda z: der(self.T_denom, z)
예제 #6
0
    def __init__(self,
                 max_freq=10.,
                 max_linewidth=10.,
                 N=1000,
                 center_freq=0.,
                 r=0.9,
                 tau=1.):
        Time_Delay_Network.__init__(self, max_freq, max_linewidth, N,
                                    center_freq)
        self.r = r
        self.delays = [tau]
        e = lambda z: np.exp(-z * tau)
        dim = 2

        self.M1 = np.matrix([[0, r], [r, 0]])
        self.E = lambda z: np.matrix([[e(z), 0], [0, e(z)]])

        self.T_denom = lambda z: (1. - r**2 * e(z)**2)
        self.T = lambda z: -r*np.eye(dim) + ((1.-r**2.)/self.T_denom(z)) * \
            np.matrix([[r*e(z)**2,e(z)],[e(z),r*e(z)**2]])
        self.Tp_denom = lambda z: der(self.T_denom, z)
    def __init__(self, max_freq=100.,max_linewidth=3.,N=5000,center_freq = 0.):
        Time_Delay_Network.__init__(self, max_freq,max_linewidth,N,center_freq)

        tau1 = 0.1
        tau2 = 0.039
        tau3 = 0.11
        tau4 = 0.08
        self.delays = [tau1,tau2,tau3,tau4]
        r = 0.9
        t = np.sqrt(1-r**2)
        dim = 4

        M1 = np.matrix([[0,0,-r,0],
                        [r,0,0,0],
                       [0,r,0,t],
                       [t,0,0,0]])

        self.M1 = M1

        M2 = np.matrix([[t,0],
                        [0,t],
                        [0,0],
                        [0,-r]])

        M3 = np.matrix([[0,0,t,0],
                        [0,t,0,-r]])

        M4 = np.matrix([[r,0],
                        [0,0]])

        E = lambda z: np.matrix([[np.exp(-tau1*z),0,0,0],
                             [0,np.exp(-tau2*z),0,0],
                             [0,0,np.exp(-tau3*z),0],
                             [0,0,0,np.exp(-tau4*z)]])
        self.E = E

        self.T_denom = lambda z: la.det(np.eye(dim) - M1*E(z))
        self.Tp_denom = lambda z: der(self.T_denom,z)
        self.T = lambda z: M3*E(z)*la.inv(np.eye(dim) - M1*E(z))*M2+M4
예제 #8
0
    def __init__(
        self,
        max_freq=50.,
        max_linewidth=3.,
        N=1000,
        center_freq=0.,
    ):
        Time_Delay_Network.__init__(self, max_freq, max_linewidth, N,
                                    center_freq)
        tau1 = 0.1
        tau2 = 0.039
        tau3 = 0.11
        tau4 = 0.08
        self.delays = [tau1, tau2, tau3, tau4]

        r = 0.9
        t = np.sqrt(1 - r**2)
        dim = 4

        M1 = np.matrix([[0, 0, -r, 0], [r, 0, 0, 0], [0, r, 0, t],
                        [t, 0, 0, 0]])
        self.M1 = M1

        M2 = np.matrix([[t, 0], [0, t], [0, 0], [0, -r]])

        M3 = np.matrix([[0, 0, t, 0], [0, t, 0, -r]])

        M4 = np.matrix([[r, 0], [0, 0]])

        E = lambda z: np.matrix([[np.exp(-(tau1 + tau4) * z), 0, 0, 0],
                                 [0, np.exp(-(tau2 - tau4) * z), 0, 0],
                                 [0, 0, np.exp(-tau3 * z), 0], [0, 0, 0, 1.]])
        self.E = E

        self.T_denom = lambda z: la.det(np.eye(dim) - M1 * E(z))
        self.Tp_denom = lambda z: der(self.T_denom, z)
        self.T = lambda z: M3 * E(z) * la.inv(np.eye(dim) - M1 * E(z)
                                              ) * M2 + M4