Compare commits

..

14 Commits

Author SHA1 Message Date
Rifqi D. Panuluh
a0659e7892 feat: chapter 3 figures 2025-10-10 02:33:43 +00:00
Rifqi D. Panuluh
0217abfb88 WIP: checkpoint methodology 2025-10-10 02:25:29 +00:00
Rifqi D. Panuluh
01c2a9d232 feat(latex): Add content for data acquisition, model development, and hyperparameter optimization in methodology chapter 2025-10-06 08:15:32 +00:00
Rifqi D. Panuluh
3258cd2e82 fix(latex): Add SmallCapsFont fallback for pseudocode package that use \textsc in Times New Roman 2025-10-05 11:25:52 +00:00
Rifqi D. Panuluh
9412f0f53f fix(latex): Fix the steps flow to follow common practice and reformat writing style 2025-09-06 04:28:57 +00:00
Rifqi D. Panuluh
d844fb8f66 fix(latex): Update damaged/undamaged figure references and captions for clarity in methodology section and optimize figures with guetzli 2025-09-06 04:26:01 +00:00
Rifqi D. Panuluh
b581b3c755 refactor(latex): Refactor chapter 3 to remove section headers from data analysis and materials files and optimize figures with guetzli 2025-09-06 04:23:31 +00:00
Rifqi D. Panuluh
9fc5da03c1 feat(gitattributes): Add LFS support for JPG, JPEG, and PDF files 2025-09-05 11:01:23 +00:00
Rifqi D. Panuluh
ebb2c0d686 refactor(latex): Refactor chapter 3 2025-09-05 10:57:00 +00:00
Rifqi D. Panuluh
c2f48694c9 Merge branch 'dev' of https://github.com/nuluh/thesis into dev 2025-08-30 00:24:05 +00:00
nuluh
f2d427f0e8 feat(gitattributes): Add LFS filters for SVG and PNG files 2025-08-29 10:49:18 +07:00
nuluh
cf4bdd43cd feat(notebooks): Enhance STFT preview functionality and improve plotting
- Updated `preview_stft` function to accept both DataFrame and list of DataFrames.
- Added support for multiple subplots when a list of DataFrames is provided.
- Improved color mapping and axis labeling in plots.
- Adjusted figure saving options for better output formats.
- Refactored code to reduce redundancy in plotting logic for Sensor A and Sensor B.
- Added predictions using SVM models for processed data.
2025-08-29 10:48:49 +07:00
Rifqi D. Panuluh
7ee6231017 Merge pull request #107 from nuluh/exp/74-exp-cross-dataset-validation
Exp/74 exp cross dataset validation
2025-08-28 12:09:16 +07:00
Rifqi D. Panuluh
18edaaa7c9 refactor(latex): refactor introduction and results chapters to localization directory 2025-08-23 01:55:23 +00:00
42 changed files with 2004 additions and 329 deletions

7
.gitattributes vendored
View File

@@ -1 +1,6 @@
*.ipynb filter=nbstripout
*.ipynb filter=nbstripout
*.svg filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text

View File

@@ -402,7 +402,14 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Preview Plot"
"##### Preview Plot"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"###### Function plot"
]
},
{
@@ -411,7 +418,8 @@
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt"
"import matplotlib.pyplot as plt\n",
"from typing import Union"
]
},
{
@@ -420,7 +428,7 @@
"metadata": {},
"outputs": [],
"source": [
"def preview_stft(data: pd.DataFrame, x_num_ticks: int = 6, y_num_ticks: int = 5):\n",
"def preview_stft(data: Union[pd.DataFrame, list[pd.DataFrame]], x_num_ticks: int = 6, y_num_ticks: int = 5, cols: int=3):\n",
" \"\"\"\n",
" Preview the Short-Time Fourier Transform (STFT) of the given data.\n",
"\n",
@@ -430,15 +438,54 @@
" x_num_ticks (int): Number of ticks on the x-axis (time frames). Defaults to 6.\n",
" y_num_ticks (int): Number of ticks on the y-axis (frequency bins). Defaults to 5.\n",
" \"\"\"\n",
" plt.figure(dpi=300) # Set figure size and DPI\n",
" plt.pcolormesh(data.transpose(), cmap='jet', vmax=0.03, vmin=0.0)\n",
" # plt.title('STFT Preview')\n",
" plt.colorbar(label='Magnitude')\n",
" plt.xlabel('Segmen Waktu')\n",
" plt.ylabel('Sampel Frekuensi (Hz)')\n",
" plt.xticks(np.linspace(0, len(data)-1, x_num_ticks)) # Set x-ticks at regular intervals\n",
" plt.yticks(np.linspace(0, len(data.columns)-1, y_num_ticks)) # Set y-ticks at regular intervals\n",
" plt.show()"
" if type(data) == pd.DataFrame:\n",
" plt.figure(dpi=300) # Set figure size and DPI\n",
" plt.pcolormesh(data.transpose(), cmap='jet', vmax=0.03, vmin=0.0, rasterized=True)\n",
" # plt.title('STFT Preview')\n",
" plt.colorbar(label='Magnitude ($m/s^2$)')\n",
" plt.xlabel('Segmen Waktu')\n",
" plt.ylabel('Sampel Frekuensi (Hz)')\n",
" plt.xticks(np.linspace(0, len(data)-1, x_num_ticks)) # Set x-ticks at regular intervals\n",
" plt.yticks(np.linspace(0, len(data.columns)-1, y_num_ticks)) # Set y-ticks at regular intervals\n",
" plt.savefig(\"output_single.svg\", format=\"svg\", dpi=100)\n",
" plt.show()\n",
"\n",
" elif type(data) == list and len(data) > 1:\n",
" # Create a figure and subplots\n",
" fig, axes = plt.subplots(len(data)//cols, cols, figsize=(15, 8), sharex=True, sharey=True)\n",
"\n",
" # Flatten the axes array for easier iteration\n",
" axes = axes.flatten()\n",
"\n",
" # Loop through each subplot and plot the data\n",
" for i in range(len(data)):\n",
" pcm = axes[i].pcolormesh(data[i].transpose(), cmap='jet', vmax=0.03, vmin=0.0, rasterized=True)\n",
" axes[i].set_title(f'd_{i+1}', fontsize=12)\n",
" axes[i].set_xticks(np.linspace(0, len(data[i])-1, 6)) # Set x-ticks at regular intervals\n",
" axes[i].set_yticks(np.linspace(0, len(data[i].columns)-1, 9)) # Set y-ticks at regular intervals\n",
"\n",
" # Add a single color bar for all subplots\n",
" # Use the first `pcolormesh` object (or any valid one) for the color bar\n",
" cbar = fig.colorbar(pcm, ax=axes, orientation='vertical')\n",
" cbar.set_label('Magnitude ($m/s^2$)', fontsize=12)\n",
"\n",
" # Set shared labels\n",
" fig.text(0.5, 0.04, 'Segmen Waktu', ha='center', fontsize=12)\n",
" fig.text(0.04, 0.5, 'Sampel Frekuensi (Hz)', va='center', rotation='vertical', fontsize=12)\n",
" # fig.suptitle('STFT of Sensor A Damage Case (d1--d6) Dataset A', fontsize=16)\n",
"\n",
" # Adjust layout\n",
" # plt.tight_layout(rect=[0.05, 0.05, 1, 1]) # Leave space for shared labels\n",
" plt.subplots_adjust(left=0.1, right=0.75, top=0.9, bottom=0.1, wspace=0.2, hspace=0.2)\n",
" plt.savefig(\"output_multiple.svg\", format=\"svg\", dpi=80)\n",
" plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"###### Sensor A"
]
},
{
@@ -449,7 +496,14 @@
"source": [
"# colormesh give title x is frequency and y is time and rotate/transpose the data\n",
"# Plotting the STFT Data\n",
"preview_stft(ready_data1a[0]) # Preview for Sensor 1"
"preview_stft(ready_data1a[0], y_num_ticks=9) # Preview for Sensor 1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"###### Sensor B"
]
},
{
@@ -458,11 +512,7 @@
"metadata": {},
"outputs": [],
"source": [
"plt.figure(dpi=300) # Set figure size and DPI\n",
"plt.pcolormesh(ready_data2a[0].transpose(), cmap='jet', vmax=0.03, vmin=0.0)\n",
"plt.title('STFT of Sensor B Dataset A Label 0 Undamaged')\n",
"plt.savefig(\"stft-sensor-b-dataset-a-undamaged.png\", dpi=300)\n",
"plt.show()"
"preview_stft(ready_data2a[0], y_num_ticks=9) # Preview for Sensor 2"
]
},
{
@@ -483,7 +533,14 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Preview Plot"
"##### Preview Plot"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"###### Sensor A"
]
},
{
@@ -492,33 +549,14 @@
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"# Create a figure and subplots\n",
"fig, axes = plt.subplots(2, 3, figsize=(15, 8), sharex=True, sharey=True)\n",
"\n",
"# Flatten the axes array for easier iteration\n",
"axes = axes.flatten()\n",
"\n",
"# Loop through each subplot and plot the data\n",
"for i in range(6):\n",
" pcm = axes[i].pcolormesh(ready_data1a[i+1].transpose(), cmap='jet', vmax=0.03, vmin=0.0)\n",
" axes[i].set_title(f'Label {i+1}', fontsize=12)\n",
"\n",
"# Add a single color bar for all subplots\n",
"# Use the first `pcolormesh` object (or any valid one) for the color bar\n",
"cbar = fig.colorbar(pcm, ax=axes, orientation='vertical')\n",
"# cbar.set_label('Magnitude')\n",
"\n",
"# Set shared labels\n",
"fig.text(0.5, 0.04, 'Time Frames', ha='center', fontsize=12)\n",
"fig.text(0.04, 0.5, 'Frequency [Hz]', va='center', rotation='vertical', fontsize=12)\n",
"fig.suptitle('STFT of Sensor A Damage Case (d1--d6) Dataset A', fontsize=16)\n",
"\n",
"# Adjust layout\n",
"# plt.tight_layout(rect=[0.05, 0.05, 1, 1]) # Leave space for shared labels\n",
"plt.subplots_adjust(left=0.1, right=0.75, top=0.9, bottom=0.1, wspace=0.2, hspace=0.2)\n",
"\n",
"plt.show()"
"preview_stft(ready_data1a[1:], cols=3, y_num_ticks=9) # Preview for Sensor 1 Damage Cases (d1--d6)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"###### Sensor B"
]
},
{
@@ -527,33 +565,7 @@
"metadata": {},
"outputs": [],
"source": [
"from cmcrameri import cm\n",
"# Create a figure and subplots\n",
"fig, axes = plt.subplots(2, 3, figsize=(15, 8), sharex=True, sharey=True)\n",
"\n",
"# Flatten the axes array for easier iteration\n",
"axes = axes.flatten()\n",
"\n",
"# Loop through each subplot and plot the data\n",
"for i in range(6):\n",
" pcm = axes[i].pcolormesh(ready_data2a[i+1].transpose(), cmap='jet', vmax=0.03, vmin=0.0)\n",
" axes[i].set_title(f'Label {i+1}', fontsize=12)\n",
"\n",
"# Add a single color bar for all subplots\n",
"# Use the first `pcolormesh` object (or any valid one) for the color bar\n",
"cbar = fig.colorbar(pcm, ax=axes, orientation='vertical')\n",
"# cbar.set_label('Magnitude')\n",
"\n",
"# Set shared labels\n",
"fig.text(0.5, 0.04, 'Time Frames', ha='center', fontsize=12)\n",
"fig.text(0.04, 0.5, 'Frequency [Hz]', va='center', rotation='vertical', fontsize=12)\n",
"fig.suptitle('STFT of Sensor B Damage Case (d1--d6) Dataset A', fontsize=16)\n",
"\n",
"# Adjust layout\n",
"# plt.tight_layout(rect=[0.05, 0.05, 1, 1]) # Leave space for shared labels\n",
"plt.subplots_adjust(left=0.1, right=0.75, top=0.9, bottom=0.1, wspace=0.2, hspace=0.2)\n",
"\n",
"plt.show()"
"preview_stft(ready_data2a[1:], cols=3, y_num_ticks=9) # Preview for Sensor 1 Damage Cases (d1--d6)"
]
},
{
@@ -1072,8 +1084,57 @@
"window = 1024\n",
"hop = 512\n",
"\n",
"stft1 = stft(df1.values.flatten(), window=hann(window), nperseg=window, noverlap=hop, fs=window)\n",
"stft2 = stft(df2.values.flatten(), window=hann(window), nperseg=window, noverlap=hop, fs=window)\n"
"_, _, stft1 = stft(df1.values.flatten(), window=hann(window), nperseg=window, noverlap=hop, fs=window)\n",
"_, _, stft2 = stft(df2.values.flatten(), window=hann(window), nperseg=window, noverlap=hop, fs=window)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"a = pd.DataFrame(np.abs(stft1.T), columns=[f\"Freq_{freq:.2f}\" for freq in np.linspace(0, window/2, stft1.shape[1])]).rename(columns={a.columns[0]: \"00\"})\n",
"b = pd.DataFrame(np.abs(stft2.T), columns=[f\"Freq_{freq:.2f}\" for freq in np.linspace(0, window/2, stft2.shape[1])]).rename(columns={b.columns[0]: \"00\"})"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"y = [0]*len(a)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from joblib import load\n",
"\n",
"svm_model_a = load('D:/thesis/models/sensor1/SVM with StandardScaler and PCA.joblib')\n",
"svm_model_b = load('D:/thesis/models/sensor2/SVM with StandardScaler and PCA.joblib')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"y_pred_svm = svm_model_b.predict(b)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"y_pred_svm"
]
}
],

View File

