# Design and Development of an SVM-Powered Underwater Acoustic Modem
## 2 Materials and Methods
### Methodology and Data Analysis  
The study methodology encompassed the design, implementation, and evaluation of the underwater modern system. This involved the following:  
1. Programming the FPGA to modulate input signals using FSK modulation. 2. Emitting modulated signals through the underwater waveguide using the transmitter setup. 3. Receiving and processing these signals at the receiver end to extract relevant features using the CWT. 4. Classifying the received signals based on the extracted features using an SVM model trained on predefined signal patterns. New methods and protocols introduced in this study, such as specific configurations of the FPGA for underwater signal generation, scripts, and the application of the CWT for feature extraction in an aquatic environment, are detailed in the supplementary materials available upon request to the authors. Established methods, such as SVM classification, are described in accordance with the existing literature [23; 24; 25]. Figure 2: The hardware setup. For data acquisition, the script establishes a connection with the Rigol oscilloscope, configures the necessary settings, and captures the waveform data. The process of analyzing and classifying signals using an SVM can be visualized as a sequential flow. The procedure begins with the raw signal, which undergoes several stages of transformation and analysis before a final prediction is made. These stages are as follows:  
* Feature extraction: The raw signal, which often contains a vast amount of data, is first subjected to a feature extraction process. This step is crucial for two reasons: (i) Information retrieval: the raw signal contains a plethora of information, not all of which is relevant or useful for classification. Feature extraction aims to capture the most informative characteristics of the signal, which are indicative of its underlying patterns or behaviors. (ii) Dimensionality reduction: High-dimensional data can be computationally expensive and challenging to work with, especially in machine learning contexts. By extracting salient features, the dimensionality of the data is effectively reduced, making subsequent processes more efficient and accurate [26]. * Labeling process: Once the features are extracted, each data point (or set of features) is associated with a label. This label indicates the category or class to which the data point belongs. The labeling can be done manually, through expert knowledge, or automatically using specific algorithms. * SVM training: With the features extracted and labeled, the SVM model is trained. During this phase, the SVM algorithm learns the boundaries and patterns within the data. It tries to find the optimal hyperplane that best separates the different classes in the feature space. * SVM validation: After training, it is essential to validate the SVM model performance. This step involves using a separate dataset (not used during training) to test the model accuracy and robustness. Any discrepancies or issues highlighted during validation can be addressed by refining the model or revisiting the feature extraction phase. * SVM prediction: Once validated, the SVM model is ready to make predictions on new unseen data. Given a new signal or data point, the model can now classify it based on the patterns it learned during training. Regarding the feature extraction, the CWT was selected since it offers a very flexible approach to wavelet analysis and due to its ability to provide a time-frequency representation of the signal, which was crucial for capturing the nuances of the modulated signal [27]. Instead of using fixed and dyadic scales as in the DWT, the CWT analyzes the signal at every possible scale, providing a truly continuous transformation. This makes the CWT especially valuable for capturing transients or rapidly changing features in a signal. The CWT was explored, with various wavelets being analyzed for their suitability. Then, the final choice for feature extraction was the CWT using the \"bump\" wavelet.