getMeasurementsData

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

Описание

пример

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

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

Примеры

свернуть все

Вычислите и отобразите степень спектр шумного синусоидального входного сигнала с помощью dsp.SpectrumAnalyzer Системный объект. Измерьте peaks, расположения курсоров, отношение степени смежного канала, искажения и значения 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 функция для программного получения этих измерений. The 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. Измерьте peaks, расположения курсоров, отношение степени смежного канала, искажения и значения CCDF в спектре, включив эти свойства строения блока:

  • PeakFinder

  • CursorMeasurements

  • ChannelMeasurements

  • DistortionMeasurements

  • CCDFMeasurements

Откройте и осмотрите модель

Пропустите потоковый шумный синусоидальный входной сигнал с помощью блока Lowpass Filter. Входной сигнал состоит из двух синусоидальных тонов: 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;

Симулируйте модель

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

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Данные Peak finder
CursorMeasurementsДанные измерений курсора
ChannelMeasurementsДанные измерений в канале
DistortionMeasurementsДанные измерений искажений
CCDFMeasurementsДанные измерений CCDF

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

Введенный в R2018b