## 3 Method  
The design of a CNN and the quality of the data have a significant impact on its classification performance, for instance, sensor signals from industrial machinery regularly contain significant levels of noise. Previous work showed the great performance of using a wide-kernel in the first convolutional layer, followed by smaller kernels in the follow-up layers, for detecting faults and classifying conditions of rotating equipment [10; 11].  
However, these methods were not able to automatically scale with varying data inputs; therefore, we extend on those approaches in this work by developing an adaptive wide-kernel layer that extracts features and filters out signal noise, transforming the input without any representation loss.  
The general idea behind this adaptive layer is that depending on its input data, it will transform the data into an n-dimensional matrix without losing any information, e.g., the dot product of the first layer's output is equal to the dot product of the input data. Hence, the layer functions as a feature extractor without reducing its dimensionality, which results in a feature set extracted from low frequency bands [10].  
This adaptive layer does require a set of rules to be adhered to. Otherwise, the output of the first wide-kernel layer does not correspond with the input data. The rules for the adaptive layer are summarized as follows:  
* The sequence length and width of the first kernel should be a power term of two.
* The width of the first kernel should be higher than the denominator for calculating the stride in the first layer (default = 4).
* The kernel width of the first layer should not exceed the sequence length.  
In this case, we calculate the amount of stride in the first layer, followed by the number of filters used:  
\[F^{s}=\frac{K}{x}\,,\]  
\[\delta=\frac{S}{F^{s}}\,, \tag{4}\]  
where \(K\) is the kernel size of the first layer, \(x\) is the denominator used to calculate the stride in the first layer \(F^{s}\) with a default setting of 4 and \(S\) the sequence length of a signal resulting in penalty function \(\delta\). Based on these values, the number of filters can be calculated:  
\[F=\frac{S\cdot TS}{\delta}. \tag{5}\]  
Here, \(TS\) denotes the number of time series available in the data, for example, the number of sensors. The result is the number of filters, denoted as \(F\), used in the first layer of the model.  
One of the main properties of this equation is that the number of filters will increase when the kernel size and therefore stride is set to a higher level, while the number of filters decreases with a low set value. This aligns with the idea that if the kernel size reduces the local information, there will be multiple versions of those local combinations. If the kernel size increases, there are less steps that the kernel is applied to per filter. Therefore, increasing the number of filters will equalize this deviation.  
We implemented this adaptive layer structure on several fault detection and condition monitoring tasks in the form of a time series classification task. In this section, the proposed 1D CNN models are described in more detail. In addition, a supplementary page ([[https://github.com/[PERSON]/Adaptive-WCNN](https://github.com/[PERSON]/Adaptive-WCNN)]([https://github.com/[PERSON]/Adaptive-WCNN](https://github.com/[PERSON]/Adaptive-WCNN))) is made available containing the code for the proposed models.