FFT_Ramp_Frequency.py
1 import numpy as np 2 from numpy.fft import fft, ifft 3 import matplotlib.pyplot as plt 4 5 n = np.arange(0, 61, 1) 6 Fs=125e6 7 Ts = 1.0 / Fs 8 Tb=1e-6 9 y = 1 + np.sin(2*np.pi*(29e6*(n**2)*(Ts**2)/(2.0*Tb)+1e6*n*Ts)) 10 11 t = Ts*np.arange(0,61,1) 12 Y = fft(y) 13 M =len(Y) 14 m = np.arange(M) 15 T = M*Ts 16 freq = m/T 17 18 19 plt.figure(figsize = (12, 6)) 20 plt.subplot(121) 21 plt.stem(freq, np.abs(Y), 'b', \ 22 markerfmt=" ", basefmt="-b") 23 plt.xlabel('Freq (Hz)') 24 plt.ylabel('FFT Amplitude |Y(freq)|') 25 plt.xlim(0, 40*pow(10,6)) 26 plt.ylim(0, 20) 27 28 plt.subplot(122) 29 plt.plot(t, ifft(Y), 'r') 30 plt.xlabel('Time (s)') 31 plt.ylabel('Amplitude') 32 plt.tight_layout() 33 34 plt.show()