@@ -14,6 +14,113 @@
file = {C:\Users\damar\Zotero\storage\5WG6DL7B\Abdeljaber et al. - 2017 - Real-time vibration-based structural damage detect.pdf}
}
@book{geron2019,
title = {Hands-on Machine Learning with {{Scikit-Learn}}, {{Keras}}, and {{TensorFlow}}: Concepts, Tools, and Techniques to Build Intelligent Systems},
shorttitle = {Hands-on Machine Learning with {{Scikit-Learn}}, {{Keras}}, and {{TensorFlow}}},
author = {Géron, Aurélien},
date = {2019},
edition = {Second edition},
publisher = {O'Reilly},
location = {Beijing Boston Farnham Sebastopol Tokyo},
abstract = {Through a series of recent breakthroughs, deep learning has boosted the entire field of machine learning. Now, even programmers who know close to nothing about this technology can use simple, efficient tools to implement programs capable of learning from data. This practical book shows you how. By using concrete examples, minimal theory, and two production-ready Python frameworks--Scikit-Learn and TensorFlow--author Aurélien Géron helps you gain an intuitive understanding of the concepts and tools for building intelligent systems. You'll learn a range of techniques, starting with simple linear regression and progressing to deep neural networks. With exercises in each chapter to help you apply what you've learned, all you need is programming experience to get started. Explore the machine learning landscape, particularly neural nets Use Scikit-Learn to track an example machine-learning project end-to-end Explore several training models, including support vector machines, decision trees, random forests, and ensemble methods Use the TensorFlow library to build and train neural nets Dive into neural net architectures, including convolutional nets, recurrent nets, and deep reinforcement learning Learn techniques for training and scaling deep neural nets},
isbn = {978-1-4920-3264-9 978-1-4920-3261-8},
langid = {english},
pagetotal = {1}
}
@inproceedings{Kohavi1995ASO,
title={A Study of Cross-Validation and Bootstrap for Accuracy Estimation and Model Selection},
author={Ron Kohavi},
booktitle={International Joint Conference on Artificial Intelligence},
year={1995},
url={https://api.semanticscholar.org/CorpusID:2702042}
}
@article{JMLR:v9:vandermaaten08a,
author = {Laurens van der Maaten and Geoffrey Hinton},
title = {Visualizing Data using t-SNE},
journal = {Journal of Machine Learning Research},
year = {2008},
volume = {9},
number = {86},
pages = {2579--2605},
url = {http://jmlr.org/papers/v9/vandermaaten08a.html}
}
@article{JMLR:v22:20-1061,
author = {Yingfan Wang and Haiyang Huang and Cynthia Rudin and Yaron Shaposhnik},
title = {Understanding How Dimension Reduction Tools Work: An Empirical Approach to Deciphering t-SNE, UMAP, TriMap, and PaCMAP for Data Visualization},
journal = {Journal of Machine Learning Research},
year = {2021},
volume = {22},
number = {201},
pages = {1-73},
url = {http://jmlr.org/papers/v22/20-1061.html}
}
@article{CC01a,
author = {Chang, Chih-Chung and Lin, Chih-Jen},
title = {{LIBSVM}: A library for support vector machines},
journal = {ACM Transactions on Intelligent Systems and Technology},
volume = {2},
issue = {3},
year = {2011},
pages = {27:1--27:27},
note = {Software available at \url{http://www.csie.ntu.edu.tw/~cjlin/libsvm}}
}
@inproceedings{Hsu2009APG,
title={A Practical Guide to Support Vector Classification},
author={Chih-Wei Hsu and Chih-Chung Chang and Chih-Jen Lin},
year={2009},
url={https://api.semanticscholar.org/CorpusID:267925897}
}
@article{hsu2002,
title = {A Comparison of Methods for Multiclass Support Vector Machines},
author = {Hsu, Chih-Wei and Lin, Chih-Jen},
date = {2002},
journaltitle = {IEEE transactions on neural networks},
shortjournal = {IEEE Trans Neural Netw},
volume = {13},
number = {2},
eprint = {18244442},
eprinttype = {pmid},
pages = {415--425},
issn = {1045-9227},
doi = {10.1109/72.991427},
abstract = {Support vector machines (SVMs) were originally designed for binary classification. How to effectively extend it for multiclass classification is still an ongoing research issue. Several methods have been proposed where typically we construct a multiclass classifier by combining several binary classifiers. Some authors also proposed methods that consider all classes at once. As it is computationally more expensive to solve multiclass problems, comparisons of these methods using large-scale problems have not been seriously conducted. Especially for methods solving multiclass SVM in one step, a much larger optimization problem is required so up to now experiments are limited to small data sets. In this paper we give decomposition implementations for two such "all-together" methods. We then compare their performance with three methods based on binary classifications: "one-against-all," "one-against-one," and directed acyclic graph SVM (DAGSVM). Our experiments indicate that the "one-against-one" and DAG methods are more suitable for practical use than the other methods. Results also show that for large problems methods by considering all data at once in general need fewer support vectors.},
langid = {english}
}
@article{JMLR:v18:16-174,
title = {Empirical Evaluation of Resampling Procedures for Optimising {{SVM}} Hyperparameters},
author = {Wainer, Jacques and Cawley, Gavin},
date = {2017},
journaltitle = {Journal of Machine Learning Research},
volume = {18},
number = {15},
pages = {1--35},
url = {http://jmlr.org/papers/v18/16-174.html}
}
@article{diao2023,
title = {Structural Damage Identification Based on Variational Mode Decomposition{{Hilbert}} Transform and {{CNN}}},
author = {Diao, Yansong and Lv, Jianda and Wang, Qiuxiao and Li, Xingjian and Xu, Jing},
date = {2023-10},
journaltitle = {Journal of Civil Structural Health Monitoring},
shortjournal = {J Civil Struct Health Monit},
volume = {13},
number = {6--7},
pages = {1415--1429},
issn = {2190-5452, 2190-5479},
doi = {10.1007/s13349-023-00715-3},
url = {https://link.springer.com/10.1007/s13349-023-00715-3},
urldate = {2025-05-19},
langid = {english},
}
@article{zhao2019,
title = {Bolt Loosening Angle Detection Technology Using Deep Learning},
author = {Zhao, Xuefeng and Zhang, Yang and Wang, Niannian},

View File

@@ -1,13 +0,0 @@
\chapter{Hasil Penelitian dan Pembahasan}
\begin{table}[ht]
\centering
\begin{tabular}{c|c}
& \\
&
\end{tabular}
\caption{Caption}
\label{tab:my_label}
\end{table}
\section{}
\section{}
\section{}

View File

@@ -1,185 +0,0 @@
\section{Analisis Data}
% Dalam studi ini, setiap sensor menghasilkan data akselerasi yang direkam sebagai sebuah vektor numerik kontinu. Secara matematis,
% setiap data sensor didefinisikan sebagai
% \begin{equation}
% n \in \mathbb{R}^{262144},
% \end{equation}
% di mana \(n\) adalah vektor berisi 262144 sampel pengukuran akselerasi seperti yang dijelaskan pada persamaan~\ref{eq:sample}.
% Selanjutnya, data akselerasi untuk 30 sensor (atau \textit{node}) disimpan dalam sebuah berkas \texttt{.TXT}. Maka, setiap berkas tersebut dapat direpresentasikan sebagai matriks
% \begin{equation}
% N \in \mathbb{R}^{262144 \times 30},
% \end{equation}
% di mana setiap kolom dari \(N\) merupakan data akselerasi untuk satu sensor dari 30 sensor yang ada.
\subsection{Grid, Kode \textit{Joint}, dan Nama File}
Masing-masing *sensor node* diberi nama menurut indeks \(n\) (dengan \(n = 0,1,\dots,29\)).
Berkas data mentah tiap node disimpan dalam berkas teks berformat
\texttt{zzzAD<n>.TXT}; penamaannya dapat dirumuskan sebagai
\[
Z_{n} \;=\; \texttt{``zzzAD}n\texttt{.TXT''},
\qquad n = 1,\dots,30.
\]
Pada pembahasan selanjutnya, simbol \(Z_{n}\) dipakai sebagai penunjuk
berkas data untuk node ke-\(n\).
Untuk merujuk satu kanal (kolom) tertentu di dalam matriks
\(\mathbf{D}^{(n)}\), digunakan notasi
\[
\gls{not:damage_file}_{s}^{(\gls{not:joint_index})} \in \mathbb{R}^{262144},
\]
dengan ketentuan:
* superskrip \((\gls{not:joint_index})\) menandakan indeks kasus kerusakan
(130),
* subskrip \(s\) menandakan indeks kanal sensor yang dipilih
(\(s = 1,\dots,30\)).
Dengan demikian,
\(\gls{not:damage_file}_{s}^{(n)}\) merepresentasikan sebuah vektor
\(262144 \times 1\) yang berisi deret waktu hasil pengukuran kanal
\(s\) pada skenario kerusakan ke-\(n\).
\subsection{Pemetaan Sensor ke Dalam Folder (Damage-case)}
Semua tiga puluh \textit{node} dikelompokkan ke dalam enam folder yang merepresentasikan enam skenario kerusakan, masing-masing dilabeli \(d_{i}\) dengan \(i=0,\dots,5\). Setiap folder mengandung tepat lima \textit{node} berurutan, sehingga didefinisikan:
\begin{equation*}
\gls{not:damage_file_set_case}_{i} = \bigl\{
\,\mathbf{D}_{5i}^{(5i)},
\;\mathbf{D}_{5i+1}^{(5i+1)},
\;\mathbf{D}_{5i+2}^{(5i+2)},
\;\mathbf{D}_{5i+3}^{(5i+3)},
\;\mathbf{D}_{5i+4}^{(5i+4)}
\bigr\},
\quad i = 0,\dots,5.
\end{equation*}
\begin{equation}
\mathcal{D}_i = \bigl\{
\end{equation}
Sebagai contoh secara konkrit,
\begin{align*}
d_0 &= \{n_{0}^{F_0},\;n_{1}^{F_1},\;n_{2}^{F_2},\;n_{3}^{F_3},\;n_{4}^{F_4}\},\\[1ex]
d_1 &= \{n_{5}^{F_5},\;n_{6}^{F_6},\;n_{7}^{F_7},\;n_{8}^{F_8},\;n_{9}^{F_9}\},\\[1ex]
&\;\;\vdots\\[1ex]
d_5 &= \{n_{25}^{F_{25}},\;n_{26}^{F_{26}},\;n_{27}^{F_{27}},\;n_{28}^{F_{28}},\;n_{29}^{F_{29}}\}.
\end{align*}
\subsection{Seleksi Sensor \textit{Node} Ujung-Ujung (Domain Waktu)}
Untuk mensimulasikan tata letak sensor terbatas, dari setiap folder kerusakan hanya diambil \textit{node} pertama dan terakhir. Subset domain waktu ini dilambangkan sebagai
\begin{equation*}
d_{i}^{\mathrm{TD}}
= \bigl\{\,n_{5i}^{F_{5i}},\;n_{5i+4}^{F_{5i+4}}\bigr\},
\quad |d_{i}^{\mathrm{TD}}| = 2.
\end{equation*}
\subsection{Ekstraksi Fitur}
Operator STFT \(\mathcal{T}\) didefinisikan untuk memetakan sinyal domain waktu mentah (vektor dengan panjang \(L=262144\)) menjadi spektrogram berukuran \(513\times513\). Langkah-langkahnya adalah:
\begin{equation*}
\begin{aligned}
\text{(1) Fungsi jendela:}\quad
w[n] &= \frac{1}{2}\Bigl(1 - \cos\frac{2\pi n}{N_w - 1}\Bigr),
\quad n=0,\ldots,N_w-1; \\[1ex]
\text{(2) STFT:}\quad
S_k(p,t)
&= \sum_{n=0}^{N_w-1}
x_k\bigl[t\,N_h + n\bigr]
\;w[n]\;
e^{-j2\pi p n / N_w},\\[1ex]
&\quad
p = 0,\ldots,512,\quad t = 0,\ldots,512.
\end{aligned}
\end{equation*}
Pengambilan magnitudo menghasilkan matriks spektrogram untuk \textit{node} \(k\) sebagai
\begin{equation*}
\widetilde n_{k}^{F_{k}}(p,t) \;=\; \bigl|S_{k}(p,t)\bigr|
\;\in\;\mathbb{R}^{513\times513}.
\end{equation*}
Dengan demikian operator STFT dapat dituliskan sebagai:
\begin{equation*}
\mathcal{T}:\; n_{k}^{F_{k}}\in\mathbb{R}^{262144}
\;\longmapsto\;
\widetilde n_{k}^{F_{k}}\in\mathbb{R}^{513\times513}.
\end{equation*}
\subsection{Subset Domain Frekuensi}
Operator \(\mathcal{T}\) diterapkan pada \textit{node} ujung-ujung yang telah dipilih, sehingga diperoleh:
\begin{equation*}
d_{i}^{\mathrm{FD}}
= \bigl\{\,
\widetilde n_{5i}^{F_{5i}},\;
\widetilde n_{5i+4}^{F_{5i+4}}
\,\bigr\},
\quad
|d_{i}^{\mathrm{FD}}| = 2.
\end{equation*}
\subsection{Pengelompokan Berdasarkan Letak Ujung Sensor}
Sensor-sensor ujung bagian bawah dilabeli sebagai Sensor A dan sensor-sensor ujung bagian atas dilabeli sebagai Sensor B. Semua data dari keenam kasus kerusakan digabungkan menjadi dua himpunan:
\begin{equation*}
\text{Sensor A}
=
\bigl\{\,
\widetilde n_{0}^{F_{0}},\,
\widetilde n_{5}^{F_{5}},\,
\dots,\,
\widetilde n_{25}^{F_{25}}
\bigr\},
\quad
\text{Sensor B}
=
\bigl\{\,
\widetilde n_{4}^{F_{4}},\,
\widetilde n_{9}^{F_{9}},\,
\dots,\,
\widetilde n_{29}^{F_{29}}
\bigr\}.
\end{equation*}
\subsection{Perakitan Baris dan Pelabelan}
Setiap spektrogram berukuran \(513\times513\) diartikan sebagai 513 vektor fitur berdimensi 513. Untuk setiap kasus kerusakan \(i\) dan sensor \(s\), vektor fitur ini direplikasi sebanyak 5 kali (indeks pengulangan \(r\in\{0,\dots,4\}\)) dan diambil masing-masing baris/kolom ke-\(t\) dengan
\begin{equation*}
\mathbf{x}_{i,s,r,t}\in\mathbb{R}^{513}.
\end{equation*}
Label skalar untuk kasus kerusakan dinyatakan sebagai
\begin{equation*}
y_{i} = i,\quad i=0,\dots,5.
\end{equation*}
Selanjutnya, fungsi \textit{slicing} didefinisikan sebagai
\begin{equation*}
\Lambda(i,s,r,t)
\;=\;
\bigl[\,
\mathbf{x}_{i,s,r,t},
\;y_{i}
\bigr]
\;\in\;\mathbb{R}^{513+1}.
\end{equation*}
\subsection{Bentuk Akhir Data untuk Pelatihan}
Seluruh baris dari enam kasus kerusakan, lima pengulangan, dan 513 potongan waktu digabungkan menjadi dataset untuk satu sisi sensor:
\begin{equation*}
\mathcal{D}^{(s)}
=
\bigl\{
\Lambda(i,s,r,t)
\;\big|\;
i=0,\dots,5,\;
r=0,\dots,4,\;
t=0,\dots,512
\bigr\}.
\end{equation*}
Karena terdapat total \(6\times5\times513 = 15\,390\) baris, dan setiap baris memiliki \(513\) fitur ditambah satu kolom label, maka bentuk akhir dari data untuk satu sisi sensor adalah:
\begin{equation*}
|\mathcal{D}^{(s)}| = 15\,390 \times 514.
\end{equation*}

View File

@@ -1,7 +1,62 @@
\chapter{Metode Penelitian}
\section{Benda Uji}
\input{chapters/id/03_methodology/materials}
\section{Alat}
\input{chapters/id/03_methodology/tools}
\input{chapters/id/03_methodology/material/index}
\input{chapters/id/03_methodology/tool/index}
\clearpage
\section{Tahapan Penelitian}
\input{chapters/id/03_methodology/steps/index}
\input{chapters/id/03_methodology/data_analysis/index}
\section{Akuisisi Data}
\input{chapters/id/03_methodology/steps/data_acquisition}
\section{Ekstraksi Fitur}
\input{chapters/id/03_methodology/steps/feature_extraction}
\section{Analisis Data}
Sebelum pelatihan model dan optimasi \textit{hyperparameter}, dilakukan analisis eksplorasi pada data untuk memahami karakteristik dan struktur fitur-fitur yang telah diproses. Pada langkah ini, reduksi dimensi dengan \gls{pca} digunakan untuk mengevaluasi seberapa besar varian yang dapat dijelaskan oleh setiap komponen utama menggunakan diagram \textit{scree}. Kemudian visualisasi data dilakukan dengan teknik reduksi dimensi non-linear \gls{tsne} \parencite{JMLR:v9:vandermaaten08a} dan \gls{pacmap} \parencite{JMLR:v22:20-1061} untuk mengamati ruang fitur (ruang berdimensi tinggi) pada ruang dua dimensi.
Visualisasi non-linear ini bertujuan untuk menilai seberapa baik fitur-fitur getaran yang diekstraksi dapat merepresentasikan kondisi struktur yang berbeda dan mengidentifikasi rentang parameter yang sesuai untuk optimasi model selanjutnya. Pemahaman ini penting dalam merancang strategi pencarian \textit{grid} yang efisien, sehingga dapat menyeimbangkan kompleksitas model dengan interpretabilitas, terutama dalam menentukan jumlah komponen utama \gls{pca} yang optimal untuk dipertahankan dalam pipeline klasifikasi.
\section{Pengembangan Model}
Model klasifikasi \gls{svm} dengan kernel \gls{rbf} digunakan untuk mengklasifikasikan lokasi kerusakan struktur. Model ini dipilih karena kemampuannya dalam menangani data non-linear dan efektivitasnya dalam berbagai aplikasi klasifikasi dengan bantuan kernel \gls{rbf} yang memungkinkan pemetaan data ke ruang fitur berdimensi lebih tinggi, sehingga memudahkan pemisahan kelas yang kompleks.
\section{Optimasi Hyperparameter}
Model \gls{svm} memiliki beberapa \textit{hyperparameter} penting yang perlu dioptimalkan untuk mencapai kinerja terbaik, yaitu parameter regulasi $C$ dan parameter kernel $\gamma$. Parameter $C$ mengontrol keseimbangan antara memaksimalkan margin dan meminimalkan kesalahan klasifikasi pada data pelatihan, sedangkan parameter $\gamma$ menentukan jangkauan pengaruh dari setiap titik pelatihan, dengan nilai kecil menghasilkan pengaruh yang luas dan nilai besar menghasilkan pengaruh yang sempit.
Dalam penelitian ini, optimasi \textit{hyperparameter} dilakukan melalui pencarian \textit{grid} dengan dua tahap: \textit{coarse grid-search} dan \textit{fine grid-search}. Nilai $C$ dan $\gamma$ yang digunakan mengikuti rentang logaritma basis 2 yang direkomendasikan oleh \textcite{Hsu2009APG, CC01a} dan diadopsi oleh beberapa penelitian populer sebelumnya \textcite{hsu2002, JMLR:v18:16-174} dengan penyesuaian interval untuk mengurangi komputasi yang dibutuhkan yang semula $C \in \{ 2^{-5}, 2^{-3}, \dots, 2^{15} \}$ dan $\gamma \in \{ 2^{-15}, 2^{-13}, \dots, 2^{3} \}$ menjadi $C \in \{ 2^{-5}, 2^{0}, 2^{5}, 2^{10}, 2^{15} \}$ dan $\gamma \in \{ 2^{-15}, 2^{-10}, 2^{-5}, 2^{0}, 2^{5} \}$.
% Before using another Machine Learning algorithm, it's beneficial to apply a dimensionality reduction technique to your training data. This can lead to faster processing, reduced storage requirements, and potentially improved performance.
Reduksi dimensi ditambahkan sebagai parameter ketiga dalam pencarian \textit{grid} untuk menentukan jumlah komponen utama \gls{pca} guna mengoptimasi waktu komputasi, performa \textit{inference}, kompleksitas model, dan ukuran model \parencite{geron2019}. Nilai-nilai komponen yang diuji adalah $n_{components} \in \{512, 256, 128, 64, 32, 16, 8, 4, 2\}$. Rentang nilai tetap ini dipilih dibandingkan rentang \textit{fractional threshold} $(0 < x < 1)$ variansi kumulatif untuk memastikan konsistensi, meningkatkan reprodusibilitas, dan memudahkan interpretasi jumlah komponen utama yang dipilih di setiap iterasi pencarian \textit{grid}.
Kemudian, \textit{cross-validation} dengan skema \textit{stratified k-fold} digunakan untuk menilai kinerja model pada setiap kombinasi \textit{hyperparameter}. Skema ini memastikan bahwa setiap lipatan memiliki proporsi kelas yang seimbang, sehingga mengurangi bias dalam penilaian model \parencite{Kohavi1995ASO}. Nilai $k$ yang digunakan pada penelitian ini adalah 5 yang berarti data pelatihan dibagi menjadi 5 bagian: 4 bagian digunakan untuk pelatihan dan 1 bagian untuk validasi secara bergantian. Proses ini diulang untuk seluruh kombinasi \textit{hyperparameter} yang berjumlah 324 kombinasi, sehingga total pelatihan model yang dilakukan adalah 675 kali.
% table showing the grid search parameters
Tabel \ref{tab:grid_search_parameters} merangkum parameter-parameter yang digunakan dalam pencarian \textit{grid}.
\begin{table}[H]
\centering
\caption{Parameter-parameter dalam pencarian \textit{grid} untuk optimasi \textit{hyperparameter} model \gls{svm}.}
\label{tab:grid_search_parameters}
\begin{tabular}{lll}
\toprule
Parameter & Nilai yang Diuji & Jumlah Nilai \\
\midrule
% kernel
kernel & \gls{rbf} & 1 \\
% regularization parameter
$C$ & $\left\{ 2^{\,x} \,\middle|\, x \in \{-5, 0, \dots, 15\} \right\}$ & 5 \\
$\gamma$ & $\left\{ 2^{\,x} \,\middle|\, x \in \{-15, -10, \dots, 5\} \right\}$ & 5 \\
$n_{components}$ & $\{512, 256, 128, 64, 32, 16, 8, 4, 2\}$ & 9 \\
\midrule
Total Kombinasi & & 135 \\
\bottomrule
\end{tabular}
\end{table}
\section{Evaluasi Model}

View File

@@ -1,5 +1,3 @@
\section{Benda Uji}
Penelitian ini menggunakan data sekunder dari \textcite{abdeljaber2017}, yang tersedia secara publik dan diperoleh melalui eksperimen menggunakan \textit{Queen's University Grandstand Simulator}. Adapun rincian data yang digunakan adalah sebagai berikut:
\begin{itemize}
@@ -20,7 +18,22 @@ Struktur dataset yang digunakan ditampilkan pada Gambar~\ref{fig:specimen-photo}
\begin{figure}[ht]
\centering
\includegraphics[width=0.75\linewidth]{chapters/img/specimen.png}
\caption{Bentuk benda uji}
\includegraphics[width=0.75\linewidth]{chapters/img/specimen.jpg}
\caption{Bentuk benda uji struktur baja dan penempatan akselerometer \textcite{abdeljaber2017}}
\label{fig:specimen-photo}
\end{figure}
\begin{figure}[ht]
\centering
\begin{minipage}[b]{0.45\linewidth}
\centering
\includegraphics[width=\linewidth]{chapters/img/i3-a-output.jpg}
\end{minipage}
\hfill
\begin{minipage}[b]{0.45\linewidth}
\centering
\includegraphics[width=\linewidth]{chapters/img/i3-b-output.jpg}
\end{minipage}
\caption{(kiri) posisi akselerometer dan skenario baut yang dikencangkan (damaged). (kanan) posisi akselerometer dan skenario baut yang dikendurkan (undamaged) \textcite{abdeljaber2017}}
\label{fig:skenario-kerusakan}
\end{figure}

View File

@@ -1,18 +1,15 @@
Dataset yang digunakan dalam penelitian ini bersumber dari basis data getaran yang dipublikasi oleh \textcite{abdeljaber2017}. Dataset tersebut dapat diakses dan diunduh melalui tautan DOI berikut:
\url{https://doi.org/10.17632/52rmx5bjcr.1}
Dataset yang digunakan dalam penelitian ini bersumber dari basis data getaran yang dipublikasi oleh \textcite{abdeljaber2017}.
Dataset terdiri dari dua folder:
\begin{itemize}
\item \texttt{Dataset A/} digunakan untuk pelatihan (training)
\item \texttt{Dataset B/} digunakan untuk pengujian (testing)
\item \texttt{Dataset A} digunakan untuk pelatihan (training)
\item \texttt{Dataset B} digunakan untuk pengujian (testing)
\end{itemize}
Setiap folder berisi 31 berkas dalam format \texttt{.TXT}, yang dinamai sesuai dengan kondisi kerusakan struktur. Pola penamaan berkas adalah sebagai berikut:
Setiap dataset berisi 31 berkas yang merepresentasikan 31 kasus:
\begin{itemize}
\item \texttt{zzzAU.TXT}, \texttt{zzzBU.TXT} struktur tanpa kerusakan (sehat)
\item \texttt{zzzAD1.TXT}, \texttt{zzzAD2.TXT}, ..., \texttt{zzzAD30.TXT} — Dataset A, kerusakan pada sambungan 130
\item \texttt{zzzBD1.TXT}, \texttt{zzzBD2.TXT}, ..., \texttt{zzzBD30.TXT} — Dataset B, kerusakan pada sambungan 130
\item Berkas pertama: struktur tanpa kerusakan ($\mathbf{U}$)
\item Berkas kedua hingga ke-31: kerusakan pada sambungan 130 ($\mathbf{D}^{(n)} , n = 1, \dots, 30$)
\end{itemize}
Sepuluh baris pertama dari setiap berkas berisi metadata yang menjelaskan konfigurasi pengujian, laju sampling, dan informasi kanal. Oleh karena itu, data deret waktu percepatan dimulai dari baris ke-11 yang berisi 31 kolom:
@@ -28,11 +25,11 @@ Setiap sinyal di-\textit{sampling} pada frekuensi $f_s = 1024$ Hz dan direkam se
&= 262144 \quad \text{sampel per kanal} \label{eq:sample}
\end{align}
Dengan demikian, setiap berkas \verb|zzzAD|$n$\verb|.TXT| dapat direpresentasikan sebagai matriks:
Dengan demikian, setiap berkas dapat direpresentasikan sebagai matriks:
\begin{equation}
\mathbf{D}^{(n)} \in \mathbb{R}^{262144 \times 30}, \quad n = 1, \dots, 30
\end{equation}
di mana $n$ mengacu pada indeks kasus (130 = kerusakan pada \textit{joint} ke-$n$), dan berkas tanpa kerusakan pada seluruh \textit{joint}, \verb|zzzAU|\verb|.TXT|, direpresentasikan dengan matriks:
di mana $n$ mengacu pada indeks kasus (130 = kerusakan pada \textit{joint} ke-$n$) berisi rekaman getaran untuk seluruh tiga puluh \textit{joint}, dan berkas tanpa kerusakan (\textit{undamaged}) pada seluruh \textit{joint} direpresentasikan dengan matriks:
\begin{equation}
\mathbf{U} \in \mathbb{R}^{262144 \times 30}
\end{equation}
@@ -52,3 +49,16 @@ Kemudian \textit{dataset} A dapat direpresentasikan sebagai matriks:
n = 1, \dots, 30
\Bigr\}.
\end{equation}
\begin{equation}
\gls{not:dataset_B}
=
\Bigl\{
\mathbf{U} \in \mathbb{R}^{262144 \times 30}
\Bigr\}
\;\cup\;
\Bigl\{
\mathbf{D}^{(n)} \in \mathbb{R}^{262144 \times 30}
\;\bigm|\;
n = 1, \dots, 30
\Bigr\}.
\end{equation}

View File

@@ -0,0 +1,402 @@
Sebelum melakukan ekstraksi fitur menggunakan \gls{stft}, persiapan data dilakukan agar tujuan penelitian dapat tercapai.
\subsection{Grid, Kode \textit{Joint}, dan Nama File}
Setiap berkas pada \textit{dataset} merekam respons getaran dari seluruh tiga puluh \textit{joint} yang dipasangi sensor akselerometer.
Berkas tanpa kerusakan direpresentasikan dengan matriks $\mathbf{U} \in \mathbb{R}^{262144 \times 30}$, sedangkan berkas dengan kerusakan pada \textit{joint} ke-$n$ dinotasikan sebagai $\mathbf{D}^{(n)} \in \mathbb{R}^{262144 \times 30}$ untuk $n = 1, \dots, 30$.
Setiap kolom pada matriks $\mathbf{U}$ maupun $\mathbf{D}^{(n)}$ merepresentasikan sinyal percepatan dari satu sensor (satu \textit{joint}), sehingga kolom ke-$j$ dapat ditulis sebagai vektor:
\begin{equation}
\mathbf{a}_{j}^{(n)} =
\begin{bmatrix}
a_{1}^{(n,j)} \\[2pt]
a_{2}^{(n,j)} \\[2pt]
\vdots \\[2pt]
a_{262144}^{(n,j)}
\end{bmatrix}
\in \mathbb{R}^{262144},
\quad
j = 1, \dots, 30,
\quad
n = 0, \dots, 30.
\end{equation}
Vektor $\mathbf{a}_{j}^{(n)}$ menunjukkan deret waktu percepatan yang diukur oleh sensor pada \textit{joint} ke-$j$ untuk kasus ke-$n$.
Dengan demikian, satu berkas $\mathbf{D}^{(n)}$ dapat ditulis sebagai himpunan dari seluruh vektor kolomnya:
\begin{equation}
\mathbf{D}^{(n)} = \bigl\{\,\mathbf{a}_{1}^{(n)}, \mathbf{a}_{2}^{(n)}, \dots, \mathbf{a}_{30}^{(n)}\,\bigr\}.
\end{equation}
Untuk kasus tanpa kerusakan, $\mathbf{U}$ dapat dinotasikan secara serupa dengan $n=0$ secara tunggal:
\begin{equation}
\mathbf{U} = \bigl\{\,\mathbf{a}_{1}^{(0)}, \mathbf{a}_{2}^{(0)}, \dots, \mathbf{a}_{30}^{(0)}\,\bigr\}.
\end{equation}
Pada setiap kasus kerusakan, \textit{joint} yang rusak berkorespondensi langsung dengan indeks berkas, yaitu:
\begin{equation}
\text{Kerusakan pada } \mathbf{D}^{(n)} \text{ terjadi di } \mathbf{a}_{n}^{(n)},
\quad n = 1, \dots, 30.
\end{equation}
% Secara ringkas, \textit{dataset} dapat dinyatakan sebagai himpunan seluruh sinyal akselerometer:
% \begin{equation}
% \mathcal{A}
% =
% \Bigl\{
% \mathbf{a}_{j}^{(n)} \in \mathbb{R}^{262144}
% \;\bigm|\;
% j = 1,\dots,30; \;
% n = 0,\dots,30
% \Bigr\}.
% \end{equation}
% Hubungan antara \textit{joint} ($j$), indeks berkas ($n$), dan kondisi kerusakan inilah yang menjadi dasar pembentukan \textit{grid} sensor serta penentuan label kelas kerusakan pada bagian selanjutnya (\autoref{sec:pemetaan-sensor}).
\subsection{Kelas Kerusakan}
\label{sec:kelas-kerusakan}
Enam kelas pertama ($d_1$$d_6$) merepresentasikan kondisi struktur dengan kerusakan pada lima \textit{joint} berturut-turut.
Setiap kelas $d_i$ berisi lima sinyal percepatan satu dimensi $\mathbf{a}_{n}^{(n)} \in \mathbb{R}^{262144}$,
masing-masing berasal dari berkas $\mathbf{D}^{(n)}$ yang merekam kondisi kerusakan pada \textit{joint} ke-$n$.
Secara umum, setiap kelas $d_i$ ($i = 1, \dots, 6$) terdiri atas lima sinyal percepatan
$\mathbf{a}_{n}^{(n)} \in \mathbb{R}^{262144}$ yang diambil dari lima berkas berturut-turut
pada rentang indeks $n = 5(i-1)+1$ hingga $5i$:
\begin{equation}\label{eq:d_i}
d_i = \bigl\{\,\mathbf{a}_{n}^{(n)}\,\bigr\}_{n = 5(i-1)+1}^{5i}\ ,
\quad i = 1, \dots, 6.
\end{equation}
Masing-masing $\mathbf{a}_{n}^{(n)}$ merupakan vektor berukuran $262144 \times 1$ yang memuat deret waktu percepatan dari
sensor akselerometer pada \textit{joint} ke-$n$ di berkas $\mathbf{D}^{(n)}$.
Sebagai contoh konkret:
\begin{align*}
d_1 &= \{\mathbf{a}_{1}^{(1)},\,\mathbf{a}_{2}^{(2)},\,\mathbf{a}_{3}^{(3)},\,\mathbf{a}_{4}^{(4)},\,\mathbf{a}_{5}^{(5)}\},\\
d_2 &= \{\mathbf{a}_{6}^{(6)},\,\mathbf{a}_{7}^{(7)},\,\mathbf{a}_{8}^{(8)},\,\mathbf{a}_{9}^{(9)},\,\mathbf{a}_{10}^{(10)}\},\\
&\;\;\vdots\\
d_6 &= \{\mathbf{a}_{26}^{(26)},\,\mathbf{a}_{27}^{(27)},\,\mathbf{a}_{28}^{(28)},\,\mathbf{a}_{29}^{(29)},\,\mathbf{a}_{30}^{(30)}\}.
\end{align*}
Dengan demikian, setiap kelas $d_i$ ($i \geq 1$) beranggotakan lima sinyal percepatan dari lima \textit{joint} yang berbeda,
masing-masing mencerminkan satu skenario kerusakan pada posisi yang berurutan di sepanjang struktur.
\subsection{Simulasi dengan Desain Sensor Terbatas}
Setiap posisi kolom pada struktur dipasangi dua sensor akselerometer,
yaitu satu di bagian atas dan satu di bagian bawah.
Hubungan antara indeks sensor atas dan bawah ditentukan berdasarkan
indeks \textit{joint} $n$ menggunakan operasi \textit{modulo} sebagai berikut:
\begin{equation}
r = ((n - 1) \bmod 5) + 1.
\end{equation}
Nilai $r$ menentukan posisi kolom (15), sehingga pasangan sensor
atasbawah dapat direpresentasikan dengan:
\begin{equation}
\bigl(
\mathbf{a}_{r}^{(n)},\;
\mathbf{a}_{r+25}^{(n)}
\bigr),
\quad r = ((n - 1) \bmod 5) + 1.
\end{equation}
Sebagai contoh, untuk $n=1$ hingga $5$ diperoleh pasangan
$(\mathbf{a}_{1}^{(1)}, \mathbf{a}_{26}^{(1)}), \dots, (\mathbf{a}_{5}^{(5)}, \mathbf{a}_{30}^{(5)})$;
sedangkan untuk $n=6$ hingga $10$ pasangan tersebut berulang
$(\mathbf{a}_{1}^{(6)}, \mathbf{a}_{26}^{(6)}), \dots, (\mathbf{a}_{5}^{(10)}, \mathbf{a}_{30}^{(10)})$, dan seterusnya.
Dengan demikian, definisi~\ref{eq:d_i} dapat dimodifikasi untuk memasukkan
hanya pasangan sensor atasbawah pada setiap kelas $d_i$ menjadi:
\begin{equation}
d_i =
\bigl\{
(\mathbf{a}_{r}^{(n)},\, \mathbf{a}_{r+25}^{(n)})
\bigr\}^{5i}_{n = 5(i-1)+1}, \quad i = 1, \dots, 6.
\end{equation}
Secara eksplisit:
\begin{align*}
d_1 &= \{(\mathbf{a}_{1}^{(1)}, \mathbf{a}_{26}^{(1)}),\,
(\mathbf{a}_{2}^{(2)}, \mathbf{a}_{27}^{(2)}),\,
(\mathbf{a}_{3}^{(3)}, \mathbf{a}_{28}^{(3)}),\,
(\mathbf{a}_{4}^{(4)}, \mathbf{a}_{29}^{(4)}),\,
(\mathbf{a}_{5}^{(5)}, \mathbf{a}_{30}^{(5)})\},\\
d_2 &= \{(\mathbf{a}_{1}^{(6)}, \mathbf{a}_{26}^{(6)}),\,
(\mathbf{a}_{2}^{(7)}, \mathbf{a}_{27}^{(7)}),\,\dots,\,
(\mathbf{a}_{5}^{(10)}, \mathbf{a}_{30}^{(10)})\},\\
&\;\;\vdots\\
d_6 &= \{(\mathbf{a}_{1}^{(26)}, \mathbf{a}_{26}^{(26)}),\,
(\mathbf{a}_{2}^{(27)}, \mathbf{a}_{27}^{(27)}),\,\dots,\,
(\mathbf{a}_{5}^{(30)}, \mathbf{a}_{30}^{(30)})\}.
\end{align*}
\subsection{Konstruksi Kelas Tanpa Kerusakan}
\label{sec:konstruksi-d0}
Untuk membentuk kelas tanpa kerusakan ($d_0$), pada setiap berkas kerusakan $\mathbf{D}^{(n)}$
ditentukan indeks kolom yang rusak
\begin{equation}
r_n = ((n - 1) \bmod 5) + 1, \qquad n=1,\dots,30.
\end{equation}
Selanjutnya, himpunan indeks kolom komplemen (sehat) didefinisikan sebagai
\begin{equation}
\mathcal{R}_c(n) = \{1,2,3,4,5\}\setminus\{r_n\}.
\end{equation}
Empat \textit{pasangan komplemen sehat} pada berkas $\mathbf{D}^{(n)}$ kemudian dibentuk sebagai
\begin{equation}
\mathcal{C}(n) =
\Bigl\{
\bigl(\mathbf{a}_{r}^{(n)},\,\mathbf{a}_{r+25}^{(n)}\bigr)
\;\Bigm|\;
r \in \mathcal{R}_c(n)
\Bigr\}, \qquad \left|\mathcal{C}(n)\right| = 4.
\end{equation}
Akhirnya, kelas tanpa kerusakan dihimpun dari seluruh berkas kerusakan:
\begin{align}
d_0 &= \bigcup_{n=1}^{30}\mathcal{C}(n) \\
&= \bigcup_{n=1}^{30}
\Bigl\{
\bigl(
\mathbf{a}_{r}^{(n)},\,\mathbf{a}_{r+25}^{(n)}
\bigr)
\;\Bigm|\;
r \in \mathcal{R}_c(n)
\Bigr\}. \\
&= \bigcup_{n=1}^{30}
\Bigl\{
\bigl(
\mathbf{a}_{r}^{(n)},\,\mathbf{a}_{r+25}^{(n)}
\bigr)
\;\Bigm|\;
r \in \{1,\dots,5\}\setminus\{r_n\}
\Bigr\}.
\end{align}
Setiap elemen $d_0$ merupakan pasangan sinyal satu dimensi berukuran
$\mathbb{R}^{262144}\times\mathbb{R}^{262144}$, dan secara keseluruhan
$|d_0| = 30 \times 4 = 120$ pasangan.
Kemudian, selain pasangan komplemen sehat dari seluruh berkas kerusakan,
kelas tanpa kerusakan juga mencakup kelima pasangan sensor atasbawah
yang berasal dari berkas \(\mathbf{U}\):
\begin{equation}
\mathcal{C}_{\mathbf{U}} \;=\;
\Bigl\{
\bigl(\mathbf{a}_{r}^{(0)},\,\mathbf{a}_{r+25}^{(0)}\bigr)
\;\Bigm|\;
r \in \{1,2,3,4,5\}
\Bigr\}.
\end{equation}
Dengan demikian, definisi akhir kelas tanpa kerusakan adalah
\begin{equation}
d_0
\;=\;
\Bigl(\,\bigcup_{n=1}^{30}\mathcal{C}(n)\Bigr)
\;\cup\;
\mathcal{C}_{\mathbf{U}}.
\end{equation}
Karena setiap \(\mathcal{C}(n)\) berisi empat pasangan (kolom komplemen
terhadap kolom rusak pada berkas \(\mathbf{D}^{(n)}\)) dan
\(\mathcal{C}_{\mathbf{U}}\) berisi lima pasangan dari \(\mathbf{U}\),
maka kardinalitasnya adalah
\begin{equation}
\bigl|d_0\bigr|
\;=\;
\underbrace{30 \times 4}_{\text{komplemen dari } \mathbf{D}^{(n)}}
\;+\;
\underbrace{5}_{\text{pasangan dari } \mathbf{U}}
\;=\; 125.
\end{equation}
\subsection{Ekstraksi Fitur dengan STFT}
\label{sec:stft-feature}
Setiap elemen pada himpunan $d_i$ ($i=0,\dots,6$) direpresentasikan sebagai pasangan sinyal percepatan
\((\mathbf{a}_{r}^{(n)}, \mathbf{a}_{r+25}^{(n)})\),
masing-masing berukuran $\mathbb{R}^{262144}$.
Transformasi Fourier Waktu-Pendek (\textit{Short-Time Fourier Transform}, STFT) diterapkan
pada kedua sinyal dalam setiap pasangan untuk memperoleh representasi domain-frekuensiwaktu
yang selanjutnya digunakan sebagai fitur model.
Kemudian, didefinisikan operator STFT \(\mathcal{S}\) untuk memetakan sinyal domain waktu mentah dengan panjang \(L=262144\) sampel menjadi sebuah spektrogram berukuran \(513\times513\). Kemudian digunakan \textit{Hanning window} dengan panjang \(N_{w}=1024\) dan hop size \(N_{h}=512\). Bentuk kompleks dari STFT adalah:
\begin{equation*}
\begin{aligned}
\text{(1) Window function:}\quad
w[n] &= \frac12\Bigl(1 - \cos\frac{2\pi n}{N_w - 1}\Bigr),
\quad n=0,\ldots,N_w-1; \\[1ex]
\text{(2) STFT:}\quad
S_k(p,t)
&= \sum_{n=0}^{N_w-1}
x_k\bigl[t\,N_h + n\bigr]
\;w[n]\;
e^{-j2\pi p n / N_w},\\
&\quad
p = 0,\ldots,512,\quad t = 0,\ldots,512.
\end{aligned}
\end{equation*}
Dengan demikian operatornya adalah
\begin{equation*}
\mathcal{S}:\; \mathbf{a}\in\mathbb{R}^{262144}
\;\longmapsto\;
\mathbf{\widetilde{a}}\in\mathbb{R}^{513\times513}.
\end{equation*}
Operator STFT diterapkan pada seluruh komponen sensor atas dan bawah
dari setiap pasangan \((\mathbf{a}_{r}^{(n)}, \mathbf{a}_{r+25}^{(n)})\)
yang terdapat pada himpunan $d_i$, untuk seluruh $i = 0, \dots, 6$:
\begin{equation}
\begin{aligned}
\mathcal{D}_A &= \bigl\{
\mathcal{S}\{\mathbf{a}_{r}^{(n)}\}
\;\bigm|\;
(\mathbf{a}_{r}^{(n)}, \mathbf{a}_{r+25}^{(n)}) \in d_i,\;
i = 0, \dots, 6
\bigr\}. \\
\mathcal{D}_B &= \bigl\{
\mathcal{S}\{\mathbf{a}_{r+25}^{(n)}\}
\;\bigm|\;
(\mathbf{a}_{r}^{(n)}, \mathbf{a}_{r+25}^{(n)}) \in d_i,\;
i = 0, \dots, 6
\bigr\}.
\end{aligned}
\end{equation}
Kedua himpunan \(\mathcal{D}_A\) dan \(\mathcal{D}_B\)
masing-masing menjadi \textit{model data} untuk dua kanal sensor
(atas dan bawah) yang digunakan pada tahap pemodelan berikutnya.
Untuk setiap pasangan \((\mathbf{a}_{r}^{(n)},\mathbf{a}_{r+25}^{(n)})\) hasil STFT adalah
\(\widetilde{\mathbf{a}}_{r}^{(n)}=\mathcal{S}\{\mathbf{a}_{r}^{(n)}\}\in\mathbb{R}^{513\times513}\),
dengan indeks waktu \(t=0,\dots,512\) dan frekuensi \(p=0,\dots,512\).
Setiap baris \(\widetilde{\mathbf{a}}_{r}^{(n)}[t]\) adalah vektor frekuensi berdimensi \(513\).
Untuk kelas kerusakan \(d_i\) ($i\ge1$) seluruh \(513\) \textit{frame} dari kelima pasangan diambil, sehingga setiap $d_i$ menghasilkan
\begin{equation}\label{eq:concat_stft_di}
\operatorname{concat}_{\text{time}}\bigl(\{\widetilde{\mathbf{a}}_{r}^{(n)}\}_{n=5(i-1)+1}^{5i}\bigr)\in\mathbb{R}^{5\cdot513\times513}=\mathbb{R}^{2565\times513}.
\end{equation}
Agar dimensi pada kelas tanpa kerusakan \(d_0\) sama dengan dimensi kelas kerusakan lain (lihat~\ref{eq:concat_stft_di}), hanya beberapa \textit{frame} dari masing-masing pasangan di \(d_0\). Dengan \(|d_0|=125\) pasangan, diperlukan pembagian:
\begin{align}
\frac{2565}{125} &= 20.52
\begin{cases}
20 \, \text{or} \\
21
\end{cases}\\
20x + 21y &= 2565,\qquad x+y=125,
\end{align}
yang memberikan \(x=60\) pasangan mengambil 20 \textit{frame} dan \(y=65\) pasangan mengambil 21 \textit{frame}.
Setelah mengurutkan pasangan \(d_0\) secara deterministik (mis. leksikografis menurut \((n,r)\)), kita ambil
\begin{itemize}
\item untuk pasangan ke-$1$ sampai ke-$60$: frame $t=0,\dots,19$ (20 baris),
\item untuk pasangan ke-$61$ sampai ke-$125$: frame $t=0,\dots,20$ (21 baris).
\end{itemize}
Maka setelah konkatenasi menurut urutan tersebut diperoleh
\(\operatorname{concat}_{\text{time}}(\mathcal{F}_{d_0})\in\mathbb{R}^{2565\times513}\),
menghasilkan dimensi yang sama dengan kelas \(d_i\).
% Pengambilan magnitudo menghasilkan matriks spektrogram pada bilah frekuensi $p$ dan \textit{frame} waktu $t$ untuk \textit{node} $k$
% \begin{equation*}
% \widetilde n_{k}^{F_{k}}(p,t) \;=\; \bigl|S_{k}(p,t)\bigr|
% \;\in\;\mathbb{R}^{513\times513}.
% \end{equation*}
% Sensor-sensor ujung bagian bawah dilabeli sebagai Sensor A dan Sensor-sensor ujung bagian atas dilabeli sebagai Sensor B. Semua enam kasus kerusakan dikumpulkan menjadi satu menghasilkan dua himpunan spektrogram, masing-masing berisi enam (kasus kerusakan):
% \begin{equation*}
% \text{Sensor A}
% =
% \bigl\{\,
% \widetilde n_{0}^{F_{0}},\,
% \widetilde n_{5}^{F_{5}},\,
% \dots,\,
% \widetilde n_{25}^{F_{25}}
% \bigr\},
% \quad
% \text{Sensor B}
% =
% \bigl\{\,
% \widetilde n_{4}^{F_{4}},\,
% \widetilde n_{9}^{F_{9}},\,
% \dots,\,
% \widetilde n_{29}^{F_{29}}
% \bigr\}.
% \end{equation*}
\subsection{Pemberian Label Data}
Seluruh vektor fitur hasil STFT pada setiap kelas $d_i$
dikonkat menjadi satu matriks fitur $\mathcal{D}\in\mathbb{R}^{17955\times513}$.
Selanjutnya, setiap baris pada $\mathcal{D}$ diberi label kelas $y_i$
sesuai asalnya:
\[
y_i =
\begin{cases}
0, & \text{jika berasal dari } d_0,\\
1, & \text{jika berasal dari } d_1,\\
\vdots\\
6, & \text{jika berasal dari } d_6.
\end{cases}
\]
Sehingga dataset berlabel dapat dituliskan sebagai:
\begin{align}
\mathcal{D}_{A,\text{labeled}}
&= \bigl\{\,(\mathbf{x}_k, y_k)\;\bigm|\;
\mathbf{x}_k \in \mathbb{R}^{513},~
y_k \in \{0,\dots,6\}
\bigr\} \\
\mathcal{D}_{B,\text{labeled}}
&= \bigl\{\,(\mathbf{x}_k, y_k)\;\bigm|\;
\mathbf{x}_k \in \mathbb{R}^{513},~
y_k \in \{0,\dots,6\}
\bigr\},
\end{align}
dengan representasi dalam bentuk \textit{dataframe} berdimensi
$\mathbb{R}^{17955\times514}$ (513 kolom fitur dan 1 kolom label).
% \subsection{Perakitan Baris dan Pelabelan}
% Setiap spektrogram berukuran \(513\times513\) diartikan sebagai 513 vektor fitur berdimensi 513. Kemudian diberikan indeks pengulangan dalam satu kasus kerusakan dengan \(r\in\{0,\dots,4\}\) dan potongan waktu dengan \(t\in\{0,\dots,512\}\). Misalkan
% \begin{equation*}
% \mathbf{x}_{i,s,r,t}\in\mathbb{R}^{513}
% \end{equation*}
% menunjukkan baris (atau kolom) ke-\(t\) dari spektrogram ke-\(r\) untuk kasus kerusakan \(i\) dan sensor \(s\). Label skalar untuk kasus kerusakan tersebut adalah
% \begin{equation*}
% y_{i} = i,\quad i=0,\dots,5.
% \end{equation*}
% Kemudian didefinisikan fungsi \textit{slicing} sebagai
% \begin{equation*}
% \Lambda(i,s,r,t)
% \;=\;
% \bigl[\,
% \mathbf{x}_{i,s,r,t},
% \;y_{i}
% \bigr]
% \;\in\;\mathbb{R}^{513+1}.
% \end{equation*}
% \subsection{Bentuk Akhir Data untuk Pelatihan}
% Seluruh baris dari enam kasus kerusakan, lima pengulangan, dan 513 potongan waktu dikumpulkan menghasilkan \textit{dataset} untuk satu sisi sensor:
% \begin{equation*}
% \mathcal{D}^{(s)}
% =
% \bigl\{
% \Lambda(i,s,r,t)
% \;\big|\;
% i=0,\dots,5,\;
% r=0,\dots,4,\;
% t=0,\dots,512
% \bigr\}.
% \end{equation*}
% Karena terdapat total \(6\times5\times513=15{,}390\) baris dan setiap baris memiliki \(513\) fitur ditambah satu kolom label, maka bentuk akhir dari data untuk satu sisi sensor yang siap digunakan untuk pelatihan adalah
% \begin{equation*}
% |\mathcal{D}^{(s)}| = 15\,390 \times 514.
% \end{equation*}

View File

@@ -1,4 +1,3 @@
\section{Tahapan Penelitian}
Alur keseluruhan penelitian ini dilakukan melalui tahapan-tahapan sebagai berikut:
\begin{figure}[H]
@@ -9,21 +8,22 @@ Alur keseluruhan penelitian ini dilakukan melalui tahapan-tahapan sebagai beriku
\end{figure}
\begin{enumerate}
\item \textbf{Akuisisi Data:} Mengunduh dataset dari \textcite{abdeljaber2017} yang berisi sinyal percepatan untuk 31 kondisi struktur (1 kondisi sehat dan 30 kondisi kerusakan tunggal).
\item Akuisisi data: mengunduh dataset dari \textcite{abdeljaber2017} yang berisi sinyal percepatan untuk 31 kondisi struktur (1 kondisi sehat dan 30 kondisi kerusakan tunggal).
% \item \textbf{Seleksi Sensor:} Memilih sinyal dari sejumlah sensor terbatas pada garis vertikal tertentu (misalnya, node 1 dan 26) untuk mensimulasikan konfigurasi sensor yang direduksi.
% \item Seleksi Sensor: Memilih sinyal dari sejumlah sensor terbatas pada garis vertikal tertentu (misalnya, node 1 dan 26) untuk mensimulasikan konfigurasi sensor yang direduksi.
\item \textbf{Pra-pemrosesan:} Melakukan normalisasi dan mengubah sinyal domain waktu mentah menjadi domain waktu-frekuensi menggunakan metode Short-Time Fourier Transform (STFT).
\item Ekstraksi fitur: melakukan normalisasi dan mengubah sinyal domain waktu mentah menjadi domain waktu-frekuensi menggunakan metode \gls{stft}.
\item \textbf{Ekstraksi Fitur:} Menghasilkan \textit{data frame} frekuensi dalam domain waktu.
\item \textit{Pre-processing} fitur: \textit{feature scaling} digunakan untuk menormalisasi data pada setiap fitur agar semua nilai berada dalam skala yang sama.
\item Reduksi dimensi: \gls{pca} digunakan untuk mengurangi kompleksitas komputasi dan menghilangkan fitur yang kurang informatif.
\item Pengembangan model: algoritma \acrshort{svm} digunakan untuk mengklasifikasikan lokasi kerusakan struktur.
\item Optimasi \textit{hyperparameter}: pencarian \textit{grid} dilakukan dengan \textit{coarse} dan \textit{fine grid-search} dan validasi silang \textit{stratified K-Fold} untuk setiap model guna meningkatkan kinerja klasifikasi.
\item \textbf{Pengembangan Model:} Membangun dan melatih model klasifikasi berbasis algoritma pemelajaran mesin klasik (SVM, LDA, Bagged Trees, Random Forest, XGBoost) untuk mengklasifikasikan lokasi kerusakan struktur.
\item \textbf{Evaluasi:} Mengevaluasi kinerja model menggunakan metrik akurasi, presisi, dan confusion matrix pada berbagai skenario pengujian.
\item Evaluasi: mengevaluasi kinerja model menggunakan metrik akurasi, presisi, dan \gls{cm} pada berbagai skenario pengujian. Evaluasi dilakukan dengan dua skema: (i) validasi silang K-Fold terstratifikasi pada setiap himpunan data, dan (ii) validasi silang antar-dataset (latih pada Dataset A, uji pada Dataset B, dan sebaliknya) untuk menilai kemampuan generalisasi lintas sumber data.
\end{enumerate}
\subsection{Akuisisi Data}
\input{chapters/id/03_methodology/steps/data_acquisition}
% \subsection{Prapemrosesan Data dan Ekstraksi Fitur}
% \section{Prapemrosesan Data dan Ekstraksi Fitur}

View File

@@ -1,7 +0,0 @@
\section{Alat}
\subsection{Alat Perangkat Keras}
\input{chapters/id/03_methodology/tool/hardware}
\subsection{Alat Perangkat Lunak}
\input{chapters/id/03_methodology/tool/software}

View File

@@ -1,11 +0,0 @@
Berikut merupakan perangkat lunak yang digunakan selama proses penelitian ini:
\begin{itemize}
\item \textbf{Python 3.11} digunakan untuk proses pra-pemrosesan data, pemodelan, dan evaluasi.
\item \textbf{NumPy 1.22.4} digunakan untuk perhitungan deret numerik.
\item \textbf{Pandas 1.5.1} digunakan untuk memanipulasi struktur data.
\item \textbf{Pandas 1.7.3} digunakan untuk memproses sinyal.
\item \textbf{Matplotlib 3.7.1} digunakan untuk menghasilkan plot data.
\item \textbf{Scikit-Learn 1.5.1} digunakan untuk membangun dan melatih model dengan algoritma pemelajaran mesin klasik.
\item \textbf{Jupyter Notebook} digunakan untuk pelatihan model dan percobaan eksperimental secara interaktif.
\end{itemize}

View File

@@ -1,3 +1,4 @@
\subsection{Alat Perangkat Keras}
Data getaran struktur yang digunakan dalam penelitian ini diperoleh dari penelitian oleh \textcite{abdeljaber2017}, yang dilakukan menggunakan simulator struktur baja Grandstand di Queens University. Dalam eksperimen tersebut, struktur baja dipasang dengan akselerometer pada setiap sambungan-sambungan (\textit{joints}). Rangkaian perangkat keras yang digunakan untuk pengambilan data meliputi:
\begin{itemize}
@@ -33,7 +34,21 @@ Adapun sumberdaya komputasi yang digunakan untuk pemrosesan semua data dan pemod
\end{figure}
\begin{figure}[H]
\centering
\includegraphics[width=0.7\textwidth]{chapters/img/datalogger.png}
\includegraphics[width=0.7\textwidth]{chapters/img/datalogger.jpg}
\caption{Perangkat akuisisi data (DT9857E-16) dan penguat daya SmartAmp 2100E21-400}
\label{fig:datalogger}
\end{figure}
\subsection{Alat Perangkat Lunak}
Berikut merupakan perangkat lunak yang digunakan selama proses penelitian ini:
\begin{itemize}
\item \textbf{Python 3.11} digunakan untuk proses pra-pemrosesan data, pemodelan, dan evaluasi.
\item \textbf{NumPy 1.22.4} digunakan untuk perhitungan deret numerik.
\item \textbf{Pandas 1.5.1} digunakan untuk memanipulasi struktur data.
\item \textbf{Pandas 1.7.3} digunakan untuk memproses sinyal.
\item \textbf{Matplotlib 3.7.1} digunakan untuk menghasilkan plot data.
\item \textbf{Scikit-Learn 1.5.1} digunakan untuk membangun dan melatih model dengan algoritma pemelajaran mesin klasik.
\item \textbf{Jupyter Notebook} digunakan untuk pelatihan model dan percobaan eksperimental secara interaktif.
\end{itemize}

View File

@@ -0,0 +1,149 @@
\chapter{Hasil Penelitian dan Pembahasan}
\section{Pendahuluan Singkat}
Bab ini menyajikan hasil evaluasi model untuk prediksi lokasi kerusakan berbasis fitur domain waktu dan frekuensi yang diekstrak dari STFT. Tujuan utama evaluasi adalah menguji apakah kombinasi fitur waktu--frekuensi dapat meningkatkan kinerja klasifikasi dibandingkan masing-masing domain secara terpisah, serta menilai kelayakan pendekatan sensor terbatas untuk penerapan di lapangan.
Secara ringkas, kami menampilkan: (i) performa utama pada data uji, (ii) analisis per-kelas dan pola kesalahan, (iii) studi ablation dan sensitivitas mencakup fitur, parameter STFT, serta jumlah/posisi sensor, dan (iv) uji robustness serta implikasi implementasi. Detail metodologi eksperimen telah diuraikan pada Bab Metodologi; bagian ini berfokus pada temuan empiris dan interpretasinya.
\section{Rancangan Evaluasi}
\subsection{Dataset dan Pembagian Data}
Evaluasi dilakukan pada himpunan data berlabel yang terdiri dari \textit{[N\_total]} sampel dengan \textit{[K]} kelas lokasi kerusakan. Data dibagi menjadi \textit{[N\_train]} sampel pelatihan, \textit{[N\_val]} validasi, dan \textit{[N\_test]} pengujian, atau menggunakan skema \textit{k}-fold dengan \textit{[k]} lipatan (rincian skema dipertahankan konsisten dengan Bab Metodologi). Potensi ketidakseimbangan kelas dicatat dengan rasio maksimum/minimum sekitar \textit{[imbalance\_ratio:1]}.
\subsection{Pra-pemrosesan dan Ekstraksi Fitur}
Sinyal diproses dengan normalisasi \textit{[jenis normalisasi/standarisasi]}, dan augmentasi \textit{[jenis augmentasi, jika ada]}. Fitur domain waktu dan frekuensi diekstraksi; komponen frekuensi diperoleh dari STFT dengan window Hann, ukuran jendela \textit{[win\_size]} sampel, overlap
\subsection{Model dan Metrik Evaluasi}
Model utama adalah SVM dengan kernel \textit{[RBF/Linear]} dan pemilihan hyperparameter (\textit{C}, \textit{gamma}) melalui \textit{[grid/random/bayes] search} pada data validasi. Metrik evaluasi meliputi Akurasi, Macro-F1, Macro-Precision, Macro-Recall, Balanced Accuracy, serta Cohen's Kappa. Untuk analisis multi-kelas yang lebih tajam, kami juga melaporkan metrik per-kelas dan Confusion Matrix.
\section{Hasil Utama}
\begin{table}[htbp]
\centering
\caption{Hasil utama pada data uji untuk beberapa konfigurasi fitur dan model. Nilai diisi dari eksperimen akhir.}
\label{tab:main-results}
\begin{tabular}{lccc}
\hline
Konfigurasi & Akurasi & Macro-F1 & Kappa \\
\hline
Time-domain + SVM-RBF & -- & -- & -- \\
Freq-domain + SVM-RBF & -- & -- & -- \\
Kombinasi (Time+Freq) + SVM-RBF & \textbf{--} & \textbf{--} & \textbf{--} \\
\hline
\end{tabular}
\end{table}
Konfigurasi terbaik diperoleh pada kombinasi fitur waktu--frekuensi dengan SVM-\textit{[kernel]}, menghasilkan Akurasi sebesar \textit{[acc\_best]}\%, Macro-F1 sebesar \textit{[f1\_best]}\%, dan Kappa sebesar \textit{[kappa\_best]} pada data uji (Tabel~\ref{tab:main-results}). Dibandingkan baseline domain waktu saja, Macro-F1 meningkat sekitar \textit{[delta\_f1\_time]} poin persentase; dibandingkan domain frekuensi saja, peningkatan mencapai \textit{[delta\_f1\_freq]} poin persentase. Hasil ini mengindikasikan bahwa informasi pelengkap antara dinamika temporal dan spektral berkontribusi nyata terhadap separabilitas kelas.
Performa pada metrik Balanced Accuracy dan Macro-Recall juga konsisten, menandakan model tidak terlalu bias pada kelas mayoritas. Nilai Kappa \textit{[kappa\_best]} mengindikasikan tingkat kesepakatan yang \textit{[moderat/tinggi]} melampaui kebetulan.
\section{Analisis Per-Kelas dan Kesalahan}
\begin{figure}[htbp]
\centering
% \includegraphics[width=0.8\textwidth]{img/confusion_matrix.pdf}
\fbox{\begin{minipage}[c][0.30\textheight][c]{0.80\textwidth}\centering
Placeholder Confusion Matrix
\end{minipage}}
\caption{Confusion matrix pada data uji. Isikan gambar aktual dari pipeline evaluasi.}
\label{fig:cm}
\end{figure}
\begin{table}[htbp]
\centering
\caption{Metrik per-kelas pada data uji. Gunakan bila diperlukan untuk melengkapi Confusion Matrix.}
\label{tab:per-class}
\begin{tabular}{lccc}
\hline
Kelas & Precision & Recall & F1 \\
\hline
A & -- & -- & -- \\
B & -- & -- & -- \\
C & -- & -- & -- \\
% ... tambah baris sesuai jumlah kelas
\hline
\end{tabular}
\end{table}
Confusion Matrix pada Gambar~\ref{fig:cm} menunjukkan pola salah klasifikasi yang dominan antara kelas \textit{[kelas\_A]} dan \textit{[kelas\_B]}. Dua kelas ini memiliki respons spektral yang mirip pada rentang \textit{[f\_low--f\_high]} Hz, sehingga kesalahan terutama terjadi ketika amplitudo sinyal rendah atau \textit{signal-to-noise ratio} menurun. Sebaliknya, kelas \textit{[kelas\_C]} memperlihatkan separasi yang baik dengan Recall \textit{[recall\_C]}\% dan F1 \textit{[f1\_C]}\% (Tabel~\ref{tab:per-class}).
Analisis kesalahan kasus-per-kasus menunjukkan bahwa \textit{[proporsi\_\%]}\% prediksi keliru terjadi pada sampel dengan \textit{[ciri sinyal/condisi uji]} dan \textit{[konfigurasi sensor]}. Hal ini menyarankan perlunya \textit{[strategi perbaikan, mis. penambahan fitur bandpass tertentu atau penyeimbangan kelas]}.
\section{Ablasi dan Sensitivitas}
\subsection{Ablasi Fitur}
\begin{figure}[htbp]
\centering
\includegraphics[width=0.75\textwidth]{example-image-a}
\fbox{\begin{minipage}[c][0.22\textheight][c]{0.70\textwidth}\centering
Placeholder Bar Chart: Time vs Freq vs Kombinasi
\end{minipage}}
\caption{Perbandingan performa berdasarkan jenis fitur.}
\label{fig:ablation-features}
\end{figure}
Studi ablation pada Gambar~\ref{fig:ablation-features} menegaskan bahwa kombinasi fitur memberikan peningkatan \textit{[delta\_ablation]} poin persentase pada Macro-F1 dibandingkan fitur domain waktu saja. Hal ini mengindikasikan bahwa karakteristik harmonik dan komponen frekuensi transien yang ditangkap STFT berkontribusi pada pemisahan kelas yang lebih baik.
\subsection{Parameter STFT dan Windowing}
\begin{table}[htbp]
\centering
\caption{Sensitivitas terhadap parameter STFT pada data validasi.}
\label{tab:stft-sensitivity}
\begin{tabular}{lcccc}
\hline
Window & n\_fft & Overlap & Akurasi & Macro-F1 \\
\hline
Hann & -- & -- & -- & -- \\
Hann & -- & -- & -- & -- \\
(Tanpa window) & -- & -- & -- & -- \\
\hline
\end{tabular}
\end{table}
Eksperimen sensitivitas pada Tabel~\ref{tab:stft-sensitivity} memperlihatkan adanya \textit{trade-off} antara resolusi waktu dan frekuensi. Peningkatan \textit{n\_fft} cenderung memperhalus resolusi frekuensi namun mengurangi ketelitian temporal, sedangkan overlap yang lebih besar \textit{[overlap\_\% range]}\% membantu stabilitas estimasi fitur pada sinyal bising. Penggunaan window Hann memberikan kenaikan Macro-F1 sekitar \textit{[delta\_hann]} poin dibanding tanpa window, menegaskan peran pengurangan \textit{spectral leakage}.
\subsection{Pendekatan Sensor Terbatas}
\begin{figure}[htbp]
\centering
% placeholder
\includegraphics[width=0.75\textwidth]{example-image-a}
\fbox{\begin{minipage}[c][0.22\textheight][c]{0.70\textwidth}\centering
Placeholder: Performa vs Jumlah/Posisi Sensor
\end{minipage}}
\caption{Dampak jumlah/konfigurasi sensor terhadap performa.}
\label{fig:sensor-limited}
\end{figure}
Hasil pada Gambar~\ref{fig:sensor-limited} menunjukkan bahwa pengurangan dari \textit{[n\_sensors\_full]} menjadi \textit{[n\_sensors\_min]} sensor hanya menurunkan Macro-F1 sekitar \textit{[delta\_perf\_sensors]} poin, khususnya ketika sensor ditempatkan pada \textit{[posisi sensor terbaik]}. Ini mengindikasikan bahwa pendekatan sensor terbatas tetap layak untuk implementasi dengan biaya perangkat keras yang lebih rendah, selama pemilihan posisi sensor dioptimalkan.
\section{Robustness dan Generalisasi}
\begin{table}[htbp]
\centering
\caption{Ringkasan kinerja antar-fold (jika menggunakan k-fold).}
\label{tab:kfold}
\begin{tabular}{lcc}
\hline
Metrik & Rata-rata & Deviasi Standar \\
\hline
Macro-F1 & -- & -- \\
Akurasi & -- & -- \\
\hline
\end{tabular}
\end{table}
Pada skema validasi silang \textit{k}-fold, variasi performa relatif rendah dengan simpangan baku Macro-F1 sebesar \textit{[std\_f1]} (Tabel~\ref{tab:kfold}), menandakan stabilitas model terhadap variasi subset data. Penambahan noise sintetis pada tingkat SNR \textit{[snr levels]} menunjukkan penurunan performa yang \textit{[ringan/sedang/bermakna]} sekitar \textit{[delta\_snr]} poin; augmentasi \textit{[jenis augmentasi]} membantu mengkompensasi sebagian penurunan tersebut.
Pada skenario \textit{domain shift} \textit{[nama skenario]}, model mempertahankan Macro-F1 sebesar \textit{[f1\_shift]}\%, yang menunjukkan \textit{[derajat generalisasi]} terhadap kondisi yang berbeda dari data pelatihan.
\section{Perbandingan dengan Pustaka/Baseline}
Temuan kami selaras dengan tren yang dilaporkan oleh \textcite{abdeljaber2017}, khususnya mengenai pentingnya informasi frekuensi untuk mendeteksi lokasi kerusakan. Meskipun demikian, perbedaan \textit{setup} eksperimen (\textit{[jenis struktur/skenario uji]}, konfigurasi sensor, dan definisi kelas) membuat angka metrik tidak dapat dibandingkan secara langsung. Oleh karena itu, perbandingan difokuskan pada pola dan arah peningkatan, bukan nilai absolut.
\section{Kompleksitas dan Implementasi}
Model SVM dengan fitur \textit{[jenis fitur terbaik]} menawarkan waktu inferensi sekitar \textit{[t\_infer\_ms]} ms per sampel pada \textit{[perangkat/CPU/GPU]}. Tahap ekstraksi STFT memerlukan \textit{[t\_stft\_ms]} ms per segmen dengan parameter \textit{[n\_fft]}, overlap \textit{[overlap\_\%]}\%, dan window Hann. Secara keseluruhan, latensi ujung-ke-ujung diperkirakan \textit{[t\_end2end\_ms]} ms, yang \textit{[memadai/belum memadai]} untuk aplikasi \textit{[real-time/near real-time]}.
Dengan \textit{[n\_sensors\_min]} sensor, kebutuhan komputasi dan bandwidth data berkurang \textit{[proporsi pengurangan]} dibanding konfigurasi penuh, yang memperbaiki kelayakan implementasi lapangan tanpa mengorbankan akurasi secara signifikan.
\section{Ringkasan Bab}
\begin{itemize}
\item Konfigurasi terbaik (\textit{[konfigurasi terbaik]}) mencapai Akurasi \textit{[acc\_best]}\%, Macro-F1 \textit{[f1\_best]}\%, dan Kappa \textit{[kappa\_best]} pada data uji.
\item Kesalahan dominan terjadi antara kelas \textit{[kelas\_A]} dan \textit{[kelas\_B]} karena kemiripan respons pada \textit{[f\_low--f\_high]} Hz; strategi \textit{[strategi perbaikan]} direkomendasikan.
\item Ablasi menegaskan manfaat kombinasi fitur; window Hann dan parameter STFT \textit{[n\_fft, overlap]} memberi keseimbangan resolusi yang baik.
\item Pendekatan sensor terbatas dengan \textit{[n\_sensors\_min]} sensor tetap layak dengan penurunan performa \textit{[delta\_perf\_sensors]} poin.
\item Model menunjukkan stabilitas antar-fold (\textit{[std\_f1]}) dan ketahanan \textit{[terhadap noise/domain shift]} dengan penyesuaian \textit{[augmentasi/penalaan]}.
\end{itemize}

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a2b429e2b45db4752eaaa769f35d9de0455f67a3c540b22fe40940bfb09847fb
size 69364

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:231eecf31113cb6e602ef94d0316dccc2da11a0843fc0cf1c07fae280931dd43
size 370078

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 132 B

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:976b59a668753aa5526f1f535d41cc1f8d14b2bd3f7af0cad79367e4c0bd056b
size 101919

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0db69ce2a557747b859a529273c14c542030f7cebb99aa0e3c0286f2dee2625b
size 103958

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:56dcc0f238037545e4a99c075a77d585782b38ff0fad3e52bb0fc986b5fe9e37
size 212650

Binary file not shown.

Before

Width:  |  Height:  |  Size: 678 KiB

After

Width:  |  Height:  |  Size: 131 B

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:07e0b699840fc4d5ff7bb9530602f7a13008cdc193c7c6c334790efd52d87a3e
size 668812

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:960d28df41743999c83e7a06c917c3b30e2b6eb37a21e6ffe93358bc822f1cfd
size 641584

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:657fed97c4027f88f7831c02b6728209769bae7a536e163491f5665923bdb530
size 294823

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:eb83322b531f13a6014add8852fa934b35eedcfa40ced0c5bf952989d2de1ac3
size 284499

View File

@@ -13,4 +13,10 @@
\newacronym{shm}{SHM}{structural health monitoring}
\newacronym{fea}{FEA}{finite element analysis}
\newacronym{1d-cnn}{1-D CNN}{\textit{One-Dimensional Convolutional Neural Network}}
\newacronym{pca}{PCA}{\textit{principal component analysis}}
\newacronym{pca}{PCA}{\textit{principal component analysis}}
% rbf
\newacronym{rbf}{RBF}{\textit{radial basis function}}
% cm
\newacronym{cm}{CM}{\textit{confusion matrix}}
\newacronym{tsne}{t-SNE}{\textit{t-distributed stochastic neighbor embedding}}
\newacronym{pacmap}{PaCMAP}{\textit{Pairwise Controlled Manifold Approximation Projection}}

View File

@@ -1,4 +1,4 @@
\documentclass[draftmark]{thesis}
\documentclass[draftmark,draft]{thesis}
\title{Prediksi Lokasi Kerusakan dengan Machine Learning}
\author{Rifqi Damar Panuluh}
\date{\today}
@@ -42,10 +42,10 @@
% \pagestyle{fancyplain}
\mainmatter
% Include content
\include{chapters/01_introduction}
\include{chapters/id/01_introduction}
\include{chapters/id/02_literature_review/index}
\include{chapters/id/03_methodology/index}
% \include{chapters/04_results}
\include{chapters/id/04_results}
% \include{content/conclusion}
\backmatter
% Bibliography

View File

@@ -1,3 +1,8 @@
% \usepackage{amsmath, amssymb, siunitx}
% \usepackage{caption}
% \usepackage{subcaption}
\usepackage{subcaption}
\usepackage{booktabs}
\usepackage{algorithm}
\usepackage{algpseudocode}
% \usepackage{algorithm2e}
\usepackage{xparse} % for nicer command definitions if desired

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:eea5cdc7561045704ecc8e9092d5a78d16743b4e7a2a3976ca2476f823b60baf
size 31566

View File

@@ -0,0 +1,244 @@
%% Creator: Inkscape 1.2.2 (b0a8486541, 2022-12-01), www.inkscape.org
%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010
%% Accompanies image file 'cm-pipeline-sensor-a_svg-tex.pdf' (pdf, eps, ps)
%%
%% To include the image in your LaTeX document, write
%% \input{<filename>.pdf_tex}
%% instead of
%% \includegraphics{<filename>.pdf}
%% To scale the image, write
%% \def\svgwidth{<desired width>}
%% \input{<filename>.pdf_tex}
%% instead of
%% \includegraphics[width=<desired width>]{<filename>.pdf}
%%
%% Images with a different path to the parent latex file can
%% be accessed with the `import' package (which may need to be
%% installed) using
%% \usepackage{import}
%% in the preamble, and then including the image with
%% \import{<path to file>}{<filename>.pdf_tex}
%% Alternatively, one can specify
%% \graphicspath{{<path to file>/}}
%%
%% For more information, please see info/svg-inkscape on CTAN:
%% http://tug.ctan.org/tex-archive/info/svg-inkscape
%%
\begingroup%
\makeatletter%
\providecommand\color[2][]{%
\errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}%
\renewcommand\color[2][]{}%
}%
\providecommand\transparent[1]{%
\errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}%
\renewcommand\transparent[1]{}%
}%
\providecommand\rotatebox[2]{#2}%
\newcommand*\fsize{\dimexpr\f@size pt\relax}%
\newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}%
\ifx\svgwidth\undefined%
\setlength{\unitlength}{864bp}%
\ifx\svgscale\undefined%
\relax%
\else%
\setlength{\unitlength}{\unitlength * \real{\svgscale}}%
\fi%
\else%
\setlength{\unitlength}{\svgwidth}%
\fi%
\global\let\svgwidth\undefined%
\global\let\svgscale\undefined%
\makeatother%
\begin{picture}(1,0.41666667)%
\lineheight{1}%
\setlength\tabcolsep{0pt}%
\put(0,0){\includegraphics[width=\unitlength,page=1]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.06994441,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=2]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.12124528,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=3]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.17254614,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=4]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.22384702,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}3\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=5]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.27514788,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}4\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=6]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.32644876,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}5\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=7]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.37774962,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}6\end{tabular}}}}%
\put(0.22384702,0.00433141){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}Predicted label\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=8]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.03619213,0.36611731){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=9]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.03619213,0.31481644){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}1\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=10]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.03619213,0.26351558){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}2\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=11]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.03619213,0.21221472){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}3\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=12]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.03619213,0.16091384){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}4\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=13]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.03619213,0.10961296){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}5\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=14]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.03619213,0.0583121){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}6\end{tabular}}}}%
\put(0.02179145,0.21661195){\rotatebox{90}{\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}True label\end{tabular}}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=15]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.06994441,0.36732083){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2328\end{tabular}}}}%
\put(0.12124528,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}33\end{tabular}}}}%
\put(0.17254614,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}8\end{tabular}}}}%
\put(0.22384702,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}27\end{tabular}}}}%
\put(0.27514788,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}61\end{tabular}}}}%
\put(0.32644876,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}20\end{tabular}}}}%
\put(0.37774962,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}88\end{tabular}}}}%
\put(0.06994441,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}15\end{tabular}}}}%
\put(0.12124528,0.31601996){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2546\end{tabular}}}}%
\put(0.17254614,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.22384702,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.27514788,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.32644876,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.37774962,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}4\end{tabular}}}}%
\put(0.06994441,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}5\end{tabular}}}}%
\put(0.12124528,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.17254614,0.2647191){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2560\end{tabular}}}}%
\put(0.22384702,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.27514788,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.32644876,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.37774962,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.06994441,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}5\end{tabular}}}}%
\put(0.12124528,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.17254614,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.22384702,0.21341824){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2560\end{tabular}}}}%
\put(0.27514788,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.32644876,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.37774962,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.06994441,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}15\end{tabular}}}}%
\put(0.12124528,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2\end{tabular}}}}%
\put(0.17254614,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.22384702,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1\end{tabular}}}}%
\put(0.27514788,0.16211736){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2430\end{tabular}}}}%
\put(0.32644876,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.37774962,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}117\end{tabular}}}}%
\put(0.06994441,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}6\end{tabular}}}}%
\put(0.12124528,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.17254614,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.22384702,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1\end{tabular}}}}%
\put(0.27514788,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.32644876,0.1108165){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2558\end{tabular}}}}%
\put(0.37774962,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.06994441,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}16\end{tabular}}}}%
\put(0.12124528,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.17254614,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.22384702,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.27514788,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}98\end{tabular}}}}%
\put(0.32644876,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.37774962,0.05951564){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2451\end{tabular}}}}%
\put(0.22384702,0.40310943){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}Sensor A\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=16]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.56369442,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=17]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.61499525,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=18]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.66629615,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=19]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.71759704,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}3\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=20]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.76889787,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}4\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=21]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.82019877,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}5\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=22]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.87149959,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}6\end{tabular}}}}%
\put(0.71759704,0.00433141){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}Predicted label\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=23]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.52994212,0.36611731){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=24]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.52994212,0.31481644){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}1\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=25]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.52994212,0.26351558){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}2\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=26]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.52994212,0.21221472){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}3\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=27]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.52994212,0.16091384){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}4\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=28]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.52994212,0.10961296){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}5\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=29]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.52994212,0.0583121){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}6\end{tabular}}}}%
\put(0.51554145,0.21661197){\rotatebox{90}{\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}True label\end{tabular}}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=30]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.56369442,0.36732083){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2326\end{tabular}}}}%
\put(0.61499525,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}96\end{tabular}}}}%
\put(0.66629615,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}39\end{tabular}}}}%
\put(0.71759704,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}31\end{tabular}}}}%
\put(0.76889787,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}40\end{tabular}}}}%
\put(0.82019877,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}8\end{tabular}}}}%
\put(0.87149959,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}25\end{tabular}}}}%
\put(0.56369442,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}26\end{tabular}}}}%
\put(0.61499525,0.31601996){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2530\end{tabular}}}}%
\put(0.66629615,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.71759704,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.76889787,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}6\end{tabular}}}}%
\put(0.82019877,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.87149959,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}3\end{tabular}}}}%
\put(0.56369442,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}7\end{tabular}}}}%
\put(0.61499525,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.66629615,0.2647191){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2550\end{tabular}}}}%
\put(0.71759704,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}6\end{tabular}}}}%
\put(0.76889787,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1\end{tabular}}}}%
\put(0.82019877,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1\end{tabular}}}}%
\put(0.87149959,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.56369442,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}16\end{tabular}}}}%
\put(0.61499525,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.66629615,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}3\end{tabular}}}}%
\put(0.71759704,0.21341824){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2541\end{tabular}}}}%
\put(0.76889787,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}5\end{tabular}}}}%
\put(0.82019877,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.87149959,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.56369442,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}22\end{tabular}}}}%
\put(0.61499525,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}13\end{tabular}}}}%
\put(0.66629615,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.71759704,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1\end{tabular}}}}%
\put(0.76889787,0.16211736){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2528\end{tabular}}}}%
\put(0.82019877,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.87149959,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1\end{tabular}}}}%
\put(0.56369442,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}5\end{tabular}}}}%
\put(0.61499525,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.66629615,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.71759704,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.76889787,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.82019877,0.1108165){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2560\end{tabular}}}}%
\put(0.87149959,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.56369442,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}14\end{tabular}}}}%
\put(0.61499525,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1\end{tabular}}}}%
\put(0.66629615,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.71759704,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.76889787,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.82019877,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.87149959,0.05951564){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2550\end{tabular}}}}%
\put(0.71759704,0.40310943){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}Sensor B\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=31]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.4527015,0.02466){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=32]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.4527015,0.09792356){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}500\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=33]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.4527015,0.17118712){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}1000\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=34]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.4527015,0.24445068){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}1500\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=35]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.4527015,0.31771423){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}2000\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=36]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.4527015,0.3909778){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}2500\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=37]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.94645147,0.02466){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=38]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.94645147,0.09792356){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}500\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=39]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.94645147,0.17118712){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}1000\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=40]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.94645147,0.24445068){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}1500\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=41]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.94645147,0.31771423){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}2000\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=42]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\put(0.94645147,0.3909778){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}2500\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=43]{cm-pipeline-sensor-a_svg-tex.pdf}}%
\end{picture}%
\endgroup%

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:232f3b729d4603eefa20426355a36501d37b4a8e9d3ccf537ced1b4aa6e37078
size 31566

View File

@@ -0,0 +1,244 @@
%% Creator: Inkscape 1.2.2 (b0a8486541, 2022-12-01), www.inkscape.org
%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010
%% Accompanies image file 'cm-pipeline_svg-tex.pdf' (pdf, eps, ps)
%%
%% To include the image in your LaTeX document, write
%% \input{<filename>.pdf_tex}
%% instead of
%% \includegraphics{<filename>.pdf}
%% To scale the image, write
%% \def\svgwidth{<desired width>}
%% \input{<filename>.pdf_tex}
%% instead of
%% \includegraphics[width=<desired width>]{<filename>.pdf}
%%
%% Images with a different path to the parent latex file can
%% be accessed with the `import' package (which may need to be
%% installed) using
%% \usepackage{import}
%% in the preamble, and then including the image with
%% \import{<path to file>}{<filename>.pdf_tex}
%% Alternatively, one can specify
%% \graphicspath{{<path to file>/}}
%%
%% For more information, please see info/svg-inkscape on CTAN:
%% http://tug.ctan.org/tex-archive/info/svg-inkscape
%%
\begingroup%
\makeatletter%
\providecommand\color[2][]{%
\errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}%
\renewcommand\color[2][]{}%
}%
\providecommand\transparent[1]{%
\errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}%
\renewcommand\transparent[1]{}%
}%
\providecommand\rotatebox[2]{#2}%
\newcommand*\fsize{\dimexpr\f@size pt\relax}%
\newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}%
\ifx\svgwidth\undefined%
\setlength{\unitlength}{864bp}%
\ifx\svgscale\undefined%
\relax%
\else%
\setlength{\unitlength}{\unitlength * \real{\svgscale}}%
\fi%
\else%
\setlength{\unitlength}{\svgwidth}%
\fi%
\global\let\svgwidth\undefined%
\global\let\svgscale\undefined%
\makeatother%
\begin{picture}(1,0.41666667)%
\lineheight{1}%
\setlength\tabcolsep{0pt}%
\put(0,0){\includegraphics[width=\unitlength,page=1]{cm-pipeline_svg-tex.pdf}}%
\put(0.06994441,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=2]{cm-pipeline_svg-tex.pdf}}%
\put(0.12124528,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=3]{cm-pipeline_svg-tex.pdf}}%
\put(0.17254614,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=4]{cm-pipeline_svg-tex.pdf}}%
\put(0.22384702,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}3\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=5]{cm-pipeline_svg-tex.pdf}}%
\put(0.27514788,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}4\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=6]{cm-pipeline_svg-tex.pdf}}%
\put(0.32644876,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}5\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=7]{cm-pipeline_svg-tex.pdf}}%
\put(0.37774962,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}6\end{tabular}}}}%
\put(0.22384702,0.00433141){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}Predicted label\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=8]{cm-pipeline_svg-tex.pdf}}%
\put(0.03619213,0.36611731){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=9]{cm-pipeline_svg-tex.pdf}}%
\put(0.03619213,0.31481644){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}1\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=10]{cm-pipeline_svg-tex.pdf}}%
\put(0.03619213,0.26351558){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}2\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=11]{cm-pipeline_svg-tex.pdf}}%
\put(0.03619213,0.21221472){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}3\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=12]{cm-pipeline_svg-tex.pdf}}%
\put(0.03619213,0.16091384){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}4\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=13]{cm-pipeline_svg-tex.pdf}}%
\put(0.03619213,0.10961296){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}5\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=14]{cm-pipeline_svg-tex.pdf}}%
\put(0.03619213,0.0583121){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}6\end{tabular}}}}%
\put(0.02179145,0.21661195){\rotatebox{90}{\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}True label\end{tabular}}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=15]{cm-pipeline_svg-tex.pdf}}%
\put(0.06994441,0.36732083){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2328\end{tabular}}}}%
\put(0.12124528,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}33\end{tabular}}}}%
\put(0.17254614,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}8\end{tabular}}}}%
\put(0.22384702,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}27\end{tabular}}}}%
\put(0.27514788,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}61\end{tabular}}}}%
\put(0.32644876,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}20\end{tabular}}}}%
\put(0.37774962,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}88\end{tabular}}}}%
\put(0.06994441,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}15\end{tabular}}}}%
\put(0.12124528,0.31601996){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2546\end{tabular}}}}%
\put(0.17254614,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.22384702,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.27514788,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.32644876,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.37774962,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}4\end{tabular}}}}%
\put(0.06994441,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}5\end{tabular}}}}%
\put(0.12124528,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.17254614,0.2647191){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2560\end{tabular}}}}%
\put(0.22384702,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.27514788,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.32644876,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.37774962,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.06994441,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}5\end{tabular}}}}%
\put(0.12124528,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.17254614,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.22384702,0.21341824){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2560\end{tabular}}}}%
\put(0.27514788,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.32644876,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.37774962,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.06994441,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}15\end{tabular}}}}%
\put(0.12124528,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2\end{tabular}}}}%
\put(0.17254614,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.22384702,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1\end{tabular}}}}%
\put(0.27514788,0.16211736){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2430\end{tabular}}}}%
\put(0.32644876,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.37774962,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}117\end{tabular}}}}%
\put(0.06994441,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}6\end{tabular}}}}%
\put(0.12124528,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.17254614,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.22384702,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1\end{tabular}}}}%
\put(0.27514788,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.32644876,0.1108165){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2558\end{tabular}}}}%
\put(0.37774962,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.06994441,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}16\end{tabular}}}}%
\put(0.12124528,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.17254614,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.22384702,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.27514788,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}98\end{tabular}}}}%
\put(0.32644876,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.37774962,0.05951564){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2451\end{tabular}}}}%
\put(0.22384702,0.40310943){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}Sensor A\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=16]{cm-pipeline_svg-tex.pdf}}%
\put(0.56369442,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=17]{cm-pipeline_svg-tex.pdf}}%
\put(0.61499525,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=18]{cm-pipeline_svg-tex.pdf}}%
\put(0.66629615,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=19]{cm-pipeline_svg-tex.pdf}}%
\put(0.71759704,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}3\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=20]{cm-pipeline_svg-tex.pdf}}%
\put(0.76889787,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}4\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=21]{cm-pipeline_svg-tex.pdf}}%
\put(0.82019877,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}5\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=22]{cm-pipeline_svg-tex.pdf}}%
\put(0.87149959,0.02016258){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}6\end{tabular}}}}%
\put(0.71759704,0.00433141){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}Predicted label\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=23]{cm-pipeline_svg-tex.pdf}}%
\put(0.52994212,0.36611731){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=24]{cm-pipeline_svg-tex.pdf}}%
\put(0.52994212,0.31481644){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}1\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=25]{cm-pipeline_svg-tex.pdf}}%
\put(0.52994212,0.26351558){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}2\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=26]{cm-pipeline_svg-tex.pdf}}%
\put(0.52994212,0.21221472){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}3\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=27]{cm-pipeline_svg-tex.pdf}}%
\put(0.52994212,0.16091384){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}4\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=28]{cm-pipeline_svg-tex.pdf}}%
\put(0.52994212,0.10961296){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}5\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=29]{cm-pipeline_svg-tex.pdf}}%
\put(0.52994212,0.0583121){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}6\end{tabular}}}}%
\put(0.51554145,0.21661197){\rotatebox{90}{\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}True label\end{tabular}}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=30]{cm-pipeline_svg-tex.pdf}}%
\put(0.56369442,0.36732083){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2326\end{tabular}}}}%
\put(0.61499525,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}96\end{tabular}}}}%
\put(0.66629615,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}39\end{tabular}}}}%
\put(0.71759704,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}31\end{tabular}}}}%
\put(0.76889787,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}40\end{tabular}}}}%
\put(0.82019877,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}8\end{tabular}}}}%
\put(0.87149959,0.36732083){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}25\end{tabular}}}}%
\put(0.56369442,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}26\end{tabular}}}}%
\put(0.61499525,0.31601996){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2530\end{tabular}}}}%
\put(0.66629615,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.71759704,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.76889787,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}6\end{tabular}}}}%
\put(0.82019877,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.87149959,0.31601996){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}3\end{tabular}}}}%
\put(0.56369442,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}7\end{tabular}}}}%
\put(0.61499525,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.66629615,0.2647191){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2550\end{tabular}}}}%
\put(0.71759704,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}6\end{tabular}}}}%
\put(0.76889787,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1\end{tabular}}}}%
\put(0.82019877,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1\end{tabular}}}}%
\put(0.87149959,0.2647191){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.56369442,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}16\end{tabular}}}}%
\put(0.61499525,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.66629615,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}3\end{tabular}}}}%
\put(0.71759704,0.21341824){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2541\end{tabular}}}}%
\put(0.76889787,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}5\end{tabular}}}}%
\put(0.82019877,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.87149959,0.21341824){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.56369442,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}22\end{tabular}}}}%
\put(0.61499525,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}13\end{tabular}}}}%
\put(0.66629615,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.71759704,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1\end{tabular}}}}%
\put(0.76889787,0.16211736){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2528\end{tabular}}}}%
\put(0.82019877,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.87149959,0.16211736){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1\end{tabular}}}}%
\put(0.56369442,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}5\end{tabular}}}}%
\put(0.61499525,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.66629615,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.71759704,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.76889787,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.82019877,0.1108165){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2560\end{tabular}}}}%
\put(0.87149959,0.1108165){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.56369442,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}14\end{tabular}}}}%
\put(0.61499525,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1\end{tabular}}}}%
\put(0.66629615,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.71759704,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.76889787,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.82019877,0.05951564){\color[rgb]{0.03137255,0.18823529,0.41960784}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0.87149959,0.05951564){\color[rgb]{0.96862745,0.98431373,1}\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2550\end{tabular}}}}%
\put(0.71759704,0.40310943){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}Sensor B\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=31]{cm-pipeline_svg-tex.pdf}}%
\put(0.4527015,0.02466){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=32]{cm-pipeline_svg-tex.pdf}}%
\put(0.4527015,0.09792356){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}500\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=33]{cm-pipeline_svg-tex.pdf}}%
\put(0.4527015,0.17118712){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}1000\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=34]{cm-pipeline_svg-tex.pdf}}%
\put(0.4527015,0.24445068){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}1500\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=35]{cm-pipeline_svg-tex.pdf}}%
\put(0.4527015,0.31771423){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}2000\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=36]{cm-pipeline_svg-tex.pdf}}%
\put(0.4527015,0.3909778){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}2500\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=37]{cm-pipeline_svg-tex.pdf}}%
\put(0.94645147,0.02466){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=38]{cm-pipeline_svg-tex.pdf}}%
\put(0.94645147,0.09792356){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}500\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=39]{cm-pipeline_svg-tex.pdf}}%
\put(0.94645147,0.17118712){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}1000\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=40]{cm-pipeline_svg-tex.pdf}}%
\put(0.94645147,0.24445068){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}1500\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=41]{cm-pipeline_svg-tex.pdf}}%
\put(0.94645147,0.31771423){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}2000\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=42]{cm-pipeline_svg-tex.pdf}}%
\put(0.94645147,0.3909778){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}2500\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=43]{cm-pipeline_svg-tex.pdf}}%
\end{picture}%
\endgroup%

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3f01285c0133da1de52ba8d15dc4e426276a947b02edca2a397329f33ec7fa9f
size 380720

