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

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

См. также

Функции

Объекты

Блоки

Для просмотра документации необходимо авторизоваться на сайте