dspdata.psd

Спектральная плотность степени

Синтаксис

Hpsd = dspdata.psd(Data)
Hpsd = dspdata.psd(Data,Frequencies)
Hpsd = dspdata.psd(...,'Fs',Fs)
Hpsd = dspdata.psd(...,'SpectrumType',SpectrumType)
Hpsd = dspdata.psd(...,'CenterDC',flag)

Описание

Примечание

Использование dspdata.psd не рекомендуется. Использовать pburg, pcov, periodogram, pmcov, pmtm, pwelch, или pyulear вместо этого.

Спектральная плотность степени (PSD) предназначена для непрерывных спектров. Интеграл PSD в заданной полосе частот вычисляет среднюю степень в сигнале в этой полосе частот. В отличие от среднего квадратичного спектра, peaks в этих спектрах не отражают степень на заданной частоте. Смотрите avgpower метод dspdata для получения дополнительной информации.

Односторонний PSD содержит общую степень сигнала в частотном интервале от постоянного тока до половины скорости Найквиста. Двусторонний PSD содержит общую степень в частотном интервале от постоянного тока до скорости Найквиста.

Hpsd = dspdata.psd(Data) использует данные спектральной плотности степени, содержащиеся в Data, который может быть в форме вектора или матрицы, где каждый столбец является отдельным набором данных. Значения по умолчанию для других свойств объекта показаны ниже:

Свойство

Значение по умолчанию

Описание

Name

'Power Spectral Density'

Вектор символов только для чтения

Frequencies

[]

тип double

Вектор частот, на которых оценивается спектральная плотность степени. Область значений этого вектора зависит от SpectrumType значение. Для односторонних областей значений по умолчанию является [0, π) или [0 Fs/ 2) для нечетной длины и [0, π] или [0, Fs/ 2] для четной длины, если Fs задан. Для двусторонних решений это [0, 2pi) или [0 Fs).

Если вы не задаете Frequencies, создается вектор по умолчанию. Если выбран односторонний, то все количество точек БПФ (nFFT) для этого вектора принято четным.

Если onesided выбран и вы задаете Frequenciesпоследняя частотная точка сравнивается с следующей до последней точкой и с π (или Fs/ 2, если Fs задан). Если последняя точка ближе к π (или Fs/ 2) чем до предыдущей точки, nFFT принято четным. Если он ближе к предыдущей точке, nFFT принимается нечетным.

Длина Frequencies вектор должен совпадать с длиной столбцов Data.

Fs

'Normalized'

Частота дискретизации, которая 'Normalized' если NormalizedFrequency является true. Если NormalizedFrequency является false Fs по умолчанию является 1.

SpectrumType

'Onesided'

Nyquist интервал, на котором вычисляется спектральная плотность степени. Допустимые значения 'Onesided' и 'Twosided'. Односторонний PSD содержит общую степень сигнала в половине интервала Найквиста. Смотрите onesided и twosided методы в dspdata для получения информации об изменении этого свойства.

Значение области значений для половины интервала Nyquist составляет [0 pi) или [0 pi] в зависимости от количества точек БПФ. Для всего интервала Найквиста области значений составляет [0 2pi).

NormalizedFrequency

true

Нормирована ли частота (true) или нет (false). Это свойство устанавливается автоматически во время конструкции на основе Fs. Если Fs задан, NormalizedFrequency установлено в false. Смотрите normalizefreq метод в dspdata для получения информации об изменении этого свойства.

Hpsd = dspdata.psd(Data,Frequencies) использует данные оценки спектральной плотности степени, содержащиеся в Data и Frequencies векторы.

Hpsd = dspdata.psd(...,'Fs',Fs) использует частоту дискретизации Fs. Определение Fs использует набор линейных частот по умолчанию (в Hz) на основе Fs и устанавливает NormalizedFrequency на false.

Hpsd = dspdata.psd(...,'SpectrumType',SpectrumType) задает интервал, в течение которого вычисляется спектральная плотность степени. Для данных, которые варьируются от [0 π) или [0 π], установите SpectrumType на onesided; для данных, которые варьируются от [ 0 2 π), установите SpectrumType на twosided.

Hpsd = dspdata.psd(...,'CenterDC',flag) использует значение flag чтобы указать, является ли компонент с нулевой частотой (DC) центрированным. Если flag является trueэто указывает, что компонент постоянного тока находится в центре двустороннего спектра. Установите flag на false если компонент постоянного тока находится на левом крае спектра.

Методы

Методы обеспечивают способы выполнения функций непосредственно на вашем dspdata объект. Можно применить метод непосредственно к переменной, назначенной вашему dspdata.psd объект. Можно использовать следующие методы с dspdata.psd объект.

  • avgpower

  • centerdc

  • normalizefreq

  • onesided

  • plot

  • twosided

Например, чтобы нормализовать частоту и задать NormalizedFrequency параметр true, использование

Hpsd = normalizefreq(Hpsd)

Для получения подробной информации об использовании методов и графическом изображении спектра, смотрите dspdata страница с описанием.

Примеры

свернуть все

Оцените одностороннюю спектральную плотность степени шумного синусоидального сигнала с двумя частотными составляющими.

Fs = 32e3;   
t = 0:1/Fs:2.96;
x = cos(2*pi*t*1.24e3)+ cos(2*pi*t*10e3)+ randn(size(t));
nfft = 2^nextpow2(length(x));
Pxx = abs(fft(x,nfft)).^2/length(x)/Fs;

Сохраните спектр в объекте данных PSD и постройте график результата.

Hpsd = dspdata.psd(Pxx(1:length(Pxx)/2),'Fs',Fs);  
plot(Hpsd)

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

Создайте двусторонний спектр и постройте его график.

Hpsd = dspdata.psd(Pxx,'Fs',Fs,'SpectrumType','twosided');
plot(Hpsd)

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

См. также

| | | | | |

Представлено до R2006a