раздражения. Щебет

Пакет: раздражения

Сигнал косинуса развернутой частоты

Синтаксис

input = frest.Chirp(sys)
input = frest.Chirp('OptionName',OptionValue)

Описание

input = frest.Chirp(sys) создает входной сигнал косинуса развернутой частоты на основе динамики линейной системы sys.

input = frest.Chirp('OptionName',OptionValue) создает входной сигнал косинуса развернутой частоты с помощью опций, заданных разделенными от запятой парами имя/значение.

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

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

sys

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

Получившийся сигнал щебета автоматически устанавливает эти опции на основе линейной системы:

  • 'FreqRange' является частотами, на которых линейная система имеет интересную динамику.

  • 'Ts' собирается постараться не искажать таким образом, что частота Найквиста сигнала является пять раз верхним концом частотного диапазона.

  • 'NumSamples' установлен таким образом, что оценка частотной характеристики включает более низкий уровень частотного диапазона.

Другие опции щебета имеют значения по умолчанию.

'OptionName',OptionValue

Характеристики сигнала, заданные как разделенное от запятой имя опции и пары значения опции.

Имя опцииЗначение опции
'Amplitude'

Амплитуда сигнала.


Значение по умолчанию: 1e-5

'FreqRange'

Частоты сигнала, заданные как также:

  • Двухэлементный вектор, например, [w1 w2]

  • Двухэлементный массив ячеек, например, {w1 w2}


Значение по умолчанию: [1,1000]

'FreqUnits'

Единицы частоты:

  • 'rad/s' — Радианы в секунду

  • 'Hz' — Герц

Изменение единиц частоты не влияет на оценку частотной характеристики.


Значение по умолчанию: 'rad/s'

'Ts'

Шаг расчета щебета сигнализирует в секундах. Настройка по умолчанию старается не искажать.

Значение по умолчанию: 2π5*max (FreqRange)

'NumSamples'

Количество выборок в сигнале щебета. Настройка по умолчанию гарантирует, что оценка включает более низкий уровень частотного диапазона.

Значение по умолчанию: 4πTs*min(FreqRange)

'SweepMethod'

Метод для эволюции мгновенной частоты:

  • 'linear' (значение по умолчанию) — Указывает, что мгновенная частота развертывает fi (t):

    fi(t)=f0+βtwhereβ=(f1f0)/tf

    β гарантирует, что сигнал поддерживает желаемую точку останова f1 частоты в итоговое время tf.

  • 'logarithmic' — Указывает, что мгновенная частота развертывает fi (t) данный

    fi(t)=f0×βtwhereβ=(f1f0)1tf

  • 'quadratic' — Указывает, что мгновенная частота развертывает fi (t):

    fi(t)=f0+βt2  whereβ=(f1f0)/ti2

    Также задайте форму квадратичного использования опции 'Shape'.

'Shape'

Используйте, когда вы установите 'SweepMethod' на 'quadratic' описывать форму параболы на положительной оси частоты:

  • 'concave' — Вогнутая квадратичная широкая форма.

  • 'convex' — Выпуклая квадратичная широкая форма.

'InitialPhase'

Начальная фаза Щебета сигнализирует в градусах.


Значение по умолчанию: 270

Примеры

свернуть все

Создайте входной сигнал щебета с частотами в пределах от 10 - 500 рад/с. Задайте амплитуду и количество выборок также.

input = frest.Chirp('Amplitude',1e-3,...
                    'FreqRange',[10 500],...
                    'NumSamples',20000)
 
The chirp input signal:
 
      FreqRange              : [10 500] (rad/s)
      Amplitude              : 0.001
      Ts                     : 0.00251327412287183 (sec)
      NumSamples             : 20000
      InitialPhase           : 270 (deg)
      FreqUnits (rad/s or Hz): rad/s
      SweepMethod(linear/    : linear
                  quadratic/
                  logarithmic)
 

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

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

model = 'watertank';
open_system(model)

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

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);

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

input = frest.Chirp(sys);

frest.Chirp выбирает частотный диапазон на основе системной динамики. Это также автоматически инициализирует другие параметры сигнала щебета.

input
 
The chirp input signal:
 
      FreqRange              : [0.001581138830107 0.1581138830107] (rad/s)
      Amplitude              : 1e-05
      Ts                     : 7.94767061252222 (sec)
      NumSamples             : 1000
      InitialPhase           : 270 (deg)
      FreqUnits (rad/s or Hz): rad/s
      SweepMethod(linear/    : linear
                  quadratic/
                  logarithmic)
 

Можно изменить свойства сигнала с помощью записи через точку. Например, увеличьте амплитуду сигнала.

input.Amplitude = 3e-5
 
The chirp input signal:
 
      FreqRange              : [0.001581138830107 0.1581138830107] (rad/s)
      Amplitude              : 3e-05
      Ts                     : 7.94767061252222 (sec)
      NumSamples             : 1000
      InitialPhase           : 270 (deg)
      FreqUnits (rad/s or Hz): rad/s
      SweepMethod(linear/    : linear
                  quadratic/
                  logarithmic)
 

Представленный в R2009b