\documentclass[a4paper,14pt]{extarticle}

\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[russian]{babel}

\usepackage[a4paper,margin=2.5cm]{geometry}
\usepackage{array}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{amsmath,amssymb}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{float}
\usepackage{titlesec}
\usepackage{indentfirst}
\usepackage{newtxtext,newtxmath}

\linespread{1.3}
\frenchspacing
\setlength{\parindent}{1.25cm}
\setlength{\parskip}{0pt}

\usepackage{xcolor}
\usepackage{matlab-prettifier}

% Общие настройки листингов
\lstset{
  style=Matlab-editor,
  basicstyle=\mlttfamily\small,
  numbers=left,
  numberstyle=\tiny,
  stepnumber=1,
  numbersep=5pt,
  frame=single,
  breaklines=true,
  breakatwhitespace=false,
  captionpos=b,
  keepspaces=true,
  columns=fullflexible,
}
\lstset{style=matlabstyle}

\begin{document}

%--------------------------------------------------------------
% Оглавление
%--------------------------------------------------------------
\pagenumbering{gobble}
\tableofcontents
\clearpage
\pagenumbering{arabic}

%--------------------------------------------------------------
\section{Введение}

В ряде задач автоматического управления требуется обеспечить
установление регулируемой величины за конечное число шагов дискретного
времени без колебаний. Для таких задач используются
\emph{апериодические регуляторы}, структура которых выбирается таким
образом, чтобы переходный процесс завершался за заранее заданное
количество тактов.

В данной работе рассматриваются два типа апериодических регуляторов
для дискретных систем:
\begin{itemize}
    \item регулятор \emph{обычного порядка} $m$, обеспечивающий
          минимальное конечное время установления;
    \item регулятор \emph{повышенного порядка} $m+1$, позволяющий
          дополнительно ограничивать начальное управляющее воздействие.
\end{itemize}

Исследование проводится на объекте управления, заданном
непрерывной передаточной функцией.

%--------------------------------------------------------------
\section{Цель работы}

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

%--------------------------------------------------------------
\section{Краткое описание задач}

В соответствии с заданием необходимо:
\begin{enumerate}
    \item Для заданного объекта управления выполнить дискретизацию
          при периодах дискретизации
          $T_d = 1~\text{с}$, $T_d = 2~\text{с}$, $T_d = 4~\text{с}$.
    \item По дискретной модели объекта синтезировать
          апериодический регулятор:
          \begin{itemize}
              \item обычного порядка $m$;
              \item повышенного порядка $m+1$.
          \end{itemize}
    \item Для каждого периода дискретизации исследовать:
          \begin{itemize}
              \item переходную характеристику системы по задающему
                    воздействию $y(k)$;
              \item временную зависимость управляющего воздействия $u(k)$;
              \item устойчивость системы по расположению корней на
                    $z$-плоскости.
          \end{itemize}
    \item Сравнить результаты для регуляторов обычного и повышенного
          порядка и сделать выводы.
\end{enumerate}

%--------------------------------------------------------------
\section{Теоретическая часть}

\subsection{Непрерывная модель объекта управления}

Варианту~1 соответствует передаточная функция непрерывного объекта:
\begin{equation}
    G_p(s) =
    \frac{-1.577s^3 - 15.46s^2 - 63.09s - 107.8}
         {9.435s^3 + 40.36s^2 + 77.27s}.
    \label{eq:Gps}
\end{equation}

Знаменатель содержит множитель $s$, следовательно объект имеет один
интегратор. После дискретизации методом нулевого порядка (ZOH) при
периоде $T_d$ передаточная функция объекта записывается в виде
\begin{equation}
    G_p(z) =
    \frac{b_0 + b_1 z^{-1} + \dots + b_m z^{-m}}
         {1 + a_1 z^{-1} + \dots + a_m z^{-m}}.
    \label{eq:Gpz}
\end{equation}

\subsection{Апериодический регулятор обычного порядка}

Предполагается, что на вход системы подаётся единичное ступенчатое
воздействие
\[
    w(k) = 1, \quad k = 0,1,2,\dots,
\]
а желаемый переходный процесс имеет вид
\[
    y(k) = 1,\quad k \ge m,\qquad
    u(k) = u(m),\quad k \ge m,
\]
где $m$~--- порядок знаменателя дискретной передаточной функции
объекта.

