def _compute_auxiliary(self):
     # self.K = pc.butterworth(3, self.omega[0])
     self.K = my_K(self.omega[0], self.xi[0])
     LOG.debug('sat_nested.__init__  omega: {} K:{} poles:{} '.format(self.omega[0], self.K, pc.poles(self.K)))
     self.sats = np.array([self.sat_vel, self.sat_accel, self.sat_jerk])
     LOG.debug(' sats:\n{}'.format(self.sats))
     self.M = np.array(self.sats)
     # pdb.set_trace()
     for i in range(0, 3):
         self.M[0:-1, i] *= self.K[1:]
         for j in range(0, 2):
             self.M[1 - j, i] /= np.prod(self.M[2 - j:, i])
     LOG.debug(' M:\n{}'.format(self.M))
     self.CM = np.cumprod(self.M[::-1], axis=0)[::-1]
     LOG.debug(' CM:\n{}\n'.format(self.CM))
 def _compute_auxiliary(self):
     # self.K = pc.butterworth(2, self.omega[0])
     omega, xi = self.omega[0], self.xi[0]
     omega_d = omega * math.sqrt(1 - xi ** 2)
     LOG.debug('omega_d: {}'.format(omega_d))
     LOG.debug('-omega*xi: {}'.format(-omega * xi))
     coefs = -np.poly([complex(-omega * xi, omega_d), complex(-omega * xi, -omega_d)])[::-1]
     self.K = np.real(coefs[:-1])
     LOG.debug('sat_nested.__init__  omega: {} coefs:{} K:{} poles:{} '.format(self.omega[0], coefs, self.K, pc.poles(self.K)))
     self.sats = np.array([self.sat_vel, self.sat_accel])
     LOG.debug(' sats:\n{}'.format(self.sats))
     self.M = np.array(self.sats)
     self.M[0] *= self.K[1]
     self.M[0] /= np.prod(self.M[1:], axis=0)
     LOG.debug(' M:\n{}'.format(self.M))
     self.CM = np.cumprod(self.M[::-1], axis=0)[::-1]
     LOG.debug(' CM:\n{}\n'.format(self.CM))