1 Introduction

Impedance cardiography (ICG) allows to measure parameters of heart mechanical function from changes of thorax electrical impedance, caused by the changes of blood volume during cardiac cycle. ICG can be used to estimate stroke volume (SV), pre-ejection period (PEP) and ejection time (ET) [1]. This method is simple, cost-effective, noninvasive and allows for continuous measurement.

Origin of ICG signal is not clear [2], it is possible that it reflects not only changes of blood volume in aorta but also in atria and in lungs [3]. In some subjects, main deflection of the signal associated with blood ejection from ventricles is followed by second deflection, termed O wave. It is suggested that O wave is associated with an opening snap of the mitral valve [4] and may be the symptom of the bicuspid valve malfunction.

ICG is sensitivity to movement artifacts inter alia breathing, which distorts impedance signal and in consequence, can lead to erroneous calculation of SV value. Several methods were proposed to eliminate this distortion, for instance:

  • breath holding [5], of momentary duration because of obvious reason,

  • signal averaging of several heart cycles [6], continuous character of ICG signal is lost,

  • digital band-pass filters with narrow frequency band [7], which cannot eliminate movement artifacts because of their broad spectrum.

Laguna et al. [8] described adaptive filter for event-related bioelectric signals. This type of filter learns signal characteristic within the cycle and removes components uncorrelated with the event. ICG is time-locked to the QRS complex of ECG. Laguna et al. [9] showed that such adaptive filter could be used to filter ICG signal obtained during exercise, however, they did not compared data such obtained against reference method.

In this study, we compared ICG signal obtained during normal breathing with that after adaptive filtration and ICG signal obtained during momentary breath holding with this signal processed with adaptive filter.

2 Method

2.1 The Adaptive Filter

Output of the adaptive filter for k-th heart cycle is:

$$ y_{k} = X_{k}^{T} W_{k} $$

where: Xk is reference signal defined as combination of sinus and cosines values:

$$ x_{{i,k\left( {m,l} \right)}} = \left\{ {\begin{array}{*{20}c} {\frac{1}{\sqrt H }\sin \left( {2\pi \frac{il}{{L_{m} }}} \right);i = 1,3, \ldots ,2H - 1 } \\ {\frac{1}{\sqrt H }\cos \left( {2\pi \frac{{\left( {i - 1} \right)l}}{{L_{m} }}} \right);i = 2,4, \ldots ,2H} \\ \end{array} } \right. $$
Lm:

number of samples in k-th cycle,

l:

sample’s number,

H:

number of harmonics necessary to reconstruct the signal, it must be greater than \( \frac{{L_{m} - 1}}{2} \).

Wk is weighted vector, for each cycle its values are modified, according to formula:

$$ W_{k + 1} = W_{k} + 2\mu \left( {d_{k} - y_{k} } \right)X_{k} $$
μ:

is time constant, it should be smaller than 0.3 to allow for the algorithm convergence, smaller values improve adjustment but increase number of iterations necessary for reaching stable output signal,

dk:

input signal, in this study dz/dt, where z—electrical impedance of thorax

In first iteration weighted vector is calculate as Wiener weighted vector:

$$ W_{0} = R^{ - 1} P $$

R is input correlation:

$$ R = E\left[ {X_{k} X_{k}^{T} } \right] $$

P is cross correlation vector:

$$ P = E\left[ {d_{k} X_{k}^{T} } \right] $$

To perform adaptive filtering of the signal it is necessary to divide it into heart cycles. Most obvious solution is use of the R peak from ECG signal.

We first tested our implementation of adaptive filter using a triangular wave with added noise of the same amplitude as signal. Results are shown in Fig. 1. Adaptive filter removed most of the noise from the signal (μ = 0.05).

Fig. 1
figure 1

Validation of adaptive filter implementation. Triangular signal was used as a reference signal (top chart), input signal consisted of reference signal and white noise (middle chart). Adaptive filter, μ = 0.05, removed most of the noise (bottom chart)

2.2 Measurement

Ten young healthy persons (5 male and 5 female) participated in the study. Subjects rested in supine position for 1 min, next they hold breath for 30 s. ECG and cardiac impedance were recorded.

For both parts of the record (rest and breath holding) adaptive filter was applied. Value of dz/dtmax in each cardiac cycle was detected.

3 Results

Figure 2 shows exemplary dz/dt signal. First plot presents dz/dt signal during breath hold. Second one presents same signal after adaptive filtering. Third plot presents the signal during normal breathing, influence of breathing is well visible. Fourth plot presents this signal after adaptive filtering.

Fig. 2
figure 2

Comparison of dz/dt signal, before and after adaptive filtering, recorded during breath hold and normal breathing, x—indicates R peak of ECG signal

In Table 1 mean values of the dz/dtmax in each subject during breath holding, during normal breathing before and after adaptive filtering are shown.

Table 1 Mean value of dz/dtmax

4 Conclusion

Adaptive filter reconstructs signal in cardiac cycle using information from the past. Figure 1 depicts filter performance on synthetic data: triangular signal with white noise of the same amplitude. Adaptive filter removes almost all noise. This is a proof of utility of the adaptive filter to extract useful information even from very noisy signal.

Figure 2 shows that adaptive filtering reproduces faithfully ICG signal when such signal is not distorted by breathing or movement artefacts. Adaptive filter does not affect ICG signal in that situation. It works as low-pass filter, with only small influence on the shape of the signal.

During normal breathing signal’s baseline follows phase of breath. Shape of dz/dt also changes from beat to beat. After adaptive filtering baseline becomes stable and the shape of ICG turns similar in each cardiac cycle. However, this shape is different from that during breath holding—as O wave becomes clearly visible. This wave is absent when the subject withholds breathing, therefore adaptive filtering confirmed the occurrence of O wave in this subject during breathing and its absence during breath holding.

Value of dz/dtmax, which is proportional to SV according to Kubicek formula, used for SV calculation, differ between breath hold and normal breathing, adaptive filtering also slightly effects dz/dtmax value (Table 1). During breathing, dz/dtmax shows bigger variation but it may be the effect of modulation of stroke volume by respiration [10]. Adaptive filter removes this variation, so it may mask some quick changes in stroke volume. This hypothesis should be verified with reference method.

Thus, on one hand, adaptive filtering may help extract information from noisy and distorted ICG signal, but on the other hand, it may obscure some real changes in signal, for instance, rapid cyclic changes connected with respiration.