idfrd
представляет комплексные данные частотной характеристики. Прежде чем можно будет создать idfrd
объект, необходимо импортировать данные как описано в Представлении данных Частотной характеристики.
idfrd
объект может только инкапсулировать один набор данных частотной характеристики. Это не поддерживает iddata
эквивалентный из данных о мультиэксперименте.
Используйте следующий синтаксис, чтобы создать объект данных fr_data
:
fr_data = idfrd(response,f,Ts)
Предположим тот ny
количество выходных каналов, nu
количество входных каналов и nf
вектор значений частоты. response
ny
- nu
- nf
Трехмерный массив. f
вектор частоты, который содержит частоты ответа. Ts
шаг расчета, который используется при измерении или вычислении частотной характеристики. Если вы работаете с системой непрерывного времени, установите Ts
к 0
.
response(ky,ku,kf)
, где ky
, ku
, и kf
сошлитесь на k
th выход, вход, и значение частоты, соответственно, интерпретирован как частотная характеристика с комплексным знаком от входа ku
к выходу ky
на частоте f(kf)
.
Когда вы работаете в командной строке, можно только создать idfrd
объекты от комплексных чисел G (eiw). Для системы SISO, response
может быть вектор.
Можно задать свойства объектов, когда вы создаете idfrd
объект с помощью синтаксиса конструктора:
fr_data = idfrd(response,f,Ts, 'Property1',Value1,...,'PropertyN',ValueN)
Просмотреть свойства idfrd
объект, можно использовать get
команда. Следующий пример показывает, как создать idfrd
объект, который содержит 100 значений частотной характеристики с шагом расчета 0,1 с и получает его свойства:
f = logspace(-1,1,100); [mag, phase] = bode(idtf([1 .2],[1 2 1 1]),f); response = mag.*exp(1j*phase*pi/180); fr_data = idfrd(response,f,0.1); get(fr_data)
FrequencyUnit: 'rad/TimeUnit' Report: [1x1 idresults.frdest] SpectrumData: [] CovarianceData: [] NoiseCovariance: [] InterSample: {'zoh'} ResponseData: [1x1x100 double] IODelay: 0 InputDelay: 0 OutputDelay: 0 Ts: 0.1000 TimeUnit: 'seconds' InputName: {''} InputUnit: {''} InputGroup: [1x1 struct] OutputName: {''} OutputUnit: {''} OutputGroup: [1x1 struct] Notes: [0x1 string] UserData: [] Name: '' SamplingGrid: [1x1 struct] Frequency: [100x1 double]
Для полного описания всего idfrd
свойства объектов, смотрите idfrd
страница с описанием.
Изменить значения свойств для существующего idfrd
объект, используйте set
команда или запись через точку. Например, чтобы изменить название idfrd
объект, введите следующую последовательность команды в подсказке:
fr_data.Name = 'DC_Converter';
Можно сослаться на определенные значения данных в idfrd
объект с помощью следующего синтаксиса:
fr_data(outputchannels,inputchannels)
Ссылочные определенные каналы по наименованию или индексом канала.
Используйте двоеточие (:
) задавать все каналы и использовать пустую матрицу ([]
) не задавать каналы.
Например, следующие данные частотной характеристики ссылок команды из входа образовывают канал 3
выводить канал 2
:
fr_data(2,3)
Можно также получить доступ к данным в определенных каналах с помощью названий канала. Чтобы перечислить несколько названий канала, используйте массив ячеек. Например, чтобы получить выходную мощность и входные параметры напряжения и скорости, используют следующий синтаксис:
fr_data('power',{'voltage','speed'})
Получать только ответы, соответствующие значениям частоты между 200
и 300
, используйте следующую команду:
fr_data_sub = fselect(fr_data,[200:300])
Можно также использовать логические выражения для подсправочных данных. Например, чтобы получить все значения частотной характеристики между частотами 1.27
и 9.3
в idfrd
объект fr_data
, используйте следующий синтаксис:
fr_data_sub = fselect(fr_data,fr_data.f>1.27&fr_data.f<9.3)
Используйте end
сослаться на последний демонстрационный номер в данных. Например, data(77:end)
.
Вы не должны вводить целое имя свойства. В этом примере, f
в fr_data.f
однозначно определяет Frequency
свойство idfrd
объект.
Горизонтальная и вертикальная конкатенация idfrd
объекты комбинируют информацию в ResponseData
свойства этих объектов. ResponseData
ny
- nu
- nf
массив, который хранит ответ системы, где ny
количество выходных каналов, nu
количество входных каналов и nf
вектор значений частоты (см. Свойства).
Следующий синтаксис создает новый idfrd
объект data
это содержит горизонтальную конкатенацию data1,data2,...,dataN
:
data = [data1,data2,...,dataN]
data
содержит частотные характеристики от всех входных параметров в data1,data2,...,dataN
к тем же выходным параметрам. Следующая схема является графическим представлением горизонтальной конкатенации данных частотной характеристики. (j,i,:)
вектор получившихся данных об ответе представляет частотную характеристику от i
вход th к j
th выводится на всех частотах.
Горизонтальная конкатенация idfrd
объекты требуют, чтобы у них были те же выходные параметры и векторы частоты. Если выходные названия канала отличаются, и их размерности являются тем же самым, операция конкатенации сбрасывает выходные имена к их значениям по умолчанию.
Следующий синтаксис создает новый idfrd
объект data
это содержит вертикальную конкатенацию data1,data2,...,dataN
:
data = [data1;data2;... ;dataN]
Получившийся idfrd
объект data
содержит частотные характеристики от тех же входных параметров в data1,data2,...,dataN
ко всем выходным параметрам. Следующая схема является графическим представлением вертикальной конкатенации данных частотной характеристики. (j,i,:)
вектор получившихся данных об ответе представляет частотную характеристику от i
вход th к j
th выводится на всех частотах.
Вертикальная конкатенация idfrd
объекты требуют, чтобы у них были те же входные параметры и векторы частоты. Если входные названия канала отличаются, и их размерности являются тем же самым, операция конкатенации сбрасывает входные имена к их значениям по умолчанию.
Когда SpectrumData
свойство отдельного idfrd
объекты не являются пустым, горизонтальным и вертикальным указателем конкатенации SpectrumData
, можно следующим образом.
В случае горизонтальной конкатенации нет никакого значимого способа объединить SpectrumData
из отдельного idfrd
объекты и получившийся SpectrumData
свойство пусто. Пустое свойство заканчивается потому что каждый idfrd
объект имеет свой собственный набор шумовых каналов, где количество шумовых каналов равняется количеству выходных параметров. Когда получившийся idfrd
объект содержит те же выходные каналы как каждый отдельный idfrd
объекты, это не может хранить шумовые данные от всего idfrd
объекты.
В случае вертикальной конкатенации тулбокс конкатенирует отдельные шумовые модели по диагонали. Следующее показывает тот data.SpectrumData
матрица диагонали блока спектров мощности и перекрестные спектры выходного шума в системе:
s
в data.s
сокращение от SpectrumData
propertyName .
Смотрите Добавляющие Каналы Ввода или вывода в Объектах idfrd.
Следующие операции создают idfrd
объекты:
Построение idfrd
объекты.
Оценка непараметрических моделей с помощью etfe
, spa
, и spafdr
. Для получения дополнительной информации см. Модели Частотной характеристики.
Преобразование frd
Control System Toolbox™ объект. Для получения дополнительной информации смотрите Используя Идентифицированные Модели для Приложений Системы управления.
Преобразование любой линейной динамической системы с помощью idfrd
команда.
Например:
sys_idpoly = idpoly([1 2 1],[0 2],'Ts',1);
G = idfrd(sys_idpoly,linspace(0,pi,128))
G = IDFRD model. Contains Frequency Response Data for 1 output(s) and 1 input(s), and the spectra for disturbances at the outputs. Response data and disturbance spectra are available at 128 frequency points, ranging from 0 rad/s to 3.142 rad/s. Sample time: 1 seconds Status: Created by direct construction or transformation. Not estimated.