idfrd
представляет комплексные частотной характеристике данные. Прежде чем вы сможете создать idfrd
объект, вы должны импортировать ваши данные как описано в представлении данных частотной характеристики.
Примечание
idfrd
объект может инкапсулировать только один набор данных частотной характеристики. Он не поддерживает iddata
эквивалент мультиэкспериментных данных.
Используйте следующий синтаксис, чтобы создать объект данных fr_data
:
fr_data = idfrd(response,f,Ts)
Предположим, что ny
количество выхода каналов, nu
количество входа каналов и nf
является вектором значений частоты. response
является ny
-by- nu
-by- 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
-by- nu
-by- nf
массив, который сохраняет ответ системы, где ny
количество выхода каналов, nu
количество входа каналов и nf
является вектором значений частоты (см. ResponseData
описание свойства в idfrd
).
Следующий синтаксис создает новый idfrd
data объекта
который содержит горизонтальную конкатенацию data1,data2,...,dataN
:
data = [data1,data2,...,dataN]
data
содержит частотные характеристики от всех входов в data1,data2,...,dataN
на те же выходы. Следующая схема является графическим представлением горизонтальной конкатенации данных частотной характеристики. The (j,i,:)
вектор полученных данных отклика представляет частотную характеристику от i
th-й вход в j
выход на всех частотах.
Примечание
Горизонтальная конкатенация idfrd
объекты требуют, чтобы они имели одинаковые выходы и частотные векторы. Если имена выходных каналов различны, и их размерности одинаковы, операция конкатенации сбрасывает имена выходов к их значениям по умолчанию.
Следующий синтаксис создает новый idfrd
data объекта
который содержит вертикальную конкатенацию data1,data2,...,dataN
:
data = [data1;data2;... ;dataN]
Получающееся idfrd
data объекта
содержит частотные характеристики от тех же входов в data1,data2,...,dataN
ко всем выходам. Следующая схема является графическим представлением вертикальной конкатенации данных частотной характеристики. The (j,i,:)
вектор полученных данных отклика представляет частотную характеристику от i
th-й вход в j
выход на всех частотах.
Примечание
Вертикальная конкатенация idfrd
объекты требуют, чтобы они имели одинаковые входы и частотные векторы. Если имена входных каналов различны, и их размерности одинаковы, операция конкатенации сбрасывает входные имена к их значениям по умолчанию.
Когда SpectrumData
свойство индивидуума idfrd
объекты не являются пустыми, горизонтальными и вертикальными указателями на конкатенацию SpectrumData
, следующим образом.
В случае горизонтальной конкатенации нет никакого содержательного способа объединить SpectrumData
индивидуального idfrd
объекты и получившиеся SpectrumData
свойство пустое. Пустое свойство возникает, потому что каждый idfrd
объект имеет свой собственный набор шумовых каналов, где количество шумовых каналов равняется количеству выходов. Когда результат idfrd
объект содержит те же выходные каналы, что и каждый из отдельных idfrd
объекты, он не может вместить данные шума от всех idfrd
объекты.
В случае вертикальной конкатенации тулбокс конкатенирует отдельные модели шума по диагонали. Следующее показывает, что data.SpectrumData
- блок диагонали матрица степени спектров и перекрестных спектров выхода шума в системе:
s
в data.s
- сокращение для SpectrumData
имя свойства.
См. раздел «Выбор каналов ввода-вывода и данных в простых объектах».
Смотрите Добавление Входных или Выходных Каналов в простых Объектах.
Следующие операции создают idfrd
объекты:
Построение idfrd
объекты.
Оценка непараметрических моделей с помощью etfe
, spa
, и spafdr
. Для получения дополнительной информации см. «Модели частотной характеристики».
Преобразование Control System Toolbox™ frd
объект. Для получения дополнительной информации смотрите Использование идентифицированных моделей для приложений Система Управления.
Преобразование любой линейной динамической системы с помощью 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.