Структура разностного уравнения регулятора выбирается в виде
\begin{equation}
    u(k) = q_0 w(k) + q_1 w(k-1) + \dots + q_m w(k-m)
           - p_1 u(k-1) - \dots - p_m u(k-m).
    \label{eq:reg_m}
\end{equation}

При этом передаточная функция регулятора равна
\begin{equation}
    G_R(z) =
    \frac{q_0 + q_1 z^{-1} + \dots + q_m z^{-m}}
         {1 + p_1 z^{-1} + \dots + p_m z^{-m}}.
    \label{eq:GRm}
\end{equation}

Для случая $b_0 = 0$ коэффициенты регулятора определяются
по соотношениям:
\begin{gather}
    q_0 = \frac{1}{b_1 + b_2 + \dots + b_m}, \label{eq:q0}\\[0.3em]
    p_i = q_0 b_i,\qquad i = 1,\dots,m, \label{eq:pi}\\[0.3em]
    q_i = q_0 a_i,\qquad i = 1,\dots,m. \label{eq:qi}
\end{gather}

\subsection{Апериодический регулятор повышенного порядка}

Если увеличить конечное время установления на один такт, то есть
обеспечить $y(k)=1$ для $k \ge m+1$, появляется возможность задавать
начальное значение управляющего воздействия $u(0)$ и тем самым
ограничивать его величину.

В этом случае структура разностного уравнения регулятора имеет вид
\begin{equation}
    u(k) = q_0 w(k) + q_1 w(k-1) + \dots + q_{m+1} w(k-m-1)
           - p_1 u(k-1) - \dots - p_{m+1} u(k-m-1).
    \label{eq:reg_m1}
\end{equation}

Параметр $q_0 = u(0)$ задаётся разработчиком. Пусть
\[
    S_b = \sum_{j=0}^{m} b_j.
\]
Тогда для $i = 1,2,\dots,m$:
\begin{gather}
    q_i = q_0 (a_i - a_{i-1}) + \frac{a_{i-1}}{S_b}, \label{eq:qihi}\\[0.3em]
    p_i = q_0 (b_i - b_{i-1}) + \frac{b_{i-1}}{S_b}. \label{eq:pihi}
\end{gather}
Для последнего коэффициента:
\begin{gather}
    q_{m+1} = a_m \left(-q_0 + \frac{1}{S_b}\right),\\[0.3em]
    p_{m+1} = -b_m \left(q_0 - \frac{1}{S_b}\right).
\end{gather}

Передаточная функция регулятора повышенного порядка:
\begin{equation}
    G_R^{hi}(z) =
    \frac{q_0 + q_1 z^{-1} + \dots + q_{m+1} z^{-(m+1)}}
         {1 + p_1 z^{-1} + \dots + p_{m+1} z^{-(m+1)}}.
\end{equation}

%--------------------------------------------------------------
\section{Построение и исследование апериодических регуляторов}

Все вычисления выполнены в среде \texttt{MATLAB} с использованием
пакета \texttt{Control System Toolbox}. Дискретизация осуществлялась
методом нулевого порядка (\texttt{c2d(...,'zoh')}).

Для каждого значения $T_d$ были получены:
\begin{itemize}
    \item дискретная передаточная функция объекта $G_p(z)$;
    \item регулятор обычного порядка $G_R(z)$;
    \item регулятор повышенного порядка $G_R^{hi}(z)$;
    \item замкнутые системы по каналу $w \to y$;
    \item переходные характеристики $y(k)$ и $u(k)$
          (общие и с «увеличением» первых тактов).
\end{itemize}

Ниже приведены результаты моделирования с подстановкой конкретных
коэффициентов из вывода \texttt{MATLAB}.

%==================== Td = 1 с =================================
\subsection{Период дискретизации $T_d = 1$~с}

\subsubsection*{Дискретная модель объекта}

Вывод \texttt{MATLAB}:
\[
Gp_z =
\frac{-0.1671 z^3 - 1.141 z^2 - 0.2098 z - 0.003488}
     {z^3 - 0.9235 z^2 - 0.06258 z - 0.01387}.
\]

