frd

Создайте модель данных частотной характеристики, преобразуйте в модель данных частотной характеристики

Синтаксис

sys = frd(response,frequency)
sys = frd(response,frequency,Ts)
sys = frd
sysfrd = frd(sys,frequency)
sysfrd = frd(sys,frequency,units)

Описание

sys = frd(response,frequency) создает данные частотной характеристики (frd) объект модели sys из данных о частотной характеристике, хранимых в многомерном массиве response. Векторный frequency представляет базовые частоты для данных о частотной характеристике. Смотрите Формат данных для Ответа Аргумента в Моделях FRD для списка форматов данных ответа.

sys = frd(response,frequency,Ts) создает дискретное время frd объект модели sys со скалярным шагом расчета Ts. Установите Ts =-1, чтобы создать дискретное время frd объект модели, не задавая шаг расчета.

sys = frd создает пустой frd объект модели.

Список входных параметров для любого из этих синтаксисов может сопровождаться именем свойства / пары значения свойства формы

'PropertyName',PropertyValue

Можно использовать эти дополнительные аргументы, чтобы установить различные свойства модель. Для получения дополнительной информации о доступных свойствах frd модели, смотрите Свойства.

Обеспечивать модель FRD sys наследовать все его типовые свойства LTI из любой существующей модели LTI refsys, используйте синтаксис

sys = frd(response,frequency,ltisys)

sysfrd = frd(sys,frequency) преобразует модель sys динамической системы к форме данных о частотной характеристике. Частотная характеристика вычисляется на частотах, обеспеченных векторным frequency, в rad/TimeUnit, где TimeUnit единицы измерения времени входной динамической системы, заданной в TimeUnit свойство sys.

sysfrd = frd(sys,frequency,units) преобразует модель динамической системы в frd модель и интерпретирует частоты в frequency вектор, чтобы задать модули units. Для списка значений, что units может взять, видеть FrequencyUnit свойство в Свойствах.

Аргументы

Когда вы задаете модель SISO или MIMO FRD или массив моделей FRD, входной параметр frequency всегда вектор из длины Nf, где Nf количество точек данных частоты в FRD. Спецификация входного параметра response получен в итоге в следующей таблице.

Формат данных для ответа аргумента в моделях FRD

Форма модели

Формат данных ответа

Модель SISO

Вектор из длины Nf для которого response(i) частотная характеристика на частоте frequency(i)

Модель MIMO с Ny выходные параметры и Nu входные параметры

Ny- Nu- Nf многомерный массив, для который response(i,j,k) задает частотную характеристику от входа j к выходу i на частоте frequency(k)

S1- ...- Sn массив моделей с Ny выходные параметры и Nu входные параметры

Многомерный массив размера [Ny Nu S1 ... Sn] для которого response(i,j,k,:) задает массив данных о частотной характеристике из входа j к выходу i на частоте frequency(k)

Свойства

frd объекты имеют следующие свойства:

Frequency

Точки частоты данных о частотной характеристике. Задайте Frequency значения в модулях заданы FrequencyUnit свойство.

FrequencyUnit

Единицы частоты модели.

FrequencyUnit задает модули вектора частоты в Frequency свойство. Установите FrequencyUnit к одному из следующих значений:

  • 'rad/TimeUnit'

  • 'cycles/TimeUnit'

  • 'rad/s'

  • 'Hz'

  • 'kHz'

  • 'MHz'

  • 'GHz'

  • 'rpm'

Модули 'rad/TimeUnit' и 'cycles/TimeUnit' относительно единиц измерения времени, заданных в TimeUnit свойство.

Изменение этого свойства изменяет полное поведение системы. Использование chgFreqUnit преобразовывать между единицами частоты, не изменяя поведение системы.

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

ResponseData

Данные о частотной характеристике.

'ResponseData' свойство хранит данные о частотной характеристике как трехмерный массив комплексных чисел. Для систем SISO, 'ResponseData' вектор из значений частотной характеристики в точках частоты, заданных в 'Frequency' свойство. Для систем MIMO с Nu входные параметры и Ny выходные параметры, 'ResponseData' массив размера [Ny Nu Nw], где Nw количество точек частоты.

IODelay

Транспортные задержки. IODelay числовой массив, задающий отдельную транспортную задержку каждой пары ввода/вывода.

Для систем непрерывного времени задайте транспортные задержки единицы измерения времени, сохраненной в TimeUnit свойство. Для систем дискретного времени задайте транспортные задержки целочисленных множителей шага расчета, Ts.

