일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 온천천
- SC택배
- PC Studio
- nodejs
- 탐론 28-75 F2.8
- 집더하기
- 던전앤파이터
- 민석도서관
- D-Range
- 대전 지하철
- 1987년 6월
- golang
- 하늘
- 던파
- 090722
- 전자정보관
- 부품함
- 동서대
- 전광판 에러
- 주차시간
- 2009Gstar
- 민트색
- 왜관가는길
- SourceTree
- 스파이크걸즈
- 민트색수첩
- git
- 아몰 레드
- vscode
- 트라이얼 자전거
- Today
- Total
가이의 다락방
MatLab을 이용한 FFT 본문
MatLab을 이용한 FFT
※ 이 문서는 MatLab의 도움말 문서를 참고 하였다. 단순한 사용설명이므로 자세한 내용을 원한다면 MatLab의 도움말에서 ‘FFT’를 키워드로 검색하여 Function부분을 보면 된다.
Amp = 2; tempValue = zeros(1, 1000);
for j = 1 : 1000; tempValue(j) = Amp * sin(2 * pi * 10 * j/100) + 4 * sin(2 * pi * 7 * j/100); end |
표 1.의 소스에서 for ~ end 로 기록된 부분이 파형을 만드는 부분이다. tempValue이 변수가 FFT를 하여 분석해야할 소스가 된다. 파형은 Sin 파형으로 10Hz주파수대의 진폭이 2, 7Hz가 4의 진폭을 가지고 각각 초당 100샘플링을 가지고 생성된다.
Fs = 100; % 100hz 샘플링 Length = 1000; % 파일 길이 NFFT = 2^nextpow2(Length); fftValue = fft(tempValue, NFFT) / Length; f = Fs/2* linspace(0, 1, NFFT/2+1); |
FFT를 위하여 표 2.와 같이 샘플링과 연산할 길이를 정하고 FFT함수를 이용해 FFT를 수행한다.
Plot에 표현하기 위해서는 표 3.과 같이 영역을 지정한다.
subplot(3,1,2); plot(f,2* abs(fftValue(1:NFFT/2+1))); grid on; |
그림 1. FFT 결과.
그림 1.에서 보듯이 실제 진폭과는 다르지만 주파수 분석은 훌륭하게 되었음을 알 수 있다.
□이 문서는 미완성이므로 내용이 바뀔 수 있습니다.