Introduction

Impedance cardiography (ICG) is a simple, cost-effective and non-invasive technique for monitoring electrical impedance change of the thorax [1]. It is a diagnostic tool to measure the electrical properties of biological tissues in the thorax [2]. ICG is a powerful method for assessment of stroke volume (SV), cardiac output (CO) and other hemodynamic parameters [3]. Figure 1 shows the normal ICG waveform (dZ/dt) and its main characteristic points. The point B appeared simultaneously with the opening of the aortic valve. The point C is taken on the peak of the ICG signal and it is corresponds to the ventricular contraction. The point X is the lowest point after the peak C and it is associated with the closure of the aortic valve [4].

Fig. 1
figure 1

Characteristic points in the derivative of the electrical impedance, the ICG signal

In practice, the ICG signal is generally affected by several kinds of noises, such as the respiration noises, motion noises and noises associated to the poor contact of electrodes and electronic equipment devices. Thus, the analysis of the ICG signal becomes inaccurate and very difficult that affect doctors for correct diagnosis of cardiovascular diseases. To overcome these problems, it is particularly important to remove noise from the ICG signal accurately. For denoising the ICG signal, several algorithms have been published. In [5, 6], an LMS-based adaptive filtering technique has been proposed to denoise the ICG signal. In [7], a comparison has been made between ensemble averaging (EA), Scaled Fourier Linear Combiner SFLC-RLS and SFLC-LMS algorithms. The previous work demonstrated that the SFLC-RLS filter improves the performance of the classical SFLC-LMS filter. Besides, the wavelet-based denoising method has been proposed in literature. In [8, 9], the Meyer wavelet denoising method has been used to denoise the ICG signal. In [10], the Symlet (sym26) and Meyer wavelet families have been chosen as the suitable techniques for filtering ICG signal. In [11], a comparison between three methods has been proposed: the ensemble empirical mode decomposition (EEMD), the optimal FIR filter and the Symlet wavelet family (sym8). This last study achieved that the sym8 wavelet is the best tool to denoise the ICG signal. In [12], the authors proved that the Daubechies wavelet family (db4) presents better performance than the Kalman filter.

To summarize, literature reviews have demonstrate that the DWT method, particularly the Daubechies wavelet family ‘db4’, has superior performance on noise reduction in comparison to other methods. In this study, we used the literature reviews results as a starting point and we proposed to investigate the performance of different wavelet families with various orders for filtering the ICG signal. First, we investigated the performance of various wavelet families for denoising the ICG signal. Four wavelet families are selected and for each family several orders are tested: the Haar, the Daubechies with four orders (db2, db4, db6, db8), the Symlet with 4 orders (sym2, sym4, sym6, sym8) and the Coiflet with four orders (coif2, coif3, coif4, coif5). Then, the chosen wavelet family is compared with two denoising methods: the Savitzky–Golay filtering and the median filtering. These last two methods are used to denoise the Electrocardiogram signal ECG [13, 14], but they have never used for denoising the ICG signal. Consequently, this paper presents a new ICG denoising approach based on noise reduction algorithms in DWT domains. Afterward, to evaluate the results, we compared the capability of the denoising methods to preserve the amplitudes of the peaks C with minimal degradation of the waveform. Finally, the obtained results are compared to some literature review methods.

This paper is organized as follows. “Discrete Wavelet Transform” section summarizes the basics of discrete wavelet transform (DWT). “Proposed methodology” section details the proposed methodology. The obtained results and the comparison between methods will be presented in “Results and discussion” section. “Conclusion” section concludes this works.

Discrete wavelet transform

Wavelet transform (WT) is a time-scale representation that has been used successfully in a broad range of applications. WT analyzes the non-stationary signals at multiple scales. Furthermore, the original WT function, called ‘mother wavelet’, is employed for generating all basis functions. In fact, the Discrete Wavelet Transform ‘DWT’ presents various wavelet families like Haar, Daubechies, Symlets, Coiflets, etc. [15]. Figure 2 shows some wavelet families. The choice of the specific wavelet family and order depends upon the type of signal to be analyzed.

