이것은 윈도 잉 결과물입니다.
링크 된 코드는 길이가 2의 거듭 제곱이되도록 10,000 개의 샘플 신호를 0으로 채 웁니다.
%% Author :- Embedded Laboratory
%%This Project shows how to apply FFT on a signal and its physical
% significance.
fSampling = 10000; %Sampling Frequency
tSampling = 1/fSampling; %Sampling Time
L = 10000; %Length of Signal
t = (0:L-1)*tSampling; %Time Vector
F = 100; %Frequency of Signal
%% Signal Without Noise
xsig = sin(2*pi*F*t);
...
%%Frequency Transform of above Signal
subplot(2,1,2)
NFFT = 2^nextpow2(L);
Xsig = fft(xsig,NFFT)/L;
...
위의 코드에서, FFT는 FFT 사이즈로 촬영되어 있습니다 NFFT
. (이 경우, 384)의 신호 길이보다 더 큰 2의 다음의 힘으로부터 매스 웍스 fft()
문서 :
Y = fft(X,n)
n- 포인트 DFT를 반환합니다. fft(X)
동등 fft(X, n)
곳 n
의 크기가 X
상기 제 nonsingleton 측정한다. 의 길이가되면 X
미만이며 n
, X
길이로 0을 후행으로 채워집니다 n
. 길이 X
가보다 크면 n
시퀀스 X
가 잘립니다. 경우 X
행렬이고, 컬럼의 길이를 동일하게 조정된다.
이것은 당신이 실제로 '정현 사인파'의 FFT를 취하는 것이 아니라는 것을 의미합니다.
이는 사인파의 FFT에 제곱 윈도우 기능을 곱한 것과 같습니다. FFT 스펙트럼은 사인파 주파수 스펙트럼 (임펄스 함수)과 구형파 주파수 스펙트럼 (sinc (f))의 컨볼 루션입니다.
L = 16,384
신호의 제로 패딩이 없도록 변경 하면 perfect
FFT 가 관찰됩니다 .
추가 검색 키워드 : "스펙트럼 누출", "창 기능", "해밍 창".
편집 : 대학 에서이 주제에 대해 쓴 일부 자료를 정리했습니다. 내 블로그에 게시했습니다 .