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