View File

@@ -0,0 +1,159 @@
%% Creator: Inkscape 1.2.2 (b0a8486541, 2022-12-01), www.inkscape.org
%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010
%% Accompanies image file 'stft-damaged-multiple-a_svg-tex.pdf' (pdf, eps, ps)
%%
%% To include the image in your LaTeX document, write
%% \input{<filename>.pdf_tex}
%% instead of
%% \includegraphics{<filename>.pdf}
%% To scale the image, write
%% \def\svgwidth{<desired width>}
%% \input{<filename>.pdf_tex}
%% instead of
%% \includegraphics[width=<desired width>]{<filename>.pdf}
%%
%% Images with a different path to the parent latex file can
%% be accessed with the `import' package (which may need to be
%% installed) using
%% \usepackage{import}
%% in the preamble, and then including the image with
%% \import{<path to file>}{<filename>.pdf_tex}
%% Alternatively, one can specify
%% \graphicspath{{<path to file>/}}
%%
%% For more information, please see info/svg-inkscape on CTAN:
%% http://tug.ctan.org/tex-archive/info/svg-inkscape
%%
\begingroup%
\makeatletter%
\providecommand\color[2][]{%
\errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}%
\renewcommand\color[2][]{}%
}%
\providecommand\transparent[1]{%
\errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}%
\renewcommand\transparent[1]{}%
}%
\providecommand\rotatebox[2]{#2}%
\newcommand*\fsize{\dimexpr\f@size pt\relax}%
\newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}%
\ifx\svgwidth\undefined%
\setlength{\unitlength}{876.66741113bp}%
\ifx\svgscale\undefined%
\relax%
\else%
\setlength{\unitlength}{\unitlength * \real{\svgscale}}%
\fi%
\else%
\setlength{\unitlength}{\svgwidth}%
\fi%
\global\let\svgwidth\undefined%
\global\let\svgscale\undefined%
\makeatother%
\begin{picture}(1,0.58514015)%
\lineheight{1}%
\setlength\tabcolsep{0pt}%
\put(0,0){\includegraphics[width=\unitlength,page=1]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.06593043,0.32464119){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=2]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.06593043,0.35444815){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}64\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=3]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.06593043,0.3842551){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}128\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=4]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.06593043,0.41406203){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}192\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=5]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.06593043,0.44386898){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}256\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=6]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.06593043,0.47367594){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}320\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=7]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.06593043,0.50348289){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}384\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=8]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.06593043,0.53328984){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}448\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=9]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.06593043,0.56309679){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}512\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=10]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.191674,0.57474033){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}d1\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=11]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.47429511,0.57474033){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}d2\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=12]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.75691621,0.57474033){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}d3\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=13]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.07391522,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=14]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.12100037,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}513\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=15]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.16808551,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1026\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=16]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.21517068,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1538\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=17]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.26225581,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2051\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=18]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.30934099,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2564\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=19]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.06593043,0.03793559){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=20]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.06593043,0.06774253){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}64\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=21]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.06593043,0.09754949){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}128\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=22]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.06593043,0.12735643){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}192\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=23]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.06593043,0.1571634){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}256\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=24]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.06593043,0.18697033){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}320\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=25]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.06593043,0.2167773){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}384\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=26]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.06593043,0.24658424){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}448\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=27]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.06593043,0.2763912){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}512\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=28]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.191674,0.28803472){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}d4\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=29]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.35653632,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=30]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.40362147,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}513\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=31]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.45070662,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1026\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=32]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.49779176,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1538\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=33]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.54487691,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2051\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=34]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.59196206,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2564\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=35]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.47429511,0.28803472){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}d5\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=36]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.63915742,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=37]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.68624257,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}513\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=38]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.73332772,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1026\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=39]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.78041287,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1538\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=40]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.82749801,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2051\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=41]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.87458316,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2564\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=42]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.75691621,0.28803472){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}d6\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=43]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.94953346,0.04450594){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.000\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=44]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.94953346,0.12882524){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.005\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=45]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.94953346,0.21314458){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.010\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=46]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.94953346,0.29746388){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.015\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=47]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.94953346,0.38178321){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.020\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=48]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.94953346,0.46610253){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.025\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=49]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.94953346,0.55042185){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.030\end{tabular}}}}%
\put(0.99715275,0.3017976){\rotatebox{90}{\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}Magnitude (m/s²)\end{tabular}}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=50]{stft-damaged-multiple-a_svg-tex.pdf}}%
\put(0.56669046,0.00284725){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}Segmen Waktu\end{tabular}}}}%
\put(0.01039982,0.22857641){\rotatebox{90}{\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}Sampel Frekuensi (Hz)\end{tabular}}}}}%
\end{picture}%
\endgroup%

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f102435f2de372385d656d3b6e369a0202fb7a812e87f86a05410923c3e24697
size 368064

View File

@@ -0,0 +1,159 @@
%% Creator: Inkscape 1.2.2 (b0a8486541, 2022-12-01), www.inkscape.org
%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010
%% Accompanies image file 'stft-damaged-multiple-b_svg-tex.pdf' (pdf, eps, ps)
%%
%% To include the image in your LaTeX document, write
%% \input{<filename>.pdf_tex}
%% instead of
%% \includegraphics{<filename>.pdf}
%% To scale the image, write
%% \def\svgwidth{<desired width>}
%% \input{<filename>.pdf_tex}
%% instead of
%% \includegraphics[width=<desired width>]{<filename>.pdf}
%%
%% Images with a different path to the parent latex file can
%% be accessed with the `import' package (which may need to be
%% installed) using
%% \usepackage{import}
%% in the preamble, and then including the image with
%% \import{<path to file>}{<filename>.pdf_tex}
%% Alternatively, one can specify
%% \graphicspath{{<path to file>/}}
%%
%% For more information, please see info/svg-inkscape on CTAN:
%% http://tug.ctan.org/tex-archive/info/svg-inkscape
%%
\begingroup%
\makeatletter%
\providecommand\color[2][]{%
\errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}%
\renewcommand\color[2][]{}%
}%
\providecommand\transparent[1]{%
\errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}%
\renewcommand\transparent[1]{}%
}%
\providecommand\rotatebox[2]{#2}%
\newcommand*\fsize{\dimexpr\f@size pt\relax}%
\newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}%
\ifx\svgwidth\undefined%
\setlength{\unitlength}{876.66741113bp}%
\ifx\svgscale\undefined%
\relax%
\else%
\setlength{\unitlength}{\unitlength * \real{\svgscale}}%
\fi%
\else%
\setlength{\unitlength}{\svgwidth}%
\fi%
\global\let\svgwidth\undefined%
\global\let\svgscale\undefined%
\makeatother%
\begin{picture}(1,0.58514015)%
\lineheight{1}%
\setlength\tabcolsep{0pt}%
\put(0,0){\includegraphics[width=\unitlength,page=1]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.06593043,0.32464119){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=2]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.06593043,0.35444815){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}64\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=3]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.06593043,0.3842551){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}128\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=4]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.06593043,0.41406203){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}192\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=5]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.06593043,0.44386898){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}256\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=6]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.06593043,0.47367594){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}320\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=7]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.06593043,0.50348289){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}384\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=8]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.06593043,0.53328984){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}448\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=9]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.06593043,0.56309679){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}512\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=10]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.191674,0.57474033){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}d1\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=11]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.47429511,0.57474033){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}d2\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=12]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.75691621,0.57474033){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}d3\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=13]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.07391522,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=14]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.12100037,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}513\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=15]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.16808551,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1026\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=16]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.21517068,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1538\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=17]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.26225581,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2051\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=18]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.30934099,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2564\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=19]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.06593043,0.03793559){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=20]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.06593043,0.06774253){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}64\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=21]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.06593043,0.09754949){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}128\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=22]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.06593043,0.12735643){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}192\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=23]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.06593043,0.1571634){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}256\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=24]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.06593043,0.18697033){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}320\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=25]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.06593043,0.2167773){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}384\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=26]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.06593043,0.24658424){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}448\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=27]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.06593043,0.2763912){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}512\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=28]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.191674,0.28803472){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}d4\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=29]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.35653632,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=30]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.40362147,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}513\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=31]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.45070662,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1026\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=32]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.49779176,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1538\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=33]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.54487691,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2051\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=34]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.59196206,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2564\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=35]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.47429511,0.28803472){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}d5\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=36]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.63915742,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=37]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.68624257,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}513\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=38]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.73332772,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1026\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=39]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.78041287,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1538\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=40]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.82749801,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2051\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=41]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.87458316,0.02561713){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2564\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=42]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.75691621,0.28803472){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}d6\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=43]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.94953346,0.04450594){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.000\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=44]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.94953346,0.12882524){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.005\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=45]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.94953346,0.21314458){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.010\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=46]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.94953346,0.29746388){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.015\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=47]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.94953346,0.38178321){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.020\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=48]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.94953346,0.46610253){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.025\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=49]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.94953346,0.55042185){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.030\end{tabular}}}}%
\put(0.99715275,0.3017976){\rotatebox{90}{\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}Magnitude (m/s²)\end{tabular}}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=50]{stft-damaged-multiple-b_svg-tex.pdf}}%
\put(0.56669046,0.00284725){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}Segmen Waktu\end{tabular}}}}%
\put(0.01039982,0.22857641){\rotatebox{90}{\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}Sampel Frekuensi (Hz)\end{tabular}}}}}%
\end{picture}%
\endgroup%

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2905dadcb624af6587f3fa1dcfdc58ed372b50dce34b992542da0fbb90dd98b4
size 172371

