반응형
하드웨어, 센서, 특히 신호처리를 하다보면 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()
잘 활용해보시기 바랍니다.
반응형
'전자 | 제어 | 항공우주 > 코딩' 카테고리의 다른 글
[VSCode] 서식 포함 복사/붙여넣기 (4) | 2024.08.11 |
---|---|
ESP-IDF VScode 설치 오류 해결하기 (Invalid ESP-IDF) (6) | 2024.01.09 |
[파이썬] 설치된 버전 확인방법 (0) | 2023.12.15 |
[라즈베리파이] Python으로 uart 로 받은 data를 excel로 저장하는 코드 (2) | 2023.01.19 |
[VSCode] Go to Definition (F12 or Ctrl + Click) 안될 때 (2) | 2022.07.19 |
댓글