主要内容

getMeasurementsData.

获取频谱分析仪上显示的当前测量数据

描述

例子

数据= getMeasurementsData(范围返回关于当前频谱分析仪测量的数据表。

数据= getMeasurementsData(范围,'全部')返回关于当前时间步进的所有频谱分析仪测量的数据表。

例子

全部收缩

计算和显示使用噪声正弦输入信号的功率谱dsp.spectrumanalyzer.系统对象。通过启用以下属性,测量频谱中的峰值,光标放置,相邻信道功率比,失真和CCDF值:

  • 峰值器

  • cursormeasurese

  • 通道释放

  • 畸变模糊

  • CCDFMEASUREMENT.

初始化

输入正弦波有两个频率:1000Hz和5000 Hz。创建二dsp.sinewave.系统对象生成这两个频率。创建一个dsp.spectrumanalyzer.系统对象计算和显示功率谱。

FS = 44100;sineObject1 = dsp.sinewave('samplesperframe',1024,'阶段OFFSET'10,......'采样率',fs,'频率',1000);sineObject2 = dsp.sinewave('samplesperframe',1024,......'采样率',fs,'频率',5000);sa = dsp.spectrumanalyzer('采样率',fs,'方法''过滤银行'......'spectrumtype''力量''plotastwosidedspectrum',错误的,......'ChannelNames',{'输入的功率谱'},'ylimits',[ -  120 40],'陈旧',真的);

启用测量数据

要获得测量,请设置使能够测量的财产真的

sa.curormeasurements.Enable = True;sa.cannelmeasurements.enable = true;sa.peakfinder.enable = true;sa.distorrorzermeasurements.Enable = true;

getMeasurementsData.

流在嘈杂的正弦波输入信号中,并使用频谱分析仪估计信号的功率谱。测量光谱的特征。使用getMeasurementsData.以编程方式获取这些测量的功能。这isnewdataready函数表示有新频谱数据时。测量数据存储在变量中数据

数据= [];为了iter = 1:1000 sinewave1 = sineObject1();sinewave2 = sineObject2();输入= sinewave1 + sinewave2;NoisyInput =输入+ 0.001 * Randn(1024,1);SA(NoisyInput);如果Sa.IsnewDataready Data = [数据; GetMeasurementsData(SA)];结尾结尾

图谱分析仪包含轴和其他对象的UiflowContainer,Uimenu,UIToolbar。轴包含14个类型的补丁,行,文本。该对象表示输入的功率谱。

频谱分析仪的右侧显示了启用的测量窗格。这些窗格中所示的值与上一次步骤中所示的值匹配数据多变的。您可以访问各个字段数据以编程方式获得各种测量。

比较峰值值

峰值是由峰值器财产。验证在最后一次步骤中获得的峰值值数据匹配Spectrum Analyzer图上显示的值。

peakvalues = data.peakfinder(结束).value
peakvalues =3×126.9850 24.1735 -52.3506
频率khz = data.peakfinder(结束).frequency / 1000
频率khz =3×14.9957 0.9905 7.8166

使用Spectrum Analyzer块计算并显示噪声正弦输入信号的功率谱。通过启用这些块配置属性,测量频谱中的峰值,光标放置,相邻信道功率比,失真和CCDF值:

  • 峰值器

  • cursormeasurese

  • 通道释放

  • 畸变模糊

  • CCDFMEASUREMENT.

打开并检查模型

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

模型='spectrumanalyzer_measurement.slx';Open_System(型号)

使用频谱分析仪块的配置属性get_param.功能。

Sablock =.'Spectrumanalyzer_measuresteR / Spectrum Analyzer';cfg = get_param(sablock,'scopeconfiguration');

启用测量数据

要获得测量,请设置使能够测量的财产真的

cfg.cursormeasurement.enable = true;cfg.channelmeasurement.enable = true;cfg.peakfinder.enable = true;cfg.distorragrostmeasurements.bable = true;

模拟模型

运行模型。频谱分析仪块将原始频谱与滤波频谱进行比较。

SIM(型号)

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

使用getMeasurementsData.

使用getMeasurementsData.以编程方式获取这些测量的功能。

数据= getMeasurementsData(CFG)
数据= 1x5表仿真时间Peakfinder CursormeAsurenseSurents ChannmeasureseStemeSurements ___________________________________________________________ {[0.9985]} [1x1 struct] [1x1 struct] [1x1 struct] [1x1 struct] [1x1 struct] [1x1 struct] [1x1 struct]

测量窗格中显示的值与所示值匹配数据。您可以访问各个字段数据以编程方式获得各种测量。

比较峰值值

例如,比较峰值值。验证由此获得的峰值值data.peakfinder.与所看到的值匹配频谱分析仪窗户。

peakvalues = data.peakfinder.value频率khz = data.peakfinder.frequency / 1000
PeakValues = 26.9663 26.3212 -3.5677频率khz = 15.0015 1.0049 12.3457

保存并关闭模型

save_system(型号);close_system(型号);

输入参数

全部收缩

您要查询的频谱分析仪。指定A.dsp.spectrumanalyzer.系统对象或aSpectrumanalyZerconFiguration.频谱分析仪的对象。

输出参数

全部收缩

当您指定时'全部',返回包含以下字段的测量表:

场地 描述
模拟时间 模拟时间
峰值器 峰值查找器数据
cursormeasurese 光标测量数据
通道释放 频道测量数据
畸变模糊 失真测量数据
CCDFMEASUREMENT. CCDF测量数据

当您未指定时'全部',数据表仅包含当前正在使用的频谱分析仪测量。

在R2018B中介绍