#!/usr/bin/env python import numpy import matplotlib.pyplot as plt n = 100 phase = numpy.pi/2. data = [] for f in [0.5, 0.49, 0.25, 0.01]: tmp = [] for i in range(n): tmp.append(numpy.cos(i * f * 2*numpy.pi + phase)) data.append(tmp) #plt.plot(data) plt.subplot(221) for d in data: plt.plot(d) freqs = None for d in data: if freqs is None: freqs = [] for i in range(n/2 +1): freqs.append(i*1./n) tmp = numpy.fft.rfft(d) plt.subplot(212) plt.plot(freqs,abs(tmp)*2/n) plt.subplot(222) plt.plot(freqs,numpy.angle(tmp)) plt.show()