Представление Данных Частотной характеристики Используя Объекты idfrd

Конструктор idfrd

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 сошлитесь на kth выход, вход, и значение частоты, соответственно, интерпретирован как частотная характеристика с комплексным знаком от входа ku к выходу ky на частоте f(kf).

Примечание

Когда вы работаете в командной строке, можно только создать idfrd объекты от комплексных чисел G (eiw). Для системы SISO, response может быть вектор.

Можно задать свойства объектов, когда вы создаете idfrd объект с помощью синтаксиса конструктора:

fr_data = idfrd(response,f,Ts,
               'Property1',Value1,...,'PropertyN',ValueN)

Свойства idfrd

Просмотреть свойства 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';

Выберите I/O Channels и Data в Объектах idfrd

Можно сослаться на определенные значения данных в 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

О Конкатенации idfrd Объекты

Горизонтальная и вертикальная конкатенация idfrd объекты комбинируют информацию в ResponseData свойства этих объектов. ResponseData ny- nu- nf массив, который хранит ответ системы, где ny количество выходных каналов, nu количество входных каналов и nf вектор значений частоты (см. Свойства).

Горизонтальная Конкатенация Объектов idfrd

Следующий синтаксис создает новый idfrd объект data это содержит горизонтальную конкатенацию data1,data2,...,dataN:

data = [data1,data2,...,dataN]

data содержит частотные характеристики от всех входных параметров в data1,data2,...,dataN к тем же выходным параметрам. Следующая схема является графическим представлением горизонтальной конкатенации данных частотной характеристики. (j,i,:) вектор получившихся данных об ответе представляет частотную характеристику от iвход th к jth выводится на всех частотах.

Примечание

Горизонтальная конкатенация idfrd объекты требуют, чтобы у них были те же выходные параметры и векторы частоты. Если выходные названия канала отличаются, и их размерности являются тем же самым, операция конкатенации сбрасывает выходные имена к их значениям по умолчанию.

Вертикальная Конкатенация Объектов idfrd

Следующий синтаксис создает новый idfrd объект data это содержит вертикальную конкатенацию data1,data2,...,dataN:

data = [data1;data2;... ;dataN]

Получившийся idfrd объект data содержит частотные характеристики от тех же входных параметров в data1,data2,...,dataN ко всем выходным параметрам. Следующая схема является графическим представлением вертикальной конкатенации данных частотной характеристики. (j,i,:) вектор получившихся данных об ответе представляет частотную характеристику от iвход th к jth выводится на всех частотах.

Примечание

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

Конкатенация Шумовых Данных о Спектре Объектов idfrd

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

В случае горизонтальной конкатенации нет никакого значимого способа объединить SpectrumData из отдельного idfrd объекты и получившийся SpectrumData свойство пусто. Пустое свойство заканчивается потому что каждый idfrd объект имеет свой собственный набор шумовых каналов, где количество шумовых каналов равняется количеству выходных параметров. Когда получившийся idfrd объект содержит те же выходные каналы как каждый отдельный idfrd объекты, это не может хранить шумовые данные от всего idfrd объекты.

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

data.s=(data1.s00dataN.s)

s в data.s сокращение от SpectrumData propertyName .

Управление idfrd Объекты

Подссылка idfrd Объекты

Смотрите Выбирают I/O Channels и Data в Объектах idfrd.

Конкатенация idfrd Объекты

Смотрите Добавляющие Каналы Ввода или вывода в Объектах idfrd.

Операции, которые Создают Объекты 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.