В каноническом виде с отрицательными степенями:
\begin{equation}
    G_p^{(1)}(z) =
    \frac{-0.1671 - 1.1407 z^{-1} - 0.2098 z^{-2} - 0.003488 z^{-3}}
         {1 - 0.9235 z^{-1} - 0.06258 z^{-2} - 0.01387 z^{-3}}.
\end{equation}

\subsubsection*{Регулятор обычного порядка}

По формулам \eqref{eq:q0}--\eqref{eq:qi} при $T_d = 1$~с
получен регулятор:
\[
W_{reg} =
\frac{-0.7386 z^3 + 0.6821 z^2 + 0.04622 z + 0.01025}
     {z^3 - 0.8425 z^2 - 0.155 z - 0.002576},
\]
или в виде с $z^{-1}$:
\begin{equation}
    G_R^{(1)}(z) =
    \frac{-0.7386 + 0.6821 z^{-1} + 0.04622 z^{-2} + 0.01025 z^{-3}}
         {1 - 0.8425 z^{-1} - 0.155 z^{-2} - 0.002576 z^{-3}}.
\end{equation}

\subsubsection*{Регулятор повышенного порядка}

При использовании формул повышенного порядка получен регулятор:
\[
W_{reg,hi} =
\frac{-0.7386 z^4 + 0.7632 z^3 - 0.02873 z^2 + 0.005168 z - 0.001126}
     {z^4 - 0.8425 z^3 - 0.0624 z^2 + 0.01445 z + 0.0002831},
\]
или в каноническом виде:
\begin{equation}
    G_{R,hi}^{(1)}(z) =
    \frac{-0.7386 + 0.7632 z^{-1} - 0.02873 z^{-2} + 0.005168 z^{-3} - 0.001126 z^{-4}}
         {1 - 0.8425 z^{-1} - 0.0624 z^{-2} + 0.01445 z^{-3} + 0.0002831 z^{-4}}.
\end{equation}

\subsubsection*{Графики переходных процессов}ы

\begin{figure}[H]
    \centering
    \includegraphics[width=0.9\linewidth]{img/td1.png}
    \caption{Переходные процессы $y(k)$ и $u(k)$ при $T_d = 1$~с}
\end{figure}

\begin{figure}[H]
    \centering
    \includegraphics[width=0.9\linewidth]{img/td1_zoom.png}
    \caption{Первые такты переходных процессов при $T_d = 1$~с (zoom)}
\end{figure}

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

%==================== Td = 2 с =================================
\subsection{Период дискретизации $T_d = 2$~с}

\subsubsection*{Дискретная модель объекта}

\[
Gp_z =
\frac{-0.1671 z^3 - 2.548 z^2 - 0.1341 z - 0.002741}
     {z^3 - 0.9781 z^2 - 0.02171 z - 0.0001925},
\]
что эквивалентно
\begin{equation}
    G_p^{(2)}(z) =
    \frac{-0.1671 - 2.5479 z^{-1} - 0.1341 z^{-2} - 0.002741 z^{-3}}
         {1 - 0.9781 z^{-1} - 0.02171 z^{-2} - 0.0001925 z^{-3}}.
\end{equation}

\subsubsection*{Регулятор обычного порядка}

Вывод MATLAB:
\[
W_{reg} =
\frac{-0.3725 z^3 + 0.3643 z^2 + 0.008087 z + 7.17\cdot10^{-5}}
     {z^3 - 0.949 z^2 - 0.04996 z - 0.001021},
\]
в каноническом виде:
\begin{equation}
    G_R^{(2)}(z) =
    \frac{-0.3725 + 0.3643 z^{-1} + 0.008087 z^{-2} + 7.17\cdot10^{-5} z^{-3}}
         {1 - 0.949 z^{-1} - 0.04996 z^{-2} - 0.001021 z^{-3}}.
\end{equation}

\subsubsection*{Регулятор повышенного порядка}

