主要内容

为频谱分析仪块编程获取测量数据

使用频谱分析仪模块计算和显示有噪声的正弦输入信号的功率谱。通过启用这些块配置属性来测量频谱中的峰值、游标位置、相邻通道功率比、失真和CCDF值:

  • PeakFinder

  • CursorMeasurements

  • ChannelMeasurements

  • DistortionMeasurements

  • CCDFMeasurements

打开并检查模型

使用低通滤波器块过滤流噪声正弦输入信号。输入信号由两个正弦波组成:1khz和15khz。该噪声为均值为零,方差为0.05的高斯白噪声。采样频率为44.1 kHz。打开模型,检查各种块设置。

模型=“spectrumanalyzer_measurements.slx”;open_system(模型)

控件访问“频谱分析仪”块的配置属性get_param函数。

sablock =“spectrumanalyzer_measurements /频谱分析仪”;CFG = get_param(“ScopeConfiguration”);

启用测量数据

要获得测量值,请设置启用属性的测量真正的

cfg.CursorMeasurements.Enable = true;cfg.ChannelMeasurements.Enable = true;cfg.PeakFinder.Enable = true;cfg.DistortionMeasurements.Enable = true;

模拟模型

运行模型。Spectrum Analyzer块将原始频谱与过滤后的频谱进行比较。

sim(模型)

频谱分析仪右侧显示已启用的测量窗格。

使用getMeasurementsData

使用getMeasurementsData函数以编程方式获取这些度量值。

data = getMeasurementsData(cfg)
数据= 1 x5表SimulationTime PeakFinder CursorMeasurements ChannelMeasurements DistortionMeasurements  ______________ __________ __________________ ___________________ ______________________ {[ 0.9985]} 1 x1 struct 1 x1 struct 1 x1 struct 1 x1结构

测量窗格中显示的值与数据.的各个字段数据以编程方式获得各种测量值。

比较峰值

例如,比较峰值。验证所获得的峰值数据。PeakFinder中的值进行匹配频谱分析仪窗口。

peakvalues = data.PeakFinder.Value frequcieskhz = data.PeakFinder.Frequency/1000
peakvalues = 26.9113 26.4002 -5.0427 frequcieskhz = 15.0015 1.0049 13.1783

保存并关闭模型

save_system(模型);close_system(模型);

另请参阅

功能

对象