Fig. 2
figure 2

Examples of discrete wavelet transform families. a Haar wavelet. b Coiflet wavelet ‘Coif5’. c Daubechies wavelet ‘dB4’. d Daubechies wavelet ‘dB8’. e Symlet wavelet ‘Sym2’. f Symlet wavelet ‘Sym8’

Mathematically, the Discrete wavelet transform (DWT) of the signal, x[n], is defined as [16]:

$$X\left[ {a,b} \right] = \mathop \sum \limits_{n = - \infty }^{ + \infty } x[n]\psi _{a,b} [n]$$
(1)

Ψ [n] is the analyzing wavelet function. It is represented as follows [16]:

$$\psi_{a,b} \left[ n \right] = \left( {\frac{1}{\sqrt a }} \right) \times \psi \left[ {\frac{n - b}{a}} \right]$$
(2)

where ‘a’ and ‘b’ are, respectively, the dilatation and the location parameter of the wavelet.

The DWT uses filters banks to decompose the signal into a set of coefficients that describe the signal frequency content at given times. In order to analyze the low frequency and the high frequency components in the signal, the DWT uses a low-pass filter ‘LPF’ and a high-pass filter ‘HPF’, respectively. The output coefficients for the LPF and the HPF are called respectively Approximation ‘A’ and Detail ‘D’. Figure 3 shows the decomposition of the signal x[n] to series of 3 levels. Each decomposition level consists of two digital filters and down-sampling operation which down-samples the signal by a factor of 2. ‘G’ presents the series of high-pass filters used to extract details (D) and ‘H’ presents the series of low-pass filters to extract approximations (A) [17, 18].

Fig. 3
figure 3

Decomposition filter bank for 3 levels

The wavelet based denoising algorithm is illustrated in the following steps: (1) the signal is decomposed into different scales using the DWT, (2) thresholding of wavelet coefficients to remove noise, and (3) the signal is reconstructed using the inverse DWT ‘IDWT’ [19].

Proposed methodology

Database

Forty subjects were enrolled for this study, 20 males and 20 females aged between 21 and 50 years. Then, to record the impedance cardiography signal, the method proposed in [20] is used. The method consists of applying a low level current “I” with a high frequency value (1 mA, 30 kHz), by using two electrodes placed respectively on the forehead and above the leading edge of the heart. The impedance variation “V” of the explored thoracic region is acquired using two other electrodes which are placed on the chest of the patient at the level of aorta 2 or 3 cm apart. Figure 4 shows the electrode configuration used for ICG signal recording. Moreover, these signals are stored in a database called BioZ.

Fig. 4
figure 4

Electrode configuration for the ICG signals measurement

The denoising methods

In this section, three denoising methods are evaluated: the DWT, the Savitzky–Golay filter and the median filter. First, these methods are used to denoise the original ICG signals from BioZ. Then, the best denoising method is selected. Furthermore, a White Gaussian noise is added to the ICG signals in order to validate the obtained results. The input noise ranges from 0 dB to 20 dB. The noise added to the original signal is expressed as:

$$Y\left( n \right) = X\left( n \right) + r(n)$$
(3)

where X (n) is the ICG signal, r (n) is the additive noise, and Y (n) is the noisy ICG signal. Figure 5 shows the original ICG signal and the noisy ICG signal at a particular input noise level of 20 dB.

Fig. 5
figure 5

Noise addition to the ICG signal. a The original ICG signal. b The noisy ICG signal with an input noise level of 20 dB

The DWT methods

In this subsection, various DWT families with different orders are used to denoise the ICG signals. First, a comparison is made between different orders from the same family to choose the best one. Then, the retained orders from each family are evaluated and the most suitable one is selected. Table 1 lists the DWT functions used in this study. Forward, the number of decomposition levels is fixed at 4. The level 4 is chosen because it provides better separation between signal and noise than the others levels.

