Получите данные об измерении программно для dsp.SpectrumAnalyzer Системный объект

Вычислите и отобразите спектр мощности шумного синусоидального входного сигнала с помощью dsp.SpectrumAnalyzer Система object™. Измерьте peaks, размещения курсора, смежное отношение степени канала, искажение и значения CCDF в спектре путем включения следующих свойств:

  • PeakFinder

  • CursorMeasurements

  • ChannelMeasurements

  • DistortionMeasurements

  • CCDFMeasurements

Инициализация

Входная синусоида имеет две частоты: 1 000 Гц и 5 000 Гц. Создайте два 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

Figure Spectrum Analyzer contains an axes object and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes object contains 14 objects of type patch, line, text. This object represents Power spectrum of the input.

Правая сторона спектра анализатор показывает активированные панели измерения. Значения, показанные в этих панелях, соответствуют со значениями, показанными в последнем временном шаге 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

Смотрите также

Функции

Объекты