전자 | 제어 | 항공우주/코딩
[Python] Excel로 데이터 읽어와 FFT 수행후 그래프 출력 Code
상상메카J
2023. 1. 19. 16:05
반응형
하드웨어, 센서, 특히 신호처리를 하다보면 FFT가 꼭 필요하죠.
가장 심플하게 data excel 파일을 읽어와서 FFT를 수행하고 그래프를 출력해주는 프로그램입니다.
Excel은
시간과 값, 두 개의 Column만 있으면 됩니다. (보통 모든 센서의 출력이 이와 같겠죠?)
파일 명은 signal_data.xlsx 라고 되어있는데, 본인의 입 맛에 맞게 바꾸시면 됩니다.
import pandas as pd
import numpy as np
# Read data from Excel file
data = pd.read_excel('signal_data.xlsx')
# Get time and amplitude columns
time = data['time'].values
amplitude = data['amplitude'].values
# Generate signal
signal = amplitude
# Perform FFT
fft = np.fft.fft(signal)
# Get frequency domain
freq = np.fft.fftfreq(len(fft), d=time[1]-time[0])
# Plot results
import matplotlib.pyplot as plt
plt.plot(freq, np.abs(fft))
plt.xlabel('Frequency (Hz)')
plt.ylabel('Amplitude')
plt.show()
잘 활용해보시기 바랍니다.
반응형