Оценка спектра Используя комплексные данные - тест Марпла

В этом примере показано, как выполнить спектральную оценку на данных временных рядов. Мы используем тест Марпла (Комплексные данные в Л. Марпле: С.Л. Марпл младший, Цифровой Спектральный анализ с Приложениями, Prentice Hall, Englewood Cliffs, NJ 1987.)

Тестовые данные

Давайте начнем путем загрузки тестовых данных:

load marple

Большинство стандартных программ в System Identification Toolbox™ поддерживает комплексные данные. Для графического вывода мы исследуем действительные и мнимые части данных отдельно, как бы то ни было.

Во-первых, смотрите на данные:

subplot(211),plot(real(marple)),title('Real part of data.')
subplot(212),plot(imag(marple)),title('Imaginary part of data.')

Figure contains 2 axes. Axes 1 with title Real part of data. contains an object of type line. Axes 2 with title Imaginary part of data. contains an object of type line.

Как предварительный аналитический шаг, давайте проверять периодограмму данных:

per = etfe(marple);
w = per.Frequency;
clf
h = spectrumplot(per,w);
opt = getoptions(h);
opt.FreqScale = 'linear';
opt.FreqUnits = 'Hz';
setoptions(h,opt)

Figure contains an axes. The axes with title From: e@y1 To: y1 contains an object of type line. This object represents per.

Поскольку запись данных является только 64 выборками, и периодограмма вычисляется для 128 частот, мы ясно видим колебания из узкого окна частоты. Мы поэтому применяем некоторое сглаживание к периодограмме (соответствующий разрешению частоты 1/32 Гц):

sp = etfe(marple,32);
spectrumplot(per,sp,w);

Figure contains an axes. The axes with title From: e@y1 To: y1 contains 2 objects of type line. These objects represent per, sp.

Давайте теперь попробуем подход Blackman-Tukey к оценке спектра:

ssm = spa(marple); % Function spa performs spectral estimation
spectrumplot(sp,'b',ssm,'g',w,opt);    
legend({'Smoothed periodogram','Blackman-Tukey estimate'});

Figure contains an axes. The axes with title From: e@y1 To: y1 contains 2 objects of type line. These objects represent Smoothed periodogram, Blackman-Tukey estimate.

Длина окна по умолчанию дает очень узкое окно задержки для этого небольшого количества данных. Мы можем выбрать большее окно задержки:

ss20 = spa(marple,20);
spectrumplot(sp,'b',ss20,'g',w,opt);
legend({'Smoothed periodogram','Blackman-Tukey estimate'});

Figure contains an axes. The axes with title From: e@y1 To: y1 contains 2 objects of type line. These objects represent Smoothed periodogram, Blackman-Tukey estimate.

Оценка авторегрессивного (AR) модель

Параметрическая модель AR с 5 порядками вычисляется:

t5 = ar(marple,5);

Сравните с оценкой периодограммы:

spectrumplot(sp,'b',t5,'g',w,opt); 
legend({'Smoothed periodogram','5th order AR estimate'});

Figure contains an axes. The axes with title From: e@y1 To: y1 contains 2 objects of type line. These objects represent Smoothed periodogram, 5th order AR estimate.

Команда AR на самом деле покрывает 20 различных методов для оценки спектра. Выше каждый был тем, что известно как 'модифицированную оценку ковариации' в книге Марпла.

Некоторые другие известные единицы получены с:

tb5 = ar(marple,5,'burg');      % Burg's method
ty5 = ar(marple,5,'yw');        % The Yule-Walker method
spectrumplot(t5,tb5,ty5,w,opt);
legend({'Modified covariance','Burg','Yule-Walker'})

Figure contains an axes. The axes with title From: e@y1 To: y1 contains 3 objects of type line. These objects represent Modified covariance, Burg, Yule-Walker.

Оценка Модели AR использование Инструментального Переменного Подхода

Моделирование AR может также быть сделано с помощью Инструментального Переменного подхода. Для этого мы используем функциональный ivar:

ti = ivar(marple,4); 
spectrumplot(t5,ti,w,opt);
legend({'Modified covariance','Instrumental Variable'})

Figure contains an axes. The axes with title From: e@y1 To: y1 contains 2 objects of type line. These objects represent Modified covariance, Instrumental Variable.

Авторегрессивное скользящее среднее значение (ARMA) модель спектров

Кроме того, ARMA-моделирование покрытий System Identification Toolbox спектров:

ta44 = armax(marple,[4 4]); % 4 AR-parameters and 4 MA-parameters
spectrumplot(t5,ta44,w,opt);
legend({'Modified covariance','ARMA'})

Figure contains an axes. The axes with title From: e@y1 To: y1 contains 2 objects of type line. These objects represent Modified covariance, ARMA.