Для системы MIMO с Ny выходные параметры и Nu входные параметры, набор IODelay к Ny- Nu массив. Каждая запись этого массива является численным значением, которое представляет транспортную задержку соответствующей пары ввода/вывода. Можно также установить IODelay к скалярному значению, чтобы применить ту же задержку со всеми парами ввода/вывода.

Значение по умолчанию: 0 для всех пар ввода/вывода

InputDelay

Введите задержку каждого входного канала в виде скалярного значения или числового вектора. Для систем непрерывного времени задайте входные задержки единицы измерения времени, сохраненной в TimeUnit свойство. Для систем дискретного времени задайте входные задержки целочисленных множителей шага расчета Ts. Например, InputDelay = 3 означает задержку трех шагов расчета.

Для системы с Nu входные параметры, набор InputDelay к Nu- 1 вектор. Каждая запись этого вектора является численным значением, которое представляет входную задержку соответствующего входного канала.

Можно также установить InputDelay к скалярному значению, чтобы применить ту же задержку со всеми каналами.

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

OutputDelay

Выведите задержки. OutputDelay числовой вектор, задающий задержку каждого выходного канала. Для систем непрерывного времени задайте выходные задержки единицы измерения времени, сохраненной в TimeUnit свойство. Для систем дискретного времени задайте выходные задержки целочисленных множителей шага расчета Ts. Например, OutputDelay = 3 означает задержку трех периодов выборки.

Для системы с Ny выходные параметры, набор OutputDelay к Ny- 1 вектор, где каждая запись является численным значением, представляющим выходную задержку соответствующего выходного канала. Можно также установить OutputDelay к скалярному значению, чтобы применить ту же задержку со всеми каналами.

Значение по умолчанию: 0 для всех выходных каналов

Ts

Размер шага. Для моделей непрерывного времени, Ts = 0. Для моделей дискретного времени, Ts положительная скалярная величина, представляющая период выборки. Это значение описывается в модуле, заданном TimeUnit свойство модели. Чтобы обозначить модель дискретного времени с незаданным шагом расчета, установите Ts = -1.

Изменение этого свойства не дискретизирует или передискретизирует модель.

Значение по умолчанию: 0 (непрерывное время)

TimeUnit

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

  • 'nanoseconds'

  • 'microseconds'

  • 'milliseconds'

  • 'seconds'

  • 'minutes'

  • 'hours'

  • 'days'

  • 'weeks'

  • 'months'

  • 'years'

Изменение этого свойства не оказывает влияния на другие свойства, и поэтому изменяет полное поведение системы. Использование chgTimeUnit преобразовывать между единицами измерения времени, не изменяя поведение системы.

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

InputName

Введите названия канала в виде одного из следующего:

  • Вектор символов — Для моделей одно входа, например, 'controls'.

  • Массив ячеек из символьных векторов Модели мультивхода For.

В качестве альтернативы используйте автоматическое векторное расширение, чтобы присвоить входные имена для мультивходных моделей. Например, если sys 2D входная модель, введите:

sys.InputName = 'controls';

Входные имена автоматически расширяются до {'controls(1)';'controls(2)'}.

Можно использовать краткое обозначение u относиться к InputName свойство. Например, sys.u эквивалентно sys.InputName.

Входные названия канала имеют несколько использования, включая:

  • Идентификация каналов на отображении модели и графиках

  • Извлечение подсистем систем MIMO

  • Определение точек контакта, когда взаимосвязанные модели

Значение по умолчанию: '' для всех входных каналов

InputUnit

Введите модули канала в виде одного из следующего:

  • Вектор символов — Для моделей одно входа, например, 'seconds'.

  • Массив ячеек из символьных векторов Модели мультивхода For.

Используйте InputUnit отслеживать модули входного сигнала. InputUnit не оказывает влияния на поведение системы.

Значение по умолчанию: '' для всех входных каналов

InputGroup

Введите группы канала. InputGroup свойство позволяет вам присвоить входные каналы систем MIMO в группы и обратиться к каждой группе по наименованию. Задайте входные группы как структуру. В этой структуре имена полей являются названиями группы, и значения полей являются входными каналами, принадлежащими каждой группе. Например:

sys.InputGroup.controls = [1 2];
sys.InputGroup.noise = [3 5];

создает входные группы под названием controls и noise это включает входные каналы 1, 2 и 3, 5, соответственно. Можно затем извлечь подсистему из controls входные параметры ко всему выходному использованию:

