Home
Software Programming Learning
EDA & IP & IC
Goodies
News
Contact Us
Article
Contents Of Article
Previous Article
SNO:
Writer:
Next Article
Title:
import numpy as np import matplotlib.pyplot as plt jFreq = 45 jPoint = 1024 jTick = np.arange(jPoint) * 2 * np.pi * jFreq / 1000 jWave = np.sin(jTick) jFreq2 = 10 jTick2 = np.arange(jPoint) * 2 * np.pi * jFreq2 / 1000 jWave2 = np.sin(jTick2) for i in range(1024): jWave[i] = jWave[i] + jWave2[i] + np.random.uniform(-0.5,0.5) plt.plot(jTick,jWave) plt.show() jFft = np.fft.fft(jWave) freq = np.fft.fftfreq(jPoint,0.001) # create frequency array plt.plot(freq,jFft.real,freq,jFft.imag) plt.legend(("real","imaginary")) plt.show() lFft = jFft.tolist() jHpf = 20 jLpf = 90 for i in range(jLpf,jPoint-jLpf): # low pass filtering lFft[i] = 0 for i in range(0,jHpf): # high pass filtering lFft[i] = 0 lFft[jPoint-i-1] = 0 jFfti = np.fft.fft(lFft) / jPoint plt.plot(jTick,jFfti.real,jTick,jFfti.imag) plt.legend(("real","imaginary")) plt.show()
Previous Article
Next Article