dsp.SpectrumAnalyzer Системный объектВычислить и отобразить спектр мощности шумного синусоидального входного сигнала, используя dsp.SpectrumAnalyzer Системный объект. Измерьте пики, размещение курсора, отношение мощности соседнего канала, искажение и значения CCDF в спектре, включив следующие свойства:
PeakFinder
CursorMeasurements
ChannelMeasurements
DistortionMeasurements
CCDFMeasurements
Входная синусоидальная волна имеет две частоты: 1000 Гц и 5000 Гц. Создать два dsp.SineWave Система создает эти две частоты. Создать dsp.SpectrumAnalyzer Системный объект для вычисления и отображения спектра мощности.
Fs = 44100; Sineobject1 = dsp.SineWave('SamplesPerFrame',1024,'PhaseOffset',10,... 'SampleRate',Fs,'Frequency',1000); Sineobject2 = dsp.SineWave('SamplesPerFrame',1024,... 'SampleRate',Fs,'Frequency',5000); SA = dsp.SpectrumAnalyzer('SampleRate',Fs,'Method','Filter bank',... 'SpectrumType','Power','PlotAsTwoSidedSpectrum',false,... 'ChannelNames',{'Power spectrum of the input'},'YLimits',[-120 40],'ShowLegend',true);
Для получения результатов измерений установите Enable свойство измерений true.
SA.CursorMeasurements.Enable = true; SA.ChannelMeasurements.Enable = true; SA.PeakFinder.Enable = true; SA.DistortionMeasurements.Enable = true;
getMeasurementsDataПотоковая передача шумового синусоидального входного сигнала и оценка спектра мощности сигнала с использованием анализатора спектра. Измерьте характеристики спектра. Используйте getMeasurementsData для получения этих измерений программным путем. isNewDataReady функция указывает, когда имеются новые данные спектра. Измеренные данные хранятся в переменной data.
data = []; for Iter = 1:1000 Sinewave1 = Sineobject1(); Sinewave2 = Sineobject2(); Input = Sinewave1 + Sinewave2; NoisyInput = Input + 0.001*randn(1024,1); SA(NoisyInput); if SA.isNewDataReady data = [data;getMeasurementsData(SA)]; end end

В правой части анализатора спектра показаны включенные панели измерения. Значения, показанные на этих панелях, совпадают со значениями, показанными на последнем шаге времени data переменная. Вы можете получить доступ к отдельным полям data для получения различных измерений программным путем.
Пиковые значения получаются с помощью PeakFinder собственность. Проверьте, что пиковые значения, полученные на последнем шаге времени data соответствуют значениям, показанным на графике анализатора спектра.
peakvalues = data.PeakFinder(end).Value
peakvalues = 3×1
26.9850
24.1735
-52.3506
frequencieskHz = data.PeakFinder(end).Frequency/1000
frequencieskHz = 3×1
4.9957
0.9905
7.8166