为频谱分析仪块编程获取测量数据
使用频谱分析仪块计算和显示噪声正弦输入信号的功率谱。通过启用这些块配置属性,测量频谱中的峰值、游标位置、相邻通道功率比、失真和CCDF值:
PeakFinder
CursorMeasurements
ChannelMeasurements
DistortionMeasurements
CCDFMeasurements
打开并检查模型
使用低通滤波器块对流噪声正弦输入信号进行滤波。输入信号由两个正弦音调组成:1khz和15khz。噪声为白高斯噪声,均值为零,方差为0.05。采样频率为44.1 kHz。打开模型并检查各种块设置。
模型=“spectrumanalyzer_measurements.slx”;open_system(模型)
方法访问Spectrum Analyzer块的配置属性get_param
函数。
sablock =“spectrumanalyzer_measurements /频谱分析仪”;cfg = get_param (sablock,“ScopeConfiguration”);
使测量数据
要获取测量值,请设置启用
测量的属性真正的
.
cfg.CursorMeasurements.Enable = true;cfg.ChannelMeasurements.Enable = true;cfg.PeakFinder.Enable = true;cfg.DistortionMeasurements.Enable = true;
模拟模型
运行模型。频谱分析仪块将原始频谱与过滤后的频谱进行比较。
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 frequencieskHz = data.PeakFinder.Frequency/1000
peakvalues = 26.9068 26.3821 -3.5026 frequcieskhz = 15.0015 1.0049 13.3075
保存并关闭模型
save_system(模型);close_system(模型);