def test_correlations_narrow_v1_vs_v5(self): inverse_power = wpe.get_power_inverse(self.Y) R_desired, r_desired = wpe.get_correlations_narrow( self.Y, inverse_power, self.K, self.delay) R_actual, r_actual = wpe.get_correlations_narrow_v5( self.Y, inverse_power, self.K, self.delay) tc.assert_allclose(R_actual, R_desired) tc.assert_allclose(r_actual, r_desired)
def test_correlations(self): np_inv_power = wpe.get_power_inverse(self.Y) np_corr = wpe.get_correlations_narrow(self.Y, np_inv_power, self.K, self.delay) with tf.Graph().as_default(), tf.Session() as sess: tf_signal = tf.placeholder(tf.complex128, shape=[None, None]) tf_inverse_power = tf_wpe.get_power_inverse(tf_signal) tf_res = tf_wpe.get_correlations_for_single_frequency( tf_signal, tf_inverse_power, self.K, self.delay) tf_corr = sess.run(tf_res, {tf_signal: self.Y}) np.testing.assert_allclose(np_corr[0], tf_corr[0]) np.testing.assert_allclose(np_corr[1], tf_corr[1])
def test_correlations_narrow_v1_vs_v6(self): inverse_power = wpe.get_power_inverse(self.Y) R_desired, r_desired = wpe.get_correlations_narrow( self.Y, inverse_power, self.K, self.delay) s = [Ellipsis, slice(self.delay + self.K - 1, None)] Y_tilde = wpe.build_y_tilde(self.Y, self.K, self.delay) R_actual, r_actual = wpe.get_correlations_v6(self.Y[s], Y_tilde[s], inverse_power[s]) tc.assert_allclose(R_actual.conj(), R_desired) tc.assert_allclose(r_actual.conj(), np.swapaxes(r_desired, 1, 2).reshape(-1, r_desired.shape[-1]), rtol=1e-5, atol=1e-5)