In [1]:
from __future__ import print_function
import numpy as np
from glob import glob
import matplotlib.pyplot as plt
import math
%matplotlib inline
In [4]:
print()
In [31]:
lenSignal = 2048
Signal=np.zeros(lenSignal)
freq = 128
for i in range(2*freq):
Signal[freq+i] = 2*math.sin((2.0*math.radians(180)*i)/freq)
for i in range(2*freq):
Signal[5*freq+i] = 1*math.sin((2.0*math.radians(180)*i)/freq)
for i in range(3*freq):
Signal[9*freq+i] = 0.5*math.sin((2.0*math.radians(180)*i)/freq)
for i in range(1*freq):
Signal[14*freq+i] = 1.5*math.sin((2.0*math.radians(180)*i)/freq)
In [32]:
plt.plot(Signal) # avec l'échelle
#plt.plot(SelectedLine[0:XLimit])
plt.xlabel('Frequency (MHz)')
plt.show()
In [36]:
fftSignal = np.fft.fft(Signal)
plt.plot(np.abs(fftSignal[0:256])) # avec l'échelle
#plt.plot(SelectedLine[0:XLimit])
plt.xlabel('Frequency (MHz)')
plt.show()
In [39]:
fftAbsSignal = np.fft.fft(np.abs(Signal))
plt.plot(np.abs(fftAbsSignal[0:256])) # avec l'échelle
#plt.plot(SelectedLine[0:XLimit])
plt.xlabel('Frequency (MHz)')
plt.show()
In [46]:
TruncatedSignal=np.zeros(lenSignal)
for i in range(len(Signal)):
if (Signal[i]>=0):
TruncatedSignal[i] = Signal[i]
fftTruncatedSignal = np.fft.fft(TruncatedSignal)
plt.plot(np.abs(fftTruncatedSignal[0:256])) # avec l'échelle
#plt.plot(SelectedLine[0:XLimit])
plt.xlabel('Frequency (MHz)')
plt.show()
In [48]:
plt.plot(np.abs(fftSignal-fftTruncatedSignal)[0:256]) # avec l'échelle
#plt.plot(SelectedLine[0:XLimit])
plt.xlabel('Frequency (MHz)')
plt.show()
In [ ]: