Обработка и преобразование данных
В принятом примере ТОУ в результате проведенного эксперимента был получен массив данных, состоящий из 1000 значений входного параметра – электрической мощности нагревателей в кВт и 1000 значений выходного параметра – температуры в объекте в градусах Цельсия. Интервал дискретизации (промежутки времени, через которые производились измерения входных и выходных величин) в ходе эксперимента был принят равным 0.1 с. Этот массив данных при использовании в дальнейшем в пакете System Identification Toolbox необходимо объединить в единый файл, содержащий необходимую информацию о входных и выходных параметрах объекта, их значениях и размерностях измерения. Для этого загрузим в рабочую область MATLAB исходные данные для составления файла данных с помощью команды: >> load datta В результате выполнения команды в рабочей области появились массив входных переменных u и массив выходного параметра y. Интервал дискретизации указывается дополнительно: >> ts=0.1; Для объединения исходных данных в единый файл пользуются командой: >> dan=iddata(y,u,ts) Результат выполнения команды комментируется следующей фразой MATLAB: Time domain data set with 1000 samples. Sampling interval: 0.1
Outputs Unit (if specified) y1
Inputs Unit (if specified) u1 Сформированный файл указывает, что он содержит результаты 1000 измерений с интервалом дискретизации 0.1 с. Входными переменными является массив u 1, а выходным параметром – y 1. Для наглядности сформированного файла необходимо в его структуру ввести обозначения входных и выходных данных: >> set(dan,'InputName','Мощноcть','OutputName','Температура'); Данная команда эквивалентна командам: >> dan.outputn = 'Температура'; >> dan.inputn = 'Мощноcть'; Для указания размерностей параметров файла данных необходимо воспользоваться командами: >> dan.inputUnit = 'кВт'; >> dan.outputUnit = 'град Ц'; В конечном итоге сформированный файл данных dan.m имеет следующий вид:
Time domain data set with 1000 samples. Sampling interval: 0.1
Outputs Unit (if specified) Температура град Ц
Inputs Unit (if specified) Мощноcть кВт
Полную информацию о файле dan.m можно получить воспользовавшись командой:
>> get (dan);
ans =
Domain: 'Time' Name: [] OutputData: [1000x1 double] y: 'Same as OutputData' OutputName: {'Температура'} OutputUnit: {'град Ц'} InputData: [1000x1 double] u: 'Same as InputData' InputName: {'Мощноcть'} InputUnit: {'кВт'} Period: Inf InterSample: 'zoh' Ts: 0.1000 Tstart: [] SamplingInstants: [1000x0 double] TimeUnit: ''
ExperimentName: 'Exp1' Notes: [] UserData: []
Для графического представления данных можно воспользоваться командой plot (dan), либо командой idplot (datta), однако в последнем случае графики не будут содержать информации о названии переменных и их размерностях. Исходные данные с использование команды plot (dan) приведены на рис. 4.1.
а) во всем временном интервале; б) на интервале времени от 0 до 10 с.
Для дальнейшего использования полученных исходных данных необходимо провести предварительную обработку этих данных с цель удаления тренда из набора данных и если необходимо отфильтровать данные с помощью имеющихся средств в пакете System Identification Toolbox. Для удаления тренда пользуются функцией: >> zdan = dtrend (dan); В результате этого получен новый файл zdan.m, в котором отсутствует постоянная составляющая сигналов. Этот файл в дальнейшем будет нами использован для построения моделей ТОУ. Кроме указанной команды удаления тренда в пакете System Identification Toolbox имеются другие функции обработки данных эксперимента, которые приведены в описании пакета System Identification Toolbox. Применение этих функций производится в тех случаях, когда проведен предварительный анализ ТОУ и определены возможные помехи либо некоторые другие динамические характеристики, либо появляется необходимость изменить интервал дискретизации в случае повышенной погрешности представления модели ТОУ в ходе параметрического оценивания его. Следующим этапом идентификации является непараметрическое оценивание исходных данных.
|