frest.PRBS

Псевдослучайный входной сигнал двоичной последовательности

Описание

Используйте frest.PRBS объект для представления псевдослучайного входного сигнала (PRBS) двоичной последовательности для оценки частотной характеристики. Сигнал PRBS является детерминированным сигналом, который смещается между двумя значениями и имеет свойства, подобные белому шуму. Сигнал PRBS по своей сути периодичен с максимальной длиной периода 2n-1, где n является порядком PRBS.

Сигналы PRBS сокращают общее время оценки по сравнению с использованием входных сигналов синестреама, получая при этом сопоставимые результаты оценки. Сигналы PRBS полезны для оценки частотных характеристик для систем связи и силовой электроники с компонентами высокочастотного переключения, такими как генераторы модуляции ширины импульса (PWM).

Можно использовать входной сигнал PRBS для оценки в командной строке или в Model Linearizer приложения. Алгоритм оценки вводит сигнал PRBS в вход точке, которую вы задаете для оценки, и измеряет ответ в выходной точке. Для получения дополнительной информации смотрите Входные сигналы PRBS.

Чтобы просмотреть график своего входного сигнала, введите plot(input). Как создать timeseries объект для вашего входного сигнала, используйте generateTimeseries команда.

Создание

Описание

пример

input = frest.PRBS(sys) создает сигнал PRBS с параметрами, основанными на динамике линейной системы sys. Например, если у вас есть точная линеаризация системы, можно использовать ее, чтобы инициализировать параметры.

пример

input = frest.PRBS(Name,Value) создает сигнал PRBS со свойствами, заданными с помощью одной или нескольких пар "имя-значение". Заключайте каждое имя свойства в кавычки.

Входные параметры

расширить все

Линейная динамическая система, заданная как SISO ss, tf, или zpk объект. Можно задать известную динамику или получить линейную модель путем линеаризации нелинейной системы.

Результат frest.PRBS объект автоматически устанавливает Order и Ts свойства, основанные на линейной системе. The Amplitude и NumPeriods свойства остаются на своих значениях по умолчанию. Для получения дополнительной информации смотрите Входные сигналы PRBS.

Свойства

расширить все

Амплитуда сигнала, заданная как положительная скалярная величина. Вы должны задать амплитуду так, чтобы система была правильно возбуждена для вашего приложения. Если амплитуда входа слишком велика, сигнал может отклоняться слишком далеко от рабочей точки модели. Если амплитуда входа слишком мала, сигнал PRBS неотличим от шума и рябей в вашей модели.

Сигнал шага расчета в секундах, задается как положительная скалярная величина. Как начальная точка, задайте шаг расчета PRBS, чтобы соответствовать шагу расчета вашей модели.

Для некоторых систем использование большего шага расчета, чем в исходной модели, может привести к результату оценки частотной характеристики более высокого разрешения в низкочастотной области значений. В этом случае вы должны убедиться, что частота вашей модели в точках входа и вывода линейного анализа совпадает со значением, которое вы задаете для Ts. Для получения примера смотрите Оценку частотной характеристики для Степени модели электроники с использованием псевдослучайного двоичного сигнала.

Порядок сигнала, заданный как положительное целое число. Максимальная длина сигнала PRBS 2n-1, где n является порядком сигнала. Чтобы получить точную оценку частотной характеристики, длина PRBS должна быть достаточно большой.

Для заданного шага расчета, чтобы получить более высокое разрешение частоты, задайте больший порядок сигнала.

Количество периодов в сигнале PRBS, заданное в виде положительного целого числа. Для большинства приложений оценки частотной характеристики используйте значение по умолчанию 1. Использование одного периода создает плоский частотный профиль через частотную область значений входного сигнала.

Опция сохранения входного сигнала постоянным для одной выборки или нескольких выборок на период синхроимпульса, когда у вас есть NumPeriods > 1, указывается как одно из следующего:

  • 'on' - Сохраните сигнал постоянным для одной выборки.

  • 'off' - Сохраните сигнал постоянным для ряда выборок равным значению, указанному в NumPeriods.

Опция применения оконной фильтрации Ханна для однопериодных сигналов или проведения понижающей дискретизации для многопериодных сигналов, заданная как 'on' или 'off'.

