主要内容

getMeasurementsData

获得当前测量数据显示在频谱分析仪

描述

例子

数据= getMeasurementsData (范围返回有关当前正在使用的频谱分析仪测量值的数据表。

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

例子

全部折叠

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

  • PeakFinder

  • CursorMeasurements

  • ChannelMeasurements

  • DistortionMeasurements

  • CCDFMeasurements

初始化

输入的正弦波有两个频率:1000hz和5000hz。创建两个dsp。SineWave生成这两个频率的系统对象。创建一个dsp。简介系统对象来计算和显示功率谱。

Fs = 44100;Sineobject1 = dsp。SineWave (“SamplesPerFrame”, 1024,“PhaseOffset”10...“SampleRate”Fs,“频率”, 1000);Sineobject2 = dsp。SineWave (“SamplesPerFrame”, 1024,...“SampleRate”Fs,“频率”, 5000);SA = dsp。简介(“SampleRate”Fs,“方法”滤波器组的...“SpectrumType”“权力”“PlotAsTwoSidedSpectrum”假的,...“ChannelNames”,{“输入功率谱”},“YLimits”, 40 [-120],“ShowLegend”,真正的);

使测量数据

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

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

使用getMeasurementsData

将带噪声的正弦波输入信号进行流处理,利用频谱分析仪对信号的功率谱进行估计。测量光谱的特性。使用getMeasurementsData函数以编程方式获取这些测量值。的isNewDataReady表示有新的频谱数据。测量数据存储在变量中数据

数据= [];Iter = 1:1000 sininewave1 = sinineobject1 ();Sinewave2 = Sineobject2 ();Input = Sinewave1 + Sinewave2;NoisyInput = Input + 0.001*randn(1024,1);SA (NoisyInput);如果SA。isNewDataReady数据= [data;getMeasurementsData(SA)];结束结束

图频谱分析仪包含一个轴对象和其他类型的对象uiflowcontainer, uimenu, uitoolbar。axis对象包含14个类型为patch, line, text的对象。这个对象表示输入的功率谱。

频谱分析仪的右侧显示了启用的测量窗格。控件的最后一个时间步骤中显示的值与这些窗格中显示的值相匹配数据变量。您可以访问的各个字段数据以编程方式获取各种测量值。

比较高峰值

峰值由PeakFinder财产。的最后一个时间步所获得的峰值数据匹配频谱分析仪图上显示的值。

peakvalues = data.PeakFinder value(结束)
peakvalues =3×126.9850 24.1735 -52.3506
frequencieskHz = data.PeakFinder傅立叶/ 1000(结束)
frequencieskHz =3×14.9957 0.9905 7.8166

使用频谱分析仪块计算和显示一个噪声正弦输入信号的功率谱。通过启用这些块配置属性,测量频谱中的峰值、光标位置、相邻信道功率比、失真和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 frequenceskhz = data.PeakFinder.Frequency/1000
peakvalues = 26.9113 26.4002 -5.0427 frequcieskhz = 15.0015 1.0049 13.1783

保存并关闭模型

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

输入参数

全部折叠

要查询的频谱分析仪。指定一个dsp。简介系统对象或SpectrumAnalyzerConfiguration用于频谱分析仪块的对象。

输出参数

全部折叠

当你指定“所有”,返回包含以下字段的测量表:

描述
SimulationTime 仿真时间
PeakFinder 峰仪数据
CursorMeasurements 光标测量数据
ChannelMeasurements 通道的测量数据
DistortionMeasurements 变形测量数据
CCDFMeasurements CCDF测量数据

当你没有指定“所有”,数据表只包含当前使用的频谱分析仪测量值。

介绍了R2018b