Получите текущие данные об измерении, отображенные на спектре анализатор
data = getMeasurementsData(scope)
data = getMeasurementsData(scope,'all')
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
Вычислите и отобразите спектр мощности шумного синусоидального входного сигнала с помощью блока Spectrum Analyzer. Измерьте peaks, размещения курсора, смежное отношение степени канала, искажение и значения CCDF в спектре путем включения этих свойств настройки блока:
PeakFinder
CursorMeasurements
ChannelMeasurements
DistortionMeasurements
CCDFMeasurements
Откройте и осмотрите модель
Отфильтруйте передающий потоком шумный синусоидальный входной сигнал с помощью блока Lowpass Filter. Входной сигнал состоит из двух синусоидальных тонов: 1 кГц и 15 кГц. Шум является белым Гауссовым шумом с нулевым средним значением и отклонением 0,05. Частота дискретизации составляет 44,1 кГц. Откройте модель и осмотрите различные настройки блока.
model = 'spectrumanalyzer_measurements.slx';
open_system(model)
Доступ к свойствам настройки блока Spectrum Analyzer с помощью функции get_param
.
sablock = 'spectrumanalyzer_measurements/Spectrum Analyzer'; cfg = get_param(sablock,'ScopeConfiguration');
Включите данные об измерениях
Чтобы получить измерения, установите свойство Enable
измерений к true
.
cfg.CursorMeasurements.Enable = true; cfg.ChannelMeasurements.Enable = true; cfg.PeakFinder.Enable = true; cfg.DistortionMeasurements.Enable = true;
Моделируйте модель
Запустите модель. Блок Spectrum Analyzer сравнивает исходный спектр с отфильтрованным спектром.
sim(model)
Правая сторона спектра анализатор показывает активированные панели измерения.
Используя getMeasurementsData
Используйте функцию getMeasurementsData
, чтобы получить эти измерения программно.
data = getMeasurementsData(cfg)
data = 1x5 table SimulationTime PeakFinder CursorMeasurements ChannelMeasurements DistortionMeasurements ______________ ____________ __________________ ___________________ ______________________ [0.9985] [1x1 struct] [1x1 struct] [1x1 struct] [1x1 struct]
Значения, показанные в панелях измерения, совпадают со значениями, показанными в data
. Можно получить доступ к отдельным полям data
, чтобы получить различные измерения программно.
Сравните пиковые значения
Как пример, сравните пиковые значения. Проверьте, что пиковые значения, полученные data.PeakFinder
, соответствуют со значениями, замеченными в окне Spectrum Analyzer
.
peakvalues = data.PeakFinder.Value frequencieskHz = data.PeakFinder.Frequency/1000
peakvalues = 26.5960 26.4011 -5.2969 frequencieskHz = 14.9966 1.0046 9.9164
Сохраните и закройте модель
save_system(model); close_system(model);
осциллограф
Спектр анализаторСпектр анализатор вы хотите запросить. Задайте Системный объект dsp.SpectrumAnalyzer
или объект Spectrum Analyzer Configuration
для спектра блок анализатора.
данные
Данные об измеренияхКогда вы задаете 'all'
, таблица измерений, содержащая следующие поля, возвращена:
Поле | Описание |
---|---|
SimulationTime | Время симуляции |
PeakFinder | Пиковые данные о средстве поиска |
CursorMeasurements | Данные об измерениях курсора |
ChannelMeasurements | Данные об измерениях канала |
DistortionMeasurements | Данные об измерениях искажения |
CCDFMeasurements | Данные об измерениях CCDF |
Когда вы не задаете 'all'
, таблица данных содержит только спектр использующиеся в настоящее время измерения анализатора.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.