getMeasurementsData

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

Описание

пример

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.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.9891
   26.3639
   -3.8860


frequencieskHz =

   15.0015
    1.0049
   14.8148

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

save_system(model);
close_system(model);

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

свернуть все

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

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

свернуть все

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

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

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

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

Функции

Объекты

Объекты

Блоки

Введенный в R2018b