통신 또는 신호 처리에 있어서 delay 는 항상 존재 하기 마련이다. 필터링이나, 공기중의 매질을 통과하는 동안의 시간 지연RF 소자에 의한 지연 등.. 굉장히 다양한 지연 요소가 있다. 이런 delay 값을 확인 하기 위하여 수신신호와 기준 신호의 correlation을 이용하곤 한다. correlation 은 상관도로서 reference 값과 들어오는 값이 얼마나 잘 매치가 되는지를 알아 보는 척도이다. 이런 correlation 을 수행하는 함수로 xcorr() 함수가 있다. 본 함수는 Signal processing toolbox 내에 포함된 함수이다.
x=1:5
x =
1 2 3 4 5
y=[0 0 0 1:5]
y =
0 0 0 1 2 3 4 5
위의 x와 y 값을 비교 해 보면 y 가 x 에 비해 3 sample 만큼 delay 가 있다는 것을 확인 할 수 있다.
x와 y 에 대해 correlation 을 취해 보면
[V, D] = xcorr(x,y);
V 에는 correlation 에 따른 결과 값이 입력 되고, D 에는 delay 값이 입력된다. 이에 대해 그래프를 그려 보면 다음과 같은 결과를 확인 할 수 있다.
figure, plot(D, V,'r:.'), grid on
-3 위치 즉 y 가 3 만큼 delay 된 위치에서 correlation 이 최대가 됨을 확인 할 수 있다. Communication toolbox 에 있는 finddelay() 함수를 이용하면 delay 값을 좀더 쉽게 알 수 있다.
D=finddelay(x,y)
D =
3
'programming language > MATLAB' 카테고리의 다른 글
MATLAB 반올림 관련 함수들 round, fix, ceil, floor (4) | 2011.03.19 |
---|---|
MATLAB interpolation, interp1() (0) | 2011.03.19 |
MATLAB 기본 2 (0) | 2011.03.19 |
MATLAB subplot() (0) | 2011.03.16 |
MATLAB 벡터화 기법 (0) | 2011.03.14 |
MATLAB 적분 추가 내용 trapz() (0) | 2011.03.14 |
MATLAB 적분 int(), quad() (6) | 2011.03.14 |
MATLAB 함수의 해를 구해 보자~ fzero(), roots(), poly() (2) | 2011.03.13 |
댓글