Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simple high-level routines for arbitrary waveforms #7

Open
prisae opened this issue Feb 14, 2018 · 2 comments
Open

Simple high-level routines for arbitrary waveforms #7

prisae opened this issue Feb 14, 2018 · 2 comments
Labels
enhancement New feature or request
Milestone

Comments

@prisae
Copy link
Member

prisae commented Feb 14, 2018

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.

@prisae prisae added the enhancement New feature or request label Feb 14, 2018
@prisae prisae mentioned this issue Feb 14, 2018
@prisae prisae changed the title Arbitrary waveform Allow arbitrary waveforms Feb 14, 2018
@prisae prisae added this to the v1.6.0 milestone Feb 15, 2018
@prisae
Copy link
Member Author

prisae commented Feb 28, 2018

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:
    • for 2/-2: ramp-width,
    • for 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.

@prisae prisae modified the milestones: v1.6.0, v1.7.0 Apr 29, 2018
@prisae prisae modified the milestones: v1.7.0, v1.8.0 May 7, 2018
@prisae prisae removed this from the v1.8.0 milestone Oct 27, 2018
@prisae prisae changed the title Allow arbitrary waveforms Simple high-level routines for arbitrary waveforms Nov 18, 2019
@prisae
Copy link
Member Author

prisae commented Nov 22, 2019

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.

@prisae prisae added this to the empymod v3.0 milestone Mar 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant