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)')

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

Создайте реализацию случайного процесса AR (4). Установите генератор случайных чисел в настройки по умолчанию для воспроизводимых результатов. Реализация 1000 выборок в длину. Примите частоту дискретизации 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')

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

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

Создайте реализацию AR (4) обработки 1000 выборок в длину. Использование 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')

Figure contains an axes. The axes with title Reflection Coefficients contains an object of type stem.

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

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

pburg(x,4,length(x))

Figure contains an axes. The axes with title Burg Power Spectral Density Estimate contains an object of type line.

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

Figure contains an axes. The axes with title Burg 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