dsp.CrossSpectrumEstimator

Оценка поперечной спектральной плотности

Описание

The dsp.CrossSpectrumEstimator Система object™ вычисляет плотность поперечного спектра сигнала, используя усредненный метод периодограммы Уэлча.

Для реализации объекта оценки поперечного спектра:

  1. Создайте dsp.CrossSpectrumEstimator Объекту и установите его свойства.

  2. Вызывайте объект с аргументами, как будто это функция.

Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».

Создание

Описание

cse = dsp.CrossSpectrumEstimator возвращает Системный объект, cse, который вычисляет спектр поперечной мощности действительных или сложных сигналов с помощью метода периодограммы и усредненного, модифицированного метода периодограммы Уэлча.

пример

cse = dsp.CrossSpectrumEstimator(Name,Value) возвращает dsp.CrossSpectrumEstimator Системный объект, cse, с каждым заданным именем свойства, установленным на заданное значение. Неопределенные свойства имеют значения по умолчанию.

Свойства

расширить все

Если не указано иное, свойства являются нетронутыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируются, когда вы вызываете их, и release функция разблокирует их.

Если свойство настраивается, можно изменить его значение в любой момент.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Использование Системных объектов.

Укажите источник значения длины БПФ как 'Auto' или 'Property'. Если вы задаете это свойство равным 'Auto'блок оценки поперечного спектра устанавливает длину БПФ на размер входного кадра. Если вы задаете это свойство равным 'Property', затем укажите количество точек БПФ с помощью FFTLength свойство.

Задайте длину БПФ, которую использует оценщик перекрестного спектра для вычисления перекрестных спектральных оценок в качестве положительного, целочисленного скаляра.

Зависимости

Это свойство применяется, когда вы устанавливаете FFTLengthSource свойство к 'Property'.

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

Задайте оконную функцию для оценки перекрестного спектра как одну из 'Rectangular', 'Chebyshev', 'Flat Top', 'Hamming', 'Hann', или 'Kaiser'.

Задайте ослабление бокового лепестка окна как действительный, положительный скаляр, в децибелах (дБ).

Зависимости

Это свойство применяется, когда вы устанавливаете Window свойство к 'Chebyshev' или 'Kaiser'.

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

Задайте частотную область значений оценки перекрестного спектра как один из 'twosided', 'onesided', или 'centered'.

Если вы задаете FrequencyRange на 'onesided', блок оценки поперечного спектра вычисляет односторонний спектр действительных входных сигналов, x и y. Если длина БПФ, NFFT, четна, длина кросс-спектральной оценки NFFT/2+1 и вычисляется через интервал [0, SampleRate/2]. Если NFFT нечетен, длина оценки кросс-спектра равна (NFFT+1)/2, и интервал следующий [0, SampleRate/2].

Если вы задаете FrequencyRange на 'twosided', блок оценки поперечного спектра вычисляет двусторонний спектр комплексных или действительных входных сигналов, x и y. Длина оценки перекрестного спектра равна NFFT. Это значение вычисляется по [0, SampleRate].

Если вы задаете FrequencyRange на 'centered', блок оценки поперечного спектра вычисляет центрированный двусторонний спектр комплексных или действительных входных сигналов, x и y. Длина оценки кросс-спектра равна NFFT, и оценка вычисляется между [-SampleRate/2, SampleRate/2] и (-SampleRate/2, SampleRate/2) для четных и нечетных длин, соответственно.

Укажите метод усреднения следующим 'Running' или 'Exponential'. В выполняющемся методе усреднения объект вычисляет одинаково взвешенное среднее заданное количество оценок спектра, заданных SpectralAverages свойство. В экспоненциальном методе объект вычисляет среднее значение по выборкам, взвешенным экспоненциально разрушающимся коэффициентом забывания.

Задайте количество спектральных средних значений как положительный, целочисленный скаляр. Объект вычисляет текущую перекрестную спектральную оценку путем усреднения последней N оценки. N - количество спектральных средних значений, заданное в SpectralAverages свойство.

Зависимости