Table 1 The wavelet families used in this study

The Savitzky–Golay filter

The Savitzky–Golay filtering method is based on local least- squares polynomial approach. The polynomial degree should be adaptively selected to have the best denoising signal [21]. In this work, we tested different polynomial orders and we compared the performance of each one for denoising ICG signals. The chosen polynomial orders are ranged from 1 to 10. The obtained results showed that the order 8 provides superior performance in terms of noise reduction.

The median filter

The median filtering is a non linear method used in digital signal processing. The performance of this filter depends on its applied order. For ICG denoising, different polynomial orders, ranging from 1 to 12, are tested. The results showed that the order ten provides the highest performance.

Performance evaluation

To evaluate the performance of each denoising method, three parameters are determined: (1) The signal to noise ratio (SNR) in dB, (2) the root mean square error (RMSE), and (3) the percent difference root mean square (PRD). The SNR, RMSE, and PRD are computed to verify the improvement of the reconstructed signal. These parameters are defined as follows:

$$SNR_{i} = 10 \log_{10} \left[ {\frac{{\mathop \sum \nolimits_{n} x^{2} (n)}}{{\mathop \sum \nolimits_{n} r^{2} (n)}}} \right]$$
(4)
$$SNR_{o} = 10 \log_{10} \left[ {\frac{{\mathop \sum \nolimits_{n} y^{2} (n)}}{{\mathop \sum \nolimits_{n} (y\left( n \right) - x\left( n \right))^{2} }}} \right]$$
(5)
$$RMSE = \frac{1}{N}\mathop \sum \limits_{n}^{N} (x\left( n \right) - y\left( n \right))^{2}$$
(6)
$$PRD = \sqrt {\frac{{\mathop \sum \nolimits_{n}^{N} (x\left( n \right) - y\left( n \right))^{2} }}{{\mathop \sum \nolimits_{n}^{N} x^{2} (n)}}} \times 100 \%$$
(7)

where SNRi and SNRo are respectively the input and the output signal to noise ratio, x(n) is the original ICG signal, r (n) the added noise signal, y (n) denotes the denoised ICG signal, and N is the length of the ICG signal. Normally, the best denoising method must have the highest SNRo, the lowest RMSE and the lowest PRD.

Validation step

The main characteristic wave in the ICG signal is the peak C. The amplitude of this peak is used to determine the heart rate and to calculate the stroke volume SV and the cardiac output CO. Therefore, it is very important to detect this wave precisely.

However, the denoising algorithms, despite their optimal benefits, can attenuate the peaks of the ICG signal. In this subsection, we evaluated the performance of each denoising method by comparing its capability to preserve the amplitudes of the peaks C. We proceed as follows:

  1. (a)

    We filtered the ICG signal using the DWT, the Savitzky–Golay filter and the median filter.

  2. (b)

    From each filtered signal, we detected the peaks C and we determined its amplitudes.

  3. (c)

    For each denoising method, we computed the differences between the C peak amplitude of the original ICG signal and the C peak amplitude of the filtered ICG signal. This difference is noted Δe.

  4. (d)

    We chose the best denoising method which can preserve the amplitude of the peak C with the lowest difference Δe.

Results and discussion

In this section, we present and discuss the different results. First, a comparison between the Haar, Daubechies, Symlets, and Coiflets wavelet families is carried out. Then, we choose the most suitable wavelet family that can reduce noise effectively. Furthermore, we evaluate the performance of the chosen wavelet family by comparing it with the Savitzky–Golay filtering and the median filtering. Besides, to evaluate the obtained results, we compared the capability of the denoising methods to preserve the amplitudes of the peaks C with minimal degradation of the waveform. Moreover, we compare the best denoising method with other approaches used in literature.

Selection of the suitable wavelet family

