latex: Match with Overleaf current work

This commit is contained in:
Rifqi D. Panuluh
2025-07-17 14:15:01 +00:00
parent 80d4a66925
commit 16c171fb46
47 changed files with 4035 additions and 278 deletions

View File

@@ -1,9 +1,10 @@
Dataset yang digunakan dalam penelitian ini bersumber dari basis data getaran yang dipublikasi oleh \textcite{abdeljaber2017}.
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 terdiri dari dua folder:
\begin{itemize}
\item \texttt{Dataset A/} biasanya digunakan untuk pelatihan (training)
\item \texttt{Dataset B/} biasanya 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:
@@ -20,14 +21,34 @@ Sepuluh baris pertama dari setiap berkas berisi metadata yang menjelaskan konfig
\item \textbf{Kolom 231:} Magnitudo percepatan dari \textit{joint} 1 hingga 30
\end{itemize}
Setiap sinyal di-\textit{sampling} pada frekuensi $f_s = 1024$ Hz dan direkam selama durasi total $T = 256$ detik, sehingga menghasilkan:
Setiap sinyal di-\textit{sampling} pada frekuensi $f_s = 1024$ Hz dan direkam selama $t = 256$ detik, sehingga menghasilkan:
\begin{align}
\gls{not:signal} &= \gls{not:sampling_freq} \cdot \gls{not:time_length} \nonumber \\
&= 1024 \cdot 256 \nonumber \\
&= 262144 \quad \text{sampel per kanal} \label{eq:sample}
\end{align}
\begin{equation*}
N = f_s \cdot T = 1024 \times 256 = 262{,}144 \quad \text{sampel per kanal}
\end{equation*}
Dengan demikian, setiap berkas \verb|zzzAD|$n$\verb|.TXT| 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:
\begin{equation}
\mathbf{U} \in \mathbb{R}^{262144 \times 30}
\end{equation}
Dengan demikian, setiap berkas dapat direpresentasikan sebagai matriks:
\begin{equation*}
\mathbf{X}^{(c)} \in \mathbb{R}^{262{,}144 \times 31}, \quad c = 0, 1, \dots, 30
\end{equation*}
di mana $c$ mengacu pada indeks kasus (0 = sehat, 130 = kerusakan pada \textit{joint}n ke-$c$), dan setiap baris merepresentasikan pengukuran berdasarkan waktu di seluruh 30 kanal sensor.
Kemudian \textit{dataset} A dapat direpresentasikan sebagai matriks:
\begin{equation}
\gls{not:dataset_A}
=
\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,24 @@
We now introduce a simple “dataaugmentation” logic across repeated tests as:
\[
\mathbf{c}_{j}^{(i)}
\;=\;
\Bigl[S_{0+j}^{(i)},\,S_{5+j}^{(i)},\,S_{10+j}^{(i)},\,S_{15+j}^{(i)},\,S_{20+j}^{(i)},\,S_{25+j}^{(i)}\Bigr]^{T}
\;\in\mathbb{R}^{6}\!,
\]
where \(S_{k}^{(i)}\) is the \(k\)th sensors timefrequency feature vector (after STFT+logscaling) from the \(i\)-th replicate of scenario \(j\).
For each fixed scenario \(j\), collect the five replicates into the set
\[
\mathcal{D}^{(j)}
=\bigl\{\mathbf{c}_{j}^{(1)},\,\mathbf{c}_{j}^{(2)},\,\mathbf{c}_{j}^{(3)},\,\mathbf{c}_{j}^{(4)},\,\mathbf{c}_{j}^{(5)}\bigr\},
\]
so \(|\mathcal{D}^{(j)}|=5\). Across all six scenarios, the total augmented dataset is
\[
\mathcal{D}
=\bigcup_{j=0}^{5}\mathcal{D}^{(j)}
=\bigl\{\mathbf{c}_{j}^{(i)}: j=0,\dots,5,\;i=1,\dots,5\bigr\},
\]
with \(\lvert\mathcal{D}\rvert = 6 \times 5 = 30\) samples.
Each \(\mathbf{c}_{j}^{(i)}\) hence represents one ``columnbased damage sample,
and the collection \(\mathcal{D}\) serves as the input set for subsequent classification.

View File

@@ -0,0 +1,9 @@
Let $\mathcal{G}$ represent the $6 \times 5$ structural grid, where each node is denoted with row and column as $N_{r,c}$ with $r \in \{1,2,...,6\}$ and $c \in \{1,2,...,5\}$.\\
\begin{figure}[ht]
\centering
% \includegraphics[width=\textwidth]{}
\input{chapters/img/specimen}
\caption{Diagram joint and sensors placement}
\label{fig:specimen}
\end{figure}

View File

