frest.Chirp

Входной сигнал частотно-модулированного косинуса

Описание

Используйте frest.Chirp объект для представления входного сигнала частотно-модулированного косинуса для оценки частотной характеристики. Входной сигнал частотно-модулированного косинуса, или сигнал щебета, возбуждает вашу систему в области значений частот, так что входная частота изменяется мгновенно.

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

Можно использовать щебет входного сигнала для оценки в командной строке, в Model Linearizer или с Frequency Response Estimator блоком. Алгоритм оценки вводит сигнал в входную точку, которую вы задаете для оценки, и измеряет ответ в выходной точке. Для получения дополнительной информации см. Раздел «Щебетание входных сигналов»

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

Создание

Описание

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

пример

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

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

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

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

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

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

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

  • NumSamples установлен таким образом, что оценка частотной характеристики включает в себя нижний конец частотной области значений.

В остальных свойствах используются значения по умолчанию.

Свойства

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

Амплитуда сигнала на каждой частоте, заданная как положительная скалярная величина.

Частотная область значений сигнала, заданный как один из следующих:

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

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

Здесь, w1 - нижняя граница частотной области значений, и w2 - верхняя граница.

Частотные модули, заданные как одно из следующего:

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

  • 'Hz' - Герц

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

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

2π5*max(FreqRange)

Здесь FreqRange задано в рад/с.

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

4πTs*min(FreqRange)

Здесь FreqRange задано в рад/с.

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

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

МетодОписание
'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+βt2whereβ=(f1f0)/ti2

Задайте форму квадратика используя Shape опция.

Квадратичная форма параболы сдвига, заданная как одна из следующих:

  • 'concave' - Вогнутая квадратичная разметающая форма.

  • 'convex' - Выпуклая квадратичная разметающая форма.

Это свойство доступно при SweepMethod является 'quadratic'.

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

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

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

Примеры

свернуть все

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

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

Постройте график сигнала щебета.

plot(input)

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

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

Откройте модель 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)
 

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

Model Linearizer

В Model Linearizer, чтобы использовать щебет входного сигнала для оценки, на вкладке Estimation, выберите Input Signal > Chirp.

Введенный в R2009b