2016-08-09 1 views
0

나는 x=0에서 x=0.4까지의 순간 속도를 설명하는 데이터 세트를 가지고 있습니다 (32 노드에서 공간 증가는 0.0125입니다). 나는 파동 x 어떤 값에 대한 확실하지 않다, 그러나fft에서 웨이브 벡터를 얻고 플로팅

data = [-0.0005 
    -0.0004 
    -0.0003 
    -0.0002 
    -0.0001 
    -0.0000 
    0.0001 
    0.0001 
    0.0001 
    0.0002 
    0.0002 
    0.0002 
    0.0002 
    0.0002 
    0.0002 
    0.0002 
    0.0002 
    0.0002 
    0.0003 
    0.0004 
    0.0005 
    0.0006 
    0.0007 
    0.0009 
    0.0010 
    0.0011 
    0.0011 
    0.0012 
    0.0011 
    0.0011 
    0.0011 
    0.0010 ]; 


N = 100; 
X=abs(fft(data,N)); 
X = fftshift(X); 
F = [-N/2:N/2-1]/N; 

figure(1) 
plot(F,X) 

:

나는이에 FFT를 적용 할 것, 이것이 내가 다음 코드 조각 data는 속도를 포함 할 경우 축은 플롯에서 나타납니다. 원칙적으로 웨이브 벡터를 원하지만 FFT에서이를 얻는 방법이 있습니까?

+0

wavevector 란 무엇입니까? FFT의 x 축은 주파수이고 y 축은 신호의 해당 주파수의 상대적 존재 량입니다. – GameOfThrows

답변

1

F은 -0.5에서 +0.5 (제외)에서 실행되며 기본 샘플 속도 (나이키 스트 주파수)에 상대적인 주파수를 나타냅니다. 원본 신호 X은 샘플 당 0.0125 미터의 균일 한 간격 또는 미터 당 80 샘플의 샘플 빈도로 샘플링되므로 F/0.0125은 실제 공간 주파수를 미터 당 사이클 단위로 나타냅니다. 말이된다?

+0

그러면 X의 최대 값은 40입니다. 길이 단위의 사이클 단위라고하면 기본적으로 주어진 X는 1/(medium의 길이)입니까? – BillyJean

+0

제 말은 미터 당 사이클의 단위라고 말할 때 2 * pi의 인자가 포함되어있는 것입니까? – BillyJean

+1

아,별로. 다음은 완전한 분석입니다 :'F'는 미터 당 "표준화 된"사이클의 단위를가집니다 (정규화 인수는 샘플 속도, 미터 당 80 샘플). 'F/0.0125'는 미터 당 "진정한"사이클의 단위를 가지고 있습니다. 'F/0.125 * 2 * pi'는 2π 라디안이 1주기이기 때문에 미터당 라디안 단위를 사용합니다. 이 주파수 벡터의 각 요소는 'X'의 크기와 일치하는 주파수를 알려줍니다. –