Open prisae opened 6 years ago
At the moment, signal
can have four states:
None
: for f-domain calculation,0
: for impulse response,1
/ -1
: for step-on / step-off responses.The idea is to add three more states:
[2, tw, t0]
/ [-2, tw, t0]
: for ramp-on / ramp-off responses,[3, tw, a, t0]
: for arbitrary waveforms.Parameters:
t0
: specifies at which time is time zero, relative to tw
,tw
:
2
/-2
: ramp-width,3
: discrete times of the waveform,a
: amplitudes at times tw
, only for 3
.Examples:
[2, 1e-3, 1e-3]
: Ramp-on, ramp-width = 1 ms, time zero at the end of the ramp.[-2, 2e-3, 0]
: Ramp-off, ramp-width = 2 ms, time zero at the beginning of the ramp.[3, [0, 1e-3, 3e-3, 4e-3], [0, -1, -1, 0], 3e-3]
: Negative trapezoid with off- and on-ramps of 1 ms width, and in-between 2 ms hold; time zero at the start of the ramp-on.A first TEM example for a central-loop configuration can be found in TEM: ABEM WalkTEM, which includes an arbitrary waveform and a Butterworth-type filter.
empymod
models the EM Green's function for electric and magnetic sources and receivers, and can, as such, model any EM method and any survey layout. However, the implementation can sometimes be tricky. It would therefore be good to add some easy high-level routines to model some of them, e.g. TEM.One such feature that is possible, but could be made much easier, is arbitrary waveforms. Currently the high-level time-domain routines only contain impulse and step-on and -off functions. However, it is not too difficult to allow any arbitrary waveform.
Alternatively, if not implemented properly, than we should at least provide some detailed examples.