Main Content

corrmtx

자기상관 행렬 추정을 위한 데이터 행렬

설명

H = corrmtx(x,m)HH가 입력 벡터 x의 자기상관 행렬에 대한 편향 추정값이 되는 (n+m)-by-(m+1) 사각 테플리츠 행렬 H = H를 반환합니다. n은 x의 길이이고, m은 예측 모델 차수이고, HH의 켤레 전치입니다.

예제

H = corrmtx(x,m,method)method로 지정된 방법에 따라 행렬 H를 계산합니다.

[H,r] = corrmtx(___)는 위에 열거된 구문에서, HH로 계산되는 (m + 1)×(m + 1) 자기상관 행렬 추정값 r도 반환합니다.

예제

모두 축소

백색 가우스 잡음에 묻혀 있고 3개의 복소수 지수로 구성된 신호를 생성합니다. 'modified' 메서드를 사용하여 데이터와 자기상관 행렬을 계산합니다.

n = 0:99;
s = exp(i*pi/2*n)+2*exp(i*pi/4*n)+exp(i*pi/3*n)+randn(1,100);
m = 12;
[X,R] = corrmtx(s,m,'modified');

자기상관 행렬의 실수부와 허수부를 플로팅합니다.

[A,B] = ndgrid(1:m+1);
subplot(2,1,1)
plot3(A,B,real(R))
title('Re(R)')
subplot(2,1,2)
plot3(A,B,imag(R))
title('Im(R)')

Figure contains 2 axes objects. Axes object 1 with title Re(R) contains 13 objects of type line. Axes object 2 with title Im(R) contains 13 objects of type line.

입력 인수

모두 축소

입력 데이터로, 벡터로 지정됩니다.

예측 모델 차수로, 양의 실수형 정수로 지정됩니다.

행렬 계산 방법으로, 'autocorrelation', 'prewindowed', 'postwindowed', 'covariance' 또는 'modified'로 지정됩니다.

  • 'autocorrelation': 디폴트 값이며, H는 길이가 n인 데이터 벡터 x에 대한 자기상관 추정값을 생성하는 (n + m)-by-(m + 1) 사각 테플리츠 행렬로, m차 예측 모델을 기반으로 prewindowedpostwindowed 데이터를 사용하여 도출됩니다. 이 행렬은 Yule-Walker 방법을 사용하여 자기회귀 파라미터 추정을 수행하는 데 사용될 수 있습니다. 자세한 내용은 aryule를 참조하십시오.

  • 'prewindowed': H는 길이가 n인 데이터 벡터 x에 대한 자기상관 추정값을 생성하는 n-by-(m + 1) 사각 테플리츠 행렬로, m차 예측 모델을 기반으로 prewindowed 데이터를 사용하여 도출됩니다.

  • 'postwindowed': H는 길이가 n인 데이터 벡터 x에 대한 자기상관 추정값을 생성하는 n-by-(m + 1) 사각 테플리츠 행렬로, m차 예측 모델을 기반으로 postwindowed 데이터를 사용하여 도출됩니다.

  • 'covariance': H는 길이가 n인 데이터 벡터 x에 대한 자기상관 추정값을 생성하는 (n – m)-by-(m + 1) 사각 테플리츠 행렬로, m차 예측 모델을 기반으로 nonwindowed 데이터를 사용하여 도출됩니다. 이 행렬은 공분산 방법을 사용하여 자기회귀 파라미터 추정을 수행하는 데 사용될 수 있습니다. 자세한 내용은 arcov를 참조하십시오.

  • 'modified': H는 길이가 n인 데이터 벡터 x에 대한 자기상관 추정값을 생성하는 2(n – m)-by-(m + 1) 수정된 사각 테플리츠 행렬로, m차 예측 모델을 기반으로 순방향 및 역방향 예측 오차 추정값을 사용하여 도출됩니다. 이 행렬은 수정 공분산 방법을 사용하여 자기회귀 파라미터 추정을 수행하는 데 사용될 수 있습니다. 자세한 내용은 armcov를 참조하십시오.

출력 인수

모두 축소

데이터 행렬로, 자기상관 행렬 추정을 위해 반환됩니다. H의 크기는 method로 지정된 행렬 계산 방법에 따라 달라집니다.

편향 자기상관 행렬로, (m + 1)×(m + 1) 사각 테플리츠 행렬로 반환됩니다.

알고리즘

corrmtx로 계산되는 테플리츠 데이터 행렬은 사용자가 선택하는 방법에 따라 달라집니다. autocorrelation(디폴트 값) 방법에 의해 결정되는 행렬은 다음과 같습니다.

H=1n[x(1)000x(2)x(1)00x(3)x(2)00x(m)x(m1)x(1)0x(m+1)x(m)x(2)x(1)x(m+2)x(m+1)x(3)x(2)x(n1)x(n2)x(nm)x(nm1)x(n)x(n1)x(nm+1)x(nm)0x(n)x(nm+2)x(nm+1)00x(n1)x(n2)00x(n)x(n1)000x(n)].

이 행렬에서 m은 corrmtx에 대한 입력 인수 m과 동일하고, n은 length(x)입니다. 각 방법에 따른 corrmtx의 출력값 H를 반환하기 위해 이 행렬의 변형된 형태가 사용됩니다.

  • 'autocorrelation' — (디폴트 값) H = H.

  • 'prewindowed'H는 첫 번째 행이 [x(1) … 0]이고 마지막 행이 [x(n) … x(n – m)]H의 n×(m + 1) 부분행렬입니다.

  • 'postwindowed'H는 첫 번째 행이 [x(m + 1) … x(1)]이고 마지막 행이 [0 … x(n)]H의 n×(m + 1) 부분행렬입니다.

  • 'covariance'H는 첫 번째 행이 [x(m + 1) … x(1)]이고 마지막 행이 [x(n) … x(n – m)]H의 (n – m)×(m + 1) 부분행렬입니다.

  • 'modified'H는 다음으로 정의되는 2(n – m)-by-(m + 1) 행렬 Hmod입니다.

    Hmod=12(nm)[x(m+1)x(1)x(n)x(nm)x(1)x(m+1)x(nm)x(n)].

참고 문헌

[1] Marple, S. Lawrence. Digital Spectral Analysis: With Applications. Prentice-Hall Signal Processing Series. Englewood Cliffs, N.J: Prentice-Hall, 1987.

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2006a 이전에 개발됨

참고 항목

| | | |