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)')

입력 인수

모두 축소

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

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

행렬 계산 방법으로, '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)-by-(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 이전에 개발됨