主要内容

以编程方式获取测量数据dsp.SpectrumAnalyzer系统对象

计算和显示的功率谱嘈杂的正弦输入信号使用dsp.SpectrumAnalyzer系统对象。测量山峰,光标位置,相邻信道功率比,失真,在光谱和CCDF值启用以下属性:

  • PeakFinder

  • CursorMeasurements

  • ChannelMeasurements

  • DistortionMeasurements

  • CCDFMeasurements

初始化

输入正弦波有两个频率:1000 Hz, 5000 Hz。创建两个dsp.SineWave系统对象生成这两个频率。创建一个dsp.SpectrumAnalyzer系统对象来计算并显示功率谱。

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

使测量数据

获取测量数据,设置启用属性的测量真正的

SA.CursorMeasurements。使= true;SA.ChannelMeasurements。使= true;SA.PeakFinder。使= true;SA.DistortionMeasurements。使= true;

使用getMeasurementsData

流在嘈杂的正弦波输入信号和信号的功率谱估计使用频谱分析仪。测量光谱的特征。使用getMeasurementsData函数编程方式获得这些测量。的isNewDataReady函数表明当有新的光谱数据。测量的数据存储在变量中数据

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

图频谱分析仪包含一个uiflowcontainer类型的轴和其他对象,uimenu uitoolbar。轴包含14块类型的对象,线,文本。这个对象表示输入的功率谱。

右边的频谱分析仪测量窗格显示了启用。这些窗格中显示的值匹配值的最后时间步所示数据变量。您可以访问个人领域数据以编程方式获得各种测量。

比较高峰值

高峰值获得的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

另请参阅

功能

对象