Это свойство применяется при установке AveragingMethod на 'Running'.

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

Задайте экспоненциальный коэффициент забывания взвешивания как скалярное значение, больше нуля и меньше, чем или равное единице.

Настраиваемый: Да

Зависимости

Это свойство применяется при установке AveragingMethod на 'Exponential'.

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

Задайте частоту дискретизации входа, в hertz, как конечный числовой скаляр. Скорость дискретизации является частотой, с которой сигнал дискретизируется во времени.

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

Использование

Синтаксис

Описание

пример

pxy = cse(x,y) вычисляет плотность поперечной степени спектра, pxy, из входных сигналов, x и y.

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

расширить все

Первый вход данных, заданный как вектор или матрица. Входы, x и y должен иметь одинаковый размер и тип данных.

Типы данных: single | double
Поддержка комплексного числа: Да

Второй вход данных, заданный как вектор или матрица. Входы, x и y должен иметь одинаковый размер и тип данных.

Типы данных: single | double
Поддержка комплексного числа: Да

Выходные аргументы

расширить все

Выход плотности спектра поперечной мощности, возвращенный в виде вектора или матрицы. Выход имеет тот же размер и тип данных, что и входные сигналы.

Типы данных: single | double
Поддержка комплексного числа: Да

Функции объекта

Чтобы использовать функцию объекта, задайте системный объект в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj, используйте следующий синтаксис:

release(obj)

расширить все

getFrequencyVectorВектор частот, на которых выполняется оценка
getRBWРазрешающая способность полосы спектра
stepЗапуск алгоритма системного объекта
releaseОтпустите ресурсы и допустите изменения в значениях свойств системного объекта и входных характеристиках
resetСброс внутренних состояний Системного объекта

Примеры

свернуть все

Примечание. Если вы используете R2016a или более ранний релиз, замените каждый вызов объекта эквивалентным step синтаксис. Для примера, obj(x) становится step(obj,x).

Сгенерируйте две синусоиды.

sin1 = dsp.SineWave('Frequency',200, 'SampleRate', 1000);
sin1.SamplesPerFrame = 1000;
sin2 = dsp.SineWave('Frequency',100, 'SampleRate', 1000);
sin2.SamplesPerFrame =  1000;

Используйте dsp.CrossSpectrumEstimator Система object™ для вычисления перекрестного спектра сигналов. Кроме того, используйте dsp.ArrayPlot объект для отображения спектров.

cse = dsp.CrossSpectrumEstimator('SampleRate', sin1.SampleRate,...
    'FrequencyRange','centered');
aplot = dsp.ArrayPlot('PlotType','Line','XOffset',-500,'YLimits',...
    [-150 -60],'YLabel','Power Spectrum Density (Watts/Hz)',...
    'XLabel','Frequency (Hz)',...
    'Title','Cross Power Spectrum of Two Signals');

Добавьте случайный шум в синусоиды. Поток в данных и постройте график спектра поперечной мощности двух сигналов.

for ii = 1:10
x = sin1() + 0.05*randn(1000,1);
y = sin2() + 0.05*randn(1000,1);
Pxy = cse(x, y);
aplot(20*log10(abs(Pxy)));
end

Алгоритмы

расширить все

Ссылки

[1] Hayes, Monson H. Statistical Digital Signal Processing and Modeling. Hoboken, NJ: John Wiley & Sons, 1996.

[2] Кей, Стивен М. Современная спектральная оценка: теория и применение. Englewood Cliffs, Нью-Джерси: Prentice Hall, 1999.

[3] Стоика, Петре и Рэндольф Л. Мозес. Спектральный анализ сигналов. Englewood Cliffs, Нью-Джерси: Prentice Hall, 2005.

[4] Welch, P.D. «Использование быстрого преобразования Фурье для оценки спектров степени: метод, основанный на усреднении времени по коротким измененным периодограммам». Транзакции IEEE по аудио и электроакустике. Том 15, № 2, июнь 1967, с. 70-73.

Расширенные возможности

.
Введенный в R2013b