exponenta event banner

getMeasurementsData

Получение текущих данных измерений, отображаемых на анализаторе спектра

Описание

пример

data = getMeasurementsData(scope) возвращает таблицу данных о текущих используемых измерениях анализатора спектра.

data = getMeasurementsData(scope,'all') возвращает таблицу данных обо всех измерениях анализатора спектра для текущего временного шага.

Примеры

свернуть все

Вычислить и отобразить спектр мощности шумного синусоидального входного сигнала, используя dsp.SpectrumAnalyzer Системный объект. Измерьте пики, размещение курсора, отношение мощности соседнего канала, искажение и значения CCDF в спектре, включив следующие свойства:

  • PeakFinder

  • CursorMeasurements

  • ChannelMeasurements

  • DistortionMeasurements

  • CCDFMeasurements

Инициализация

Входная синусоидальная волна имеет две частоты: 1000 Гц и 5000 Гц. Создать два dsp.SineWave Система создает эти две частоты. Создать dsp.SpectrumAnalyzer Системный объект для вычисления и отображения спектра мощности.

Fs = 44100;
Sineobject1 = dsp.SineWave('SamplesPerFrame',1024,'PhaseOffset',10,...
    'SampleRate',Fs,'Frequency',1000);
Sineobject2 = dsp.SineWave('SamplesPerFrame',1024,...
    'SampleRate',Fs,'Frequency',5000);
SA = dsp.SpectrumAnalyzer('SampleRate',Fs,'Method','Filter bank',...
    'SpectrumType','Power','PlotAsTwoSidedSpectrum',false,...
    'ChannelNames',{'Power spectrum of the input'},'YLimits',[-120 40],'ShowLegend',true);

Включить данные измерений

Для получения результатов измерений установите Enable свойство измерений true.

SA.CursorMeasurements.Enable = true;
SA.ChannelMeasurements.Enable = true;
SA.PeakFinder.Enable = true;
SA.DistortionMeasurements.Enable = true;

Использовать getMeasurementsData

Потоковая передача шумового синусоидального входного сигнала и оценка спектра мощности сигнала с использованием анализатора спектра. Измерьте характеристики спектра. Используйте getMeasurementsData для получения этих измерений программным путем. isNewDataReady функция указывает, когда имеются новые данные спектра. Измеренные данные хранятся в переменной data.

data = [];
for Iter = 1:1000
    Sinewave1 = Sineobject1();
    Sinewave2 = Sineobject2();
    Input = Sinewave1 + Sinewave2;
    NoisyInput = Input + 0.001*randn(1024,1);
    SA(NoisyInput);
     if SA.isNewDataReady
        data = [data;getMeasurementsData(SA)];
     end
end

Figure Spectrum Analyzer contains an axes and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes contains 14 objects of type patch, line, text. This object represents Power spectrum of the input.

В правой части анализатора спектра показаны включенные панели измерения. Значения, показанные на этих панелях, совпадают со значениями, показанными на последнем шаге времени data переменная. Вы можете получить доступ к отдельным полям data для получения различных измерений программным путем.

Сравнить пиковые значения

Пиковые значения получаются с помощью PeakFinder собственность. Проверьте, что пиковые значения, полученные на последнем шаге времени data соответствуют значениям, показанным на графике анализатора спектра.

peakvalues = data.PeakFinder(end).Value 
peakvalues = 3×1

   26.9850
   24.1735
  -52.3506

frequencieskHz = data.PeakFinder(end).Frequency/1000
frequencieskHz = 3×1

    4.9957
    0.9905
    7.8166

Вычислите и отобразите спектр мощности шумного синусоидального входного сигнала с помощью блока Spectrum Analyzer. Измерьте пики, размещение курсора, отношение мощности соседнего канала, искажение и значения CCDF в спектре, включив следующие свойства конфигурации блока:

  • PeakFinder

  • CursorMeasurements

  • ChannelMeasurements

  • DistortionMeasurements

  • CCDFMeasurements

Открытие и проверка модели

Фильтрация потокового шумного синусоидального входного сигнала с использованием блока фильтра нижних частот. Входной сигнал состоит из двух синусоидальных тонов: 1 кГц и 15 кГц. Шум является белым гауссовым шумом с нулевым средним значением и дисперсией 0,05. Частота дискретизации составляет 44,1 кГц. Откройте модель и проверьте различные настройки блока.

model = 'spectrumanalyzer_measurements.slx';
open_system(model)

Доступ к конфигурационным свойствам блока Spectrum Analyzer с помощью get_param функция.

sablock = 'spectrumanalyzer_measurements/Spectrum Analyzer';
cfg = get_param(sablock,'ScopeConfiguration');

Включить данные измерений

Для получения результатов измерений установите Enable свойство измерений true.

cfg.CursorMeasurements.Enable = true;
cfg.ChannelMeasurements.Enable = true;
cfg.PeakFinder.Enable = true;
cfg.DistortionMeasurements.Enable = true;

Моделирование модели

Запустите модель. Блок анализатора спектра сравнивает исходный спектр с отфильтрованным спектром.

sim(model)

В правой части анализатора спектра показаны включенные панели измерения.

Используя getMeasurementsData

Используйте getMeasurementsData для получения этих измерений программным путем.

data = getMeasurementsData(cfg)
data =

  1x5 table

    SimulationTime     PeakFinder     CursorMeasurements    ChannelMeasurements    DistortionMeasurements
    ______________    ____________    __________________    ___________________    ______________________

      {[0.9985]}      [1x1 struct]       [1x1 struct]          [1x1 struct]             [1x1 struct]     

Значения, показанные на панелях измерения, соответствуют значениям, показанным на data. Вы можете получить доступ к отдельным полям data для получения различных измерений программным путем.

Сравнить пиковые значения

В качестве примера сравните пиковые значения. Убедитесь, что пиковые значения получены data.PeakFinder соответствуют значениям, отображаемым в Spectrum Analyzer окно.

peakvalues = data.PeakFinder.Value
frequencieskHz = data.PeakFinder.Frequency/1000
peakvalues =

   26.9196
   26.3743
   -2.6843


frequencieskHz =

   15.0015
    1.0049
   12.9630

Сохранить и закрыть модель

save_system(model);
close_system(model);

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

свернуть все

Анализатор спектра, который требуется запросить. Укажите dsp.SpectrumAnalyzer Системный объект или SpectrumAnalyzerConfiguration объект для блока анализатора спектра.

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

свернуть все

При указании 'all'возвращается таблица измерений, содержащая следующие поля:

ОбластьОписание
SimulationTimeВремя моделирования
PeakFinderПиковые данные поиска
CursorMeasurementsДанные измерений курсора
ChannelMeasurementsДанные измерений канала
DistortionMeasurementsДанные измерений искажений
CCDFMeasurementsДанные измерений CCDF

Если не указано 'all'таблица данных содержит только измерения анализатора спектра, используемые в настоящее время.

Представлен в R2018b