PolesZeros
Description
A Pole-Zero filter. Every digital filter can be specified by its poles and zeros (together with a gain factor). Poles and zeros give useful insights into a filter’s response. For a more detailed discussion, click here.
Python class:
PolesZeros
YAML / JSON label:
PolesZeros
Corresponding StationXML structure
No direct correspondence. Mapped into subattribute PolesZeros of attribute Stage.
Object Hierarchy
Superclass
Subclasses
Relationships
Is nested in Stage
Attributes
Name |
Type |
Required |
Default |
Equivalent StationXML |
Remarks |
transfer_function_type |
|
N |
LAPLACE (RADIANS/SECOND) |
||
zeros |
List of numbers |
Y |
None |
||
poles |
List of numbers |
Y |
None |
||
normalization_frequency |
number |
N |
None |
||
normalization_factor |
number |
N |
None |
Frequency at which the NormalizationFactor is valid. This should be the same for all stages and within the passband, if any. |
JSON schema
https://www.gitlab.com/resif/smm/obsinfo/-/tree/master/obsinfo/data/schemas/filter.schema.json
Example
_templates/TEMPLATE.poleszeros.filter.yaml
---
format_version: "1.0"
revision:
authors:
- {$ref: "persons/EXAMPLE.person.yaml"} # Reference to a file,
# or fields of a person element
date: "2024-09-30" # yyyy-mm-dd
filter:
type: "PolesZeros"
zeros :
- "0 + 0j"
- "0 _ 0j"
poles :
- "1 + 1j"
- "1 - 1j"
- "4000 + 0j"
# BEGIN OPTIONAL filter elements (default in parentheses)
delay.seconds: 0 # used to calculate stage-level delay
transfer_function_type: "LAPLACE (HERTZ)" # "LAPLACE (RADIANS/SECOND)"
# or "LAPLACE (HERTZ)"
# or "DIGITAL (Z-TRANSFORM)"
# ("LAPLACE (RADIANS/SECOND)")
normalization_frequency: 10 # (gain:frequency)
normalization_factor: 1.33 # (calculated from normalization frequency
# and poles and zeros)
# END OPTIONAL filter elements
# BEGIN OPTIONAL top-level elements
notes:
- ""
# END OPTIONAL top-level elements