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