getMeasurementsData

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

Синтаксис

data = getMeasurementsData(scope)
data = getMeasurementsData(scope,'all')

Описание

пример

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

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

Примеры

свернуть все

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

  • PeakFinder

  • CursorMeasurements

  • ChannelMeasurements

  • DistortionMeasurements

  • CCDFMeasurements

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

Входная синусоида имеет две частоты: 1 000 Гц и 5 000 Гц. Создайте два Системных объекта 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

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

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

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

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

   26.9848
   24.1738
  -52.1809

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

    4.9957
    0.9905
   16.0207

Вычислите и отобразите спектр мощности шумного синусоидального входного сигнала с помощью блока 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.5960
   26.4011
   -5.2969


frequencieskHz =

   14.9966
    1.0046
    9.9164

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

save_system(model);
close_system(model);

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

свернуть все

Спектр анализатор вы хотите запросить. Задайте Системный объект dsp.SpectrumAnalyzer или объект Spectrum Analyzer Configuration для спектра блок анализатора.

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

свернуть все

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

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

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

Смотрите также

Функции

Объекты

Системные объекты

Блоки

Введенный в R2018b