Main Content

xcorr

설명

예제

r = xcorr(x,y)는 2개의 이산시간 시퀀스의 상호상관을 반환합니다. 상호상관은 벡터 x와 벡터 y의 이동된(지연된) 복사본 사이의 유사성을 그 지연 시간의 함수로 측정합니다. xy의 길이가 다르면 이 함수는 더 짧은 벡터의 끝부분에 0을 추가하여 더 긴 벡터와 동일한 길이를 가지도록 합니다.

예제

r = xcorr(x)x의 자기상관 시퀀스를 반환합니다. x가 행렬이면 r도 행렬이 되며, 반환된 행렬의 열에는 x의 열의 모든 조합에 대한 자기상관 및 상호상관 시퀀스가 포함됩니다.

예제

r = xcorr(___,maxlag)는 위에 열거된 구문에 대한 지연 범위를 -maxlag에서 maxlag까지로 제한합니다.

예제

r = xcorr(___,scaleopt)는 상호상관 또는 자기상관에 대한 정규화 옵션도 지정합니다. 'none'(디폴트 값)이 아닌 다른 옵션을 사용하려면 xy의 길이가 같아야 합니다.

예제

[r,lags] = xcorr(___)은 상관이 계산되는 지연값도 반환합니다.

예제

모두 축소

벡터 x와, x를 오른쪽으로 5개 요소만큼 이동한 벡터 y를 만듭니다. xy의 상호상관 추정값을 계산하고 플로팅합니다. 가장 큰 스파이크는 xy의 요소가 정확히 일치하는 지연값 (-5)에서 발생합니다.

n = 0:15;
x = 0.84.^n;
y = circshift(x,5);
[c,lags] = xcorr(x,y);
stem(lags,c)

Figure contains an axes object. The axes object contains an object of type stem.

벡터 x의 자기상관 추정값을 계산하고 플로팅합니다. 가장 큰 스파이크는 x가 자신과 정확하게 일치하는 지연 0에서 발생합니다.

n = 0:15;
x = 0.84.^n;
[c,lags] = xcorr(x);
stem(lags,c)

Figure contains an axes object. The axes object contains an object of type stem.

단위 피크를 갖는 벡터 x와 벡터 y의 정규화된 상호상관을 계산하고 플로팅한 다음 최대 지연값 10을 지정합니다.

n = 0:15;
x = 0.84.^n;
y = circshift(x,5);
[c,lags] = xcorr(x,y,10,'normalized');
stem(lags,c)

Figure contains an axes object. The axes object contains an object of type stem.

입력 인수

모두 축소

입력 배열로, 벡터, 행렬, 다차원 배열 중 하나로 지정됩니다. x가 다차원 배열인 경우 xcorr은 모든 차원에서 열 방향 연산을 수행하고 각 자기상관과 상호상관을 행렬의 열로 반환합니다.

데이터형: single | double
복소수 지원 여부:

입력 배열로, 벡터로 지정됩니다.

데이터형: single | double
복소수 지원 여부:

최대 지연값으로, 정수 스칼라로 지정됩니다. maxlag를 지정할 경우 반환되는 상호상관 시퀀스의 범위는 -maxlag에서 maxlag까지입니다. maxlag를 지정하지 않으면 지연값 범위가 2N – 1이 되며, 여기서 N은 xy 중 더 긴 쪽의 길이입니다.

데이터형: single | double

정규화 옵션으로, 다음 중 하나로 지정됩니다.

  • 'none' — 스케일링되지 않은 원시 상호상관입니다. 'none'xy의 길이가 다른 경우 유일하게 유효한 옵션입니다.

  • 'biased' — 상호상관의 편향 추정값입니다.

    R^xy,biased(m)=1NR^xy(m).

  • 'unbiased' — 상호상관의 무편향 추정값입니다.

    R^xy,unbiased(m)=1N|m|R^xy(m).

  • 'normalized' 또는 'coeff' — 지연 0에서 자기상관이 1이 되도록 시퀀스를 정규화합니다.

    R^xy,coeff(m)=1R^xx(0)R^yy(0)R^xy(m).

출력 인수

모두 축소

상호상관 또는 자기상관으로, 벡터 또는 행렬로 반환됩니다.

xM × N 행렬인 경우 xcorr(x)x의 열의 자기상관과 상호상관을 포함하는 (2M – 1) × N2 행렬을 반환합니다. maxlag를 지정할 경우 r의 크기는 (2 × maxlag + 1) × N2입니다.

예를 들어, S에 3개의 열 S=(x1x2x3)이 있다면 R = xcorr(S)의 결과는 다음과 같이 구성됩니다.

R=(Rx1x1Rx1x2Rx1x3Rx2x1Rx2x2Rx2x3Rx3x1Rx3x2Rx3x3).

지연값 인덱스로, 벡터로 반환됩니다.

세부 정보

모두 축소

상호상관과 자기상관

xcorr의 결과는 두 랜덤 시퀀스 간의 상호상관 추정값으로 해석되거나 두 결정적 신호 간의 결정론적 상관으로 해석될 수 있습니다.

결합 정상 확률 과정 xn과 yn의 실제 상호상관 시퀀스는 다음과 같이 지정됩니다.

Rxy(m)=E{xn+myn*}=E{xnynm*},

여기서 −∞ < n < ∞입니다. 별표는 켤레 복소수를 나타내고, E는 기대값 연산자입니다. xcorr은 실제로 무한 길이 확률 과정의 한 실현에서 유한 부분만 사용 가능하기 때문에 시퀀스만 추정할 수 있습니다.

기본적으로, xcorr은 정규화 없이 원시 상관을 계산합니다.

R^xy(m)={n=0Nm1xn+myn,m0,R^yx*(m),m<0.

출력 벡터 c는 다음으로 지정되는 요소를 가집니다.

c(m)=R^xy(mN),m=1,2,,2N1.

일반적으로 상관 함수가 정확한 추정값을 생성하려면 정규화가 필요합니다. 입력 인수 scaleopt를 사용하여 상관의 정규화를 제어할 수 있습니다.

참고 문헌

[1] Buck, John R., Michael M. Daniel, and Andrew C. Singer. Computer Explorations in Signals and Systems Using MATLAB®. 2nd Edition. Upper Saddle River, NJ: Prentice Hall, 2002.

[2] Stoica, Petre, and Randolph Moses. Spectral Analysis of Signals. Upper Saddle River, NJ: Prentice Hall, 2005.

확장 기능

참고 항목

| | |