Для однопериодного сигнала используйте эту опцию, чтобы применить основанную на окне Ханна фильтрацию записанных входных и выходных сигналов, заданную как одно из следующего:

  • 'on' - Фильтрация входного и выходного сигналов. Когда вы используете фильтрацию, frestimate приводит к более плавным результатам оценки частотной характеристики.

  • 'off' - Не фильтровать входной сигнал.

Для многопериодного сигнала используйте эту опцию, чтобы провести понижающую дискретизацию результата оценки частотной характеристики, заданную как одно из следующего:

  • 'on' - Повторно отобразите результат оценки частотной характеристики. Когда вы проводите понижающую выборку, frestimate приводит к более плавным результатам оценки частотной характеристики.

  • 'off' - Не понижайте выборку результата оценки частотной характеристики.

Функции объекта

frestimateОценка частотной характеристики моделей Simulink
generateTimeseriesСгенерируйте данные временной области для входного сигнала
frest.simCompareПостройте симуляцию во временной области нелинейных и линейных моделей
frest.simViewПостройте модель частотной характеристики во временной и частотной областях
getSimulationTimeОкончательное время симуляции для оценки частотной характеристики

Примеры

свернуть все

Создайте PRBS со следующим строением.

  • Чтобы использовать непериодический PRBS, установите количество периодов равным 1.

  • Используйте порядок 12 PRBS, формируя сигнал длины 4095.

  • Установите шаг расчета сигнала равным 5e-6 секунд.

  • Установите амплитуду возмущения равной 0.05.

input = frest.PRBS('Order',12,'NumPeriods',1,'Amplitude',0.05,'Ts',5e-6)
 
The PRBS input signal:
 
      Amplitude  : 0.05
      Ts         : 5e-06 (secs)
      Order      : 12
      NumPeriods : 1
      OneSamplePerClockPeriod (on/off)    : on
      UseWindow (on/off) : on
 

Исследуйте подмножество полученного сигнала PRBS.

plot(input)
xlim([0 0.001])

Figure contains an axes. The axes with title Time Series Plot:Created from a frest.PRBS signal contains an object of type line.

Сигнал переключается между 0,025 и -0,025 детерминированным псевдослучайным способом.

Создайте входной сигнал PRBS на основе динамики линейной системы. Этот подход полезен, когда вы используете оценку частотной характеристики, чтобы подтвердить линеаризацию вашей модели.

Откройте модель Simulink.

model = 'watertank';
open_system(model)

В этом примере линеаризируйте модель в установившейся рабочей точке, чтобы получить модель пространства состояний, которую вы можете использовать, чтобы инициализировать сигнал PRBS.

io(1) = linio('watertank/PID Controller',1,'input');
io(2) = linio('watertank/Water-Tank System',1,'openoutput');

watertank_spec = operspec(model);
opOpts = findopOptions('DisplayReport','off');
op = findop(model,watertank_spec,opOpts);

sys = linearize(model,op,io);

Создайте сигнал PRBS.

input = frest.PRBS(sys);

frest.PRBS конфигурирует порядок и шаг расчета входного сигнала на основе динамики системы. Амплитуда и количество периодов остаются на своих значениях по умолчанию.

input
 
The PRBS input signal:
 
      Amplitude  : 1e-05
      Ts         : 7.94767061252222 (secs)
      Order      : 8
      NumPeriods : 1
      OneSamplePerClockPeriod (on/off)    : on
      UseWindow (on/off) : on
 

Вы можете изменить свойства сигнала с помощью записи через точку. Для образца увеличения амплитуду сигнала.

input.Amplitude = 3e-5
 
The PRBS input signal:
 
      Amplitude  : 3e-05
      Ts         : 7.94767061252222 (secs)
      Order      : 8
      NumPeriods : 1
      OneSamplePerClockPeriod (on/off)    : on
      UseWindow (on/off) : on
 

Альтернативная функциональность

Model Linearizer

В Model Linearizer, чтобы использовать входной сигнал PRBS для оценки, на вкладке Estimation, выберите Input Signal > PRBS Pseudorandom Binary Sequence

Вопросы совместимости

расширить все

Поведение изменено в R2021a

Введенный в R2020a