## 3 Signal Processing
### Feature Extraction and Impact Localization  
The feature extraction is based on the determination of the summed gradient, which is displayed in Figure 7 as the SG block. The first step of the feature extraction is the parallel transfer on each separated channel. The signal filtered during preprocessing serves as continuous input signal. The first processing step is the gradient calculation, represented as the ABS_DIFF block in Figure 7. The gradient is defined as the absolute difference between two consecutive samples. The implementation is carried out by following equation:  
\[g(m)_{t}=\sum\
olimits_{i=1}^{t}\lvert m(i)-m(i-1)\rvert \tag{2}\]  
In the process, the gradients from a defined start time \(t=0\) are added up successively. The required start time is generated by a threshold comparison. For this purpose, the amplitude of the filtered signals on all measurement channels is compared to a parameterizable threshold value, generating the start signal for summation when all amplitudes exceed the defined threshold.  
The result is the sum of the absolute gradients at a specific point in time per the measurement channel depicted in Figure 9. The generated data are passed to the subsequent function block TIME_DIFF_EXTR. This block determines the times of the gradients when they exceed a specified threshold value. For this purpose, a counter is used as a time reference, which is incremented with each incoming sample. To prevent overflows and the associated false measured values, the counter is in the reset state until the summation of the gradients begins. This creates a direct start condition and implicitly defines the start of the time measurement. The counter value is stored each time the threshold value is exceeded for the first time. If all channels fall below the threshold value, the measurement is considered complete. The resulting time difference representing the signal shift on the different measurement channels is sent to the processing system via AXI interface, proceeding to the SVM classification process.  
In the software, machine learning occurs by an SVM. For this reason, an SVM was realized on the basis of LIBSVM [27], which provides a high-performance cross-platform solution. To generate the SVM model, 20 measuring points on the center console were defined in a grid pattern. Twenty-six measurements were carried out at each of these measuring points, resulting in 520 measurements, of which 400 were used for training and 120 were assigned as the test data set. For evaluation purposes, the described design was implemented with a window size of 64 samples, an amplitude threshold 2 times higher than the maximum amplitude in idle mode, and a threshold for gradient comparison of 40 V, as identified by heuristic evaluation. To evaluate the SVM kernel functions,  
Figure 9: Example of calculated gradient (**left**) and summed gradient (**right**).  
the linear, the polynomial, the radial base, and the sigmoid kernel were trained with the described training data set resulting in individual models, which were applied to the test data set. The results of the training and test phases are depicted in Figure 10. It is shown that the radial basis kernel provides very good training results, whereas the test results are not sufficient, while the linear kernel and the polynomial kernel provide less accurate training results but provide sufficient results on the test data set. On the other hand, the sigmoid kernel provides insufficient results in testing and training.