@@ -0,0 +1,66 @@
\subsection{Signal Normalization}
Each raw acceleration time series
\(\mathbf{a}_{k}(n)\), \(n = 0,1,\dots,N-1\) with \(N=262144\) samples (collected at \(f_s=1024\)Hz over 256s) :contentReference[oaicite:0]{index=0} is first standardized to zero mean and unit variance:
\[
\tilde a_{k}(n)
=\frac{a_{k}(n)-\mu_{k}}{\sigma_{k}},
\quad
\mu_{k}=\frac{1}{N}\sum_{n=0}^{N-1}a_{k}(n),
\quad
\sigma_{k}=\sqrt{\frac{1}{N}\sum_{n=0}^{N-1}\bigl(a_{k}(n)-\mu_{k}\bigr)^{2}}.
\]
\subsection{Framing and Windowing}
The normalized signal \(\tilde a_{k}(n)\) is chopped into overlapping frames of length \(W\) samples with hop size \(H\). The \(p\)-th frame is
\[
x_{k,p}[m]
=\tilde a_{k}(pH + m)\,w[m],
\quad
m=0,1,\dots,W-1,
\]
where \(w[m]\) is a chosen window function (e.g., Hamming).
\subsection{Short-Time Fourier Transform (STFT)}
For each frame \(x_{k,p}[m]\), compute its STFT:
\[
S_{k}(f,p)
=\sum_{m=0}^{W-1}x_{k,p}[m]\;e^{-j2\pi\,f\,m/W},
\]
where \(f=0,1,\dots,W-1\) indexes frequency bins :contentReference[oaicite:1]{index=1}.
\subsection{Spectrogram and Log-Magnitude}
Form the magnitude spectrogram
\[
M_{k}(f,p)
=\bigl|S_{k}(f,p)\bigr|,
\]
and apply log scaling for numerical stability:
\[
L_{k}(f,p)
=\log\bigl(1 + M_{k}(f,p)^{2}\bigr).
\]
This yields a timefrequency representation
\(\mathbf{L}_{k}\in\mathbb{R}^{F\times P}\), with \(F\) frequency bins and \(P\) frames.
\subsection{Feature Matrix Assembly}
For each column \(j\in\{1,\dots,5\}\), select only the two endpoint sensors:
\[
\mathbf{L}_{\text{bot},j} = \mathbf{L}_{(j)},\quad
\mathbf{L}_{\text{top},j} = \mathbf{L}_{(25+j)},
\]
and stack them:
\[
\mathbf{F}_{j}
=
\begin{bmatrix}
\mathbf{L}_{\text{bot},j} \\[6pt]
\mathbf{L}_{\text{top},j}
\end{bmatrix}
\;\in\mathbb{R}^{2F\times P}.
\]
Finally, flatten into a feature vector:
\[
\mathbf{f}_{j}
=\operatorname{vec}\bigl(\mathbf{F}_{j}\bigr)
\;\in\mathbb{R}^{2FP}.
\]

View File

@@ -0,0 +1,20 @@
For the vertical column approach with limited sensors
% we
are defined as column vector $\mathbf{c}_j$:
\begin{equation}
\mathbf{c}_j^{(i,d)} = [S_{0+j}^{(i+d)}, S_{5+j}^{(i+d)}, S_{10+j}^{(i+d)}, S_{15+j}^{(i+d)}, S_{20+j}^{(i+d)}, S_{25+j}^{(i+d)}]^T
\end{equation}
\begin{equation}
\mathbf{D}^{(i)} = [\mathbf{c}_0^{(i,i+1)}, \mathbf{c}_1^{(i,i+6)}, \mathbf{c}_2^{(i,i+11)}, \mathbf{c}_3^{(i,i+16)}, \mathbf{c}_4^{(i,i+21)}]^T
\end{equation}
where $j \in \{0, 1,2,3,4\}$ represents the column index.
For the limited sensor case focusing on endpoints only, we use:
\begin{equation}
\mathbf{c}^{\text{limited}}_j = [S_{0+(j-1)}, S_{25+(j-1)}]^T
\end{equation}
representing only the lower sensor (sensor A) and upper sensor (sensor B) of column $j$.

View File

@@ -0,0 +1,23 @@
Untuk setiap sensor $S_k$ dengan $k \in \{0,1,2,...,29\}$ diletakkan pada \textit{node} $N_{k}$, deret deret akselerasi waktu didefinisikan sebagai:
\begin{equation}
\mathbf{a}_{k}(t) = [a_{k}(t_1), a_{k}(t_2), \ldots, a_{k}(t_{262144})]
\end{equation}
% where $N = 262144$ samples at a sampling frequency of 1024 Hz over 256 seconds.
% $k \in \{i,(i+1),...,(i+(r\times j))\}$
Satu dataset utuh untuk setiap skenario ($A|B$) dapat direpresentasikan sebagai matrix $\mathbf{X}_d \in \mathbb{R}^{30 \times 262144}$:
\begin{equation}
\mathbf{{X}_d}^\intercal =
\begin{bmatrix}
\mathbf{a}_{0}(t) \\
\mathbf{a}_{1}(t) \\
\mathbf{a}_{2}(t) \\
\vdots \\
\mathbf{a}_{29}(t)
\end{bmatrix}
\end{equation}
di mana $d \in \{0, 1, 2, \ldots, 30\}$ merepresentasikan skenario kerusakan, dengan $d=0$ mengindikasikan tanpa kasus kerusakan.