In this subsection, we compare four wavelet families and for each family we compare different orders. The first purpose of this work is to choose the best order for each wavelet family. The second purpose is to choose the best wavelet family (Haar, Daubechies, Symlet, and Coiflet).

To select the best order for each family, a White Gaussian noise with SNRi ranging from 0 to 20 dB is added to the ICG signal. Then, we evaluated the performance of each order using the SNRo. In fact, the order that gives the highest SNRo, regardless of the SNRi values, is considered as the most suitable order for denoising ICG signal. Figure 6 shows a comparison between the orders of each family. Numerical results demonstrate superior performance of the db8, sym8, and coif 5 wavelet orders over the others.

Fig. 6
figure 6

Comparison of the SNRo for various wavelet orders at different SNRi input. a Performance evaluation of the Daubechies wavelet orders. b Performance evaluation of the Coiflet wavelet orders. c Performance evaluation of the Symlet wavelet orders

In order to choose the appropriate wavelet family, we compared the SNRo, the RMSE, and the PRD at different SNRi inputs. Figure 7 shows the results of the mean SNRo improvement at different SNRi inputs. This figure implies that the Haar and the db8 wavelet families present the lowest and the highest SNRo, respectively. It is also noticed that the SNRo is the highest when using the db8 wavelet function. Therefore, the Daubechies wavelet eighth-order db8 has superior performance compared to the other wavelet families.

Fig. 7
figure 7

Comparison of the SNRo for different wavelet denoising families at different SNRi

Qualitatively, the performances of the wavelet methods are evaluated by visual inspection of the ICG signal. Figure 8 shows the denoised ICG signal using the Haar and the db8 wavelet at a particular SNRi input level of 20 dB. Unlike the db8 wavelet, we observed that the Haar wavelet family affects the shape of the ICG signal by distorting the waves.

Fig. 8
figure 8

Denoising the ICG signal. a Noisy ICG signal (SNRi = 20 dB). b Denoised ICG signal using db8 wavelet. c Denoised ICG signal using Haar wavelet

Figures 9 and 10 show, respectively, the comparison of the mean RMSE and the mean percentage PRD obtained by using different wavelet families at different SNRi inputs. In terms of the two figures, the db8 wavelet family has the lowest RMSE value and the lowest PRD percentage regardless of the level of SNRi input. Indeed, The RMSE and the PRD parameters are used to quantify the error and to evaluate the accuracy of the denoising methods. Therefore, the db8 is the most suitable wavelet family for denoising the ICG signal. It has the highest SNRo and the lowest RMSE and PRD values.

Fig. 9
figure 9

Comparison of the RMSE using different wavelet denoising algorithms at different SNRi inputs

Fig. 10
figure 10

Comparison of the PRD using different wavelet denoising algorithms at different SNRi inputs

The db8 versus the Savitzky–Golay filtering and the median filtering

In this subsection, the db8 wavelet is compared with the Savitzky–Golay filtering and the median filtering for denoising the ICG signal. Table 2 shows the improvement SNRo versus different SNRi input levels of different records. This table shows that the db8 wavelet method presents the highest SNRo regardless of the SNRi input levels for all the subject group. When SNRi is 20 dB, the output SNRo is about 3052 dB larger than the Savitzky–Golay filter and about 3926 dB larger than the Median filter. Afterward, for SNRi of 10 dB, the difference between the Savitzky–Golay and the median denoising methods is about 0.116 dB. Besides, as shown in Fig. 11, it is obvious that the db8 has better performance than the Savitzky–Golay filtering and the median filtering methods. Therefore, the db8 wavelet method can eliminate noise efficiently.

Table 2 Comparison of the SNRo obtained by using different denoising methods at different SNRi input levels
Fig. 11
figure 11

Comparison of the mean SNRo using the db8 wavelet, the Savitzky–Golay, and the median denoising methods at different SNRi input levels

