Home | History | Annotate | Download | only in signal

Lines Matching refs:signals

45 def _np_dct1(signals, norm=None):
50 dct_size = signals.shape[-1]
51 dct = np.zeros_like(signals)
54 dct[..., k] = 2 * np.sum(signals[..., 1:-1] * phi, axis=-1) + (
55 signals[..., 0] + (-1) ** k * signals[..., -1])
59 def _np_dct2(signals, norm=None):
62 dct_size = signals.shape[-1]
63 dct = np.zeros_like(signals)
66 dct[..., k] = np.sum(signals * phi, axis=-1)
79 def _np_dct3(signals, norm=None):
83 dct_size = signals.shape[-1]
84 signals = np.array(signals) # make a copy so we can modify
86 signals[..., 0] *= np.sqrt(4.0 / dct_size)
87 signals[..., 1:] *= np.sqrt(2.0 / dct_size)
89 signals *= 2.0
90 dct = np.zeros_like(signals)
93 half_x0 = 0.5 * signals[..., 0]
96 dct[..., k] = half_x0 + np.sum(signals[..., 1:] * phi, axis=-1)
106 def _compare(self, signals, norm, dct_type, atol=5e-4, rtol=5e-4):
108 np_dct = NP_DCT[dct_type](signals, norm)
109 tf_dct = dct_ops.dct(signals, type=dct_type, norm=norm).eval()
111 np_idct = NP_IDCT[dct_type](signals, norm)
112 tf_idct = dct_ops.idct(signals, type=dct_type, norm=norm).eval()
115 scipy_dct = fftpack.dct(signals, type=dct_type, norm=norm)
117 scipy_idct = fftpack.idct(signals, type=dct_type, norm=norm)
126 tf_idct_dct *= 0.5 / (signals.shape[-1] - 1)
127 tf_dct_idct *= 0.5 / (signals.shape[-1] - 1)
129 tf_idct_dct *= 0.5 / signals.shape[-1]
130 tf_dct_idct *= 0.5 / signals.shape[-1]
131 self.assertAllClose(signals, tf_idct_dct, atol=atol, rtol=rtol)
132 self.assertAllClose(signals, tf_dct_idct, atol=atol, rtol=rtol)
141 signals = np.random.rand(*shape).astype(np.float32)
143 self._compare(signals, norm=None, dct_type=1)
145 self._compare(signals, norm, 2)
146 self._compare(signals, norm, 3)
149 signals = np.random.rand(10)
152 dct_ops.dct(signals, type=5)
155 dct_ops.dct(signals, type=1, norm="ortho")
161 dct_ops.dct(signals, norm="bad")
163 dct_ops.dct(signals, n=10)
165 dct_ops.dct(signals, axis=0)