Валидация линеаризации во временном интервале

Валидация линеаризации во временном интервале

Этот пример показывает, как подтвердить результаты линеаризации путем сравнения моделируемого выхода нелинейной модели и линеаризированной модели.

  1. Линеаризация Simulink® модель.

    Для примера:

    sys = 'watertank';
    load_system(sys);
    sys_io(1) = linio('watertank/PID Controller',1,'input');
    sys_io(2) = linio('watertank/Water-Tank System',1,'openoutput');
    opspec = operspec(sys);
    op = findop(sys,opspec,findopOptions('DisplayReport','off'));
    linsys = linearize(sys,op,sys_io);

    Если вы линеаризировали модель в Model Linearizer, необходимо экспортировать линейную модель в MATLAB® рабочей области.

     Покажите мне, как

  2. Создайте входной сигнал для валидации. Для примера, шаговый входной сигнал:

    input = frest.createStep('Ts',0.1,...
                             'StepTime',1,...
                             'StepSize',1e-5,...
                             'FinalTime',500);
  3. Симулируйте модель Simulink, используя входной сигнал.

    [~,simout] = frestimate(sys,op,sys_io,input);

    simout является моделируемым выходом нелинейной модели.

  4. Симулируйте линейную модель sys, и сравните временных характеристик линейной и нелинейной модели Simulink.

    frest.simCompare(simout,linsys,input)
    legend('FRESTIMATE results with Custom input',...
    			'Linear simulation of linsys with Custom input',...
    			'Location','SouthEast');

    Figure contains an axes. The axes with title From: PID Controller To: Water-Tank System contains 2 objects of type line. These objects represent FRESTIMATE results with Custom input, Linear simulation of linsys with Custom input.

    Переходной характеристике нелинейной модели и линеаризированной модели близки, что подтверждает точность линеаризации.

  5. Увеличьте амплитуду шагового сигнала от 1.0e-005 на 1.

    input = frest.createStep('Ts',0.1,...
                              'StepTime',1,...
                              'StepSize',1,...
                              'FinalTime',500);
  6. Повторите оценку частотной характеристики с увеличенной амплитудой входного сигнала и сравните это время в график отклика с точными результатами линеаризации.

    [~,simout2] = frestimate(sys,op,sys_io,input);
    frest.simCompare(simout2,linsys,input)
    legend('FRESTIMATE results with Custom input',...
    			'Linear simulation of linsys with Custom input',...
    			'Location','SouthEast');

    Figure contains an axes. The axes with title From: PID Controller To: Water-Tank System contains 2 objects of type line. These objects represent FRESTIMATE results with Custom input, Linear simulation of linsys with Custom input.

    Переходная реакция линейной системы, полученная вами с помощью точной линеаризации, не совпадает с переходной характеристикой расчетной частотной характеристики с большой амплитудой входного сигнала. Линейная модель, полученная с помощью точной линеаризации, не совпадает с полной нелинейной моделью при амплитудах, достаточно больших, чтобы отклониться от заданной рабочей точки.

Выбор входного сигнала валидации во временной области

Для валидации линеаризации во временной области используйте frest.createStep чтобы создать сигнал шага. Используйте шаговый сигнал как вход для frest.simCompare, который сравнивает моделируемый выход нелинейной модели и линеаризированной модели.

Вход шага помогает вам оценить, точно ли линейная модель захватывает доминирующие временные константы во время прохождения переходных процессов шага.

Вход шага также показывает, правильно ли вы захватили коэффициент усиления постоянного тока модели Simulink, сравнивая окончательное значение точной симуляции линеаризации с оценкой частотной характеристики.