exponenta event banner

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 использует длину DFT по умолчанию 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 в диапазоне частот, указанном freqrange. Допустимые параметры для freqrange являются: 'onesided', 'twosided', или 'centered'.

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

пример

pyulear(___) без выходных аргументов отображает оценку ИПУ ПС в дБ на единичную частоту в окне текущего рисунка.

Примеры

свернуть все

Создание реализации 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-го порядка. Используйте длину DFT по умолчанию. Постройте график оценки.

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

Число точек DFT, указанное как положительное целое число. Для действительного входного сигнала, 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

Диапазон частот для оценки ИПУ, указанный как один из 'onesided', 'twosided', или 'centered'. Значение по умолчанию: 'onesided' для действительных сигналов и 'twosided' для сигналов со сложными значениями. Диапазоны частот, соответствующие каждой опции:

  • 'onesided' - возвращает одностороннюю оценку PSD действительного входного сигнала, x. Если nfft является четным, pxx имеет длину nfft/ 2 + 1 и вычисляется на интервале [0, δ] рад/выборка. Еслиnfft нечетный, длина pxx является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 с центром постоянного тока, w охватывает интервал (-δ, δ] для четныхnfft и (-δ, δ) для нечетныхnfft.

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

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