View File

@@ -0,0 +1,105 @@
%% Creator: Inkscape 1.2.2 (b0a8486541, 2022-12-01), www.inkscape.org
%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010
%% Accompanies image file 'stft-undamaged-a_svg-tex.pdf' (pdf, eps, ps)
%%
%% To include the image in your LaTeX document, write
%% \input{<filename>.pdf_tex}
%% instead of
%% \includegraphics{<filename>.pdf}
%% To scale the image, write
%% \def\svgwidth{<desired width>}
%% \input{<filename>.pdf_tex}
%% instead of
%% \includegraphics[width=<desired width>]{<filename>.pdf}
%%
%% Images with a different path to the parent latex file can
%% be accessed with the `import' package (which may need to be
%% installed) using
%% \usepackage{import}
%% in the preamble, and then including the image with
%% \import{<path to file>}{<filename>.pdf_tex}
%% Alternatively, one can specify
%% \graphicspath{{<path to file>/}}
%%
%% For more information, please see info/svg-inkscape on CTAN:
%% http://tug.ctan.org/tex-archive/info/svg-inkscape
%%
\begingroup%
\makeatletter%
\providecommand\color[2][]{%
\errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}%
\renewcommand\color[2][]{}%
}%
\providecommand\transparent[1]{%
\errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}%
\renewcommand\transparent[1]{}%
}%
\providecommand\rotatebox[2]{#2}%
\newcommand*\fsize{\dimexpr\f@size pt\relax}%
\newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}%
\ifx\svgwidth\undefined%
\setlength{\unitlength}{406.25135bp}%
\ifx\svgscale\undefined%
\relax%
\else%
\setlength{\unitlength}{\unitlength * \real{\svgscale}}%
\fi%
\else%
\setlength{\unitlength}{\svgwidth}%
\fi%
\global\let\svgwidth\undefined%
\global\let\svgscale\undefined%
\makeatother%
\begin{picture}(1,0.73904825)%
\lineheight{1}%
\setlength\tabcolsep{0pt}%
\put(0,0){\includegraphics[width=\unitlength,page=1]{stft-undamaged-a_svg-tex.pdf}}%
\put(0.09788813,0.03957681){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=2]{stft-undamaged-a_svg-tex.pdf}}%
\put(0.23848318,0.03957681){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}513\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=3]{stft-undamaged-a_svg-tex.pdf}}%
\put(0.37907821,0.03957681){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1026\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=4]{stft-undamaged-a_svg-tex.pdf}}%
\put(0.51967326,0.03957681){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1538\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=5]{stft-undamaged-a_svg-tex.pdf}}%
\put(0.66026827,0.03957681){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2051\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=6]{stft-undamaged-a_svg-tex.pdf}}%
\put(0.80086335,0.03957681){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2564\end{tabular}}}}%
\put(0.4495128,0.00590767){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}Segmen Waktu\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=7]{stft-undamaged-a_svg-tex.pdf}}%
\put(0.08065742,0.06615943){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=8]{stft-undamaged-a_svg-tex.pdf}}%
\put(0.08065742,0.14788016){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}64\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=9]{stft-undamaged-a_svg-tex.pdf}}%
\put(0.08065742,0.22960085){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}128\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=10]{stft-undamaged-a_svg-tex.pdf}}%
\put(0.08065742,0.31132158){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}192\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=11]{stft-undamaged-a_svg-tex.pdf}}%
\put(0.08065742,0.39304232){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}256\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=12]{stft-undamaged-a_svg-tex.pdf}}%
\put(0.08065742,0.47476305){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}320\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=13]{stft-undamaged-a_svg-tex.pdf}}%
\put(0.08065742,0.5564838){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}384\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=14]{stft-undamaged-a_svg-tex.pdf}}%
\put(0.08065742,0.63820453){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}448\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=15]{stft-undamaged-a_svg-tex.pdf}}%
\put(0.08065742,0.71992526){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}512\end{tabular}}}}%
\put(0.01870763,0.40303267){\rotatebox{90}{\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}Sampel Frekuensi (Hz)\end{tabular}}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=16]{stft-undamaged-a_svg-tex.pdf}}%
\put(0.89507345,0.06615943){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.000\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=17]{stft-undamaged-a_svg-tex.pdf}}%
\put(0.89507345,0.17533319){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.005\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=18]{stft-undamaged-a_svg-tex.pdf}}%
\put(0.89507345,0.28450699){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.010\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=19]{stft-undamaged-a_svg-tex.pdf}}%
\put(0.89507345,0.39368076){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.015\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=20]{stft-undamaged-a_svg-tex.pdf}}%
\put(0.89507345,0.50285456){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.020\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=21]{stft-undamaged-a_svg-tex.pdf}}%
\put(0.89507345,0.61202835){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.025\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=22]{stft-undamaged-a_svg-tex.pdf}}%
\put(0.89507345,0.72120215){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.030\end{tabular}}}}%
\put(0.99409233,0.4030327){\rotatebox{90}{\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}Magnitude (m/s²)\end{tabular}}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=23]{stft-undamaged-a_svg-tex.pdf}}%
\end{picture}%
\endgroup%

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9e6036c300caa3a0f1eb248207b18a0fea493e1c086972ee5a055b612963be0a
size 166412

View File

@@ -0,0 +1,105 @@
%% Creator: Inkscape 1.2.2 (b0a8486541, 2022-12-01), www.inkscape.org
%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010
%% Accompanies image file 'stft-undamaged-b_svg-tex.pdf' (pdf, eps, ps)
%%
%% To include the image in your LaTeX document, write
%% \input{<filename>.pdf_tex}
%% instead of
%% \includegraphics{<filename>.pdf}
%% To scale the image, write
%% \def\svgwidth{<desired width>}
%% \input{<filename>.pdf_tex}
%% instead of
%% \includegraphics[width=<desired width>]{<filename>.pdf}
%%
%% Images with a different path to the parent latex file can
%% be accessed with the `import' package (which may need to be
%% installed) using
%% \usepackage{import}
%% in the preamble, and then including the image with
%% \import{<path to file>}{<filename>.pdf_tex}
%% Alternatively, one can specify
%% \graphicspath{{<path to file>/}}
%%
%% For more information, please see info/svg-inkscape on CTAN:
%% http://tug.ctan.org/tex-archive/info/svg-inkscape
%%
\begingroup%
\makeatletter%
\providecommand\color[2][]{%
\errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}%
\renewcommand\color[2][]{}%
}%
\providecommand\transparent[1]{%
\errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}%
\renewcommand\transparent[1]{}%
}%
\providecommand\rotatebox[2]{#2}%
\newcommand*\fsize{\dimexpr\f@size pt\relax}%
\newcommand*\lineheight[1]{\fontsize{\fsize}{#1\fsize}\selectfont}%
\ifx\svgwidth\undefined%
\setlength{\unitlength}{406.25135bp}%
\ifx\svgscale\undefined%
\relax%
\else%
\setlength{\unitlength}{\unitlength * \real{\svgscale}}%
\fi%
\else%
\setlength{\unitlength}{\svgwidth}%
\fi%
\global\let\svgwidth\undefined%
\global\let\svgscale\undefined%
\makeatother%
\begin{picture}(1,0.73904825)%
\lineheight{1}%
\setlength\tabcolsep{0pt}%
\put(0,0){\includegraphics[width=\unitlength,page=1]{stft-undamaged-b_svg-tex.pdf}}%
\put(0.09788813,0.03957681){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=2]{stft-undamaged-b_svg-tex.pdf}}%
\put(0.23848318,0.03957681){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}513\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=3]{stft-undamaged-b_svg-tex.pdf}}%
\put(0.37907821,0.03957681){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1026\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=4]{stft-undamaged-b_svg-tex.pdf}}%
\put(0.51967326,0.03957681){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}1538\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=5]{stft-undamaged-b_svg-tex.pdf}}%
\put(0.66026827,0.03957681){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2051\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=6]{stft-undamaged-b_svg-tex.pdf}}%
\put(0.80086335,0.03957681){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}2564\end{tabular}}}}%
\put(0.4495128,0.00590767){\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}Segmen Waktu\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=7]{stft-undamaged-b_svg-tex.pdf}}%
\put(0.08065742,0.06615943){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}0\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=8]{stft-undamaged-b_svg-tex.pdf}}%
\put(0.08065742,0.14788016){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}64\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=9]{stft-undamaged-b_svg-tex.pdf}}%
\put(0.08065742,0.22960085){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}128\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=10]{stft-undamaged-b_svg-tex.pdf}}%
\put(0.08065742,0.31132158){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}192\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=11]{stft-undamaged-b_svg-tex.pdf}}%
\put(0.08065742,0.39304232){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}256\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=12]{stft-undamaged-b_svg-tex.pdf}}%
\put(0.08065742,0.47476305){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}320\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=13]{stft-undamaged-b_svg-tex.pdf}}%
\put(0.08065742,0.5564838){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}384\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=14]{stft-undamaged-b_svg-tex.pdf}}%
\put(0.08065742,0.63820453){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}448\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=15]{stft-undamaged-b_svg-tex.pdf}}%
\put(0.08065742,0.71992526){\makebox(0,0)[rt]{\lineheight{1.25}\smash{\begin{tabular}[t]{r}512\end{tabular}}}}%
\put(0.01870763,0.40303267){\rotatebox{90}{\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}Sampel Frekuensi (Hz)\end{tabular}}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=16]{stft-undamaged-b_svg-tex.pdf}}%
\put(0.89507345,0.06615943){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.000\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=17]{stft-undamaged-b_svg-tex.pdf}}%
\put(0.89507345,0.17533319){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.005\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=18]{stft-undamaged-b_svg-tex.pdf}}%
\put(0.89507345,0.28450699){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.010\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=19]{stft-undamaged-b_svg-tex.pdf}}%
\put(0.89507345,0.39368076){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.015\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=20]{stft-undamaged-b_svg-tex.pdf}}%
\put(0.89507345,0.50285456){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.020\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=21]{stft-undamaged-b_svg-tex.pdf}}%
\put(0.89507345,0.61202835){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.025\end{tabular}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=22]{stft-undamaged-b_svg-tex.pdf}}%
\put(0.89507345,0.72120215){\makebox(0,0)[lt]{\lineheight{1.25}\smash{\begin{tabular}[t]{l}0.030\end{tabular}}}}%
\put(0.99409233,0.4030327){\rotatebox{90}{\makebox(0,0)[t]{\lineheight{1.25}\smash{\begin{tabular}[t]{c}Magnitude (m/s²)\end{tabular}}}}}%
\put(0,0){\includegraphics[width=\unitlength,page=23]{stft-undamaged-b_svg-tex.pdf}}%
\end{picture}%
\endgroup%

View File

@@ -97,7 +97,9 @@
% Fonts
\defaultfontfeatures{Ligatures=TeX}
\setmainfont{Times New Roman}
\setmainfont{Times New Roman}[
SmallCapsFont = {Latin Modern Roman}, % fallback for \textsc
]
\setsansfont{Arial}
\setmonofont{Courier New}