라고 하는게 맞는진 모르겠지만

500개의 데이터를 1초에 샘플링 할 경우

500개의 데이터를 넣냐

100개의 데이터를 넣냐에 따라 나오는결과가 달라지는데 이걸 어떻게 해석하냐에 대한 내용

 

input data

for ( i = 0; i < n; i++ )
{
in[i] = ( double ) sin ( 2.0f * PI * (double)(i * 10) / n);
}

500 에 10 주기 니까 500SPS일 경우 10Hz에 peak가 떠야 한다.

 

500개를 다 넣으면 10Hz 에서 peak가 뜬다.

같은 애를 x축 크기만 조정해서 출력하면 아래처럼 보인다. (오른쪽은 왼쪽의 그래프를 X축에 대해서 5배 확대한 것)

 

100개만 넣어서 돌리면, 값은 50개만 나오고(100/2+1) peak는 2에서 나온다.

같은 애를 x축 크기만 조정해서 출력하면 아래처럼 보인다. (왼쪽은 오른쪽의 그래프를 X축에 대해서 1/5배로 축소한 것)

 

 

 

상관관계로 보면

샘플링 속도는 동일하고

데이터 갯수가 1/N 만큼 줄어들면

원래 주파수로 환원하기 위해서는 *N을 해야 한다.

 

위의 경우 1/5 였으니까

주파수는 *5를 해야 정상적으로 나오고

다르게 해석하면 5Hz 의 RBW로 분석 주파수 해상도가 낮아졌다 라고 표현하면 될 듯.

'프로그램 사용 > fft, fftw' 카테고리의 다른 글

fft 결과에 N(입력 샘플 갯수)로 나누는 이유  (0) 2023.09.21
tek.com fft 관련 문서  (0) 2023.07.19
sfft  (0) 2023.07.12
fft window type과 진폭 보정계수  (0) 2023.07.04
fft window 함수  (0) 2023.07.03
Posted by 구차니