exponenta event banner

Проверка линеаризации во временной области

Проверка линеаризации во временной области

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

  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);

    При линеаризации модели в линеаризаторе модели необходимо экспортировать линейную модель в рабочее пространство 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, сравнивая конечное значение точного моделирования линеаризации с оценкой частотной характеристики.