엑셀로 FFT를 해보자! - 2. 주파수 도메인 그래프 보기
엑셀에서 FFT를 사용하기 위해서는 데이터 분석 기능을 활성화 시켜야 합니다.
https://moneywelcome.tistory.com/m/5
엑셀로 FFT를 해보자! - 1. FFT 활성화하기
푸리에 변환을 엑셀로도 할 수 있다는거 아시나요.. 다만 샘플링 수가 8192개 이하여야 가능합니다. 보통 매틀랩을 이용해서 FFT를 치는데, 샘플수가 적거나 굳이 매틀랩 깔기 귀찮을때 있자나요
moneywelcome.tistory.com
데이터 분석 기능이 활성화됐으면 그래프 확인해볼게요.
이 계산에 꼭 필요한 정보는 샘플링 주파수, 샘플수, 타임 도메인 상의 데이터 입니다.
저는 샘플링 주파수는 1.2 MHz, 샘플 수는 256개 사용했습니다.
샘플 256개를 얻는 데에 걸린 시간은 주기×256=0.000213333 [s]로 계산합니다
주파수 해상도 즉 주파수 변화량은 주파수÷샘플 수=4687.5 Hz로 주파수 도메인에서 한칸의 단위입니다.
따로 작성해두어야 수식 만들기가 편해요.
수식 작성 편의를 위해 0부터 샘플수를 표기합니다.
타임 도메인 상에서 x축 한칸의 단위가 어떻게 되는지 표시합니다.
다른 계산할때 쓰는 값은 아니고 그래프 상에서 보기 편하라고 하는 과정이에요.
저는 ADC에서 얻은 데이터를 사용할거에요.
얻은 데이터를 채워넣습니다.
해당 값은 Time domain에서 얻은 값인데요.
이 값이 파형으로 제대로 나오는지 확인해볼거에요.
전에 계산해놓은 시간 변화량과 데이터를 드래그해 그래프로 나타내면 위와 같습니다.
파형은 일정하니까 64개만 가지고 그래프를 그렸어요
대충 파형이 잘 나오네요.
이제 푸리에 변환을 할거에요.
데이터 탭에 데이터 분석을 누릅니다.
설치는 아래 링크 참고하세요.
https://moneywelcome.tistory.com/m/5
뭐 여러가지 데이터 분석이 있는데 저는 푸리에만 써서 다른 건 몰라요.
푸리에 분석 누르면 아래 창과 같습니다.
입력 범위에 타임 도메인 데이터를 넣습니다.
드래그해서 넣어도 되고 좌표값을 넣어도 됩니다.
푸리에 변환이 된 값을 어느 구역에 넣을지 출력 범위에 설정해줍니다.
그 뒤 확인을 누르면 아래와 같은 복소수 형태로 fft가 됩니다.
복소수는 그래프로 볼 수 없져..
뭐 보려고 하면 볼수는 있는데 엑셀로는 안됩니다.
복소수값을 Magnitude로 바꿔줍니다.
수식: IMABS(fft복소수)/(샘플수/2)
Magnitude 앞에 한줄 여유를 둔 이유는 주파수 변화량으로 채워넣으려구요..
그래야 그래프 볼때 편해요
맨 앞쪽에서 구한 델타f로 주파수를 표시합니다.
x축이 될거에요.
주파수와 mag를 긁어서 그래프로 표시하면 위와 같아요.
300kHz 에서 파형이 보입니다.
많이 귀찮아서 그냥 매틀랩 한번 쓰는게 훨씬 편해요..
라이센스 없으면 옥타브
20~30줄로 완성되는걸 굳이 엑셀로 이럴 필요없어요..
그래도 가끔 아주 가끔 필요할수도 있으니까 ㅎㅎ 알고 있으면 좋겠져
+ 개발 보드를 통해 얻은 ADC 업로드 합니다.
거의 1년전 개발을 끝낸 업무라서 해당 데이터로 FFT 하면 저 그래프가 나올지 모르겠네요?
개인 노트북에 엑셀도 없고 회사에서 하기엔 바쁜 관계로 ADC 데이터가 아닐 수도 있지만, 뭐 아무튼 올려봅니다.
직접 확인을 해주세요 ㅎㅎ