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