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()


3.14159265359

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 [ ]: