Efficient storage of narrowband time domain data

Give some feedback on openEMS.

Moderators: thorsten, sebastian

Post Reply
Posts: 26
Joined: Thu 09 Jun 2016, 12:28

Efficient storage of narrowband time domain data

Post by gmichel » Mon 26 Dec 2016, 21:14

Hi Folks,

with this thread I would like to trigger a discussion on the obove topic. The
time domain output of OpenEMS can be lengthy and is therefore sometimes hard
to handle. One option to improve the situation could be the following:

The most common excitation is the modulated Gaussian pulse. The output of
probes or field dumps is stored with sampling rate of 1/(4(f_0+f_c)). f_0 is
the center frequency and f_c is the 20dB cutoff frequency. This can cover a
bandwidth of 4*(f_0+f_c). The smapling rate scales with f_0. However, the
whole information of a modulated signal is contained in the
baseband. Therefore it would be sufficient to "demodulate" the signal by
multiplying it with cos(2*pi*f_0) and sin(2*pi*f_0) and to store only these
two (low pass filtered) components. Any posprocessing must "re-modulate" the
data with f_0 in order to reconsruct the original signal.

The Gaussian excitation has a duration of 9/(pi*f_c), i.e. it starts and stops
at exp(-9)=-78dB. If we assume the same limits in the frequency domain we
arrive at a baseband bandwidth of 1/(4f_c). This approximation is good enough,
knowing that a signal cannot have a finite extent in frequency domain as well
as in time domain. As we have to store both in-phase an quadrature-phase
components, we will have a storage rate of 1/(8f_c).

The ratio of the original sampling rate and the baseband storage rate is
2f_c/(f_0+f_c). So for the simple patch tutorial with f_0=2GHz and f_c=1GHz we
obtain a ratio of 2/3 for the storage requirement. But the simple patch
tutorial would also work with f_0=2.5GHz and f_c=0.5GHz. This would result in
a ratio of 1/3.

It is clear that a lower bandwidth results in a longer excitation pulse. But
the system response is much longer than the excitation in most cases due to
resonant structures in the model. So this effect should be of minor
importance. Generally we have a time-bandwidth product of 4*9/pi for the
baseband pulse, i.e. we need 12 samples per excitation length to repesent the

Maybe there are additioinal options for lossy compression of the baseband
data, but I am no expert on this. We could also start the recording only when
a certain amplitude is reached. What are your ideas on this topic?


Post Reply