def synthesize1(amps, freqs, ts): """Synthesize a mixture of complex sinusoids with given amps and freqs. amps: amplitudes freqs: frequencies in Hz ts: times to evaluate the signal returns: wave array """ components = [ thinkdsp.ComplexSinusoid(freq, amp) for amp, freq in zip(amps, freqs) ] signal = thinkdsp.SumSignal(*components) ys = signal.evaluate(ts) return ys
def testComplexSinusoid(self): signal = thinkdsp.ComplexSinusoid(440, 0.7, 1.1) result = signal.evaluate(2.1) * complex(-1.5, -0.5) self.assertAlmostEqual(result, -0.164353351475 - 1.09452637056j)