## 1 Introduction
### Related Work  
Many different steps take part in a biometric system: the sensor should be comfortable to use and provide a good quality signal. The pre-processing needs to improve the signal quality to facilitate further feature extraction and requires to be done wisely, to avoid dealing with non-relevant data. Pre-processing aims to avoid slowdowns and lower performances in the final stage, where the classification takes place. The chosen algorithm must generalize properly with new data while only using limited available data. If one of these steps is performed poorly, it can affect noticeably to the system's performance. Out of the different steps, signal acquisition is probably one of the most problematic in ECG biometrics. Commercial sensors are developed for medical use, that is, electrocardiographs, providing good quality signals but they are not realistic to use in a biometric environment. Biometrics require easy-to-use sensors, as they contribute to a faster recognition process as users usually do not have previous knowledge. Besides, medical sensors are inconvenient due to sensor placing, which is time-consuming. Moreover, depending on the required lead, the sensors have more uncomfortable and complicated placing, such as those in the chest. Some portable ECG acquisition devices are available for the public, such as AliveCor's KardiaMobile [11] and Nymi's band [12]. They are focused on the type I lead as they only require the arms to be involved. The first is focused on health; the latter is the only one, to our knowledge, that uses ECG for recognition purposes. However, neither of them allows us to obtain raw samples. This fact limits the development of biometric systems with reliable and user-friendly sensors. However, working with medical sensors is common to set a baseline. It allows us to start from the most ideal case, due to the precision these devices provide and work towards more complex scenarios. As an alternative, other researchers develop their prototypes, adding more challenges in the system's implementation [13; 14; 15]. Even if sensors collect signals with high signal to noise ratio (SNR), data needs to be prepared accordingly to facilitate the feature extraction process. The noise in ECGs usually comes from three main sources: baseline wanders and drift, power-line interference and muscle artifacts [16]. Baseline wander is usually in the 0.2-0.5 Hz range and power-line interferences are found from 50-60 Hz, so both can be removed with a band-pass filter [17]. The simultaneous removal of both types of noise is also achieved with alternatives such as Discrete Cosine Transform (DCT) [18] and Discrete Wavelet Transform (DWT), which allows decomposing the signal, however, it is not as frequent as band-pass filters [19]. In recent years, deep learning techniques such as Convolutional Neural Networks (CNN) have also been applied to this problem [20]. Muscle artifacts also provide high-frequency noise around 100 Hz and can get removed with a low-pass filter, but techniques such as Moving Average (MA) filters are also applied [21]. Fiducial point detection is usually the next step to filtering. These points are those such as the ones that take part in the sinus rhythm wave in Figure 1, but not limited to the ones represented. They behave as reference points to help in the following feature extraction process. The fiducial points to detect depending on the selected feature extraction approach. Some works only need to spot the QRS complex, and most of them apply the Pan-Tompkins algorithm [22] or modify it slightly [13]. Once the reference points are calculated, signals can be segmented accordingly if needed. It is common to select fixed ranges using the detected points as a reference [23]. The signal conditioning usually leads to the feature detection process. Literature divides this process into two main approaches--fiducial features, which are based on time and amplitude related metrics; and non-fiducial features, based on the shape of the whole signal or selected segments.