exponenta event banner

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' свойство сохраняет данные частотной характеристики в виде 3-D массива комплексных чисел. Для систем 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вектор -by-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'.

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

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

sys.InputName = 'controls';

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

Можно использовать сокращенную нотацию u см. InputName собственность. Например, sys.u эквивалентно sys.InputName.

Имена входных каналов имеют несколько применений, в том числе:

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

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

  • Указание точек соединения при соединении моделей

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

InputUnit

Блоки входных каналов, указанные как одно из следующих:

  • Символьный вектор - для моделей с одним входом, например, 'seconds'.

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

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

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

InputGroup

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

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

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

sys(:,'controls')

По умолчанию: структура без полей

OutputName

Имена выходных каналов, указанные как одно из следующих:

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

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

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

sys.OutputName = 'measurements';

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

Можно использовать сокращенную нотацию y см. OutputName собственность. Например, sys.y эквивалентно sys.OutputName.

Имена выходных каналов имеют несколько применений, в том числе:

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

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

  • Указание точек соединения при соединении моделей

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

OutputUnit

Единицы выходного канала, указанные как одно из следующих:

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

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

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

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

OutputGroup

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

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

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

sys('measurement',:)

По умолчанию: структура без полей

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