Two-Stage Adaptive Normalization Based on Exponential Moving Average for DC Offset and Variance Non-Stationarity Compensation in Real-Time Volcanic Seismic Signal Preconditioning
DOI:
https://doi.org/10.21009/jvote.v8i2.71692Keywords:
Adaptive filtering, DC offset, Exponential moving average, Kalman filter, Seismic signalAbstract
Volcanic seismic signals output by digitizers as raw counts carry the accumulated imperfections of the entire acquisition chain—specifically, significant DC offset and large-scale variability—thereby violating the stationarity assumption underpinning downstream estimation blocks. This study proposes a two-stage adaptive normalization architecture based on the Exponential Moving Average (EMA) to serve as a statistical pre-conditioning block prior to the Kalman Filter. The first stage removes the DC offset using a recursive mean estimator—analytically equivalent to a first-order high-pass filter—while the second stage performs Z-Score standardization based on a running estimate of the standard deviation. Testing was conducted on a 386.48-second vertical-channel recording from the Leker (LKR) station at Mount Semeru (sampled at 100 Hz; 38,649 samples), characterized by a DC offset of −7,292.4 counts and a variance dynamic ratio of 10.42. With an adaptation constant of 0.005, the effective cutoff frequency of 0.0796 Hz lies approximately eighteen times below the 1.42 Hz fundamental frequency of the harmonic tremor, resulting in a passband attenuation of only −0.035 dB. Results demonstrate that the estimator locks onto the bias with a discrepancy of 7.72 counts (0.070% of the signal's standard deviation), reduces the dynamic ratio to 1.52, and yields an output where 99.989% of samples fall within the ±3 range. The Normalized Innovation Squared test confirms that the static covariance parameters of the Kalman Filter remain consistent with the normalized input, yielding a ratio of 1.17 compared to 17.10 for the raw input—an improvement factor of 14.6. The algorithm requires 8 bytes of state memory and 0.0104% processor utilization on an ARM Cortex-M4F at 48 MHz, whereas static normalization of the same recording requires 151.0 kB and cannot be implemented on that platform.

