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) вероятностный процесс. Установите генератор случайных чисел на настройки по умолчанию для восстанавливаемых результатов. Реализация является 1 000 выборок в длине. Примите частоту дискретизации 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 (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π). Для сосредоточенной DC оценки PSD, w охватывает интервал (–π, π] для даже nfft и (–π, π) для нечетного nfft.

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

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