본문 바로가기
전자 | 제어 | 항공우주/코딩

[Python] Excel로 데이터 읽어와 FFT 수행후 그래프 출력 Code

by 상상메카J 2023. 1. 19.
반응형


하드웨어, 센서, 특히 신호처리를 하다보면 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()


잘 활용해보시기 바랍니다.

반응형

댓글