aryule
자기회귀 전극점 모델 파라미터 — Yule-Walker 방법
설명
예제
Yule-Walker 방법을 사용하여 파라미터 추정하기
다항식 계수로 구성된 벡터를 사용하여 백색 잡음의 1024개 샘플을 필터링함으로써 AR(4) 과정을 생성합니다. 재현 가능한 결과를 얻기 위해 난수 생성기를 재설정합니다. Yule-Walker 방법을 사용하여 계수를 추정합니다.
rng default
A = [1 -2.7607 3.8106 -2.6535 0.9238];
y = filter(1,A,0.2*randn(1024,1));
arcoeffs = aryule(y,4)
arcoeffs = 1×5
1.0000 -2.7262 3.7296 -2.5753 0.8927
매번 입력 잡음의 분산을 변경하여 해당 과정에 대해 50개의 구현을 생성합니다. Yule-Walker 방법으로 추정한 분산과 실제 값을 비교합니다.
nrealiz = 50; noisestdz = rand(1,nrealiz)+0.5; randnoise = randn(1024,nrealiz); noisevar = zeros(1,nrealiz); for k = 1:nrealiz y = filter(1,A,noisestdz(k) * randnoise(:,k)); [arcoeffs,noisevar(k)] = aryule(y,4); end plot(noisestdz.^2,noisevar,'*') title('Noise Variance') xlabel('Input') ylabel('Estimated')
함수의 다중채널 구문을 사용하여 이 절차를 반복합니다.
Y = filter(1,A,noisestdz.*randnoise); [coeffs,variances] = aryule(Y,4); hold on plot(noisestdz.^2,variances,'o') hold off legend('Single channel loop','Multichannel','Location','best')
반사 계수 감쇠를 사용하여 모델 차수 추정하기
다항식 계수로 구성된 벡터를 사용하여 백색 잡음의 1024개 샘플을 필터링함으로써 AR(2) 과정을 생성합니다. 재현 가능한 결과를 얻기 위해 난수 생성기를 재설정합니다.
rng default
y = filter(1,[1 -0.75 0.5],0.2*randn(1024,1));
Yule-Walker 방법을 사용하여 AR(10) 모델을 과정에 피팅합니다. 반사 계수를 출력하고 플로팅합니다. 처음 두 개의 계수만 95% 신뢰한계 밖에 존재합니다. 이는 AR(10) 모델이 데이터의 시간 의존성을 상당히 과대 추정했음을 나타냅니다. 자세한 내용은 AR Order Selection with Partial Autocorrelation Sequence 항목을 참조하십시오.
[ar,nvar,rc] = aryule(y,10); stem(rc) xlim([0 11]) conf95 = sqrt(2)*erfinv(0.95)/sqrt(1024); [X,Y] = ndgrid(xlim,conf95*[-1 1]); hold on plot(X,Y,'--r') hold off title('Reflection Coefficients')
입력 인수
출력 인수
e
— 백색 잡음 입력 분산
스칼라 | 행 벡터
백색 잡음 입력 분산으로, 스칼라 또는 행 벡터로 반환됩니다. x
가 행렬이면 e
의 각 요소는 x
의 열에 대응됩니다.
세부 정보
AR(p) 모델
p차 AR 모델의 현재 출력값은 이전 p개 출력값의 선형 결합에 백색 잡음 입력값이 더해진 값입니다.
이전 p개 출력값에 대한 가중치는 자기회귀에 대한 평균제곱 예측 오차를 최소화합니다. y(n)이 출력값의 현재 값이고 x(n)이 평균 0의 백색 잡음 입력값인 경우 AR(p) 모델은 다음과 같습니다.
반사 계수
반사 계수는 –1로 스케일링된 편자기상관 계수입니다.
반사 계수는 y(n)과 y(n – k) 사이에 있는 k – 1개의 시간 스텝에 따라 예측값을 뺀 이후 이 두 값 간의 시간 의존성을 나타냅니다.
알고리즘
aryule
은 표본 자기상관 시퀀스에 대한 편향 추정값에 Levinson-Durbin 재귀를 사용하여 파라미터를 계산합니다.
참고 문헌
[1] Hayes, Monson H. Statistical Digital Signal Processing and Modeling. New York: John Wiley & Sons, 1996.
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
버전 내역
R2006a 이전에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)