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))