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

Вычислите и отобразите спектр мощности шумного синусоидального входного сигнала с помощью Системного объекта dsp.SpectrumAnalyzer. Измерьте 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

Правая сторона спектра анализатор показывает активированные панели измерения. Значения, показанные в этих панелях, соответствуют со значениями, показанными в последнем временном шаге переменной data. Можно получить доступ к отдельным полям data, чтобы получить различные измерения программно.

Сравните пиковые значения

Пиковые значения получены свойством PeakFinder. Проверьте, что пиковые значения, полученные в последнем временном шаге data, совпадают со значениями, показанными на спектре график анализатора.

peakvalues = data.PeakFinder(end).Value 
peakvalues = 3×1

   26.9848
   24.1738
  -52.1809

frequencieskHz = data.PeakFinder(end).Frequency/1000
frequencieskHz = 3×1

    4.9957
    0.9905
   16.0207

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

Функции

Системные объекты