Compare commits

...

13 Commits

59 changed files with 13739 additions and 245 deletions

View File

@ -1,8 +1,8 @@
\documentclass[a4paper,fontsize=14bp]{article} \documentclass[a4paper,fontsize=14bp]{article}
\input{../common-preamble} \input{settings/common-preamble}
\input{../fancy-listings-preamble} \input{settings/fancy-listings-preamble}
\input{../bmstu-preamble} \input{settings/bmstu-preamble}
\numerationTop \numerationTop
\begin{document} \begin{document}

View File

@ -1,8 +1,8 @@
\documentclass{article} \documentclass{article}
\input{../common-preamble} \input{settings/common-preamble}
\input{../bmstu-preamble} \input{settings/bmstu-preamble}
\input{../fancy-listings-preamble} \input{settings/fancy-listings-preamble}
\usepackage{forest} \usepackage{forest}
\author{Варфоломеев Александр Алексеевич a.varfolomeev@mail.ru} \author{Варфоломеев Александр Алексеевич a.varfolomeev@mail.ru}
\title{Криптографические протоколы и стандарты} \title{Криптографические протоколы и стандарты}

View File

@ -1,8 +1,8 @@
\documentclass[a4paper,fontsize=14bp]{article} \documentclass[a4paper,fontsize=14bp]{article}
\input{../common-preamble} \input{settings/common-preamble}
\input{../fancy-listings-preamble} \input{settings/fancy-listings-preamble}
\input{../bmstu-preamble} \input{settings/bmstu-preamble}
\setcounter{secnumdepth}{4} \setcounter{secnumdepth}{4}
\numerationTop \numerationTop
@ -48,12 +48,11 @@
\[ [31, 44, 216, 0, 132, 68, 18, 100]. \] \[ [31, 44, 216, 0, 132, 68, 18, 100]. \]
Алгоритм выполняется в несколько шагов: Изначально был применён алгоритм комбинационного поиска медианы для 8 значений:
\begin{enumerate} \begin{enumerate}
\item сравнение соседних значений в ряду парами; \item сравнение соседних значений в ряду парами;
\item меньшие значения сравнить с меньшими значениями пар, а большие с большими; \item меньшие значения сравнить с меньшими значениями пар, а большие с большими;
\item взять меньшую из больших полученных пар и б\'{о}льшую из меньших, также сравнить меньшие с меньшими и б\'{о}льшие с б\'{о}льшими; \item взять меньшую из больших полученных пар и б\'{о}льшую из меньших, также сравнить меньшие с меньшими и б\'{о}льшие с б\'{о}льшими;
\item выявить меньшее из меньшей пары, полученной в п. 2 и большее из большей.
\end{enumerate} \end{enumerate}
\begin{equation*} \begin{equation*}
\begin{gathered} \begin{gathered}
@ -62,93 +61,63 @@
\begin{bmatrix} \begin{bmatrix}
31, 44 \\ 0, 216 \\ 68, 132 \\ 18, 100 31, 44 \\ 0, 216 \\ 68, 132 \\ 18, 100
\end{bmatrix} \end{bmatrix}
\to \\ \to
\begin{bmatrix} \begin{bmatrix}
0, 31 \\ 18, 68 \\ 44, 216 \\ 100, 132 0, 31 \\ 18, 68 \\ 44, 216 \\ 100, 132
\end{bmatrix} \end{bmatrix}
\\ \to \to
\begin{bmatrix} \begin{bmatrix}
44, 100 \\ 31, 68 44, 100 \\ 31, 68
\end{bmatrix} \end{bmatrix}
\\ \to [31, 44, 68, 100] \to 44, 68; \\ \to [31, 44, 68, 100] \to 44, 68;
\\ \to [0, 18], [132, 216] \to 0, 216.
\end{gathered} \end{gathered}
\end{equation*} \end{equation*}
Из приведённых вычислений очевидно, что исходное множество содержит: Из приведённых вычислений очевидно, что:
\begin{itemize} \begin{itemize}
\item минимум = 0;
\item максимум = 216;
\item нижняя медиана = 44 \item нижняя медиана = 44
\item верхняя медиана = 68. \item верхняя медиана = 68.
\end{itemize} \end{itemize}
Для реализации данного алгоритма был описан вспомогательный модуль на языке Verilog, возвращающий меньшее и большее из двух входящих чисел. Однако, дополнительные тесты показали, что алгоритм работает не для всех возможных вариантов начального распределения значений во множестве. Исходные коды модуля \hrf{lst:mediancomb} и вспомогательного \hrf{lst:lessmore} приведены в приложении \hrf{appendix:src}.
\begin{lstlisting}[language=Verilog,style=VerilogStyle] \begin{lstlisting}[language=Verilog,style=VerilogStyle,caption={\code{minmedmax.sv}},label={lst:mmm}]
module lessmore ( module minmedmax
input [7:0] in1, (
input [7:0] in2, input clk, reset,
output logic [7:0] less, input [31:0] in1, in2,
output logic [7:0] more output reg [31:0] result
); );
logic [7:0] temp [0:7];
integer status [0:7];
assign temp = '{in1[31:24], in1[23:16], in1[15:8], in1[7:0], in2[31:24], in2[23:16], in2[15:8], in2[7:0]};
integer i, s, mini, maxi;
always_comb begin always_comb begin
if (in1 < in2) begin for (s = 0; s < 6; s = s + 1) begin
less = in1; if (s == 0) begin status = '{0,0,0,0,0,0,0,0}; end
more = in2; mini = 0; maxi = 0;
end else begin for (i = 0; i < 8; i = i + 1) begin
less = in2; if ((temp[i] <= temp[mini] || status[mini] == 1) && status[i] != 1) mini = i;
more = in1; if ((temp[i] >= temp[maxi] || status[maxi] == 1) && status[i] != 1) maxi = i;
end end
end status[mini] = 1;
if (s == 0) begin
result[31:24] = temp[maxi];
result[7:0] = temp[mini];
status[maxi] = 1;
end
if (s == 3) begin result[15:8] = temp[mini]; end
if (s == 4) begin result[23:16] = temp[mini]; end
if (s == 5) begin status = '{0,0,0,0,0,0,0,0}; end
end
end // always_comb
endmodule endmodule
\end{lstlisting} \end{lstlisting}
Сам же алгоритм реализован в несколько «шагов», представляющих собой слои комбинационной логики Конечный вариант модуля вычисления медиан, минимума и максимума представлен в листинге \hrf{lst:mmm}. Модуль осуществляет проход по сформированной шине из 8-разрядных значений, являющихся результатом конкатенации двух входящих 32-разрядных значений. Создаётся вспомогательный массив для отметок о проверке значения. Основной цикл опирается на сведения о том, что значений всегда восемь, поэтому итераций внешнего цикла нужно шесть (на первой будет найден минимум и максимум, на четвёртом и пятом - медианы, на шестом очищена сервисная шина). Основной цикл проходит по всей 64-разрядной временной шине и выставляет флаги минимума и максимума по следующему условию: \textit{проверяемый} элемент минимальный (максимальный), если он меньше (больше) \textit{найденного} на предыдущем шаге минимального (максимального) элемента или \textit{найденный} уже проверен\footnote{условие добавлено для первой итерации цикла в случаях, когда первой элемент является минимальным или максимальным.} и если проверяемый элемент не был проверен ранее.
\begin{lstlisting}[language=Verilog,style=VerilogStyle]
module minmelhmax (
input clk,
input reset,
input [31:0] in1,
input [31:0] in2,
output logic [31:0] result
);
logic [7:0] step1less [0:3];
logic [7:0] step1more [0:3];
logic [7:0] step2less [0:3];
logic [7:0] step2more [0:3];
logic [7:0] median [0:3];
logic [7:0] temp [0:3];
// 1: compare pairs
lessmore s01 (in1[7:0], in1[15:8], step1less[0], step1more[0]);
lessmore s02 (in1[23:16], in1[31:24], step1less[1], step1more[1]);
lessmore s03 (in2[7:0], in2[15:8], step1less[2], step1more[2]);
lessmore s04 (in2[23:16], in2[31:24], step1less[3], step1more[3]);
// 2: 1st step mins to mins, maxes to maxes
lessmore s11 (step1less[0], step1less[1], step2less[0], step2more[0]);
lessmore s12 (step1less[2], step1less[3], step2less[1], step2more[1]);
lessmore s13 (step1more[0], step1more[1], step2less[2], step2more[2]);
lessmore s14 (step1more[2], step1more[3], step2less[3], step2more[3]);
// 3: 2nd step less-maxes, more-mins
lessmore s21 (step2less[2], step2less[3], median[0], median[1]);
lessmore s22 (step2more[0], step2more[1], median[2], median[3]);
// 4: median of four
lessmore s31 (median[0], median[1], temp[1], result[1]);
lessmore s32 (median[2], median[3], result[2], temp[2]);
// 5: max and min of input
lessmore s41 (step2less[0], step2less[1], result[0], temp[0]);
lessmore s42 (step2more[2], step2more[3], temp[3], result[3]);
endmodule
\end{lstlisting}
Работа модуля была проверена на тестовом стенде
\subsection{Описание программного решения} \subsection{Описание программного решения}
Два входящих слова записываются во временный указатель и интерпретируются, как указатель на восемь 8-разрядных переменных \code{alt_u8}, далее цикл работает с ними как с массивом данных. На каждом шаге цикла ищется минимальный и максимальный элемент. Найденные элементы меняются местами с теми числами, которые находятся на месте действительно минимального и максимального элемента соответственно. Алгоритм являет собой совмещение \textit{сортировки выбором} и \textit{шейкерной сортировки}. Таким образом за четыре итерации получается сортированное множество, в котором необходимые значения берутся по индексу. Два входящих слова записываются во временный указатель и интерпретируются, как указатель на восемь 8-разрядных переменных \code{alt_u8}, далее цикл работает с ними как с массивом данных. На каждом шаге цикла ищется минимальный и максимальный элемент. Найденные элементы меняются местами с теми числами, которые находятся на месте действительно минимального и максимального элемента соответственно. Алгоритм являет собой совмещение \textit{сортировки выбором} и \textit{шейкерной сортировки}. Таким образом за четыре итерации получается сортированное множество, в котором необходимые значения берутся по индексу.
@ -204,14 +173,14 @@ alt_u32 ones_sw (
\end{lstlisting} \end{lstlisting}
\section{Результат и выводы} \section{Результат и выводы}
После запуска приложения были получены результаты, представленные на рис. \hrf{:}. После запуска приложения были получены результаты, представленные на рис. %\hrf{:}.
\begin{figure}[H] %\begin{figure}[H]
\centering % \centering
% \includegraphics[width=12cm]{.} % \includegraphics[width=12cm]{.}
\caption{} % \caption{}
\label{pic:} % \label{pic:}
\end{figure} %\end{figure}
Пользовательская инструкция для процессора Nios II -- это эффективный инструмент ускорения работы программы и выноса некоторых алгоритмов поточной обработки данных в аппаратную часть. Пользовательская инструкция для процессора Nios II -- это эффективный инструмент ускорения работы программы и выноса некоторых алгоритмов поточной обработки данных в аппаратную часть.
@ -223,6 +192,68 @@ alt_u32 ones_sw (
\subsection{Исходные коды проекта} \subsection{Исходные коды проекта}
\label{appendix:src} \label{appendix:src}
\begin{lstlisting}[language=Verilog,style=VerilogStyle,caption={\code{lessmore.sv}},label={lst:lessmore}]
module lessmore (
input [7:0] in1,
input [7:0] in2,
output logic [7:0] less,
output logic [7:0] more
);
always_comb begin
if (in1 < in2) begin
less = in1;
more = in2;
end else begin
less = in2;
more = in1;
end
end
endmodule
\end{lstlisting}
\begin{lstlisting}[language=Verilog,style=VerilogStyle,caption={\code{minmedmax.sv}},label={lst:mediancomb}]
module minmelhmax (
input clk,
input reset,
input [31:0] in1,
input [31:0] in2,
output logic [31:0] result
);
logic [7:0] step1less [0:3];
logic [7:0] step1more [0:3];
logic [7:0] step2less [0:3];
logic [7:0] step2more [0:3];
logic [7:0] median [0:3];
logic [7:0] temp [0:3];
// 1: compare pairs
lessmore s01 (in1[7:0], in1[15:8], step1less[0], step1more[0]);
lessmore s02 (in1[23:16], in1[31:24], step1less[1], step1more[1]);
lessmore s03 (in2[7:0], in2[15:8], step1less[2], step1more[2]);
lessmore s04 (in2[23:16], in2[31:24], step1less[3], step1more[3]);
// 2: 1st step mins to mins, maxes to maxes
lessmore s11 (step1less[0], step1less[1], step2less[0], step2more[0]);
lessmore s12 (step1less[2], step1less[3], step2less[1], step2more[1]);
lessmore s13 (step1more[0], step1more[1], step2less[2], step2more[2]);
lessmore s14 (step1more[2], step1more[3], step2less[3], step2more[3]);
// 3: 2nd step less-maxes, more-mins
lessmore s21 (step2less[2], step2less[3], median[0], median[1]);
lessmore s22 (step2more[0], step2more[1], median[2], median[3]);
// 4: median of four
lessmore s31 (median[0], median[1], temp[1], result[1]);
lessmore s32 (median[2], median[3], result[2], temp[2]);
// 5: max and min of input
lessmore s41 (step2less[0], step2less[1], result[0], temp[0]);
lessmore s42 (step2more[2], step2more[3], temp[3], result[3]);
endmodule
\end{lstlisting}
\lstinputlisting[language=C,style=CCodeStyle,caption={\code{sem.c}},label={lst:sem}]{src/sem.c} \lstinputlisting[language=C,style=CCodeStyle,caption={\code{sem.c}},label={lst:sem}]{src/sem.c}
\end{document} \end{document}

View File

@ -12,18 +12,32 @@
\tableofcontents \tableofcontents
\newpage \newpage
\section{Введение} \section{Введение}
Основы ТВ и МС (случайные величины, непрерывные и дискретные СВ, матожидание, дисперсия, ковариация, корреляция) \subsection{Что нужно знать}
выборка, статистика, гистограмма, смещение \begin{itemize}
несмещённая оценка... \item \textbf{Основы теории вероятностей и математической статистики} (случайные величины, непрерывные и дискретные случайные величины, матожидание, дисперсия, ковариация, корреляция)
\item выборка, статистика, гистограмма, смещение
\item несмещённая оценка, асимптотически несмещённая оценка, состоятельная оценка, дисперсия оценки, коэффициент корреляции Пирсона, коэффициент корреляции Спирмена, нормальное (гауссовское) распределение (одномерное и многомерное), центральная предельная
\item \textbf{основы линейной алгебры}
\begin{itemize}
\item Вектор, операции над векторами и их свойства, векторное пространство, аксиомы векторного пространства, размерность векторного пространства.
\item Линейная зависимость векторов, линейная независимость векторов, методы проверки линейной независимости векторов.
\item Матрица, операции над матрицами, умножение матрицы на вектор, умножение матрицы на матрицу, ранг матрицы, транспонирование матриц, обратная матрица.
\item Система линейных уравнений (СЛУ), число решений СЛУ, ранг матрицы СЛУ и число ее решений.
\item Евклидово пространство, его свойства, норма вектора, ее свойства, метрика, евклидова метрика, скалярное произведение векторов, угол между векторами.
\end{itemize}
\item \textbf{Теория информации} Информационная энтропия (Entropy) мера неопределённости некоторой системы
\item \textbf{Python} Библиотеки: Scikit-Learn, Numpy, Scipy, Pandas, Matplotlib, ...
\end{itemize}
основы линейной алгебры. (матрицы, энтропия, ...) \subsection{Типы задач анализа данных}
\begin{itemize}
\item Визуализация - анализ ситуации, анализ исходной информации, анализ, интерпретация и представление результатов
\item Поиск шаблонов поиск частых наборов - метод ассоциативных правил - market basket analysis
\item прогнозирование - определение нового класса или объекта, которого не было в обучающей выборке
\item кластеризация или сегментация
\end{itemize}
Визуализация - анализ ситуации, анализ исходной информации, анализ, интерпретация и представление результатов \textbf{Этапы решения задачи алгоритмами машинного обучения}
Поиск шаблонов поиск частых наборов - метод ассоциативных правил - market basket analysis
прогнозирование - определение нового класса или объекта, которого не было в обучающей выборке
\textbf{Этапы}
Пример - Скоринг - определение платёжеспособности.
\begin{itemize} \begin{itemize}
\item формальная постановка задачи (кампания по привлечению кредитов, найти модель) \item формальная постановка задачи (кампания по привлечению кредитов, найти модель)
\item данные (признаковое описание -- бинарные, числовые, категориальные, порядковые; матрица расстояний между объектами, временные ряды скалярных или векторных наблюдений, итого 16 прпизнаков) \item данные (признаковое описание -- бинарные, числовые, категориальные, порядковые; матрица расстояний между объектами, временные ряды скалярных или векторных наблюдений, итого 16 прпизнаков)
@ -33,41 +47,698 @@
\item предобработка данных (если клиентов приндалежащих какому-то классу меньше 5\% выборка не сбалансирована) \item предобработка данных (если клиентов приндалежащих какому-то классу меньше 5\% выборка не сбалансирована)
\item реализация, оценка качества \item реализация, оценка качества
\end{itemize} \end{itemize}
Пример -- Скоринг -- определение платёжеспособности.
Работа с несбалансированными выборками
\begin{enumerate} \begin{enumerate}
\item выкинуть лишнее или продублировать недостающее \item \textbf{Постановка задачи}. Проводилась компания по привлечению клиентов для открытия депозита. Цель маркетинговой компании: привлечь клиентов на депозит, предлагая долгосрочные депозитные заявки с высокими процентными ставками, при сокращении затрат и времени на проведение компании: контактов должно быть меньше, но число клиентов, подписавшихся на депозит не должно уменьшаться. Цель исследования: найти модель, которая может объяснить успех компании т. е., если клиент подписывает депозит. Решается задача классификации: по имеющемуся признаковому описанию клиента определить подпишет ли он депозит (успех) и нет (неудача).
\item создать недостающие параметры \item \textbf{Данные задачи}. \textbf{Типы входных данных}: признаковое описание, каждый объект описывается набором числовых или нечисловых признаков; матрица расстояний между объектами (метод ближайших соседей); временные ряды скалярных или векторных наблюдений (сигналы); изображение или видеоряд;
\item изменить веса параметров
\textbf{Признаковое описание} Бинарные признаки $(0, 1)$; Числовые признаки: $x_{ik} \in R$ -- с этими признаками удобно работать, практически любой метод применим к задаче с числовыми признаками; Категориальные признаки $x_{ik} \in \{\alpha_1, ..., \alpha_k\}$ нет метрики, нет упорядочения; Порядковые признаки $x_{ik} \in \{\alpha_1, ..., \alpha_k\}$ есть упорядочение.
\textbf{Входные данные 16 признаков}
\textbf{Общие данные о клиенте}
1 - age (numeric);
2 - job : (categorical: "admin.", "unknown", "unemployed", "management", "housemaid", "entrepreneur", "student", "blue-collar", "self-employed", "retired", "technician", "services")
3 - marital (categorical: "married", "divorced", "single")
4 - education (categorical: "unknown","secondary","primary","tertiary")
\textbf{Финансовое положение}
5 - default: has credit in default? (binary: "yes","no")
6 - balance:, in euros (numeric)
7 - housing: has housing loan? (binary: "yes","no")
8 - loan: has personal loan? (binary: "yes","no")
\textbf{Данные о рекламной компании}
9 - contact: contact communication type (categorical: "unknown","telephone","cellular")
10 - day: last contact day of the month (numeric)
11 - month: last contact month of year (categorical: "jan", "feb", "mar", ..., "nov", "dec")
12 - duration: last contact duration, in seconds (numeric)
13 - campaign: number of contacts performed during this campaign (numerict)
14 - pdays: number of days that passed by after the client was last contacted (numeric)
15 - previous: number of contacts performed before this campaign and for this client (numeric)
16 - poutcome: outcome of the c (categorical: "unknown","other","failure","success")
17 - y - has the client subscribed a term deposit? (binary: "yes","no")
\item \textbf{Предварительная обработка и проверка качества исходных данных}
1. Какова доля объектов первого класса в данных? Если эта доля менее 5\% - имеем несбалансированную выборку.
2.Какова доля выбросов, пропусков в данных? Выбросы могут быть результатом: событий, которые происходят с небольшой вероятностью и большим воздействием, системной ошибки.
\item \textbf{Определение ответа} Варианты ответов: клиент подписывает контракт -- класс 1, клиент не подписывает -- класс 0;
вектор $\{p, 1-p\} = P, p$ --степень уверенности алгоритма (вероятность) в том, что объект принадлежит классу 1 .
\item Выбор критериев: метрики оценивания используемого метода решения должны иметь интерпретацию, значимую для решаемой бизнес-задачи.
\end{enumerate} \end{enumerate}
Метрики \subsection{Работа с несбалансированными выборками}
TP FP FN TN (ошибки первого и второго рода). Метрики для несбалансированных наборов данных: AUC-ROC (площадь под ROC-кривой) , f1-score.
Accuracy = TN + TP / n - метрика сама по себе неприменима. \begin{enumerate}
Precision = TP/TP+FP уровень доверия к положительным ответам модели, доля истинных положительных объектов, выделенных классификатором как положительные \item Удаление части элементов мажоритарного класса (недостаток: потеря данных).
Recall = TP/TP+FN какая часть положительных объектов правильно определена классификатором \item Дополнение миноритарного класса повторяющимися данными (недостаток: переобучение на элементах миноритарного класса).
\item Создание дополнительных искусственных объектов.
\item Настройка классификатора с использованием весов. В контексте кредитования потеря денег из-за незаслуживающего доверия заемщика обходится существенно выше, чем отсутствие возможности кредитования надежного заемщика. Поэтому мы можем назначать этим классам различные веса и отсечки
\end{enumerate}
F - мера (F-score)- гармоническое среднее точности и полноты. F мера обладает важным свойством - она близка к нулю, если хотя бы один из аргументов близок к нулю: F = 2*precision recall precision+recall 0≤ F ≤ 1 Метрики Качества. Пусть имеется два класса 1 -- положительный и 0 -- отрицательный
\begin{itemize}
\item True positive TP объекты, принадлежащие положительному классу $Y_1$, определены алгоритмом как положительные
\[ TP = \{ X_t \in Y_1 | a(X_t, g) = 1 \} \]
\item False positive FP объекты, принадлежащие отрицательному классу $Y_0$ ,определены алгоритмом как положительные
\[ FP = \{ X_t \in Y_0 | a(X_t, g) = 1 \} \]
\item False negative FN объекты, принадлежащие положительному классу $Y_1$ , определены алгоритмом как отрицательные
\[ FN = \{ X_t \in Y_1 | a(X_t, g) = 0 \} \]
\item True negative TN объекты, принадлежащие отрицательному классу $Y_0$ , определены алгоритмом как отрицательные
\[ TN = \{ X_t \in Y_0 | a(X_t, g) = 0 \} \]
\end{itemize}
Ошибка 1 рода (Туре I Error) случается, когда объект ошибочно относится к положительному классу \subsection{Метрики качества оценки алгоритмов машинного обучения}
Ошибка 2 рода (Туре II Error) случается, когда объект ошибочно относится к отрицательному классу \begin{itemize}
\item \textbf{Accuracy} $\frac{TN + TP}{n}$ -- метрика сама по себе неприменима.
\item \textbf{Precision} $\frac{TP}{TP+FP}$ -- уровень доверия к положительным ответам модели, доля истинных положительных объектов, выделенных классификатором как положительные.
\item \textbf{Recall} $\frac{TP}{TP+FN}$ -- какая часть положительных объектов правильно определена классификатором
\item \textbf{F-мера} (F-score) -- гармоническое среднее точности и полноты. F-мера обладает важным свойством -- она близка к нулю, если хотя бы один из аргументов близок к нулю: $F = \frac{2*precision*recall}{precision+recall}, 0\leq F \leq 1$
\item Ошибка 1 рода (Туре I Error) случается, когда объект ошибочно относится к положительному классу
\item Ошибка 2 рода (Туре II Error) случается, когда объект ошибочно относится к отрицательному классу
\end{itemize}
Confusion Matrix \subsection{Confusion Matrix}
TP FP Хорошо подходит для многоклассовой классификации. Классификация в случае двух классов:
FN TN \begin{equation*}
Хорошо подходит для многоклассовой классификации. \begin{pmatrix}
TP & FP \\
FN & TN \\
\end{pmatrix}
\end{equation*}
FP, FN -- число элементов, определённых ложно.
ROC-кривая Многоклассовая классификация, $m$ классов.
Число строк в квадрате справа равно числу единиц, число столбцов - числу нулей. Стартуем из точки (0, 0)(левый нижний угол. Если значение метки класса в просматриваемой строке 1, то делаем шаг вверх; если 0, то делаем шаг вправо, если у нескольких объектов значения оценок равны, то делаем шаг в точку а блоков выше и блоков правее, где а - число единиц, b - число нулей в рассматриваемой группе объектов. Считаем сколько \% покрыто. \begin{itemize}
\item $C = (c_{ij} i = 1, ..., m, j = 1, ..., m)$
\item $c_{ij} = |X_t:X_t \in i|a(X_t, g)= j|$
\item число объектов, принадлежащих классу $i$, отнесённые алгоритмом к классу $j$.
\begin{equation*}
\begin{pmatrix}
10 & 5 & 0 & 0 \\
3 & 12 & 0 & 0 \\
0 & 0 & 14 & 1 \\
0 & 0 & 0 & 15 \\
\end{pmatrix}
\end{equation*}
\end{itemize}
Принятие решений на основе кривой.Для того, чтобы решить, какие объекты отнести к классу 1, а какие к классу 0, нужно будет выбрать некоторый порог (объекты с оценками выше порога относим к классу 1, остальные 0). Выбору порога соответствует выбор точки на ROC-кривой. Здесь для порога 0.25 выбрана точка (1/4,2/3), (табл. 3). \subsection{Отбор признаков}
1/4 - это\% точек класса 0, которые неверно классифицированы алгоритмом (FPR = False Positive Rate), Посчитаем число вариантов признаковых описаний одного клиента. Число значений категориальных и бинарных признаков каждого клиента, не считая возраста, равно
\[N = 12 * 3 * 4 * 8 * 3 * 12 * 4 = 144 * 24 * 48 = 165888.\]
С ростом размера признакового пространства увеличивается сложность задачи и снижается достоверность решения.
\textbf{Шумовые признаки} -- это признаки, которые никак не связаны с целевой переменной. Зашумленность данных означает, что отдельные значимые объясняющие переменные, возможно, не были зарегистрированы или что дефолт произошел случайно.
\textbf{Методы отбора признаков}
\begin{itemize}
\item Обертки -- использующие для отбора признаков конкретную модель. Модель обучается на подмножестве признаков, для нее строится матрица ошибок, затем на другом и т.д.
\item Фильтры -- удаляем коррелированные данные матрица рассеяния, F-тест -- оценивает степень линейной зависимости между признаками и целевой переменной, поэтому он лучше всего подойдёт для линейных моделей. Реализован как \code{f_classif} для классификации; хи-квадрат -- оценивает степень линейной зависимости между признаками и целевой переменной.
\item Встроенные методы -- задача отбора признаков -- побочная задача (случайный лес)
\[ IG = H(S_i) - \frac{|S_{il}|}{|S_i|} H(S_{il}) - \frac{|S_{ir}|}{|S_i|} H(S_{ir}) \to \max \]
\end{itemize}
\textbf{Отбор категориальных признаков}
Значения категориальных признаков могут быть любыми объектами, на которых определена операция сравнения (равно и не равно).
\begin{itemize}
\item \textbf{Lable encoding} -- отображение каждого признака в число позволяет использовать его в модели обучения. Недостатки: неявно задает порядок категории, не может работать с неизвестными в процессе обучения значениями категориального признака
\item \textbf{Onehot coding} -- недостатки: увеличение количества признаков
\item \textbf{Target encoding} -- кодирование с учётом целевой переменной
\[ p_j(x \in X) = \frac{\sum_{i=1}^N[f_j(x\in X) = f_j(x_i)][y_i = 1]}{\sum_{i=1}^N[f_j(x\in X) = f_j(x_i)]} \]
где $p_j(x \in X)$ -- числовое значение $j$-го категориального признака на объекте $x, f_j(x_i)$ -- исходное значение $j$-го категориального признака на объекте $x_i$. Использование счетчиков может привести к переобучению. Модель может опираться на счетчики, если есть уверенность в том, что модель обучена по большому числу объектов. Сглаживание
\[ p_j(x \in X) = \frac{\sum_{i=1}^N[f_j(x\in X) = f_j(x_i)][y_i = 1] + C/N \sum_{i=1}^N[y_i = 1]}{\sum_{i=1}^N[f_j(x\in X) = f_j(x_i)] + C} \]
Если мало объектов этой категории, то числовое значение признака приближается близко к среднему по всей выборке, а для популярных к среднему значению по категории. $p_j(X) \to 1/N \sum_{i=1}^N[y_i = 1]$, если мало объектов в категории.
Значение категориального признака в задаче регрессии
\[ p_j(x \in X) = \frac{\sum_{i=1}^N[f_j(x\in X) = f_j(x_i)]*\ddot{y_i}}{\sum_{i=1}^N[f_j(x\in X) = f_j(x_i)]} \]
$\ddot{y_j}$ -- среднее значение $y_t$ для объектов с категориальным признаком.
\end{itemize}
\subsection{Permutation Importance, Feature selection}
Важность перестановки
\begin{itemize}
\item Случайным образом тасуется один столбец в валидационной выборке. Признак считается значимым, если точность модели сильно падает и вызывает увеличение ошибки и «неважным», если перетасовка его значений не влияет на точность модели.
\item Permutation Importance рассчитывается после обучения модели с использованием библиотеки ELI5. ELI5 -- это библиотека Python, которая позволяет визуализировать и отлаживать различные модели машинного обучения с использованием унифицированного API.
\item Feature selection -- отбор самых важных признаков. Оценка информативности признаков: Вычисление дисперсии: чем больше дисперсия, тем информативнее признак
\[ Var(x_j) = \frac{1}{N}\sum_{i=1}^N(x_{ij} - \overline{x_j})^2\]
Позволяет убирать малоинформативные признаки, недостатки: никак не учитываются значения целевой переменной.
\item Вычисление корреляции между значениями признака и целевой переменной (задача регрессии)
\item Задача классификации: Подсчет процента успешной классификации для каждого из значений признака $p$. По теореме Байеса считаем $P(X_j|Y)$ -- вероятность признака $X_j$, если объект принадлежит положительному классу. Если $P(X_j|Y = 1) > 0,7 \cup P(X_j|Y = 1) < 0,3$, то считаем $X_j$ информативным признаком.
\end{itemize}
\subsection{Отбор признаков по Теореме Байеса}
Теорема Байеса. Пусть $В_1, В_2, ..., В_r$, полная группа событий $А$ -- некоторое событие, вероятность которого связана с $В_i$, тогда
\[ P(B_i|A) = \frac{P(A|B_i)p(B_i)}{P(A)}\],
где $P(A) = \sum_{i=1}^rP(A|B_i)p(B_i)$.По теореме Байеса считаем $P(X_j,Y)$ -- вероятность признака $Х_у$, если объект принадлежит положительному классу. Если $Р(X_j |Y = 1) > 0,7 \cup P(X_j |Y = 1) < 0,3$, то считаем $X_j$, информативным признаком.
Пример. Оценим информативность признаков $x_j$, и $х_r$, по Теореме Байеса:
\begin{equation*}
\begin{gathered}
P(x_y = 1|Y = 1) =1/2
P(x_r = b|Y = 1) =3/16
\end{gathered}
\end{equation*}
\begin{tabular}{||r|c|c||}
\hline
$x_j$ & $X_r$ & $Y$ \\ [0.5ex]
\hline
1 & a & 1 \\
0 & a & 1 \\
1 & b & 1 \\
0 & a & 1 \\
1 & b & 0 \\
1 & b & 0 \\
\hline
\end{tabular}
\subsection{Наивный байесовский классификатор}
$ \mathcal{L} = \{X_t, Y_t\}_{t=1}^{N} $ -- обучающая выборка, $X_j=\left( \begin{array}{c} x_{1j}\\ ...\\ x_{Nj}\end{array} \right)$ -- j-ый признак, $X_k$ -- новый объект.
Предположение. При заданном значении класса $Y_t$ признаки $\dot{X_j}, ..., \dot{X_j}$ независимые.
\[P(X_j|Y, X_1, ..., X_{j-1}, X_{j+1},...X_r)=P(X_j|Y) \]
Применим теорему Байеса.
\[P(Y|X_1,...,X_r)=\frac{P(X_1,...X_r|Y)P(Y)}{P(X_1,...X_r)}\]
в силу независимости признаков:
\[P(Y|X_1,...,X_r)=\frac{\prod_{j=1}^rP(X_j|Y)P(Y)}{P(X_1,...X_r)}\]
\[Y\rightarrow\underbrace{argmax}_Y\prod_{j=1}^rP(X_j|Y)P(Y)\]
Найти класс объекта $X_k$. имеющего признаковое описание $(0,b)$. $P(Y=1|0,b)=?$, $P(Y=0|0,b)=?$
\begin{tabular}{||r|c|c||}
\hline
$x_j$ & $X_r$ & $Y$ \\ [0.5ex]
\hline
1 & a & 1 \\
0 & a & 1 \\
1 & b & 1 \\
0 & a & 1 \\
1 & b & 0 \\
1 & b & 0 \\
\hline
\end{tabular}
\subsection{ROC-кривая}
Число строк в квадрате справа равно числу единиц, число столбцов -- числу нулей. Стартуем из точки (0, 0)(левый нижний угол. Если значение метки класса в просматриваемой строке 1, то делаем шаг вверх; если 0, то делаем шаг вправо, если у нескольких объектов значения оценок равны, то делаем шаг в точку \textbf{а} блоков выше и \textbf{b} блоков правее, где \textbf{а} -- число единиц, \textbf{b} -- число нулей в рассматриваемой группе объектов.
Считаем сколько \% покрыто.
\begin{figure}[H]
\centering
\fontsize{14}{1}\selectfont
\includesvg[scale=1.01]{pics/04-bdisdt-00-roc.svg}
\end{figure}
$a(X_i,w)=[\langle w,X_i\rangle >t]$, где $t$ -- порог, оценка $\sum_{j=1}^m\omega_jx_{ij}$. $TPR=\frac{TP}{TP+FN}$, доля правильно определенных объектов положительного класса $FPR=\frac{FP}{FP+TN}$ доля неправильно определенных объектов положительного класса. Число строк в прямоугольнике равно \textbf{числу единиц}, число столбцов \textbf{числу нулей} вектора \textbf{$Y_i$}. Идем из точки (0, 0)(левый нижний угол). Если \textbf{$Y_i=1$} то шаг вверх; если 0, то шаг вправо. Если у нескольких объектов значения оценок равны, то делаем шаг в точку на $a$ блоков выше и $b$ блоков правее, где $a$ число единиц, $b$ число нулей.
\begin{tabular}{||r|c|c||}
\hline
$i$ & оценка &$Y_i$ \\ [0.5ex]
\hline
1 & 0.5 & 0 \\
2 & -0.1 & 0 \\
3 & 0.1 & 0 \\
4 & 0.6 & 1 \\
5 & 0.1 & 1 \\
6 & 0.3 & 1 \\
7 & -0.2 & 0 \\
\hline
\end{tabular}
\begin{tabular}{||r|c|c||}
\hline
$i$ & оценка &$Y_i$ \\ [0.5ex]
\hline
4 & 0.6 & 1 \\
1 & 0.5 & 0 \\
6 & 0.3 & 1 \\
3 & 0.1 & 0 \\
5 & 0.1 & 1 \\
2 & -0.1 & 0 \\
7 & -0.2 & 0 \\
\hline
\end{tabular}
\textbf{Принятие решений на основе кривой.} Для того, чтобы решить, какие объекты отнести к классу 1, а какие к классу 0, нужно будет выбрать некоторый порог (объекты с оценками выше порога относим к классу 1, остальные -- 0). Выбору порога соответствует выбор точки на ROC-кривой. Здесь для порога $0.25$ выбрана точка (1/4,2/3).
В случае бинарных ответов ROC-кривая состоит из трёх точек, соединёнными линиями: $(0,0)$, $(FPR, TPR)$, $(1, 1)$, где FPR и TPR соответствуют любому порогу из интервала $(0, 1)$. На рисунке зелёным показана ROCкривая бинаризованногорешения, AUC ROC после бинаризации уменьшилась и стала равна $8.5/12 \sim 0.71$. Формула для вычисления AUC ROC для бинарного решения:
\[\frac{TPR+FPR}{2}+TPR(1-FPR)+\frac{(1-FPR)(1-TPR}{2}=\frac{1+^2TPR-FPR}{2}\]
Площадь под ROC кривой оценивает качество ранжирования объектов. Индекс $\text{Джини}=2*S_{AUCROC}-1$
\begin{tabular}{||r|c|c||}
\hline
id & $>0.25$ & класс \\ [0.5ex]
\hline
4 & 1 & 1 \\
1 & 1 & 0 \\
6 & 1 & 1 \\
3 & 0 & 0 \\
5 & 0 & 1 \\
2 & 0 & 0 \\
7 & 0 & 0 \\
\hline
\end{tabular}
1/4 - это \% точек класса 0, которые неверно классифицированы алгоритмом (FPR = False Positive Rate),
2/3 - \% точек класса 1, верно классифицированых алгоритмом (TPR = True Positive Rate). 2/3 - \% точек класса 1, верно классифицированых алгоритмом (TPR = True Positive Rate).
Отбор признаков Качество ROC-кривой напрямую зависит от объёма выборки и количества признаков. С её помощью можно оченить информативность признаков (отобрать признаки).
Могут быть зашумлены
Методы: обёртки, фильтры, внутренние методы. \subsection{Площадь под ROC-кривой, AUC-ROC}
\textbf{AUC ROC} оценивает качество упорядочивания алгоритмом объектов двух классов, (например, по вероятности принадлежности объекта к классу 1). Ее значение лежит на отрезке [0, 1]. В рассматриваемом примере $AUC ROC = 9.5 / 12 \sim 0.79$.
На рисунке слева приведены случаи идеального, наихудшего и обратимого следования меток в упорядоченной таблице. Идеальному соответствует ROC-кривая, проходящая через точку $(0, 1)$, площадь под ней равна $1$. Если ROC кривая, проходит через точку $(1, 0)$, площадь под ней -- 0, в этом случае в результата инвертирования можно получить неплохую модель. Случайному -- что-то похожее на диагональ квадрата,площадь примерно равна $0.5$.
\textbf{Индекс $\text{Джини}=2*S_{AUCROC}-1$}
\begin{itemize}
\item Показатель AUC ROC предназначен скорее для сравнительного анализа нескольких моделей;
\item Его не имеет смысла использовать на коротких выборках
\item Высокий AUC ROC может существовать и в очень плохих моделях. Пример.
\end{itemize}
\begin{figure}[H]
\centering
\includegraphics[width=100mm]{04-bdaisdt-00-roc-bad.png}
\end{figure}
AUC ROC можно использовать для отбора признаков:
\begin{itemize}
\item Строим таблицу
\item Упорядочиваем по убыванию
\item Считаем AUC ROC
\end{itemize}
\subsection{Precision-recall кривая}
По оси абсцисс -- recall, по оси ординат -- precision. Критерий качества -- площадь под PR-кривой (AUC-PR).
$precision=\frac{TP}{TP+FP}, recall=\frac{TP}{TP+FN}; t_{min} precision=?, recall=1$ Качество оценки площади PR-кривой зависит от объёма выборки при разной пропорции классов: при малых объемах выборки отклонения от среднего увеличиваются.
\subsection{Тестирование модели}
Обучающая выборка делится на 3 части: На обучающей выборке происходит обучение алгоритма. На валидационной выбираются гиперпараметры. На тестовой выборке никакие параметры не меняются. $60-70 \%$ -- обучение, $40\%-30\%$ -- валидационная и тестовая выборки.
\begin{itemize}
\item ошибка обучения = доля неверно классифицированных обучающих примеров;
\item ошибка теста = доля ошибочно классифицированных тестовых примеров на валидационной выборке;
\item ошибка обобщения = вероятность неправильной классификации новых случайный примеров.
\end{itemize}
\subsection{Оценка}
Оценивание методов обычно проводится, относительно следцющих характеристик: скорость, робастность, интерпретируемость, надёжность.
\begin{itemize}
\item Скорость -- время которое требуется на создание модели и её использование
\item Робастность -- устойчивость к отклонениям от исходных предпосылок метода, например, возможность работы с зашумленными данными, пропущенными значениями в данных, нарушениями предположений о распределении и пр.
\item Интерпретируемость -- обеспечивает возможность понимания модели аналитиком предметной области.
\end{itemize}
Пусть для решения применили методы: деревья решений; байесовская классификация, метод ближайшего соседа; логистическая регрессия; метод опорных векторов. Можно ли сравнить их по вышеперечисленным характеристикам?
\subsection{Постановка задачи классификации}
Пусть $X_t\subset X$ -- объект множества $X$ c набором характеристик $(x_{t1},x_{t2},...,x_{tn})$, \textbf{Y} -- множество классов, к которым принадлежать объекты множества \textbf{X}.
$\{X_t, Y_t\}^N_{t=1}$ -- обучающая выборка, для которой в подмножестве объектов $X_t\subset X$ известны ответы $Y_t$. Требуется построить алгоритм $a:X \to Y$, который определяет ответы $Y_t$ для любого объекта $X_t$, не принадлежащего обучающей выборке $\mathcal{L} = \{X_t, Y_t\}^N_{t=1}$.
\begin{itemize}
\item По числу классов различают двухклассовую классификацию: множество классов $Y=\{-1,1\}$ или $Y=\{0,1\}$ и многоклассовую классификацию $Y=\{1, 2, ..., m\}$.
\item Множество «ответов» (классов) задается либо числом (обозначение класса), либо вектором $\{p_1,p_2,...P_m\}$, где $P_i$ - верность или степень уверенности применяемого алгоритма, что выбранный объект принадлежит классу $i, i = 1, 2, ..., m, \sum^m_{i=1}p_i = 1$.
\item Алгоритм $a(Xt)$ отображает объект $X_t$ на вектор ответов $a:(X_t, g)\to \bigg\{0,...,\underbrace{1}_i,...,0\bigg\}$, где $i$ -- номер класса, определенного алгоритмом для объекта $X_t$, или $a:(X_t, g)\to\{p_1, p_2, ..., p_m\}$, где $p_i$ -- вероятность класса, $g$ -- вектор гиперпараметров.
\item Классы могут пересекаться: рассматривают задачи с непересекающимися и пересекающимися классами: объект может относиться одновременно к нескольким классам. $Y=\{0, 1\}^M$, Пусть $M = 3$, тогда $Y = \{ 0, 1\}\times\{0,1\}\times\{0,1\}$ и результат $Y=\{1\}\times\{1\}\times\{0\}$ означает, что классифицируемый объект принадлежит первому и второму классам.
\end{itemize}
\subsection{Бинарная классификация линейной функцией}
Задача бинарной классификации -- разделение объектов множества $X$ на два класса. Пусть $\{X_i, Y_i\}^l_{i-1}$, где $X_i\in R^r,Y_i\in\{-1,1\}$, обучающая выборка. Линейная модель или алгоритм классификации:
\[ a(X_i,w)=w_0+\sum^m_{j=1}w_jx_{ij}=sign(\langle w,X_i\rangle+w_0) \]
где $j$ -- номер признака объекта, $m$ -- число признаков. Если считать, что все рассматриваемые объекты имеют постоянный первый признак равный 1, то
\[ a(X_i, w)=w_0+\sum^m_{j=1}w_jx_ij=\text{sign}(\langle w,X_i\rangle+w_0)\]
Алгоритм -- гиперплоскость в пространстве признаков с нормалью $||w||$ и расстоянием $a(x_i)$ до точки $x_i, \langle w, x_i\rangle$ -- скалярное произведение, величина которого пропорциональна расстоянию от разделяющей гиперплоскости $\langle w, x\rangle=0$ до $x_i$.
Если признаковое пространство может быть разделено гиперплоскостью на два полупространства, в каждом из которых находятся только объекты одного из двух классов, то обучающая выборка называется линейно разделимой.
\subsection{Метрики. Оценка качества работы алгоритма}
Обучение линейного классификатора заключается в поиске вектора весов $w$, на котором достигается минимум заданного функционала качества. Примеры:
\begin{enumerate}
\item Функция потерь:
\begin{equation*}
\begin{gathered}
L(a(x))=\frac{1}{l}\sum^l_{i=1}[sign(\langle w,X_i\rangle)\neq Y_i]\to min\\
L(a(x))=\frac{1}{l}\sum^l_{i=1}[sign(\langle w,X_i\rangle)*Y_i<0]\to min
\end{gathered}
\end{equation*}
используется в задаче классификации. Величина $M_i=\langle w,X_i\rangle)*Y_i$ называется отступом объекта $X_i$, она равна расстоянию от объекта до разделяющей гиперплоскости $(x,w)=0$
\[L(a(x))=\frac{1}{l}\sum^l_{i=1}[M_i<0]=L(M)\rightarrow min\]
Обозначение:
\begin{equation*}
[a(x_i)\neq y_i]=
\begin{cases}
1,if a(x_i)\neq y_itrue\\
0,if a(x_i)=y_ifalse
\end{cases}
\end{equation*}
\item Среднеквадратичная ошибка (mean squared error, MSE):
\[ L(a(x))=\frac{1}{l}\sum^l_{i=1}(a(X_i-Y_i))^2\to min \]
используется в задаче регрессии.
\end{enumerate}
\subsection{Верхняя оценка пороговой функции потерь}
Оценим функцию $L(M_i)$ сверху во всех точках $M L (M)=log(1+e^{-M}))$. Кусочно -- линейная функция потерь $\tilde{L}(M)=(1-M)^+=max(0,1-M)$. Экспоненциальная функция потерь $\tilde{L}(M)=EXP(-M)$. Квадратичная функция потерь $\tilde{L}(M)=M^2$.
Особенность оценочных функций в том, что они по значению больше, либо равны исходной пороговой. Следовательно, минимизация приводит к минимизации потерь и для пороговой функции.
\subsection{Задача классификации. Метод логистической регрессии}
Рассматриваем бинарную классификацию $Y={1,-1}$, хотим построить модель, которая выдает не номер класса, а вероятность принадлежности объекта к классу. Бинарная логистическая регрессия предсказывает вероятность того, что модель принадлежит к положительному классу. Будем говорить, что модель корректно предсказывает вероятности, если среди множества объектов, для которых модель предсказала вероятность $p$, доля положительных равна $p$.
Критерий $\sum^N_{i=1}\log(1+\exp(-Y_i\langle X_i,w\rangle)\to \underbrace{\min}_w$
\subsection{Классификация методом логистической регрессии}
Постановка задачи (требование к модели). Задача заключается в том, чтобы найти алгоритм $a(x)$, такой, что
\[arg\underset{b}{min}\frac{1}{l}\sum^l_{i=1}L(a(x),y)\approx p(y=+1|x)\approx \frac{1}{N}\sum^N_{i=1}y_i=1,\]
Если задача решена (мы корректно оценили вероятности), тогда при $l\to\infty$ получаем:
\[arg\underset{b}{min} EL(a(x),y)=p(y=+1|x),\]
где
\[EL(a(x),y)=p(y=+1|x)*L(a(x),1)+p(y=-1|x)*L(a(x),-1).\]
\subsection{Преобразование ответа линейной модели}
$\langle X_i,w\rangle \to \sigma(\langle X_i,w\rangle)=\frac{1}{1+exp(-\langle X_i,w\rangle)}\in[0,1]$, это преобразование сохраняет монотонность: если $z_1\leq z_2\to \sigma(z_1)\leq\sigma(z_2).$ Клаccификатор логистической регресии имеет вид:
\[b(\langle X_i,w\rangle)=\sigma(\langle X_i,w\rangle)\]
\subsection{Обучение модели}
\begin{itemize}
\item Eсли $Y_i=1$, то $\sigma(\langle X_i,w\rangle)\to 1$
\item Если $Y_i=-1$, то $\sigma(\langle X_i,w\rangle)\to 0$
\item Если $\sigma(\langle X_i,w\rangle)\to 0$ то алгоритм уверен, что правильный ответ 0
\item Если $\sigma(\langle X_i,w\rangle)\to 1$ то алгоритм уверен в положительном ответе
\end{itemize}
Как это сделать??
\begin{itemize}
\item Если $Y_i=1$, то $\sigma(\langle X_i,w\rangle)\to1,\langle X_i,w\rangle\to\infty$
\item Если $Y_i=-1$, то $\sigma(\langle X_i,w\rangle)\to0,\langle X_i,w\rangle\to -\infty$
\end{itemize}
Нужно максимизировать абсолютную величину отступа
\[Y_i\langle X_i,w\rangle\to \underbrace{\max}_w\]
\subsection{Выбор критерия}
Нужно: $Y_i\langle X_i,w\rangle\to \underbrace{\max}_w$, Проанализируем $\sigma(\langle X_i,w\rangle)=\frac{1}{1+exp(-\langle X_i,w\rangle)}$
\[-\sum^N_{i=1}\left\{[Y_i=1]\sigma(\langle X_i,w\rangle)+[Y_i=-1](1-\sigma(\langle X_i,w\rangle)\right\}\to\underbrace{\min}_w\]
Этот критерий плохо штрафует за ошибки, если алгоритм уверен в своем ошибочном объекте. Изменим критерий
\[-\sum^N_{i=1}\left\{[Y_i=1]log(\sigma(\langle X_i,w\rangle))+[Y_i=-1]log((1-\sigma(\langle X_i,w\rangle))\right\}\to\underbrace{\min}_w\]
log-loss $L(Y,z)=[Y=1]\log z+[y=-1]\log(1-z))$. Как изменится штраф? После несложных преобразований получим наш исходный критерий: $\sum^N_{i=1}log(1+exp(-Y_i\langle X_i,w\rangle))\to\underbrace{\min}_w$.
\subsection{Преобразование критерия}
\begin{equation*}
\begin{gathered}
-\sum^N_{i=1}\left\{[Y_i=1]\log(\sigma(\langle X_i,w\rangle))+[Y_i=-1]\log((1-\sigma(\langle X_i,w\rangle))\right\}=\\
-\sum^N_{i=1}\left\{[Y_i=1]\log\left(\frac{1}{1+exp(-\langle X_i,w\rangle)}\right)+[Y_i=-1]\log\left(1-\frac{1}{1+exp(-\langle X_i,w\rangle)}\right)\right\}=\\
\sum^N_{i=1}\left\{[Y_i=1]\log(1+\exp(-\langle X_i,w\rangle))-[Y_i=-1]\log\left(1-\frac{\exp(-\langle X_i,w\rangle)}{1+\exp(-\langle X_i,w\rangle)}\right)\right\}=\\
\sum^N_{i=1}\left\{[Y_i=1]\log(1+\exp(-\langle X_i,w\rangle))-[Y_i=-1]\log\left(1-\frac{1}{1+\exp(\langle X_i,w\rangle)}\right)\right\}=\\
\sum^N_{i=1}\left\{\log(1+\exp(-Y_i\langle X_i,w\rangle)\right\}=
\end{gathered}
\end{equation*}
\section{Решаемые задачи}
\[ [a(x_i)\neq y_i] =
\begin{cases}
1, if a(x_i) \neq y_i\\
0, if a(x_i) = y_i
\end{cases}
\]
$a(x_i)$ -- алгоритм обучения. Если применить алгоритм -- получим результат классификации $x_i$, сравниваемый с $y_i$.
\begin{multicols}{2}
\textbf{Классификация}
Линейный классификатор:
$a(x_i)=sign(\sum^r_{j-1}w_jf_{ij}+w_0) \to y_i$
Пороговая функция потерь алгоритма
$L(Y_i,a)=\frac{1}{l}\sum^l_{i=1}[(w,x_i)*y_i<0]\leq \tilde{L}(M)$
Метод обучения-минимизация эмпирического риска:
$L(Y_i,a)=\frac{1}{l}\sum^l_{i=1}[(w,x_i)*y_i<0]\leq \tilde{L}(M)\to \underset{w}{min}$
Мера качества: число неправильных классификаций
$Q(x,a)=\frac{1}{l}\sum^l_{i=1}[a(x_i)\neq y_i]$
\columnbreak
\textbf{Прогнозирование}
Линейная регрессия-прогноз
$a(x_i)=\sum^r_{j-1}w_jf_{ij}+w_0 \to y_i$, модель прогнозирования
Функция потерь алгоритма:
$L(a,y)=(a(X_i)-y_i)^2$
Методы обучения: наименьших квадратов; градиентного спуска:
$L(a,y)=\frac{1}{l}\sum_{i=1}^l(a(x_i))-y_i)^2\to \underset{w}{min}$
Мера качества. Средняя квадратичная ошибка (MSE):
$Q(a,x)=\frac{1}{l}\sum^l_{i=1}(a(x_i)-y_i)^2$
\end{multicols}
\subsection{Задача классификации. Метод логистической регрессии.}
Рассматриваем бинарную классификацию $Y = \{1, -1\}$, хотим построить модель, которая выдает не номер класса, а вероятность принадлежности объекта к классу. Бинарная логистическая регрессия предсказывает вероятность того, что модель принадлежит к положительному классу.
Будем говорить, что модель корректно предсказывает вероятности, если среди множества объектов, для которых модель предсказала вероятность $p$, доля положительных равна $p$.
Критерий $\sum_{i=1}^N \log(1+\exp(-Y_i\langle X_i, w\rangle) \to \underset{w}{min})$\footnote{Треугольные скобки означают скалярное произведение, абсолютную величину отступа}.
\section{Регрессия}
\subsection{Постановка задачи}
Пусть значение целевой переменной $Y\in R$ для входного вектора $X=\left\{X_1,X_2,...,X_n,..\right\}$ определяется значением детерминированной функции $g(X,w)$ с аддитивным гауссовым шумом:
\[Y=g(X,w)+\xi, \xi~N(0,\sigma^2)\]
Тогда
\[P(Y|X,w,\sigma^2)~N(g(X,w),\sigma^2)\]
Требуется построить функцию $g$: $(X,w)\implies R$ Вид функции $g$ мы задаем, веса $\omega$ определяются в процессе обучения.
\subsection{Модель прогнозирования}
Если линейно-зависимые столбцы мы не можем регрессировать. Разность между модельным и реальным называется разностью. Можно построить график разностей. Если они примерно однородны -- это линейные остатки. Если остатки не переходят в другие области такого графика -- это называется гомоскедастичность.
Пусть объект прогнозирования описывается формулой:
\[y_i=\sum^r_{j=1}(w_jx_ij+w_0)+\xi_i,\]
где:
\begin{enumerate}
\item Регрессоры (признаки) $x_{i1},...,x_{ir}$, не являются случайными величинами.
\item Столбцы $X,...,X_r$ - линейно независимы.
\item Последовательность ошибок удовлетворяет условиям («белый шум»):
\[E\xi_i=,Var(\xi_i)=\sigma^2_\xi, cov(\xi_i,\xi_j)=0, i\neq j\]
\end{enumerate}
Ошибки некоррелированыи гомоскедастичны. Если величины $\xi_i, i=1, 2, ..., n$,распределены по нормальному закону, то модель называется \textbf{Нормальной регрессионной моделью}.
По результатам наблюдений признаков требуется найти значения $w$, которые лучше всего объясняли бы $y_i$, т.е отклонение $\sum^l_{i=1}(y_i-a(x_i))^2$ было бы минимальными для всех возможных значений $(x_i, y_i), i=1, 2, ..., l$.
\subsection{Теорема Гаусса -Маркова}
При выполнении предположений 1-3 для модели
\[y_i=\sum^r_{j=1}(w_jx_{ij}+w_0)+\xi_i,\]
оценки $w_j$ полученные методом наименьших квадратов, имеют наименьшую дисперсию в классе всех линейных несмещенных оценок. Формула МНК: $W=(X^TX)^{-1}X^TY$. Сложность обращения матрицы $r^3$. Если столбцы линейно зависимы, то определитель матрицы $X$ равен 0.
\subsection{Регуляризация}
Если матрица $X$ -- вырожденная, то $(X^TX)$ -- не является обратимой, функционал $Q(a,x)=\frac{1}{l}\sum^l_{i=1}(\langle w,x_i\rangle-y_I)^2\to min$ может иметь бесконечное число решений и очень большие веса $w$. Тогда применяют регуляризацию -- минимизируют функционал
\[Q(a,x)=\frac{1}{l}\sum^l_{i=1}(\langle w,x_i\rangle-y_I)^2\to min\]
\begin{itemize}
\item $\sum|w|<\alpha$ Лассо-регрессия
\item $Q(a,x)=\frac{1}{l}\sum^l_{i=1}(\langle w,x_i\rangle-y_I)^2+\gamma||w||^2\to min$ Ридж-регрессия
\end{itemize}
Решение задачи регуляризации имеет вид:
\begin{itemize}
\item $w=(X^TX+\gamma w)^{-1}X^TY.$ Лассо-регрессия может привести к обнулению отдельных переменных
\item $w=(X^TX+\gamma E_n)^{-1}X^TY.$ Ридж-регрессия
\end{itemize}
Параметр $\gamma$ называется гипер-параметром.
\subsection{Стандартизация данных}
Признаки $x_i=\left\{f_{i1},f_{i2},...,f_{ir}\right\}$ объекта $х$ могут иметь различный физический смысл и размерности, поэтому коэффициент $w$, $у$ признака, принимающего большие значения, может принимать маленькие значения, не соответствующие важности признака. Поэтому для повышения способности модели к интерпретации следует выполнять стандартизацию признаков:
\[\hat{f_{ij}}=\frac{(f_{ij}-\bar{f_j})}{\sigma_j}, j = 1, 2, ..., r\]
где $\bar{f_j}=\frac{1}{l}\sum^l_{i=1}f_{ij}$ выборочное среднее, а $\sigma_j=\frac{1}{l}\sum^l_{i=1}(f_{ij}-\bar{f_j})^2$ выборочное средне-квадратичное отклонение.
\subsection{Регуляризация в логистической регрессии}
Логистическая функция потерь:
\[\tilde{D}(M)=log(1+e^{-M}),\] где \[M=y_i(\langle w,x_i\rangle+w_0)\] -- margin (отступ) объекта. Минимизация эмпирического риска:
\begin{itemize}
\item $\frac{1}{l}\sum^l_{i=1}\log(1+e^{-y_i\langle w,x_i\rangle})\to min$ -- без регуляризации
\item $\frac{1}{l}\sum^l_{i=1}\log(1+e^{-y_i\langle w,x_i\rangle})+C||w||_2\to \underbrace{\min}_{C,w}$ -- с регуляризацией по норме $L_2$
\item $\frac{1}{l}\sum^l_{i=1}\log(1+e^{-y_i\langle w,x_i\rangle})+C||w||_1\to \underbrace{\min}_{C,w}$ -- с регуляризацией по норме $L_1$
\end{itemize}
\subsection{Меры качества прогнозирования }
\begin{enumerate}
\item Средняя квадратичная ошибка $Q(a,x)=MSE=\frac{1}{l}\sum^l_{i=1}(a(x_i)-y_i)^2$
\item Корень из среднеквадратичной ошибки (root mean squared error, RMSE): $RMSE=\sqrt{\frac{1}{l}\sum^l_{i=1}(a(x_i)-y_i)^2}$
\item коэффициент R2 или коэффициент детерминации: $R^2=1-\frac{\sum^l_{i=1}(a(x_i)-y_i)^2}{\sum^l_{i=1}(y_i-\bar{y})^2}$ где $\bar{y}=\sum^l_{i=1}y_i, \sum^l_{i=1}(a(x_i)-y_i)^2$ доля дисперсии объясняемая моделью.
\item Среднее абсолютное отклонение (mean absolute error, MAE): $MAE(a,x)=\frac{1}{l}\sum^l_{i=1}\lceil y_i-a(x_i)\rceil$
\end{enumerate}
\subsection {Критерии Акаике и Шварца}
Критерий Акаике:
\[AIC=\widehat{\ln \sigma_r}^2+2\frac{r}{l}\]
Критерий Шварца:
\[AIC=\widehat{\ln \sigma_r}^2+\frac{r\ln l}{l}\]
строго состоятельны.
\[\hat{\sigma}^2_r=\sum^n_{j=m+1}\xi^2_j/(l-r)\]
-- дисперсия ошибки, r -- число признаков. Оптимальная модель имеет минимальное значение критерия. Использование информационных критериев для построения модели:
\begin{itemize}
\item Построить все возможные варианты регрессионной модели, удовлетворяющие критериям (см пред лекцию)
\item Наилучшая модель должна иметь минимальные значения критериев Акаикеи Шварца.
\end{itemize}
\subsection {Меры качества прогнозирования}
Скорректированный Коэффициент детерминации $R^2_{adj}=R^2-\frac{r}{l-r}(1-R^2)$. Выбор признаков: если в модель не будет включена переменная, которая должна быть там, то
\begin{enumerate}
\item Уменьшается возможность правильной оценки и интерпретации уравнения
\item Оценки коэффициентов могут оказаться смещенными
\item Стандартные ошибки коэффициентов и соответствующие t-статистики в целом становятся некорректными.
\end{enumerate}
\textbf{Четыре критерия для включения переменной}
\begin{enumerate}
\item Роль переменной в уравнении опирается на прочные теоретические основания
\item Высокие значения t-статистики $t_{stat}=\frac{w-\bar{w}}{\sigma_w\sqrt{l}}$
\item Исправленный коэффициент детерминации растет при включении переменной
\item Другие коэффициенты испытывают значительное смещение при включении новой переменной
\end{enumerate}
\subsection {Пример решения задачи регрессии с ис}
\section{Линейная регрессия}
$g(X_i,w)=\sum^r_{j=1}(w_jx_{ij}+w_0)\rightarrow Y_i$ , модель прогнозирования, $X_i-r$–мерный вектор
Функция потерь алгоритма: $L(a,y)=(g(X_i,w)-Y_i)^2$
Методы обучения: наименьших квадратов; градиентного спуска:
$$L(a,y)=\frac{1}{l}\sum^l_{i=1}(g(X_i,w)-Y_i)^2\rightarrow min \underset{w}{min}$$
Мера качества. Средняя квадратичная ошибка (MSE): $Q(a,x)=\frac{1}{l}\sum^l_{i=1}(g(X_i,w)-Y_i)^2$
% lgrebenuk12@yandex.ru
\begin{equation*}
\begin{gathered}
R^2 = 1-\frac{\sum_{i=1}^l(a(x_i)-y_i)}{\sum_{i=1}^l(y_i-\overline{y})^2}\\
\overline{y} = \frac{1}{n}\sum y_i\\
MSE = \frac{1}{n}\sum_{i=1}^n(y_i - \overline{y})^2 = \sigma^2_r
\end{gathered}
\end{equation*}
числитель -- среднеквадратичная ошибка, знаменатель -- простое среднее. Хорошая модель - где ошибка классификатора минимальна. r - число регрессоров. В модель нежелательно включать лишние регрессоры (штрафы по критериям акаике и шварца).
Критерии для включения переменной
\begin{enumerate}
\item Роль переменной в уравнении опирается на прочные теоретические основания
\item высокие значения t-статистики $t_{stat} = \frac{\omega-\overline{\omega}}{\sigma_\omega\sqrt{l}}$
\item исправленный коэффициент детерминации растёт при включении лишней переменной
\item другие коэффициенты испытывают значительное смещение при включении лишней новой переменной
\end{enumerate}
\begin{equation*}
\begin{gathered}
y = \omega x + \omega_0 = \tilde{\omega{x}} \to \frac{1}{1-e^{-\omega x}} = \sigma\\
x = (x_1, ..., x_K 1)
\end{gathered}
\end{equation*}
регрессия выдаёт вероятности. Алгоритм максимизирует отступ классификатора (расстояние до ближайшего объекта).
\subsubsection {Нелинейная регрессия. Базисные функции.}
\[g(X,w)\sum^p_{j=1}w_j\varphi_j(X)+w_0=\sum^p_{j=0}w_j\varphi_j(X),\varphi_0(X)=1'\]
Число базисных функций может отличаться от числа признаков $j$.
\subsection{Линейно разделимый случай}
Мы можем найти такие параметры, при которых классификатор не допускает ни одной ошибки
Отступ классификатора
...
Вычисление ширины разделяющей полосы классификатора
...
Метод опорных векторов
\section{Домашнее задание}
\section{Задания на РК}
В таблице показаны прогнозы, сделанные по двум регрессионным моделям. Для каждой модели рассчитайте сумму квадратов ошибки и оцените качество моделей.
\begin{table}[H]
\centering
\begin{tabular}{||r|c|c||}
\hline
f1 & f2 & fact \\ [0.5ex]
\hline\hline
2.623 & 2.664 & 2.691 \\
2.423 & 2.436 & 2.367 \\
2.423 & 2.399 & 2.412 \\
2.448 & 2.447 & 2.440 \\
2.762 & 2.847 & 2.693 \\
2.435 & 2.411 & 2.493 \\
2.519 & 2.516 & 2.598 \\
2.772 & 2.870 & 2.814 \\
2.601 & 2.586 & 2.583 \\
2.422 & 2.414 & 2.485 \\
\hline
\end{tabular}
\end{table}
\[MSE_1 = \frac{1}{N}\sum_{i=1}^N(f_i-f1_i)^2\]
\section{Решающие деревья, случайный лес}
Дерево -- это ациклический граф.
Решающие деревья -- это инструмент построения логических алгоритмов для решения задач классификации и регрессии. В отличие от линейных алгоритмов позволяет восстанавливать нелинейные зависимости произвольной сложности.
Алгоритм обучения, на вход которого поступает обучающая выборка $(X, Y) = (x_i,y_i)_{i=1}-1^l$, строит решающее дерево, которое представляет собой связный ациклический граф, включающий:
\begin{itemize}
\item набор вершин двух типов вершин: внутренних и листовых;
\item набор правил перехода из внутренних вершин в листовые и внутренние;
\item набор правил останова- прекращения обучения.
\end{itemize}
После окончания процесса обучения для каждого объекта $x \in (X,Y)$ определяется класс или вектор степени уверенности алгоритма в выборе каждого класса в случае решения задачи классификации;
\subsection{Параметры алгоритма обучения}
квадратные скобки -- это предикаты -- если да, идём налево в дереве, если нет -- направо.
\subsection{Энтропия}
Энтропия -- это уровень неопределённости относительно реализации случайной величины $H = -\sum_{i=1}^k p_i \log_2p_i$.
\subsection{Критерии качества разбиения}
\textbf{IG -- information gain}
Вместо IG можно рассматривать взвешенный энтропийный критерий, Критерий джини, критерий в задачах в регрессии.
\subsection{Листовые вершины}
В каждой листовой вершине дерево будет выдавать константу или вектор вероятностей.
\end{document} \end{document}

View File

@ -0,0 +1,350 @@
\documentclass{article}
\input{settings/common-preamble}
\input{settings/bmstu-preamble}
\input{settings/fancy-listings-preamble}
\author{Оганов Владимир Игоревич}
\title{Разработка сложных электронных устройств}
\date{2023-02-08}
\usetikzlibrary{math}
\tikzmath{
function sinc(\x) {
if abs(\x) < .001 then { % (|x| < .001) ~ (x = 0)
return 1;
} else {
return sin(\x r)/\x;
};
};
}
\begin{document}
\sloppy
\fontsize{14}{18}\selectfont
\maketitle
\tableofcontents
\newpage
Характеристики цепей
Преобразования сигнала
\section{Введение}
Электроника базируется на физике. Разделы физики -- электричество в металлах, в полупроводниках и электромагнитные поля\footnote{\href{https://ru.wikipedia.org/wiki/Правила_Киргофа}{Киргоф}, \href{https://ru.wikipedia.org/wiki/Закон_Ома}{Ом}}. Упрощают моделирование сложных систем, предоставляют математический аппарат.
Сложное электронное устройство: Если получается большая схема -- это признак неправильно решённой задачи. Каждая лишняя деталь -- источник шумов, погрешностей, итд. компенсация порождает лавинный эффект. Проектирование сложных цифровых устройств -- это проектирование цифровых устройств \textit{как можно проще}. Электронное устройство не работает само по себе, а всегда в связке с окружающим миром и физическими параметрами, с которыми нужно уметь работать изначально. От параметров окружающей среды (источника и потребителя) зависит выбор технологии обработки внутри.
\begin{frm} Например, digital remastering -- интерполяция звука с 44.1КГц через 96КГц в 192КГц.\end{frm}
Сейчас наблюдается тренд к максимально быстрой оцифровке аналогового сигнала. После АЦП существует два пути -- мягкая реализация, DSP-микропроцессоры, или жёсткая -- ПЛИС или CPLD.
\begin{enumerate}
\item Сигнал -- это физический процесс, содержащий информацию;
\item электрический сигнал -- ток и напряжение изменённые во времени (связаны законом Ома).
\[
\begin{cases}
i(t)\\
u(t)
\end{cases}
\]
электричество получается по закону электромагнитной индукции Фарадея.
\item все электрические сигналы рассматриваются в двух областях -- зависимость по времени и зависимость по частоте. Во времени на сигнал смотрим осциллографом, в частоте спектроанализатор. Связаны преобразованием Фурье.
\[ \int_{-\infty}^{\infty} x(t) e^{-j\omega}dt\]
\end{enumerate}
$x(t)$ -- это входной непрерывный сигнал, умножаем на (ортогональный базис) тригонометрическую функцию. То есть ищем спектральную составляющую (корреляционный детектор). Ортогональный базис ($\cos(\omega)+\j\sin(\omega)$) нужен для поиска фазы (если будет только синус или косинус -- будем знать только амплитуду).
Анализатор спектра (аналоговый непрерывного действия)
\begin{figure}[H]
\centering
\fontsize{14}{1}\selectfont
\includesvg[scale=1.01]{pics/04-cedd-00-spectrum-analyzer.svg}
\end{figure}
\[ x(t) = \frac{1}{2\pi}\int_{-\infty}^\infty\ X(j\omega) e^{j\omega}d\omega \]
Когда работаем с цифровыми сигналами -- дискретное преобразование фурье, интеграл заменяется на сумму и берём не бесконченость, а определённое число отсчётов.
\begin{figure}[H]
\centering
\fontsize{11}{1}\selectfont
\includesvg[scale=.85]{pics/04-cedd-00-common-device.svg}
\caption{Электронное устройство (обобщённое)}
\end{figure}
\begin{itemize}
\item Датчик преобразует электрический сигнал
\item АО -- на стандартных элементах (усилители фильтры иногда умножители)
\item ФПО -- фильтр для подавления цифровых образов (двойников)
\item УВХ (устройство выборки и хранения) + АЦП
\item дискретизация по времени (УВХ) и квантование по уровню (АЦП). Сигнал при переходе в цифру всегда теряет информацию, важно минимизировать эти потери.
\item ЦВБ
\item ЦАП
\item Деглитчер
\item Восстанавливающий фильтр
\item Драйвер и аналоговое исполнительное устройство
\end{itemize}
\begin{frm} Любое инженерное решение - это всегда компромисс. \end{frm}
\section{Дискретизация сигнала во временной и частотной области}
Дискретизация -- умножение на последовательность единичных импульсов. Дельта функция Дирака \footnote{\href{https://portal.tpu.ru/SHARED/k/KONVAL/Sites/Russian_sites/Series/4/01-6.htm}{Подробнее}}.
\[ \delta(t) = \begin{cases} +\infty t=0 \\ 0 t \neq 0 \end{cases} \]
\[ \int_{-\infty}^{\infty} \delta(t) dt = 1 \]
Бесконечная спектральная функция ведёт к бесконечной энергии, что физически невозможно. Перемножение во временной области -- это свёртка в частотной и наоброт.
\begin{figure}[H]
\centering
\fontsize{12}{1}\selectfont
\includesvg[scale=1.01]{pics/04-cedd-00-signal-discretization.svg}
\caption{Дискретизация сигнала}
\end{figure}
Дискретный сигнал в частотной области -- бесконечное число повторяющихся копий дискретного представления сигнала. В цифровом вычислительном блоке мы всегда работаем с дискретным сигналом. Важно на каком расстоянии стоят частоты дискретного сигнала (виртуальные образы цифрового сигнана). Чтобы они не накладывались друг на друга нужна предварительная фильтрация (производимая ФПО).
Дискретизация -- это умножение входного сигнала на импульсы дискретизации.
\begin{figure}[H]
\centering
\fontsize{12}{1}\selectfont
\includesvg[scale=1.01]{pics/04-cedd-00-sig-sampling.svg}
\end{figure}
где $t = nT$.
УВХ -- является мостом от аналогового к цифровому сигналу. Ключ управляется сигналами управления, формируя схему SHA, Sampling-Hold Amplifier.
\begin{figure}[H]
\centering
\fontsize{12}{1}\selectfont
\begin{subfigure}[b]{0.49\textwidth}
\centering
\includesvg[scale=.9]{pics/04-cedd-00-sig-sampling-sha.svg}
\caption{Обычное}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.49\textwidth}
\centering
\includesvg[scale=.91]{pics/04-cedd-00-sig-sampling-sha-diff.svg}
\caption{Дифференциальное}
\end{subfigure}
\caption{УВХ}
\end{figure}
Конденсатор нужен для того чтобы сохранить значение пока АЦП квантует. Если напряжение с конденсатора уйдёт до того, как АЦП завершит работу -- получим погрешность.
\begin{frm}
Общий алгоритм дискретизации следующий: Ключ замыкается -- конденсатор запоминает -- ключ размыкается -- АЦП квантует.
\end{frm}
Время сбора информации влияет на наличие эффекта фильтрации. Чтобы конденсатор быстрее зарядился нужно уменьшать ёмкость (но она быстрее будет разряжаться). Идеального решения не существует. Ключ -- это два транзистора в противофазе\footnote{Аналоговый мультиплексор -- это набор из ключей}.
В реальности используется не УВХ а Устройство \textbf{Слежения} и Хранения Track-Hold Amplifier ключ всегда закрыт и снимается значение в момент размыкания ключа. В идеальном ключе мы хотим чтобы включенный был с нулевым сопротивлением, а выключенный с бесконечным (обычно, существуют I-утечки).
АЦП различают с функцией дискретизации (Sampling ADC) и без (non-sampling ADC). Динамические характеристики АЦП должны выбираться по характеристикам УВХ.
\[ u(t) = \frac{U_0\tau}{T} + \frac{U_0\tau}{T}\sum_{K=1}^\infty\frac{2\sin(K\omega\frac{\tau}{2})}{K\omega\frac{\tau}{2}}\cos{K\omega t} \]
$\frac{\sin{X}}{X}$ -- первый замечательный предел
\begin{tikzpicture}
\draw[help lines] (-3.5,-1.5) grid (3.5,1.5);
\begin{scope}[very thick, domain=-pi:pi, samples=100, smooth]
\draw[red] plot (\x,{sinc(5*\x)});
\end{scope}
\end{tikzpicture}
При меньшей ширине сигнала (если $X \to 0$, значит мы имеем дело с единичным импульсом (функцией Дирака)) его спектр равен единице умноженной на косинус сигнала, а значит спектр импульсов дискретизации бесконечный.
\begin{figure}[H]
\centering
\fontsize{12}{1}\selectfont
\includesvg[scale=1.01]{pics/04-cedd-00-sampling-afc.svg}
\caption{Завал из-за усреднения напряжения на УВХ}
\end{figure}
В предельном случае -- импульсная характеристика идеального ФНЧ, а в реальности это простая фильтрация. то есть сам АЦП выступает в роли фильтра.
\subsection{Субдискретизация}
Идеальный дискретизатор дельта функция Дирака.
\begin{figure}[H]
\centering
\fontsize{14}{1}\selectfont
\includesvg[scale=1.01]{pics/04-cedd-00-subdiscr.svg}
\end{figure}
Ширина зоны -- $0.5f_s$, $f_s$ -- частота дискретизации, $\tau \to 0$ -- длительность импульса, $f_a$ -- интересующий нас сигнал.
\[ |\pm Kf_s \pm f_a|; k=1,2,3,4 \]
1 зона -- основная полоса. Частотный спектр делится на бесконечное количество зон.
\begin{figure}[H]
\centering
\fontsize{10}{1}\selectfont
\includesvg[scale=.9]{pics/04-cedd-00-subdiscr-2.svg}
\caption{$f_S = 4f_a$}
\end{figure}
На временной диаграмме видно, что сигнал восстанавливается.
\begin{figure}[H]
\centering
\fontsize{10}{1}\selectfont
\includesvg[scale=.9]{pics/04-cedd-00-subdiscr-3.svg}
\caption{$f_S = 2f_a$}
\end{figure}
\begin{figure}[H]
\centering
\fontsize{10}{1}\selectfont
\includesvg[scale=.9]{pics/04-cedd-00-subdiscr-4.svg}
\caption{$f_S = 1.5f_a$}
\end{figure}
Следствие эффекта наложения дискретного сигнала -- появление Внеполосной помехи. Очевидно нужен ФНЧ с полосой пропускания $0...f_s/2$. Идельаный фильтр не получится, поэтому нужен фильтр какого-то порядка.
Требования к фильтру.
\begin{figure}[H]
\centering
\fontsize{12}{1}\selectfont
\includesvg[scale=.91]{pics/04-cedd-00-filter-demand.svg}
\caption{Для первой зоны}
\end{figure}
ДД -- динамический диапазон преобразования ограничивает эффект наложения. Фильтр ограничен разрядностью. Добиваться точности больше, чем число разрядов (1/256 для 8-разрядного) нет смысла.
\begin{itemize}
\item полоса пропускания должна быть $0...f_a$;
\item переходная полоса $f_a...f_s-f_a$;
\item полоса задержания $f_s-f_a...\infty$;
\item ослабление = ДД.
\end{itemize}
порядок фильтра $M = \frac{DD}{6\lg_2(\frac{f_s-f_a}{f_s})}$. Каждый порядок фильтра даёт 6дБ на октаву или 10 на декаду. Какого порядка можно реализовать аналоговый фильтр? Порядок определяется энергозапоминающими элементами. Больше 12 порядков аналоговые фильтры уже не делают, потому что вынуждены каскадировать, добавляя разбросы и погрешности.
Можно уменьшить требование по частоте фильтра, увеличив частоту дискретизации (передискретизация). И возможно применить операцию децимации (но все образы обратно сдвинутся и наложатся) поэтому перед децимацией нужно отфильтровать цифровым фильтром.
\begin{figure}[H]
\centering
\fontsize{12}{1}\selectfont
\includesvg[scale=.91]{pics/04-cedd-00-filter-more.svg}
\end{figure}
Жертва в этом случае -- более дорогой избыточной АЦП, наличие ЦФ. Но при этом возможно снизить аналоговый фильтр до первого порядка, поставив простую RC-цепочку.
Чтобы понять порядок ЦФ -- нужно подать единичный импульс. После ЦАП также нельзя делать большой порядок, поэтому делаем интерполяцию.
\section{Теорема Котельникова}
Криетрий ограниченности спектра сигнала. $x(t)$ - имеет ограниченный спектр частот, если его преобразование фурье равно нулю для всех $\omega$ больших чем $2\pi f_a$, где $f_a$ -- ширина спектра процесса
\[X(j\omega) = 0; |\omega| > 2\pi f_a\]
Каждый процесс с ограниченным спектром $X(t)$ может быть представлен в виде
\[X(t) = \sum_{k=-\infty}^\infty x(t_k) \frac{sin 2\pi f_a(t-t_k)}{2\pi f_a(t-t_k)}\]
где $t_k = \frac{k}{2f_a}$, $k=0, \pm1, \pm2, \pm3...$.
$\frac{sin 2\pi f_a(t-t_k)}{2\pi f_a(t-t_k)}$ -- импульсная характеристика идеального фильтра низких частот с прямоугольной АЧХ. То есть это указание о том, как именно восстанавливать сигнал -- пропустить через идеальный ФНЧ. Важно в теореме -- ширина спектра сигнала. а не максимальная частота.
(1)
Вводить для 8-битной системы мощные средства передискретизации -- избыточно.
Классический случай дискретизации -- когда исходный сигнал находится в первой зоне (рис2, рис4). Другие сигналы называются полосовые сигналы. Для полосового сигнала спектр окажется такой же
Субдискретизация -- (англ. under-sampling) дискретизация полезного сигнала, располагающегося вне основной полосы, т.е. лежащего в зоне с номером больше, чем 1 (полосовая дискретизация).
Орбита-ТМ М32
\begin{itemize}
\item $f_c \approx 219MHz$
\item $\Delta f = 6MHz$
\item $3MBps$
\item Фазовая манипуляция
\end{itemize}
Котельников в лоб -- дискретизация должна быть на 400+ МГЦ.
(2)
Применяя методику субдискретизации можно существенно уменьшить требования к параметрам приёмника. Но требования к АЦП остаются такими же.
(3)
Когда сигнал лежит в зоне нечётным номером -- это полный образ, если с чётным -- инверсия. В любом случае в интересующей полосе образ.
Фильтр для классической дискретизации -- это ФНЧ. для субдискретизации -- полосовой фильтр.
(4)
полосовой фильтру
полоса пропускания f1-f2
переходная полоса справа f2...2fs-f2 слева f1...fs-f1
полоса задержания <fs-f1 >2fs-f2
Если большой ДД -- нужен большой порядок фильтра. Снизить требование поможет также передискретизация -- плис -- цифровая фильтрация с прореживанием.
Методика расчёта чатоты дискретизации при субдискретизации (Как сделать, чтобы сигнал лежал строго в середине зоны)
$f_c$ -- центральная частота полосового сигнала, $f_s>2\Delta f$
\[f_s = \frac{4f_c}{2z-1}\]
$z$ -- номер зоны. Пусть ширина полосы = 4МГц, центральная частота 71МГц, по теореме К $f_s = 8$МГц. зона будет равна 18.25, зона не может быть дробным, округялем до ближайшего целого, снова подставляем в эту же формулу, частота дискретизации будет 8,1143МГц. Если хотим запас фильтрации больше -- фс=10МГц, подставляем в выражение - зона 14,7, округляем до 14, частота дискретизации = 10,519МГц.
\section{Квантование}
Дискретный сигнал -- это сигнал с конечным количеством отсчётов, но разрядность пока бесконечна, поэтому возможно применить разрядность АЦП. Передаточная характеристика идеального квантователя
(5)
явно теряем в точности.
Signal-Noise-Ratio
\[SNR = 6,02N + 1,76dB\]
N -- разрядность. Сигнал -- нестационарный процесс, имеет равномерное распределение от 0 до фс/2, не коррелирует со входным сигналом, матмодель - входной сигнал умножается на шум квантования.
Если аналоговая частота больше -- есть более общий вариант
\[SNR = 6,02N + 1,76dB +10\log_{10}(\frac{f_s}{2f_a})\]
Если частота дискретизации много больше - частота увеличилась, а разрядность не увеличитася, тогда шум уменьшается. Шум всегда будет коррелировать с сигналом, это можно использовать, подав собственный шум на низкой частоте.
\section{Характеристики АЦП}
(6)
память+пэвм -- способ проверить АЦП для своей системы.
Характеристики могут быть статические и динамические. Статические:
\begin{itemize}
\item Дифференциальная нелинейность DNL
\item Интегральная нелинейность INL
\item пропущенные коды missing code
\item ошибка усиления gain error
\item ошибка смещения offset error
\end{itemize}
(7) ПХ идеального АЦП, все центры кода лежат на прямой
(8) пример ПХ реального АЦП.
Дифференциальная нелинейность -- наибольшее отклонение ширины кода от идеального значения в МЗР или процентах от полной шкалы.
Интегральная нелинейность -- наихудшее отклонение центра кода от прямой, также измеряется в МЗР или процентах от полной шкалы.
Пропущенные коды формируется из первых двух. в примере 8 кода 011 не будет, в даташите будет написано no missing code если например (N=14) то на младших разрядах можем уже не видеть биты.
Эти ошибки невозможно исправить
Ошибка смещения - это аддитивная добавка напряжения на входе проценты от шкалы
ошибка усиления - угол начального наклона (мультипликативная ошибка)
Эти ошибки возможно исправить программно или внешними аналоговыми цепями.
Динамические характеристики
\begin{itemize}
\item Реальное отношение сигнал-шум ($SNR_{real}$)
для н-разрядного АЦП возможно посчитать теорию. Реальная характеристика точно будет отличаться.
N=8, SNR=49,7dB. реальный может быть 48,1 или 47,1 (первый лучше) зависит от частоты типовой график
(9)
обратный график - эффективное число бит
\[ENoB = \frac{SNR_{real} - 1,76dB}{6,02}\]
\item Коэффициент гармонических искажений Total Harmonic Distortion -- отражает качество и линейность кармоник. Чем меньше брать в расчёт гармоник - тем легче продать. $THD=\sqrt{\frac{A_2+A_3...}{A_1}}\%$.
\item сигнал шум и искажение (SINAD) типовая схема 4096 отсчётов. более качественный параметр.
\end{itemize}
\end{document}

View File

@ -1,80 +0,0 @@
\documentclass{article}
\input{settings/common-preamble}
\input{settings/bmstu-preamble}
\input{settings/fancy-listings-preamble}
\author{Оганов Владимир Игоревич}
\title{Разработка сложных электронных устройств}
\date{2023-02-08}
\begin{document}
\sloppy
\fontsize{14}{18}\selectfont
\maketitle
\tableofcontents
\newpage
\section{Введение}
Электроника базируется на физике. Разделы физики 0 электричество в металлах, в полупроводниках и электромагнитные поля. Киргоф, Ом. Упрощают моделирование сложных систем, предоставляют математический аппарат.
Сложное электронное устройство: большая схема -- неправильно решённая задача. Каждая лишняя деталь -- источник шумов, погрешностей, итд. компенсация порождает лавинный эффект. Проектирование СЦУ -- это проектирование ЦУ как можно проще.
Электронное устройство не работает само по себе, а всегда в связке с окружающим миром и физическими параметрами, с которыми нужно уметь работать изначально. От параметров окружающей среды (источника и потребителя) зависит выбор технологии обработки внутри.
digital remastering -- интерполяция звука с 44.1КГц - 96КГц в 192КГц.
сейчас тренд к максимально быстрой оцифровке. после АЦП мягкая реализация - ДСП микропроцессоры, или жёсткая - ПЛИС или ЦПЛД.
1. сигнал -- это физический процесс, содержащий информацию.
2. электрический сигнал -- ток и напряжение изменённые во времени (связаны законом Ома).
\[
i(t)
}
u(t)
\]
электричество получается по закону электромагнитной индукции Фарадея.
3. все электрические сигналы рассматриваются в двух областях - зависимость по времени и зависимость по частоте. во времени на сигнал смотрим осциллографом, в частоте спектроанализатор. связаны преобразованием Фурье.
\[ \int_{-\infty}^{\infty} x(t) e^{-j\omega}dt\]
х(т) это входной непрерывный сигнал умножаем на (ортогональный базис) тригонометрическую функцию. то есть ищем спектральную составляющую (корреляционный детектор). ортогональный базис нужен (косомега+жсиномега) для поиска фазы (если будет только синус или косинус - будем знать только амплитуду).
Анализатор спектра (аналоговый непрерывного действия)
(3)
\[ x(t) = \frac{1}{2\pi}\int_{-infty}^\infty\ X(j\omega) e^{j\omega}d\omega \]
когда работаем с цифровыми сигналами -- дискретное преобразование фурье, интеграз заменяется на сумму и берём не бесконченость, а определённое число отсчётов.
электронное устройство (обобщённое) (4)
Датчик преобразует электрический сигнал
АО - на стандартных элементах (усилители фильтры иногда умножители)
ФПО - фильтр для подавления образов
УВХ (устройство выборки и хранения) + АЦП
дискретизация по времени (УВХ) и квантование по уровню (АЦП). Сигнал при переходе в цифру всегда теряем информацию, важно минимизировать.
ЦВБ
ЦАП
Деглитчер
Восстанавливающий фильтр
Драйвер и аналоговое исполнительное устройство
любое инженерное решение - это всегда компромисс.
Дискретизация сигнала во временной и частотной области
Дискретизация - умножение на последовательность единичных импульсов. Дельта функция Дирака.
\[ \delta(t) = \begin{cases} +\infty t=0 \\ 0 t \neq 0 \end{cases} \]
\[ \int_{-\infty}^{\infty} \delta(t) dt = 1 \]
Бесконечная спектральная функция ведёт к бесконечной энергии, физически невозможно.
перемножение во временной это свёртка в частотной и наоброт.
(5)
дискретный сигнал в частотной области -- бесконечное число повторяющихся копий дискретного представления сигнала. в ЦВУ мы всегда работаем с дискретным сигналом. Важно на каком расстоянии стоят частоты дискретного сигнала (виртуальные образы цифрового сигнана). чтобы они не накладывались друг на друга нужна предварительная фильтрация (ФПО).
\end{document}

View File

@ -24,4 +24,8 @@ Erlang -- специально разработан для телекоммун
Процессы могут следить за ошибками в других процессах. Когда процесс завершается, он автоматически сигнализирует об этом всем связанным с ним процессам Процессы могут следить за ошибками в других процессах. Когда процесс завершается, он автоматически сигнализирует об этом всем связанным с ним процессам
Функциональный ЯП, отсутствие side-effects. Программа сравнима с формулой или электрической схемой, вычисляется сразу целиком, нет промежуточных действий. Использует виртуальную машину и используется всегда в паре с OTP -- open telecom platform.
В Erlang не очень много типов данных: целые, действительные, атомы (именованные символические константы), заполнители \code{_}, \code{@}.
\end{document} \end{document}

View File

@ -12,19 +12,61 @@
\fontsize{14}{18}\selectfont \fontsize{14}{18}\selectfont
\maketitle \maketitle
\tableofcontents \tableofcontents
\newpage
\section{Введение} \section{Введение}
DevOps -- стратегия разработки ПО, призванная устранить разрыв между разработчиками, и другими командами. DevOps -- стратегия разработки ПО, призванная устранить разрыв между разработчиками, и другими командами. Методология автомтизации технологических процессов сборки, настройки и развёртывания программного обеспечения. Методология предполагает активное взаимодействие специалистов по разработке со специалистами по информационно-технологическому обсулуживанию и взаимную интеграцию их технологических процессов друг в друга, для обеспечения высокого качества программного продукта.
Методологии разработки - waterfall, agile (scrum, lean) Методологии разработки - waterfall (последовательный переход от одного этапа к другому), agile (scrum, lean) -- гибкая методология, система идей. Ключевой принцип - разработка через короткие итерации.
Обычно ИТ-команда это разработчики(Dev), тестировщики(QA), группа эксплуатации(Ops). Толчком к появлению девопс стало появление микросервисов. Водопадная модель разработки (Waterfall-разработка):
\begin{itemize}
\item Системные и программные требования: закрепляются в PRD (product requirements documents, документ требований к продукту).
\item Анализ: воплощается в моделях, схемах и бизнес-правилах.
\item Дизайн: разрабатывается внутренняя архитектура ПО, способы реализации требований; Не только интерфейс, и внешний вид ПО, но и его внутренняя структурная логика.
\item Кодинг: непосредственно пишется код программы, идёт интеграция ПО.
\item Тестирование: баг-тестеры (тестировщики) проверяют финальный продукт, занося в трекеры сведения о дефектах кода программы или функционала. В случае ошибок и наличия времени/финансов происходит исправление багов.
\item Операции: продукт адаптируется под разные операционные системы, регулярно обновляется для исправления обнаруженных пользователями багов и добавления функционала. В рамках стадии также осуществляется техническая поддержка клиентов.
\end{itemize}
цели - надёжность, скорость выхода на рынок. Основные принципы гибкой методологии:
\begin{itemize}
\item Люди и взаимодействие важнее процессов и инструментов
\item работающий продукт важнее исчерпывающей документации
\item сотрудничество с заказчиком важнее согласования условий контракта
\item готовность к изменениям важнее следования первоначальному плану.
\end{itemize}
Обычно ИТ-команда это разработчики(Dev), тестировщики(QA), группа эксплуатации(Ops). Толчком к появлению девопс стало появление микросервисов. Цели девопс -- Сокращение времени выхода на рынок, надёжность (снижение частоты отказов новых релизов), сокращение времени выполнения исправлений, уменьшение количества времени на восстановления (в случае сбоя).
девопс предлагает представителям ранее разрозненных подразделений координировать свои действия. Культура: совместная работа и согласованность, изменения в сфере участия и ответственности, сокращение циклов выпуска (не количество, а сами циклы), непрерывное обучение. девопс предлагает представителям ранее разрозненных подразделений координировать свои действия. Культура: совместная работа и согласованность, изменения в сфере участия и ответственности, сокращение циклов выпуска (не количество, а сами циклы), непрерывное обучение.
методики Жизненный цикл приложения
\begin{itemize}
\item \textbf{Планирование} помогает обеспечить командам гибкость и прозрачность
\begin{itemize}
\item представляют, определяют и описывают функции и возможности создаваемых приложений
\item отслеживают ход работы на низком и высоком уровнях детализации
\item создают журналы невыполненной работы, отслеживая ошибки, и так далее.
\end{itemize}
\item \textbf{Разработка} включает написание, тестирование, проверку и интеграцию кода участниками команды. Быстро внедряют инновации, автоматизируя рутинные действия, а также запускают итерации с маленьким шагом при помощи автоматического тестирования и непрерывной интеграции.
\item \textbf{Доставка} -- это процесс последовательного и надёжного развёртывания приложений в рабочих средах. Этап доставки также включает развёртывание и настройку полностью управляемой базовой инфраструктуры, лежащей в основе этих сред.
\begin{itemize}
\item определяют процесс управления выпусками
\item устанавливают автоматические шлюзы, с помощью которых приложения перемещаются между этапами, пока не станут доступными клиентам
\end{itemize}
\item \textbf{Эксплуатация}.
\begin{itemize}
\item обслуживание
\item мониторинг
\item устранение неполадок приложений в рабочих средах
\end{itemize}
внедряя методики девопс, различные подразделения стремятся обеспечить надёжность системы и высокую доступность, свести простои к нулю, а также повысить уровень безопасности и усовершенствовать управление.
\end{itemize}
Девопс предполагает представителям ранее разрозненных подразделений компании координировать свои действия и совместно создавать более качественные и надёжные продукты (постоянная обратная связь и оптимизация). Совместная работа и согласованность, изменения в сфере участия и ответственности, сокращение циклов выпуска, непрерывное обучение.
методики девопс
\begin{itemize} \begin{itemize}
\item непрерывная доставка (CI/CD) \item непрерывная доставка (CI/CD)
\item управление версиями (git) \item управление версиями (git)
@ -37,12 +79,11 @@ DevOps -- стратегия разработки ПО, призванная у
\begin{figure}[H] \begin{figure}[H]
\centering \centering
\includegraphics[width=12cm]{04-telematics-devops.png} \includegraphics[width=12cm]{04-telematics-devops.png}
\includegraphics[width=12cm]{04-t-devops-table.jpg}
\end{figure} \end{figure}
(инструменты как таблица менделеева) Внедрение облачных технологий в корне изменило способы создания развёртывания и эксплуатации приложений. Преимущества: затраты, скорость, глобальный масштаб, производительность, эффективность, надёжность, безопасность.
Внедрение облачных технологий в корне изменило способы создания развёртывания и эксплуатации приложений. Затраты, скорость, глобальный масштаб, производительность, эффективность, надёжность, безопасность.
Три способа развёртывания облачных служб: Три способа развёртывания облачных служб:
\begin{itemize} \begin{itemize}
@ -58,7 +99,7 @@ DevOps -- стратегия разработки ПО, призванная у
\item Saas -- software (предоставление уже разработанного ПО как услуги); \item Saas -- software (предоставление уже разработанного ПО как услуги);
\end{itemize} \end{itemize}
В девопс облаке, с помощью девопс возможно: В облаке, с помощью девопс возможно:
\begin{itemize} \begin{itemize}
\item создание собственных облачных приложений \item создание собственных облачных приложений
\item тестирование и сборка приложений \item тестирование и сборка приложений
@ -67,7 +108,17 @@ DevOps -- стратегия разработки ПО, призванная у
\item доставка ПО по запросу \item доставка ПО по запросу
\end{itemize} \end{itemize}
DevOps-инженер -- высококвалифицированный специалист, который отвечает за автоматизацию всех этапов создания приложений и обеспечивает взаимодействие программистов и системных администраторов. Прорабатывает сборку, доставку и тестирование. Build-инженер, Release-инженер, Automation-инженер DevOps-инженер -- высококвалифицированный специалист, который отвечает за автоматизацию всех этапов создания приложений и обеспечивает взаимодействие программистов и системных администраторов. Прорабатывает сборку, доставку и тестирование. Build-инженер, Release-инженер, Automation-инженер, Security-инженер.
\begin{itemize}
\item [+] высокий заработок
\item [+] востребованность
\item [+] интересные задачи
\item [+] перспектива карьерного роста
\item [-] непрерывное обучение (\textit{а минус ли это? прим. Овчинников})
\item [-] необходимость знать много из разных областей
\item [-] возможны стрессовые ситуации и высокая нагрузка
\end{itemize}
Необходимые знания: Необходимые знания:
\begin{itemize} \begin{itemize}
@ -81,4 +132,347 @@ DevOps-инженер -- высококвалифицированный спец
Используемые инструменты -- Jenkins, Docker, Kubernetes, Git, Приложения для управления инфраструктурой (Terraform), платформенные и облачные сервисы, утилиты мониторинга и оповещений. Используемые инструменты -- Jenkins, Docker, Kubernetes, Git, Приложения для управления инфраструктурой (Terraform), платформенные и облачные сервисы, утилиты мониторинга и оповещений.
\section{Система контейнеризации Docker}
\subsection{Виртуализация и контейнеризация}
Микросервисная архитектура -- это такой подход, при котором единое приложение строится как набор небольших сервисов, каждый из которых работает в собственном процессе и коммуницирует с остальными, используя легковесные механизмы. Такой подход получил распространение в середине 2010х годов в связи с развитием гибких практик разработки.
До появления микросервисов и контейнеров повсеместно использовались монолитные приложения на основе систем виртуализации.
Особенности монолитных приложений
\begin{itemize}
\item много зависимостей
\item долгая разработка
\item повсеместное использование виртуализации
\end{itemize}
Виртуализацция -- это технология с помощью которой на одном физическом устройстве можно создать несколько виртуальных компьютеров. На компьютере с одной ОС можно запустить несколько других ОС или приложений. ОС запускаются в виртуальной среде, но используется инфраструктура хоста и позволяет им работать на одном устройстве изолированно друг от друга. ОС компьютера, на котором работает виртуальная среда, называется хост-системой, а ОС, которая запускается в этой виртуальной среде -- гостевой системой. Хостовая и гостевая ОС могут иметь взаимоисключающие компоненты, но виртуальная среда позволяет урегулировать эти конфликты.
Виртуальная среда создаётся при помощи программной или аппаратной схемы -- гипервизора -- инструмента, обеспечивающего параллельное управление несколькими ОС на одном хосте.
\subsection{Виртуализация}
Гипервизор -- это инструмент, обеспечивающий параллельное управление несколькими ОС на хосте.
\begin{figure}[H]
\centering
\fontsize{12}{1}\selectfont
\includesvg[scale=1.01]{pics/04-t-00-hyperv.svg}
\end{figure}
Типы гипервизоров
Гипервизоры:
\begin{itemize}
\item аппаратные -- VMWare ESX, Citrix XenServer, MS Hyper-V;
\item устанавливаемые поверх базовой ОС -- MS Virtual PC, VMWare Workstation, VirtualBox;
\item гибридные -- Citrix XenServer, Microsoft Hyper-V.
\end{itemize}
Назрела необходимость в ином подходе к построению архитектуры приложений, при котором ядро ОС поддерживают несколько изолированных экземпляров пользовательского пространства вместо одного (namespaces)\footnote{namespace -- это функция ядра Linux, позволяющая изолировать и виртуализировать глобальные системные ресурсы множества процессов.}. Возникновение контейнеризации -- контейнерной виртуализации. Контейнеризация использует ядро хост системы, оставаясь при этом не менее функциональной и обеспечивающей необходимую изоляцию.
Контейнерная виртуализация -- это способ, при котором виртуальная среда запускается прямо из ядра хотовой ОС (то есть без установки другой ОС). В данном случае изоляцию ОС и приложений поддерживает контейнер. Контейнер содержит всё, что нужно для запускаемого в нём приложения: код, библиотеки, инструменты и настройки. Всё это упаковано в отдельный образ, работу которого запускает контейнерный движок.
В случае с контейнерами у нас есть базовая аппаратная инфраструктура (железа компьютера), ОС и движок, установленный на этой ОС. Движок управляет контейнерами, которые работают с библиотеками и зависимостями сами, в одиночку. В случае виртуальной машины у нас есть ОС на базовом оборудовании (наше железо), затем гипервизор, а затем виртуальные машины. У каждой ВМ внутри своя ОС. Контейнеры загружаются быстрее и работают эффективнее.
Проблемы контейнеризации. Для контейнеров используется виртуализация на уровне ядра, то есть от гипервизора можно отказаться. Однако:
\begin{itemize}
\item контейнер использует ядро хост системы, а отсюда проблемы с безопасностью;
\item в контейнере может быть запущен экземпляр ОС только с тем же ядром, что и у хост ОС.
\end{itemize}
Возможно получить доступ к возможностям Windows и Linux одновременно при помощи WSL.
Как решить проблемы проблемы контейнеризации:
\begin{itemize}
\item следование принципу единственной ответственности (Single responsibility principle)
\item Всё необходимое должно быть в самом контейнере
\item Образы должны быть небольшого размера
\item контейнер должен быть эфемерным
\end{itemize}
Контейнеризаторы приложений (Docker, LXC)
Докер -- платформа автоматизации и доставки приложений с открытым исходным кодом. Платформа позволяет быстрее тестировать и выкладывать приложения, запускать на одной машине требуемое количество контейнеров.
\begin{itemize}
\item сервер dockerd
\item API
\item CLI
\end{itemize}
Компоненты докер
\begin{itemize}
\item хост -- хост ПК, компьютер, на котором работает докер.
\item демон -- фоновый процесс, работающий на хосте постоянно и ожидающий команды управления. Имеет информацию обо всех контейнерах на хосте. Демон знает всё о контейнерах, запущенных на одном хосте -- сколько всего контейнеров, какие из них работают, где хранятся образы и так далее.
\item клиент -- клиент при помощи с котрого пользователь взаимодействует с демоном. Это может быть консоль, API или графический интерфейс.
\item образ -- неизменяемый образ приложения (можно представить как установочный диск)
\item контейнер -- развёрнутое на основе образа и запущенное приложение.
\item докерфайл -- файл-инструкция для сборки докер-образа. Строки файла это слои образа. Инструкции обрабатываются последовательно.
\item docker registry -- репозиторий, в котором хранятся образы (докерхаб)
\end{itemize}
Образ -- шаблон с набором инструкций, предназначенных для создания контейнера. Приложения упаковываются в образ, из которого затем создаются контейнеры.
Контейнер -- уже собранное, настроенное и запущенное на основе образа приложение в изолированное среде.
\subsection{Принципы работы Docker-образов}
Образ -- это единица, используемая для распространения приложений. Контейнер -- имеет стандартизированный формат, который используется как группой эксплуатации
ПО, упакованное в контейнер:
\begin{itemize}
\item код приложения
\item системные пакеты
\item двоичные файлы
\item библиотеки
\item файлы конфигурации
\item ОС, работающую в контейнере
\end{itemize}
Программное обеспечение, упакованное в контейнер, не ограничивается приложениями, создаваемыми разработчиками. ОС узла -- это OC, в которой выполняется модуль Docker. Контейнеры Docker, работающие в Linux, совместно используют ядро ОС узла и не нуждаются в ОС контейнера, если двоичный код может напрямую обращаться к ядру ОС.
Однако контейнеры Windows нуждаются в ОС контейнера. Контейнер полагается на ядро ОС для управления службами, такими как файловая система, сеть, планирование процессов и управление памятью.
Например, разрабатываем портал отслеживания заказов, который будут использоваться торговыми точками некоторой компании. Нам нужно рассмотреть полный стек ПО длоял выполнения этого веб-приложения. MVC .Net Core, и мы планируем развернуть его с помощью Nginx в качестве обратного прокси-сервера в Ubuntu Linux. Все эти программные компоненты входят в образ контейнера
Образ контейнера -- это переносимый пакет, содержащий ПО. При запуске он становится контейнером. Образ неизменен, после сборки образа, невозможно внести в него изменения.
ОС узла -- это ОС в которой выполняется модуль Docker. ОС контейнера -- это ОС, которая входит в упакованный образ. В контейнере можно включать различные версии ОС Linux/Windows. ОС контейнера изолирована от ОС узла и представляет собой среду, в которой развёртывается и выполняется приложение. В сочетании с неизменностью образа такая изоляция означает, что среда для приложения на этапе разработки аналогична рабочей среде. В нашем примере мы используем Ubuntu Linux в качестве ОС контейнера, и эта ОС не меняется в течение всего процесса: от разработки до рабочего развертывания. Образ всегда один и тот же
ОС контейнера - это ОС, которая входит в упакованный образ. В контейнер можно включать различные версии ОС Linux или Windows Такая гибкость позволяет получать доступ K определенным возможностям ОС или устанавливать дополнительное ПО, требуемое приложениям.
Мы создаём образ для описанного веб-приложения. Расположим дистрибутив Ubuntu как базовый образ поверх файловой системы загрузки. Далее устанавливаем Nginx, который таким образом будет поверх Ubuntu. Последний доступный для записи слой создается после запуска контейнера из образа. Этот слой не сохраняется при уничтожении контейнера.
Что такое стековая файловая система унификации (unionfs)
Для создания образов Docker используется Unionfs. Unionfs -- это файловая система, позволяющая объединять в стек несколько каталогов, При этом содержимое представляется как объединенное. Однако на физическом уровне оно хранится раздельно.
Образ контейнера это переносимый пакет, содержащий программное обеспечение. При запуске он становится контейнером. Образ контейнера неизменен. После сборки образа внести в него изменения нельзя. Единственный способ изменить образ создать новый. Эта особенность дает гарантию того, что образ, используемый в рабочей среде, полностью совпадает с образом, который применялся при разработке и контроле качества.
\subsection{Когда следует использовать контейнеры Docker?}
Управление средами размещения. Среда для приложения настраивается внутри контейнера. Благодаря этому команда эксплуатации может более гибко управлять средой приложения. Можно также управлять тем, какие приложения следует установить, обновить или удалить, не затрагивая другие контейнеры. Каждый контейнер изолирован. Облачные развертывания. Контейнеры Docker поддерживаются на многих облачных платформах.
Переносимость приложений. Контейнеры могут выполняться практически везде: на Настольных компьютерах, физических серверах, в виртуальных машинах и в облаке. Такая совместимость со средами выполнения позволяет легко перемещать контейнерные приложения между разными средами. Так как контейнеры требуют меньше ресурсов, увеличение времени запуска или завершения работы сказывается на виртуальных машинах. Благодаря этому упрощается и ускоряется повторное развертывание.
Dockerfile -- это текстовый файл с инструкциями для сборки и запуска образа Docker.
\begin{itemize}
\item В файле определяется базовый и родительский образ, используемый для создания образа;
\item команды для обновления базовой ОС и установки дополнительного программного обеспечения;
\item службы, такие как хранилище и конфигурация сети
\item команда, выполняемая при запуске контейнера.
\end{itemize}
Базовый образ использует Docker scratch -- пустой образ, который не создает слой файловой системы. Он предполагает, что запускаемое приложение может напрямую использовать ядро ОС узла.
Родительский образ это образ контейнера, из которого создается наш - образ. Например, в нашем случае, вместо того чтобы создавать образ из cratch, a затем устанавливать Ubuntu, лучше использовать образ, уже основанный на Ubuntu. Можно даже использовать образ, в котором уже установлен Nginx.
Родительский образ чаще всего -- предустановленная ОС или другая основа.
Оба типа образов позволяют создавать многократно используемые образы. Однако базовые образы дают больше возможностей для содержимого итогового образа. Помним, что образ является неизменяемым. В него можно добавлять компоненты, но удалять из него ничего нельзя.
Образы Docker - это файлы большого размера, которые изначально сохраняются на компьютере. Для управления ими нужны специальные средства. Интерфейс командной строки (CLI) Docker позволяет управлять образами:
\begin{itemize}
\item выполнять их сборку
\item получать их список
\item удалять и запускать образы
\end{itemize}
Пример Dockerfile для создания образа для веб-сайта.
\begin{itemize}
\item [] \textbf{FROM} - задает базовый (родительский) образ.
\item [] \textbf{RUN} выполняет команду и создаёт слой образа. Используется для установки контейнер пакетов. B
\item [] \textbf{COPY} - копирует в контейнер файлы и папки.
\item [] \textbf{EXPOSE} - задает определенный порт в контейнере
\item [] \textbf{CMD} описывает команду с аргументами, которую нужно выполнить когда контейнер будет запущен. Аргументы могут быть переопределены при запуске контейнера. В файле может присутствовать лишь одна инструкция СMD.
\item [] \textbf{WORKDIR} задаёт рабочую директорию для следующей инструкции.
\item [] \textbf{ENTRYPOINT} - указывает, какой процесс будет - выполняться при запуске контейнера из образа.
\end{itemize}
\begin{verbatim}
# Step 1: Specify the parent Image for the new image
FROM ubuntu:18.04
# Step 2: Update OS packages and Install additional software
RUN apt -y update && apt install -y .........
# Step 3: Configure Nginx environment
CMD service nginx start
# Step 4: Configure Nginx environment
COPY ./default/etc/nginx/sites-available/default
STEP 5: Configure work directory
WORKDIR /app
#STEP 6: Copy website code to container
COPY./website/..
#STEP 7: Configure network requirements
EXPOSE 80:8080
#STEP 8: Define the entrypoint of the process in the container
ENTRYPOINT ["dotnet", "website.dll"]
\end{verbatim}
\subsection{Сборка образа Docker}
Для сборки образов Docker служит команда \code{docker build}. Предположим, что для сборки образа мы используем приведенное выше Определение Dockerfile. Ниже представлен пример команды сборки.
\begin{verbatim}
docker build-t temp-ubuntu
\end{verbatim}
В предыдущем примере сборки последнее сообщение было:
\begin{verbatim}
"Successfully tagged temp-ubuntu: latest"
\end{verbatim}
Тег образа -- это текстовая строка, используемая для указания версии образа.
\subsection{Управление контейнерами}
Зачем присваивать контейнерам имена? Это позволяет запускать несколько экземпляров контейнеров, созданных из одного образа. Имена контейнеров уникальны.Т.е. указанное имя не может использоваться повторно для создания другого контейнера. Единственный способ повторно использовать определенное имя -- удалить предыдущий контейнер.
Контейнер имеет ЖЦ, которым можно управлять и отслеживать состояние контейнера.
\begin{itemize}
\item создание
\item работа
\item приостановка
\item возобновление работы
\item запуск
\item остановка
\item перезапуск
\item принудительная остановка
\item удаление
\end{itemize}
Чтобы вывести список выполняющихся контейнеров используется команда
\begin{verbatim}
docker ps
\end{verbatim}
Чтобы просмотреть все контейнеры во всех состояниях, передайте аргумент \code{-a}. Docker автоматически настраивает локальный реестр образов на компьютере. Просмотреть образы в реестре с помощью команды:
\begin{verbatim}
docker images
\end{verbatim}
Удалить образ из локального реестра Docker с помощью команды \code{docker rmi}. Указывается имя или ID образа, который требуется удалить. Допустим, удалим образ с именем temp-Ubuntu:version-1.0:
\begin{verbatim}
docker rmi temp-Ubuntu:version-1.0
\end{verbatim}
Если образ используется контейнером, удалить ero нельзя. Команда \code{docker rmi} возвращает сообщение об ошибке, в котором указывается контейнер, использующий образ.
Для удаления контейнера служит команда \code{docker rm}
\begin{verbatim}
docker rm happy_wilbur
\end{verbatim}
После удаления контейнера все данные B нем уничтожаются. При планировании хранения данных важно учитывать, что контейнеры являются временными.
Для перезапуска контейнера используется команда docker restart
\begin{verbatim}
docker restart happy_wilbur
\end{verbatim}
Так контейнер получает команду stop, а затем команду start.
Приостанавливает контейнер команда docker pause.
\begin{verbatim}
docker pause happy_wilbur
\end{verbatim}
Приостановка контейнера приводит к приостановке всех процессов. Эта команда позволяет контейнеру продолжить процессы в дальнейшем. Команда docker unpause отменяет приостановку всех процессов в указанных контейнерах.
\subsection{Флаги команды \code{docker run}}
Если перед флагом стоит два тире -- то это его полная форма, флаг с одним тире -- это сокращённый вариант некоего флага. Действуют они одинаково. Например, \code{-р} -- это сокращённая форма флага \code{--port}; \code{-i} (\code{--interactive}) -- поток STDIN поддерживается в открытом состоянии даже если контейнер к STDIN не подключён; \code{-t} (\code{--tty}) -- соединяет используемый терминал с потоками STDIN и STDOUT контейнера.
Для того чтобы получить возможность взаимодействия с контейнером через терминал нужно совместно использовать флаги \code{-i} и \code{-t}.
\begin{verbatim}
docker run -it tmp-ubuntu
\end{verbatim}
Запускает контейнер команда \code{docker run}. Для запуска контейнера из образа нужно просто указать его имя или идентификатор.
\begin{verbatim}
docker run -d tmp-ubuntu
\end{verbatim}
Здесь для запуска контейнера в фоновом режиме следует добавить флаг \code{-d}.
\code{-p} (\code{--port}) порт -- это интерфейс, благодаря которому контейнер взаимодействует с внешним миром. Например: конструкция \code{1000:8000} перенаправляет порт Docker 8000 на порт 1000 компьютера, на котором выполняется контейнер. Если в контейнере работает некое приложение, способное выводить что-то в браузер, то, для того, чтобы к нему обратиться, в нашем случае можно перейти в браузере по адресу \code{localhost:1000}.
\code{-d} (\code{--detach}) запуск контейнер в фоновом режиме. Это позволяет использовать терминал, из которого запущен контейнер, для выполнения других команд во время работы контейнера.
\subsection{Работа с данными в Docker}
Конфигурация хранилища контейнера Docker
При планировании хранения данных контейнерным необходимо помнить - контейнеры являются временными. При уничтожении контейнера все накопленные данные в нем будут потеряны. Поэтому приложения нужно разрабатывать так, чтобы они не полагались на хранилище данных в контейнере (принцип Stateless, все данные из остановленных контейнеров уничтожаются).
Есть два основных способа обмена данными с контейнером -- тома (volume).
Контейнеры могут быть подключены...
Например, внутри контейнера по пути лежит файл индекс.хтмл.
Для монтирования данных используются следующие параметры:
\begin{itemize}
\item [] \code{-V} или \code{--Volume}
\item [] \code{--mount}
\end{itemize}
Их различие в том, что мount более явно заставляет указывать источник монтирования папки. В случае параметра -V указывается два пути "откуда куда". В случае --mount это именованные параметры разделенные запятыми. Пример работы обоих:
\begin{verbatim}
-v /home/docker_data:/usr/share/nginx/html
-mount type=bind,source=/home/docker_data,destination=/usr/share/nginx/html
\end{verbatim}
Так выглядит запуск контейнера с проброшенной папкой:
\begin{verbatim}
docker run -d--name nginx_vol1 -v /home/docker_data:/usr/share/nginx/html:ro nginx
docker run -d--name nginx_vol2 \
-mount type=bind,source=/home/docker_data,destination=/usr/share/nginx/html,ro nginx
\end{verbatim}
B mount мы используем следующие параметры:
\begin{itemize}
\item type -- со значением 'bind' говорит, что мы монтируем папку или файл
\item source -- источник т.е. папка или файл, который мы хотим подключить к контейнеру
\item destination -- папка или файл внутри контейнера
\end{itemize}
\subsection{Работа с сетью в Docker}
Конфигурация сети Docker по умолчанию обеспечивает изоляцию контейнеров в узле Docker. Это позволяет создавать и настраивать приложения, которые могут безопасно взаимодействовать друг с другом.
Docker предоставляет следующие конфигурации сети:
\begin{itemize}
\item Мост (Bridge)
\item Узел (Host)
\item Macvlan
\item Overlay
\item none
\end{itemize}
Сеть типа мост -- конфигурация по умолчанию к контейнерам при запуске, если иное не указано при запуске. Эта сеть является внутренней частной сетью, используемой контейнером. Она изолирует сеть узла от сети контейнера.
По умолчанию Docker не публикует порты контейнеров. Для включения сопоставления портов контейнеров и портов узла Docker используется флаг - publish порта Docker. Флаг publish фактически настраивает правило брандмауэра, которое сопоставляет порты.
ПРИМЕР: Порт 80 контейнера необходимо сопоставить с доступным портом узла. В узле открыт порт 8080:
\begin{verbatim}
--publish 8080:80
\end{verbatim}
Узел (Host) позволяет запускать контейнер непосредственно в сети узла. Эта конфигурация фактически устраняет изоляцию между узлом и контейнером на сетевом уровне. В предыдущем примере предположим, что используем конфигурацию типа Host. Доступ будет по IP-адресу узла. То есть теперь используем порт 80 вместо сопоставленного порта. Помните, что контейнер может использовать только те порты, которые еще не используются узлом.
Macvlan. Контейнер подключается при помощи виртуального интерфейса, подключенного к физическому. При этом у каждого из них есть свой МАС- адрес. В этом случае у контейнеров есть прямой доступ к интерфейсу и субинтерфейсу (vlan) хоста.
Overlay. Использование этого драйвера позволяет строить сети на нескольких хостах с Docker (обычно на Docker Swarm кластере). У контейнеров также есть свои адреса сети и подсети, и они могут напрямую обмениваться данными, даже если они располагаются физически на разных хостах.
\end{document} \end{document}

View File

@ -98,68 +98,493 @@ $\sigma$ -алгебра F - набор подмножеств (подмноже
\item $p_{\xi}(x) \geq 0$ для любого $x$. \item $p_{\xi}(x) \geq 0$ для любого $x$.
\item $\int_{-\infty}^{\infty} p_\xi(x)dx = 1$ \item $\int_{-\infty}^{\infty} p_\xi(x)dx = 1$
\end{enumerate} \end{enumerate}
Любая функция p_\xi(x), удовлетворяющая условиям теоремы может рассматриваться как плотность распределения некоторой случайной величины. Любая функция $p_\xi(x)$, удовлетворяющая условиям теоремы может рассматриваться как плотность распределения некоторой случайной величины.
\subsection{Нормальное распределение} \subsection{Нормальное распределение}
Непрерывная случайная величина $X$ имеет нормальное или гауссовское распределение с параметрами $a$ и $\sigma$, если плотность вероятности ее равна Непрерывная случайная величина $X$ имеет нормальное или гауссовское распределение с параметрами $a$ и $\sigma$, если плотность вероятности ее равна
\[ p_X(x) = \frac{1}{\sigma\sqrt{2\pi}} e^{-\frac{(x-a)^2}{2\sigma^2}}, \] \[ p_X(x) = \frac{1}{\sigma\sqrt{2\pi}} e^{-\frac{(x-a)^2}{2\sigma^2}}, \]
где $a \in R, \sigma > 0$. Обозначение: 𝑁 𝑎, 𝜎 2 , где 𝑎 где $a \in R, \sigma > 0$. Обозначение: $N(a, \sigma^2)$, где $a$ -- математическое ожидание, $\sigma$ -- среднее квадратичное отклонение.
математическое ожидание, 𝜎 среднее квадратичное
отклонение.
Функция распределения: Функция распределения:
\[ F_X(x) = \frac{1}{\sigma\sqrt{2\pi}}\int_{-\infty}^x e^{-\frac{(x-a)^2}{2\sigma^2}} dx = \Phi_0(\frac{x-a}{\sigma}) \]
\subsection{Нормальное распределение} \begin{figure}[H]
\centering
\includesvg[scale=1.01]{pics/04-tsaf-00-norm-disp.svg}
\end{figure}
Нормальное распределение с параметрами а и сигма если её плотность вероятности равна оба графика это нормальное распределение. у синего среднее $0$ у красного среднее $-1$. сигма это разброс относительно среднего. важно, что площадь одинаковая. распределение зарактеризуется двумя параметрами -- среднее и дисперсия. у красной
\[ P_2(x)=\frac{1}{\sqrt{2\pi}}e^{\frac{(x+1)^2}{2\sigma^2}}\]
у синей ($a = 0, \sigma = 1$)
\[ P_1(x)=\frac{1}{\sqrt{2\pi}}e^{-\frac{x^2}{2}} \]
получается у второго будет меньше вариативности, около -1.
и математическое ожидание а и сигма - среднее квадратичное отклонение. \subsection{Стандартное нормальное распределение}
$a = 0, \sigma = 1$ -- параметры, $f(x)=\frac{1}{\sqrt{2\pi}}e^{-\frac{x^2}{2}}$ -- плотность.
(картинка ляма) \[\frac{1}{\sqrt{2\pi}}\int_{-infty}^xe^{-\frac{x^2}{2}}dx = F(x)\] функция распределения,
оба графика это нормальное распределение. у синего среднее 0 у красного среднее 1. сигма это разброс относительно среднего. важно, что площадь одинаковая. распределение зарактеризуется двумя параметрами - среднее и дисперсия. у красной \[\frac{1}{\sqrt{2\pi}}\int_{0}^xe^{-\frac{x^2}{2}}dx = \Phi(x)\] обозначение.
%P_2(x)=\frac{1}{\sqrt{2\pi}}e^{\frac{(x+1)^2}{2\sigma^2}}
(картинка ляма 2) получается у второго будет меньше вариативности около -1 Свойства нормального распределения
\begin{enumerate}
\item Если случайная величина $X$ имеет нормальное распределение $N_{a, \sigma^2}$, то
\[F_X(x) = \Phi_{a, \sigma^2}(x) = \Phi_0(\frac{x-a}{\sigma})\]
\item Если $\xi\sim N_{a, \sigma^2}$, то
\[ P(x_1 < \xi < x_2) = \Phi_{a, \sigma^2}(x_2) - \Phi_{a, \sigma^2}(x_1) = \Phi_0(\frac{x_2-a}{\sigma}) - \Phi_0(\frac{x_1-a}{\sigma}) \]
\end{enumerate}
в нормальном распределении Свойства стандартного нормального распределения
%Ф_0(0) = 0,5 \begin{itemize}
%Ф_0(-ч) = 1-Ф_0(ч) \item $\Phi_0(0) = 0,5$
\item $\Phi_0(-x) = 1-\Phi_0(x)$
\item $P(|\xi| < x) = 1-2\Phi_0(-x) = 2\Phi_0(x) - 1$
\item \textbf{Правило трёх сигм} -- если отклонение случайной величины меньше трёх сигм (стандартных отклонений) мы считаем что вероятность пренебрежимо мала.
\item Если $x\sim N(a,\sigma^2)$, то $P(|\xi - a| < 3\sigma) \approx 0,997$
\end{itemize}
правило трёх сигм Математическим ожиданием случайной величины $Х$ с плотностью $р_X(х)$ называется неслучайная велична
если отклонение случайной величины меньше трёх сигм (стандартных отклонений) мы считаем что вероятность пренебрежимо мала. \[ m_X = \int xp_X(x) dx,\]
если этот интеграл сходится, то есть $\int |x| p_X(x) dx < \infty$. Если $X$ -- дискретная величина, то
\[ m_X = \sum_{i=1}^x x_ip(X=x_i)\]
Характеристики \begin{frm}
%мат ожиданием случайной величины Х с плотностью р_х(х) называется неслучайная велична м_х=нтхр_х(х)дх, если этот интеграл сходится, то есть нтмодуль хи р_х(х)дх меньше инфти Случайность -- это отсутствие полной информации об эксперименте.
\end{frm}
случайность - это отсутствие полной информации об эксперименте. если кубик бросить сто раз в среднем выпадет 3,5. мат ожидание броска 3,5. если кубик бросить сто раз в среднем выпадет значение 3,5. мат ожидание одного броска = 3,5.
свойства матожидания Свойства математического ожидания случайной величины
\begin{enumerate}
\item МО константы равно самой константе: $Eg = g$;
\item Константу $g$ можно выносить за знак МО:
\[ EgX = gEX=gm_x\]
\item МО суммы двух СВ равно сумме МО слагаемых:
\[ E(X+Y) = EX+EY\]
\item МО произведения двух случайных функций $X$ и $Y$ равно произведению МО, если $X$ и $Y$ -- некоррелированные СВ:
\[E(X*Y) = EX*EY\]
\item МО суммы случайной и неслучайной функций равно сумме МО случайной $X$ и неслучайной величины $g$:
\[E\{g+X\} = g+EX\]
\end{enumerate}
дисперсия случайной величины равна нулю. \subsection{Дисперсия случайной величины}
%\overline{DX}=\frac{\sum_{i-1}^{n}(x_i-\overline{X})^2}{n-1} Дисперсией СВ $X$ называется неслучайная величина
\[ D_X = \int (x-m_x)^2 px(x) dx\]
Свойства ДСВ
\begin{enumerate}
\item Дисперсия неслучайной величины равна нулю. $D(g) = 0$
\[ \overline{DX}=\frac{\sum_{i-1}^{n}(x_i-\overline{X})^2}{n-1} \]
\item Дисперсия суммы СВ $X$ и неслучайной $g$ равна ДСВ
\[ D(g+X) = DX\]
\item Д произведения СВ $X$ на константу $g$ равна произведению квадрата константы на ДСВ
\[ D(g*X) = g^2DX\]
\item Д суммы двух случайных функций $X$ и $Y$ равна сумме Д слагаемых, если СВ $X$ и $Y$ некоррелированы
\[ D(X+Y) = DX+D\xi(t)\]
\end{enumerate}
Во временных рядах каждое следующее значение в момент Т зависит от предыдущего в момент Т-1. Например, изменение температуры или цен. Если эта зависимость существует, то существует связь, мера этой связи называется ковариацией. ковариация величины с самой собой это дисперсия. \subsection{Зависимые и независимые случайные величины, ковариация и корреляция}
Во временных рядах каждое следующее значение в момент $t$ зависит от предыдущего в момент $t-1$. Например, изменение температуры или цен. Если эта зависимость существует, то существует связь, мера этой связи называется ковариацией. ковариация величины с самой собой это дисперсия.
Задачи Две случайные величины $X$ и $Y$ называются независимыми, если закон распределения одной из них не зависит от того, какие возможные значения приняла другая величина.
ксит +
кси1,2...т,т-1 белый шум
белый шум когда МО = 0 а дисперсия =сигма квадрат != 0, а ковариация = 0. Ковариация это мера линейной зависимости случайных величин -- $cov(X,Y) = E[(X-E(X))(Y-E(Y))]$.
\begin{enumerate}
\item $cov(X,X) = Var(X)$;
\item $cov(X,Y) = cov(Y,X)$;
\item $cov(cX,Y) = c$;
\item $cov(a+bX)(c+dY) = bd*cov(X,Y)$.
\end{enumerate}
\[ \rho(X,Y) = \frac{cov(X,Y)}{\sqrt{Var(X) * Var(Y)}} = \text{корреляция}\]
модель скользящего среднего Белый шум -- это когда МО = 0, дисперсия $\sigma^2 != 0$, а ковариация = 0.
%X_t = \sum_{i=0}\alpha_i \sum_{t-i} где альфа - сходимый ряд (бесконечная сумма меньше бесконечности)
%X_t = 2_\infty \ksi_{t-1} - 3\ksi_{t-2} + \ksi_t + 1 \subsection{Модель скользящего среднего}
\[ X_t = \sum_{i=0}\alpha_i \sum_{t-i}\]
где альфа - сходимый ряд (бесконечная сумма меньше бесконечности)
мат ожидание = 1 \[X_t = 2_\infty \xi_{t-1} - 3\xi_{t-2} + \xi_t + 1\]
если величины независимы - матожидание = 0
дисперсия суммы (если величины независимы)
%Var(X_t) = Var(2\ksi_{t-1}) - Var(3\ksi_{t-2}) + Var(\ksi_t + 1) = 4Var(\ksi_{t-1}) + 9Var(\ksi_{t+2}) + Var \ksi_t = 14
%Cov(X_t X_{t-1} мат ожидание = 1 , если величины независимы -- матожидание = 0. Дисперсия суммы (если величины независимы)
%x_t = 2\ksi_{t-1} - 3\ksi_{t-2} + \ksi_{t+1}) = \[ Var(X_t) = Var(2\xi_{t-1}) - Var(3\xi_{t-2}) + Var(\xi_t + 1) = 4Var(\xi_{t-1}) + 9Var(\xi_{t+2}) + Var \xi_t = 14\]
%Var(x\pm y) = Var(x) + Var(y) \pm 2cov(x, y), если х и у не кореллируют. \[Cov(X_t X_{t-1}\]
\[Var(x\pm y) = Var(x) + Var(y) \pm 2Cov(x, y),\]
если $x$ и $y$ не кореллируют.
\subsection{Процесс авторегрессии первого порядка (Марковский процесс)}
$y_t = \alpha y_{t-1} + \xi_t$ -- уравнение процесса. $E(y_t) = \alpha E(y_{t-1}) + E(\xi_t)$ -- математическое ожидание процесса.
\begin{equation*}
\begin{gathered}
Var(y_t) = \alpha^2Var(y_{t-1}) + 2\alpha cov(y_{t-1}, \xi_t) + Var(\xi_t) \\
y_t = \alpha y_{t-1} + \xi_t = \alpha(\alpha y_{t-2} + \xi_1) + \xi_t + ... \\
Var(y_t) = \gamma(0) = \frac{\sigma_\xi^2}{1-\alpha^2} (\text{дисперсия процесса})\\
cov(y_t, y_{t+k}) = \gamma(0) = ??\\
E(y_t, y_t) = Var(y_t) = \alpha^2Var(y_{t}) + 2\alpha cov(y_{t-1}, \xi_t) + Var(\xi_t)\\
\sigma_y^2 = \alpha^2\sigma_y^2 + \sigma_\xi^2 \Rightarrow |\alpha| < 1\\
(1-\alpha L) y_t = \xi_t\\
(1-\alpha L)^{-1}(1-\alpha L)y_t = (1-\alpha L)^{-1}\xi_t = \xi_t + \alpha\xi_{t-1}+...+\alpha^k\xi_{t-k}+...\\
y_t = \xi_t + \alpha\xi_{t-1}+...+\alpha^k\xi_{t-k}+... (\text{при условии сходимости ряда})\\
\sum_{j=0}^\infty \alpha^j = \frac{1}{1-\alpha} < \infty \Rightarrow |\alpha| < 1
\end{gathered}
\end{equation*}
\section{Анализ и прогнозирование временных рядов}
Рассмотрим класс динамических объектов поведение которых может быть описано последовательностью наблюдений, полученных в дискретные моменты времени. Значения наблюдений в момент времени $t$ зависят
\begin{enumerate}
\item от значений, зарегистрированных в предыдущие моменты времени,
\item от совокупного воздействия множества случайных факторов.
\end{enumerate}
Полученную последовательность случайных величин, мы будем называть временным рядом.
рассмотрение динамических объектов.
\begin{enumerate}
\item могут быть описаны одномерными или многомерными временными рядами
\item образующие временной ряд последовательности случайных величин не являются независимыми. наблюдаемое значение в момент времени $t$ зависит от значений, зарегистрированных в предыдущие моменты времени
\item закон распределения может изменяться от числа наблюдаемых временных отсчётов и момента наблюдения $k$.
\end{enumerate}
\begin{frm} Временной ряд представляет собой последовательность наблюдений, выполняемых в фиксированные промежутки времени. Предполагается, что временной ряд образует последовательность случайных величин, которая является случайным процессом. \end{frm}
\subsection{Цели АВР}
\begin{itemize}
\item выявление закономерностей изучаемых процессов
\item построение моделей для прогноза;
\item обнаружение изменений свойств с целью контроля и управления процессом, выработка сигналов, предупреждающих о нежелательных последствиях.
\end{itemize}
\subsection{Стационарность рядов}
Ряд называется стационарным в широком смысле (или слабостационарным), если его дисперсия и матожидание существуют и не зависят от времени, а автокорреляционная функция зависит только от величины сдвига.
\begin{equation*}
\begin{gathered}
E(Y_t) = \mu;\\
Var(Y_t) = \sigma^2\\
M_K = \int_a^b(x - mx)^a p(x) dx\\
\gamma(k) = \rho(Y_t, Y_{t-k}) = \frac{cov(Y_t, Y_{t-k})}{\sqrt{Var(Y_t) * Var(Y_{t-k})}}
\end{gathered}
\end{equation*}
Свойства стационарного (в ШС) ВР
\begin{equation*}
\begin{gathered}
EY_t = \mu; Var(Y_t) = \sigma^2\\
Cov(Y_t, Y_{t+\tau}) = E[(Y_T - EY_t)(Y_{t+\tau}-EY_{t+\tau})] = \gamma(\tau) = \gamma_\tau\\
\gamma(0) = (\gamma_0) = cov(Y_t, Y_t) = Var(Y_t)\\
\rho(Y_t, Y_{t+\tau}) = \frac{cov(Y_t,Y_{t+\tau})}{\sqrt{Var(Y_t) * Var(Y_{t+\tau})}} = \frac{\gamma(\tau)}{\gamma(0)} = \rho(\tau) = \rho(0) = \frac{\gamma(0)}{\gamma(0)} = 1
\end{gathered}
\end{equation*}
Чтобы определнить степень зависимости, лучше использовать нормальные величины.
\subsection{Свойство Гауссова процесса}
Функции распределения Гауссова процесса любого порядка определяются вектором математических ожиданий и ковариационной матрицей. Следовательно из слабой стационарности следует строгая стационарность.
Гауссовский белый шум. Модель процесса
\[ Y_t = \xi_t, \xi_t = N(0, \sigma^2)\]
Свойства процесса
\begin{equation*}
\begin{gathered}
EY_t = 0, Var Y_t = \sigma^2\\
\gamma_j = \rho_j = 0 \iff j \neq 0
\end{gathered}
\end{equation*}
Обозначение $\xi_t\sim WN(0, \sigma^2)$
\subsection{Основные определения}
\begin{itemize}
\item Ковариации и корреляции между элементами $y_t$ и $y{t+\tau}$ процесса называются автоковариациями и автокорреляциями.
\item Последовательность автокорреляций называется автокорреляционной функцией процесса.
\item График автокорреляционной функции называется кореллограммой.
\end{itemize}
\subsection{Оператор сдвига}
Оператором сдвига называется такое преобразование временного ряда, которое смещает ряд на один временной интервал назад
\begin{equation*}
\begin{gathered}
LY_t = Y_{t-1}\\
L^kY_t = Y_{t-k}\\
(\alpha L^k)Y_t=\alpha(L^kY_t)=\alpha Y_{t-k}\\
(\alpha L^k + \beta L^m)Y_t= \alpha L^kY_t + \beta L^mY_t = \alpha Y_{t-k} + \beta Y_{t-m}\\
L^{-k}Y_t=T_{t+k}
\end{gathered}
\end{equation*}
например
\begin{equation*}
\begin{gathered}
(1-0.5L)(1+0.6L^4)Y_t = c+\xi_t\\
(1+0.6L^4 - 0,5L - 0.3L^5)Y_t = c+\xi_t\\
Y_t - 0.5Y_{t-1}+0.6Y_{t-4}-0.3Y_{t-5} = c+\xi_t
\end{gathered}
\end{equation*}
\subsection{Теорема Вольда}
Любой стационарный в широком смысле случайный процесс без детерминированной составляющей может быть представлен в виде
\[ Y_t - \mu = \sum_{j=0}^\infty \beta_j \xi_{t-j}, \]
где $\sum_{j=0}^\infty \beta_j < \infty, E(\xi_t) = 0; E(Y_t) = \mu; Var(\xi_t)=\sigma^2; cov(\xi_i, \xi_j) = 0 \iff i \neq j$.
Если в разложении Вольда случайного процесса присутствует только конечное число членов, то такой процесс называется моделью скользящего среднего (MA(q), moving average).
\[Y_t - \mu = \sum_{j=0}^q \beta_j\xi_{t-j} \]
Различные формы представления МА
\begin{itemize}
\item исходный ряд $Y_1, ..., Y_t, ...$
\item центрированный процесс $y_t = Y_t - \mu$
\item $MA(q)$ центрированного процесса $y_t = \sum_{j=0}^q \beta_j\xi_{t-j}$
\item с использованием оператора сдвига $y_t = B(L)\xi_t$
\[ y_t = \sum_{j=0}^q(\beta_jL^j)\xi_{t} = (1 + \beta_1L + \beta_2L^2 + ... + \beta_qL^q) \xi_t\]
\end{itemize}
Обратимый процесс -- это процесс, при котором существует такой оператор, при котором сумма операндов равна единице. Для бесконечных процессов условие обратимости находить очень сложно.
Процесс $y_t=\xi_t+\beta_1\xi_{t-1}+\beta_2\xi_{t-2}+...+\beta_q\xi_{t-q}=B(L)\xi_t$ обратим, если для него существует представление $A(L)y_t=\xi_t$ такое, что $A(L) * B(L) = 1$.
Можем для процесса построить характеристическое уравнение (взять коэффициенты и приравнять нулю). Если корни характеристического уравнения по модулю больше 1, то процесс обратим.
\subsection{Свойства процесса MA(q)}
\begin{enumerate}
\item Процесс MA(q) стационарен, так как он представляет собой частный случай разложения Вольда.
\item Процесс $y_t = (1 + \beta_1L + \beta_2L^2 + ... + \beta_qL^q) \xi_t$ обратим, если корни характеристического уравнения по модулю больше единицы
\[ |\frac{1}{z_j}| < 1, |z_j| > 1, j = 1,2,...,q \]
\end{enumerate}
\subsection{Процесс авторегрессии}
Для того, чтобы процесс авторегрессии был стационарным необходимо, чтобы корни характеристического уравнения $A(z) = 1-\alpha_1\lambda-\alpha_2\lambda^2-...-\alpha_k\lambda^k = 0$ были по модулю больше единицы
Пример. Процесс МА
\begin{equation*}
\begin{gathered}
y_t = \xi_t + \beta_1\xi_{t-1}\\
Var(y_t) = Cov(y_t, y_t) = \gamma(0) = \sigma^2(1+\beta_1^2)\\
Var(y_t) = Var(\xi_t+\beta_1\xi_{t-1}))\\
Cov(y_t, y_{t+k}) = 0; k>1\\
Cov(y_t, y_{t+1}) = \gamma(1) = \sigma_\xi^2\beta_1\\
Cov(y_t, y_{t+1}) = Cov(\xi_t + \beta_1\xi_{t-1}, \xi_{t+k} + \beta_1\xi_{t+k-1})
\end{gathered}
\end{equation*}
Корреляция между $y_t$ и $y_{t+\tau}$вычисляется по формуле
\[ \rho_\tau = \rho(\tau) = \frac{\gamma(\tau)}{\gamma(0)} \]
\subsection{Модель авторегрессии}
\begin{equation}
\begin{gathered}
y_t = \alpha_1y_{t-1}+\alpha_2y_{t-2}+...+\alpha_Py_{t-p}+\xi_t AR\{K\}\\
y_t = \xi_t +\beta_1\xi_{t-1}+ ...+\beta_q\xi_{t-q}; MA(q)\\
y_t = \alpha_1y_{t-1}+...+\alpha_ky_{t-k} = \beta_1\xi_{t-1}; ARMA(p,q)
\end{gathered}
\label{eq:arima-models}
\end{equation}
$ARIMA(p, d, q);$ Если ряд -- стационарный, то строим модель по $d=0$ если нет то строим модель по разности.
Основной инструмент для выбора границ порядков -- автокорреляционная и частная автокорреляционная функция временного ряда. Если в авторегрессии для значения члена то в модели скользящего среднего не может быть больше двух членов.
\newpage
\section{АКФ процесса}
процесс
\begin{equation*}
\begin{gathered}
y_t = 0,6y_{t-1} + 0,2y_{t-2 + \xi_t}, \xi\approx(0,1)\\
cov(y_t, y_{t-1}) = cov(0,6y_{t-1}, y_{t-1}) = cov(0,2y_{t-2}, y_{t-2}) + cov(\xi_{t}, y_{t-1})\\
\gamma(1) = 0,6\gamma(0) + 0,2\gamma(1)\\
\gamma(0) = 0,6\gamma(1) + 0,2\gamma(2) + 1; cov(\xi_t, y_t) = cov(\xi_t, \xi_t-1)\\
\gamma(2) = 0,6\gamma(1) + 0,2\gamma(0)\\
\gamma(3) = 0,6\gamma(2) + 0,2 \gamma(1)\\
\gamma(K) = 0,6\gamma(k-1) + 0,2\gamma(k-2)\\
\gamma(1) = cov(y_t, y_{t-1}) = cov(y_{t-k}, y_{t-k-1})
\end{gathered}
\end{equation*}
\begin{equation*}
\begin{gathered}
y_t = 0,7 + 0,5y_{t-1} + \xi_t \sim N(0,1)\\
var y = 0,5 \\
var(y_t) = var(0,7 + 0,5 y_{t-1} + \xi_t) = var(0,5y_{t-1} + \xi_t)\\
1 = 0,5\lambda\\
1-0,5\lambda = 0\\
\lambda = 2>1 (\text{стационарный})\\
var(y_t) = var(0,5y_{t-1}) + var(\xi_t)\\
var(y_t) = 0,25 var(y_t) + var(\xi_t)\\
0,5 = 0,25 * 0,5 = var(\xi_t)\\
var(\xi_t) = 0,5 - 0,125\\
var(\xi_t) = 0,375.
\end{gathered}
\end{equation*}
\begin{equation*}
\begin{gathered}
y_t = 0,5 + 0,4\xi_{t-1} - 0,05\xi_{t-2} + \xi_t, \xi_t\sim N(0, \sigma^2)\\
var(y_t) = var(0,4\xi_{t-1} - 0,05\xi_{t-1}+\xi_t)\\ %раскрываем скобки
var(y_t) = var(0,4\xi_{t-1}) + var(-0,05\xi_{t-1}) + var(\xi_t)\\ % выносим константы в квадрате
var(y_t) = (0,16 + 0,0025 + 1)var(\xi_t) = 1,1625\sigma^2\\ %далее ищем ковариацию
cov(y_t, y_{t-1}) = E[(y_t - E y_t)(y_{t-1}- E y_{t-1})]\\
E[0,5 + 0,4\xi_{t-1}...] \\ % E от \xi всегда == 0
E((0,4\xi_{t-1} - 0,05 \xi_{t-1} + \xi_t)(0,4\xi_{t-2} - 0,05 \xi_{t-1} + \xi_t)) =\\
=(0,4\sigma^2 - 0,02\sigma^2) = 0,38\sigma^2 = \gamma(1)\\
E((0,4\xi_{t-1} - 0,05\xi_{t-2} + \xi_t)(0,4\xi_{t-3} - 0,05 \xi_{t-4} + \xi_{t-2})) = \\
= -0,05 \sigma^2
\end{gathered}
\end{equation*}
\begin{equation*}
\begin{gathered}
y_t = 2\xi_{t-3} - \xi_{t-2} + 3\xi_{t-1} + \xi_t; \xi_t \sim N(0, \sigma^2)\\
var(y_t) = var(2\xi_{t-3}) + var(-\xi_{t-2}) + var(3\xi_{t-1}) + var(\xi_t)\\
var(y_t) = (4+1+9)\sigma^2 = 15\sigma^2\\
cov(y_t, y_{t-1}) = E[(y_t - E y_t)(y_{t-1}- E y_{t-1})]\\
E(y_t) = 0;\\
cov(y_t, y_{t-1}) = E[(2\xi_{t-3}- \xi_{t-2} + 3\xi_{t-1} + \xi_t)(2\xi_{t-4}- \xi_{t-3} + 3\xi_{t-2} + \xi_{t-1})]=\\
= E[(-2\xi_{t-3}^2 - 3\xi_{t-2}^2 + 3\xi_{t-1}^2)] = \\
= -2\sigma^2\\
\gamma(1) = -2\sigma^2\\
\gamma(2) = 5\sigma^2\\
\gamma(3) = 2\sigma^2\\
\gamma(4) = 0
\end{gathered}
\end{equation*}
\begin{equation*}
\begin{gathered}
y_t = = \alpha_1y_{t-1}+\alpha_2y_{t-2}+...+\alpha_py_{t-p}+\xi_t\\
cov(y_t, y_{t-1}) = cov(\alpha_1y_{t-1}+\alpha_2y_{t-2}+...+\alpha_py_{t-p})\\
\gamma(1) = \alpha_1\gamma(0)+\alpha_2\gamma(1) + ... + \alpha_p\gamma(p-1)\\
\rho(1) = \alpha_1\rho(0) + ... + \alpha_p\rho(p-1)\\
\rho(2) = \alpha_1\rho(0) + \alpha_2\rho(2) + ... + \alpha_p\rho(p-2)\\
\rho(p) = \alpha\rho(p-1) + \alpha_2\rho(p-2)...\alpha_p\rho(0)\\
\end{gathered}
\end{equation*}
Частный коэффициент автокорреляции определяет меру корреляционной связи между значениями элементами $y_t$ и $y_{t+k}$ за вычетом той части, которая определена промежуточными значениями. (то есть как будут связаны т и т-н элементы, если выкинуть все промежуточные).
\begin{equation*}
\begin{gathered}
\rho_{part}(2) = \frac{cov(y_{t-2} - \alpha_1y_{t-1}, y_t)}{\gamma(0)}
\end{gathered}
\end{equation*}
Свойства уравнения Юла-Уокера.
Построение авторегрессионной модели временного ряда по выборке методом Юла-Уокера.
\begin{equation*}
\begin{gathered}
\rho(0) = 1, \rho(1) = 0,8, \rho(2) = 0,6\\
\rho(1) = \alpha_1 + \alpha_2\rho(1)\\
\rho(2) = \alpha_1\rho(1) + \alpha_2\rho(0)\\
\alpha_1=?, \alpha_2=?\\
cov(y_t, y_{t-1}) = 0,8\\
cov(y_t, y_{t-2}) = 0,7\\
var(y_t)=0,9\\
\alpha_1=?, \alpha_2=?, \sigma^2=?
\end{gathered}
\end{equation*}
\subsection{Авторегрессия скользящего среднего}
Уравнение процесса
\[ y_t = \alpha_1y_{t-1} + \xi_t + \beta_1\xi_{t-1} \]
Условие стационарности $|\alpha_1| < 1$. пишем характеристическое уравнение
\begin{equation*}
\begin{gathered}
(1-\alpha_1L)y_t = (1+\beta_1L)\xi_t, \xi_t\simN(0, \sigma^2)\\
1-\alpha_1K=0\\
k=\frac{1}{\alpha_1}\\
|k| = |\frac{1}{\alpha_1}| > 1, \alpha_1 < 1.
\end{gathered}
\end{equation*}
Условие стационарности $|\beta_1| < 1$.
\begin{equation*}
\begin{gathered}
(1+\beta_1L) = 0\\
K=\frac{1}{\beta_1}\\
|K| = |\frac{1}{\beta_1} > 1, |\beta_1|<1
\end{gathered}
\end{equation*}
\begin{equation*}
\begin{gathered}
y_t = \alpha_1y_{t-1} = \xi_t+\beta_1\xi_{t-1}\\
(1-\alpha_1L)y_t = (1+\beta_1L)\xi_t\\
\frac{1}{1+\beta_1L} = (1+\beta L)^{-1}\\
(1 + \beta_1L)^{-1}(1-\alpha L)\\
\frac{1}{1+\beta_1L} = 1 - \beta_1L+\beta_1^2L^2 - ...
\end{gathered}
\end{equation*}
\appendix
\setcounter{secnumdepth}{0}
\section*{Приложения}
\addcontentsline{toc}{section}{Приложения}
\renewcommand{\thesubsection}{\Asbuk{subsection}}
\subsection{Лабораторная работа 1}
Проверка гипотез
Есть процесс, есть модель. Надо проверить, соответствует ли какое-то следующее значение модели.
\begin{equation*}
\begin{gathered}
H_0: \alpha \neq 0;\\
H_1: \alpha = 0;\\
y_t = \alpha; y_{t+1} + \xi
\end{gathered}
\end{equation*}
Нам машина посчитала альфу, но на реальной выборке не получится посчитать 0. значение отклонения делим на дисперсию и получаем p-value, если оно $\geq 0,05$ нулевая гипотеза неверна. то есть это уровень доверия. Если выборка маленькая - можно взять больший коэффициент.
Стационарный процесс. Чтобы его проверить нужно построить автокорреляционную функцию
\begin{equation*}
\begin{gathered}
\rho(K) = \frac{Cov(y_t, t_{t-K})}{\sqrt{Var(y) + Var(y+k)}}\\
\frac{cov(y_t, t_{t-K})}{Var(y)}, cov(y_t, t_{t-K}) = \gamma(k)
\end{gathered}
\end{equation*}
Например, функция получится
\begin{figure}[H]
\centering
\fontsize{12}{1}\selectfont
\includesvg[scale=1.01]{pics/04-tsaf-00-acf.svg}
\end{figure}
видно, что первые три значения (лаги) отличаются (нулевой равен единице, это белый шум, там н е может быть корелляций), а все последующие незначительно отличаются от нуля. Получим одну из моделей \hrf{eq:arima-models} котороые возможно считать по АРИМА с нужными параметрами. По автокорреляции мы видим, какие варианты моделей возможны. для каждой модели строим распечатки и делаем диагностику.
Проверка стационарности процесса. Размер выборки должен быть треть от числа лагов. корреляционная и автокорреляционная функция участвуют в выборе правильной модели. по АКФ мы видим, что может быть самое больше -- два лага.
\[MSE = \tilde{\sigma}^2 = \frac{1}{K}\sum_{i=3}^n(y_i-y_i^M)^2\]
Вычислили на обучающей выборке, затем вычисляем на контрольной выборке. По автокорреляции мы считаем не порядок авторегрессии, а порядок скользящего среднего. А для того чтобы примерно прикинуть порядок p -- нужно вычислить частный коэффициент автокорреляции.
\[ 0\leq q \leq 2, 0\leq p\leq 1\]
\[y_t = \alpha_0 y_{t-1} + ... + \alpha_{K-1} y_{t-k+1} \]
влияние игреков уменьшается чем дальше мы отходим от $\alpha_0$. частный коэффициент показывает влияние предыдущих значений на последующие.
Криетрий Акаике
\begin{equation*}
\begin{gathered}
AIC = \tilde{\sigma}^2 + \frac{r}{N};\\
SIC = \tilde{\sigma}^2 + \frac{r\ln r}{N};
\end{gathered}
\end{equation*}
r = число параметров модели, N - объём выборки. добавляет штраф за переобучение. Шваарц более сильно штрфует, Хеннана-куина штрафует ещё сильнее. Нужно выбрать лучшую модель по критерию Акаике.
Люнг-Бокс говорит о том, насколько мы ошибёмся, если отвергнем нулевую гипотезу (остатки не коррелированы). Если остатки коррелированы - модель плохая, мы не смоделировали зависимость. Критерий гетероскедастичности -- если остатки неоднородны лучше не брать такую модель.
Вероятность ошибиться отвергнув нулевую гипотезу должна быть меньше 0,05.
SARIMA(p,d,q)(P,D,Q,S) -- учёт сезонности.
\end{document} \end{document}

420
04-tss-01-lab-report.tex Normal file
View File

@ -0,0 +1,420 @@
\documentclass[a4paper,fontsize=14bp]{article}
\input{settings/common-preamble}
\input{settings/fancy-listings-preamble}
\input{settings/bmstu-preamble}
%\setcounter{secnumdepth}{0}
\numerationTop
\begin{document}
\thispagestyle{empty}
\makeBMSTUHeader
% ... работе, номер, тема, предмет, ?а, кто
\makeReportTitle{лабораторной}{№ 1}{Введение}{Программное обеспечение телекоммуникационных систем}{}{И.М.Сидякин}
\newpage
\sloppy
\thispagestyle{empty}
\tableofcontents
\newpage
\pagestyle{fancy}
\section{Цель}
Знакомство с языком Erlang, средой исполнения программ на языке.
\section{Задание на часть 1}
\begin{enumerate}
\item Сделайте модуль с именем \code{fib}, в файле \code{fib.erl}.
\item Создайте, не используя хвостовую рекурсию, функцию \code{fib_p} которая получает один аргумент \code{N}, и возвращает \code{N}-е значение последовательности Фибоначчи.
\item Создайте другую функцию без хвостовой рекурсии \code{fib_g} по той же спецификации, используя сторожевые последовательности.
\item Создайте третью функцию \code{tail_fib} по той же спецификации, но с хвостовой рекурсией. (Для хвостовой рекурсии понадобится вспомогательная функция).
\end{enumerate}
\section{Выполнение}
\subsection{Сопоставление с образцом}
Код выполненной лабораторной работы возможно найти по ссылке на \href{https://git.iovchinnikov.ru/ivan-igorevich/erlang-labs}{репозиторий}. Работа выполнена на двух устройствах (с синхронизацией работы через репозиторий):
\begin{verbatim}
Debian 11:
- IDEA 2022.3.1 CE
- ErlangPlugin 0.11.1162.
- Erlang/OTP 23 [erts-11.1.8] [64-bit]
Ubuntu 22.04:
- IDEA 2022.3.2 CE
- ErlangPlugin 0.11.1162.
- Erlang/OTP 25 [erts-13.0.4] [64-bit]
\end{verbatim}
Основные синтаксические конструкции, использованные при написании функций взяты из материалов к лабораторной работе, со слайда 1-27 презентации. Код написанного модуля, вычисляющего число Фибоначчи приведён в листинге \hrf{lst:fib-p}, код юнит-теста написанного модуля в листинге \hrf{lst:fib-p-test}, а снимок экрана, демонстрирующий успешность пройденных тестов на рисунке \hrf{pic:fib-p-pow}.
\begin{lstlisting}[language=Erlang, style=CCodeStyle, caption={Код модуля}, label={lst:fib-p}]
-module(fib).
-export([fib_p/1]).
% <@\lh{dkgreen}{Сопоставление с образцом}@>
fib_p(0) -> 0;
fib_p(1) -> 1;
fib_p(N) -> fib_p(N - 1) + fib_p(N - 2).
\end{lstlisting}
\begin{lstlisting}[language=Erlang, style=CCodeStyle, caption={Код тестов модуля}, label={lst:fib-p-test}]
-module(fib_test).
-include_lib("eunit/include/eunit.hrl").
fib_test_() -> [
{"Test fib_p", fun test_fib_p/0 }
].
test_fib_p() ->
?assertEqual(0, fib:fib_p(0)),
?assertEqual(1, fib:fib_p(1)),
?assertEqual(1, fib:fib_p(2)),
?assertEqual(2, fib:fib_p(3)),
?assertEqual(3, fib:fib_p(4)),
?assertEqual(5, fib:fib_p(5)),
?assertEqual(8, fib:fib_p(6)),
?assertEqual(13, fib:fib_p(7)),
?assertEqual(21, fib:fib_p(8)),
?assertEqual(34, fib:fib_p(9)),
?assertEqual(55, fib:fib_p(10)).
\end{lstlisting}
\begin{figure}[H]
\centering
\includegraphics[width=16cm]{04-tss-01-lab-fib-p.png}
\caption{Запуск и успешное выполнение тестов}
\label{pic:fib-p-pow}
\end{figure}
\subsection{Сторожевая последовательность и ключевое слово \code{when}}
Основные синтаксические конструкции, использованные при написании функций взяты из материалов к лабораторной работе, со слайда 1-28 презентации и из \href{https://www.erlang.org/doc/getting_started/seq_prog.html#matching,-guards,-and-scope-of-variables}{документации} к языку.
Код написанного модуля, вычисляющего число Фибоначчи с помощью сторожевой последовательности приведён в листинге \hrf{lst:fib-g}, код юнит-теста написанного модуля в листинге \hrf{lst:fib-g-test}, а снимок экрана, демонстрирующий успешность пройденных тестов для обеих функций на рисунке \hrf{pic:fib-g-pow}.
\begin{lstlisting}[language=Erlang, style=CCodeStyle, caption={Код модуля}, label={lst:fib-g}]
-module(fib).
-export([fib_p/1, fib_g/1]).
% <@\lh{dkgreen}{Сопоставление с образцом}@>
% ...
% <@\lh{dkgreen}{Сторожевая последовательность}@>
fib_g(N) when N < 1 -> 0;
fib_g(N) when N < 2 -> 1;
fib_g(N) -> fib_g(N - 1) + fib_g(N - 2).
\end{lstlisting}
\begin{lstlisting}[language=Erlang, style=CCodeStyle, caption={Код тестов функции}, label={lst:fib-g-test}]
-module(fib_test).
-include_lib("eunit/include/eunit.hrl").
fib_test_() -> [
{"Test fib_p", fun test_fib_p/0 },
{"Test fib_g", fun test_fib_g/0 }
].
% test_fib_p()/0 -> ...
test_fib_g() ->
?assertEqual(0, fib:fib_g(0)),
?assertEqual(1, fib:fib_g(1)),
?assertEqual(1, fib:fib_g(2)),
?assertEqual(2, fib:fib_g(3)),
?assertEqual(3, fib:fib_g(4)),
?assertEqual(5, fib:fib_g(5)),
?assertEqual(8, fib:fib_g(6)),
?assertEqual(13, fib:fib_g(7)),
?assertEqual(21, fib:fib_g(8)),
?assertEqual(34, fib:fib_g(9)),
?assertEqual(55, fib:fib_g(10)).
\end{lstlisting}
\begin{figure}[H]
\centering
\includegraphics[width=10cm]{04-tss-01-lab-fib-g.png}
\caption{Запуск и успешное выполнение тестов}
\label{pic:fib-g-pow}
\end{figure}
\subsection{Использование хвостовой рекурсии}
Основные синтаксические конструкции, использованные при написании функций взяты из материалов к лабораторной работе, со слайда 1-31 презентации и из \href{https://ru.wikipedia.org/wiki/Хвостовая_рекурсия}{статьи} в Wikipedia.
Код написанного модуля, вычисляющего число Фибоначчи с помощью сторожевой последовательности приведён в листинге \hrf{lst:fib-g}, код юнит-теста написанного модуля в листинге \hrf{lst:fib-g-test}, а снимок экрана, демонстрирующий успешность пройденных тестов трёх функций на рисунке \hrf{pic:fib-g-pow}.
\begin{lstlisting}[language=Erlang, style=CCodeStyle, caption={Код модуля}, label={lst:fib-t}]
-module(fib).
-export([fib_p/1, fib_g/1, tail_fib/1]).
% <@\lh{dkgreen}{Сопоставление с образцом}@>
% ...
% <@\lh{dkgreen}{Сторожевая последовательность}@>
% ...
% <@\lh{dkgreen}{Хвостовая рекурсия}@>
tail_fib(N) -> tfib(N, 0, 1).
tfib(0, Result, Next) -> Result;
tfib(N, Result, Next) -> tfib(N - 1, Next, Result + Next).
\end{lstlisting}
\begin{lstlisting}[language=Erlang, style=CCodeStyle, caption={Код тестов функции}, label={lst:fib-t-test}]
-module(fib_test).
-include_lib("eunit/include/eunit.hrl").
fib_test_() -> [
{"Test fib_p", fun test_fib_p/0 },
{"Test fib_g", fun test_fib_g/0 },
{"Test tail_fib", fun test_tail_fib/0 }
].
% test_fib_p()/0 -> ...
% test_fib_g()/0 -> ...
test_tail_fib() ->
?assertEqual(0, fib:tail_fib(0)),
?assertEqual(1, fib:tail_fib(1)),
?assertEqual(1, fib:tail_fib(2)),
?assertEqual(2, fib:tail_fib(3)),
?assertEqual(3, fib:tail_fib(4)),
?assertEqual(5, fib:tail_fib(5)),
?assertEqual(8, fib:tail_fib(6)),
?assertEqual(13, fib:tail_fib(7)),
?assertEqual(21, fib:tail_fib(8)),
?assertEqual(34, fib:tail_fib(9)),
?assertEqual(55, fib:tail_fib(10)).
\end{lstlisting}
\begin{figure}[H]
\centering
\includegraphics[width=10cm]{04-tss-01-lab-fib-t.png}
\caption{Запуск и успешное выполнение тестов}
\label{pic:fib-t-pow}
\end{figure}
\subsection{Проверка времени выполнения}
Основные синтаксические конструкции, использованные при написании функций взяты из \href{https://www.erlang.org/doc/man/timer.html#tc-3}{документации} к языку и \href{https://www.tutorialspoint.com/erlang/erlang_loops.htm}{статьи}.
Код функций, вычисляющих время исполнения функций приведён в листинге \hrf{lst:fib-time}, снимки экрана, демонстрирующие время выполнения функций рисунке \hrf{pic:fib-t-time}.
\begin{lstlisting}[language=Erlang, style=CCodeStyle, caption={Время выполнения}, label={lst:fib-time}]
say() -> io:format("The result is: ~p~n", [tail_fib(10)]).
exec_time(Depth) -> Start = os:timestamp(),
tail_fib(Depth),
io:format("Depth = ~p, Time ~f sec~n", [Depth, (timer:now_diff(os:timestamp(), Start) / 1000)]).
for(0, _, _) -> [];
for(N, Term, Step) when N > 0 ->
exec_time(N),
[Term | for(N - Step, Term, Step)].
start_time_chack() ->
for(50000, 5000, 5000).
\end{lstlisting}
\begin{figure}[H]
\centering
\begin{subfigure}[b]{0.47\textwidth}
\centering
\includegraphics[width=\textwidth]{04-tss-01-lab-fib-time-p.png}
\caption{\code{fib_p}}
\label{pic:fib-p-time}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.47\textwidth}
\centering
\includegraphics[width=\textwidth]{04-tss-01-lab-fib-time-t.png}
\caption{\code{tail_fib}}
\label{pic:fib-tail-time}
\end{subfigure}
\caption{Время выполнения функций}
\label{pic:fib-t-time}
\end{figure}
\subsection{Контрольные вопросы}
\begin{enumerate}
\item Начиная с \code{N = 20} увеличивать \code{N} с шагом \code{5} до тех пор, пока вычисление \code{fib_p(N)} будет занимать меньше пяти секунд. При каком \code{N} это условие перестает выполняться? Почему так происходит?
Время исполнения превышает \code{5} секунд при подсчёте 30-го значения Фибоначчи. Это происходит, потому что при прямом подсчёте чисел Фибоначчи рекурсивным способом происходит повторное вычисление каждого числа, входящего в состав вычисляемого и дерево рекурсивных вызовов разрастается квадратично.
\item Сколько времени тратится на вычисление \code{tail_fib(10000)}? Почему?
На вычисление 10000-го значения Фибоначчи функцией с хвостовой рекурсией тратится значительно меньше времени (1,371 сек), поскольку функция переиспользует вычисленные на ранних этапах значения для вычисления каждого следующего, что делает её больше похожей на простой цикл в процедурном программировании.
\end{enumerate}
\section{Задание на часть 2}
Квадраты простых чисел и функция Мёбиуса
\begin{enumerate}
\item Создайте модуль с именем \code{mobius}, в файле \code{mobius.erl}.
\item Создайте функцию \code{is_prime}, которая получает аргумент \code{N} и возвращает \code{true}, если число простое или \code{false}, если число не является простым.
\item Сделайте функцию \code{prime_factors}, которая получает аргумент \code{N} и возвращает список простых сомножителей \code{N}.
\item Сделайте функцию \code{is_square_multiple}, которая получает аргумент \code{N}, и возвращает \code{true}, если аргумент делится на квадрат простого числа или \code{false}, если не длится.
\item Наконец, сделайте функцию \code{find_square_multiples(Count, MaxN)}. Эта функция получает \code{Count} -- длину последовательности чисел делящихся на квадрат простого числа, и \code{MaxN} -- максимальное значение, после которого надо прекратить поиск.
\begin{itemize}
\item Если функция находит \code{Count} чисел подряд, делящихся на квадрат простого числа в диапазоне \code{[2, MaxN]}, она должна вернуть первое число из этой последовательности.
\item Если функция не находит серию из \code{Count} чисел делящихся на квадрат простого числа в этом диапазоне, она должна вернуть атом fail.
\end{itemize}
\item \label{item:task-work} Найдите первый ряд из чисел делящихся на квадрат простого числа длиной 4, длиной 5, и длиной 6. Нужно выбрать значение \code{MaxN} равное 30000. Программа должна завершить вычисления в пределах одной минуты.
\end{enumerate}
\section{Выполнение}
\subsection{Функция вычисления простого числа}
Функция последовательно перебирает все числа от «корня из искомого + 1» до 2, возвращая ложь при $N < 2$. Если найдено число, остаток от деления на которое искомого даёт 0 -- искомое не считается простым. В работе используется встроенная в язык функция \code{trunc()}, отсекающая дробную часть передаваемого в аргументе числа.
Код функции приведён в листинге \hrf{lst:is-prime}, сниок экрана, демонстрирующий корректность выполнения функции (с использованием тестов) на рисунке \hrf{pic:is-prime}. Во время работы также была написана функция для проведения ручного тестирования, представленная на рисунке \hrf{pic:say-prime}, демонстрирующем, что число 1111 не является простым..
\begin{figure}[H]
\centering
\includegraphics[width=10cm]{04-tss-01-lab-say-prime.png}
\caption{Ручная проверка работы фукнции}
\label{pic:say-prime}
\end{figure}
\begin{lstlisting}[language=Erlang, style=CCodeStyle, caption={Код функции}, label={lst:is-prime}]
%% region is_prime
is_prime(N) when N < 2 ->
false;
is_prime(N) ->
is_prime(N, 2, trunc(math:sqrt(N)) + 1).
is_prime(_, Max, Max) ->
true;
is_prime(N, I, Max) ->
if
N rem I =:= 0 ->
false;
true ->
is_prime(N, I + 1, Max)
end.
%% endregion
\end{lstlisting}
\begin{figure}[H]
\centering
\includegraphics[width=10cm]{04-tss-01-lab-is-prime.png}
\caption{Запуск и успешное выполнение тестов}
\label{pic:is-prime}
\end{figure}
\subsection{Вычисление сомножителей}
Функция имеет ограничение и выполняется только для тех чисел, на которые делится без остатка исходное (\code{when X rem N == 0}) с 2 до искомого, складывая в список все значения, меньшие, чем «корень из искомого + 1». Код функции приведён в листинге \hrf{lst:prime-factors}, сниок экрана, демонстрирующий корректность выполнения функции на рисунке \hrf{pic:prime-factors}.
\begin{lstlisting}[language=Erlang, style=CCodeStyle, caption={Код функции}, label={lst:prime-factors}]
%region factor
prime_factors(N) ->
prime_factors(N, 2, []).
prime_factors(X, N, Primes) when X rem N == 0 ->
prime_factors(trunc(X / N), 2, [N | Primes]);
prime_factors(X, N, Primes) ->
case N < math:sqrt(X) + 1 of
true ->
prime_factors(X, N + 1, Primes);
false ->
[X | Primes]
end.
%endregion
\end{lstlisting}
\begin{figure}[H]
\centering
\includegraphics[width=15cm]{04-tss-01-lab-prime-factors.png}
\caption{Демонстрация работы функции}
\label{pic:prime-factors}
\end{figure}
\subsection{Функция вычисления делимости на квадрат простого числа}
Функция перебирает список полученных функцией \code{prime_factors} множителей на наличие повторений, последовательно выделяя головной элемент списка и вызывая функцию \code{lists:member}\footnote{\href{https://www.tutorialspoint.com/erlang/erlang_member.htm}{примеры использования функции}}. Для пустого списка функция возвращает ложь. Например, для числа 111 (\hrf{is-sq-mul1}) функция возвращает ложь, а для 10000 (\hrf{is-sq-mul2}) истину. Код функции представлен в листинге \hrf{lst:is-sq-mul}, а результаты проверки представлены на рисунке \hrf{pic:is-sq-mul}
\begin{lstlisting}[language=Erlang, style=CCodeStyle, caption={Код функции}, label={lst:is-sq-mul}]
%% region is_square_multiple
is_square_multiple(N)->
is_square_multiple_fun(prime_factors(N)).
is_square_multiple_fun([H | T]) ->
case lists:member(H, T) of
true -> true;
false -> is_square_multiple_fun(T)
end;
is_square_multiple_fun([]) ->
false.
%% endregion is_square_multiple
\end{lstlisting}
\begin{figure}[H]
\centering
\begin{subfigure}[b]{0.47\textwidth}
\centering
\includegraphics[width=\textwidth]{04-tss-01-lab-mul1.png}
\caption{}
\label{pic:is-sq-mul1}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.47\textwidth}
\centering
\includegraphics[width=\textwidth]{04-tss-01-lab-mul2.png}
\caption{}
\label{pic:is-sq-mul2}
\end{subfigure}
\caption{}
\label{pic:is-sq-mul}
\end{figure}
\subsection[Функция-обёртка \code{find\_square\_multiples}]{Функция-обёртка \code{find_square_multiples}}
Функция работает с ограничением по длине найденных значений в списке (\code{when length(FoundSquareMultipleNumber) == Count}) и последовательно уменьшает максимальное число до которого нужно выполнять поиск (ищет не с начала, а с конца). Для максимального значения 2 -- нужно прекратить поиск, в этом случае функция выводит атом \code{fail}. Если проверка \code{is_square_multiple(TestNumber)} возвращает истину, число прибавляется (конкатенируется) к списку уже найденных. Код функции представлен в листинге \hrf{lst:find-sq-mul}. Для проверки работы был написан тест с предложенными в методическом пособии значениями (листинг \hrf{lst:sq-mul-test}). Тест пройден успешно (рисунок \hrf{pic:sq-mul-test}).
\begin{lstlisting}[language=Erlang, style=CCodeStyle, caption={Код тестов}, label={lst:sq-mul-test}]
test_find_square_multiples() ->
?assertEqual(fail, mobius:find_square_multiples(3, 20)),
?assertEqual(48, mobius:find_square_multiples(3, 50)).
\end{lstlisting}
\begin{figure}[H]
\centering
\includegraphics[width=12cm]{04-tss-01-lab-sq-mul-test.png}
\caption{Результат прохождения теста}
\label{pic:sq-mul-test}
\end{figure}
\begin{lstlisting}[language=Erlang, style=CCodeStyle, caption={Код функции}, label={lst:find-sq-mul}]
%% region find_square_multiples
find_square_multiples(Count, MaxN) ->
find_square_multiples_fun(Count, MaxN, []).
find_square_multiples_fun(Count, CurrentNumber, FoundSquareMultipleNumber)
when length(FoundSquareMultipleNumber) == Count ->
CurrentNumber + 1;
find_square_multiples_fun(_, 2, _) ->
fail;
find_square_multiples_fun(Count, TestNumber, FoundSquareMultipleNumber) ->
case is_square_multiple(TestNumber) of
true -> FoundsNumber = FoundSquareMultipleNumber ++ [TestNumber];
false -> FoundsNumber = []
end,
find_square_multiples_fun(Count, TestNumber - 1, FoundsNumber).
%% endregion find_square_multiples
\end{lstlisting}
Для выполнения п. \hrf{item:task-work} был описан цикл, последовательно увеличивающий число находимых множителей. Результат работы цикла с замерами времени приведён на рис. \hrf{pic:final}
\begin{figure}[H]
\centering
\includegraphics[width=17cm]{04-tss-01-lab-final.png}
\caption{Результат выполнения задания}
\label{pic:final}
\end{figure}
\end{document}

View File

@ -89,5 +89,293 @@
Зная характеристики камеры мы можем по размытому изображению определить расстояние. Зная характеристики камеры мы можем по размытому изображению определить расстояние.
\section{Определение параметров объекта}
Удалённость от камеры, размеры объекта, кинематические характеристики (скорость, направление движения).
\subsection{Метод пропорций}
должны быть априорные данные об объекте, для которого мы хотим определять характеристики. Если нет данных об объекте -- должны быть размеры объектов в сцене (дорожные знаки, разметка, и так далее), на основе данных о сцене и изображения объекта на сцене можем вычислить нужные параметры.
Исходные данные:
\begin{itemize}
\item $H_{o}$ -- высота объекта в пикселях $h$ -- априорная высота (в физическом мире);
\item $\alpha_{k}, \beta_{k}$ -- характеристики камеры -- углы обзора кадра по вертикали и горизонтали, соответственно.
\item $H_{k}$, $W_{k}$ -- высота и ширина кадра
\end{itemize}
найти $l$ -- расстояние до объекта, $v$ -- скорость.
\begin{figure}[H]
\centering
\fontsize{14}{1}\selectfont
\includesvg[scale=1.01]{pics/04-vora-00-obj-height.svg}
\end{figure}
Высота объекта находится по формулам
\begin{equation*}
\begin{gathered}
\tg(\alpha) = \frac{h}{l} \approx \alpha_{o}\\
\frac{\alpha_o}{\alpha_k} = \frac{H_o}{H_k}\Rightarrow \alpha_o = \frac{\alpha_k \cdot H_o}{H_k}\\
l = \frac{h \cdot H_k}{\alpha_k \cdot H_o}
\end{gathered}
\end{equation*}
Для вычисления скорости нужно взять два кадра с известным временем между ними.
\begin{equation*}
\begin{gathered}
v=\sqrt{v_x^2, v_y^2, v_z^2}\\
\frac{\Delta\alpha_o}{\alpha_k} = \frac{\Delta Y_o}{H_k}\Rightarrow \Delta\alpha_o = \frac{\alpha_k \cdot \Delta Y_o}{H_k}\\
\tg\Delta\alpha_o = \frac{\Delta y}{l} \approx \Delta\alpha_o\\
\Delta y = \frac{\alpha_k\cdot\Delta Y_o\dot l}{H_k}\\
v_y = \frac{\Delta y}{N\cdot\tau} = \frac{\alpha_k\cdot\Delta y_o\cdot l}{H_k\cdot N\tau}
\end{gathered}
\end{equation*}
где $N$ -- число кадров между замерами, а $\tau$ -- длительность одного кадра (из информации о кадре (fps, frames pre second, кадров в секунду)).
\begin{figure}[H]
\centering
\fontsize{12}{1}\selectfont
\includesvg[scale=1.01]{pics/04-vora-00-obj-moving.svg}
\end{figure}
$v_x$ тоже касательный считается по аналогии
\[ v_x = \frac{\beta_k\cdot\Delta_o\cdot l}{W_k \cdot N\tau} \]
Для $v_z$ формула отличается, так как движение радиальное и мы фактически считаем расстояние до объекта
\[ v_z = \frac{\Delta z}{N\tau} = \frac{\Delta l(t)}{N\tau} = \frac{h\cdot H_k}{N\tau\alpha_k}\cdot\left(\frac{1}{H_o(t+N\tau)} - \frac{1}{H_o(t)}\right) \]
Основной недостаток метода в том, что нам нужны априорные знания об объектах.
\subsection{Метод pinhole}
\begin{figure}[H]
\centering
\fontsize{14}{1}\selectfont
\includesvg[scale=1.01]{pics/04-vora-00-pinhole.svg}
\end{figure}
Мы знаем, что все лучи проходят через одну точку, тогда стоит задача по координатам $(X, Y, Z)$ получить двумерные координаты $(u, v)$.
\begin{figure}[H]
\centering
\fontsize{14}{1}\selectfont
\includesvg[scale=1.01]{pics/04-vora-00-pinhole-iso.svg}
\end{figure}
\[ \begin{pmatrix} X\\Y\\Z \end{pmatrix} = R \begin{pmatrix} X_0\\Y_0\\Z_0 \end{pmatrix} + T \]
Матрица поворота, вектор $T$ отвечает за центр масс объекта. Координаты $(X, Y, Z)$ приводятся к двумерным $x', y'$, масштабируются $f(x)$ и сдвигаются $c(x)$.
\begin{equation*}
\begin{gathered}
x' = \frac{x}{Z}; y' = \frac{y}{Z} \\
u = f_x\cdot x' + c_x\\
v = f_y\cdot y' + c_y\\
\end{gathered}
\end{equation*}
\[ \begin{pmatrix} u \\ v \end{pmatrix} = P \cdot \begin{pmatrix} x \\ y \\ z \end{pmatrix} \]
где $P$ -- проекционная матрица.
\[ P = \begin{pmatrix} f(x) & 0 & c(x) \\ 0 & f(y) & c(y) \\ 0 & 0 & 1 \end{pmatrix} \]
В данной задаче возникает проблема искажений (аберрации, дисторсия).
\[x'' = x'(1+k_1*r^2 + k_2*r^4 + k_3*r^6) + 2p_1x'y' + p_2(r^2+2x'^2)\]
\[r^2 = x'^2 + y'^2\]
аналошгично $y'$
\[y'' = y'(1+k_1*r^2 + k_2*r^4 + k_3*r^6) + p_1(r^2+2y'^2) + 2p_2x'y'\]
По изображению можем получить все коэффициенты и посчитать координаты $u, v$. Коэффициенты находятся путём калибровки камеры. И используются для обратного вычисления координат.
\begin{figure}[H]
\centering
\fontsize{12}{1}\selectfont
\includesvg[scale=1.01]{pics/04-vora-00-blurring.svg}
\end{figure}
$A$ -- не чёткое изображение, на рисунке -- границы размытия $\sigma$. Цель минимизировать ошибку, в идеале, получить ошибку, равную нулю.
\[error(A) = \sum_i\left( \begin{pmatrix} u_i\\v_i \end{pmatrix} - \begin{pmatrix} u_i^A\\v_i^A \end{pmatrix} \right)^2 \to \min(R, T)\]
В иделаьном случае матрицы будут равны, а их разность равняться нулю.Ошибка возводится в квадрат для увеличения чувствительности и удобства распознавания.
\[ \begin{pmatrix} u_i^A\\v_i^A \end{pmatrix} = P \begin{pmatrix} x_i\\y_i\\z_i \end{pmatrix} \]
Зная, что матрица $P$ -- это проекционная матрица, мы можем варьировать матрицы поворота и сдвига $(R, T)$, которые входят в её состав. \textbf{Perspective Points Problem} -- проблема того что реальная точка может восстановиться в две и нужно понять у какой коэффициент ошибки меньше.
\subsection{Определение на изображении планарных (плоских) объектов}
Гомография.
\begin{figure}[H]
\centering
\fontsize{12}{1}\selectfont
\includesvg[scale=1.01]{pics/04-vora-00-homographia.svg}
\end{figure}
Как понять, что объект плоский? Все точки объекта связаны определёнными геометрическими преобразованиями и возможно построить между ними зависимостями. Координаты объекта -- $u,v$; координаты объекта на изображении -- $\tilde{u}, \tilde{v}$
\begin{equation*}
\begin{gathered}
\tilde{u} = \frac{h_{11}u + h_{12}v + h_{13}}{h_{31}u + h_{32}v + h_{33}}\\
\tilde{v} = \frac{h_{21}u + h_{22}v + h_{13}}{h_{31}u + h_{32}v + h_{33}}\\
\begin{pmatrix} \tilde{u}\\\tilde{v}\\1 \end{pmatrix} = H \cdot \begin{pmatrix} u\\ v\\ 1 \end{pmatrix}
\end{gathered}
\end{equation*}
Матрица гомографии
\[ H = \begin{pmatrix} h_{11}&h_{12}&h_{13}\\h_{21}&h_{22}&h_{23}\\h_{31}&h_{32}&h_{33} \end{pmatrix} \]
Основная задача -- поиск точек, подверженных гомографии. Такой поиск называется схема RANSAC.
\section{Стереозрение}
Основано на разделе под названием эпиполярная геометрия.
берём две камеры, замеряем их углы обзора.
\begin{figure}[H]
\centering
\fontsize{12}{1}\selectfont
\includesvg[scale=1.01]{pics/04-vora-00-stereobase.svg}
\end{figure}
d -- стереобаза (расстояние между двумя камерами)
\[ r = \frac{f(x_1-x_2)}{d} \]
Преимущество в лёгкости, недостаток в сложности настройки подобной системы (две абсолютно идентичные камеры будут всё равно иметь свои искажения, углы зрения и так далее). Частоты камер могут не совпадать. Оси камер должны быть строго параллельны друг другу (соосны).
\begin{figure}[H]
\centering
\fontsize{12}{1}\selectfont
\includesvg[scale=1.01]{pics/04-vora-00-stereoimg.svg}
\end{figure}
В результате получаем стереопару. Библиотека \code{calib3d}. Получив стереопару возможно строить карту глубин изображения (depth map). \code{cvStereoBMState} block matching. ищем пиксель с одной камеры в полосе другой камеры. Есть другой вид функций -- \code{...GC...} -- graph cut, вычислительно более сложны, остаются только ветки с наименьшими ошибками сопоставления. \footnote{Bradski - Learning OpenCV, Multiple View Geometry in Computer Vision - Hartley, Zisserman}
\subsection{Ректификация}
\begin{figure}[H]
\centering
\fontsize{12}{1}\selectfont
\includesvg[scale=1.01]{pics/04-vora-00-stereorectif.svg}
\end{figure}
Для определения объекта далее берутся характерные точки и признаки на одном изображении и ищутся на другом изображении.
\section{Вопросы к РК}
\begin{enumerate}
\item Этапы работы с изображениями
\item Характеристики камеры
\item Метод пропорции
\item Стереозрение
\item Pinhole-камера
\item Гомография
\item Учёт искажения линз (дисторсии)
\item Метод определения расстояния до объекта, анализа размытия изображения
\begin{itemize}
\item из-за расфокусировки
\item из-за движения камеры или объекта
\end{itemize}
\item Методы оценки размытия:
\begin{itemize}
\item Elder-Zucker,
\item Hu-Haan,
\item Akimov-Vatolin
\end{itemize}
\end{enumerate}
\section{Анализ размытия изображения}
Зная точку фокусировки возможно определить, на каком расстоянии находится объект. Получается, не нужна стереопара.
\begin{figure}[H]
\centering
\fontsize{12}{1}\selectfont
\includesvg[scale=1.01]{pics/04-vorpa-00-1-focus-point.svg}
\end{figure}
$\sigma$ -- пиксели, размытие, $r$ -- расстояние, метры.
В отмеченных областях не можем мерить этим методом -- чувствительность метода будет невысокая (расстояние меняется незначительно, а размытие значительно, или наоборот). Возможно менять точку фокусировки. Есть неоднозначность -- одно и тоже размытие возможно на разных расстояниях. Но из-за разницы отношений возможно изменить расстояние до камеры и понять, к какой точке ближе.
\begin{figure}[H]
\centering
\fontsize{12}{1}\selectfont
\includesvg[scale=1.01]{pics/04-vorpa-00-2-blurring.svg}
\end{figure}
плоскость фокусировки -- это место, где объект чёткий. $D_{o}$ -- расстояние до объекта, $D_{f}$ -- расстояние от объектива до сфокусированного изображения, $D_{r}$ -- расстояние до размытого.
\begin{equation*}
\begin{gathered}
\frac{1}{f} = \frac{1}{D_o} + \frac{1}{D_f} \\
\sigma = \frac{B D_r-D_f}{d_f}; D_r = D_f\pm\frac{D_f*\sigma}{B}
\end{gathered}
\end{equation*}
цель найти $D_o$.
Если объект в точке фокусировки $D_f = d_r, \sigma=0$. $D_f = \frac{f D_o}{d_o - f}$ и это не расстояние до объекта, а расстояние до сфокусированного объекта $D_{of}$.
\[D_o = \frac{B D_{of} f}{(B+\sigma)f - \sigma D_{of}}\]
Размытие зависит не только от расстояния, но может возникать/изменяться и из-за других факторов, таких как качество изображения, света, свойств объекта и цветов. Разница размытий в разных цветах $F$ -- фокусное расстояние.
\[D_o = \frac{\sigma_r F_r F_g}{\sigma_rF_r+(F_g-F_r)B}\]
Размытие от движения. Формула будет как в стереозрении, но только не две камеры, а одна камера в разные моменты времени
\begin{figure}[H]
\centering
\fontsize{12}{1}\selectfont
\includesvg[scale=1.01]{pics/04-vorpa-00-3-move-blur.svg}
\end{figure}
$f$ -- фокусное расстояние, $m$ - расстояние движения камеры, $d$ -- расстояние до объекта
\[ \sigma = \frac{fm}{d}; d = \frac{fm}{\sigma} \]
Размытие будет зависеть от угла движения и других факторов, которые должны попадать в формулу. Формулы отдельные и для расфокусировки и для движения объекта. Все размытия нужно перевести из пикселей в метры
\[\sigma = \sigma_{pix}S_x\]
$S_x$ -- размер одного пикселя светочувствительной матрицы -- известная характеристика (например, $7*10^{-6}$).
\subsection{Оценка размытия}
Как автоматизировать расчёт размытия? Возможно только получить некоторую оценку, то есть не точное вычисление.
\begin{itemize}
\item Метод Elder-Zucker. Есть изображение, берём размытый объект.
\begin{figure}[H]
\centering
\fontsize{12}{1}\selectfont
\includesvg[scale=1.01]{pics/04-vorpa-00-4-blurred-object.svg}
\end{figure}
объект 1 находится перед размытым -- более чёткий, чем 2. в данном случае удобнее взять координату $y$. Берём изображение и преобразовываем в сигнал.
\begin{figure}[H]
\centering
\fontsize{12}{1}\selectfont
\includesvg[scale=1.01]{pics/04-vorpa-00-5-integrated-method.svg}
\caption{изменение расстояния относительно изменения интенсивности пикселя}
\end{figure}
Необходимо найти границы перехода и его центр. Предлагается найти первую производную ($b'(x)$ -- зависимость изменения интенсивности от координаты). Вторая производная ($b''(x) = 0$, $c$ -- центр размытия). Третья производная -- находим точки перехода (перепада) $b'''(x)$. Для каждого вычисления нужно выставить пороги, при которых мы точку считаем нулём.
\item Метод Hu-Haan. Аналогично есть изображение и рассматриваем сигнал, зависящий от одной координаты.
\begin{figure}[H]
\centering
\fontsize{12}{1}\selectfont
\includesvg[scale=1.01]{pics/04-vorpa-00-6-blurring-method.svg}
\end{figure}
Взяли исходный сигнал и добавили дополнительное размытие с известным коэффициентом $\sigma_a$. Получаем сигнал. Взяли исходный сигнал и добавили дополнительное размытие с известным коэффициентом $\sigma_b$. Получаем сигнал. Находим разницу между переразмытыми сигналами ($ba(x) - bb(x)$) разницу между исходным и первично размытым. Находим отношение
\[ratio(x) = \frac{b(x) - ba(x)}{ba(x) - bb(x)}\]
Если отношение маленькое - размытие исходного близко к $ba$. Если отношение максимальное - изначальное изображение близко к максимальному. Строим график и определяем $r_{max}$.
\[\sigma \approx \frac{\sigma_a\sigma_b}{(\sigma_b - \sigma_a)r_{max}(x) + \sigma_b}\]
\item Метод Акимова-Ватолина-Смирнова. Представляет собой совокупность двух предыдущих. Получаем сигнал от одной координаты.
\begin{figure}[H]
\centering
\fontsize{12}{1}\selectfont
\includesvg[scale=1.01]{pics/04-vorpa-00-7-combine.svg}
\end{figure}
идеальный случай, размытия нет, резкий переход.
Если размытие есть (предполагаем что размытие подвержено гауссову закону распределения)
\[i(x) = f(x) \otimes g(x, \sigma) \]
и тогда переход - это и есть размытие. Что сделать, чтобы найти сигма-размытие -- переразмываем один раз и получаем известное $\sigma_1 \Rightarrow i_1(x)$ находим первую производную для обоих изображений. Берём отношение производных и получаем некоторый график ($\Omega$-образный), по нему можем определить точки, где график будет около нуля и расстояние между ними это и будет размытие.
\end{itemize}
\end{document} \end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

197
pics/04-bdisdt-00-roc.svg Normal file
View File

@ -0,0 +1,197 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg8"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-bdisdt-00-roc.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="168.14713"
inkscape:cy="433.61837"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
inkscape:window-width="1533"
inkscape:window-height="1205"
inkscape:window-x="513"
inkscape:window-y="83"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid10" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect12"
width="78.052086"
height="78.052086"
x="22.489584"
y="71.4375" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 22.489583,95.249999 H 100.54167"
id="path14" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 22.489583,123.03125 H 100.54167"
id="path16" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 60.854166,71.437499 V 149.48958"
id="path18" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 41.010416,71.437499 V 149.48958"
id="path20" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 80.697916,71.437499 V 149.48958"
id="path22" />
<path
style="fill:none;stroke:#0000c1;stroke-width:1.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="M 22.489583,149.48958 V 123.03125 H 41.010416 V 95.249999 l 19.84375,-23.8125 h 39.687504"
id="path24" />
<circle
style="fill:none;stroke:#000000;stroke-width:1.265;stroke-miterlimit:4;stroke-dasharray:none"
id="path851"
cx="41.010418"
cy="95.25"
r="3.96875" />
<path
style="fill:none;stroke:#008200;stroke-width:1.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="M 22.489583,149.48958 41.010416,95.249999 100.54167,71.437499"
id="path853" />
<path
style="fill:#00c200;stroke:none;stroke-width:2.41482;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
d="m 230.52405,346.03852 v -13.33365 l 36.23922,-14.50293 c 19.93158,-7.97662 36.52333,-14.61507 36.87057,-14.75213 0.5005,-0.19755 0.63135,5.57177 0.63135,27.83657 v 28.08578 h -36.87057 -36.87057 z"
id="path855"
transform="scale(0.26458333)" />
<path
style="fill:#00c200;fill-opacity:1;stroke:none;stroke-width:2.41482;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 305.78741,330.96161 0.007,-28.41054 35.72716,-14.25169 c 19.64993,-7.83844 36.1249,-14.39718 36.61103,-14.57498 0.8374,-0.30629 0.88389,1.93721 0.88389,42.66223 v 42.98553 h -36.61803 -36.61803 z"
id="path857"
transform="scale(0.26458333)" />
<path
style="fill:#00c200;fill-opacity:1;stroke:none;stroke-width:2.41482;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 172.44028,357.656 v -1.71615 l 27.90546,-11.1638 c 15.34801,-6.14009 28.07593,-11.16357 28.28428,-11.16329 0.20834,2.8e-4 0.3788,5.79626 0.3788,12.87995 v 12.87945 h -28.28427 -28.28427 z"
id="path859"
transform="scale(0.26458333)" />
<path
style="fill:#00c200;fill-opacity:1;stroke:none;stroke-width:2.41482;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 157.91653,420.92092 0.12908,-43.50711 2.12837,-0.62841 c 6.33616,-1.87077 11.23819,-7.39536 12.0925,-13.62829 l 0.3111,-2.26973 h 28.21562 28.21562 v 51.77032 51.77032 h -35.61068 -35.61068 z"
id="path861"
transform="scale(0.26458333)" />
<path
style="fill:#00c200;fill-opacity:1;stroke:none;stroke-width:2.41482;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 122.94281,462.2635 c 0,-0.41471 28.82188,-84.40442 29.03854,-84.62108 0.14073,-0.14073 0.25588,18.87389 0.25588,42.25471 v 42.51058 h -14.64721 c -8.05597,0 -14.64721,-0.0649 -14.64721,-0.14421 z"
id="path863"
transform="scale(0.26458333)" />
<path
style="fill:#00c200;fill-opacity:1;stroke:none;stroke-width:2.41482;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 88.220801,563.80178 c 0.129983,-0.34724 7.588256,-22.16654 16.573939,-48.48733 l 16.33761,-47.85597 h 16.56259 16.56259 v 48.48732 48.48732 H 121.121 c -26.298552,0 -33.087763,-0.13028 -32.900199,-0.63134 z"
id="path865"
transform="scale(0.26458333)" />
<path
style="fill:#00c200;fill-opacity:1;stroke:none;stroke-width:2.41482;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 155.77276,515.9458 c 0,-48.1506 0.007,-48.48732 1.01016,-48.48732 0.56119,0 1.01015,-0.33672 1.01015,-0.75762 0,-0.66627 4.29315,-0.75761 35.60788,-0.75761 h 35.60787 v 49.24494 49.24493 h -36.61803 -36.61803 z"
id="path867"
transform="scale(0.26458333)" />
<path
style="fill:#00c200;fill-opacity:1;stroke:none;stroke-width:2.41482;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 230.52405,515.18819 v -49.24494 h 36.87057 36.87057 v 49.24494 49.24493 h -36.87057 -36.87057 z"
id="path869"
transform="scale(0.26458333)" />
<path
style="fill:#00c200;fill-opacity:1;stroke:none;stroke-width:2.41482;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 230.52405,412.6577 v -51.77032 h 36.87057 36.87057 v 51.77032 51.77032 h -36.87057 -36.87057 z"
id="path871"
transform="scale(0.26458333)" />
<path
style="fill:#00c200;fill-opacity:1;stroke:none;stroke-width:2.41482;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 305.78042,412.6577 v -51.77032 h 36.61803 36.61803 v 51.77032 51.77032 h -36.61803 -36.61803 z"
id="path873"
transform="scale(0.26458333)" />
<path
style="fill:#00c200;fill-opacity:1;stroke:none;stroke-width:2.41482;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 305.78042,515.18819 v -49.24494 h 36.61803 36.61803 v 49.24494 49.24493 h -36.61803 -36.61803 z"
id="path875"
transform="scale(0.26458333)" />
<path
style="fill:#e3a8c2;fill-opacity:1;stroke:none;stroke-width:2.41482;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 230.52405,300.52194 c 0,-14.53378 0.13796,-26.78457 0.30658,-27.22398 0.27565,-0.71833 3.99491,-0.79892 36.87057,-0.79892 h 36.56399 l -0.007,12.50063 -0.007,12.50064 -36.86341,14.72334 -36.8634,14.72335 z"
id="path877"
transform="scale(0.26458333)" />
<path
style="fill:#e3a8c2;fill-opacity:1;stroke:none;stroke-width:2.41482;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 305.78042,284.6749 v -12.17586 h 30.13621 c 16.57492,0 30.04152,0.0925 29.92577,0.2056 -0.14941,0.14598 -46.94861,18.96358 -59.43064,23.89662 -0.49452,0.19544 -0.63134,-2.3893 -0.63134,-11.92636 z"
id="path879"
transform="scale(0.26458333)" />
<path
style="fill:#e3a8c2;fill-opacity:1;stroke:none;stroke-width:2.41482;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 169.21286,349.53711 -0.86342,-1.31775 30.33427,-36.40036 30.33426,-36.40036 -0.13084,26.11695 -0.13085,26.11695 -28.28427,11.32649 c -15.55635,6.22956 -28.75934,11.45008 -29.33999,11.60116 -0.76096,0.19798 -1.29681,-0.0933 -1.91916,-1.04308 z"
id="path881"
transform="scale(0.26458333)" />
<path
style="fill:#e3a8c2;fill-opacity:1;stroke:none;stroke-width:2.41482;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 87.623055,507.99085 -0.03559,-40.53237 h 13.889595 c 7.63928,0 13.8896,0.0794 13.8896,0.17637 0,0.23925 -26.001001,76.32247 -26.952702,78.86806 -0.681348,1.82246 -0.758801,-1.949 -0.790903,-38.51206 z"
id="path883"
transform="scale(0.26458333)" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="6.614583"
y="111.125"
id="text887"><tspan
sodipodi:role="line"
id="tspan885"
x="6.614583"
y="111.125"
style="stroke-width:0.264583">TPR</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="56.885414"
y="157.42708"
id="text891"><tspan
sodipodi:role="line"
id="tspan889"
x="56.885414"
y="157.42708"
style="stroke-width:0.264583">FPR</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -0,0 +1,363 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg5240"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-cedd-00-common-device.svg">
<defs
id="defs5234" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="369.1069"
inkscape:cy="494.04802"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
inkscape:window-width="1533"
inkscape:window-height="1205"
inkscape:window-x="136"
inkscape:window-y="162"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid5242" />
</sodipodi:namedview>
<metadata
id="metadata5237">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 61.078077,153.60921 v 10.58333 L 47.84891,158.90087 Z"
id="path5262-5" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="13.229166"
y="95.25"
id="text5246"><tspan
sodipodi:role="line"
id="tspan5244"
x="13.229166"
y="95.25"
style="stroke-width:0.264583">Физический процесс</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="18.405077"
y="123.64999"
id="text5250"><tspan
sodipodi:role="line"
id="tspan5248"
x="18.405077"
y="123.64999"
style="stroke-width:0.264583">Датчик</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="44.979168"
y="105.83333"
id="text5254"><tspan
sodipodi:role="line"
id="tspan5252"
x="44.979168"
y="105.83333"
style="stroke-width:0.264583">Аналоговая</tspan><tspan
sodipodi:role="line"
x="44.979168"
y="112.00695"
style="stroke-width:0.264583"
id="tspan5256">обработка</tspan></text>
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect5258"
width="21.166666"
height="10.583333"
x="15.875"
y="116.41666" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 47.624999,116.41667 V 127 l 13.229167,-5.29167 z"
id="path5262" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 37.041666,121.70833 H 47.624999"
id="path5264" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="10.583333"
y="140.22917"
id="text5268"><tspan
sodipodi:role="line"
id="tspan5266"
x="10.583333"
y="140.22917"
style="stroke-width:0.264583">Электрический</tspan><tspan
sodipodi:role="line"
x="10.583333"
y="146.4028"
style="stroke-width:0.264583"
id="tspan5270">сигнал</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 42.333333,121.70833 31.75,134.9375 H 15.875"
id="path5272" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 26.458333,116.41667 -15.875,-18.520838 H 39.6875"
id="path5274" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 60.854166,121.70833 15.875001,0"
id="path5276"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="79.242363"
y="117.04333"
id="text5280"><tspan
sodipodi:role="line"
id="tspan5278"
x="79.242363"
y="117.04333"
style="stroke-width:0.264583">Фильтр для</tspan><tspan
sodipodi:role="line"
x="79.242363"
y="123.21696"
style="stroke-width:0.264583"
id="tspan5282">подавления</tspan><tspan
sodipodi:role="line"
x="79.242363"
y="129.39059"
style="stroke-width:0.264583"
id="tspan5284">образов</tspan></text>
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect5286"
width="31.75"
height="21.166666"
x="76.729164"
y="111.125" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="119.0625"
y="124.35416"
id="text5290"><tspan
sodipodi:role="line"
id="tspan5288"
x="119.0625"
y="124.35416"
style="stroke-width:0.264583">УВХ</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="142.875"
y="124.35416"
id="text5294"><tspan
sodipodi:role="line"
id="tspan5292"
x="142.875"
y="124.35416"
style="stroke-width:0.264583">АЦП</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="166.6875"
y="116.41666"
id="text5298"><tspan
sodipodi:role="line"
id="tspan5296"
x="166.6875"
y="116.41666"
style="stroke-width:0.264583">Цифровой</tspan><tspan
sodipodi:role="line"
x="166.6875"
y="122.59028"
style="stroke-width:0.264583"
id="tspan5300">вычислительный</tspan><tspan
sodipodi:role="line"
x="166.6875"
y="128.7639"
style="stroke-width:0.264583"
id="tspan5302">блок</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="174.35008"
y="159.5806"
id="text5306"><tspan
sodipodi:role="line"
id="tspan5304"
x="174.35008"
y="159.5806"
style="stroke-width:0.264583">ЦАП</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="142.75925"
y="158.01584"
id="text5310"><tspan
sodipodi:role="line"
id="tspan5308"
x="142.75925"
y="158.01584"
style="stroke-width:0.264583">Деглитчер</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="84.483391"
y="156.983"
id="text5314"><tspan
sodipodi:role="line"
id="tspan5312"
x="84.483391"
y="156.983"
style="stroke-width:0.264583">Восстанавливающий</tspan><tspan
sodipodi:role="line"
x="84.483391"
y="163.15663"
style="stroke-width:0.264583"
id="tspan5316">фильтр</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="47.509243"
y="171.09412"
id="text5320"><tspan
sodipodi:role="line"
id="tspan5318"
x="47.509243"
y="171.09412"
style="stroke-width:0.264583">Драйвер</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="2.6120713"
y="159.42972"
id="text5324"><tspan
sodipodi:role="line"
id="tspan5322"
x="2.6120713"
y="159.42972"
style="stroke-width:0.264583">Аналоговое</tspan><tspan
sodipodi:role="line"
x="2.6120713"
y="165.60335"
style="stroke-width:0.264583"
id="tspan5326">исполнительное</tspan><tspan
sodipodi:role="line"
x="2.6120713"
y="171.77696"
style="stroke-width:0.264583"
id="tspan5328">устройство</tspan></text>
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect5330"
width="15.875"
height="10.583333"
x="116.41666"
y="116.41666" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect5332"
width="15.875"
height="10.583333"
x="140.22917"
y="116.41666" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect5334"
width="42.333332"
height="21.166666"
x="164.04167"
y="111.125" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect5336"
width="15.875"
height="10.583333"
x="171.97917"
y="153.60921" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect5338"
width="26.458332"
height="13.229166"
x="140.22917"
y="150.96338" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect5340"
width="50.270832"
height="15.875"
x="82.020836"
y="150.96338" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 108.47917,121.70833 h 7.9375"
id="path5362" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 132.29166,121.70833 h 7.9375"
id="path5364" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 156.10416,121.70833 h 7.9375"
id="path5366" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 179.91666,132.29166 1e-5,21.16667"
id="path5368"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 171.97916,158.90087 H 166.6875"
id="path5370" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 140.22916,158.90087 h -7.9375"
id="path5372" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 82.020828,158.90087 H 60.854162"
id="path5374" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 47.624995,158.90087 H 31.749996"
id="path5376" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,294 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg8"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-cedd-00-filter-demand.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="383.28473"
inkscape:cy="236.42756"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
inkscape:window-width="2425"
inkscape:window-height="1205"
inkscape:window-x="1"
inkscape:window-y="28"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid833" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="15.665194"
y="51.552753"
id="text837"><tspan
sodipodi:role="line"
id="tspan835"
x="15.665194"
y="51.552753"
style="stroke-width:0.264583">ДД</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 25.135416,14.552083 V 87.312499 H 164.04166"
id="path839" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 25.135416,30.427083 h 31.75 l 10e-7,50.270834"
id="path841"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:1.05999995,1.05999995;stroke-dashoffset:0"
d="M 25.135416,80.697916 H 164.04166"
id="path843" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 25.135416,29.104166 H 58.208333 L 141.55208,87.312499"
id="path845" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 165.36459,29.104167 H 132.29167 L 48.947926,87.312502"
id="path845-3" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.05833, 1.05833;stroke-dashoffset:0;stroke-opacity:1"
d="m 58.208333,29.104166 0,58.208334"
id="path867"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 56.885416,81.756249 1.322917,1.322917"
id="path871" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 55.827083,82.549999 2.38125,2.38125"
id="path875" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 54.768749,83.343749 3.439584,3.175"
id="path877" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 53.445833,84.137499 3.704166,3.175"
id="path879" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 52.387499,84.931249 2.645834,2.38125"
id="path881" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 51.329166,85.724999 1.852083,1.5875"
id="path883" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 50.535416,86.254166 0.79375,1.058333"
id="path885" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.05833, 1.05833;stroke-dashoffset:0;stroke-opacity:1"
d="M 132.29167,29.104167 V 87.312501"
id="path867-6"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 133.61459,81.75625 -1.32292,1.322917"
id="path871-7" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 134.67292,82.55 -2.38125,2.38125"
id="path875-5" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 135.73126,83.34375 -3.43959,3.175"
id="path877-3" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 137.05417,84.1375 -3.70416,3.175"
id="path879-5" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 138.11251,84.93125 -2.64584,2.38125"
id="path881-6" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 139.17084,85.725 -1.85208,1.5875"
id="path883-2" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 139.96459,86.254167 139.17084,87.3125"
id="path885-9" />
<ellipse
id="path935"
style="fill:#000000;stroke:none;stroke-width:0.264583"
cx="58.208332"
cy="29.104166"
rx="2.6458321"
ry="2.6458328" />
<ellipse
id="path935-1"
style="fill:#000000;stroke:none;stroke-width:0.264583"
cx="132.29167"
cy="80.697914"
rx="2.6458385"
ry="2.6458309" />
<path
style="fill:none;stroke:#000000;stroke-width:0.765;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 58.208333,27.78125 132.29167,79.375"
id="path957"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.765;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 25.135416,27.78125 H 58.208333"
id="path959" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="55.5625"
y="95.25"
id="text963"><tspan
sodipodi:role="line"
id="tspan961"
x="55.5625"
y="95.25"
style="stroke-width:0.264583">$f_a$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="89.958336"
y="95.25"
id="text967"><tspan
sodipodi:role="line"
id="tspan965"
x="89.958336"
y="95.25"
style="stroke-width:0.264583">$\frac{f_s}{2}$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="156.10417"
y="95.25"
id="text971"><tspan
sodipodi:role="line"
id="tspan969"
x="156.10417"
y="95.25"
style="stroke-width:0.264583">$f_s$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="127"
y="23.8125"
id="text975"><tspan
sodipodi:role="line"
id="tspan973"
x="127"
y="23.8125"
style="stroke-width:0.264583">$f_s-f_a$</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.26458299;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:1.05833194,1.05833194;stroke-dashoffset:0"
d="M 58.208333,29.104166 166.6875,47.624999"
id="path977" />
<path
style="fill:none;stroke:#000000;stroke-width:0.765;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="m 132.29166,79.374999 h 33.07292"
id="path979" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="142.875"
y="74.083336"
id="text983"><tspan
sodipodi:role="line"
id="tspan981"
x="142.875"
y="74.083336"
style="stroke-width:0.264583">АЧХ фильтра</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 171.97916,75.406249 H 142.875 l -5.29167,3.96875"
id="path985" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="38.364582"
y="19.84375"
id="text989"><tspan
sodipodi:role="line"
id="tspan987"
x="38.364582"
y="19.84375"
style="stroke-width:0.264583">идеальный фильтр</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 79.374999,21.166666 H 37.041666 l -6.614583,9.260417"
id="path991" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="14.390508"
y="102.30245"
id="text995"><tspan
sodipodi:role="line"
id="tspan993"
x="14.390508"
y="102.30245"
style="stroke-width:0.264583">перекрытие образов</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 26.458333,97.895832 h 21.166666 l 7.9375,-13.229166"
id="path997" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="157.26552"
y="37.479538"
id="text1001"><tspan
sodipodi:role="line"
id="tspan999"
x="157.26552"
y="37.479538"
style="stroke-width:0.264583">передискретизация</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 194.46875,39.6875 h -37.04166 l -6.61459,5.291667"
id="path1003" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,217 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg1110"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-cedd-00-filter-more.svg">
<defs
id="defs1104" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="467.10866"
inkscape:cy="94.246349"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
inkscape:window-width="1533"
inkscape:window-height="1205"
inkscape:window-x="46"
inkscape:window-y="73"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid1673" />
</sodipodi:namedview>
<metadata
id="metadata1107">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="13.229166"
y="15.875"
id="text1677"><tspan
sodipodi:role="line"
id="tspan1675"
x="13.229166"
y="15.875"
style="stroke-width:0.264583">Аналоговый фильтр</tspan><tspan
sodipodi:role="line"
x="13.229166"
y="22.048626"
style="stroke-width:0.264583"
id="tspan1679">$Kf_s$ хотя бы</tspan><tspan
sodipodi:role="line"
x="13.229166"
y="28.22225"
style="stroke-width:0.264583"
id="tspan1681">RC-цепочка</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="68.791664"
y="26.458332"
id="text1685"><tspan
sodipodi:role="line"
id="tspan1683"
x="68.791664"
y="26.458332"
style="stroke-width:0.264583">АЦП</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="97.895836"
y="26.458332"
id="text1689"><tspan
sodipodi:role="line"
id="tspan1687"
x="97.895836"
y="26.458332"
style="stroke-width:0.264583">ЦФ</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="121.70833"
y="21.166666"
id="text1693"><tspan
sodipodi:role="line"
id="tspan1691"
x="121.70833"
y="21.166666"
style="stroke-width:0.264583">Дециматор</tspan><tspan
sodipodi:role="line"
x="121.70833"
y="27.34029"
style="stroke-width:0.264583"
id="tspan1695">$K$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="156.10417"
y="23.8125"
id="text1699"><tspan
sodipodi:role="line"
id="tspan1697"
x="156.10417"
y="23.8125"
style="stroke-width:0.264583">$f_s$</tspan></text>
<circle
id="path1701"
style="fill:#000000;stroke:none;stroke-width:0.264583"
cx="21.166666"
cy="34.395832"
r="0.39687499" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 21.166666,34.395833 h 3.96875"
id="path1703" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 25.135416,33.072916 V 35.71875 H 31.75 v -2.645834 z"
id="path1705" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 31.75,34.395833 h 7.9375"
id="path1707" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 35.71875,34.395833 v 2.645833"
id="path1709" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 33.072916,37.041666 h 5.291667"
id="path1711" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 33.072916,38.364583 h 5.291667"
id="path1713" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 35.71875,38.364583 v 3.96875"
id="path1715" />
<path
style="fill:none;stroke:#000000;stroke-width:0.765;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="m 33.072916,42.333333 h 5.291667"
id="path1717" />
<circle
id="path1719"
style="fill:#000000;stroke:none;stroke-width:0.264583"
cx="39.6875"
cy="34.395832"
r="0.39687499" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-miterlimit:4;stroke-dasharray:none"
id="rect1721"
width="52.916664"
height="39.6875"
x="7.9375"
y="7.9375" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-miterlimit:4;stroke-dasharray:none"
id="rect1723"
width="18.520834"
height="10.583333"
x="66.145836"
y="18.520834" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-miterlimit:4;stroke-dasharray:none"
id="rect1725"
width="15.875"
height="10.583333"
x="95.25"
y="18.520834" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-miterlimit:4;stroke-dasharray:none"
id="rect1727"
width="29.104172"
height="18.520834"
x="119.0625"
y="13.229167" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 60.854166,25.135416 h 5.291666"
id="path1729" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 84.666666,25.135416 H 95.249999"
id="path1731" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 111.125,25.135416 h 7.9375"
id="path1733" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 148.16666,26.458333 h 22.48959"
id="path1735" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.8 KiB

View File

@ -0,0 +1,206 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg2494"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-cedd-00-sampling-afc.svg">
<defs
id="defs2488">
<inkscape:path-effect
effect="bspline"
id="path-effect3410"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3402"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3398"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3394"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3390"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3386"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="-58.816446"
inkscape:cy="120.65569"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
inkscape:window-width="2431"
inkscape:window-height="1356"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="0"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true">
<inkscape:grid
type="xygrid"
id="grid3057" />
</sodipodi:namedview>
<metadata
id="metadata2491">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="38.364582"
y="79.375"
id="text3343"><tspan
sodipodi:role="line"
id="tspan3341"
x="38.364582"
y="79.375"
style="stroke-width:0.264583">0</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="48.701935"
y="79.716408"
id="text3347"><tspan
sodipodi:role="line"
id="tspan3345"
x="48.701935"
y="79.716408"
style="stroke-width:0.264583">$f(A)$</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 29.104166,75.406249 H 138.90625"
id="path3349" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 42.333333,80.697916 v -47.625"
id="path3351" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 33.072916,75.406249 2.645834,-19.84375 h 13.229166 l 2.645833,19.84375"
id="path3353" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 70.114583,75.40625 72.760417,55.5625 h 13.229166 l 2.645833,19.84375"
id="path3353-9" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 107.15625,75.40625 2.64583,-19.84375 h 13.22917 l 2.64583,19.84375"
id="path3353-1" />
<path
style="fill:none;stroke:#000000;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:0.66000001,0.66000001;stroke-dashoffset:0"
d="m 42.333333,55.562499 c 12.347534,3.086884 24.694755,6.173689 37.042102,9.481022 12.347348,3.307333 24.694325,6.83504 37.041235,10.362728"
id="path3384"
inkscape:path-effect="#path-effect3386"
inkscape:original-d="m 42.333333,55.562499 c 12.347487,3.087071 24.694708,6.173875 37.041666,9.260417 12.347734,3.528113 24.694711,7.055821 37.041671,10.583333" />
<path
style="fill:none;stroke:#000000;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="m 44.714583,55.562499 c -0.08825,0.176496 -0.176442,0.352883 -0.264584,0.529167"
id="path3388"
inkscape:path-effect="#path-effect3390"
inkscape:original-d="m 44.714583,55.562499 c -0.08793,0.176655 -0.176125,0.353042 -0.264584,0.529167" />
<path
style="fill:none;stroke:#000000;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="m 45.772916,55.562499 c -0.08825,0.264742 -0.176442,0.529326 -0.264583,0.79375"
id="path3392"
inkscape:path-effect="#path-effect3394"
inkscape:original-d="m 45.772916,55.562499 c -0.08793,0.264848 -0.176125,0.529432 -0.264583,0.79375" />
<path
style="fill:none;stroke:#000000;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="m 47.095833,55.562499 c -0.176442,0.352884 -0.352831,0.705662 -0.529167,1.058334"
id="path3396"
inkscape:path-effect="#path-effect3398"
inkscape:original-d="m 47.095833,55.562499 c -0.176125,0.353042 -0.352513,0.705821 -0.529167,1.058334" />
<path
style="fill:none;stroke:#000000;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="m 48.154166,55.562499 c -0.176444,0.44111 -0.352832,0.88208 -0.529167,1.322917"
id="path3400"
inkscape:path-effect="#path-effect3402"
inkscape:original-d="m 48.154166,55.562499 c -0.176125,0.441238 -0.352512,0.882208 -0.529167,1.322917" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="m 48.683333,57.149999 c 0.08815,-0.440769 0.176348,-0.88174 0.264583,-1.322916"
id="path3408"
inkscape:path-effect="#path-effect3410"
inkscape:original-d="m 48.683333,57.149999 c 0.08846,-0.440708 0.176654,-0.881679 0.264583,-1.322916" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.0 KiB

View File

@ -0,0 +1,140 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg2494"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-cedd-00-sig-sampling-sha-diff.svg">
<defs
id="defs2488" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="246.11773"
inkscape:cy="146.05029"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
inkscape:window-width="1533"
inkscape:window-height="1205"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="0"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true">
<inkscape:grid
type="xygrid"
id="grid3057" />
</sodipodi:namedview>
<metadata
id="metadata2491">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="55.306873"
y="77.398544"
id="text3061"><tspan
sodipodi:role="line"
id="tspan3059"
x="55.306873"
y="77.398544"
style="stroke-width:0.264583">Вход</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="110.99236"
y="73.379158"
id="text3069"><tspan
sodipodi:role="line"
id="tspan3067"
x="110.99236"
y="73.379158"
style="stroke-width:0.264583">к АЦП</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 58.281716,69.982293 10.583333,-10e-7"
id="path3071"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 68.865049,64.690626 7.9375,5.291666 h 18.520833"
id="path3073" />
<circle
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3075"
cx="56.958797"
cy="69.982292"
r="1.3229166" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 85.989583,70.114583 v 3.96875"
id="path3081"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 82.020833,73.951042 h 7.9375"
id="path3083" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 82.020833,76.596875 h 7.9375"
id="path3085" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 85.989583,76.729167 -10e-7,5.291665"
id="path3087"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 58.208333,82.153126 10.583333,-10e-7"
id="path3071-5"
sodipodi:nodetypes="cc" />
<circle
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3075-6"
cx="56.885414"
cy="82.15313"
r="1.3229166" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 68.791667,76.729167 7.9375,5.291666 H 95.25"
id="path3073-2" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 95.25,64.822917 -10e-7,22.489582 L 111.125,76.729167 Z"
id="path3319"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 111.125,76.729167 h 10.58333"
id="path3321" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

@ -0,0 +1,144 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg2494"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-cedd-00-sig-sampling-sha.svg">
<defs
id="defs2488" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="194.52948"
inkscape:cy="278.65943"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
inkscape:window-width="1533"
inkscape:window-height="1205"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid3057" />
</sodipodi:namedview>
<metadata
id="metadata2491">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="42.333332"
y="71.4375"
id="text3061"><tspan
sodipodi:role="line"
id="tspan3059"
x="42.333332"
y="71.4375"
style="stroke-width:0.264583">Вход</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="71.4375"
y="60.854164"
id="text3065"><tspan
sodipodi:role="line"
id="tspan3063"
x="71.4375"
y="60.854164"
style="stroke-width:0.264583">ключ</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="100.54166"
y="71.4375"
id="text3069"><tspan
sodipodi:role="line"
id="tspan3067"
x="100.54166"
y="71.4375"
style="stroke-width:0.264583">Выход</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 58.208333,66.145833 10.583333,-10e-7"
id="path3071"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 68.791666,60.854166 7.9375,5.291666 h 18.520833"
id="path3073" />
<circle
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-dasharray:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
id="path3075"
cx="56.885414"
cy="66.145836"
r="1.3229166" />
<circle
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3079"
cx="96.572914"
cy="66.145836"
r="1.3229166" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 85.989582,66.145832 v 6.614584"
id="path3081" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 82.020832,72.760416 h 7.9375"
id="path3083" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 82.020832,75.406249 h 7.9375"
id="path3085" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 85.989582,75.406249 v 6.614583"
id="path3087" />
<path
style="fill:none;stroke:#000000;stroke-width:0.765;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="m 83.343749,82.020832 h 5.291667"
id="path3089" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="92.604164"
y="80.697914"
id="text3093"><tspan
sodipodi:role="line"
id="tspan3091"
x="92.604164"
y="80.697914"
style="stroke-width:0.264583">Cx</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

@ -0,0 +1,360 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg962"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-cedd-00-sig-sampling.svg">
<defs
id="defs956">
<marker
style="overflow:visible;"
id="marker2312"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(0.6) rotate(180) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
id="path2310" />
</marker>
<marker
style="overflow:visible;"
id="marker2302"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(0.6) rotate(180) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
id="path2300" />
</marker>
<marker
style="overflow:visible"
id="Arrow1Sstart"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow1Sstart"
inkscape:isstock="true">
<path
transform="scale(0.2) translate(6,0)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
id="path1559" />
</marker>
<marker
style="overflow:visible;"
id="Arrow2Mend"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true"
inkscape:collect="always">
<path
transform="scale(0.6) rotate(180) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
id="path1574" />
</marker>
<marker
style="overflow:visible"
id="marker2106"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mstart"
inkscape:isstock="true">
<path
transform="scale(0.6) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
id="path2104" />
</marker>
<marker
style="overflow:visible"
id="Arrow2Mstart"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mstart"
inkscape:isstock="true"
inkscape:collect="always">
<path
transform="scale(0.6) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
id="path1571" />
</marker>
<marker
style="overflow:visible;"
id="marker1979"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(0.6) rotate(180) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
id="path1977" />
</marker>
<marker
style="overflow:visible;"
id="marker1863"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true"
inkscape:collect="always">
<path
transform="scale(0.6) rotate(180) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
id="path1861" />
</marker>
<marker
style="overflow:visible;"
id="marker1853"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(0.6) rotate(180) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
id="path1851" />
</marker>
<marker
style="overflow:visible;"
id="marker1831"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(0.6) rotate(180) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
id="path1829" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="179.03247"
inkscape:cy="69.654214"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
inkscape:snap-bbox-midpoints="true"
showguides="false"
inkscape:guide-bbox="true"
inkscape:window-width="1533"
inkscape:window-height="1205"
inkscape:window-x="684"
inkscape:window-y="65"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid1525" />
<sodipodi:guide
position="29.104166,205.71876"
orientation="0,-1"
id="guide1941" />
<sodipodi:guide
position="33.072916,214.97917"
orientation="0,-1"
id="guide1943" />
</sodipodi:namedview>
<metadata
id="metadata959">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="17.208408"
y="62.138329"
id="text1529"><tspan
sodipodi:role="line"
id="tspan1527"
x="17.208408"
y="62.138329"
style="stroke-width:0.264583">$X(t)$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="76.483185"
y="62.51849"
id="text1533"><tspan
sodipodi:role="line"
id="tspan1531"
x="76.483185"
y="62.51849"
style="stroke-width:0.264583">$X_o(t)$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="60.608185"
y="33.414322"
id="text1537"><tspan
sodipodi:role="line"
id="tspan1535"
x="60.608185"
y="33.414322"
style="stroke-width:0.264583">$f(t)$</tspan></text>
<circle
style="fill:none;stroke:#555555;stroke-width:0.264999"
id="path1539"
cx="58.208332"
cy="55.5625"
r="5.2916665" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker1863)"
d="M 58.208333,29.104166 V 50.270833"
id="path1541" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker1831)"
d="M 15.875,55.562499 H 52.916666"
id="path1543" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker1853)"
d="m 63.499999,55.562499 h 31.75"
id="path1545" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 55.562499,52.916666 5.291667,5.291667"
id="path1919" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 60.854166,52.916666 -5.291667,5.291667"
id="path1939" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 21.166667,87.3125 h 3.96875 v -9.260408 h 5.291667 V 87.3125 H 43.65625 v -9.260408 l 5.291667,2e-6 V 87.3125 h 13.229166 v -9.260408 h 5.291667 v 9.260419 l 13.229166,-1.1e-5 v -9.260406 h 5.291667 V 87.3125 h 7.9375"
id="path1945" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="34.395832"
y="72.760414"
id="text1949"><tspan
sodipodi:role="line"
id="tspan1947"
x="34.395832"
y="72.760414"
style="stroke-width:0.264583">$T$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="13.229166"
y="84.666664"
id="text1953"><tspan
sodipodi:role="line"
id="tspan1951"
x="13.229166"
y="84.666664"
style="stroke-width:0.264583">$S(t)$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="26.458332"
y="92.604164"
id="text1957"><tspan
sodipodi:role="line"
id="tspan1955"
x="26.458332"
y="92.604164"
style="stroke-width:0.264583">$\tau$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="60.854164"
y="92.604164"
id="text1961"><tspan
sodipodi:role="line"
id="tspan1959"
x="60.854164"
y="92.604164"
style="stroke-width:0.264583">сигналы</tspan><tspan
sodipodi:role="line"
x="60.854164"
y="98.777786"
style="stroke-width:0.264583"
id="tspan1963">дискретизации</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.26458299;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:0.26458299,0.26458299;stroke-dashoffset:0"
d="m 25.135416,78.052082 v -7.9375"
id="path1965" />
<path
style="fill:none;stroke:#000000;stroke-width:0.26458299;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:0.26458299,0.26458299;stroke-dashoffset:0"
d="m 43.656249,78.052082 v -7.9375"
id="path1967" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker1979);marker-start:url(#Arrow2Mstart)"
d="M 25.135416,74.083332 H 43.656249"
id="path1969" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.264583, 0.264583;stroke-dashoffset:0;stroke-opacity:1"
d="M 25.135417,95.25 V 87.3125"
id="path1965-6" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.264583, 0.264583;stroke-dashoffset:0;stroke-opacity:1"
d="M 30.427083,95.25 V 87.3125"
id="path1965-7" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2312)"
d="m 21.166666,93.927082 h 3.96875"
id="path2280" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2302)"
d="m 34.395833,93.927082 h -3.96875"
id="path2284" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 25.135416,93.927082 h 5.291667"
id="path2286" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 53 KiB

View File

@ -0,0 +1,396 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg3973"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-cedd-00-spectrum-analyzer.svg">
<defs
id="defs3967">
<marker
style="overflow:visible;"
id="marker5130"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow1Lend"
inkscape:isstock="true">
<path
transform="scale(0.8) rotate(180) translate(12.5,0)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
id="path5128" />
</marker>
<marker
style="overflow:visible;"
id="marker5072"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow1Lend"
inkscape:isstock="true"
inkscape:collect="always">
<path
transform="scale(0.8) rotate(180) translate(12.5,0)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
id="path5070" />
</marker>
<marker
style="overflow:visible;"
id="marker5020"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow1Lend"
inkscape:isstock="true"
inkscape:collect="always">
<path
transform="scale(0.8) rotate(180) translate(12.5,0)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
id="path5018" />
</marker>
<marker
style="overflow:visible;"
id="marker4974"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow1Lend"
inkscape:isstock="true"
inkscape:collect="always">
<path
transform="scale(0.8) rotate(180) translate(12.5,0)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
id="path4972" />
</marker>
<marker
style="overflow:visible;"
id="marker4934"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow1Lend"
inkscape:isstock="true"
inkscape:collect="always">
<path
transform="scale(0.8) rotate(180) translate(12.5,0)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
id="path4932" />
</marker>
<marker
style="overflow:visible;"
id="Arrow1Lend"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow1Lend"
inkscape:isstock="true"
inkscape:collect="always">
<path
transform="scale(0.8) rotate(180) translate(12.5,0)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
id="path4621" />
</marker>
<marker
style="overflow:visible"
id="Arrow1Lstart"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow1Lstart"
inkscape:isstock="true">
<path
transform="scale(0.8) translate(12.5,0)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
id="path4618" />
</marker>
<inkscape:path-effect
effect="bspline"
id="path-effect4614"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect4610"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect4584"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="226.20201"
inkscape:cy="350.20162"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
inkscape:window-width="1944"
inkscape:window-height="1205"
inkscape:window-x="91"
inkscape:window-y="117"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid3975" />
</sodipodi:namedview>
<metadata
id="metadata3970">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="47.625"
y="79.375"
id="text3979"><tspan
sodipodi:role="line"
id="tspan3977"
x="47.625"
y="79.375"
style="stroke-width:0.264583">x(t)</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="66.145836"
y="83.34375"
id="text3983"><tspan
sodipodi:role="line"
id="tspan3981"
x="66.145836"
y="83.34375"
style="stroke-width:0.264583">смеситель</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="103.1875"
y="83.34375"
id="text3987"><tspan
sodipodi:role="line"
id="tspan3985"
x="103.1875"
y="83.34375"
style="stroke-width:0.264583">ФНЧ</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="118.91057"
y="74.017532"
id="text3991"><tspan
sodipodi:role="line"
id="tspan3989"
x="118.91057"
y="74.017532"
style="stroke-width:0.264583">Усилитель</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="14.552083"
y="87.3125"
id="text3995"><tspan
sodipodi:role="line"
id="tspan3993"
x="14.552083"
y="87.3125"
style="stroke-width:0.264583">Если здесь антенна,</tspan><tspan
sodipodi:role="line"
x="14.552083"
y="93.486122"
style="stroke-width:0.264583"
id="tspan3997">то это радиоприёмник</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 18.520833,70.114582 3.96875,3.96875 3.96875,-3.96875"
id="path3999" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 22.489583,70.114582 V 83.343749"
id="path4001" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5130)"
d="m 22.489583,83.343749 h 39.6875"
id="path4003" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-dasharray:none;stroke-opacity:1;stroke-miterlimit:4;stroke-dashoffset:0"
id="rect4005"
width="29.104166"
height="11.90625"
x="62.177082"
y="76.729164" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4568"
width="15.875"
height="11.90625"
x="100.54166"
y="76.729164" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5020)"
d="m 91.281249,82.020832 h 9.260421"
id="path4570" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 125.67708,76.729166 v 11.90625 l 11.90625,-6.614584 -11.90625,-5.291666"
id="path4572" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5072)"
d="m 116.41667,82.020832 h 9.26041"
id="path4574" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 137.58333,82.020832 h 7.9375"
id="path4576" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4578"
width="31.75"
height="23.8125"
x="145.52083"
y="70.114586" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 148.16666,71.437499 v 21.166667 h 27.78125"
id="path4580" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 149.48958,91.281249 c 2.20507,-0.441014 4.40993,-0.881986 6.1737,-3.968732 1.76378,-3.086746 3.08667,-8.819269 3.96877,-11.685685 0.88211,-2.866416 1.32307,-2.866416 1.76393,1.02e-4 0.44085,2.866519 0.88182,8.599042 3.08685,11.685726 2.20504,3.086685 6.17371,3.527648 10.14217,3.968589"
id="path4582"
inkscape:path-effect="#path-effect4584"
inkscape:original-d="m 149.48958,91.281249 c 2.20513,-0.440709 4.40999,-0.881679 6.61458,-1.322917 1.32321,-5.732489 2.6461,-11.465012 3.96875,-17.197916 0.44125,2.64e-4 0.88221,2.64e-4 1.32292,0 0.44125,5.733018 0.88221,11.465541 1.32292,17.197916 3.96909,0.441246 7.93776,0.882208 11.90625,1.322917" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="149.48958"
y="75.40625"
id="text4588"><tspan
sodipodi:role="line"
id="tspan4586"
x="149.48958"
y="75.40625"
style="stroke-width:0.264583">$X_\omega$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="170.41026"
y="89.022644"
id="text4592"><tspan
sodipodi:role="line"
id="tspan4590"
x="170.41026"
y="89.022644"
style="stroke-width:0.264583">$\omega$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="112.44791"
y="107.15625"
id="text4596"><tspan
sodipodi:role="line"
id="tspan4594"
x="112.44791"
y="107.15625"
style="stroke-width:0.264583">Развёртка</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="64.822914"
y="103.1875"
id="text4600"><tspan
sodipodi:role="line"
id="tspan4598"
x="64.822914"
y="103.1875"
style="stroke-width:0.264583">Перестраиваемый</tspan><tspan
sodipodi:role="line"
x="64.822914"
y="109.36112"
style="stroke-width:0.264583"
id="tspan4602">генератор</tspan></text>
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4604"
width="41.010418"
height="14.552083"
x="63.5"
y="97.895836" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect4606"
width="26.458332"
height="7.9375"
x="109.80208"
y="101.86458" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker4934)"
d="m 80.697916,97.895832 c 0,-3.086542 0,-6.173345 0,-9.260416"
id="path4608"
inkscape:path-effect="#path-effect4610"
inkscape:original-d="m 80.697916,97.895832 c 2.64e-4,-3.086542 2.64e-4,-6.173345 0,-9.260416" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker4974)"
d="m 109.80208,105.83333 c -1.76362,0 -3.52751,0 -5.29166,0"
id="path4612"
inkscape:path-effect="#path-effect4614"
inkscape:original-d="m 109.80208,105.83333 c -1.76362,2.7e-4 -3.52751,2.7e-4 -5.29166,0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
d="M 136.26041,105.83333 H 158.75 V 93.927082"
id="path4616" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -0,0 +1,573 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg2229"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-cedd-00-subdiscr-2.svg">
<defs
id="defs2223">
<marker
style="overflow:visible"
id="marker3290"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="EmptyDiamondM"
inkscape:isstock="true">
<path
transform="scale(0.4)"
style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
id="path3288" />
</marker>
<marker
style="overflow:visible"
id="marker3280"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="EmptyDiamondM"
inkscape:isstock="true">
<path
transform="scale(0.4)"
style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
id="path3278" />
</marker>
<marker
style="overflow:visible"
id="marker3222"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="EmptyDiamondM"
inkscape:isstock="true">
<path
transform="scale(0.4)"
style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
id="path3220" />
</marker>
<inkscape:path-effect
effect="bspline"
id="path-effect3161"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3149"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3126"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3114"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3110"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3106"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3102"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<marker
style="overflow:visible"
id="marker3002"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path3000" />
</marker>
<marker
style="overflow:visible"
id="marker2962"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path2960" />
</marker>
<marker
style="overflow:visible"
id="marker2928"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path2926" />
</marker>
<marker
style="overflow:visible"
id="marker2900"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path2898" />
</marker>
<marker
style="overflow:visible"
id="marker2878"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path2876" />
</marker>
<marker
style="overflow:visible"
id="DotM"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true"
inkscape:collect="always">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path939" />
</marker>
<inkscape:path-effect
effect="bspline"
id="path-effect2836"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2832"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2828"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2824"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2820"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2816"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2812"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2808"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2804"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="380.77999"
inkscape:cy="160.38676"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
inkscape:window-width="2268"
inkscape:window-height="1205"
inkscape:window-x="46"
inkscape:window-y="73"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid2792" />
</sodipodi:namedview>
<metadata
id="metadata2226">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:none;stroke:#000000;stroke-width:0.26458299;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:1.05833194, 1.05833193999999997;stroke-dashoffset:0;marker-end:url(#marker3280)"
d="m 154.78125,23.8125 c 0,-2.645569 0,-5.291402 0,-7.9375"
id="path3124-7"
inkscape:path-effect="#path-effect3149"
inkscape:original-d="m 154.78125,23.8125 c 2.7e-4,-2.645569 2.7e-4,-5.291402 0,-7.9375" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="97.649857"
y="30.008167"
id="text2796"><tspan
sodipodi:role="line"
id="tspan2794"
x="97.649857"
y="30.008167"
style="stroke-width:0.264583">$t$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="195.54568"
y="28.778605"
id="text2800"><tspan
sodipodi:role="line"
id="tspan2798"
x="195.54568"
y="28.778605"
style="stroke-width:0.264583">$f$</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 7.9374999,23.8125 c 30.8683201,0 61.7363751,0 92.6041701,0"
id="path2802"
inkscape:path-effect="#path-effect2804"
inkscape:original-d="m 7.9374999,23.8125 c 30.8683201,2.65e-4 61.7363751,2.65e-4 92.6041701,0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 10.583333,23.8125 c 3.527777,-3.527778 7.055555,-7.055556 10.583501,-7.055388 3.527945,1.67e-4 7.055653,3.527875 10.583466,7.055688 3.527812,3.527812 7.055521,7.055521 10.583201,7.055353 3.52768,-1.69e-4 7.055388,-3.527877 10.583201,-7.055689 3.527812,-3.527813 7.05552,-7.05552 10.583465,-7.055352 3.527944,1.67e-4 7.055652,3.527875 10.583465,7.055688 3.527813,3.527813 7.055521,7.055521 10.583202,7.055353 3.52768,-1.68e-4 7.055388,-3.527877 9.260258,-5.732746 2.204869,-2.204869 3.086796,-3.086797 3.96874,-3.968741"
id="path2806"
inkscape:path-effect="#path-effect2808"
inkscape:original-d="m 10.583333,23.8125 c 3.528042,-3.527513 7.05582,-7.055291 10.583333,-10.583333 3.528113,3.528112 7.055821,7.05582 10.583334,10.583333 3.528112,3.528113 7.055821,7.055821 10.583333,10.583333 3.528113,-3.527584 7.055821,-7.055292 10.583333,-10.583333 3.528113,-3.527584 7.055821,-7.055291 10.583333,-10.583333 3.528113,3.528112 7.055821,7.05582 10.583333,10.583333 3.528113,3.528113 7.055821,7.055821 10.583334,10.583333 3.528112,-3.527584 7.055821,-7.055292 10.583333,-10.583333 0.882226,-0.881698 1.764154,-1.763625 2.645833,-2.645834" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 119.0625,23.8125 c 26.4586,0 52.91693,0 79.375,0"
id="path2810"
inkscape:path-effect="#path-effect2812"
inkscape:original-d="m 119.0625,23.8125 c 26.4586,2.64e-4 52.91693,2.64e-4 79.375,0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#DotM)"
d="m 17.197916,23.8125 c 0,-1.763625 0,-3.527513 0,-5.291667"
id="path2814"
inkscape:path-effect="#path-effect2816"
inkscape:original-d="m 17.197916,23.8125 c 2.65e-4,-1.763625 2.65e-4,-3.527513 0,-5.291667" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3002)"
d="m 27.78125,23.8125 c 0,-1.322652 0,-2.645569 0,-3.96875"
id="path2818"
inkscape:path-effect="#path-effect2820"
inkscape:original-d="m 27.78125,23.8125 c 2.64e-4,-1.322652 2.64e-4,-2.645569 0,-3.96875" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2878)"
d="m 38.364583,23.8125 c 0,1.764153 0,3.528041 0,5.291666"
id="path2822"
inkscape:path-effect="#path-effect2824"
inkscape:original-d="m 38.364583,23.8125 c 2.64e-4,1.764153 2.64e-4,3.528041 0,5.291666" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2900)"
d="m 48.947916,23.8125 c 0,1.323181 0,2.646098 0,3.96875"
id="path2826"
inkscape:path-effect="#path-effect2828"
inkscape:original-d="m 48.947916,23.8125 c 2.65e-4,1.323181 2.65e-4,2.646098 0,3.96875" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2928)"
d="m 59.531249,23.8125 c 0,-1.763625 0,-3.527513 0,-5.291667"
id="path2830"
inkscape:path-effect="#path-effect2832"
inkscape:original-d="m 59.531249,23.8125 c 2.65e-4,-1.763625 2.65e-4,-3.527513 0,-5.291667" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2962)"
d="m 70.114582,23.8125 c 0,-1.322652 0,-2.645569 0,-3.96875"
id="path2834"
inkscape:path-effect="#path-effect2836"
inkscape:original-d="m 70.114582,23.8125 c 2.65e-4,-1.322652 2.65e-4,-2.645569 0,-3.96875" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 121.70833,14.552083 c 0,3.969015 0,7.937765 0,11.90625"
id="path3100"
inkscape:path-effect="#path-effect3102"
inkscape:original-d="m 121.70833,14.552083 c 2.7e-4,3.969015 2.7e-4,7.937765 0,11.90625" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 142.875,25.135416 c 0,-1.322652 0,-2.645568 0,-3.96875"
id="path3108"
inkscape:path-effect="#path-effect3110"
inkscape:original-d="m 142.875,25.135416 c 2.6e-4,-1.322652 2.6e-4,-2.645568 0,-3.96875" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 164.04166,25.135416 c 0,-1.322652 0,-2.645568 0,-3.96875"
id="path3112"
inkscape:path-effect="#path-effect3114"
inkscape:original-d="m 164.04166,25.135416 c 2.7e-4,-1.322652 2.7e-4,-2.645568 0,-3.96875" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="141.55208"
y="29.104166"
id="text3118"><tspan
sodipodi:role="line"
id="tspan3116"
x="141.55208"
y="29.104166"
style="stroke-width:0.264583">$\frac{f_s}{2}$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="161.14986"
y="29.513098"
id="text3122"><tspan
sodipodi:role="line"
id="tspan3120"
x="161.14986"
y="29.513098"
style="stroke-width:0.264583">$f_s$</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3290)"
d="m 130.96875,23.8125 c 0,-2.645569 0,-5.291402 0,-7.9375"
id="path3124"
inkscape:path-effect="#path-effect3126"
inkscape:original-d="m 130.96875,23.8125 c 2.7e-4,-2.645569 2.7e-4,-5.291402 0,-7.9375" />
<path
style="fill:none;stroke:#000000;stroke-width:0.26458299;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:1.05833194, 1.05833193999999997;stroke-dashoffset:0;marker-end:url(#marker3222)"
d="m 173.30208,23.8125 c 0,-2.645569 0,-5.291402 0,-7.9375"
id="path3124-9"
inkscape:path-effect="#path-effect3161"
inkscape:original-d="m 173.30208,23.8125 c 2.7e-4,-2.645569 2.7e-4,-5.291402 0,-7.9375" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="128.32292"
y="14.552083"
id="text3384"><tspan
sodipodi:role="line"
id="tspan3382"
x="128.32292"
y="14.552083"
style="stroke-width:0.264583">$f_a$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="149.48958"
y="14.552083"
id="text3442"><tspan
sodipodi:role="line"
id="tspan3440"
x="149.48958"
y="14.552083"
style="stroke-width:0.264583">$f_s-f_a$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="169.33333"
y="14.552083"
id="text3446"><tspan
sodipodi:role="line"
id="tspan3444"
x="169.33333"
y="14.552083"
style="stroke-width:0.264583">$f_s+f_a$</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 121.70833,19.84375 H 142.875 v 3.96875"
id="path3448" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 123.03125,19.84375 -1.32292,1.322916"
id="path3450" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 125.67708,19.84375 -3.96875,3.96875"
id="path3452" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 128.32292,19.84375 -3.96875,3.96875"
id="path3454" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 130.96875,19.84375 127,23.8125"
id="path3456" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 133.61458,19.84375 -3.96875,3.96875"
id="path3458" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 136.26041,19.84375 -3.96875,3.96875"
id="path3460" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 138.90625,19.84375 134.9375,23.8125"
id="path3462" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 141.55208,19.84375 -3.96875,3.96875"
id="path3464" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 142.875,21.166666 140.22916,23.8125"
id="path3466" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,602 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg2229"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-cedd-00-subdiscr-3.svg">
<defs
id="defs2223">
<marker
style="overflow:visible;"
id="Arrow2Mend"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(0.6) rotate(180) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
id="path902" />
</marker>
<marker
style="overflow:visible"
id="marker3290"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="EmptyDiamondM"
inkscape:isstock="true">
<path
transform="scale(0.4)"
style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
id="path3288" />
</marker>
<marker
style="overflow:visible"
id="marker3280"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="EmptyDiamondM"
inkscape:isstock="true">
<path
transform="scale(0.4)"
style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
id="path3278" />
</marker>
<marker
style="overflow:visible"
id="marker3222"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="EmptyDiamondM"
inkscape:isstock="true">
<path
transform="scale(0.4)"
style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
id="path3220" />
</marker>
<inkscape:path-effect
effect="bspline"
id="path-effect3161"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3149"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3126"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3114"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3110"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3106"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3102"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<marker
style="overflow:visible"
id="marker3002"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path3000" />
</marker>
<marker
style="overflow:visible"
id="marker2962"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path2960" />
</marker>
<marker
style="overflow:visible"
id="marker2928"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path2926" />
</marker>
<marker
style="overflow:visible"
id="marker2900"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path2898" />
</marker>
<marker
style="overflow:visible"
id="marker2878"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path2876" />
</marker>
<marker
style="overflow:visible"
id="DotM"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true"
inkscape:collect="always">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path939" />
</marker>
<inkscape:path-effect
effect="bspline"
id="path-effect2836"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2832"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2828"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2824"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2820"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2816"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2812"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2808"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2804"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
inkscape:cx="666.88359"
inkscape:cy="73.09741"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
inkscape:window-width="2268"
inkscape:window-height="1205"
inkscape:window-x="46"
inkscape:window-y="73"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid2792" />
</sodipodi:namedview>
<metadata
id="metadata2226">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.05833, 1.05833;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker3280)"
d="m 142.875,23.8125 c 0,-2.645569 0,-5.291402 0,-7.9375"
id="path3124-7"
inkscape:path-effect="#path-effect3149"
inkscape:original-d="m 142.875,23.8125 c 2.7e-4,-2.645569 2.7e-4,-5.291402 0,-7.9375" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="97.649857"
y="30.008167"
id="text2796"><tspan
sodipodi:role="line"
id="tspan2794"
x="97.649857"
y="30.008167"
style="stroke-width:0.264583">$t$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="195.54568"
y="28.778605"
id="text2800"><tspan
sodipodi:role="line"
id="tspan2798"
x="195.54568"
y="28.778605"
style="stroke-width:0.264583">$f$</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 7.9374999,23.8125 c 30.8683201,0 61.7363751,0 92.6041701,0"
id="path2802"
inkscape:path-effect="#path-effect2804"
inkscape:original-d="m 7.9374999,23.8125 c 30.8683201,2.65e-4 61.7363751,2.65e-4 92.6041701,0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 10.583333,23.8125 c 3.527777,-3.527778 7.055555,-7.055556 10.583501,-7.055388 3.527945,1.67e-4 7.055653,3.527875 10.583466,7.055688 3.527812,3.527812 7.055521,7.055521 10.583201,7.055353 3.52768,-1.69e-4 7.055388,-3.527877 10.583201,-7.055689 3.527812,-3.527813 7.05552,-7.05552 10.583465,-7.055352 3.527944,1.67e-4 7.055652,3.527875 10.583465,7.055688 3.527813,3.527813 7.055521,7.055521 10.583202,7.055353 3.52768,-1.68e-4 7.055388,-3.527877 9.260258,-5.732746 2.204869,-2.204869 3.086796,-3.086797 3.96874,-3.968741"
id="path2806"
inkscape:path-effect="#path-effect2808"
inkscape:original-d="m 10.583333,23.8125 c 3.528042,-3.527513 7.05582,-7.055291 10.583333,-10.583333 3.528113,3.528112 7.055821,7.05582 10.583334,10.583333 3.528112,3.528113 7.055821,7.055821 10.583333,10.583333 3.528113,-3.527584 7.055821,-7.055292 10.583333,-10.583333 3.528113,-3.527584 7.055821,-7.055291 10.583333,-10.583333 3.528113,3.528112 7.055821,7.05582 10.583333,10.583333 3.528113,3.528113 7.055821,7.055821 10.583334,10.583333 3.528112,-3.527584 7.055821,-7.055292 10.583333,-10.583333 0.882226,-0.881698 1.764154,-1.763625 2.645833,-2.645834" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 119.0625,23.8125 c 26.4586,0 52.91693,0 79.375,0"
id="path2810"
inkscape:path-effect="#path-effect2812"
inkscape:original-d="m 119.0625,23.8125 c 26.4586,2.64e-4 52.91693,2.64e-4 79.375,0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#DotM)"
d="m 21.166667,23.8125 c 0,-2.204597 0,-4.409457 0,-6.614583"
id="path2814"
inkscape:path-effect="#path-effect2816"
inkscape:original-d="m 21.166667,23.8125 c 2.64e-4,-2.204597 2.64e-4,-4.409457 0,-6.614583"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2878)"
d="m 42.333333,23.8125 c 0,2.205125 0,4.409986 0,6.614583"
id="path2822"
inkscape:path-effect="#path-effect2824"
inkscape:original-d="m 42.333333,23.8125 c 2.65e-4,2.205125 2.65e-4,4.409986 0,6.614583"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2928)"
d="m 63.5,23.8125 c 0,-2.204597 0,-4.409457 0,-6.614583"
id="path2830"
inkscape:path-effect="#path-effect2832"
inkscape:original-d="m 63.5,23.8125 c 2.65e-4,-2.204597 2.65e-4,-4.409457 0,-6.614583"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 121.70833,14.552083 c 0,3.969015 0,7.937765 0,11.90625"
id="path3100"
inkscape:path-effect="#path-effect3102"
inkscape:original-d="m 121.70833,14.552083 c 2.7e-4,3.969015 2.7e-4,7.937765 0,11.90625" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 142.875,25.135416 c 0,-1.322652 0,-2.645568 0,-3.96875"
id="path3108"
inkscape:path-effect="#path-effect3110"
inkscape:original-d="m 142.875,25.135416 c 2.6e-4,-1.322652 2.6e-4,-2.645568 0,-3.96875" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 164.04166,25.135416 c 0,-1.322652 0,-2.645568 0,-3.96875"
id="path3112"
inkscape:path-effect="#path-effect3114"
inkscape:original-d="m 164.04166,25.135416 c 2.7e-4,-1.322652 2.7e-4,-2.645568 0,-3.96875" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="141.55208"
y="29.104166"
id="text3118"><tspan
sodipodi:role="line"
id="tspan3116"
x="141.55208"
y="29.104166"
style="stroke-width:0.264583">$\frac{f_s}{2}$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="161.14986"
y="29.513098"
id="text3122"><tspan
sodipodi:role="line"
id="tspan3120"
x="161.14986"
y="29.513098"
style="stroke-width:0.264583">$f_s$</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3290)"
d="m 142.875,25.135417 c 0,-2.645569 0,-5.291402 0,-7.9375"
id="path3124"
inkscape:path-effect="#path-effect3126"
inkscape:original-d="m 142.875,25.135417 c 2.7e-4,-2.645569 2.7e-4,-5.291402 0,-7.9375" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.05833, 1.05833;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker3222)"
d="m 185.20833,23.8125 c 0,-2.645569 0,-5.291402 0,-7.9375"
id="path3124-9"
inkscape:path-effect="#path-effect3161"
inkscape:original-d="m 185.20833,23.8125 c 2.7e-4,-2.645569 2.7e-4,-5.291402 0,-7.9375" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="137.33736"
y="13.638098"
id="text3384"><tspan
sodipodi:role="line"
id="tspan3382"
x="137.33736"
y="13.638098"
style="stroke-width:0.264583">$f_a$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="133.36861"
y="8.3464308"
id="text3442"><tspan
sodipodi:role="line"
id="tspan3440"
x="133.36861"
y="8.3464308"
style="stroke-width:0.264583">$f_s-f_a$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="177.02486"
y="14.133167"
id="text3446"><tspan
sodipodi:role="line"
id="tspan3444"
x="177.02486"
y="14.133167"
style="stroke-width:0.264583">$f_s+f_a$</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 121.70833,19.84375 H 142.875 v 3.96875"
id="path3448" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 123.03125,19.84375 -1.32292,1.322916"
id="path3450" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 125.67708,19.84375 -3.96875,3.96875"
id="path3452" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 128.32292,19.84375 -3.96875,3.96875"
id="path3454" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 130.96875,19.84375 127,23.8125"
id="path3456" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 133.61458,19.84375 -3.96875,3.96875"
id="path3458" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 136.26041,19.84375 -3.96875,3.96875"
id="path3460" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 138.90625,19.84375 134.9375,23.8125"
id="path3462" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 141.55208,19.84375 -3.96875,3.96875"
id="path3464" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 142.875,21.166666 140.22916,23.8125"
id="path3466" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 185.20833,21.166666 v 3.96875"
id="path3713" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="174.37901"
y="29.351522"
id="text3118-2"><tspan
sodipodi:role="line"
id="tspan3116-0"
x="174.37901"
y="29.351522"
style="stroke-width:0.264583">$\frac{3f_s}{2}$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="163.90903"
y="7.8716984"
id="text3753"><tspan
sodipodi:role="line"
id="tspan3751"
x="163.90903"
y="7.8716984"
style="stroke-width:0.264583">основная полоса</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
d="M 179.91666,9.2604166 H 162.71875 L 141.55208,21.166666"
id="path3755" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -0,0 +1,587 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg2229"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-cedd-00-subdiscr-4.svg">
<defs
id="defs2223">
<marker
style="overflow:visible;"
id="Arrow2Mend"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(0.6) rotate(180) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
id="path902" />
</marker>
<marker
style="overflow:visible"
id="marker3290"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="EmptyDiamondM"
inkscape:isstock="true">
<path
transform="scale(0.4)"
style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
id="path3288" />
</marker>
<marker
style="overflow:visible"
id="marker3280"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="EmptyDiamondM"
inkscape:isstock="true">
<path
transform="scale(0.4)"
style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
id="path3278" />
</marker>
<marker
style="overflow:visible"
id="marker3222"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="EmptyDiamondM"
inkscape:isstock="true">
<path
transform="scale(0.4)"
style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
id="path3220" />
</marker>
<inkscape:path-effect
effect="bspline"
id="path-effect3161"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3149"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3126"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3114"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3110"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3106"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3102"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<marker
style="overflow:visible"
id="marker3002"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path3000" />
</marker>
<marker
style="overflow:visible"
id="marker2962"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path2960" />
</marker>
<marker
style="overflow:visible"
id="marker2928"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path2926" />
</marker>
<marker
style="overflow:visible"
id="marker2900"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path2898" />
</marker>
<marker
style="overflow:visible"
id="marker2878"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path2876" />
</marker>
<marker
style="overflow:visible"
id="DotM"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true"
inkscape:collect="always">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path939" />
</marker>
<inkscape:path-effect
effect="bspline"
id="path-effect2836"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2832"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2828"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2824"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2820"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2816"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2812"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2808"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2804"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="493.7325"
inkscape:cy="23.071254"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
inkscape:window-width="2268"
inkscape:window-height="1205"
inkscape:window-x="46"
inkscape:window-y="73"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid2792" />
</sodipodi:namedview>
<metadata
id="metadata2226">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.05833, 1.05833;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker3280)"
d="m 132.29167,23.8125 c 0,-2.645569 0,-5.291402 0,-7.9375"
id="path3124-7"
inkscape:path-effect="#path-effect3149"
inkscape:original-d="m 132.29167,23.8125 c 2.7e-4,-2.645569 2.7e-4,-5.291402 0,-7.9375" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="97.649857"
y="30.008167"
id="text2796"><tspan
sodipodi:role="line"
id="tspan2794"
x="97.649857"
y="30.008167"
style="stroke-width:0.264583">$t$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="195.54568"
y="28.778605"
id="text2800"><tspan
sodipodi:role="line"
id="tspan2798"
x="195.54568"
y="28.778605"
style="stroke-width:0.264583">$f$</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 7.9374999,23.8125 c 30.8683201,0 61.7363751,0 92.6041701,0"
id="path2802"
inkscape:path-effect="#path-effect2804"
inkscape:original-d="m 7.9374999,23.8125 c 30.8683201,2.65e-4 61.7363751,2.65e-4 92.6041701,0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 10.583333,23.8125 c 3.527777,-3.527778 7.055555,-7.055556 10.583501,-7.055388 3.527945,1.67e-4 7.055653,3.527875 10.583466,7.055688 3.527812,3.527812 7.055521,7.055521 10.583201,7.055353 3.52768,-1.69e-4 7.055388,-3.527877 10.583201,-7.055689 3.527812,-3.527813 7.05552,-7.05552 10.583465,-7.055352 3.527944,1.67e-4 7.055652,3.527875 10.583465,7.055688 3.527813,3.527813 7.055521,7.055521 10.583202,7.055353 3.52768,-1.68e-4 7.055388,-3.527877 9.260258,-5.732746 2.204869,-2.204869 3.086796,-3.086797 3.96874,-3.968741"
id="path2806"
inkscape:path-effect="#path-effect2808"
inkscape:original-d="m 10.583333,23.8125 c 3.528042,-3.527513 7.05582,-7.055291 10.583333,-10.583333 3.528113,3.528112 7.055821,7.05582 10.583334,10.583333 3.528112,3.528113 7.055821,7.055821 10.583333,10.583333 3.528113,-3.527584 7.055821,-7.055292 10.583333,-10.583333 3.528113,-3.527584 7.055821,-7.055291 10.583333,-10.583333 3.528113,3.528112 7.055821,7.05582 10.583333,10.583333 3.528113,3.528113 7.055821,7.055821 10.583334,10.583333 3.528112,-3.527584 7.055821,-7.055292 10.583333,-10.583333 0.882226,-0.881698 1.764154,-1.763625 2.645833,-2.645834" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 119.0625,23.8125 c 26.4586,0 52.91693,0 79.375,0"
id="path2810"
inkscape:path-effect="#path-effect2812"
inkscape:original-d="m 119.0625,23.8125 c 26.4586,2.64e-4 52.91693,2.64e-4 79.375,0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#DotM)"
d="m 21.166667,23.8125 c 0,-2.204597 0,-4.409457 0,-6.614583"
id="path2814"
inkscape:path-effect="#path-effect2816"
inkscape:original-d="m 21.166667,23.8125 c 2.64e-4,-2.204597 2.64e-4,-4.409457 0,-6.614583"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2878)"
d="m 84.402083,23.8125 c 0,2.205125 0,4.409986 0,6.614583"
id="path2822"
inkscape:path-effect="#path-effect2824"
inkscape:original-d="m 84.402083,23.8125 c 2.65e-4,2.205125 2.65e-4,4.409986 0,6.614583"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2928)"
d="m 52.916667,23.8125 c 0,0 0,0 0,0"
id="path2830"
inkscape:path-effect="#path-effect2832"
inkscape:original-d="m 52.916667,23.8125 v 0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 121.70833,14.552083 c 0,3.969015 0,7.937765 0,11.90625"
id="path3100"
inkscape:path-effect="#path-effect3102"
inkscape:original-d="m 121.70833,14.552083 c 2.7e-4,3.969015 2.7e-4,7.937765 0,11.90625" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 142.875,25.135416 c 0,-1.322652 0,-2.645568 0,-3.96875"
id="path3108"
inkscape:path-effect="#path-effect3110"
inkscape:original-d="m 142.875,25.135416 c 2.6e-4,-1.322652 2.6e-4,-2.645568 0,-3.96875" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 164.04166,25.135416 c 0,-1.322652 0,-2.645568 0,-3.96875"
id="path3112"
inkscape:path-effect="#path-effect3114"
inkscape:original-d="m 164.04166,25.135416 c 2.7e-4,-1.322652 2.7e-4,-2.645568 0,-3.96875" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="141.55208"
y="29.104166"
id="text3118"><tspan
sodipodi:role="line"
id="tspan3116"
x="141.55208"
y="29.104166"
style="stroke-width:0.264583">$\frac{f_s}{2}$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="161.14986"
y="29.513098"
id="text3122"><tspan
sodipodi:role="line"
id="tspan3120"
x="161.14986"
y="29.513098"
style="stroke-width:0.264583">$f_s$</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3290)"
d="m 153.45833,23.8125 c 0,-2.645569 0,-5.291402 0,-7.9375"
id="path3124"
inkscape:path-effect="#path-effect3126"
inkscape:original-d="m 153.45833,23.8125 c 2.7e-4,-2.645569 2.7e-4,-5.291402 0,-7.9375" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.05833, 1.05833;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker3222)"
d="m 195.79167,23.8125 c 0,-2.645569 0,-5.291402 0,-7.9375"
id="path3124-9"
inkscape:path-effect="#path-effect3161"
inkscape:original-d="m 195.79167,23.8125 c 2.7e-4,-2.645569 2.7e-4,-5.291402 0,-7.9375" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="149.24361"
y="13.638098"
id="text3384"><tspan
sodipodi:role="line"
id="tspan3382"
x="149.24361"
y="13.638098"
style="stroke-width:0.264583">$f_a$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="126.75402"
y="13.638098"
id="text3442"><tspan
sodipodi:role="line"
id="tspan3440"
x="126.75402"
y="13.638098"
style="stroke-width:0.264583">$f_s-f_a$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="187.60818"
y="13.638098"
id="text3446"><tspan
sodipodi:role="line"
id="tspan3444"
x="187.60818"
y="13.638098"
style="stroke-width:0.264583">$f_s+f_a$</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 121.70833,19.84375 H 142.875 v 3.96875"
id="path3448" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 123.03125,19.84375 -1.32292,1.322916"
id="path3450" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 125.67708,19.84375 -3.96875,3.96875"
id="path3452" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 128.32292,19.84375 -3.96875,3.96875"
id="path3454" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 130.96875,19.84375 127,23.8125"
id="path3456" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 133.61458,19.84375 -3.96875,3.96875"
id="path3458" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 136.26041,19.84375 -3.96875,3.96875"
id="path3460" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 138.90625,19.84375 134.9375,23.8125"
id="path3462" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 141.55208,19.84375 -3.96875,3.96875"
id="path3464" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 142.875,21.166666 140.22916,23.8125"
id="path3466" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 185.20833,21.166666 v 3.96875"
id="path3713" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="174.37901"
y="29.351522"
id="text3118-2"><tspan
sodipodi:role="line"
id="tspan3116-0"
x="174.37901"
y="29.351522"
style="stroke-width:0.264583">$\frac{3f_s}{2}$</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,649 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg8"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-cedd-00-subdiscr.svg">
<defs
id="defs2">
<inkscape:path-effect
effect="bspline"
id="path-effect2142"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2130"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2118"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2106"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2083"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2063"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect2059"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect1801"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect1799"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect1617"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect1615"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect1491"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect1489"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<marker
style="overflow:visible"
id="marker1365"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="EmptyDiamondLstart"
inkscape:isstock="true">
<path
transform="scale(0.8) translate(7,0)"
style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
id="path1363" />
</marker>
<marker
style="overflow:visible"
id="marker1285"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="EmptyDiamondLstart"
inkscape:isstock="true">
<path
transform="scale(0.8) translate(7,0)"
style="fill-rule:evenodd;fill:#ffffff;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
d="M 0,-7.0710768 L -7.0710894,0 L 0,7.0710589 L 7.0710462,0 L 0,-7.0710768 z "
id="path1283" />
</marker>
<inkscape:path-effect
effect="bspline"
id="path-effect1255"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect1251"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect1247"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect1243"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect1239"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect1235"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect1231"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<marker
style="overflow:visible;"
id="Arrow2Mend"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(0.6) rotate(180) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
id="path902" />
</marker>
<inkscape:path-effect
effect="bspline"
id="path-effect873"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect869"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect865"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<marker
style="overflow:visible"
id="marker1285-3"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="EmptyDiamondLstart"
inkscape:isstock="true">
<path
transform="matrix(0.8,0,0,0.8,5.6,0)"
style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 Z"
id="path1283-6" />
</marker>
<marker
style="overflow:visible"
id="marker1295-7"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="EmptyDiamondLstart"
inkscape:isstock="true"
inkscape:collect="always">
<path
transform="matrix(0.8,0,0,0.8,5.6,0)"
style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 Z"
id="path1293-5" />
</marker>
<marker
style="overflow:visible"
id="marker1285-6"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="EmptyDiamondLstart"
inkscape:isstock="true">
<path
transform="matrix(0.8,0,0,0.8,5.6,0)"
style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 Z"
id="path1283-2" />
</marker>
<marker
style="overflow:visible"
id="marker1285-6-0"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="EmptyDiamondLstart"
inkscape:isstock="true">
<path
transform="matrix(0.8,0,0,0.8,5.6,0)"
style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 Z"
id="path1283-2-9" />
</marker>
<marker
style="overflow:visible"
id="marker1295-9-3"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="EmptyDiamondLstart"
inkscape:isstock="true"
inkscape:collect="always">
<path
transform="matrix(0.8,0,0,0.8,5.6,0)"
style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 Z"
id="path1293-1-6" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="357.04306"
inkscape:cy="226.21537"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true"
inkscape:window-width="2236"
inkscape:window-height="1205"
inkscape:window-x="1"
inkscape:window-y="28"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid833" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="48.795986"
y="44.923702"
id="text837"><tspan
sodipodi:role="line"
id="tspan835"
x="48.795986"
y="44.923702"
style="stroke-width:0.264583">$f_a$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="70.114586"
y="68.791664"
id="text849"><tspan
sodipodi:role="line"
x="70.114586"
y="68.791664"
style="stroke-width:0.264583"
id="tspan2053">$0.5f_s$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="99.21875"
y="68.791664"
id="text853"><tspan
sodipodi:role="line"
id="tspan851"
x="99.21875"
y="68.791664"
style="stroke-width:0.264583">$1f_s$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="128.32292"
y="68.791664"
id="text857"><tspan
sodipodi:role="line"
id="tspan855"
x="128.32292"
y="68.791664"
style="stroke-width:0.264583">$1.5f_s$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="160.07292"
y="68.791664"
id="text861"><tspan
sodipodi:role="line"
id="tspan859"
x="160.07292"
y="68.791664"
style="stroke-width:0.264583">$2f_s$</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
d="m 37.041666,63.499999 c 47.625264,0 95.250264,0 142.874994,0"
id="path867"
inkscape:path-effect="#path-effect869"
inkscape:original-d="m 37.041666,63.499999 c 47.625264,2.65e-4 95.250264,2.65e-4 142.874994,0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
d="m 42.333333,63.499999 c 0,-9.701125 0,-19.402512 0,-29.104166"
id="path871"
inkscape:path-effect="#path-effect873"
inkscape:original-d="m 42.333333,63.499999 c 2.64e-4,-9.701125 2.64e-4,-19.402512 0,-29.104166" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 74.083332,60.854166 c 0,0.441238 0,0.882208 0,1.543675 0,0.661468 0,1.543396 0,2.425075"
id="path1229"
inkscape:path-effect="#path-effect1231"
inkscape:original-d="m 74.083332,60.854166 c 2.65e-4,0.441238 2.65e-4,0.882208 0,1.322917 2.65e-4,0.882226 2.65e-4,1.764154 0,2.645833" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 101.86458,60.854166 c 0,1.323181 0,2.646098 0,3.96875"
id="path1233"
inkscape:path-effect="#path-effect1235"
inkscape:original-d="m 101.86458,60.854166 c 2.7e-4,1.323181 2.7e-4,2.646098 0,3.96875" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 132.29166,60.854166 c 0,1.323181 0,2.646098 0,3.96875"
id="path1237"
inkscape:path-effect="#path-effect1239"
inkscape:original-d="m 132.29166,60.854166 c 2.7e-4,1.323181 2.7e-4,2.646098 0,3.96875" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 162.71875,60.854166 c 0,1.323181 0,2.646098 0,3.96875"
id="path1241"
inkscape:path-effect="#path-effect1243"
inkscape:original-d="m 162.71875,60.854166 c 2.6e-4,1.323181 2.6e-4,2.646098 0,3.96875" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker1365)"
d="m 48.947916,63.499999 c 0,-4.850429 0,-9.701125 0,-14.552083"
id="path1245"
inkscape:path-effect="#path-effect1247"
inkscape:original-d="m 48.947916,63.499999 c 2.65e-4,-4.850429 2.65e-4,-9.701125 0,-14.552083" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.05833, 1.05833;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker1285-3)"
d="m 95.250001,63.5 c 0,-4.850429 0,-9.701125 0,-14.552083"
id="path1249-3"
inkscape:path-effect="#path-effect1489"
inkscape:original-d="m 95.250001,63.5 c 2.65e-4,-4.850429 2.65e-4,-9.701125 0,-14.552083" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.05833, 1.05833;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker1295-7)"
d="m 108.47917,63.5 c 0,-4.850429 0,-9.701125 0,-14.552083"
id="path1253-5"
inkscape:path-effect="#path-effect1491"
inkscape:original-d="m 108.47917,63.5 c 2.7e-4,-4.850429 2.7e-4,-9.701125 0,-14.552083" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.05833, 1.05833;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker1285-6-0)"
d="m 156.10417,63.5 c 0,-4.850429 0,-9.701125 0,-14.552083"
id="path1249-2-0"
inkscape:path-effect="#path-effect1799"
inkscape:original-d="m 156.10417,63.5 c 2.7e-4,-4.850429 2.7e-4,-9.701125 0,-14.552083" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.05833, 1.05833;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker1295-9-3)"
d="m 169.33334,63.5 c 0,-4.850429 0,-9.701125 0,-14.552083"
id="path1253-7-6"
inkscape:path-effect="#path-effect1801"
inkscape:original-d="m 169.33334,63.5 c 2.6e-4,-4.850429 2.6e-4,-9.701125 0,-14.552083" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="128.19028"
y="38.802452"
id="text2051"><tspan
sodipodi:role="line"
id="tspan2049"
x="128.19028"
y="38.802452"
style="stroke-width:0.264583">образы</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.26458299;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:1.05833194,1.05833194;stroke-dashoffset:0"
d="m 127,39.6875 c -4.85057,2.204807 -9.70127,4.409671 -14.55208,6.614583"
id="path2057"
inkscape:path-effect="#path-effect2059"
inkscape:original-d="m 127,39.6875 c -4.85043,2.205124 -9.70113,4.409987 -14.55208,6.614583" />
<path
style="fill:none;stroke:#000000;stroke-width:0.26458299;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:1.05833194,1.05833194;stroke-dashoffset:0"
d="m 144.19791,39.6875 c 3.08711,2.205079 6.17392,4.409938 9.26042,6.614583"
id="path2061"
inkscape:path-effect="#path-effect2063"
inkscape:original-d="m 144.19791,39.6875 c 3.08708,2.205124 6.17388,4.409987 9.26042,6.614583" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="54.239582"
y="78.052086"
id="text2067"><tspan
sodipodi:role="line"
id="tspan2065"
x="54.239582"
y="78.052086"
style="stroke-width:0.264583">зона 1</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="79.375"
y="78.052086"
id="text2071"><tspan
sodipodi:role="line"
id="tspan2069"
x="79.375"
y="78.052086"
style="stroke-width:0.264583">зона 2</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="112.44791"
y="78.052086"
id="text2075"><tspan
sodipodi:role="line"
id="tspan2073"
x="112.44791"
y="78.052086"
style="stroke-width:0.264583">зона 3</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="141.55208"
y="78.052086"
id="text2079"><tspan
sodipodi:role="line"
id="tspan2077"
x="141.55208"
y="78.052086"
style="stroke-width:0.264583">зона 4</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.26458299;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:0.26458299,1.58749792;stroke-dashoffset:0"
d="m 48.947916,63.499999 c 0,7.937765 0,15.875265 0,23.8125"
id="path2081"
inkscape:path-effect="#path-effect2083"
inkscape:original-d="m 48.947916,63.499999 c 2.65e-4,7.937765 2.65e-4,15.875265 0,23.8125" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.264583, 1.5875;stroke-dashoffset:0;stroke-opacity:1"
d="m 74.083333,63.500001 c 0,7.937765 0,15.875265 0,23.812498"
id="path2081-2"
inkscape:path-effect="#path-effect2106"
inkscape:original-d="m 74.083333,63.500001 c 2.65e-4,7.937765 2.65e-4,15.875265 0,23.812498" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.264583, 1.5875;stroke-dashoffset:0;stroke-opacity:1"
d="m 101.86458,63.5 c 0,7.937765 0,15.875265 0,23.8125"
id="path2081-6"
inkscape:path-effect="#path-effect2118"
inkscape:original-d="m 101.86458,63.5 c 2.7e-4,7.937765 2.7e-4,15.875265 0,23.8125" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.264583, 1.5875;stroke-dashoffset:0;stroke-opacity:1"
d="m 132.29167,63.5 c 0,7.937765 0,15.875265 0,23.8125"
id="path2081-1"
inkscape:path-effect="#path-effect2130"
inkscape:original-d="m 132.29167,63.5 c 2.6e-4,7.937765 2.6e-4,15.875265 0,23.8125" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.264583, 1.5875;stroke-dashoffset:0;stroke-opacity:1"
d="m 162.71875,63.5 c 0,7.937765 0,15.875265 0,23.8125"
id="path2081-8"
inkscape:path-effect="#path-effect2142"
inkscape:original-d="m 162.71875,63.5 c 2.6e-4,7.937765 2.6e-4,15.875265 0,23.8125" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 24 KiB

205
pics/04-t-00-hyperv.svg Normal file
View File

@ -0,0 +1,205 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg2875"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-t-00-hyperv.svg">
<defs
id="defs2869" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="209.14026"
inkscape:cy="622.06381"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
inkscape:window-width="1533"
inkscape:window-height="1205"
inkscape:window-x="46"
inkscape:window-y="72"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid3438" />
</sodipodi:namedview>
<metadata
id="metadata2872">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="52.771973"
y="197.55246"
id="text3442"><tspan
sodipodi:role="line"
id="tspan3440"
x="52.771973"
y="197.55246"
style="stroke-width:0.264583">Хост компьютер</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="58.073284"
y="189.61496"
id="text3446"><tspan
sodipodi:role="line"
id="tspan3444"
x="58.073284"
y="189.61496"
style="stroke-width:0.264583">гипервизор</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="26.323286"
y="179.8588"
id="text3450"><tspan
sodipodi:role="line"
id="tspan3448"
x="26.323286"
y="179.8588"
style="stroke-width:0.264583">гостевая ОС</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="58.073284"
y="179.8588"
id="text3450-2"><tspan
sodipodi:role="line"
id="tspan3448-8"
x="58.073284"
y="179.8588"
style="stroke-width:0.264583">гостевая ОС</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="89.823288"
y="179.8588"
id="text3450-8"><tspan
sodipodi:role="line"
id="tspan3448-9"
x="89.823288"
y="179.8588"
style="stroke-width:0.264583">гостевая ОС</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="26.296759"
y="171.09412"
id="text3490"><tspan
sodipodi:role="line"
id="tspan3488"
x="26.296759"
y="171.09412"
style="stroke-width:0.264583">приложения</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="58.046757"
y="171.09412"
id="text3490-2"><tspan
sodipodi:role="line"
id="tspan3488-8"
x="58.046757"
y="171.09412"
style="stroke-width:0.264583">приложения</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="89.796761"
y="171.09412"
id="text3490-8"><tspan
sodipodi:role="line"
id="tspan3488-86"
x="89.796761"
y="171.09412"
style="stroke-width:0.264583">приложения</tspan></text>
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect3528"
width="95.25"
height="6.614573"
x="23.8125"
y="193.14583" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect3530"
width="95.25"
height="7.9375"
x="23.8125"
y="183.88542" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect3532"
width="30.427082"
height="7.9375"
x="23.8125"
y="174.625" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect3534"
width="31.75"
height="7.9375"
x="55.5625"
y="174.625" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect3536"
width="30.427082"
height="7.9375"
x="88.635414"
y="174.625" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect3538"
width="30.427082"
height="6.6145935"
x="23.8125"
y="166.6875" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect3540"
width="31.75"
height="6.6145935"
x="55.5625"
y="166.6875" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect3542"
width="30.427084"
height="6.6145935"
x="88.635414"
y="166.6875" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.5 KiB

BIN
pics/04-t-devops-table.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 KiB

599
pics/04-tsaf-00-acf.svg Normal file
View File

@ -0,0 +1,599 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg5572"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-tsaf-00-acf.svg">
<defs
id="defs5566">
<marker
style="overflow:visible"
id="marker7347"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path7345" />
</marker>
<marker
style="overflow:visible"
id="marker7247"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path7245" />
</marker>
<marker
style="overflow:visible"
id="marker6901"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true"
inkscape:collect="always">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path6899" />
</marker>
<marker
style="overflow:visible"
id="marker6891"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path6889" />
</marker>
<marker
style="overflow:visible"
id="marker6803"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path6801" />
</marker>
<marker
style="overflow:visible"
id="marker6721"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path6719" />
</marker>
<marker
style="overflow:visible"
id="marker6645"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path6643" />
</marker>
<marker
style="overflow:visible"
id="marker6575"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path6573" />
</marker>
<marker
style="overflow:visible"
id="marker6511"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path6509" />
</marker>
<marker
style="overflow:visible"
id="marker6453"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path6451" />
</marker>
<marker
style="overflow:visible"
id="marker6401"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path6399" />
</marker>
<marker
style="overflow:visible"
id="marker6355"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path6353" />
</marker>
<marker
style="overflow:visible"
id="marker6315"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path6313" />
</marker>
<marker
style="overflow:visible"
id="marker6281"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path6279" />
</marker>
<marker
style="overflow:visible"
id="marker6253"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path6251" />
</marker>
<marker
style="overflow:visible"
id="marker6231"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="DotM"
inkscape:isstock="true">
<path
transform="scale(0.4) translate(7.4, 1)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
id="path6229" />
</marker>
<inkscape:path-effect
effect="bspline"
id="path-effect6207"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect6203"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect6199"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect6195"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect6191"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect6187"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect6183"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect6179"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect6175"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect6171"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect6167"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect6163"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect6159"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect6155"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect6151"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect6147"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect6143"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect6139"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="316.74098"
inkscape:cy="193.47096"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
inkscape:window-width="2102"
inkscape:window-height="1205"
inkscape:window-x="50"
inkscape:window-y="77"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid6135" />
</sodipodi:namedview>
<metadata
id="metadata5569">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 18.520833,7.9374999 c 0,15.8752641 0,31.7502641 0,47.6249991"
id="path6137"
inkscape:path-effect="#path-effect6139"
inkscape:original-d="m 18.520833,7.9374999 c 2.65e-4,15.8752641 2.65e-4,31.7502641 0,47.6249991" />
<rect
style="fill:#e0e0e0;stroke:none;stroke-width:0.264999;stroke-miterlimit:4;stroke-dasharray:none;fill-opacity:1"
id="rect7469"
width="132.29167"
height="18.52083"
x="29.104166"
y="38.364582" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 10.583333,47.624999 c 48.507209,0 97.014147,10e-7 145.520837,10e-7"
id="path6141"
inkscape:path-effect="#path-effect6143"
inkscape:original-d="m 10.583333,47.624999 c 48.507209,2.65e-4 97.014147,2.65e-4 145.520837,10e-7"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker7347)"
d="m 26.458333,47.624999 c 0,-12.346958 0,-24.694179 0,-37.041666"
id="path6145"
inkscape:path-effect="#path-effect6147"
inkscape:original-d="m 26.458333,47.624999 c 2.65e-4,-12.346958 2.65e-4,-24.694179 0,-37.041666" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker7247)"
d="m 34.395833,47.624999 c 0,-7.055291 0,-14.110845 0,-21.166666"
id="path6149"
inkscape:path-effect="#path-effect6151"
inkscape:original-d="m 34.395833,47.624999 c 2.64e-4,-7.055291 2.64e-4,-14.110845 0,-21.166666" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker6891)"
d="m 42.333333,47.624999 c 0,-3.527512 0,-7.055291 0,-10.583333"
id="path6153"
inkscape:path-effect="#path-effect6155"
inkscape:original-d="m 42.333333,47.624999 c 2.64e-4,-3.527512 2.64e-4,-7.055291 0,-10.583333" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker6901)"
d="m 50.270833,47.624999 c 0,-0.881679 0,-1.763625 0,-2.645833"
id="path6157"
inkscape:path-effect="#path-effect6159"
inkscape:original-d="m 50.270833,47.624999 c 2.64e-4,-0.881679 2.64e-4,-1.763625 0,-2.645833" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker6231)"
d="m 58.208333,47.624999 c 0,1.764155 0,3.528042 0,5.291667"
id="path6161"
inkscape:path-effect="#path-effect6163"
inkscape:original-d="m 58.208333,47.624999 c 2.64e-4,1.764155 2.64e-4,3.528042 0,5.291667" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker6253)"
d="m 66.145832,47.624999 c 0,2.646098 0,5.291932 0,7.9375"
id="path6165"
inkscape:path-effect="#path-effect6167"
inkscape:original-d="m 66.145832,47.624999 c 2.65e-4,2.646098 2.65e-4,5.291932 0,7.9375" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker6281)"
d="m 74.083332,47.624999 c 0,0.882209 0,1.764155 0,2.645834"
id="path6169"
inkscape:path-effect="#path-effect6171"
inkscape:original-d="m 74.083332,47.624999 c 2.65e-4,0.882209 2.65e-4,1.764155 0,2.645834" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker6315)"
d="m 82.020832,47.624999 c 0,-0.881679 0,-1.763625 0,-2.645833"
id="path6173"
inkscape:path-effect="#path-effect6175"
inkscape:original-d="m 82.020832,47.624999 c 2.65e-4,-0.881679 2.65e-4,-1.763625 0,-2.645833" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker6355)"
d="m 89.958332,47.624999 c 0,-1.763625 0,-3.527512 0,-5.291666"
id="path6177"
inkscape:path-effect="#path-effect6179"
inkscape:original-d="m 89.958332,47.624999 c 2.65e-4,-1.763625 2.65e-4,-3.527512 0,-5.291666" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker6401)"
d="m 97.895832,47.624999 c 0,-1.763625 0,-3.527512 0,-5.291666"
id="path6181"
inkscape:path-effect="#path-effect6183"
inkscape:original-d="m 97.895832,47.624999 c 2.65e-4,-1.763625 2.65e-4,-3.527512 0,-5.291666" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker6453)"
d="m 105.83333,47.624999 c 0,-0.881679 0,-1.763625 0,-2.645833"
id="path6185"
inkscape:path-effect="#path-effect6187"
inkscape:original-d="m 105.83333,47.624999 c 2.7e-4,-0.881679 2.7e-4,-1.763625 0,-2.645833" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker6511)"
d="m 113.77083,47.624999 c 0,1.764155 0,3.528042 0,5.291667"
id="path6189"
inkscape:path-effect="#path-effect6191"
inkscape:original-d="m 113.77083,47.624999 c 2.7e-4,1.764155 2.7e-4,3.528042 0,5.291667" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker6575)"
d="m 121.70833,47.624999 c 0,2.646098 0,5.291932 0,7.9375"
id="path6193"
inkscape:path-effect="#path-effect6195"
inkscape:original-d="m 121.70833,47.624999 c 2.7e-4,2.646098 2.7e-4,5.291932 0,7.9375" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker6645)"
d="m 129.64583,47.624999 c 0,0.882209 0,1.764155 0,2.645834"
id="path6197"
inkscape:path-effect="#path-effect6199"
inkscape:original-d="m 129.64583,47.624999 c 2.7e-4,0.882209 2.7e-4,1.764155 0,2.645834" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker6721)"
d="m 137.58333,47.624999 c 0,-0.881679 0,-1.763625 0,-2.645833"
id="path6201"
inkscape:path-effect="#path-effect6203"
inkscape:original-d="m 137.58333,47.624999 c 2.7e-4,-0.881679 2.7e-4,-1.763625 0,-2.645833" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker6803)"
d="m 145.52083,47.624999 c 0,-2.645568 0,-5.291402 0,-7.937499"
id="path6205"
inkscape:path-effect="#path-effect6207"
inkscape:original-d="m 145.52083,47.624999 c 2.7e-4,-2.645568 2.7e-4,-5.291402 0,-7.937499" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -0,0 +1,104 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg3324"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-tsaf-00-norm-disp.svg">
<defs
id="defs3318">
<inkscape:path-effect
effect="bspline"
id="path-effect3899"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect3334"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="283.92187"
inkscape:cy="572.83794"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
inkscape:window-width="1533"
inkscape:window-height="1205"
inkscape:window-x="46"
inkscape:window-y="72"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid3326" />
</sodipodi:namedview>
<metadata
id="metadata3321">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 13.229167,137.58333 140.229163,0"
id="path3328"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 89.958333,60.854167 -10e-7,89.958333"
id="path3330"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#0000fd;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 39.6875,134.9375 c 8.819679,-0.88197 17.639125,-1.76392 23.371649,-7.93753 5.732525,-6.17362 8.378306,-17.63867 12.347184,-24.69437 3.968877,-7.055707 9.260438,-9.701488 14.552264,-9.701355 5.291825,1.32e-4 10.583383,2.645913 14.552033,9.701655 3.96866,7.05574 6.61444,18.52079 13.22923,24.69427 6.6148,6.17348 17.19792,7.05541 27.78097,7.93733"
id="path3332"
inkscape:path-effect="#path-effect3334"
inkscape:original-d="m 39.6875,134.9375 c 8.819708,-0.88168 17.639154,-1.76363 26.458332,-2.64584 2.646151,-11.46524 5.291932,-22.93029 7.9375,-34.395828 5.292037,-2.645622 10.583598,-5.291402 15.875,-7.9375 5.292037,2.646151 10.583598,5.291931 15.874998,7.9375 2.64615,11.465768 5.29193,22.930818 7.9375,34.395828 10.58381,0.88223 21.16693,1.76416 31.75,2.64584" />
<path
style="fill:none;stroke:#ff0000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 29.104166,134.9375 c 5.291881,-0.88198 10.583548,-1.76393 14.552203,-12.78831 3.968654,-11.02439 6.614435,-32.19063 8.819381,-43.215084 2.204946,-11.024455 3.968799,-11.906382 5.732811,-11.906267 1.764013,1.14e-4 3.527867,0.882041 4.409652,11.906611 0.881786,11.02457 0.881786,32.19081 14.993319,43.65598 14.111533,11.46517 42.333198,13.22903 70.555128,14.9929"
id="path3897"
inkscape:path-effect="#path-effect3899"
inkscape:original-d="m 29.104166,134.9375 c 5.291931,-0.88168 10.583598,-1.76363 15.875,-2.64584 2.646151,-21.16682 5.291931,-42.333063 7.9375,-63.499994 1.764189,-0.881698 3.528041,-1.763625 5.291667,-2.645834 1.764188,0.882227 3.528041,1.764155 5.291666,2.645834 2.65e-4,21.167354 2.65e-4,42.333594 0,63.499994 28.223051,1.76419 56.444711,3.52805 84.666661,5.29167" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

BIN
pics/04-tss-01-lab-mul1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
pics/04-tss-01-lab-mul2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@ -0,0 +1,223 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg4920"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-vora-00-blurring.svg">
<defs
id="defs4914" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="179.65775"
inkscape:cy="272.82128"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
inkscape:snap-bbox="true"
inkscape:snap-bbox-midpoints="true"
inkscape:window-width="2560"
inkscape:window-height="1376"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid5483" />
</sodipodi:namedview>
<metadata
id="metadata4917">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<ellipse
id="path5485"
style="fill:#000000;stroke:none;stroke-width:0.264583"
cx="21.166666"
cy="103.1875"
rx="0.79374939"
ry="0.79374999" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="13.229166"
y="111.125"
id="text5489"><tspan
sodipodi:role="line"
id="tspan5487"
x="13.229166"
y="111.125"
style="stroke-width:0.264583">camera</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="55.5625"
y="111.125"
id="text5493"><tspan
sodipodi:role="line"
id="tspan5491"
x="55.5625"
y="111.125"
style="stroke-width:0.264583">image</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="100.54166"
y="111.125"
id="text5497"><tspan
sodipodi:role="line"
id="tspan5495"
x="100.54166"
y="111.125"
style="stroke-width:0.264583">плоскость</tspan><tspan
sodipodi:role="line"
x="100.54166"
y="117.29862"
style="stroke-width:0.264583"
id="tspan5501">реального</tspan><tspan
sodipodi:role="line"
x="100.54166"
y="123.47225"
style="stroke-width:0.264583"
id="tspan5505">объекта</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 21.166666,103.1875 H 136.26041"
id="path5510" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 60.854166,107.15625 10e-7,-31.75"
id="path5512"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 99.218749,115.09375 10e-7,-44.979167"
id="path5514"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 121.70833,87.312499 21.166666,103.1875 121.70833,70.114583"
id="path5516" />
<ellipse
id="path5485-9"
style="fill:#000000;stroke:none;stroke-width:0.264583"
cx="60.854168"
cy="89.958336"
rx="0.79374939"
ry="0.79374999" />
<ellipse
id="path5485-9-1"
style="fill:#000000;stroke:none;stroke-width:0.264583"
cx="60.854168"
cy="96.837502"
rx="0.79374939"
ry="0.79374999" />
<ellipse
id="path5485-9-2"
style="fill:#000000;stroke:none;stroke-width:0.264583"
cx="99.21875"
cy="77.522919"
rx="0.79374939"
ry="0.79374999" />
<ellipse
id="path5485-9-7"
style="fill:#000000;stroke:none;stroke-width:0.264583"
cx="99.21875"
cy="90.752083"
rx="0.79374939"
ry="0.79374999" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="43.65625"
y="85.989586"
id="text5578"><tspan
sodipodi:role="line"
id="tspan5576"
x="43.65625"
y="85.989586"
style="stroke-width:0.264583">$A_i(u_i,v_i)$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="63.5"
y="95.25"
id="text5582"><tspan
sodipodi:role="line"
id="tspan5580"
x="63.5"
y="95.25"
style="stroke-width:0.264583">$\sigma$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="92.604164"
y="87.3125"
id="text5586"><tspan
sodipodi:role="line"
id="tspan5584"
x="92.604164"
y="87.3125"
style="stroke-width:0.264583">$\Delta$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="61.961903"
y="101.82583"
id="text5578-0"><tspan
sodipodi:role="line"
id="tspan5576-9"
x="61.961903"
y="101.82583"
style="stroke-width:0.264583">$A_0(u_0,v_0)$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="101.86458"
y="96.572914"
id="text5632"><tspan
sodipodi:role="line"
id="tspan5630"
x="101.86458"
y="96.572914"
style="stroke-width:0.264583">$A$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="101.86458"
y="72.760414"
id="text5636"><tspan
sodipodi:role="line"
id="tspan5634"
x="101.86458"
y="72.760414"
style="stroke-width:0.264583">$A'$</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

@ -0,0 +1,119 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg8"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-vora-00-homographia.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="338.79034"
inkscape:cy="385.15179"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
inkscape:window-width="1533"
inkscape:window-height="1205"
inkscape:window-x="772"
inkscape:window-y="65"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid833" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="26.458332"
y="111.125"
id="text837"><tspan
sodipodi:role="line"
id="tspan835"
x="26.458332"
y="111.125"
style="stroke-width:0.264583">Книга</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="74.083336"
y="116.41666"
id="text841"><tspan
sodipodi:role="line"
id="tspan839"
x="74.083336"
y="116.41666"
style="stroke-width:0.264583">Изображение</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="113.77083"
y="105.83333"
id="text845"><tspan
sodipodi:role="line"
id="tspan843"
x="113.77083"
y="105.83333"
style="stroke-width:0.264583">поворот и маштаб</tspan></text>
<rect
style="fill:none;stroke:#555555;stroke-width:0.264999"
id="rect847"
width="47.625"
height="60.854164"
x="63.5"
y="47.625" />
<rect
style="fill:none;stroke:#555555;stroke-width:0.264999"
id="rect851"
width="15.875"
height="23.8125"
x="26.458332"
y="82.020836" />
<rect
style="fill:none;stroke:#555555;stroke-width:0.264999"
id="rect851-3"
width="10.583336"
height="15.87501"
x="120.78019"
y="19.881947"
ry="0"
transform="rotate(31.726015)" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 130.96875,107.15625 H 113.77083 L 97.895832,93.927082"
id="path873" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -0,0 +1,154 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg8"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-vora-00-obj-height.svg">
<defs
id="defs2">
<inkscape:path-effect
effect="bspline"
id="path-effect861"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
inkscape:cx="304.3402"
inkscape:cy="168.43807"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
inkscape:window-width="2560"
inkscape:window-height="1376"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid833" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="30.427082"
y="52.916664"
id="text837"><tspan
sodipodi:role="line"
id="tspan835"
x="30.427082"
y="52.916664"
style="stroke-width:0.264583">Камера</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="108.47916"
y="52.916664"
id="text841"><tspan
sodipodi:role="line"
id="tspan839"
x="108.47916"
y="52.916664"
style="stroke-width:0.264583">Объект</tspan></text>
<ellipse
id="path843"
style="fill:#000000;stroke:none;stroke-width:0.265;stroke-miterlimit:4;stroke-dasharray:none"
cx="38.364582"
cy="47.625"
rx="0.79374874"
ry="0.79374999" />
<ellipse
id="path845"
style="fill:#000000;stroke:none;stroke-width:0.265;stroke-miterlimit:4;stroke-dasharray:none"
cx="116.41666"
cy="47.625"
rx="0.79373986"
ry="0.79374999" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 38.364583,47.624999 h 78.052087 l 0,-19.843749"
id="path847" />
<path
style="fill:none;stroke:#000000;stroke-width:0.26458299;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:0.26458299,0.79374896;stroke-dashoffset:0"
d="M 38.364583,47.624999 116.41667,27.78125"
id="path849" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="119.0625"
y="39.6875"
id="text853"><tspan
sodipodi:role="line"
id="tspan851"
x="119.0625"
y="39.6875"
style="stroke-width:0.264583">h</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="72.760414"
y="52.916664"
id="text857"><tspan
sodipodi:role="line"
id="tspan855"
x="72.760414"
y="52.916664"
style="stroke-width:0.264583">l</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 64.822916,41.010416 c 0.882208,0.882208 1.764154,1.764154 2.204993,2.866598 0.44084,1.102443 0.44084,2.425333 0.44084,3.747985"
id="path859"
inkscape:path-effect="#path-effect861"
inkscape:original-d="m 64.822916,41.010416 c 0.882208,0.882208 1.764154,1.764154 2.645833,2.645833 2.65e-4,1.323208 2.65e-4,2.646098 0,3.96875" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="68.791664"
y="44.979168"
id="text865"><tspan
sodipodi:role="line"
id="tspan863"
x="68.791664"
y="44.979168"
style="stroke-width:0.264583">$\alpha$</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@ -0,0 +1,333 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg960"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-vora-00-obj-moving.svg">
<defs
id="defs954">
<marker
style="overflow:visible;"
id="marker3041"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(0.6) rotate(180) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
id="path3039" />
</marker>
<marker
style="overflow:visible;"
id="marker3001"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(0.6) rotate(180) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
id="path2999" />
</marker>
<marker
style="overflow:visible;"
id="marker2967"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(0.6) rotate(180) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
id="path2965" />
</marker>
<marker
style="overflow:visible;"
id="marker2087"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true"
inkscape:collect="always">
<path
transform="scale(0.6) rotate(180) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
id="path2085" />
</marker>
<marker
style="overflow:visible;"
id="marker2027"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true"
inkscape:collect="always">
<path
transform="scale(0.6) rotate(180) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#555555;stroke-opacity:1;fill:#555555;fill-opacity:1"
id="path2025" />
</marker>
<marker
style="overflow:visible;"
id="Arrow2Mend"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(0.6) rotate(180) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#555555;stroke-opacity:1;fill:#555555;fill-opacity:1"
id="path1602" />
</marker>
<inkscape:path-effect
effect="bspline"
id="path-effect1547"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect1543"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect1535"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2"
inkscape:cx="191.12762"
inkscape:cy="331.75683"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
showguides="false"
inkscape:guide-bbox="true"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
inkscape:snap-bbox-midpoints="true"
inkscape:window-width="2560"
inkscape:window-height="1376"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid1523" />
<sodipodi:guide
position="59.53125,203.07292"
orientation="0,-1"
id="guide1525" />
<sodipodi:guide
position="79.375,207.04167"
orientation="0,-1"
id="guide1527" />
<sodipodi:guide
position="99.218748,203.07293"
orientation="0,-1"
id="guide1529" />
<sodipodi:guide
position="79.374998,199.10417"
orientation="0,-1"
id="guide1531" />
<sodipodi:guide
position="79.374998,237.46876"
orientation="1,0"
id="guide1537" />
<sodipodi:guide
position="79.374998,172.64584"
orientation="1,0"
id="guide1539" />
</sodipodi:namedview>
<metadata
id="metadata957">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:none;stroke:#999999;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:0.33, 0.16500000000000001;stroke-dashoffset:0"
d="m 59.002083,93.927083 c 6.791133,-2.204913 13.581969,-4.40973 20.505448,-4.409655 6.923479,7.5e-5 13.978786,2.204858 17.506462,3.307256 3.527677,1.102399 3.527677,1.102399 -2.7e-5,2.204807 -3.527704,1.102408 -10.583104,3.307221 -17.506432,3.307298 -6.923327,7.7e-5 -13.714033,-2.204699 -17.109742,-3.307202 -3.395709,-1.102504 -3.395709,-1.102504 -3.395709,-1.102504"
id="path1533"
inkscape:path-effect="#path-effect1535"
inkscape:original-d="m 59.002083,93.927083 c 6.791236,-2.204596 13.582072,-4.409413 20.372915,-6.614583 7.05596,2.205169 14.111267,4.409952 21.166672,6.614583 2.6e-4,2.65e-4 2.6e-4,2.65e-4 0,0 -7.055309,2.205132 -14.110709,4.409945 -21.166672,6.614587 -6.790844,-2.204642 -13.581549,-4.409418 -20.372915,-6.614587 2.65e-4,2.65e-4 0,0 0,0"
sodipodi:nodetypes="ccccccc" />
<path
style="fill:none;stroke:#999999;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:0.33, 0.16500000000000001;stroke-dashoffset:0"
d="m 75.847212,62.618067 c -3.527789,3.880567 -10.583198,11.641518 -14.111039,19.491101 -3.52784,7.849584 -3.52784,15.786769 1.47e-4,22.930652 3.527987,7.14389 10.58333,13.49369 14.111005,16.6686 3.527675,3.17491 3.527675,3.17491 7.055536,0.22033 3.527861,-2.95459 10.583133,-8.86337 14.110971,-16.00713 3.527838,-7.143751 3.527838,-15.521881 1.14e-4,-23.59183 C 93.486222,74.259841 86.430943,66.499036 82.902971,62.618268 79.375,58.7375 79.375,58.7375 75.847212,62.618067 Z"
id="path1541"
inkscape:path-effect="#path-effect1543"
inkscape:original-d="m 79.375,58.7375 c -7.0553,7.761386 -14.11071,15.522336 -21.166667,23.283333 2.65e-4,7.937919 2.65e-4,15.875104 0,23.812497 7.055962,6.35039 14.111303,12.7002 21.166667,19.05 2.65e-4,2.7e-4 2.65e-4,2.7e-4 0,0 7.055961,-5.90888 14.111232,-11.81767 21.16667,-17.72708 2.6e-4,-8.378381 2.6e-4,-16.756511 0,-25.135417 C 93.486235,74.259829 86.430956,66.499024 79.375,58.7375 c 2.65e-4,2.65e-4 2.65e-4,2.65e-4 0,0 z"
sodipodi:nodetypes="ccccccccc" />
<path
style="fill:none;stroke:#999999;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:0.33, 0.16500000000000001;stroke-dashoffset:0"
d="m 78.052057,63.500095 c -1.322943,4.762595 -3.968722,14.287398 -5.291639,21.254937 -1.322918,6.96754 -1.322918,11.377087 7.6e-5,17.683148 1.322994,6.30605 3.968746,14.50788 5.291626,18.60881 1.32288,4.10093 1.32288,4.10093 2.645798,-1.2e-4 1.322918,-4.10104 3.968641,-12.30278 5.291611,-18.60877 C 87.3125,96.132118 87.3125,91.722575 85.9896,84.755099 84.666701,77.787623 82.020971,68.262995 80.697985,63.500248 79.375,58.7375 79.375,58.7375 78.052057,63.500095 Z"
id="path1545"
inkscape:path-effect="#path-effect1547"
inkscape:original-d="m 79.375,58.7375 c -2.645572,9.525277 -5.291351,19.05008 -7.9375,28.575 2.65e-4,4.410072 2.65e-4,8.819619 0,13.22917 2.64615,8.20251 5.291904,16.40434 7.9375,24.60625 2.65e-4,2.6e-4 2.65e-4,2.6e-4 0,0 2.646153,-8.20199 5.291876,-16.40373 7.9375,-24.60625 2.65e-4,-4.409552 2.65e-4,-8.819095 0,-13.22917 -2.645622,-9.524926 -5.291352,-19.049554 -7.9375,-28.575 2.65e-4,2.65e-4 2.65e-4,2.65e-4 0,0 z"
sodipodi:nodetypes="ccccccccc" />
<ellipse
id="path1549"
style="fill:#000000;stroke:none;stroke-width:0.264583"
cx="95.25"
cy="101.86458"
rx="0.79374999"
ry="0.79374492" />
<ellipse
id="path1549-3"
style="fill:#555555;fill-opacity:1;stroke:none;stroke-width:0.265;stroke-miterlimit:4;stroke-dasharray:none"
cx="79.375"
cy="93.927086"
rx="0.26458332"
ry="0.26458588" />
<path
style="fill:none;stroke:#555555;stroke-width:0.07004103;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:0.14008207, 0.07004103000000000;marker-end:url(#marker2027);stroke-dashoffset:0"
d="M 79.374999,93.927082 H 44.979166"
id="path1571" />
<path
style="fill:none;stroke:#555555;stroke-width:0.07004103;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker2087);stroke-miterlimit:4;stroke-dasharray:0.14008207, 0.07004103000000000;stroke-dashoffset:0"
d="M 79.374999,93.927082 V 140.22916"
id="path2077" />
<path
style="fill:none;stroke:#555555;stroke-width:0.07004103;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:0.14008207, 0.07004103000000000;stroke-dashoffset:0"
d="M 79.374999,93.927082 111.125,125.67708"
id="path2119" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="44.979168"
y="97.895836"
id="text2139"><tspan
sodipodi:role="line"
id="tspan2137"
x="44.979168"
y="97.895836"
style="stroke-width:0.264583">$x$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="82.020836"
y="140.22917"
id="text2143"><tspan
sodipodi:role="line"
id="tspan2141"
x="82.020836"
y="140.22917"
style="stroke-width:0.264583">$y$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="111.125"
y="123.03125"
id="text2147"><tspan
sodipodi:role="line"
id="tspan2145"
x="111.125"
y="123.03125"
style="stroke-width:0.264583">$z$</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker2967)"
d="m 95.249999,101.86458 2.645833,-5.291665"
id="path2953" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker3001)"
d="m 95.249999,101.86458 v 11.90625"
id="path2955" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker3041)"
d="M 95.249999,101.86458 83.343749,96.572915"
id="path2957" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="83.34375"
y="95.25"
id="text3117"><tspan
sodipodi:role="line"
id="tspan3115"
x="83.34375"
y="95.25"
style="stroke-width:0.264583">$V_z$ (радиальное)</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="99.21875"
y="100.54166"
id="text3121"><tspan
sodipodi:role="line"
id="tspan3119"
x="99.21875"
y="100.54166"
style="stroke-width:0.264583">$V_x$ (касательное)</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="97.895836"
y="111.125"
id="text3125"><tspan
sodipodi:role="line"
id="tspan3123"
x="97.895836"
y="111.125"
style="stroke-width:0.264583">$V_z$ (касательное)</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -0,0 +1,268 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg4006"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-vora-00-pinhole-iso.svg">
<defs
id="defs4000">
<marker
style="overflow:visible;"
id="marker4779"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(0.6) rotate(180) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
id="path4777" />
</marker>
<marker
style="overflow:visible;"
id="marker4769"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(0.6) rotate(180) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
id="path4767" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="371.80441"
inkscape:cy="331.7599"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
showguides="false"
inkscape:guide-bbox="true"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
inkscape:snap-bbox-midpoints="true"
inkscape:window-width="2560"
inkscape:window-height="1376"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1">
<inkscape:grid
type="axonomgrid"
id="grid4573" />
<sodipodi:guide
position="103.92305,257.00001"
orientation="1,0"
id="guide4577" />
<sodipodi:guide
position="103.92305,177.00001"
orientation="1,0"
id="guide4579" />
<sodipodi:guide
position="103.92305,217.00001"
orientation="1,0"
id="guide4581" />
</sodipodi:namedview>
<metadata
id="metadata4003">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:none;stroke:#555555;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:0.165, 0.16500000000000001;stroke-dashoffset:0"
d="M 103.92305,120 V 40.000002"
id="path4583" />
<path
style="fill:none;stroke:#555555;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.165, 0.165;stroke-dashoffset:0;stroke-opacity:1"
d="M 69.282032,100 138.56406,60"
id="path4583-7"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#555555;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:0.165,0.165;stroke-dashoffset:0"
d="M 69.282031,59.999998 138.56406,100 v 0"
id="path4605" />
<circle
id="path4607"
style="fill:#000000;stroke:none;stroke-width:0.264583"
cx="134.23393"
cy="72.5"
r="0.39687499" />
<path
style="fill:none;stroke:#000000;stroke-width:0.26458299;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:0.26458299,0.26458299;stroke-dashoffset:0"
d="m 103.92305,79.999998 12.99038,7.500001 v -5.000001"
id="path4611" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.264583, 0.264583;stroke-dashoffset:0;stroke-opacity:1"
d="m 121.24356,70 12.99038,7.500001 V 72.5"
id="path4611-5" />
<path
style="fill:none;stroke:#000000;stroke-width:0.26458299;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:1.58749792,0.52916597;stroke-dashoffset:0"
d="M 116.91343,82.499998 134.23394,72.5"
id="path4633" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="125.57368"
y="82.5"
id="text4637"><tspan
sodipodi:role="line"
id="tspan4635"
x="125.57368"
y="82.5"
style="stroke-width:0.264583">проекция на</tspan><tspan
sodipodi:role="line"
x="125.57368"
y="88.673622"
style="stroke-width:0.264583"
id="tspan4731">плоскость $x$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="106.52112"
y="44.5"
id="text4641"><tspan
sodipodi:role="line"
id="tspan4639"
x="106.52112"
y="44.5"
style="stroke-width:0.264583">$y$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="135.96599"
y="58.499996"
id="text4645"><tspan
sodipodi:role="line"
id="tspan4643"
x="135.96599"
y="58.499996"
style="stroke-width:0.264583">$z$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="136.83202"
y="98"
id="text4649"><tspan
sodipodi:role="line"
id="tspan4647"
x="136.83202"
y="98"
style="stroke-width:0.264583">$x$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="135.96599"
y="71.499992"
id="text4653"><tspan
sodipodi:role="line"
id="tspan4651"
x="135.96599"
y="71.499992"
style="stroke-width:0.264583">$p(x,y,z)$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="104.78907"
y="75.5"
id="text4657"><tspan
sodipodi:role="line"
id="tspan4655"
x="104.78907"
y="75.5"
style="stroke-width:0.264583">0</tspan></text>
<circle
id="path4665"
style="fill:#000000;stroke:none;stroke-width:0.264583"
cx="73.61216"
cy="87.499992"
r="0.39687499" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.264583, 0.264583;stroke-dashoffset:0;stroke-opacity:1"
d="M 86.60254,90 73.612159,82.5 v 5"
id="path4611-3"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.264583, 0.264583;stroke-dashoffset:0;stroke-opacity:1"
d="M 103.92304,80.000001 90.932667,72.5 v 5"
id="path4611-3-6"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.5875, 0.529166;stroke-dashoffset:0;stroke-opacity:1"
d="m 73.612159,87.5 17.32051,-9.999999"
id="path4633-2" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 69.282032,65 30.310889,17.5 0,25 L 69.282032,90 Z"
id="path4735"
sodipodi:nodetypes="ccccc" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="69.902077"
y="80.518494"
id="text4739"><tspan
sodipodi:role="line"
id="tspan4737"
x="69.902077"
y="80.518494"
style="stroke-width:0.264583">$Q(u,v)$</tspan></text>
<circle
id="path4741"
style="fill:#000000;stroke:none;stroke-width:0.264583"
cx="86.602547"
cy="90"
r="0.39687499" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker4769)"
d="M 86.60254,89.999999 V 83.999998"
id="path4743" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker4779)"
d="M 86.60254,89.999999 95.262794,95"
id="path4745" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="84.870499"
y="95.999992"
id="text4819"><tspan
sodipodi:role="line"
id="tspan4817"
x="84.870499"
y="95.999992"
style="stroke-width:0.264583">$0'$</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

209
pics/04-vora-00-pinhole.svg Normal file
View File

@ -0,0 +1,209 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg3191"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-vora-00-pinhole.svg">
<defs
id="defs3185">
<marker
style="overflow:visible;"
id="marker3860"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(0.6) rotate(180) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
id="path3858" />
</marker>
<marker
style="overflow:visible;"
id="Arrow2Mend"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true"
inkscape:collect="always">
<path
transform="scale(0.6) rotate(180) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
id="path1602" />
</marker>
<marker
style="overflow:visible"
id="Arrow1Lstart"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow1Lstart"
inkscape:isstock="true">
<path
transform="scale(0.8) translate(12.5,0)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
id="path1575" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
inkscape:cx="246.40644"
inkscape:cy="295.37766"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
inkscape:snap-bbox-midpoints="true"
showguides="true"
inkscape:guide-bbox="true"
inkscape:window-width="2560"
inkscape:window-height="1376"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid3754" />
<sodipodi:guide
position="67.46875,216.30208"
orientation="1,0"
id="guide3766" />
<sodipodi:guide
position="67.46875,237.46875"
orientation="1,0"
id="guide3768" />
<sodipodi:guide
position="75.406248,226.88542"
orientation="0,-1"
id="guide3770" />
<sodipodi:guide
position="75.406248,246.72917"
orientation="0,-1"
id="guide3772" />
</sodipodi:namedview>
<metadata
id="metadata3188">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="34.253551"
y="93.540894"
id="text3758"><tspan
sodipodi:role="line"
id="tspan3756"
x="34.253551"
y="93.540894"
style="stroke-width:0.264583">плоскость</tspan><tspan
sodipodi:role="line"
x="34.253551"
y="99.714516"
style="stroke-width:0.264583"
id="tspan3760">изображения</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="66.003555"
y="96.186729"
id="text3764"><tspan
sodipodi:role="line"
id="tspan3762"
x="66.003555"
y="96.186729"
style="stroke-width:0.264583">pinhole</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 67.468749,80.697916 V 59.531249 l 7.9375,-9.260419 v 19.84375 z"
id="path3774" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 41.010417,87.3125 v -31.75 L 51.59375,43.65625 v 30.427083 z"
id="path3774-6"
sodipodi:nodetypes="ccccc" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.165;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect3798"
width="5.2916718"
height="10.58333"
x="101.86458"
y="59.53125" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.165;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect3800"
width="2.6458333"
height="7.9375"
x="44.979164"
y="60.854164" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
d="M 104.51042,67.468749 V 62.177083"
id="path3802" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker3860)"
d="m 46.302083,63.499999 v 2.645833"
id="path3850" />
<circle
style="fill:none;stroke:#000000;stroke-width:0.165;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3892"
cx="71.4375"
cy="64.822914"
r="1.3229166" />
<path
style="fill:none;stroke:#000000;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99, 0.99;stroke-dashoffset:0;stroke-opacity:1"
d="m 111.125,64.822916 -76.729167,10e-7"
id="path3894"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="M 101.86458,59.531249 71.437499,64.822916"
id="path3906" />
<path
style="fill:none;stroke:#000000;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="M 101.86458,70.11458 71.437499,64.822916"
id="path3908" />
<path
style="fill:none;stroke:#000000;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:0.495,0.495;stroke-dashoffset:0"
d="m 47.624999,60.854166 23.8125,3.96875"
id="path3910" />
<path
style="fill:none;stroke:#000000;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:0.495,0.495;stroke-dashoffset:0"
d="m 47.624999,68.791666 23.8125,-3.96875"
id="path3912" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

@ -0,0 +1,220 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg3580"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-vora-00-stereobase.svg">
<defs
id="defs3574" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="52.677322"
inkscape:cy="469.80462"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
inkscape:window-width="1852"
inkscape:window-height="1205"
inkscape:window-x="675"
inkscape:window-y="82"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid4143" />
</sodipodi:namedview>
<metadata
id="metadata3577">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="44.979168"
y="84.666664"
id="text4147"><tspan
sodipodi:role="line"
id="tspan4145"
x="44.979168"
y="84.666664"
style="stroke-width:0.264583">кам1</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="92.604164"
y="84.666664"
id="text4151"><tspan
sodipodi:role="line"
id="tspan4149"
x="92.604164"
y="84.666664"
style="stroke-width:0.264583">кам2</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="71.191521"
y="85.664024"
id="text4155"><tspan
sodipodi:role="line"
id="tspan4153"
x="71.191521"
y="85.664024"
style="stroke-width:0.264583">$d$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="77.806107"
y="76.403603"
id="text4159"><tspan
sodipodi:role="line"
id="tspan4157"
x="77.806107"
y="76.403603"
style="stroke-width:0.264583">$r$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="47.625"
y="71.4375"
id="text4163"><tspan
sodipodi:role="line"
id="tspan4161"
x="47.625"
y="71.4375"
style="stroke-width:0.264583">$\alpha$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="95.25"
y="71.4375"
id="text4167"><tspan
sodipodi:role="line"
id="tspan4165"
x="95.25"
y="71.4375"
style="stroke-width:0.264583">$\alpha$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="74.083336"
y="47.625"
id="text4171"><tspan
sodipodi:role="line"
id="tspan4169"
x="74.083336"
y="47.625"
style="stroke-width:0.264583">$A$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="67.222771"
y="40.096432"
id="text4175"><tspan
sodipodi:role="line"
id="tspan4173"
x="67.222771"
y="40.096432"
style="stroke-width:0.264583">$x_2$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="43.410271"
y="40.096432"
id="text4179"><tspan
sodipodi:role="line"
id="tspan4177"
x="43.410271"
y="40.096432"
style="stroke-width:0.264583">$x_1$</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 34.395833,79.374999 H 113.77083"
id="path4183" />
<ellipse
id="path4185"
style="fill:#000000;stroke:none;stroke-width:0.264583"
cx="50.270832"
cy="79.375"
rx="1.3229154"
ry="1.3229166" />
<ellipse
id="path4187"
style="fill:#000000;stroke:none;stroke-width:0.264583"
cx="97.895836"
cy="79.375"
rx="1.3229192"
ry="1.3229166" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 85.989583,37.041667 50.270833,79.374999 15.875,37.041667"
id="path4189"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 130.96875,37.041667 97.895832,79.374999 63.5,37.041667"
id="path4191"
sodipodi:nodetypes="ccc" />
<ellipse
id="path4187-8"
style="fill:#000000;stroke:none;stroke-width:0.264583"
cx="74.083336"
cy="42.333332"
rx="1.3229192"
ry="1.3229166" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 74.083332,42.333333 V 79.374999"
id="path4213" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 74.083332,76.729166 h 2.645834 v 2.645833"
id="path4215" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 74.083332,42.333333 -53.974999,0"
id="path4217"
sodipodi:nodetypes="cc" />
<circle
id="path4219"
style="fill:#000000;stroke:none;stroke-width:0.264583"
cx="67.73333"
cy="42.333332"
r="0.39687499" />
<circle
id="path4221"
style="fill:#000000;stroke:none;stroke-width:0.264583"
cx="20.108334"
cy="42.333332"
r="0.39687499" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

@ -0,0 +1,333 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg3580"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-vora-00-stereoimg.svg">
<defs
id="defs3574">
<marker
style="overflow:visible;"
id="marker4634"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(0.6) rotate(180) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
id="path4632" />
</marker>
<marker
style="overflow:visible;"
id="marker4624"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(0.6) rotate(180) translate(0,0)"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
id="path4622" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="295.11393"
inkscape:cy="469.80462"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
inkscape:window-width="1852"
inkscape:window-height="1205"
inkscape:window-x="675"
inkscape:window-y="82"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid4143" />
</sodipodi:namedview>
<metadata
id="metadata3577">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="63.5"
y="39.6875"
id="text4288"><tspan
sodipodi:role="line"
id="tspan4286"
x="63.5"
y="39.6875"
style="stroke-width:0.264583">левая камера</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="105.77063"
y="36.655476"
id="text4292"><tspan
sodipodi:role="line"
id="tspan4290"
x="105.77063"
y="36.655476"
style="stroke-width:0.264583">входные</tspan><tspan
sodipodi:role="line"
x="105.77063"
y="42.829102"
style="stroke-width:0.264583"
id="tspan4294">параметры</tspan><tspan
sodipodi:role="line"
x="105.77063"
y="49.002724"
style="stroke-width:0.264583"
id="tspan4296">модели</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="145.52083"
y="39.6875"
id="text4300"><tspan
sodipodi:role="line"
id="tspan4298"
x="145.52083"
y="39.6875"
style="stroke-width:0.264583">правая камера</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="102.99458"
y="65.759644"
id="text4304"><tspan
sodipodi:role="line"
id="tspan4302"
x="102.99458"
y="65.759644"
style="stroke-width:0.264583">синхронизация</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="103.04763"
y="82.695732"
id="text4308"><tspan
sodipodi:role="line"
id="tspan4306"
x="103.04763"
y="82.695732"
style="stroke-width:0.264583">ректификация</tspan><tspan
sodipodi:role="line"
x="103.04763"
y="88.869354"
style="stroke-width:0.264583"
id="tspan4310">(выравнивание)</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="105.7007"
y="105.44714"
id="text4314"><tspan
sodipodi:role="line"
id="tspan4312"
x="105.7007"
y="105.44714"
style="stroke-width:0.264583">цветовая</tspan><tspan
sodipodi:role="line"
x="105.7007"
y="111.62077"
style="stroke-width:0.264583"
id="tspan4316">калибровка</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="105.77063"
y="126.61381"
id="text4320"><tspan
sodipodi:role="line"
id="tspan4318"
x="105.77063"
y="126.61381"
style="stroke-width:0.264583">выходные</tspan><tspan
sodipodi:role="line"
x="105.77063"
y="132.78745"
style="stroke-width:0.264583"
id="tspan4322">параметры</tspan><tspan
sodipodi:role="line"
x="105.77063"
y="138.96106"
style="stroke-width:0.264583"
id="tspan4324">модели</tspan></text>
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect4326"
width="34.395832"
height="21.166666"
x="100.54166"
y="31.75" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect4328"
width="42.333332"
height="13.229166"
x="97.895836"
y="58.208332" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect4330"
width="42.333332"
height="15.875"
x="97.895836"
y="76.729164" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect4332"
width="42.333332"
height="18.520834"
x="97.895836"
y="97.895836" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect4334"
width="34.395832"
height="21.166666"
x="100.54166"
y="121.70833" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker4634)"
d="M 58.208333,42.333333 H 100.54167"
id="path4336" />
<path
style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#marker4624)"
d="M 179.91666,42.333333 H 134.9375"
id="path4338" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 119.0625,52.916666 v 5.291667"
id="path4672" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 119.0625,71.437499 v 5.291667"
id="path4686" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 119.0625,92.604166 v 5.291666"
id="path4688" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 119.0625,116.41667 v 5.29166"
id="path4690" />
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="103.1875"
y="29.104166"
id="text4694"><tspan
sodipodi:role="line"
id="tspan4692"
x="103.1875"
y="29.104166"
style="stroke-width:0.264583"></tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="87.3125"
y="29.104166"
id="text4702"><tspan
sodipodi:role="line"
id="tspan4700"
x="87.3125"
y="29.104166"
style="stroke-width:0.264583">$F_{L_i}(k)$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="132.29167"
y="29.104166"
id="text4706"><tspan
sodipodi:role="line"
id="tspan4704"
x="132.29167"
y="29.104166"
style="stroke-width:0.264583">$F_{R_i}(n)$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="142.875"
y="74.083336"
id="text4710"><tspan
sodipodi:role="line"
id="tspan4708"
x="142.875"
y="74.083336"
style="stroke-width:0.264583">$F_{L_i}(n), F_{R_i}(n); n &lt; k$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="142.875"
y="95.25"
id="text4714"><tspan
sodipodi:role="line"
id="tspan4712"
x="142.875"
y="95.25"
style="stroke-width:0.264583"></tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="142.875"
y="95.25"
id="text4718"><tspan
sodipodi:role="line"
id="tspan4716"
x="142.875"
y="95.25"
style="stroke-width:0.264583">$F'_{L_i}(n), F'_{R_i}(n)$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="142.875"
y="119.0625"
id="text4722"><tspan
sodipodi:role="line"
id="tspan4720"
x="142.875"
y="119.0625"
style="stroke-width:0.264583">$stereo_i$</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,332 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg4748"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="04-vora-00-stereorectif.svg">
<defs
id="defs4742">
<inkscape:path-effect
effect="bspline"
id="path-effect5487"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect5483"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect5449"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect5423"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="252.49323"
inkscape:cy="291.26235"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="true"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
showguides="false"
inkscape:guide-bbox="true"
inkscape:window-width="2362"
inkscape:window-height="1205"
inkscape:window-x="50"
inkscape:window-y="77"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid5311" />
<sodipodi:guide
position="75.406248,273.18751"
orientation="0,-1"
id="guide5379" />
</sodipodi:namedview>
<metadata
id="metadata4745">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="76.729164"
y="21.166666"
id="text5315"><tspan
sodipodi:role="line"
id="tspan5313"
x="76.729164"
y="21.166666"
style="stroke-width:0.264583">Object</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="55.326164"
y="5.9183369"
id="text5319"><tspan
sodipodi:role="line"
id="tspan5317"
x="55.326164"
y="5.9183369"
style="stroke-width:0.264583">L</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="118.85992"
y="6.6145835"
id="text5323"><tspan
sodipodi:role="line"
id="tspan5321"
x="118.85992"
y="6.6145835"
style="stroke-width:0.264583">R</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="74.083336"
y="34.395832"
id="text5327"><tspan
sodipodi:role="line"
id="tspan5325"
x="74.083336"
y="34.395832"
style="stroke-width:0.264583">RAW images</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="68.63974"
y="48.345722"
id="text5331"><tspan
sodipodi:role="line"
id="tspan5329"
x="68.63974"
y="48.345722"
style="stroke-width:0.264583">Убираем искажение</tspan><tspan
sodipodi:role="line"
x="68.63974"
y="54.519348"
style="stroke-width:0.264583"
id="tspan5333">(дисторсию)</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="71.275925"
y="69.444862"
id="text5337"><tspan
sodipodi:role="line"
id="tspan5335"
x="71.275925"
y="69.444862"
style="stroke-width:0.264583">Выравнивание</tspan><tspan
sodipodi:role="line"
x="71.275925"
y="75.618484"
style="stroke-width:0.264583"
id="tspan5339">(ректификация)</tspan><tspan
sodipodi:role="line"
x="71.275925"
y="81.792114"
style="stroke-width:0.264583"
id="tspan5341">по одной из осей</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="71.232513"
y="97.010788"
id="text5345"><tspan
sodipodi:role="line"
id="tspan5343"
x="71.232513"
y="97.010788"
style="stroke-width:0.264583">Обрезка кадра</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;line-height:1.25;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';stroke-width:0.264583"
x="76.475952"
y="111.80473"
id="text5349"><tspan
sodipodi:role="line"
id="tspan5347"
x="76.475952"
y="111.80473"
style="stroke-width:0.264583">Стереопара</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 113.77084,37.041661 5.29166,7.9375 15.875,-10.583333 -5.29167,-7.9375 z"
id="path5351" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 117.73959,35.718744 -1.32292,2.645833 1.32292,1.322917 1.32291,2.645833 3.96875,-1.322916 2.64584,-2.645834 5.29166,-2.645833 1.32292,-2.645833 -2.64584,-2.645833 v -1.322917 l -3.96874,1.322917 -3.96875,3.96875 z"
id="path5353" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 64.661954,36.879876 -5.29166,7.9375 -15.875,-10.583333 5.29167,-7.9375 z"
id="path5351-3" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 60.693204,35.556959 1.32292,2.645833 -1.32292,1.322917 -1.32291,2.645833 -3.96875,-1.322916 -2.64584,-2.645834 -5.29166,-2.645833 -1.32292,-2.645833 2.64584,-2.645833 v -1.322917 l 3.96874,1.322917 3.96875,3.96875 z"
id="path5353-8" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 113.77084,54.239578 5.29166,7.9375 15.875,-10.583333 -5.29167,-7.9375 z"
id="path5351-33" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 116.41667,54.239577 3.96875,5.291667 11.90624,-7.9375 -3.96875,-5.291667 -11.90624,7.9375"
id="path5393" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 64.822918,54.239578 -5.29166,7.9375 -15.875,-10.583333 5.29167,-7.9375 z"
id="path5351-33-8" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 62.177088,54.239577 -3.96875,5.291667 -11.90624,-7.9375 3.96875,-5.291667 11.90624,7.9375"
id="path5393-0" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect5419"
width="11.90625"
height="5.2916665"
x="117.73959"
y="66.145828" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 115.09393,64.382095 c 0.44088,0.8821 0.88185,2.645986 0.66129,4.409791 -0.22056,1.763804 -1.10249,3.527658 -1.76392,4.630039 -0.66144,1.102381 -1.1024,1.543348 -1.1024,1.543344 10e-6,-5e-6 0.44097,-0.440967 2.205,-0.881961 1.76403,-0.440993 4.85078,-0.881958 8.15813,0.441128 3.30736,1.323086 6.83507,4.409832 8.81944,6.173735 1.98437,1.763903 2.42533,2.204864 2.42533,2.204859 -1e-5,-4e-6 -0.44097,-0.440965 -1.10254,-2.866337 -0.66157,-2.425372 -1.5435,-6.835004 -1.76403,-10.142369 -0.22053,-3.307364 0.22043,-5.512184 0.44093,-6.835074 0.22051,-1.322889 0.22051,-1.763852 0.22051,-1.763848 0,4e-6 0,0.440923 -2.205,1.322799 -2.20499,0.881875 -6.61408,2.204603 -9.70095,2.425204 -3.08686,0.2206 -4.85074,-0.661339 -5.5122,-1.102375 -0.66146,-0.441036 -0.22047,-0.441036 0.22041,0.441065 z"
id="path5421"
inkscape:path-effect="#path-effect5423"
inkscape:original-d="m 115.09376,63.499994 c 0.44124,1.764154 0.88221,3.528041 1.32292,5.291666 -0.8817,1.764189 -1.76363,3.528042 -2.64584,5.291667 -0.44071,0.441246 -0.88168,0.882208 -1.32291,1.322917 0.44124,-0.440717 0.8822,-0.881679 1.32291,-1.322917 3.08713,-0.440716 6.17388,-0.881679 9.26042,-1.322917 3.52811,3.087132 7.05582,6.173875 10.58333,9.260417 0.44125,0.441246 0.88221,0.882208 1.32292,1.322917 -0.44072,-0.440717 -0.88168,-0.881679 -1.32292,-1.322917 -0.8817,-4.409546 -1.76362,-8.819179 -2.64583,-13.229167 0.44124,-2.20464 0.88221,-4.409458 1.32291,-6.614583 2.7e-4,-0.440716 2.7e-4,-0.881679 0,-1.322916 2.7e-4,0.441245 2.6e-4,0.882164 0,1.322916 -4.4099,1.323314 -8.81899,2.646043 -13.22916,3.968751 -1.7637,-0.881717 -3.52758,-1.763655 -5.29167,-2.645834 0.44122,2.65e-4 0.88221,2.64e-4 1.32292,0 z"
sodipodi:nodetypes="cccccccccccccccc" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect5419-4"
width="11.90625"
height="5.2916665"
x="-60.854176"
y="66.145828"
transform="scale(-1,1)" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 63.499831,64.382091 c -0.44088,0.8821 -0.881853,2.645986 -0.661292,4.409791 0.22056,1.763804 1.102489,3.527658 1.763925,4.630039 0.661435,1.102381 1.1024,1.543348 1.102395,1.543344 -4e-6,-5e-6 -0.440964,-0.440967 -1.763934,-0.88195 -1.32297,-0.440984 -3.527246,-0.881838 -6.173351,-0.661389 -2.646104,0.220448 -5.732488,1.102272 -7.93759,2.645829 -2.205101,1.543556 -3.528014,3.748407 -4.409888,5.071212 -0.881873,1.322804 -1.323134,1.764064 -1.32313,1.764059 5e-6,-4e-6 0.440966,-0.440965 1.102536,-2.866337 0.66157,-2.425372 1.543495,-6.835004 1.764029,-10.142369 0.220533,-3.307364 -0.220429,-5.512184 -0.440934,-6.835074 -0.220505,-1.322889 -0.220505,-1.763852 0.507929,-1.176371 0.728434,0.587481 2.185094,2.203449 5.271678,2.644236 3.086583,0.440787 7.803511,-0.293145 9.941489,-0.660133 2.137979,-0.366988 1.697019,-0.366988 1.256138,0.515113 z"
id="path5421-7"
inkscape:path-effect="#path-effect5449"
inkscape:original-d="m 63.500002,63.49999 c -0.44124,1.764154 -0.88221,3.528041 -1.32292,5.291666 0.8817,1.764189 1.76363,3.528042 2.64584,5.291667 0.44071,0.441246 0.88168,0.882208 1.32291,1.322917 -0.44124,-0.440717 -0.8822,-0.881679 -1.32291,-1.322917 -2.205008,-0.440789 -4.409284,-0.881642 -6.614581,-1.322912 -3.086781,0.882278 -6.173165,1.764102 -9.260416,2.645833 -1.322731,2.205254 -2.645643,4.410105 -3.968753,6.614579 -0.440685,0.441213 -0.88221,0.882208 -1.32292,1.322917 0.44072,-0.440717 0.88168,-0.881679 1.32292,-1.322917 0.8817,-4.409546 1.76362,-8.819179 2.64583,-13.229167 -0.44124,-2.20464 -0.88221,-4.409458 -1.32291,-6.614583 -2.7e-4,-0.440716 -2.7e-4,-0.881679 0,-1.322916 1.456883,1.616186 2.913543,3.232154 4.369771,4.847672 4.71697,-0.733633 9.433898,-1.467565 14.151059,-2.201839 -0.44125,2.64e-4 -0.88221,2.64e-4 -1.32292,0 z"
sodipodi:nodetypes="cccccccccccccccc" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect5453"
width="11.90625"
height="5.2916665"
x="117.73959"
y="105.83334" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect5455"
width="15.875005"
height="9.260417"
x="116.41665"
y="104.51043" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect5453-6"
width="11.90625"
height="5.2916665"
x="-60.854176"
y="105.83334"
transform="scale(-1,1)" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999"
id="rect5455-8"
width="15.875005"
height="9.260417"
x="-62.177097"
y="104.51042"
transform="scale(-1,1)" />
<path
style="fill:none;stroke:#000000;stroke-width:0.27;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:0.81,0.81;stroke-dashoffset:0"
d="m 105.83333,95.249999 c 7.49659,-4.850735 14.99312,-9.701429 22.48959,-14.552083"
id="path5481"
inkscape:path-effect="#path-effect5483"
inkscape:original-d="m 105.83333,95.249999 c 7.49679,-4.850429 14.99332,-9.701125 22.48959,-14.552083" />
<path
style="fill:none;stroke:#000000;stroke-width:0.27;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:0.81,0.81;stroke-dashoffset:0"
d="M 67.468749,95.249999 C 61.295431,90.399535 55.121818,85.548839 48.947916,80.697916"
id="path5485"
inkscape:path-effect="#path-effect5487"
inkscape:original-d="M 67.468749,95.249999 C 61.295404,90.39957 55.121791,85.548874 48.947916,80.697916" />
<ellipse
style="fill:none;stroke:#000000;stroke-width:0.27;stroke-miterlimit:4;stroke-dasharray:0.81,0.81;stroke-dashoffset:0"
id="path5489"
cx="45.640625"
cy="79.375"
rx="3.3072915"
ry="5.2916665" />
<ellipse
style="fill:none;stroke:#000000;stroke-width:0.27;stroke-miterlimit:4;stroke-dasharray:0.81,0.81;stroke-dashoffset:0"
id="path5491"
cx="132.29167"
cy="80.036461"
rx="3.96875"
ry="5.953125" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -0,0 +1,195 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg5"
inkscape:version="1.2.1 (9c6d41e4, 2022-07-14)"
sodipodi:docname="04-vorpa-00-1-focus-point.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="true"
inkscape:zoom="2.7565156"
inkscape:cx="309.63003"
inkscape:cy="160.52875"
inkscape:window-width="1534"
inkscape:window-height="935"
inkscape:window-x="0"
inkscape:window-y="26"
inkscape:window-maximized="0"
inkscape:current-layer="layer1">
<inkscape:grid
type="xygrid"
id="grid1049" />
</sodipodi:namedview>
<defs
id="defs2">
<marker
style="overflow:visible"
id="TriangleStart"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="TriangleStart"
markerWidth="5.3244081"
markerHeight="6.155385"
viewBox="0 0 5.3244081 6.1553851"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path135" />
</marker>
<inkscape:path-effect
effect="bspline"
id="path-effect2746"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
</defs>
<g
inkscape:label="Слой 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square"
x="26.458332"
y="18.520834"
id="text1522"><tspan
sodipodi:role="line"
id="tspan1520"
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.265"
x="26.458332"
y="18.520834">$\sigma, px$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square"
x="56.885414"
y="47.625"
id="text2730"><tspan
sodipodi:role="line"
id="tspan2728"
style="stroke-width:0.265"
x="56.885414"
y="47.625">Точка фокусировки</tspan><tspan
sodipodi:role="line"
style="stroke-width:0.265"
x="56.885414"
y="52.916664"
id="tspan2732">(около нуля)</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square"
x="108.47916"
y="47.625"
id="text2736"><tspan
sodipodi:role="line"
id="tspan2734"
style="stroke-width:0.265"
x="108.47916"
y="47.625">$r, m$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square"
x="71.4375"
y="13.229167"
id="text2740"><tspan
sodipodi:role="line"
id="tspan2738"
style="stroke-width:0.265"
x="71.4375"
y="13.229167">не можем применить</tspan></text>
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-opacity:1;marker-start:url(#TriangleStart);marker-end:url(#TriangleStart)"
d="m 39.6875,14.552083 v 29.104166 l 74.08333,10e-7"
id="path2742"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-opacity:1"
d="m 44.979166,19.84375 c 0.881994,5.291967 1.763939,10.583634 4.850932,14.331836 3.086993,3.748202 8.378554,5.953019 11.112556,7.143712 2.734003,1.190692 2.910384,1.367074 3.792188,-1.058372 0.881804,-2.425446 2.469272,-7.452427 8.775406,-11.289018 6.306134,-3.83659 17.330218,-6.48237 28.354332,-9.128158"
id="path2744"
inkscape:path-effect="#path-effect2746"
inkscape:original-d="m 44.979166,19.84375 c 0.882208,5.291931 1.764154,10.583598 2.645833,15.875 5.292037,2.205169 10.583598,4.409987 15.875,6.614583 0.176658,0.176657 0.353039,0.353039 0.529168,0.529167 1.587796,-5.02692 3.175264,-10.053901 4.762499,-15.08125 11.02479,-2.645622 22.048874,-5.291402 33.072914,-7.9375"
sodipodi:nodetypes="cccccc" />
<ellipse
id="path2748"
style="fill:#000000;stroke:none;stroke-width:0.264583"
cx="63.5"
cy="41.010414"
rx="1.3229166"
ry="1.3229154" />
<ellipse
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-opacity:1;stroke-dasharray:1.58999401,1.58999401;stroke-dashoffset:0"
id="path3139"
cx="46.963543"
cy="27.119791"
rx="4.6302094"
ry="8.598958" />
<ellipse
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-opacity:1;stroke-dasharray:1.58999401,1.58999401;stroke-dashoffset:0"
id="path3141"
cx="89.958336"
cy="22.489584"
rx="17.197916"
ry="3.9687507" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:1.59, 1.59;stroke-dashoffset:0;stroke-opacity:1"
d="m 51.59375,23.8125 30.427083,-9.260417 1.322917,3.96875"
id="path3143"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 50.270833,34.395833 v 27.78125 h 11.90625 v -6.614584"
id="path4621" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 79.374999,26.458333 v 35.71875 H 64.822916 v -6.614584"
id="path4623" />
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="41.010418"
y="66.145836"
id="text4627"><tspan
sodipodi:role="line"
id="tspan4625"
style="stroke-width:0.265;fill:#000000;fill-opacity:1;stroke:none"
x="41.010418"
y="66.145836" /></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="39.6875"
y="66.145836"
id="text4631"><tspan
sodipodi:role="line"
id="tspan4629"
style="stroke-width:0.265"
x="39.6875"
y="66.145836">область применения метода</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.0 KiB

View File

@ -0,0 +1,275 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg6157"
inkscape:version="1.2.1 (9c6d41e4, 2022-07-14)"
sodipodi:docname="04-vorpa-00-2-blurring.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview6159"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="true"
inkscape:zoom="1.2227557"
inkscape:cx="458.79976"
inkscape:cy="237.57813"
inkscape:window-width="1611"
inkscape:window-height="935"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="0"
inkscape:current-layer="layer1">
<inkscape:grid
type="xygrid"
id="grid8468" />
</sodipodi:namedview>
<defs
id="defs6154">
<marker
style="overflow:visible"
id="TriangleStart"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="TriangleStart"
markerWidth="5.3244081"
markerHeight="6.155385"
viewBox="0 0 5.3244081 6.1553851"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path135" />
</marker>
<inkscape:path-effect
effect="bspline"
id="path-effect8907"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<marker
style="overflow:visible"
id="Dot"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Dot"
markerWidth="5.6666665"
markerHeight="5.6666665"
viewBox="0 0 5.6666667 5.6666667"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5,0 C 5,2.76 2.76,5 0,5 -2.76,5 -5,2.76 -5,0 c 0,-2.76 2.3,-5 5,-5 2.76,0 5,2.24 5,5 z"
id="Dot1"
sodipodi:nodetypes="sssss" />
</marker>
</defs>
<g
inkscape:label="Слой 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;stroke-width:0.264999;stroke-linecap:square"
x="26.458332"
y="18.520834"
id="text8835"><tspan
sodipodi:role="line"
id="tspan8833"
style="stroke-width:0.265"
x="26.458332"
y="18.520834">$D_o$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;stroke-width:0.264999;stroke-linecap:square"
x="66.145836"
y="21.166666"
id="text8839"><tspan
sodipodi:role="line"
id="tspan8837"
style="stroke-width:0.265"
x="66.145836"
y="21.166666">$D_f$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;stroke-width:0.264999;stroke-linecap:square"
x="116.41666"
y="23.8125"
id="text8843"><tspan
sodipodi:role="line"
id="tspan8841"
style="stroke-width:0.265"
x="116.41666"
y="23.8125">$D_r$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;stroke-width:0.264999;stroke-linecap:square"
x="153.45833"
y="21.166666"
id="text8847"><tspan
sodipodi:role="line"
id="tspan8845"
style="stroke-width:0.265"
x="153.45833"
y="21.166666">плоскость</tspan><tspan
sodipodi:role="line"
style="stroke-width:0.265"
x="153.45833"
y="26.458328"
id="tspan8849">отображения</tspan><tspan
sodipodi:role="line"
style="stroke-width:0.265"
x="153.45833"
y="31.74999"
id="tspan8851">объекта</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;stroke-width:0.264999;stroke-linecap:square"
x="15.875"
y="47.625"
id="text8855"><tspan
sodipodi:role="line"
id="tspan8853"
style="stroke-width:0.265"
x="15.875"
y="47.625">объект</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;stroke-width:0.264999;stroke-linecap:square"
x="44.979168"
y="66.145836"
id="text8859"><tspan
sodipodi:role="line"
id="tspan8857"
style="stroke-width:0.265"
x="44.979168"
y="66.145836">система</tspan><tspan
sodipodi:role="line"
style="stroke-width:0.265"
x="44.979168"
y="71.4375"
id="tspan8861">линз</tspan><tspan
sodipodi:role="line"
style="stroke-width:0.265"
x="44.979168"
y="76.729164"
id="tspan8863">$B$ -- апертура</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;stroke-width:0.264999;stroke-linecap:square"
x="92.604164"
y="66.145836"
id="text8867"><tspan
sodipodi:role="line"
id="tspan8865"
style="stroke-width:0.265"
x="92.604164"
y="66.145836">плоскость</tspan><tspan
sodipodi:role="line"
style="stroke-width:0.265"
x="92.604164"
y="71.4375"
id="tspan8869">фокусировки</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;stroke-width:0.264999;stroke-linecap:square"
x="153.45833"
y="59.53125"
id="text8873"><tspan
sodipodi:role="line"
id="tspan8871"
style="stroke-width:0.265"
x="153.45833"
y="59.53125">размытие, $\sigma$</tspan></text>
<path
style="fill:none;stroke-width:0.264999;stroke-linecap:square;stroke:#000000;stroke-opacity:1"
d="M 13.229167,42.333333 H 171.97916"
id="path8875" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-opacity:1;marker-end:url(#Dot)"
d="m 21.166666,42.333333 v -7.9375"
id="path8877" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-opacity:1"
d="m 51.59381,59.972382 c -1.322857,-3.527619 -3.968691,-10.583175 -3.968751,-17.638888 -6.1e-5,-7.055713 1.984261,-12.347238 3.637935,-16.757033 1.653673,-4.409794 1.653673,-4.409794 1.653673,-4.409794 0,0 0,0 1.653705,4.409882 1.653706,4.409881 3.638081,9.701548 3.637967,16.757087 -1.14e-4,7.055539 -2.645894,14.110952 -3.968783,17.638657 -1.32289,3.527706 -1.322889,3.527707 -2.645746,8.9e-5 z"
id="path8905"
inkscape:path-effect="#path-effect8907"
inkscape:original-d="m 52.916667,63.5 c -2.645569,-7.055291 -5.291403,-14.110847 -7.937501,-21.166667 2.646151,-7.055432 4.630473,-12.346957 7.937501,-21.166666 2.64e-4,2.64e-4 0,0 0,0 0,0 2.64e-4,2.64e-4 0,0 3.307556,8.819709 5.291931,14.111375 7.937499,21.166666 -2.645622,7.055961 -5.291402,14.111374 -7.9375,21.166666 z"
sodipodi:nodetypes="cccccccc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-opacity:1"
d="M 100.54167,60.854166 V 15.875"
id="path8915" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-opacity:1"
d="M 148.16666,71.437499 V 15.875"
id="path8917" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-opacity:1;stroke-dasharray:1.58999401,1.58999401;stroke-dashoffset:0"
d="M 148.16666,52.916666 52.916666,34.395833 h -31.75 L 148.16667,68.791667"
id="path8919" />
<ellipse
id="path8921"
style="fill:#000000;stroke:none;stroke-width:0.264583"
cx="100.54166"
cy="55.5625"
rx="1.3229065"
ry="1.3229166" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:1.59, 1.59;stroke-dashoffset:0;stroke-opacity:1"
d="M 52.916666,34.395833 100.54167,55.562499"
id="path8923" />
<ellipse
id="path8925"
style="fill:#000000;stroke:none;stroke-width:0.264583"
cx="148.16667"
cy="52.916664"
rx="1.3229218"
ry="1.3229141" />
<ellipse
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:1.59, 1.59;stroke-dashoffset:0;stroke-opacity:1"
id="path8927"
cx="148.16667"
cy="61.515625"
rx="3.968755"
ry="8.5989571" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#TriangleStart);marker-end:url(#TriangleStart)"
d="m 21.166666,21.166666 h 31.75"
id="path8929" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#TriangleStart);marker-end:url(#TriangleStart)"
d="M 52.916666,23.8125 H 100.54167"
id="path9011" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#TriangleStart);marker-end:url(#TriangleStart)"
d="M 52.916666,26.458333 H 148.16666"
id="path9079" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -0,0 +1,172 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg6157"
inkscape:version="1.2.1 (9c6d41e4, 2022-07-14)"
sodipodi:docname="04-vorpa-00-3-move-blur.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview6159"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="true"
inkscape:zoom="2.871782"
inkscape:cx="294.59061"
inkscape:cy="138.06758"
inkscape:window-width="1611"
inkscape:window-height="935"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="0"
inkscape:current-layer="layer1">
<inkscape:grid
type="xygrid"
id="grid8468" />
</sodipodi:namedview>
<defs
id="defs6154">
<marker
style="overflow:visible"
id="Arrow2"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Arrow2"
markerWidth="7.6999998"
markerHeight="5.5999999"
viewBox="0 0 7.7 5.6"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.7)"
d="M -2,-4 9,0 -2,4 c 2,-2.33 2,-5.66 0,-8 z"
style="fill:context-stroke;fill-rule:evenodd;stroke:none"
id="arrow2L" />
</marker>
<inkscape:path-effect
effect="bspline"
id="path-effect8907"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
</defs>
<g
inkscape:label="Слой 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect10013"
width="15.875"
height="15.875001"
x="79.375"
y="13.229167" />
<rect
style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect10013-3"
width="15.874985"
height="15.875005"
x="79.375"
y="37.041668" />
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="79.375"
y="10.583333"
id="text10019"><tspan
sodipodi:role="line"
id="tspan10017"
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.265"
x="79.375"
y="10.583333">camera</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="100.54166"
y="18.520834"
id="text10072"><tspan
sodipodi:role="line"
id="tspan10070"
style="stroke-width:0.265"
x="100.54166"
y="18.520834">$f$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="100.54166"
y="42.333332"
id="text10098"><tspan
sodipodi:role="line"
id="tspan10096"
style="stroke-width:0.265"
x="100.54166"
y="42.333332">$\sigma$</tspan></text>
<ellipse
id="path10100"
style="fill:#000000;stroke:none;stroke-width:0.264583"
cx="47.625"
cy="21.166666"
rx="1.3229166"
ry="1.322916" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="M 105.83333,21.166666 H 47.624999 L 87.3125,44.979167 h 18.52083"
id="path10102"
sodipodi:nodetypes="cccc" />
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="58.208332"
y="18.520834"
id="text10386"><tspan
sodipodi:role="line"
id="tspan10384"
style="stroke-width:0.265"
x="58.208332"
y="18.520834">$d$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="88.635414"
y="34.395832"
id="text10390"><tspan
sodipodi:role="line"
id="tspan10388"
style="stroke-width:0.265"
x="88.635414"
y="34.395832">$m$</tspan></text>
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow2)"
d="m 87.312499,21.166666 10e-7,22.489584"
id="path10392"
sodipodi:nodetypes="cc" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="M 71.437499,18.520833 V 23.8125"
id="path10420" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 68.791666,31.75 -2.645834,5.291666"
id="path10422" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.5 KiB

View File

@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg6157"
inkscape:version="1.2.1 (9c6d41e4, 2022-07-14)"
sodipodi:docname="04-vorpa-00-4-blurred-object.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview6159"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="true"
inkscape:zoom="3.3367243"
inkscape:cx="154.64268"
inkscape:cy="110.13796"
inkscape:window-width="1611"
inkscape:window-height="935"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="0"
inkscape:current-layer="layer1">
<inkscape:grid
type="xygrid"
id="grid8468" />
</sodipodi:namedview>
<defs
id="defs6154">
<inkscape:path-effect
effect="bspline"
id="path-effect8907"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
</defs>
<g
inkscape:label="Слой 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect11293"
width="29.104166"
height="26.458332"
x="33.072918"
y="11.90625" />
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect11295"
width="7.9375"
height="9.260417"
x="38.364582"
y="22.489584" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:1.85499301,0.264999,0.529998,1.05999601,1.05999601;stroke-dashoffset:0;stroke-opacity:1"
d="m 42.333333,22.489583 v -3.96875 h 10.583333 v 10.583333 h -6.614583"
id="path11297" />
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="41.010418"
y="29.104166"
id="text11301"><tspan
sodipodi:role="line"
id="tspan11299"
style="stroke-width:0.265;stroke-dasharray:none;fill:#000000;fill-opacity:1;stroke:none"
x="41.010418"
y="29.104166">1</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="47.625"
y="25.135416"
id="text11305"><tspan
sodipodi:role="line"
id="tspan11303"
style="stroke-width:0.265"
x="47.625"
y="25.135416">2</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -0,0 +1,329 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg6157"
inkscape:version="1.2.1 (9c6d41e4, 2022-07-14)"
sodipodi:docname="04-vorpa-00-5-integrated-method.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview6159"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="true"
inkscape:zoom="2.5852452"
inkscape:cx="269.22011"
inkscape:cy="45.837044"
inkscape:window-width="1611"
inkscape:window-height="935"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="0"
inkscape:current-layer="layer1">
<inkscape:grid
type="xygrid"
id="grid8468" />
</sodipodi:namedview>
<defs
id="defs6154">
<inkscape:path-effect
effect="bspline"
id="path-effect15718"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect12600"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect12114"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect12110"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect12094"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect12090"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect12086"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect12078"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect8907"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
</defs>
<g
inkscape:label="Слой 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="19.84375"
y="7.9375"
id="text12064"><tspan
sodipodi:role="line"
id="tspan12062"
style="stroke-width:0.265"
x="19.84375"
y="7.9375">$I(y)$</tspan><tspan
sodipodi:role="line"
style="stroke-width:0.265"
x="19.84375"
y="13.229162"
id="tspan12066">$b(x)$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="88.635414"
y="30.427084"
id="text12070"><tspan
sodipodi:role="line"
id="tspan12068"
style="stroke-width:0.265"
x="88.635414"
y="30.427084">$y$</tspan><tspan
sodipodi:role="line"
style="stroke-width:0.265"
x="88.635414"
y="35.718742"
id="tspan12072">$x$</tspan></text>
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 26.458333,3.96875 0,22.489583 70.114582,0"
id="path12074"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 26.458333,6.6145832 c 0.882147,-0.1764294 1.764093,-0.3528186 2.646097,-0.3527659 0.882004,5.28e-5 1.763932,0.1764383 2.425401,0.3528621 0.661469,0.1764238 1.102432,0.3528091 1.543318,0.3527162 0.440885,-9.3e-5 0.881847,-0.1764778 1.322889,-0.2646451 0.441041,-0.088167 0.882003,-0.088167 1.322916,-0.1763908 0.440913,-0.088224 0.881876,-0.2646088 1.322945,-0.2645158 0.441068,9.29e-5 0.88203,0.1764777 1.322979,0.2646085 0.44095,0.088131 0.881913,0.088131 1.322917,0.1763908 0.441005,0.08826 0.881968,0.2646453 1.322854,0.2645524 0.440885,-9.3e-5 0.881847,-0.1764778 1.322916,-0.1763851 0.441068,9.27e-5 0.882031,0.176478 1.322917,0.1763851 0.440885,-9.3e-5 0.881848,-0.1764781 2.204776,2.8223811 1.322927,2.9988593 3.527744,9.1723473 4.850761,12.3031223 1.323017,3.130775 1.763979,3.218967 2.204905,3.218916 0.440927,-5.2e-5 0.881889,-0.08825 1.322917,-0.08819 0.441028,5.1e-5 0.881991,0.08824 1.322883,0.04409 0.440893,-0.04416 0.881855,-0.220541 1.322924,-0.220448 0.441069,9.2e-5 0.882031,0.176477 1.54344,0.176392 0.66141,-8.6e-5 1.543338,-0.176472 2.645827,-0.17643 1.102489,4.2e-5 2.425379,0.176427 3.307249,0.176379 0.881869,-4.9e-5 1.322832,-0.176434 1.54325,-0.176273 0.220418,1.61e-4 0.220418,0.176546 0.882013,0.220502 0.661594,0.04396 1.984484,-0.04424 5.73282,-0.08833 3.748335,-0.04409 9.921823,-0.04409 16.095169,-0.04409"
id="path12076"
inkscape:path-effect="#path-effect12078"
inkscape:original-d="m 26.458333,6.6145832 c 0.882208,-0.1761243 1.764154,-0.3525131 2.645833,-0.5291666 0.882227,0.176657 1.764155,0.3530423 2.645834,0.5291666 0.441245,0.176657 0.882208,0.3530423 1.322916,0.5291667 0.441246,-0.1761278 0.882208,-0.3525131 1.322917,-0.5291667 0.441246,2.646e-4 0.882208,2.646e-4 1.322917,0 0.441245,-0.1761278 0.882208,-0.3525131 1.322916,-0.5291666 0.441246,0.176657 0.882208,0.3530423 1.322917,0.5291666 0.441245,2.646e-4 0.882208,2.646e-4 1.322917,0 0.441245,0.176657 0.882208,0.3530423 1.322916,0.5291667 0.441246,-0.1761278 0.882208,-0.3525131 1.322917,-0.5291667 0.441245,0.176657 0.882208,0.3530423 1.322916,0.5291667 0.441246,-0.1761278 0.882209,-0.3525131 1.322917,-0.5291667 2.20517,6.1739988 4.409988,12.3474868 6.614583,18.5208328 0.441246,0.08846 0.882208,0.176654 1.322917,0.264584 0.441246,-0.08793 0.882208,-0.176125 1.322917,-0.264584 0.441245,0.08846 0.882208,0.176654 1.322916,0.264584 0.441246,-0.176128 0.882208,-0.352513 1.322917,-0.529167 0.441246,0.176657 0.882208,0.353042 1.322917,0.529167 0.882226,-0.176128 1.764154,-0.352513 2.645833,-0.529167 1.323208,0.176657 2.646098,0.353042 3.96875,0.529167 0.441245,-0.176128 0.882208,-0.352513 1.322916,-0.529167 2.65e-4,0.176657 2.65e-4,0.353042 0,0.529167 1.323208,-0.08793 2.646098,-0.176125 3.96875,-0.264584 6.174,2.65e-4 12.347488,2.65e-4 18.520834,0" />
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="44.979168"
y="5.2916665"
id="text12082"><tspan
sodipodi:role="line"
id="tspan12080"
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.265"
x="44.979168"
y="5.2916665">$\sigma = x_R - x_L$</tspan></text>
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 44.979167,5.2916667 c 0,7.9377653 0,15.8752643 0,23.8124993"
id="path12084"
inkscape:path-effect="#path-effect12086"
inkscape:original-d="m 44.979167,5.2916667 c 2.64e-4,7.9377653 2.64e-4,15.8752643 0,23.8124993"
sodipodi:nodetypes="cc" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 52.916667,5.2916667 c 0,7.9377633 -10e-7,15.8752603 -10e-7,23.8124993"
id="path12088"
inkscape:path-effect="#path-effect12090"
inkscape:original-d="m 52.916667,5.2916667 c 2.64e-4,7.9377633 2.64e-4,15.8752603 -10e-7,23.8124993"
sodipodi:nodetypes="cc" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 48.947916,25.135416 c 0,2.646097 0,5.291935 10e-7,7.937501"
id="path12092"
inkscape:path-effect="#path-effect12094"
inkscape:original-d="m 48.947916,25.135416 c 2.65e-4,2.646097 2.65e-4,5.291935 10e-7,7.937501"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="47.625"
y="37.041668"
id="text12098"><tspan
sodipodi:role="line"
id="tspan12096"
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.265"
x="47.625"
y="37.041668">$c$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="29.104166"
y="3.96875"
id="text12102"><tspan
sodipodi:role="line"
id="tspan12100"
style="stroke-width:0.265"
x="29.104166"
y="3.96875">фон</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="63.5"
y="23.8125"
id="text12106"><tspan
sodipodi:role="line"
id="tspan12104"
style="stroke-width:0.265"
x="63.5"
y="23.8125">объект (интенсивность $\approx 0$)</tspan></text>
<path
style="fill:none;fill-opacity:1;stroke:#0000ff;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 27.78125,25.135416 c 6.614849,0 13.229298,0 16.095566,-2.866228 2.866268,-2.866228 1.984359,-8.598636 2.86643,-11.465162 0.882072,-2.866526 3.527799,-2.866526 4.409612,-4e-5 0.881813,2.866486 -9.6e-5,8.598896 4.189372,11.465163 4.189469,2.866267 13.4497,2.866267 22.709852,2.866267"
id="path12112"
inkscape:path-effect="#path-effect12114"
inkscape:original-d="m 27.78125,25.135416 c 6.614849,2.65e-4 13.229298,2.65e-4 19.84375,1e-6 -0.881698,-5.73249 -1.763607,-11.464898 -2.645833,-17.197917 2.646151,2.646e-4 5.291878,2.646e-4 7.9375,0 -0.881698,5.733018 -1.763607,11.465428 -2.645834,17.197917 9.260866,2.64e-4 18.521097,2.64e-4 27.781249,-1e-6"
sodipodi:nodetypes="cccccc" />
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="22.489584"
y="31.75"
id="text12386"><tspan
sodipodi:role="line"
id="tspan12384"
style="fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:0.265"
x="22.489584"
y="31.75">$b'(x)$</tspan></text>
<path
style="fill:none;fill-opacity:1;stroke:#00f300;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 27.78125,25.135416 c 4.850958,0 9.701654,0 12.567832,-2.645779 2.866177,-2.645779 3.748104,-7.937339 5.512082,-5.952822 1.763978,1.984518 4.409758,11.244749 6.173589,13.890483 1.763831,2.645734 2.645758,-1.322936 6.835223,-3.307409 4.189465,-1.984473 11.685844,-1.984473 19.182106,-1.984473"
id="path12598"
inkscape:path-effect="#path-effect12600"
inkscape:original-d="m 27.78125,25.135416 c 4.850958,2.65e-4 9.701654,2.65e-4 14.552083,0 0.882226,-5.291508 1.764154,-10.583068 2.645833,-15.8749994 2.646151,9.2608664 5.291931,18.5210974 7.9375,27.7812494 0.882227,-3.968565 1.764154,-7.937235 2.645833,-11.90625 7.496942,2.65e-4 14.993321,2.65e-4 22.489583,0" />
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#00fa00;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="22.489584"
y="37.041668"
id="text13786"><tspan
sodipodi:role="line"
id="tspan13784"
style="stroke-width:0.265;stroke:none;fill:#00fa00;fill-opacity:1"
x="22.489584"
y="37.041668">$b''(x)$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#fa0000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="22.489584"
y="42.333332"
id="text14986"><tspan
sodipodi:role="line"
id="tspan14984"
style="stroke-width:0.265;fill:#fa0000;fill-opacity:1"
x="22.489584"
y="42.333332">$b'''(x)$</tspan></text>
<path
style="fill:none;fill-opacity:1;stroke:#fc0000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 27.78125,25.135416 c 5.732904,0 11.465541,0 14.331729,-0.220358 2.866187,-0.220358 2.866187,-0.661321 3.527738,0.441162 0.661551,1.102483 1.984441,3.748264 3.307265,3.748132 1.322824,-1.33e-4 2.645714,-2.645913 3.307199,-3.74826 0.661485,-1.102347 0.661485,-0.661383 4.850937,-0.44103 4.189452,0.220354 12.567756,0.220354 20.945964,0.220354"
id="path15716"
inkscape:path-effect="#path-effect15718"
inkscape:original-d="m 27.78125,25.135416 c 5.732904,2.65e-4 11.465541,2.65e-4 17.197916,0 2.65e-4,-0.440716 2.65e-4,-0.881679 0,-1.322916 1.323208,2.64615 2.646098,5.291931 3.96875,7.9375 1.323208,-2.645622 2.646098,-5.291402 3.96875,-7.9375 2.65e-4,0.441245 2.65e-4,0.882209 0,1.322916 8.378904,2.65e-4 16.757208,2.65e-4 25.135416,0" />
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:none;fill-opacity:1;stroke:#090000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="59.53125"
y="9.260417"
id="text17124"><tspan
sodipodi:role="line"
id="tspan17122"
style="stroke-width:0.265;stroke:#090000;stroke-opacity:1"
x="59.53125"
y="9.260417" /></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#040000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="60.854164"
y="14.552083"
id="text17752"><tspan
sodipodi:role="line"
id="tspan17750"
style="stroke-width:0.265"
x="60.854164"
y="14.552083" /></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -0,0 +1,303 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg6157"
inkscape:version="1.2.1 (9c6d41e4, 2022-07-14)"
sodipodi:docname="04-vorpa-00-6-blurring-method.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview6159"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="true"
inkscape:zoom="2.5681289"
inkscape:cx="240.64213"
inkscape:cy="27.451893"
inkscape:window-width="1611"
inkscape:window-height="935"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="0"
inkscape:current-layer="layer1">
<inkscape:grid
type="xygrid"
id="grid8468" />
</sodipodi:namedview>
<defs
id="defs6154">
<inkscape:path-effect
effect="bspline"
id="path-effect18652"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect18648"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect15718"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect12600"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect12114"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect12110"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect12094"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect12090"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect12086"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect12078"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect8907"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
</defs>
<g
inkscape:label="Слой 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="17.197916"
y="7.9375"
id="text12064"><tspan
sodipodi:role="line"
id="tspan12062"
style="stroke-width:0.265"
x="17.197916"
y="7.9375">$I(y)$</tspan><tspan
sodipodi:role="line"
style="stroke-width:0.265"
x="17.197916"
y="13.229162"
id="tspan12066">$b(x)$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="88.635414"
y="30.427084"
id="text12070"><tspan
sodipodi:role="line"
id="tspan12068"
style="stroke-width:0.265"
x="88.635414"
y="30.427084">$y$</tspan><tspan
sodipodi:role="line"
style="stroke-width:0.265"
x="88.635414"
y="35.718742"
id="tspan12072">$x$</tspan></text>
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 26.458333,3.96875 0,22.489583 70.114582,0"
id="path12074"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 26.458333,6.6145832 c 0.882147,-0.1764294 1.764093,-0.3528186 2.646097,-0.3527659 0.882004,5.28e-5 1.763932,0.1764383 2.425401,0.3528621 0.661469,0.1764238 1.102432,0.3528091 1.543318,0.3527162 0.440885,-9.3e-5 0.881847,-0.1764778 1.322889,-0.2646451 0.441041,-0.088167 0.882003,-0.088167 1.322916,-0.1763908 0.440913,-0.088224 0.881876,-0.2646088 1.322945,-0.2645158 0.441068,9.29e-5 0.88203,0.1764777 1.322979,0.2646085 0.44095,0.088131 0.881913,0.088131 1.322917,0.1763908 0.441005,0.08826 0.881968,0.2646453 1.322854,0.2645524 0.440885,-9.3e-5 0.881847,-0.1764778 1.322916,-0.1763851 0.441068,9.27e-5 0.882031,0.176478 1.322917,0.1763851 0.440885,-9.3e-5 0.881848,-0.1764781 2.204776,2.8223811 1.322927,2.9988593 3.527744,9.1723473 4.850761,12.3031223 1.323017,3.130775 1.763979,3.218967 2.204905,3.218916 0.440927,-5.2e-5 0.881889,-0.08825 1.322917,-0.08819 0.441028,5.1e-5 0.881991,0.08824 1.322883,0.04409 0.440893,-0.04416 0.881855,-0.220541 1.322924,-0.220448 0.441069,9.2e-5 0.882031,0.176477 1.54344,0.176392 0.66141,-8.6e-5 1.543338,-0.176472 2.645827,-0.17643 1.102489,4.2e-5 2.425379,0.176427 3.307249,0.176379 0.881869,-4.9e-5 1.322832,-0.176434 1.54325,-0.176273 0.220418,1.61e-4 0.220418,0.176546 0.882013,0.220502 0.661594,0.04396 1.984484,-0.04424 5.73282,-0.08833 3.748335,-0.04409 9.921823,-0.04409 16.095169,-0.04409"
id="path12076"
inkscape:original-d="m 26.458333,6.6145832 c 0.882208,-0.1761243 1.764154,-0.3525131 2.645833,-0.5291666 0.882227,0.176657 1.764155,0.3530423 2.645834,0.5291666 0.441245,0.176657 0.882208,0.3530423 1.322916,0.5291667 0.441246,-0.1761278 0.882208,-0.3525131 1.322917,-0.5291667 0.441246,2.646e-4 0.882208,2.646e-4 1.322917,0 0.441245,-0.1761278 0.882208,-0.3525131 1.322916,-0.5291666 0.441246,0.176657 0.882208,0.3530423 1.322917,0.5291666 0.441245,2.646e-4 0.882208,2.646e-4 1.322917,0 0.441245,0.176657 0.882208,0.3530423 1.322916,0.5291667 0.441246,-0.1761278 0.882208,-0.3525131 1.322917,-0.5291667 0.441245,0.176657 0.882208,0.3530423 1.322916,0.5291667 0.441246,-0.1761278 0.882209,-0.3525131 1.322917,-0.5291667 2.20517,6.1739988 4.409988,12.3474868 6.614583,18.5208328 0.441246,0.08846 0.882208,0.176654 1.322917,0.264584 0.441246,-0.08793 0.882208,-0.176125 1.322917,-0.264584 0.441245,0.08846 0.882208,0.176654 1.322916,0.264584 0.441246,-0.176128 0.882208,-0.352513 1.322917,-0.529167 0.441246,0.176657 0.882208,0.353042 1.322917,0.529167 0.882226,-0.176128 1.764154,-0.352513 2.645833,-0.529167 1.323208,0.176657 2.646098,0.353042 3.96875,0.529167 0.441245,-0.176128 0.882208,-0.352513 1.322916,-0.529167 2.65e-4,0.176657 2.65e-4,0.353042 0,0.529167 1.323208,-0.08793 2.646098,-0.176125 3.96875,-0.264584 6.174,2.65e-4 12.347488,2.65e-4 18.520834,0"
inkscape:path-effect="#path-effect12078" />
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="29.104166"
y="3.96875"
id="text12102"><tspan
sodipodi:role="line"
id="tspan12100"
style="stroke-width:0.265"
x="29.104166"
y="3.96875">фон</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="63.5"
y="23.8125"
id="text12106"><tspan
sodipodi:role="line"
id="tspan12104"
style="stroke-width:0.265"
x="63.5"
y="23.8125">объект (интенсивность $\approx 0$)</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:none;fill-opacity:1;stroke:#090000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="59.53125"
y="9.260417"
id="text17124"><tspan
sodipodi:role="line"
id="tspan17122"
style="stroke-width:0.265;stroke:#090000;stroke-opacity:1"
x="59.53125"
y="9.260417" /></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#040000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="60.854164"
y="14.552083"
id="text17752"><tspan
sodipodi:role="line"
id="tspan17750"
style="stroke-width:0.265"
x="60.854164"
y="14.552083" /></text>
<path
style="fill:none;fill-opacity:1;stroke:#ff0000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 26.458333,6.6145833 c 6.173876,0 12.347485,-10e-8 16.536669,3.0870263 4.189183,3.0870264 6.394,9.2605144 13.670241,12.3471604 7.27624,3.086646 19.623214,3.086646 31.970173,3.086646"
id="path18646"
inkscape:path-effect="#path-effect18648"
inkscape:original-d="m 26.458333,6.6145833 c 6.173876,2.646e-4 12.347485,2.645e-4 18.520833,-10e-8 2.20517,6.1739988 4.409988,12.3474868 6.614583,18.5208328 12.347734,2.65e-4 24.694708,2.65e-4 37.041667,0"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;fill-opacity:1;stroke:#0000fb;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 31.75,6.6145833 c 4.850961,0 9.701653,-10e-8 12.788373,3.0870207 3.086719,3.087021 4.409583,9.260385 9.260474,12.347099 4.85089,3.086713 13.229195,3.086713 21.607402,3.086713"
id="path18650"
inkscape:path-effect="#path-effect18652"
inkscape:original-d="m 31.75,6.6145833 c 4.850961,2.646e-4 9.701653,2.645e-4 14.552083,-10e-8 1.323208,6.1739988 2.646072,12.3473638 3.96875,18.5208338 8.378904,2.64e-4 16.757209,2.64e-4 25.135416,-1e-6"
sodipodi:nodetypes="cccc" />
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#f20000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="54.239582"
y="6.614583"
id="text18708"><tspan
sodipodi:role="line"
id="tspan18706"
style="stroke-width:0.265;stroke:none;fill:#f20000;fill-opacity:1"
x="54.239582"
y="6.614583" /></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#fc0000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="17.197916"
y="18.520834"
id="text19140"><tspan
sodipodi:role="line"
id="tspan19138"
style="fill:#fc0000;fill-opacity:1;stroke-width:0.265"
x="17.197916"
y="18.520834">$bb(x)$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#0000f3;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="17.197916"
y="23.8125"
id="text19144"><tspan
sodipodi:role="line"
id="tspan19142"
style="fill:#0000f3;fill-opacity:1;stroke-width:0.265"
x="17.197916"
y="23.8125">$ba(x)$</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,397 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg6157"
inkscape:version="1.2.1 (9c6d41e4, 2022-07-14)"
sodipodi:docname="04-vorpa-00-7-combine.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview6159"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="true"
inkscape:zoom="1.2481745"
inkscape:cx="353.31599"
inkscape:cy="2.0029251"
inkscape:window-width="1611"
inkscape:window-height="935"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="0"
inkscape:current-layer="layer1">
<inkscape:grid
type="xygrid"
id="grid8468" />
</sodipodi:namedview>
<defs
id="defs6154">
<inkscape:path-effect
effect="bspline"
id="path-effect22710"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect22700"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect22690"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect22680"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect22648"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<marker
style="overflow:visible"
id="TriangleStart"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="TriangleStart"
markerWidth="5.3244081"
markerHeight="6.155385"
viewBox="0 0 5.3244081 6.1553851"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path135" />
</marker>
<inkscape:path-effect
effect="bspline"
id="path-effect22346"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect18652"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect18648"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect15718"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect12600"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect12114"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect12110"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect12094"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect12090"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect12086"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect12078"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
<inkscape:path-effect
effect="bspline"
id="path-effect8907"
is_visible="true"
lpeversion="1"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false" />
</defs>
<g
inkscape:label="Слой 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#100000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="33.072918"
y="5.2916665"
id="text22006"><tspan
sodipodi:role="line"
id="tspan22004"
style="fill:#100000;fill-opacity:1;stroke-width:0.265"
x="33.072918"
y="5.2916665">$y$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#100000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="27.78125"
y="13.229166"
id="text22268"><tspan
sodipodi:role="line"
id="tspan22266"
style="stroke-width:0.265"
x="27.78125"
y="13.229166">$A+B$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#100000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="50.270832"
y="48.947918"
id="text22272"><tspan
sodipodi:role="line"
id="tspan22270"
style="stroke-width:0.265"
x="50.270832"
y="48.947918">$-A+B$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#100000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="59.53125"
y="18.520834"
id="text22334"><tspan
sodipodi:role="line"
id="tspan22332"
style="stroke-width:0.265"
x="59.53125"
y="18.520834">$i(x)$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#100000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="58.208332"
y="25.135416"
id="text22338"><tspan
sodipodi:role="line"
id="tspan22336"
style="stroke-width:0.265"
x="58.208332"
y="25.135416">$i_1(x)$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#100000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="71.4375"
y="34.395832"
id="text22342"><tspan
sodipodi:role="line"
id="tspan22340"
style="stroke-width:0.265"
x="71.4375"
y="34.395832">$x$</tspan></text>
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#TriangleStart)"
d="m 44.979167,56.885416 c 0,-18.079596 0,-36.159458 0,-54.2395827"
id="path22344"
inkscape:path-effect="#path-effect22346"
inkscape:original-d="m 44.979167,56.885416 c 2.65e-4,-18.079596 2.65e-4,-36.159458 0,-54.2395827"
sodipodi:nodetypes="cc" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#TriangleStart)"
d="m 19.84375,29.104166 c 18.96207,0 37.923875,0 56.885417,1e-6"
id="path22646"
inkscape:path-effect="#path-effect22648"
inkscape:original-d="m 19.84375,29.104166 c 18.96207,2.65e-4 37.923875,2.65e-4 56.885417,1e-6"
sodipodi:nodetypes="cc" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.965;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="M 66.145832,7.9374999 H 44.979166 V 50.270833 H 23.8125"
id="path22676" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.465;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 63.499999,7.9374999 c -6.173345,0 -12.346958,0 -15.433895,7.0558291 -3.086938,7.055829 -3.086938,21.166658 -6.173673,28.222081 -3.086735,7.055423 -9.260223,7.055423 -15.434098,7.055423"
id="path22678"
inkscape:path-effect="#path-effect22680"
inkscape:original-d="m 63.499999,7.9374999 c -6.173345,2.646e-4 -12.346958,2.646e-4 -18.520833,0 2.65e-4,14.1116581 2.65e-4,28.2224871 0,42.3333331 -6.17347,2.64e-4 -12.346958,2.64e-4 -18.520833,0" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.465;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 60.854166,7.9374999 c -3.527512,0 -7.055292,0 -10.58326,7.0557901 -3.527968,7.05579 -7.055675,21.166619 -10.583333,28.222081 -3.527657,7.055462 -7.055365,7.055462 -10.583407,7.055462"
id="path22688"
inkscape:path-effect="#path-effect22690"
inkscape:original-d="m 60.854166,7.9374999 c -3.527512,2.646e-4 -7.055292,2.646e-4 -10.583333,0 C 46.743249,22.049158 43.215541,36.159987 39.6875,50.270833 c -3.527584,2.64e-4 -7.055292,2.64e-4 -10.583334,0" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.265;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 58.208333,15.875 c -2.645516,-1.322758 -5.291349,-2.645674 -7.9375,-3.96875"
id="path22698"
inkscape:path-effect="#path-effect22700"
inkscape:original-d="m 58.208333,15.875 c -2.645569,-1.322652 -5.291402,-2.645569 -7.9375,-3.96875"
sodipodi:nodetypes="cc" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="M 58.208333,23.8125 C 55.12184,22.04879 52.035036,20.284901 48.947917,18.520833"
id="path22708"
inkscape:path-effect="#path-effect22710"
inkscape:original-d="M 58.208333,23.8125 C 55.121792,22.048875 52.034987,20.284987 48.947917,18.520833"
sodipodi:nodetypes="cc" />
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#100000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="82.020836"
y="18.520834"
id="text22724"><tspan
sodipodi:role="line"
id="tspan22722"
style="stroke-width:0.265;fill:#100000;fill-opacity:1;stroke:none"
x="82.020836"
y="18.520834" /></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#100000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="84.666664"
y="18.520834"
id="text22728"><tspan
sodipodi:role="line"
id="tspan22726"
style="stroke-width:0.265"
x="84.666664"
y="18.520834">$u(x) = \begin{cases}-1, x\leq0\\1, x&gt;0\end{cases}$</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#100000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linecap:square;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
x="84.666664"
y="29.104166"
id="text22732"><tspan
sodipodi:role="line"
id="tspan22730"
style="stroke-width:0.265"
x="84.666664"
y="29.104166">$f(x) = A_{u(x)} + B$</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -154,10 +154,11 @@ sorting=ntvy,
\end{center} \end{center}
\vspace*{4em} \vspace*{4em}
\begin{flushright} \begin{flushright}
Выполнили\\ Выполнил\\
%удент группы ИУ3-11М \\ %удент группы ИУ3-11М \\
%удент группы ИУ3-21М \\ %удент группы ИУ3-21М \\
удент группы ИУ3-31М \\ %удент группы ИУ3-31М \\
удент группы ИУ3-41М \\
Овчинников И.И. \\ Овчинников И.И. \\
\vspace*{0.5em} \vspace*{0.5em}
Проверил#5\\ Проверил#5\\