import matplotlib.pyplot as plt
import numpy as np
import sys

sys.path.append('../../../software/models/')
import dftModel as DFT
import math

k0 = 8.5
N = 64
w = np.ones(N)
x = np.cos(2*np.pi*k0/N*np.arange(-N/2,N/2))
mX, pX = DFT.dftAnal(x, w, N)
y = DFT.dftSynth(mX, pX, N)

plt.figure(1, figsize=(9.5, 5))
plt.subplot(311)
plt.title('positive freq. magnitude spectrum in dB: mX')
plt.plot(np.arange(mX.size), mX, 'r', lw=1.5)
plt.axis([0,mX.size, min(mX), max(mX)+1])

plt.subplot(312)
plt.title('positive freq. phase spectrum: pX')
plt.plot(np.arange(pX.size), pX, 'c', lw=1.5)
plt.axis([0, pX.size,-np.pi,np.pi])

plt.subplot(313)
plt.title('inverse spectrum: IDFT(X)')
plt.plot(np.arange(-N/2, N/2), y,'b', lw=1.5)
plt.axis([-N/2,N/2-1,min(y), max(y)])

plt.tight_layout()
plt.savefig('idft.png')
plt.show()

[(5, 'sys.path.append', 'sys.path.append', (['"""../../../software/models/"""'], {}), False, 'import sys\n'), (11, 'numpy.ones', 'np.ones', (['N'], {}), True, 'import numpy as np\n'), (13, 'dftModel.dftAnal', 'DFT.dftAnal', (['x', 'w', 'N'], {}), True, 'import dftModel as DFT\n'), (14, 'dftModel.dftSynth', 'DFT.dftSynth', (['mX', 'pX', 'N'], {}), True, 'import dftModel as DFT\n'), (16, 'matplotlib.pyplot.figure', 'plt.figure', (['(1)'], {'figsize': '(9.5, 5)'}), True, 'import matplotlib.pyplot as plt\n'), (17, 'matplotlib.pyplot.subplot', 'plt.subplot', (['(311)'], {}), True, 'import matplotlib.pyplot as plt\n'), (18, 'matplotlib.pyplot.title', 'plt.title', (['"""positive freq. magnitude spectrum in dB: mX"""'], {}), True, 'import matplotlib.pyplot as plt\n'), (22, 'matplotlib.pyplot.subplot', 'plt.subplot', (['(312)'], {}), True, 'import matplotlib.pyplot as plt\n'), (23, 'matplotlib.pyplot.title', 'plt.title', (['"""positive freq. phase spectrum: pX"""'], {}), True, 'import matplotlib.pyplot as plt\n'), (25, 'matplotlib.pyplot.axis', 'plt.axis', (['[0, pX.size, -np.pi, np.pi]'], {}), True, 'import matplotlib.pyplot as plt\n'), (27, 'matplotlib.pyplot.subplot', 'plt.subplot', (['(313)'], {}), True, 'import matplotlib.pyplot as plt\n'), (28, 'matplotlib.pyplot.title', 'plt.title', (['"""inverse spectrum: IDFT(X)"""'], {}), True, 'import matplotlib.pyplot as plt\n'), (32, 'matplotlib.pyplot.tight_layout', 'plt.tight_layout', ([], {}), True, 'import matplotlib.pyplot as plt\n'), (33, 'matplotlib.pyplot.savefig', 'plt.savefig', (['"""idft.png"""'], {}), True, 'import matplotlib.pyplot as plt\n'), (34, 'matplotlib.pyplot.show', 'plt.show', ([], {}), True, 'import matplotlib.pyplot as plt\n'), (19, 'numpy.arange', 'np.arange', (['mX.size'], {}), True, 'import numpy as np\n'), (24, 'numpy.arange', 'np.arange', (['pX.size'], {}), True, 'import numpy as np\n'), (29, 'numpy.arange', 'np.arange', (['(-N / 2)', '(N / 2)'], {}), True, 'import numpy as np\n'), (12, 'numpy.arange', 'np.arange', (['(-N / 2)', '(N / 2)'], {}), True, 'import numpy as np\n')]