\[
W_{reg,hi} =
\frac{-0.3725 z^4 + 0.3861 z^3 - 0.01327 z^2 - 0.0004023 z - 4.202\cdot10^{-6}}
     {z^4 - 0.949 z^3 + 0.005663 z^2 + 0.001907 z + 5.985\cdot10^{-5}},
\]
\begin{equation}
    G_{R,hi}^{(2)}(z) =
    \frac{-0.3725 + 0.3861 z^{-1} - 0.01327 z^{-2} - 0.0004023 z^{-3}
          - 4.202\cdot10^{-6} z^{-4}}
         {1 - 0.949 z^{-1} + 0.005663 z^{-2} + 0.001907 z^{-3}
          + 5.985\cdot10^{-5} z^{-4}}.
\end{equation}

\subsubsection*{Графики переходных процессов}

На рис.~\ref{fig:td2_full} приведены переходные процессы по выходу
и управляющему воздействию (общий вид), на
рис.~\ref{fig:td2_zoom} — увеличенный фрагмент первых тактов.

\begin{figure}[H]
    \centering
    \includegraphics[width=0.9\linewidth]{img/td2.png} % твой файл
    \caption{Переходные процессы $y(k)$ и $u(k)$ при $T_d = 2$~с}
    \label{fig:td2_full}
\end{figure}

\begin{figure}[H]
    \centering
    \includegraphics[width=0.9\linewidth]{img/td2_zoom.png} % твой файл
    \caption{Первые такты переходных процессов при $T_d = 2$~с (zoom)}
    \label{fig:td2_zoom}
\end{figure}

По сравнению с $T_d = 1$~с переходный процесс замедляется, однако
характер различий между обычным и повышенным порядком сохраняется:
обычный порядок быстрее, повышенный — мягче по $u(k)$.

%==================== Td = 4 с =================================
\subsection{Период дискретизации $T_d = 4$~с}

\subsubsection*{Дискретная модель объекта}

\[
Gp_z =
\frac{-0.1671 z^3 - 5.334 z^2 - 0.0789 z + 3.317\cdot10^{-5}}
     {z^3 - 1.0001 z^2 + 9.479\cdot10^{-5} z - 3.706\cdot10^{-8}},
\]
что эквивалентно
\begin{equation}
    G_p^{(4)}(z) =
    \frac{-0.1671 - 5.3339 z^{-1} - 0.07890 z^{-2} + 3.317\cdot10^{-5} z^{-3}}
         {1 - 1.0001 z^{-1} + 9.479\cdot10^{-5} z^{-2} - 3.706\cdot10^{-8} z^{-3}}.
\end{equation}

\subsubsection*{Регулятор обычного порядка}

\[
W_{reg} =
\frac{-0.1847 z^3 + 0.1848 z^2 - 1.751\cdot10^{-5} z + 6.847\cdot10^{-9}}
     {z^3 - 0.9854 z^2 - 0.01458 z + 6.128\cdot10^{-6}},
\]
\begin{equation}
    G_R^{(4)}(z) =
    \frac{-0.1847 + 0.1848 z^{-1} - 1.751\cdot10^{-5} z^{-2}
          + 6.847\cdot10^{-9} z^{-3}}
         {1 - 0.9854 z^{-1} - 0.01458 z^{-2} + 6.128\cdot10^{-6} z^{-3}}.
\end{equation}

\subsubsection*{Регулятор повышенного порядка}

\[
W_{reg,hi} =
\frac{-0.1847 z^4 + 0.1903 z^3 - 0.005552 z^2 + 5.314\cdot10^{-7} z
      - 2.051\cdot10^{-10}}
     {z^4 - 0.9854 z^3 + 0.01494 z^2 + 0.0004428 z - 1.836\cdot10^{-7}},
\]
\begin{equation}
    G_{R,hi}^{(4)}(z) =
    \frac{-0.1847 + 0.1903 z^{-1} - 0.005552 z^{-2}
          + 5.314\cdot10^{-7} z^{-3} - 2.051\cdot10^{-10} z^{-4}}
         {1 - 0.9854 z^{-1} + 0.01494 z^{-2}
          + 0.0004428 z^{-3} - 1.836\cdot10^{-7} z^{-4}}.
\end{equation}

\subsubsection*{Графики переходных процессов}

На рис.~\ref{fig:td4_full} показаны переходные процессы для всего
интервала моделирования, на рис.~\ref{fig:td4_zoom} — увеличенный
начальный участок.

\begin{figure}[H]
    \centering
    \includegraphics[width=0.9\linewidth]{img/td4.png} % твой файл
    \caption{Переходные процессы $y(k)$ и $u(k)$ при $T_d = 4$~с}
    \label{fig:td4_full}
