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

Filter

Subclasses

None

Relationships

Attributes

Name

Type

Required

Default

Equivalent StationXML

Remarks

symmetry

List of values:

ODD, EVEN, NONE

Y

None

Symmetry

coefficients

List of numbers

N

None

NumeratorCoefficient

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

Class Navigation

Filter <==