상관과 공분산
배경 정보
두 개의 광의의 정상 확률 과정 x(n)과 y(n)에 대한 상호상관 시퀀스는 다음과 같습니다.
여기서 별표는 켤레 복소수를 나타내고 기대값은 확률 과정을 구성하는 구현의 앙상블을 대상으로 합니다.
참고로, 상호상관은 가환적이지 않지만 에르미트(켤레) 대칭 속성은 다음과 같이 성립합니다.
x(n)과 y(n) 사이의 교차공분산은 다음과 같습니다.
평균이 0인 광의의 정상 확률 과정에서 상호상관과 교차공분산은 동일합니다.
실제로는 무한 길이의 확률 과정 중 유한 부분에만 액세스할 수 있으므로 이러한 시퀀스를 추정해야 합니다. 또한, 확률 과정의 단일 구현만 사용할 수 있으므로 시간 평균에 따라 앙상블 모멘트를 추정해야 하는 경우도 종종 있습니다. x(n)과 y(n)의 N개 샘플을 기반으로 하는 공통 추정값은 결정적 상호상관 시퀀스(시간-모호성 함수라고도 함)입니다.
여기서는 설명을 위해 x(n)과 y(n)이 0에서 N -1까지 인덱스가 지정되어 있고 은 –(N – 1)에서 N – 1까지 인덱스가 지정되어 있다고 가정합니다.
xcorr
함수와 xcov
함수 사용하기
xcorr
함수와 xcov
함수는 확률 과정에 대해 상호상관 시퀀스와 교차공분산 시퀀스를 추정합니다. 또한, 특수한 사례로 자기상관 및 자기공분산을 처리합니다. xcorr
함수는 위에서 길이가 N인 벡터 x
와 y
에 저장된 입력값 x(n)과 y(n)이 주어졌을 때 효율적인 FFT 기반 알고리즘으로 위에 표시된 합계를 계산합니다. 이 함수의 연산은 두 부분 시퀀스 중 하나를 시간 역순으로 뒤집은 상태의 컨벌루션과 동일합니다.
예를 들면 다음과 같습니다.
x = [1 1 1 1 1]'; y = x; xyc = xcorr(x,y)
결과 시퀀스의 길이는 입력 시퀀스 길이의 두 배보다 하나가 작다는 것을 알 수 있습니다. 따라서 N번째 요소는 지연값 0에서의 상관입니다. 또한, 두 개의 사각 펄스를 컨벌루션하면 그 결과로 출력값의 삼각 펄스가 발생하는 것을 알 수 있습니다.
xcov
함수는 자기공분산 시퀀스와 교차공분산 시퀀스를 추정합니다. 이 함수는 xcorr
과 동일한 옵션을 가지며 동일한 합계를 계산하지만, 먼저 x
와 y
의 평균을 제거합니다.
편향 및 정규화
수량의 기대값이 추정한 수량과 같지 않으면 수량 추정값은 편향된 것입니다. xcorr
의 출력 기대값은 다음과 같습니다.
입력 시퀀스 다음에 'unbiased'
플래그를 지정하면 xcorr
은 값을 N – |m|으로 나눈 무편향 추정값을 제공합니다.
xcorr(x,y,'unbiased')
이 추정값은 편향되지 않지만, xcorr
이 몇 개의 데이터 점만 사용해서 값을 계산하므로 끝점(–(N – 1) 및 N – 1 근처)에서 큰 분산이 발생합니다. 이 문제를 절충하는 방법은 'biased'
플래그를 사용하여 단순히 N으로 나누는 것입니다.
xcorr(x,y,'biased')
이 방식을 사용하면 지연값 0에서의 상관 샘플(N번째 출력 요소)만 편향되지 않습니다. 이 추정값은 상관 시퀀스의 끝점에서 무작위로 큰 편차가 발생하는 것을 방지해 주므로 무편향 추정값보다 더 바람직할 때가 많습니다.
xcorr
은 정규화 방식을 한 가지 더 제공합니다. 구문은 다음과 같습니다.
xcorr(x,y,'coeff')
이 구문은 자기상관의 경우 지연값 0에서의 샘플이 1이 되도록 출력값을 norm(x)*norm(y)
로 나눕니다.
다중채널
다중채널 신호인 경우 xcorr
과 xcov
는 모든 채널에 대해 자기상관 시퀀스, 상호상관 시퀀스, 공분산 시퀀스를 동시에 추정합니다. S
가 열에 N개의 채널을 표현하는 M×N 신호 행렬인 경우, xcorr
(S)
는 N2개 열에 S
의 채널의 자기상관 및 상호상관이 있는 (2M – 1)×N2 행렬을 반환합니다. S
가 다음과 같은 3채널 신호라면
S = [s1 s2 s3]
xcorr
(S)
의 결과는 다음과 같이 구성됩니다.
R = [Rs1s1 Rs1s2 Rs1s3 Rs2s1 Rs2s2 Rs2s3 Rs3s1 Rs3s2 Rs3s3]
관련된 두 함수 cov
와 corrcoef
는 표준 MATLAB® 환경에서 사용할 수 있습니다. 이러한 함수는 지연값 0에서 서로 다른 채널 사이의 공분산과 정규화된 공분산을 각각 추정하고 이를 정사각 행렬에 배열합니다.