sys(:,'controls')

Значение по умолчанию: Struct без полей

OutputName

Выведите названия канала в виде одного из следующего:

  • Вектор символов — Для моделей одно выхода. Например, 'measurements'.

  • Массив ячеек из символьных векторов For модели мультивыхода.

В качестве альтернативы используйте автоматическое векторное расширение, чтобы присвоить выходные имена для мультивыходных моделей. Например, если sys 2D выходная модель, введите:

sys.OutputName = 'measurements';

Выходные имена автоматически расширяются до {'measurements(1)';'measurements(2)'}.

Можно использовать краткое обозначение y относиться к OutputName свойство. Например, sys.y эквивалентно sys.OutputName.

Выходные названия канала имеют несколько использования, включая:

  • Идентификация каналов на отображении модели и графиках

  • Извлечение подсистем систем MIMO

  • Определение точек контакта, когда взаимосвязанные модели

Значение по умолчанию: '' для всех выходных каналов

OutputUnit

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

  • Вектор символов — Для моделей одно выхода. Например, 'seconds'.

  • Массив ячеек из символьных векторов For модели мультивыхода.

Используйте OutputUnit отслеживать модули выходного сигнала. OutputUnit не оказывает влияния на поведение системы.

Значение по умолчанию: '' для всех выходных каналов

OutputGroup

Выведите группы канала. OutputGroup свойство позволяет вам присвоить выходные каналы систем MIMO в группы и обратиться к каждой группе по наименованию. Задайте выходные группы как структуру. В этой структуре имена полей являются названиями группы, и значения полей являются выходными каналами, принадлежащими каждой группе. Например:

sys.OutputGroup.temperature = [1];
sys.InputGroup.measurement = [3 5];

создает выходные группы под названием temperature и measurement это включает выходные каналы 1, и 3, 5, соответственно. Можно затем извлечь подсистему от всех входных параметров до measurement выходное использование:

sys('measurement',:)

Значение по умолчанию: Struct без полей

Name

Имя системы в виде вектора символов. Например, 'system_1'.

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

Notes

Любой текст, который вы хотите сопоставить с системой, сохраненной как строка или массив ячеек из символьных векторов. Свойство хранит, какой бы ни тип данных вы обеспечиваете. Например, если sys1 и sys2 модели динамической системы, можно установить их Notes свойства можно следующим образом:

sys1.Notes = "sys1 has a string.";
sys2.Notes = 'sys2 has a character vector.';
sys1.Notes
sys2.Notes
ans = 

    "sys1 has a string."


ans =

    'sys2 has a character vector.'

Значение по умолчанию: [0×1 string]

UserData

Любой тип данных вы хотите сопоставить с системой в виде любого типа данных MATLAB®.

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

SamplingGrid

Выборка сетки для массивов моделей в виде структуры данных.

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

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

Например, предположите, что вы создаете 11 1 массив линейных моделей, sysarr, путем взятия снимков состояния линейной изменяющейся во времени системы во времена t = 0:10. Следующий код хранит выборки времени линейными моделями.

 sysarr.SamplingGrid = struct('time',0:10)

Точно так же предположите, что вы создаете 6 9 массив моделей, M, путем независимой выборки двух переменных, zeta и w. Следующий код присоединяет (zeta,w) значения к M.

[zeta,w] = ndgrid(<6 values of zeta>,<9 values of w>)
M.SamplingGrid = struct('zeta',zeta,'w',w)

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

M
M(:,:,1,1) [zeta=0.3, w=5] =
 
        25
  --------------
  s^2 + 3 s + 25
 

M(:,:,2,1) [zeta=0.35, w=5] =
 
         25
  ----------------
  s^2 + 3.5 s + 25
 
...

Для массивов моделей, сгенерированных путем линеаризации модели Simulink® в нескольких значениях параметров или рабочих точках, программное обеспечение заполняет SamplingGrid автоматически со значениями переменных, которые соответствуют каждой записи в массиве. Например, команды Simulink Control Design™ linearize (Simulink Control Design) и slLinearizer (Simulink Control Design) заполняет SamplingGrid таким образом.

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

Примеры

Создайте модель частотной характеристики

Создайте модель SISO FRD из вектора частоты и данных об ответе:

% generate a frequency vector and response data 
freq = logspace(1,2);
resp = .05*(freq).*exp(i*2*freq);
% Create a FRD model
sys = frd(resp,freq);
Представлено до R2006a