pyulear

Авторегрессивная оценка спектральной плотности мощности - метод Юла-Уокера

Описание

pxx = pyulear(x,order) возвращает оценку спектральной плотности степени, pxx, сигнала дискретного времени, x, найденный с использованием метода Юла-Уокера. Когда x является вектором, он рассматривается как один канал. Когда x является матрицей, PSD вычисляется независимо для каждого столбца и хранится в соответствующем столбце pxx. pxx - распределение степени на модуль частоты. Частота выражается в модулях рад/выборка. order - порядок авторегрессионной (AR) модели, используемой для получения оценки PSD.

pxx = pyulear(x,order,nfft) использует nfft точки в дискретном преобразовании Фурье (DFT). Для реальных x, pxx имеет длину (nfft/ 2 + 1), если nfft является четным, и (nfft + 1 )/2, если nfft нечетно. Для комплексных x, pxx всегда имеет длину nfft. Если вы опускаете nfft, или укажите его как пустой, затем pyulear использует длину ДПФ по умолчанию 256.

[pxx,w] = pyulear(___) возвращает вектор нормированных угловых частот, w, при котором рассчитывается PSD. w содержит модули рад/отсчета. Для реальных сигналов, w охватывает интервал [0, π], когда nfft чётный и [0, π), когда nfft нечетно. Для комплексных сигналов, w всегда охватывает интервал [0,2 π).

пример

[pxx,f] = pyulear(___,fs) возвращает вектор частоты, f, в циклах в единицу времени. Частота дискретизации, fs, количество выборок в единицу времени. Если модулем времени является секунды, то f в циклах/секунду (Гц). Для реальных сигналов, f охватывает интервал [0, fs/ 2] когда nfft является четным и [0, fs/ 2) при nfft нечетно. Для комплексных сигналов, f охватывает интервал [0, fs).

[pxx,w] = pyulear(x,order,w) возвращает двусторонние оценки AR PSD на нормализованных частотах, заданных в векторе, w. Вектор, w, должен содержать как минимум два элемента, потому что в противном случае функция интерпретирует его как nfft.

[pxx,f] = pyulear(x,order,f,fs) возвращает двусторонние оценки AR PSD на частотах, заданных в векторе, f. Вектор, f, должен содержать как минимум два элемента, потому что в противном случае функция интерпретирует его как nfft. Частоты в f в циклах в единицах времени. Частота дискретизации, fs, количество выборок в единицу времени. Если модулем времени является секунды, то f в циклах/секунду (Гц).

[___] = pyulear(x,order,___,freqrange) возвращает оценку AR PSD в частотной области значений, заданном freqrange. Допустимые опции для freqrange являются: 'onesided', 'twosided', или 'centered'.

[___,pxxc] = pyulear(___,'ConfidenceLevel',probability) возвращает probability × 100% доверительные интервалы для оценки PSD в pxxc.

пример

pyulear(___) без выходных аргументов строит графики оценки AR PSD в дБ на модуль частоту в текущую фигуру окне.

Примеры

свернуть все

Создайте реализацию AR (4) широкополосного стационарного случайного процесса. Оцените PSD с помощью метода Юла-Уокера. Сравните оценку PSD, основанную на одной реализации, с истинной PSD случайного процесса.

Создайте системную функцию AR (4). Получите частотную характеристику и постройте график PSD системы.

A = [1 -2.7607 3.8106 -2.6535 0.9238];
[H,F] = freqz(1,A,[],1);
plot(F,20*log10(abs(H)))

xlabel('Frequency (Hz)')
ylabel('PSD (dB/Hz)')

Figure contains an axes. The axes contains an object of type line.

Создайте реализацию случайного процесса AR (4). Установите генератор случайных чисел в настройки по умолчанию для воспроизводимых результатов. Реализация 1000 выборок в длину. Примите частоту дискретизации 1 Гц. Использование pyulear для оценки PSD для процесса 4-го порядка. Сравните оценку PSD с истинной PSD.

rng default

x = randn(1000,1);
y = filter(1,A,x);
[Pxx,F] = pyulear(y,4,1024,1);

hold on
plot(F,10*log10(Pxx))
legend('True Power Spectral Density','pyulear PSD Estimate')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent True Power Spectral Density, pyulear PSD Estimate.

Создайте многоканальный сигнал, состоящий из трех синусоидов в аддитиве N(0,1) белый Гауссов шум. Частоты синусоидов составляют 100 Гц, 200 Гц и 300 Гц. Частота дискретизации составляет 1 кГц, и сигнал имеет длительность 1 с.

Fs = 1000;

t = 0:1/Fs:1-1/Fs;

f = [100;200;300];

x = cos(2*pi*f*t)'+randn(length(t),3);

Оцените PSD сигнала с помощью метода Юла-Уокера с помощью авторегрессивной модели 12-го порядка. Используйте длину ДПФ по умолчанию. Постройте график оценки.

morder = 12;

pyulear(x,morder,[],Fs)

Figure contains an axes. The axes with title Yule-Walker Power Spectral Density Estimate contains 3 objects of type line.

Входные параметры

свернуть все

Входной сигнал, заданный как строка или вектор-столбец, или как матрица. Если x является матрицей, тогда ее столбцы рассматриваются как независимые каналы.

Пример: cos(pi/4*(0:159))+randn(1,160) является одноканальным вектором-строкой.

