pburg

Авторегрессивная оценка спектральной плотности мощности — метод Бурга

Описание

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

пример

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

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

пример

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

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

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

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

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

пример

pburg(___) без выходных аргументов строит 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)')

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

rng default

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

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

Создайте реализацию AR (4) процесс. Используйте arburg определить отражательные коэффициенты. Используйте отражательные коэффициенты, чтобы определить соответствующий порядок модели AR для процесса. Получите оценку процесса PSD.

Создайте реализацию AR (4) процесс 1 000 выборок в длине. Используйте arburg с набором порядка к 12, чтобы возвратить отражательные коэффициенты. Постройте отражательные коэффициенты, чтобы определить соответствующий порядок модели.

A = [1 -2.7607 3.8106 -2.6535 0.9238];

rng default

x = filter(1,A,randn(1000,1));

[a,e,k] = arburg(x,12);

stem(k,'filled')
title('Reflection Coefficients')
xlabel('Model Order')

Отражательные коэффициенты затухают, чтобы обнулить после порядка 4. Это указывает, что модель AR (4) является самой соответствующей.

Получите оценку PSD вероятностного процесса с помощью метода Бурга. Используйте 1 000 точек в графике ДПФ оценка PSD.

pburg(x,4,length(x))

Создайте многоканальный сигнал, состоящий из трех синусоид в дополнении 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;

pburg(x,morder,[],Fs)

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

свернуть все

Входной сигнал, заданный как строка или вектор-столбец, или как матрица. Если 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