Figure 12 shows the PRD percentage using the three denoising methods at different SNRi input levels. In this figure, the db8 presents the lowest PRD percentage at different SNRi input levels. Thus, the obtained results prove the capability of the db8 wavelet method to denoise the ICG signal with superior performance.

Fig. 12
figure 12

Comparison of the PRD percentage using the db8 wavelet, the Savitzky–Golay, and the median denoising methods at different SNRi input levels

Results evaluation

To evaluate the obtained results, we detect the peaks C and then we determine its amplitudes as mentioned in Sect. 3.4. The main goal of this step is to evaluate the capability of the denoising methods to preserve the C peak amplitude with minimal degradation of the waveform. Indeed, the signal processing algorithms employed for denoising signals provide optimal performance. Despite their optimal performance, the denoising methods significantly attenuate the peaks of the ICG signal. Table 3 shows the C peaks amplitude of the (1) original ICG signals (without adding noise) and (2) the denoised ICG signals (using different filtering methods) at a particular SNRi level of 10 dB. Using the db8 wavelet method, the mean amplitude of the peaks C is close to the original mean amplitude that is about 4.843 Ohms. Moreover, for the Savitzky–Golay and median methods, the mean amplitudes of the peaks C are about 4.91 and 4.813 Ohms, respectively.

Table 3 The C peak amplitudes [Ohms] of the original ICG signal (without adding noise) and the denoised version (using different denoising methods) at a particular SNRi level of 10 dB

Figure 13 shows the computed mean error rates at different SNRi input levels. It is vivid from this figure that the db8 wavelet yields the smallest error rate for the entire SNRi range. Therefore, the db8 wavelet method can denoise the ICG signal with minimal degradation of the shape and it can retain the amplitudes of the peaks C. Thus, the db8 wavelet performs better than the Savitzky–Golay and the median filtering methods.

Fig. 13
figure 13

Comparison of the mean error rate using different denoising methods at different SNRi input levels

Comparison with literature review

In [11], Ridder made a comparison between three denoising techniques: the Ensemble empirical mode decomposition (EEMD), the FIR filter, and the Symlet8 wavelet family. In order to evaluate the performance of each denoising method, the authors determined the amplitudes of the peaks C and the percent error at SNRi ranged from 0 to 15 dB. Table 4 lists the mean error rates using the Ridder methods [11] and our methods. We noticed that the db8 wavelet performs better than the other methods for the entire SNRi range. Indeed, using the db8 wavelet, the mean error rate is about 0.3 % at a SNRi of 0 dB. For the Ridder methods, the lowest mean error is about 7.3 % at 0 dB and it corresponds to the symlet8 wavelet. Furthermore, at 10 dB, the mean error rate is about 0.01 and 0.7 % using the db8 wavelet and the EEMD method, respectively. To conclude, we can find the db8 wavelet family is better than other wavelet families, Savitzky–Golay filter, median filter, FIR and EEMD methods no matter what input SNRi is.

Table 4 Comparison of the mean error rate by using the Ridder methods [11] and our methods at different SNRi levels

Conclusion

Generally, in the acquisition step, the ICG signal is affected by several kinds of noises that distort the determination of the hemodynamic parameters. The main goal of this paper was to choose the best denoising method for ICG signals. In fact, we proposed to use the DWT with different families such as the Haar, Daubechie, Symlet and Coiflet wavelets. First, a comparison was made between these different wavelet families by varying their orders. The Daubechies wavelet order-8 (db8) demonstrated a high performance compared to the other wavelet families. Then, a comparison is carried out between the db8 wavelet and two filtering methods; one based on Savitzky–Golay filtering and the other based on median filtering. The obtained results show that the db8 wavelet is the most efficient denoising method which can filter the ICG signal with minimal degradation of the shape. Furthermore, the db8 wavelet method presents the lowest error rate for determining the amplitudes of the peaks C. In conclusion, the db8 wavelet is the most suitable method for denoising the ICG signal. It can facilitate the determination of the hemodynamic parameters and the diagnosis of cardiovascular diseases.