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