主要内容

以编程方式获取测量数据简介对象

计算和显示有噪声的正弦输入信号的功率谱简介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

另请参阅

功能

对象

Baidu
map