主要内容

getMeasurementsData

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

描述

例子

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

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

例子

全部折叠

计算和显示有噪声的正弦输入信号的功率谱简介MATLAB®对象。通过启用这些属性,测量频谱中的峰值、游标位置、相邻通道功率比和失真值:

  • PeakFinder

  • CursorMeasurements

  • ChannelMeasurements

  • DistortionMeasurements

初始化

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

Fs = 44100;Sineobject1 = dsp。SineWave(SamplesPerFrame=1024,PhaseOffset=10,...SampleRate = Fs,频率= 1000);Sineobject2 = dsp。SineWave(SamplesPerFrame=1024,...SampleRate = Fs,频率= 5000);SA =简介(SampleRate = Fs, SpectrumType =“权力”...PlotAsTwoSidedSpectrum = false, ChannelNames = {“输入功率谱”},...YLimits = 40 [-120], ShowLegend = true);

使测量数据

要获取测量值,请设置启用财产真正的

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

使用getMeasurementsData

输入有噪声的正弦波信号,利用频谱分析仪估计信号的功率谱。测量光谱的特性。使用getMeasurementsData函数以编程方式获取这些度量。的isNewDataReady函数返回真正的当有新的光谱数据时。将测量数据存储在变量中数据

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

频谱分析仪的底部显示了您启用的测量窗格。的最后一个时间步中的值与这些窗格中的值匹配数据变量。的各个字段数据以编程方式获取各种度量值。

比较高峰值

使用PeakFinder属性以获取峰值。的最后一个时间步长的峰值值数据匹配频谱分析仪图上显示的值。

peakvalues = data.PeakFinder value(结束)
peakvalues =3×1-59.4124 -59.8725 -60.0010
frequencieskHz = data.PeakFinder傅立叶/ 1000(结束)
frequencieskHz =3×10.2799 0.5383 0.6029

使用频谱分析仪块计算和显示噪声正弦输入信号的功率谱。通过启用这些块配置属性,测量频谱中的峰值、游标位置、相邻通道功率比、失真和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(模型);

输入参数

全部折叠

您想要查询的频谱分析仪,指定为以下之一:

输出参数

全部折叠

测量数据,作为表返回。当你指定“所有”,函数返回一个包含以下字段的度量表。

描述
SimulationTime 仿真时间
PeakFinder 峰仪数据
CursorMeasurements 光标测量数据
ChannelMeasurements 通道的测量数据
DistortionMeasurements 变形测量数据
CCDFMeasurements(只适用于SpectrumAnalyzerConfiguration对象) CCDF测量数据

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

版本历史

介绍了R2018b

全部展开

Baidu
map