以编程方式获取测量数据简介
对象
计算和显示有噪声的正弦输入信号的功率谱简介
MATLAB®对象。通过启用这些属性,测量频谱中的峰值、游标位置、相邻通道功率比和失真值:
PeakFinder
CursorMeasurements
ChannelMeasurements
DistortionMeasurements
初始化
输入的正弦波有1000hz和5000hz两种频率。创建两个dsp。SineWave
系统对象来生成这两个频率。创建一个简介
对象来计算和显示功率谱。
Fs = 44100;sinineobject1 = dsp。SineWave(SamplesPerFrame=1024,PhaseOffset=10,...SampleRate = Fs,频率= 1000);sinineobject2 = dsp。SineWave(SamplesPerFrame=1024,...SampleRate = Fs,频率= 5000);SA = spectrum alyzer(SampleRate=Fs,SpectrumType=“权力”,...PlotAsTwoSidedSpectrum = false, ChannelNames = {“输入功率谱”},...YLimits = 40 [-120], ShowLegend = true);
启用测量数据
要获取测量值,请设置启用
财产真正的
.
sa . cursormeasures . enabled = true;sa . channelmeasures . enabled = true;SA.PeakFinder.Enabled = true;sa . distortion measures . 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(end).Value
peakvalues =3×1-59.4124 -59.8725 -60.0010
frequencieskHz = data.PeakFinder(end).Frequency/1000
frequencieskHz =3×10.2799 0.5383 0.6029