\end{figure}

\begin{figure}[H]
    \centering
    \includegraphics[width=0.9\linewidth]{img/td4_zoom.png} % твой файл
    \caption{Первые такты переходных процессов при $T_d = 4$~с (zoom)}
    \label{fig:td4_zoom}
\end{figure}


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

%--------------------------------------------------------------
\section{Общий вывод}

В ходе лабораторной работы выполнен синтез и исследование
апериодических регуляторов обычного и повышенного порядка для
объекта управления варианта~1.

Основные выводы:
\begin{enumerate}
    \item Регулятор обычного порядка обеспечивает минимальное
          конечное время установления переходного процесса для всех
          рассмотренных значений периода дискретизации
          $T_d = 1, 2, 4$~с. Переходный процесс апериодичен, без
          заметных перерегулирований.
    \item Регулятор повышенного порядка позволяет уменьшить
          пиковое значение управляющего воздействия $u(k)$ за счёт
          увеличения времени установления на один такт.
    \item С увеличением периода дискретизации динамика системы
          замедляется, однако при корректном выборе параметров
          регуляторов устойчивость сохраняется.
    \item Для задач, где на первом месте стоит быстродействие,
          целесообразно использовать регулятор обычного порядка.
          Если же приоритетом является ограничение управляющего
          сигнала, имеет смысл применять регулятор повышенного
          порядка.
\end{enumerate}

%--------------------------------------------------------------
\section*{Приложение. MATLAB-код}
\addcontentsline{toc}{section}{Приложение. MATLAB-код}

\begin{lstlisting}[caption={Основной скрипт моделирования апериодических регуляторов},label={lst:lab2}]
% ЛР №2. Апериодические регуляторы
% Вариант 1

clc;
clear variables;
close all force;

s = tf('s');

num_c = [-1.577  -15.46  -63.09  -107.8];
den_c = [ 9.435   40.36   77.27     0   ];

Gp_c = tf(num_c, den_c);

T_array = [1 2 4];

for Td = T_array
    fprintf('\n====================================\n');
    fprintf('Период дискретизации Td = %.1f c\n', Td);

    Gp_z = c2d(Gp_c, Td, 'zoh');

    num_s = Gp_z.Numerator{:};
    den_s = Gp_z.Denominator{:};
    m = length(den_s) - 1;

    % --- Регулятор обычного порядка ---
    s_num_tail = sum(num_s(2:end));
    q0 = 1 / s_num_tail;

    q = zeros(1, m);
    p = zeros(1, m);

    for i = 2:length(den_s)
        q(i-1) = den_s(i) * q0;
        p(i-1) = num_s(i) * q0;
    end

    num_reg = [q0, q];
    den_reg = [1, -p];

    Wreg = tf(num_reg, den_reg, Td);
    Wsys_aro = feedback(Wreg * Gp_z, 1);

    % --- Регулятор повышенного порядка ---
    q0_hi = q0;
    s_num = sum(num_s);

    q_hi = zeros(1, m+1);
    p_hi = zeros(1, m+1);

    for i = 2:length(den_s)
        if i == 2
            q_hi(i-1) = q0_hi * (den_s(i) - 1) + 1 / s_num;
            p_hi(i-1) = q0_hi * num_s(i);
        else
            q_hi(i-1) = (den_s(i) - den_s(i-1)) * q0_hi + den_s(i-1)/s_num;
            p_hi(i-1) = (num_s(i) - num_s(i-1)) * q0_hi + num_s(i-1)/s_num;
        end
    end

    i = length(den_s);
    q_hi(i) = den_s(i) * (-q0_hi + 1 / s_num);
    p_hi(i) = -num_s(i) * (q0_hi - 1 / s_num);

    num_reg_hi = [q0_hi, q_hi];
    den_reg_hi = [1, -p_hi];

    Wreg_hi = tf(num_reg_hi, den_reg_hi, Td);
    Wsys_arp = feedback(Wreg_hi * Gp_z, 1);

    % Построение графиков (общий вид и zoom)
    % здесь вызывались step(...) и сохранялись рисунки
end
\end{lstlisting}

\end{document}
