\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[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}

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

% Общие настройки листингов
\lstset{
  style=Matlab-editor,      % стиль из matlab-prettifier
  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{Введение}

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

В работе исследуется непрерывная передаточная функция объекта, заданная в соответствии с вариантом задания, выполняется её дискретизация при различных периодах квантования, проводится анализ переходных характеристик и взаимного расположения нулей и полюсов в $z$–плоскости. Для дискретизированных моделей строятся компенсационные регуляторы, позволяющие сформировать требуемую идеальную передаточную функцию разомкнутой системы $G_{\text{СТ}}(z)$, а также идеальную передаточную функцию замкнутой системы $G_{\text{W}}(z)$.

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

В отчёте приводятся:
\begin{itemize}
  \item непрерывная передаточная функция объекта и её дискретные модели, полученные методом удержания нулевого порядка (ZOH) для различных периодов дискретизации;
  \item переходные характеристики непрерывной и дискретных моделей;
  \item расположение полюсов и нулей в $z$–плоскости для каждой дискретизации;
  \item синтезированные компенсационные регуляторы для разомкнутой и замкнутой систем;
  \item анализ свойств идеальных разомкнутых и замкнутых систем в дискретной форме.
\end{itemize}

Все вычисления и визуализации выполнены при помощи пакета \texttt{MATLAB}.

%--------------------------------------------------------------
\section{Исходные данные и исследуемая передаточная функция}

Согласно техническому заданию (вариант~1) непрерывная передаточная функция объекта имеет вид
\begin{equation}
  G_p(s) =
  \frac{-1{,}577 s^3 - 15{,}46 s^2 - 63{,}09 s - 107{,}8}
       {s^3 + 9{,}435 s^2 + 40{,}36 s + 77{,}27}.
  \label{eq:Gp_s}
\end{equation}

Дискретная модель объекта для выбранного периода дискретизации $T_0$ строится методом удержания нулевого порядка:
\begin{equation}
  G_p(z;T_0) = \mathcal{Z}\!\left\{
    \frac{1 - e^{-sT_0}}{s}\, G_p(s)
  \right\}.
  \label{eq:Gp_z_general}
\end{equation}
В работе используются три значения периода дискретизации:
\[
  T_0 \in \{0{,}1;\;1{,}0;\;2{,}0\}\ \text{с}.
\]

В качестве \emph{идеальной разомкнутой системы} задаётся передаточная функция
\begin{equation}
  G_{\text{СТ}}(z) = 1,
  \label{eq:Gst_ideal}
\end{equation}
а в качестве \emph{идеальной замкнутой системы}~--- передаточная функция
\begin{equation}
  G_W(z) = \frac{1}{z}.
  \label{eq:Gw_ideal}
\end{equation}

Компенсационный регулятор для разомкнутой системы определяется выражением
\begin{equation}
  R_{\text{ol}}(z) = \frac{G_{\text{СТ}}(z)}{G_p(z)} = \frac{1}{G_p(z)},
  \label{eq:Rol}
\end{equation}
так что разомкнутая система принимает идеальный вид
\[
  G_{\text{ol}}(z) = R_{\text{ol}}(z) G_p(z) = G_{\text{СТ}}(z) = 1.
\]

Компенсационный регулятор для замкнутой системы синтезируется из условия
\[
  G_W(z) = 
  \frac{R_{\text{cl}}(z) G_p(z)}
       {1 + R_{\text{cl}}(z) G_p(z)},
\]
откуда
\begin{equation}
  R_{\text{cl}}(z) =
  \frac{1}{G_p(z)} \cdot
  \frac{G_W(z)}{1 - G_W(z)}.
  \label{eq:Rcl}
\end{equation}
При таком выборе регулятора замкнутая система имеет идеальную ПФ~\eqref{eq:Gw_ideal}.

%--------------------------------------------------------------
\section{Анализ результатов при $T_0 = 0{,}1$~с}

\subsection{Групповые графики}

На рис.~\ref{fig:T01_group_main} представлены основные результаты моделирования
для периода дискретизации $T_0 = 0{,}1$~с: переходные характеристики
непрерывной и дискретной моделей, а также идеальные OL/CL-системы и их
расположение полюсов и нулей на $z$-плоскости.

\begin{figure}[H]
  \centering

  \begin{subfigure}{0.32\textwidth}
    \centering
    \includegraphics[width=\linewidth]{img/0.1/step_Gp_T0.100.png}
    \caption{$G_p(s)$ и $G_p(z)$}
  \end{subfigure}
  \hfill
  \begin{subfigure}{0.32\textwidth}
    \centering
    \includegraphics[width=\linewidth]{img/0.1/pz_Gp_T0.100.png}
    \caption{Полюса и нули $G_p(z)$}
  \end{subfigure}
  \hfill
  \begin{subfigure}{0.32\textwidth}
    \centering
    \includegraphics[width=\linewidth]{img/0.1/step_ideal_OL_T0.100.png}
    \caption{Идеальная OL-система}
  \end{subfigure}

  \vspace{0.7em}

  \begin{subfigure}{0.32\textwidth}
    \centering
    \includegraphics[width=\linewidth]{img/0.1/pz_ideal_OL_T0.100.png}
    \caption{$z$-плоскость идеальной OL-системы}
  \end{subfigure}
  \hfill
  \begin{subfigure}{0.32\textwidth}
    \centering
    \includegraphics[width=\linewidth]{img/0.1/step_ideal_CL_T0.100.png}
    \caption{Идеальная CL-система}
  \end{subfigure}
  \hfill
  \begin{subfigure}{0.32\textwidth}
    \centering
    \includegraphics[width=\linewidth]{img/0.1/pz_ideal_CL_T0.100.png}
    \caption{$z$-плоскость идеальной CL-системы}
  \end{subfigure}

  \caption{Результаты моделирования для $T_0 = 0{,}1$~с.}
  \label{fig:T01_group_main}
\end{figure}

\subsection{Анализ результатов}

По верхнему левому графику на рис.~\ref{fig:T01_group_main} видно, что при малом
периоде дискретизации $T_0=0{,}1$~с дискретная модель $G_p(z)$ хорошо
аппроксимирует переходную характеристику непрерывного объекта $G_p(s)$:
форма кривой, время установления и установившееся значение практически
совпадают. Наблюдающаяся ступенчатость обусловлена работой устройства
удержания нулевого порядка.

На диаграмме полюсов (верхний центральный график рис.~\ref{fig:T01_group_main})
все полюса $G_p(z)$ лежат внутри единичного круга, что соответствует устойчивой
дискретной системе. Расположение полюсов вблизи действительной оси говорит об
апериодическом характере переходного процесса.

После введения компенсатора $R_{\text{ol}}(z)$ по формуле~\eqref{eq:Rol}
разомкнутая система принимает идеальный вид $G_{\text{ol}}(z)=1$, что
подтверждается верхним правым графиком рис.~\ref{fig:T01_group_main}:
отклик на ступенчатое воздействие является постоянной функцией
$y(k)\equiv1$. На соответствующей диаграмме $z$-плоскости (нижний левый
график рис.~\ref{fig:T01_group_main}) полюса объекта перекрыты нулями
регулятора.

Аналогично, компенсатор $R_{\text{cl}}(z)$, заданный соотношением~\eqref{eq:Rcl},
обеспечивает идеальную замкнутую ПФ $G_W(z)=1/z$. Это проявляется в нижнем
центральном графике рис.~\ref{fig:T01_group_main}: установка на единичное
значение происходит без колебаний и статической ошибки. На нижнем правом
графике видно, что в замкнутой системе остаётся характерный полюс в точке
$z=1$, соответствующий идеальной модели~\eqref{eq:Gw_ideal}.

\subsection{Выводы для $T_0 = 0{,}1$~с}

\begin{itemize}
  \item При $T_0=0{,}1$~с дискретная передаточная функция $G_p(z;T_0)$,
        построенная по формуле~\eqref{eq:Gp_z_general}, практически полностью
        воспроизводит динамику непрерывного объекта~\eqref{eq:Gp_s}.
  \item Полюса $G_p(z)$ расположены внутри единичного круга, что обеспечивает
        устойчивость системы.
  \item Компенсатор $R_{\text{ol}}(z)$, определяемый формулой~\eqref{eq:Rol},
        формирует идеальную разомкнутую передаточную функцию
        $G_{\text{СТ}}(z)=1$.
  \item Компенсатор $R_{\text{cl}}(z)$ по формуле~\eqref{eq:Rcl} обеспечивает
        идеальную замкнутую передаточную функцию $G_W(z)=1/z$.
\end{itemize}

%--------------------------------------------------------------
\section{Анализ результатов при $T_0 = 1{,}0$~с}

\subsection{Групповые графики}

На рис.~\ref{fig:T10_group_main} приведены соответствующие результаты для
периода дискретизации $T_0 = 1{,}0$~с.

\begin{figure}[H]
  \centering

  \begin{subfigure}{0.32\textwidth}
    \centering
    \includegraphics[width=\linewidth]{img/1/step_Gp_T1.000.png}
    \caption{$G_p(s)$ и $G_p(z)$}
  \end{subfigure}
  \hfill
  \begin{subfigure}{0.32\textwidth}
    \centering
    \includegraphics[width=\linewidth]{img/1/pz_Gp_T1.000.png}
    \caption{Полюса и нули $G_p(z)$}
  \end{subfigure}
  \hfill
  \begin{subfigure}{0.32\textwidth}
    \centering
    \includegraphics[width=\linewidth]{img/1/step_ideal_OL_T1.000.png}
    \caption{Идеальная OL-система}
  \end{subfigure}

  \vspace{0.7em}

  \begin{subfigure}{0.32\textwidth}
    \centering
    \includegraphics[width=\linewidth]{img/1/pz_ideal_OL_T1.000.png}
    \caption{$z$-плоскость идеальной OL-системы}
  \end{subfigure}
  \hfill
  \begin{subfigure}{0.32\textwidth}
    \centering
    \includegraphics[width=\linewidth]{img/1/step_ideal_CL_T1.000.png}
    \caption{Идеальная CL-система}
  \end{subfigure}
  \hfill
  \begin{subfigure}{0.32\textwidth}
    \centering
    \includegraphics[width=\linewidth]{img/1/pz_ideal_CL_T1.000.png}
    \caption{$z$-плоскость идеальной CL-системы}
  \end{subfigure}

  \caption{Результаты моделирования для $T_0 = 1{,}0$~с.}
  \label{fig:T10_group_main}
\end{figure}

\subsection{Анализ результатов}

При увеличении периода дискретизации до $T_0=1{,}0$~с (верхний левый график
рис.~\ref{fig:T10_group_main}) дискретная модель по-прежнему воспроизводит
общий характер переходного процесса, однако заметно искажение начального
участка: из-за редкого квантования фронт ступенчатого воздействия описывается
всего несколькими отсчётами.

На диаграмме полюсов $G_p(z)$ (верхний центральный график
рис.~\ref{fig:T10_group_main}) по сравнению со случаем $T_0=0{,}1$~с полюса
смещаются ближе к началу координат, что согласуется с экспоненциальным
отображением $z=e^{sT_0}$. Устойчивость дискретной системы сохраняется, так как
все полюса остаются внутри единичной окружности.

Идеальные разомкнутая и замкнутая системы, синтезированные по
формулам~\eqref{eq:Rol}–\eqref{eq:Rcl}, демонстрируют те же свойства, что и при
малом шаге дискретизации: переходные характеристики (верхний правый и нижний
центральный графики) совпадают с теоретическими (идеальная ступенька и модель
$1/z$), а диаграммы $z$-плоскости (нижний ряд рис.~\ref{fig:T10_group_main})
подтверждают полную компенсацию динамики объекта.

\subsection{Выводы для $T_0 = 1{,}0$~с}

\begin{itemize}
  \item При $T_0=1{,}0$~с дискретная модель $G_p(z;T_0)$ остаётся устойчивой,
        но точность описания быстродействия по сравнению с $T_0=0{,}1$~с
        заметно снижается.
  \item Полюса $G_p(z)$ смещаются к центру единичного круга, что отражает
        влияние увеличенного периода квантования.
  \item Компенсаторы, построенные по формулам~\eqref{eq:Rol} и~\eqref{eq:Rcl},
        продолжают обеспечивать идеальные передаточные функции
        $G_{\text{СТ}}(z)$ и $G_W(z)$.
\end{itemize}

%--------------------------------------------------------------
\section{Анализ результатов при $T_0 = 2{,}0$~с}

\subsection{Групповые графики}

Результаты моделирования для $T_0 = 2{,}0$~с сведены на рис.~\ref{fig:T20_group_main}.

\begin{figure}[H]
  \centering

  \begin{subfigure}{0.32\textwidth}
    \centering
    \includegraphics[width=\linewidth]{img/2/step_Gp_T2.000.png}
    \caption{$G_p(s)$ и $G_p(z)$}
  \end{subfigure}
  \hfill
  \begin{subfigure}{0.32\textwidth}
    \centering
    \includegraphics[width=\linewidth]{img/2/pz_Gp_T2.000.png}
    \caption{Полюса и нули $G_p(z)$}
  \end{subfigure}
  \hfill
  \begin{subfigure}{0.32\textwidth}
    \centering
    \includegraphics[width=\linewidth]{img/2/step_ideal_OL_T2.000.png}
    \caption{Идеальная OL-система}
  \end{subfigure}

  \vspace{0.7em}

  \begin{subfigure}{0.32\textwidth}
    \centering
    \includegraphics[width=\linewidth]{img/2/pz_ideal_OL_T2.000.png}
    \caption{$z$-плоскость идеальной OL-системы}
  \end{subfigure}
  \hfill
  \begin{subfigure}{0.32\textwidth}
    \centering
    \includegraphics[width=\linewidth]{img/2/step_ideal_CL_T2.000.png}
    \caption{Идеальная CL-система}
  \end{subfigure}
  \hfill
  \begin{subfigure}{0.32\textwidth}
    \centering
    \includegraphics[width=\linewidth]{img/2/pz_ideal_CL_T2.000.png}
    \caption{$z$-плоскость идеальной CL-системы}
  \end{subfigure}

  \caption{Результаты моделирования для $T_0 = 2{,}0$~с.}
  \label{fig:T20_group_main}
\end{figure}

\subsection{Анализ результатов}

При дальнейшем увеличении периода дискретизации до $T_0=2{,}0$~с дискретная
модель объекта (верхний левый график рис.~\ref{fig:T20_group_main}) становится
заметно менее информативной: переходный процесс содержит очень небольшое число
отсчётов, форма кривой грубо приближает непрерывную характеристику. Тем не менее
установившееся значение сохраняется на уровне непрерывной модели.

На диаграмме полюсов $G_p(z)$ (верхний центральный график
рис.~\ref{fig:T20_group_main}) видно, что все полюса сосредоточены в окрестности
начала координат. Это соответствует экспоненциальному отображению $z=e^{sT_0}$
при большом $T_0$ и фактически «сжимает» спектр системы к нулю. Устойчивость
сохраняется, однако качество дискретной модели для анализа динамики оказывается
неудовлетворительным.

Идеальные OL/CL-системы, определяемые формулами~\eqref{eq:Rol}–\eqref{eq:Rcl}, и
в этом случае демонстрируют требуемые свойства: ступенчатый отклик и модель
$1/z$ полностью соответствуют теории, а диаграммы на нижнем ряду
рис.~\ref{fig:T20_group_main} показывают компенсацию динамики объекта.

\subsection{Выводы для $T_0 = 2{,}0$~с}

\begin{itemize}
  \item Период дискретизации $T_0=2{,}0$~с является избыточно большим для
        рассматриваемого объекта: переходный процесс дискретной модели слабо
        отражает реальную динамику.
  \item Полюса $G_p(z)$ концентрируются вблизи $z=0$, что является следствием
        большого шага дискретизации и приводит к «сжатию» спектра.
  \item Несмотря на ухудшение качества модели, компенсаторы по-прежнему
        формируют идеальные передаточные функции~\eqref{eq:Gst_ideal}
        и~\eqref{eq:Gw_ideal}, что подтверждает корректность метода компенсации.
\end{itemize}

%--------------------------------------------------------------
\section*{Общие выводы}
\addcontentsline{toc}{section}{Общие выводы}

\begin{enumerate}
  \item Для заданного объекта с передаточной функцией~\eqref{eq:Gp_s}
        дискретные модели, построенные по формуле~\eqref{eq:Gp_z_general},
        при $T_0=0{,}1$~с обеспечивают наилучшее совпадение переходных
        характеристик с непрерывной системой.
  \item Увеличение периода дискретизации до $T_0=1{,}0$ и тем более до
        $T_0=2{,}0$~с приводит к ухудшению качества описания быстродействия,
        хотя устойчивость дискретных моделей сохраняется (полюса остаются
        внутри единичного круга).
  \item Компенсационные регуляторы, синтезированные по формулам~\eqref{eq:Rol}
        и~\eqref{eq:Rcl}, позволяют получить идеальные разомкнутую
        $G_{\text{СТ}}(z)=1$ и замкнутую $G_W(z)=1/z$ системы для всех
        рассмотренных значений $T_0$.
  \item Метод компенсации, реализованный в дискретной форме, подтверждает свою
        эффективность и может быть использован для синтеза регуляторов в
        реальных цифровых системах управления при условии корректного выбора
        периода дискретизации.
\end{enumerate}

%--------------------------------------------------------------
\appendix

\section*{Приложение А. Листинг программы в \texttt{MATLAB}}
\addcontentsline{toc}{section}{Приложение А. Листинг программы в MATLAB}
\label{app:matlab_listing}

Ниже приведён скрипт \texttt{MATLAB}, используемый для дискретизации
объекта и синтеза компенсационных регуляторов для трёх значений
периода дискретизации.

\begin{lstlisting}[
  style=Matlab-editor,
  caption={Скрипт моделирования и синтеза компенсаторов},
  label={lst:lab1}
]
% ЛР1. Компенсационные регуляторы, вариант 1

clc; clear; close all;

s  = tf('s');          % оператор s
T0 = [0.1 1.0 2.0];    % периоды дискретизации, с

% Непрерывный объект
Gp = (-1.577*s^3 - 15.46*s^2 - 63.09*s - 107.8)/ ...
     (s^3 + 9.435*s^2 + 40.36*s + 77.27);

for i = 1:numel(T0)
    T = T0(i);

    % --- 1. Дискретизация объекта ---
    Gp_d = c2d(Gp, T, 'zoh');

    % Переходные характеристики Gp(s) и Gp(z)
    figure;
    step(Gp, 'r', Gp_d, 'b');
    grid on;
    legend('Gp(s)', sprintf('Gp(z), T0=%.1f c', T), 'Location', 'Best');
    title(sprintf('Переходные характеристики (T0=%.1f c)', T));
    xlabel('Time, s'); ylabel('Amplitude');
    saveas(gcf, sprintf('step_Gp_T%.3f.png', T));

    % Полюса и нули Gp(z)
    figure;
    pzmap(Gp_d); grid on;
    title(sprintf('Полюса и нули Gp(z), T0=%.1f c', T));
    saveas(gcf, sprintf('pz_Gp_T%.3f.png', T));

    % --- 2. Идеальная разомкнутая система ---
    Rol = 1 / Gp_d;
    Gol = Rol * Gp_d;  % теоретически Gol(z) = 1

    figure;
    step(Gol); grid on;
    title(sprintf('Идеальная OL-система, T0=%.1f c', T));
    ylim([0 2]);
    saveas(gcf, sprintf('step_ideal_OL_T%.3f.png', T));

    figure;
    pzmap(Gol); grid on;
    title(sprintf('z-плоскость OL, T0=%.1f c', T));
    saveas(gcf, sprintf('pz_ideal_OL_T%.3f.png', T));

    % --- 3. Идеальная замкнутая система ---
    z   = tf('z', T);
    Gw  = 1 / z;
    Rcl = (1 / Gp_d) * Gw / (1 - Gw);
    Gcl = feedback(Rcl * Gp_d, 1);

    figure;
    step(Gcl); grid on;
    title(sprintf('Идеальная CL-система, T0=%.1f c', T));
    ylim([0 1.2]);
    saveas(gcf, sprintf('step_ideal_CL_T%.3f.png', T));

    figure;
    pzmap(Gcl); grid on;
    title(sprintf('z-плоскость CL, T0=%.1f c', T));
    saveas(gcf, sprintf('pz_ideal_CL_T%.3f.png', T));
end
\end{lstlisting}

\end{document}
