exponenta event banner

dsp. CrossSpectrumEstimator

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

Описание

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

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

  1. Создать dsp.CrossSpectrumEstimator и задайте его свойства.

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

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

Создание

Описание

cse = dsp.CrossSpectrumEstimator возвращает объект System, 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

Укажите частоту дискретизации входного сигнала в герцах как конечный числовой скаляр. Частота дискретизации - это скорость дискретизации сигнала во времени.

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

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

Синтаксис

Описание

пример

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

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

развернуть все

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

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

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

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

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

развернуть все

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

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

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

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

release(obj)

развернуть все

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

Примеры

свернуть все

Примечание.При использовании 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] Хейс, Монсон Х. Статистическая цифровая обработка и моделирование сигналов. Хобокен, Нью-Джерси: John Wiley & Sons, 1996.

[2] Кей, Стивен М. Современная спектральная оценка: теория и применение. Энглвуд Клиффс, Нью-Джерси: Прентис Холл, 1999.

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

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

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

.
Представлен в R2013b