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(模型);
输入参数
范围
- - - - - -频谱分析仪
对象名称|块配置
您想要查询的频谱分析仪,指定为以下之一:
简介
对象SpectrumAnalyzerConfiguration
对象用于频谱分析器块
输出参数
数据
——测量数据
表格
测量数据,作为表返回。当你指定“所有”
,函数返回一个包含以下字段的度量表。
场 | 描述 |
---|---|
SimulationTime |
仿真时间 |
PeakFinder |
峰仪数据 |
CursorMeasurements |
光标测量数据 |
ChannelMeasurements |
通道的测量数据 |
DistortionMeasurements |
变形测量数据 |
CCDFMeasurements (只适用于SpectrumAnalyzerConfiguration 对象) |
CCDF测量数据 |
当您不指定时“所有”
,数据表只包含目前使用的频谱分析仪测量值。
版本历史
介绍了R2018bR2022a:支持dsp。简介
对象将被移除。
的getMeasurementsData
函数将停止支持dsp。简介
对象。使用简介
对象。
更新代码
的实例外,不需要对代码进行更新dsp。简介
与简介
.
这个表格显示了如何getMeasurementsData
函数通常使用dsp。简介
系统对象™,并解释如何更新现有代码以使用简介
对象。
不使用 | 建议更换 |
---|---|
范围= dsp.SpectrumAnalyzer;scope.CursorMeasurements.Enable = true;scope.ChannelMeasurements.Enable = true;1)范围(randn (100000) getMeasurementsData(范围) |
范围=简介;scope.CursorMeasurements.Enabled = true;scope.ChannelMeasurements.Enabled = true;1)范围(randn (100000) getMeasurementsData(范围) |
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。