Coder Social home page Coder Social logo

Comments (7)

kkappler avatar kkappler commented on September 27, 2024

#32 is solved and #33 is hacked around so this issue is ready to attack.

from mt_metadata.

kkappler avatar kkappler commented on September 27, 2024

This is done except for the effect of the FIR filters.

We need to be careful here, because the FIR filters operate on data at differing sampling rates.

Likely we will want to compute the response for each of these filters but do so as if the filter was applied to data of the "input_sampling rate" of that stage. Which means that we need to propage the input sampling rate attribute from the obspy stage to the FIR filter.

from mt_metadata.

kkappler avatar kkappler commented on September 27, 2024

Adding a property to the FIR filter called
decimation_input_sample_rate
This property is in the obspy.core.inventory.response.FIRResponseStage that is read in from the inventory

To make this property appear in the mt_metadata filter instance we need to do the following things:

  1. We add the property to the relevant standards.json. In this case fir_filter.json
  2. We add a reference in the obspy_mapping which associates the obspy property name with the mt_metadata property name
  3. We add the property to the FIRFilter() class
    Technically, you only need to do (2) above. (1) is best practice and (3) may add clarity to someone reading the code.

Also, when you are working on this,

  • review the decimation_inactive property and confirm that it is being appropriately assigned for the various FIR filters. Also, note it is probably clearer to use decimation_active as the property.
  • Review the symmetry required field from station_xml, deduce the meaning of this; is it in how the filter is applied (zero-phase) or are the filter taps themselves symmetric. Add to obspy_mapping["_symmetry"] = "_symmetry" if appropriate

from mt_metadata.

kkappler avatar kkappler commented on September 27, 2024

@kujaku11 When using the json standards model for populating the filters, I couldn't find an example of how to instantiate a property to a default value. I am thinking about adding a property "decimation_active" to filters_base.py. I suppose I would make it required, and basically the behaviour I would like is that it is false unless when reading from obspy stage I observe something like stage.decimation_factor is not None, in which case I would set it to True... Something to discuss Thursday most likely

hmm, I guess the way to do it is to put "decimation_factor" into the obspy mapping and then make the @Property return bool(self.decimation_factor). I'll code it on a branch and see how it goes

from mt_metadata.

kkappler avatar kkappler commented on September 27, 2024

Filters seem to come with symmetry "None" or "EVEN" This issue relates to #35

FIR_AD32M
FIR_F96C
FIR_FS2D5

from mt_metadata.

kkappler avatar kkappler commented on September 27, 2024

The next step here is to get clarity on symmetry. Most likely we just hstack(x, fliplr(x)) to get the whole filter.

There is ambiguity if these filters are applied from the left or the right as well. For symmetric filters it probably doesn;t matter but for the non-symmetric compare the time series and spectra of data filtered with lfilter and rfilter

Pausing to work on TFs

from mt_metadata.

kkappler avatar kkappler commented on September 27, 2024

symmetery handled with the help of the fdsn online manual and the pdf of the seed manual.

All calibrations now work.

from mt_metadata.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.