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

В этом примере показано, как выполнить спектральную оценку на данных временных рядов. Мы используем тест Марпла (Комплексные данные в Л. Марпле: С.Л. Марпл младший, Цифровой Спектральный анализ с Приложениями, 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.')

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

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

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

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

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

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

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

ss20 = spa(marple,20);
spectrumplot(sp,'b',ss20,'g',w,opt);
legend({'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'});

Команда 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'})

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

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

ti = ivar(marple,4); 
spectrumplot(t5,ti,w,opt);
legend({'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'})