FIR
Description
A finite impulse response (FIR) filter is a filter whose impulse response (or response to any finite length input) is of finite duration, because it settles to zero in finite time.
The impulse response (that is, the output in response to a Kronecker delta input) of an Nth-order discrete-time FIR filter lasts exactly N + 1 samples (from first nonzero element through last nonzero element) before it then settles to zero. FIR filters can be discrete-time or continuous-time, and digital or analog.
Alternatively, FIR filters in obsinfo are also commonly documented using the Coefficients class, though FIR has the advantage of allowing representation of symmetric FIR coefficients without repeating them.
For a more detailed discussion, click here.
Python class:
FIR
YAML / JSON label:
FIR
Corresponding StationXML structure
FIR
Object Hierarchy
Superclass
Subclasses
None
Relationships
Is nested in Stage
Attributes
Name |
Type |
Required |
Default |
Equivalent StationXML |
Remarks |
symmetry |
|
Y |
None |
||
coefficients |
List of numbers |
N |
None |
||
coefficient_divisor |
number |
N |
1.0 |
NOT USED |
JSON schema
https://www.gitlab.com/resif/smm/obsinfo/-/tree/master/obsinfo/data/schemas/filter.schema.json
Example
_templates/TEMPLATE.FIR.filter.yaml
---
format_version: "1.0"
revision:
authors:
- {$ref: "persons/EXAMPLE.person.yaml"} # Reference to person file,
# or fields of a person element
date: "2024-09-30" # yyyy-mm-dd
filter:
type: "FIR"
symmetry: "NONE" # "EVEN", "ODD" or "NONE"
coefficients:
- 1
- 10
- -20
- 30
- -20
- 10
- 1
delay.samples: 3 # used to calculate stage-level delay, should be at/before max peak
# BEGIN OPTIONAL filter elements
coefficient_divisor: 12 # number to divide all coefficients by for unity gain (1)
# END OPTIONAL filter elements
# BEGIN OPTIONAL top-level elements
notes:
- ""
# END OPTIONAL top-level elements