Пример: cos(pi./[4;2]*(0:159))'+randn(160,2) является двухканальным сигналом.

Типы данных: single | double
Поддержка комплексного числа: Да

Порядок авторегрессионной модели, заданный как положительное целое число.

Типы данных: double

Количество точек ДПФ, заданное как положительное целое число. Для действительного входного сигнала, x, оценка PSD, pxx имеет длину (nfft/ 2 + 1), если nfft является четным, и (nfft+ 1 )/2, если nfft нечетно. Для комплексного входного сигнала, xоценка PSD всегда имеет длину nfft. Если nfft задан как пустой, значение по умолчанию nfft используется.

Типы данных: single | double

Частота дискретизации, заданная как положительная скалярная величина. Частота дискретизации является количеством выборок в единицу времени. Если модулем времени является секунды, то частота дискретизации имеет модули измерения Гц.

Нормированные частоты, заданные как строка или вектор-столбец с по крайней мере двумя элементами. Нормированные частоты указаны в рад/отсчет.

Пример: w = [pi/4 pi/2]

Типы данных: double

Частоты, заданные как строка или вектор-столбец с по крайней мере двумя элементами. Частоты указаны в циклах в единицах времени. Единичное время задается частотой дискретизации, fs. Если fs имеет модули измерения проб/секунду, затем f содержит модули Гц.

Пример: fs = 1000; f = [100 200]

Типы данных: double

Частотная область значений для оценки PSD, заданный как один из 'onesided', 'twosided', или 'centered'. Значение по умолчанию является 'onesided' для реальных сигналов и 'twosided' для комплексных сигналов. Частотные области значений, соответствующие каждой опции,

  • 'onesided' - возвращает одностороннюю оценку PSD действительного входного сигнала, x. Если nfft является четным, pxx имеет длину nfft/ 2 + 1 и вычисляется через интервал [0, π] рад/отсчет. Если nfft нечетно, длина pxx is (nfft + 1 )/2 и интервал равен [0, π) рад/отсчету. Когда fs опционально задан, соответствующие интервалы [0, fs/ 2] циклов/единичное время и [0, fs/ 2) циклы/единичное время для четной и нечетной длины nfft соответственно.

  • 'twosided' - возвращает двустороннюю оценку PSD для реального или комплексного входов, x. В этом случае pxx имеет длину nfft и вычисляется через интервал [0,2 π) рад/отсчета. Когда fs опционально задан, интервал равен [0, fs) циклы/единичное время.

  • 'centered' - возвращает центрированную двустороннюю оценку PSD для реального или комплексного входа, x. В этом случае pxx имеет длину nfft и вычисляется по интервалу (- π, π] рад/отсчет для четной длины nfft и (- π, π) рад/отсчет для нечетной длины nfft. Когда fs опционально задано, соответствующие интервалы являются (- fs/2, fs/ 2] циклов/единичное время и (- fs/2, fs/ 2) циклы/единичное время для четной и нечетной длины nfft соответственно.

Вероятность покрытия для истинного PSD, заданная в виде скаляра в области значений (0,1). Выход, pxxc, содержит нижнюю и верхнюю границы probability × оценку 100% интервала для истинного PSD.

Выходные аргументы

свернуть все

Оценка PSD, возвращенная как действительный, неотрицательный вектор-столбец или матрица. Каждый столбец pxx - оценка PSD соответствующего столбца x. Модули оценки PSD указаны в квадрате величины модулей из данных временных рядов на модуль частоту. Для примера, если входные данные в вольтах, оценка PSD в модули от квадратов В на модуль частоту. Для временных рядов в вольтах, если вы принимаете сопротивление 1 Ом и задаете частоту дискретизации в герцах, оценка PSD в ваттах на герц.

Типы данных: single | double

Нормированные частоты, возвращенные как реальный вектор-столбец. Если pxx является односторонней оценкой PSD, w охватывает интервал [0, π], если nfft чётный и [0, π), если nfft нечетно. Если pxx является двусторонней оценкой PSD, w охватывает интервал [0,2 π). Для оценки PSD с центром DC, w охватывает интервал (- π, π] для четных nfft и (- π, π) для нечетных nfft.

Типы данных: double

Циклические частоты, возвращенные как реальный вектор-столбец. Для односторонней оценки PSD, f охватывает интервал [0, fs/ 2] когда nfft является четным и [0, fs/ 2) при nfft нечетно. Для двусторонней оценки PSD, f охватывает интервал [0, fs). Для оценки PSD с центром DC, f охватывает интервал (- fs/2, fs/ 2] циклов/единичное время для четной длины nfft и (- fs/2, fs/ 2) циклы/единичное время для нечетной длины nfft.

Типы данных: double | single

Доверительные границы, возвращенные как матрица с вещественными элементами. Размер строки матрицы равен длине оценки PSD, pxx. pxxc имеет в два раза больше столбцов, чем pxx. Столбцы с нечетным номером содержат нижние границы доверительных интервалов, а столбцы с четным номером - верхние границы. Таким образом, pxxc(m,2*n-1) - нижняя доверительная граница и pxxc(m,2*n) - верхняя доверительная граница, соответствующая оценке pxx(m,n). Вероятность покрытия доверительных интервалов определяется значением probability вход.

Типы данных: single | double

Расширенные возможности

.

См. также

| |

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте