Автокорреляционная функция экспоненциальной последовательности

Вычислите автокорреляционную функцию экспоненциальной последовательности с 28 выборками, x=0.95n для n0.

a = 0.95;

N = 28;
n = 0:N-1;
lags = -(N-1):(N-1);

x = a.^n;
c = xcorr(x);

Определить c аналитически проверить правильность результата. Используйте большую частоту дискретизации, чтобы симулировать непрерывную ситуацию. Автокорреляционная функция последовательности x(n)=an для n0, с |a|<1является

c(n)=1-a2(N-|n|)1-a2×a|n|.

fs = 10;
nn = -(N-1):1/fs:(N-1);

dd = (1-a.^(2*(N-abs(nn))))/(1-a^2).*a.^abs(nn);

Постройте график последовательностей на том же рисунке.

stem(lags,c);
hold on
plot(nn,dd)
xlabel('Lag')
legend('xcorr','Analytic')
hold off

Figure contains an axes. The axes contains 2 objects of type stem, line. These objects represent xcorr, Analytic.

Повторите вычисление, но теперь найдите объективную оценку автокорреляции. Проверьте, что объективная оценка дана cu(n)=c(n)/(N-|n|).

cu = xcorr(x,'unbiased');

du = dd./(N-abs(nn));

stem(lags,cu);
hold on
plot(nn,du)
xlabel('Lag')
legend('xcorr','Analytic')
hold off

Figure contains an axes. The axes contains 2 objects of type stem, line. These objects represent xcorr, Analytic.

Повторите расчет, но теперь найдите предвзятую оценку автокорреляции. Проверьте, что смещенная оценка дана cb(n)=c(n)/N.

cb = xcorr(x,'biased');

db = dd/N;

stem(lags,cb);
hold on
plot(nn,db)
xlabel('Lag')
legend('xcorr','Analytic')
hold off

Figure contains an axes. The axes contains 2 objects of type stem, line. These objects represent xcorr, Analytic.

Найдите оценку автокорреляции, значение которой при нулевой задержке является единицей.

cz = xcorr(x,'coeff');

dz = dd/max(dd);

stem(lags,cz);
hold on
plot(nn,dz)
xlabel('Lag')
legend('xcorr','Analytic')
hold off

Figure contains an axes. The axes contains 2 objects of type stem, line. These objects represent xcorr, Analytic.

См. также

Функции