Welcome to the StationXML documentation!

Version: 1.2 (2022-02-25)

Overview

Introducing StationXML

StationXML is an XML representation of metadata that describes the data collected by geophysical instrumentation.

StationXML is defined by a schema that specifies the allowable format of StationXML documents.

StationXML Example

StationXML Show/Hide

<?xml version="1.0" encoding="UTF-8"?>
<FDSNStationXML xmlns="http://www.fdsn.org/xml/station/1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.fdsn.org/xml/station/1 http://www.fdsn.org/xml/station/fdsn-station-1.2.xsd"
    schemaVersion="1.2">
  <Source></Source>
  <Sender>FAKE-DC</Sender>
  <Module>Some WEB SERVICE</Module>
  <Created>2022-02-21T20:27:54.6270Z</Created>
  <Network code="IU" startDate="1988-01-01T00:00:00Z">
   <Description>Global Seismograph Network - IRIS/USGS (GSN)</Description>
   <Identifier type="DOI">10.7914/SN/IU
   </Identifier>
   <Station code="ANMO" startDate="2002-11-19T21:07:00Z">
    <Description>(GSN) IRIS/USGS (IU) and ANSS</Description>
    <Latitude>34.94591</Latitude>
    <Longitude>-106.4572</Longitude>
    <Elevation>1820.0</Elevation>
    <Site>
     <Name>Albuquerque, New Mexico, USA</Name>
    </Site>
    <Channel code="BHZ" locationCode="00" startDate="2018-07-09T20:45:00Z" >
     <Latitude>34.94591</Latitude>
     <Longitude>-106.4572</Longitude>
     <Elevation>1632.7</Elevation>
     <Depth>188</Depth>
     <Azimuth>0</Azimuth>
     <Dip>-90</Dip>
     <SampleRate>40</SampleRate>
     <Sensor>
      <Description>Streckeisen STS-6A VBB Seismometer</Description>
     </Sensor>
     <Response>
     <InstrumentSensitivity>
       <Value>1.98475E9</Value>
       <Frequency>0.02</Frequency>
       <InputUnits>
         <Name>m/s</Name>
       </InputUnits>
       <OutputUnits>
         <Name>count</Name>
       </OutputUnits>
     </InstrumentSensitivity>
     </Response>
    </Channel>
   </Station>
  </Network>
 </FDSNStationXML>

Note that each XML element must have a start tag (e.g., <Station>) and an end tag (</Station>) and the element hierarchy must be maintained (e.g., a <Channel> may not exist outside of a <Station> and a <Station> may not exist outside of a <Network>, etc.).

The FDSN and StationXML schema

StationXML was developed through the International Federation of Digital Seismograph Networks (FDSN) to provide a standardized format for geophysical metadata.

Notice that the example StationXML excerpt above contains the following lines

<?xml version="1.0" encoding="UTF-8"?>
<FDSNStationXML xmlns="http://www.fdsn.org/xml/station/1"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.fdsn.org/xml/station/1 http://www.fdsn.org/xml/station/fdsn-station-1.2.xsd"
   schemaVersion="1.2">

The first line, the xml prologue, specifies the xml version and the character encoding.

The second line begins the StationXML document and specifies the location and version of the schema to which the StationXML example must conform.

The FDSN maintains all versions of the StationXML schema at:

For instance, at the time of this writing, the latest schema version is v1.2 and is located at:

Character Encoding

UTF-8 is the default encoding for XML, specified in the prologue, allowing non-ascii characters to be used within StationXML. This is common within names of people and places and in comments and descriptions. However, authors should use ASCII when possible for maximum portability.

In particular, text that will likely be used by software, as opposed to simply displayed, such as ids and units, should only use ASCII.

Documentation Organization

This documentation has 5 parts:

  1. This introduction

  2. StationXML Reference - Over time, once users have absorbed the other parts of the documentation, it is expected that this reference section will be the most frequently used. The reference section is auto-generated directly from the FDSN schema so that it should always be in sync with the schema. The reference itself is broken out by the 5 levels of response detail:

    • FDSNStationXML

    • Network

    • Station

    • Channel

    • Response

  3. Specifying and using response information - In this section you will find theory and examples to help you create instrument responses for your own stations.

  4. StationXML tools - contains examples of 3rd party tools available to help users create and edit StationXML files. This is expected to be a fluid page that changes as new tools become available and older tools are deprecated.

  5. Appendices - In here you will find more technical details on specific parts of StationXML and metadata. For instance, the first section, Mapping SEED to StationXML, is meant to be used as a reference to help users migrate their SEED format metadata to StationXML

Some History - SEED

For three decades, the Standard for the Exchange of Earthquake Data (SEED) was the standard format for archiving and distributing metadata within the seismological community. Once representing file volumes binding metadata to data, a provision was later developed that allowed SEED metadata to stand on its own and was given the designation ‘dataless SEED’.

StationXML was developed through the FDSN (International Federation of Digital Seismograph Networks) as a replacement and extension of the SEED standard.

The purpose of the FDSN StationXML schema (fdsn-station.xsd) is to define an XML representation of the most important and commonly used structures of SEED 2.4 metadata with enhancements.

The goal of this document is to allow mapping between SEED 2.4 dataless SEED volumes and the StationXML schema with as little transformation or loss of information as possible, while at the same time simplifying station metadata representation when possible. Also, content and clarification has been added where lacking in the SEED standard.

StationXML Schema Changes

Changes from version 1.1 to 1.2 (2022-2-25)

The 1.2 revision of StationXML makes no changes to the schema proper, only changing the schema version and adding documentation via <xs:annotation> and <xs:documentation> elements, as well as external files. Any existing code that works with 1.1 should work with 1.2 without modification. We recommend that services generating StationXML or distributing it, such as FDSNWS Station web services, update the schemaVersion attribute to ‘1.2’ at the next convenient opportunity.

Note that the documentation makes recommendations in many cases and services that generate 1.2 StationXML should attempt to follow these recommendations where possible. These recommendations include:

  • Dates and times should be W3C/ISO 8601 and should always include a timezone of ‘Z’ to indicate UTC

  • Do not use endDate in the future, it should not be present when currently active

  • Originators of StationXML use <Source> and distributors use <Sender>

  • Network, Station and Channel sourceId should use the FDSN Source Identifiers specification, http://docs.fdsn.org/projects/source-identifiers

  • Use SI symbols for unit name, like m/s, along with singular lowercase “count” for digital counts.

  • Avoid SEED-style uppercase unit symbols

  • Omit Description for common units like m/s, m/s**2, count, etc.

  • Use empty Response element when response is unknown or not applicable.

  • For low pass FIR filters, use gain at zero frequency (sum of coefficients)

  • Gain-only analog Stages should use PolesZeros with no poles or zeros

  • Gain-only digital Stages should use FIR with a single numerator of value 1

Changes from version 1.0 to 1.1 (2019-5-3)

(Edited 2019-12-18 for small clarifications)

  • Add (persistent) <Identifier> element to all base nodes (Network, Station, Channel)

  • Unify response elements, allow “number” and disallow “unit” attribute to <Numerator> and <Denominator>

  • Allow <CreationDate> to be optional

  • Use xs:double for <ApproximationLowerBound>, <ApproximationUpperBound> and <MaximumError>

  • Include data availability elements described in the fdsn-station+availability-1.0.xsd extension schema as optional elements of the main schema

  • Remove <StorageFormat> from <Channel>

  • Limit each <Operator> to a single <Agency>

  • Allow more than a single <Equipment> occurrence in <Channel>, same as in <Station>

  • Allow <Operator> at the <Network> level, same as in <Station>

  • Add “sourceID” attribute, with URI value, to the base node type for <Network>,<Station>,<Channel>

  • Do not require and disallow <StageGain> and <Decimation> for <Polynomial> response stages

  • Add “measurementMethod” attribute to “uncertaintyDouble” attribute group used by azimuth, dip, distance, latitude, longitude, elevation, etc. types

  • Add <WaterLevel> within <Station> and <Channel>

  • Add “subject” attribute to <Comment> to allow relating comments, make “id” attribute optional.

The vast majority of the StationXML 1.0 schema exists in the 1.1 schema, making most 1.0 documents compatible with the 1.1 schema. There are a few small exceptions where 1.0 elements were removed from 1.1, in one important case to avoid the specification of incorrect metadata.

An XSLT definition for StationXML 1.0 to 1.1 conversion exists to assist with the systematic conversion of version 1.0 documents to the version 1.1 schema. This is done by removing the elements no longer allowed in 1.1.

Potential Future Changes

The following are potential future changes, as tagged in the schema with <warning> elements in the documentation. They may result in modifications or deletions in future versions of StationXML.

  • <FDSNStationXML> schemaVersion :

Warning, Future Change

schemaVersion: This attribute may change to be a string to allow micro versions, and potential dash, ‘-’, separators starting in version 2. Users should not assume ‘xs:decimal’.

  • <FDSNStationXML> <Source> :

Warning, Future Change

<Source>: This element is likely to be a choice with Sender.

  • <FDSNStationXML> <Sender> :

Warning, Future Change

<Sender>: This element is likely to be a choice with Source.

  • <Network> endDate :

Warning, Future Change

endDate: This attribute should not be used if it is in the future.

  • <Network> endDate :

Warning, Future Change

endDate: This attribute is likely to require timezone of Z.

  • <Network> startDate :

Warning, Future Change

startDate: This attribute is likely to require timezone of Z.

  • <Network> <TotalNumberStations> :

Warning, Future Change

<TotalNumberStations>: This element is likely to be removed.

  • <Network> <SelectedNumberStations> :

Warning, Future Change

<SelectedNumberStations>: This element is likely to be removed.

  • <Station> endDate :

Warning, Future Change

endDate: This attribute should not be used if it is in the future.

  • <Station> endDate :

Warning, Future Change

endDate: This attribute is likely to require timezone of Z.

  • <Station> startDate :

Warning, Future Change

startDate: This attribute is likely to require timezone of Z.

  • <Station> <CreationDate> :

Warning, Future Change

<CreationDate>: This element is likely to be removed.

  • <Station> <TerminationDate> :

Warning, Future Change

<TerminationDate>: This element is likely to be removed.

  • <Station> <TotalNumberChannels> :

Warning, Future Change

<TotalNumberChannels>: This element is likely to be removed.

  • <Station> <SelectedNumberChannels> :

Warning, Future Change

<SelectedNumberChannels>: This element is likely to be removed.

  • <Channel> endDate :

Warning, Future Change

endDate: This attribute should not be used if it is in the future.

  • <Channel> endDate :

Warning, Future Change

endDate: This attribute is likely to require timezone of Z.

  • <Channel> startDate :

Warning, Future Change

startDate: This attribute is likely to require timezone of Z.

  • <Channel> <Type> :

Warning, Future Change

<Type>: This element is likely to be removed.

  • <Response> <Stage> :

Warning, Future Change

<Stage>: A filter, (PolesZeros, Coefficients, FIR, etc) may be required.

  • <Response> <Stage> <Coefficients> :

Warning, Future Change

<Coefficients>: The Numerator element is likely to be changed to require at least one numerator.

  • <Response> <Stage> <Coefficients> <Numerator> :

Warning, Future Change

<Numerator>: At least one Numerator may be required.

  • <Response> <Stage> <FIR> :

Warning, Future Change

<FIR>: The NumeratorCoefficient field is likely to be changed to require at least one numerator in future versions of StationXML.

  • <Response> <Stage> <FIR> :

Warning, Future Change

<FIR>: The NumeratorCoefficient field is likely to be renamed to Numerator in future versions of StationXML.

  • <Response> <Stage> <FIR> <NumeratorCoefficient> :

Warning, Future Change

<NumeratorCoefficient>: At least one Numerator may be required.

  • <Response> <Stage> <FIR> <NumeratorCoefficient> :

Warning, Future Change

<NumeratorCoefficient>: May be renamed to Numerator.

Documentation Changes

Changes to this documentation.

Version 2022-02-25:

  • Resolved issues with documentation by FDSN WG evaluation team.

Version 2020-09-02:

  • Initial StationXML documentation.

The initial version of StationXML documentation was prepared by ISTI and sponsored by IRIS Data Services and ORFEUS.

StationXML Reference

<FDSNStationXML> required

Warning, Future Change

schemaVersion: This attribute may change to be a string to allow micro versions, and potential dash, ‘-’, separators starting in version 2. Users should not assume ‘xs:decimal’.

Root-level for StationXML documents.

Attributes of <FDSNStationXML>:

attribute

type

required

description

example

schemaVersion

decimal

yes

The StationXML schema version of this document.

schemaVersion=”1.2”

Sub Elements of <FDSNStationXML>:

element

type

number

<Source>

string

required

<Sender>

string

optional

<Module>

string

optional

<ModuleURI>

anyURI

optional

<Created>

dateTime

required

<Network>

required, many

<Source> required

FDSNStationXML Source

Warning, Future Change

<Source>: This element is likely to be a choice with Sender.

content type: string

Originator of the information contained in the document. It is recommended that archives or services providing StationXML that are not the original creator of the metadata set this to be the empty element, especially because a StationXML document may contain information from many unrelated networks.

<Sender>

FDSNStationXML Sender

Warning, Future Change

<Sender>: This element is likely to be a choice with Source.

content type: string

Name of the institution sending this document, for example the institution hosting an FDSN Station web service. It is recommended that authoritative StationXML created by the originator of the metadata not use Sender and use Source instead. For example metadata created by a network operator for submission to other data archives would only use Source, The data archive in response to a request would use Sender.

<Module>

FDSNStationXML Module

content type: string

Name of the software module that generated this document.

Example: <Module>SeisComp3</Module>

<ModuleURI>

FDSNStationXML ModuleURI

content type: anyURI

Resource identifier of the query that generated the document, or, if applicable, the resource identifier of the software that generated this document.

<Created> required

FDSNStationXML Created

content type: dateTime

Date that this document was generated.

<Network> required

Warning, Future Change

endDate: This attribute should not be used if it is in the future.

Warning, Future Change

endDate: This attribute is likely to require timezone of Z.

Warning, Future Change

startDate: This attribute is likely to require timezone of Z.

The Network container. All station metadata for this network is contained within this element. A Description element may be included with the official network name and other descriptive information. An Identifier element may be included to designate a persistent identifier (e.g. DOI) to use for citation. A Comment element may be included for additional comments.

An active Network should not use the endDate attribute. Unlike SEED, do not use an endDate in the distant future to mean active.

Example: <Network code=”XX” startDate=”2016-01-27T13:00:00Z” />

Attributes of <Network>:

attribute

type

required

description

example

alternateCode

string

no

A code used for display or association

alternateCode=”GSN”

code

string

yes

Name of Network

code=”XX”

endDate

dateTime

no

End date of network. Do not use if still active, endDate should not be in the future.

endDate=”2018-01-27T00:00:00Z”

historicalCode

string

no

A previously used code if different from the current code

historicalCode=”XX”

restrictedStatus

RestrictedStatusType

no

One of: “open”, “closed”, “partial”

restrictedStatus=”open”

sourceID

anyURI

no

A data source identifier in URI form. It is recommended that this follow the FDSN Source Identifiers specification, http://docs.fdsn.org/projects/source-identifiers

sourceID=”FDSN:XX”

startDate

dateTime

no

Start date of network

startDate=”2016-07-01T00:00:00Z”

Sub Elements of <Network>:

element

type

number

<Description>

string

optional

<Identifier>

string

optional, many

<Comment>

optional, many

<DataAvailability>

optional

<Operator>

optional, many

<TotalNumberStations>

decimal

optional

<SelectedNumberStations>

decimal

optional

<Station>

optional, many

<Description>

Network Description

content type: string

Description of the Network

Example: <Description>This is a description</Description>

<Identifier>

Network Identifier

content type: string

A type to document persistent identifiers. Identifier values should be specified without a URI scheme (prefix), instead the identifier type is documented as an attribute.

Example: <identifier type=”DOI”>10.1000/140</identifier>

Example: <identifier type=”DOI”>10.7914/SN/XX</identifier>

Attributes of <Identifier>:

attribute

type

required

description

example

type

string

no

Identifier type

type=”DOI”

<Comment>

Network Comment

Container for a comment or log entry.

Attributes of <Comment>:

attribute

type

required

description

example

id

CounterType

no

An ID for this comment

id=”12345”

subject

string

no

A subject for this comment. Multiple comments with the same subject should be considered related.

subject=”Scheduled maintenance”

Sub Elements of <Comment>:

element

type

number

<Value>

string

required

<BeginEffectiveTime>

dateTime

optional

<EndEffectiveTime>

dateTime

optional

<Author>

optional, many

<Value> required

Network Comment Value

content type: string

Comment text.

Example: <Value>Temporary network deployment</Value>

<BeginEffectiveTime>

Network Comment BeginEffectiveTime

content type: dateTime

Start time for when comment applies.

Example: <BeginEffectiveTime>2008-09-15T00:00:00Z</BeginEffectiveTime>

<EndEffectiveTime>

Network Comment EndEffectiveTime

content type: dateTime

End time for when comment applies.

Example: <EndEffectiveTime>2008-09-16T12:00:00Z</EndEffectiveTime>

<Author>

Network Comment Author

Author of Comment.

Person’s contact information. A person can belong to multiple agencies and have multiple email addresses and phone numbers.

Sub Elements of <Author>:

element

type

number

<Name>

string

optional, many

<Agency>

string

optional, many

<Email>

string

optional, many

<Phone>

optional, many

<Name>

Network Comment Author Name

content type: string

Name of contact or author

Example: <Name>Dr. Jane Doe</Name>

<Agency>

Network Comment Author Agency

content type: string

Agency of contact or author

Example: <Agency>USGS</Agency>

<Email>

Network Comment Author Email

content type: string

Email of contact or author

Example: <Email>jane_doe@example.com</Email>

<Phone>

Network Comment Author Phone

Phone of contact or author

Attributes of <Phone>:

attribute

type

required

description

example

description

string

no

Sub Elements of <Phone>:

element

type

number

<CountryCode>

integer

optional

<AreaCode>

integer

required

<PhoneNumber>

string

required

<CountryCode>

Network Comment Author Phone CountryCode

content type: integer

Telephone country code

Example: <CountryCode>64</CountryCode>

<AreaCode> required

Network Comment Author Phone AreaCode

content type: integer

Telephone area code

Example: <AreaCode>408</AreaCode>

<PhoneNumber> required

Network Comment Author Phone PhoneNumber

content type: string

Telephone number

Example: <PhoneNumber>5551212</PhoneNumber>

<DataAvailability>

Network DataAvailability

A description of time series data availability. This information should be considered transient and is primarily useful as a guide for generating time series data requests. The information for a DataAvailability:Span may be specific to the time range used in a request that resulted in the document or limited to the availability of data within the request range. These details may or may not be retained when synchronizing metadata between data centers.

A type for describing data availability.

Sub Elements of <DataAvailability>:

element

type

number

<Extent>

optional

<Span>

optional, many

<Extent>

Network DataAvailability Extent

Data availability extents, the earliest and latest data available. No information about the continuity of the data is included or implied.

Attributes of <Extent>:

attribute

type

required

description

example

end

dateTime

yes

end date of extent

end=”1988-12-31T00:00:00Z”

start

dateTime

yes

start date of extent

start=”1988-01-01T00:00:00Z”

<Span>

Network DataAvailability Span

A type for describing data availability spans, with variable continuity. The time range described may be based on the request parameters that generated the document and not necessarily relate to continuity outside of the range. It may also be a smaller time window than the request depending on the data characteristics.

Attributes of <Span>:

attribute

type

required

description

example

end

dateTime

yes

end date of span

end=”1988-12-31T00:00:00Z”

maximumTimeTear

decimal

no

The maximum time tear (gap or overlap) in seconds between time series segments in the specified range.

maximumTimeTear=”0.01”

numberSegments

integer

yes

The number of continuous time series segments contained in the specified time range. A value of 1 indicates that the time series is continuous from start to end.

numberSegments=”2”

start

dateTime

yes

start date of span

start=”1988-01-01T00:00:00Z”

<Operator>

Network Operator

Agency and contact persons who manage this network.

Since the Contact element is a generic type that represents any contact person, it also has its own optional Agency element. It is expected that typically the contact’s optional Agency tag will match the Operator Agency. Only contacts appropriate for the enclosing element should be included in the Operator tag.

Sub Elements of <Operator>:

element

type

number

<Agency>

string

required

<Contact>

optional, many

<WebSite>

anyURI

optional

<Agency> required

Network Operator Agency

content type: string

The operating agency.

Example: <Agency>USGS</Agency>

<Contact>

Network Operator Contact

Person’s contact information. A person can belong to multiple agencies and have multiple email addresses and phone numbers.

Sub Elements of <Contact>:

element

type

number

<Name>

string

optional, many

<Agency>

string

optional, many

<Email>

string

optional, many

<Phone>

optional, many

<Name>

Network Operator Contact Name

content type: string

Name of contact or author

Example: <Name>Dr. Jane Doe</Name>

<Agency>

Network Operator Contact Agency

content type: string

Agency of contact or author

Example: <Agency>USGS</Agency>

<Email>

Network Operator Contact Email

content type: string

Email of contact or author

Example: <Email>jane_doe@example.com</Email>

<Phone>

Network Operator Contact Phone

Phone of contact or author

Attributes of <Phone>:

attribute

type

required

description

example

description

string

no

Sub Elements of <Phone>:

element

type

number

<CountryCode>

integer

optional

<AreaCode>

integer

required

<PhoneNumber>

string

required

<CountryCode>

Network Operator Contact Phone CountryCode

content type: integer

Telephone country code

Example: <CountryCode>64</CountryCode>

<AreaCode> required

Network Operator Contact Phone AreaCode

content type: integer

Telephone area code

Example: <AreaCode>408</AreaCode>

<PhoneNumber> required

Network Operator Contact Phone PhoneNumber

content type: string

Telephone number

Example: <PhoneNumber>5551212</PhoneNumber>

<WebSite>

Network Operator WebSite

content type: anyURI

Website of operating agency

Example: <WebSite>http://usgs.gov</WebSite>

<TotalNumberStations>

Network TotalNumberStations

Warning, Future Change

<TotalNumberStations>: This element is likely to be removed.

content type: decimal

range: TotalNumberStations \(\ge\) 0

The total number of stations in this network, including inactive or terminated stations.

Example: <TotalNumberStations>24</TotalNumberStations>

<SelectedNumberStations>

Network SelectedNumberStations

Warning, Future Change

<SelectedNumberStations>: This element is likely to be removed.

content type: decimal

range: SelectedNumberStations \(\ge\) 0

The number of stations selected in the request that resulted in this document.

Example: <SelectedNumberStations>12</SelectedNumberStations>

<Station>

Warning, Future Change

endDate: This attribute should not be used if it is in the future.

Warning, Future Change

endDate: This attribute is likely to require timezone of Z.

Warning, Future Change

startDate: This attribute is likely to require timezone of Z.

The Station container. All channel metadata for this station is contained within this element. A Description element may be included with the official station name and other descriptive information. An Identifier element may be included to designate a persistent identifier (e.g. DOI) to use for citation or reference. A Comment element may be included for additional comments.

An active Station should not use the endDate attribute. Unlike SEED, do not use an endDate in the distant future to mean active.

Attributes of <Station>:

attribute

type

required

description

example

alternateCode

string

no

A code used for display or association

alternateCode=”ALQ”

code

string

yes

Name of Station

code=”ABCD”

endDate

dateTime

no

End date of station epoch. Do not use if still active, endDate should not be in the future.

endDate=”2018-01-27T00:00:00Z”

historicalCode

string

no

A previously used code if different from the current code

historicalCode=”albq”

restrictedStatus

RestrictedStatusType

no

One of: “open”, “closed”, “partial”

restrictedStatus=”open”

sourceID

anyURI

no

A data source identifier in URI form. It is recommended that this follow the FDSN Source Identifiers specification, http://docs.fdsn.org/projects/source-identifiers

sourceID=”FDSN:XX_ABCD”

startDate

dateTime

no

Start date of station epoch

startDate=”2016-07-01T00:00:00Z”

Sub Elements of <Station>:

element

type

number

<Description>

string

optional

<Identifier>

string

optional, many

<Comment>

optional, many

<DataAvailability>

optional

<Latitude>

double

required

<Longitude>

double

required

<Elevation>

double

required

<Site>

required

<WaterLevel>

double

optional

<Vault>

string

optional

<Geology>

string

optional

<Equipment>

optional, many

<Operator>

optional, many

<CreationDate>

dateTime

optional

<TerminationDate>

dateTime

optional

<TotalNumberChannels>

decimal

optional

<SelectedNumberChannels>

decimal

optional

<ExternalReference>

optional, many

<Channel>

optional, many

<Description>

Station Description

content type: string

Description of the Station

Example: <Description>This is a description</Description>

<Identifier>

Station Identifier

content type: string

A type to document persistent identifiers. Identifier values should be specified without a URI scheme (prefix), instead the identifier type is documented as an attribute.

Example: <identifier type=”DOI”>10.1000/140</identifier>

Example: <identifier type=”DOI”>10.5555/12345678</identifier>ABCD.

Attributes of <Identifier>:

attribute

type

required

description

example

type

string

no

Identifier type

type=”DOI”

<Comment>

Station Comment

Container for a comment or log entry.

Attributes of <Comment>:

attribute

type

required

description

example

id

CounterType

no

An ID for this comment

id=”12345”

subject

string

no

A subject for this comment. Multiple comments with the same subject should be considered related.

subject=”Scheduled maintenance”

Sub Elements of <Comment>:

element

type

number

<Value>

string

required

<BeginEffectiveTime>

dateTime

optional

<EndEffectiveTime>

dateTime

optional

<Author>

optional, many

<Value> required

Station Comment Value

content type: string

Comment text.

Example: <Value>GPS Clock is unlocked</Value>

<BeginEffectiveTime>

Station Comment BeginEffectiveTime

content type: dateTime

Start time for when comment applies.

Example: <BeginEffectiveTime>2008-09-15T00:00:00Z</BeginEffectiveTime>

<EndEffectiveTime>

Station Comment EndEffectiveTime

content type: dateTime

End time for when comment applies.

Example: <EndEffectiveTime>2008-09-16T12:00:00Z</EndEffectiveTime>

<Author>

Station Comment Author

Author of Comment.

Person’s contact information. A person can belong to multiple agencies and have multiple email addresses and phone numbers.

Sub Elements of <Author>:

element

type

number

<Name>

string

optional, many

<Agency>

string

optional, many

<Email>

string

optional, many

<Phone>

optional, many

<Name>

Station Comment Author Name

content type: string

Name of contact or author

Example: <Name>Dr. Jane Doe</Name>

<Agency>

Station Comment Author Agency

content type: string

Agency of contact or author

Example: <Agency>USGS</Agency>

<Email>

Station Comment Author Email

content type: string

Email of contact or author

Example: <Email>jane_doe@example.com</Email>

<Phone>

Station Comment Author Phone

Phone of contact or author

Attributes of <Phone>:

attribute

type

required

description

example

description

string

no

Sub Elements of <Phone>:

element

type

number

<CountryCode>

integer

optional

<AreaCode>

integer

required

<PhoneNumber>

string

required

<CountryCode>

Station Comment Author Phone CountryCode

content type: integer

Telephone country code

Example: <CountryCode>64</CountryCode>

<AreaCode> required

Station Comment Author Phone AreaCode

content type: integer

Telephone area code

Example: <AreaCode>408</AreaCode>

<PhoneNumber> required

Station Comment Author Phone PhoneNumber

content type: string

Telephone number

Example: <PhoneNumber>5551212</PhoneNumber>

<DataAvailability>

Station DataAvailability

A description of time series data availability. This information should be considered transient and is primarily useful as a guide for generating time series data requests. The information for a DataAvailability:Span may be specific to the time range used in a request that resulted in the document or limited to the availability of data within the request range. These details may or may not be retained when synchronizing metadata between data centers.

A type for describing data availability.

Sub Elements of <DataAvailability>:

element

type

number

<Extent>

optional

<Span>

optional, many

<Extent>

Station DataAvailability Extent

Data availability extents, the earliest and latest data available. No information about the continuity of the data is included or implied.

Attributes of <Extent>:

attribute

type

required

description

example

end

dateTime

yes

end date of extent

end=”1988-12-31T00:00:00Z”

start

dateTime

yes

start date of extent

start=”1988-01-01T00:00:00Z”

<Span>

Station DataAvailability Span

A type for describing data availability spans, with variable continuity. The time range described may be based on the request parameters that generated the document and not necessarily relate to continuity outside of the range. It may also be a smaller time window than the request depending on the data characteristics.

Attributes of <Span>:

attribute

type

required

description

example

end

dateTime

yes

end date of span

end=”1988-12-31T00:00:00Z”

maximumTimeTear

decimal

no

The maximum time tear (gap or overlap) in seconds between time series segments in the specified range.

maximumTimeTear=”0.01”

numberSegments

integer

yes

The number of continuous time series segments contained in the specified time range. A value of 1 indicates that the time series is continuous from start to end.

numberSegments=”2”

start

dateTime

yes

start date of span

start=”1988-01-01T00:00:00Z”

<Latitude> required

Station Latitude

content type: double

range: -90.0 \(\le\) Latitude \(\lt\) 90.0

Station latitude, in degrees. Where the bulk of the equipment is located (or another appropriate site location). The unit is fixed to be degrees, and datum defaults to WGS84.

Latitude type extending the base type to add datum as an attribute with default.

Example: <Latitude>34.9459</Latitude>

Attributes of <Latitude>:

attribute

type

required

description

example

unit

string

no

The type of unit being used. This value is fixed to be DEGREES, setting it is redundant.

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

datum

NMTOKEN

no

<Longitude> required

Station Longitude

content type: double

range: -180.0 \(\le\) Longitude \(\le\) 180.0

Station longitude, in degrees. Where the bulk of the equipment is located (or another appropriate site location). The unit is fixed to be degrees, and datum defaults to WGS84.

Longitude type extending the base type to add datum as an attribute with default.

Example: <Longitude>-106.4572</Longitude>

Attributes of <Longitude>:

attribute

type

required

description

example

unit

string

no

The type of unit being used. This value is fixed to be DEGREES, setting it is redundant.

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

datum

NMTOKEN

no

<Elevation> required

Station Elevation

content type: double

Elevation of local ground surface level at station, in meters.

Example: <Elevation>1850.0</Elevation>

Attributes of <Elevation>:

attribute

type

required

description

example

unit

string

no

The type of unit being used. This value is fixed to be METERS, setting it is redundant.

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<Site> required

Station Site

Description of a location using name and optional geopolitical boundaries (country, city, etc.).

Sub Elements of <Site>:

element

type

number

<Name>

string

required

<Description>

string

optional

<Town>

string

optional

<County>

string

optional

<Region>

string

optional

<Country>

string

optional

<Name> required

Station Site Name

content type: string

Name of the site

Example: <Name>Albuquerque, New Mexico</Name>

<Description>

Station Site Description

content type: string

A longer description of the location of this station

Example: <Description>NW corner of Yellowstone National Park</Description>

<Town>

Station Site Town

content type: string

The town or city closest to the station.

Example: <Town>Albuquerque</Town>

<County>

Station Site County

content type: string

The county where the station is located

Example: <County>Bernalillo</County>

<Region>

Station Site Region

content type: string

The state, province, or region of this site.

Example: <Region>Southwest U.S.</Region>

<Country>

Station Site Country

content type: string

The country of this site.

Example: <Country>U.S.A.</Country>

<WaterLevel>

Station WaterLevel

content type: double

Elevation of the water surface in meters for underwater sites, where 0 is mean sea level. If you put an OBS on a lake bottom, where the lake surface is at elevation=1200 meters, then you should set WaterLevel=1200. An OBS in the ocean would have WaterLevel=0.

Example: <WaterLevel>1200</WaterLevel>

Attributes of <WaterLevel>:

attribute

type

required

description

example

unit

string

no

The unit of measurement. Use SI unit names and symbols whenever possible (e.g., ‘m’ instead of ‘METERS’).

unit=”m”

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<Vault>

Station Vault

content type: string

Type of vault, e.g. World-Wide Standardized Seismograph Network (WWSSN), tunnel, USArray Transportable Array Generation 2, etc.

<Geology>

Station Geology

content type: string

Type of rock and/or geologic formation at the station.

<Equipment>

Station Equipment

Equipment used by all channels at a station, Equipment that contributes to or affects the response of a channel should be documented on the channel.

A type for equipment related to data acquisition or processing.

Attributes of <Equipment>:

attribute

type

required

description

example

resourceId

string

no

An identifier that serves to uniquely identify this resource. This identifier can be interpreted differently depending on the datacenter/software that generated the document. Also, we recommend using a prefix, e.g., GENERATOR:Meaningful ID. It should be expected that equipment with the same ID should indicate the same information or be derived from the same base instruments.

Sub Elements of <Equipment>:

element

type

number

<Type>

string

optional

<Description>

string

optional

<Manufacturer>

string

optional

<Vendor>

string

optional

<Model>

string

optional

<SerialNumber>

string

optional

<InstallationDate>

dateTime

optional

<RemovalDate>

dateTime

optional

<CalibrationDate>

dateTime

optional, many

<Type>

Station Equipment Type

content type: string

Type of equipment

<Description>

Station Equipment Description

content type: string

Description of equipment

<Manufacturer>

Station Equipment Manufacturer

content type: string

Manufacturer of equipment

<Vendor>

Station Equipment Vendor

content type: string

Vendor of equipment

<Model>

Station Equipment Model

content type: string

Model of equipment

<SerialNumber>

Station Equipment SerialNumber

content type: string

Serial number of equipment

<InstallationDate>

Station Equipment InstallationDate

content type: dateTime

Date this equipment was installed

<RemovalDate>

Station Equipment RemovalDate

content type: dateTime

Date this equipment was removed

<CalibrationDate>

Station Equipment CalibrationDate

content type: dateTime

Date this equipment was calibrated

<Operator>

Station Operator

Agency who manage this station. Only use if this differs from the Operator of the Network.

Since the Contact element is a generic type that represents any contact person, it also has its own optional Agency element. It is expected that typically the contact’s optional Agency tag will match the Operator Agency. Only contacts appropriate for the enclosing element should be included in the Operator tag.

Sub Elements of <Operator>:

element

type

number

<Agency>

string

required

<Contact>

optional, many

<WebSite>

anyURI

optional

<Agency> required

Station Operator Agency

content type: string

The operating agency.

Example: <Agency>USGS</Agency>

<Contact>

Station Operator Contact

Person’s contact information. A person can belong to multiple agencies and have multiple email addresses and phone numbers.

Sub Elements of <Contact>:

element

type

number

<Name>

string

optional, many

<Agency>

string

optional, many

<Email>

string

optional, many

<Phone>

optional, many

<Name>

Station Operator Contact Name

content type: string

Name of contact or author

Example: <Name>Dr. Jane Doe</Name>

<Agency>

Station Operator Contact Agency

content type: string

Agency of contact or author

Example: <Agency>USGS</Agency>

<Email>

Station Operator Contact Email

content type: string

Email of contact or author

Example: <Email>jane_doe@example.com</Email>

<Phone>

Station Operator Contact Phone

Phone of contact or author

Attributes of <Phone>:

attribute

type

required

description

example

description

string

no

Sub Elements of <Phone>:

element

type

number

<CountryCode>

integer

optional

<AreaCode>

integer

required

<PhoneNumber>

string

required

<CountryCode>

Station Operator Contact Phone CountryCode

content type: integer

Telephone country code

Example: <CountryCode>64</CountryCode>

<AreaCode> required

Station Operator Contact Phone AreaCode

content type: integer

Telephone area code

Example: <AreaCode>408</AreaCode>

<PhoneNumber> required

Station Operator Contact Phone PhoneNumber

content type: string

Telephone number

Example: <PhoneNumber>5551212</PhoneNumber>

<WebSite>

Station Operator WebSite

content type: anyURI

Website of operating agency

Example: <WebSite>http://usgs.gov</WebSite>

<CreationDate>

Station CreationDate

Warning, Future Change

<CreationDate>: This element is likely to be removed.

content type: dateTime

Date and time (UTC) when the station was first installed.

<TerminationDate>

Station TerminationDate

Warning, Future Change

<TerminationDate>: This element is likely to be removed.

content type: dateTime

Date and time (UTC) when the station was terminated or will be terminated. Do not include this element if a termination date is not available or is not relevant.

<TotalNumberChannels>

Station TotalNumberChannels

Warning, Future Change

<TotalNumberChannels>: This element is likely to be removed.

content type: decimal

range: TotalNumberChannels \(\ge\) 0

Total number of channels recorded at this station.

<SelectedNumberChannels>

Station SelectedNumberChannels

Warning, Future Change

<SelectedNumberChannels>: This element is likely to be removed.

content type: decimal

range: SelectedNumberChannels \(\ge\) 0

The number of channels selected in the request that resulted in this document.

<ExternalReference>

Station ExternalReference

URI of any type of external report

This type contains a Uniform Resource Identifier (URI) and description for external information that users may want to reference.

Sub Elements of <ExternalReference>:

element

type

number

<URI>

anyURI

required

<Description>

string

required

<URI> required

Station ExternalReference URI

content type: anyURI

URI of the external reference.

<Description> required

Station ExternalReference Description

content type: string

Description of the external reference.

<Channel>

Warning, Future Change

endDate: This attribute should not be used if it is in the future.

Warning, Future Change

endDate: This attribute is likely to require timezone of Z.

Warning, Future Change

startDate: This attribute is likely to require timezone of Z.

The Channel container. A Description element may be included with other information. An Identifier element may be included to designate a persistent identifier (e.g. DOI) to use for citation or reference. A Comment element may be included for arbitrary comments.

An active Channel should not use the endDate attribute. Unlike SEED, do not use an endDate in the distant future to mean active.

Attributes of <Channel>:

attribute

type

required

description

example

alternateCode

string

no

A code used for display or association

alternateCode=”Z”

code

string

yes

Name of Channel

code=”BHZ”

endDate

dateTime

no

End date of channel epoch. Do not use if still active, endDate should not be in the future.

endDate=”2018-01-27T00:00:00Z”

historicalCode

string

no

A previously used code if different from the current code

historicalCode=”bhz”

locationCode

string

yes

The locationCode is typically used to group channels from a common sensor. For example, the channels of the primary sensor at global IDA-IRIS stations have locationCode = “00”: 00_BHZ, 00_BHE, 00_BHN, 00_LHZ, …, etc. Even though it is required, locationCode may be, and often is, an empty string, however, it is recommended that the locationCode not be empty.

locationCode=”30”

restrictedStatus

RestrictedStatusType

no

One of: “open”, “closed”, “partial”

restrictedStatus=”open”

sourceID

anyURI

no

A data source identifier in URI form. It is recommended that this follow the FDSN Source Identifiers specification, http://docs.fdsn.org/projects/source-identifiers

sourceID=”FDSN:XX_ABCD_00_B_H_Z”

startDate

dateTime

no

Start date of channel epoch

startDate=”2016-07-01T00:00:00Z”

Sub Elements of <Channel>:

element

type

number

<Description>

string

optional

<Identifier>

string

optional, many

<Comment>

optional, many

<DataAvailability>

optional

<ExternalReference>

optional, many

<Latitude>

double

required

<Longitude>

double

required

<Elevation>

double

required

<Depth>

double

required

<Azimuth>

double

optional

<Dip>

double

optional

<WaterLevel>

double

optional

<Type>

string

optional, many

<SampleRate>

double

optional

<SampleRateRatio>

optional

<ClockDrift>

double

optional

<CalibrationUnits>

optional

<Sensor>

optional

<PreAmplifier>

optional

<DataLogger>

optional

<Equipment>

optional, many

<Response>

optional

<Description>

Channel Description

content type: string

Description of the Channel

Example: <Description>This is a description</Description>

<Identifier>

Channel Identifier

content type: string

A type to document persistent identifiers. Identifier values should be specified without a URI scheme (prefix), instead the identifier type is documented as an attribute.

Example: <identifier type=”DOI”>10.1000/140</identifier>

Example: <identifier type=”DOI”>10.5555/12345678</identifier>BHZ.

Attributes of <Identifier>:

attribute

type

required

description

example

type

string

no

Identifier type

type=”DOI”

<Comment>

Channel Comment

Container for a comment or log entry.

Attributes of <Comment>:

attribute

type

required

description

example

id

CounterType

no

An ID for this comment

id=”12345”

subject

string

no

A subject for this comment. Multiple comments with the same subject should be considered related.

subject=”Scheduled maintenance”

Sub Elements of <Comment>:

element

type

number

<Value>

string

required

<BeginEffectiveTime>

dateTime

optional

<EndEffectiveTime>

dateTime

optional

<Author>

optional, many

<Value> required

Channel Comment Value

content type: string

Comment text.

Example: <Value>Large number of spikes</Value>

<BeginEffectiveTime>

Channel Comment BeginEffectiveTime

content type: dateTime

Start time for when comment applies.

Example: <BeginEffectiveTime>2008-09-15T00:00:00Z</BeginEffectiveTime>

<EndEffectiveTime>

Channel Comment EndEffectiveTime

content type: dateTime

End time for when comment applies.

Example: <EndEffectiveTime>2008-09-16T12:00:00Z</EndEffectiveTime>

<Author>

Channel Comment Author

Author of Comment.

Person’s contact information. A person can belong to multiple agencies and have multiple email addresses and phone numbers.

Sub Elements of <Author>:

element

type

number

<Name>

string

optional, many

<Agency>

string

optional, many

<Email>

string

optional, many

<Phone>

optional, many

<Name>

Channel Comment Author Name

content type: string

Name of contact or author

Example: <Name>Dr. Jane Doe</Name>

<Agency>

Channel Comment Author Agency

content type: string

Agency of contact or author

Example: <Agency>USGS</Agency>

<Email>

Channel Comment Author Email

content type: string

Email of contact or author

Example: <Email>jane_doe@example.com</Email>

<Phone>

Channel Comment Author Phone

Phone of contact or author

Attributes of <Phone>:

attribute

type

required

description

example

description

string

no

Sub Elements of <Phone>:

element

type

number

<CountryCode>

integer

optional

<AreaCode>

integer

required

<PhoneNumber>

string

required

<CountryCode>

Channel Comment Author Phone CountryCode

content type: integer

Telephone country code

Example: <CountryCode>64</CountryCode>

<AreaCode> required

Channel Comment Author Phone AreaCode

content type: integer

Telephone area code

Example: <AreaCode>408</AreaCode>

<PhoneNumber> required

Channel Comment Author Phone PhoneNumber

content type: string

Telephone number

Example: <PhoneNumber>5551212</PhoneNumber>

<DataAvailability>

Channel DataAvailability

A description of time series data availability. This information should be considered transient and is primarily useful as a guide for generating time series data requests. The information for a DataAvailability:Span may be specific to the time range used in a request that resulted in the document or limited to the availability of data within the request range. These details may or may not be retained when synchronizing metadata between data centers.

A type for describing data availability.

Sub Elements of <DataAvailability>:

element

type

number

<Extent>

optional

<Span>

optional, many

<Extent>

Channel DataAvailability Extent

Data availability extents, the earliest and latest data available. No information about the continuity of the data is included or implied.

Attributes of <Extent>:

attribute

type

required

description

example

end

dateTime

yes

end date of extent

end=”1988-12-31T00:00:00Z”

start

dateTime

yes

start date of extent

start=”1988-01-01T00:00:00Z”

<Span>

Channel DataAvailability Span

A type for describing data availability spans, with variable continuity. The time range described may be based on the request parameters that generated the document and not necessarily relate to continuity outside of the range. It may also be a smaller time window than the request depending on the data characteristics.

Attributes of <Span>:

attribute

type

required

description

example

end

dateTime

yes

end date of span

end=”1988-12-31T00:00:00Z”

maximumTimeTear

decimal

no

The maximum time tear (gap or overlap) in seconds between time series segments in the specified range.

maximumTimeTear=”0.01”

numberSegments

integer

yes

The number of continuous time series segments contained in the specified time range. A value of 1 indicates that the time series is continuous from start to end.

numberSegments=”2”

start

dateTime

yes

start date of span

start=”1988-01-01T00:00:00Z”

<ExternalReference>

Channel ExternalReference

URI of any type of external report, such as data quality reports.

This type contains a Uniform Resource Identifier (URI) and description for external information that users may want to reference.

Sub Elements of <ExternalReference>:

element

type

number

<URI>

anyURI

required

<Description>

string

required

<URI> required

Channel ExternalReference URI

content type: anyURI

URI of the external reference.

<Description> required

Channel ExternalReference Description

content type: string

Description of the external reference.

<Latitude> required

Channel Latitude

content type: double

range: -90.0 \(\le\) Latitude \(\lt\) 90.0

Latitude of this channel’s sensor, in degrees. Often the same as the station latitude, but when different the channel latitude is the true location of the sensor.

Latitude type extending the base type to add datum as an attribute with default.

Example: <Latitude>34.9459</Latitude>

Attributes of <Latitude>:

attribute

type

required

description

example

unit

string

no

The type of unit being used. This value is fixed to be DEGREES, setting it is redundant.

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

datum

NMTOKEN

no

<Longitude> required

Channel Longitude

content type: double

range: -180.0 \(\le\) Longitude \(\le\) 180.0

Longitude of this channel’s sensor, in degrees. Often the same as the station longitude, but when different the channel longitude is the true location of the sensor.

Longitude type extending the base type to add datum as an attribute with default.

Example: <Longitude>-106.4572</Longitude>

Attributes of <Longitude>:

attribute

type

required

description

example

unit

string

no

The type of unit being used. This value is fixed to be DEGREES, setting it is redundant.

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

datum

NMTOKEN

no

<Elevation> required

Channel Elevation

content type: double

Elevation of the sensor, in meters. To find the local ground surface level, add the Depth value to this elevation.

Attributes of <Elevation>:

attribute

type

required

description

example

unit

string

no

The type of unit being used. This value is fixed to be METERS, setting it is redundant.

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<Depth> required

Channel Depth

content type: double

The depth of the sensor relative to the local ground surface level, in meters.

Attributes of <Depth>:

attribute

type

required

description

example

unit

string

no

The type of unit being used. This value is fixed to be METERS, setting it is redundant.

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<Azimuth>

Channel Azimuth

content type: double

range: 0.0 \(\le\) Azimuth \(\lt\) 360.0

Azimuth of the component in degrees clockwise from geographic (true) north.

Attributes of <Azimuth>:

attribute

type

required

description

example

unit

string

no

The type of unit being used. This value is fixed to be DEGREES, setting it is redundant.

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<Dip>

Channel Dip

content type: double

range: -90.0 \(\le\) Dip \(\le\) 90.0

Dip of the component in degrees, positive is down from horizontal. For horizontal dip=0, for vertical upwards dip=-90 and for vertical downwards dip=+90.

Attributes of <Dip>:

attribute

type

required

description

example

unit

string

no

The type of unit being used. This value is fixed to be DEGREES, setting it is redundant.

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<WaterLevel>

Channel WaterLevel

content type: double

Elevation of the water surface in meters for underwater sites, where 0 is mean sea level. If you put an OBS on a lake bottom, where the lake surface is at elevation=1200 meters, then you should set WaterLevel=1200. An OBS in the ocean would have WaterLevel=0.

Attributes of <WaterLevel>:

attribute

type

required

description

example

unit

string

no

The unit of measurement. Use SI unit names and symbols whenever possible (e.g., ‘m’ instead of ‘METERS’).

unit=”m”

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<Type>

Channel Type

Warning, Future Change

<Type>: This element is likely to be removed.

content type: string

Data type for this channel. One or more <Type> tags can be used to specify the nature of the data this channel collects. The value between the <Type> tags must be one of: TRIGGERED, CONTINUOUS, HEALTH, GEOPHYSICAL, WEATHER, FLAG or SYNTHESIZED.

This element existed primarily to hold the corresponding value from SEED, but should not be used for new StationXML.

Example: <Type>CONTINUOUS</Type>

<SampleRate>

Channel SampleRate

content type: double

Sample rate in samples per second. SampleRate is optional unless SampleRateRatio is present, in which case SampleRate is required.

Example: <SampleRate>40.0</SampleRate>

Attributes of <SampleRate>:

attribute

type

required

description

example

unit

string

no

The type of unit being used. This value is fixed to be SAMPLES/S, setting it is redundant.

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<SampleRateRatio>

Channel SampleRateRatio

Sample rate expressed as number of samples in a number of seconds. If present, then <SampleRate> must also be present. It can be useful for very slow data (e.g., less than a few samples per day), since it allows for greater precision in the stored value.

Example:

<SampleRate>0.000023148</SampleRate>
              <SampleRateRatio>
                <NumberSamples>2</NumberSamples>
                <NumberSeconds>86400</NumberSeconds>
              </SampleRateRatio>

Sub Elements of <SampleRateRatio>:

element

type

number

<NumberSamples>

integer

required

<NumberSeconds>

integer

required

<NumberSamples> required

Channel SampleRateRatio NumberSamples

content type: integer

Integer number of samples that span a number of seconds.

<NumberSeconds> required

Channel SampleRateRatio NumberSeconds

content type: integer

Integer number of seconds that span a number of samples.

<ClockDrift>

Channel ClockDrift

content type: double

range: ClockDrift \(\ge\) 0.0

Tolerance value, measured in seconds per sample, used as a threshold for time error detection in data from the channel.

Attributes of <ClockDrift>:

attribute

type

required

description

example

unit

string

no

The unit of drift value. This value is fixed to be SECONDS/SAMPLE, setting it is redundant.

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<CalibrationUnits>

Channel CalibrationUnits

Units of calibration (e.g., V (for Volts) or A (for amps))

Use SI units when possible

A type to document units; use SI whenever possible.

Example:

<CalibrationUnits>
  <Name>V</Name>
  <Description>Volts</Description>
</CalibrationUnits>

Sub Elements of <CalibrationUnits>:

element

type

number

<Name>

string

required

<Description>

string

optional

<Name> required

Channel CalibrationUnits Name

content type: string

Symbol or name of units, e.g. “m/s”, “V”, “Pa”, “C”. Use SI whenever possible, along with singular lowercase “count” for digital counts.

<Description>

Channel CalibrationUnits Description

content type: string

Description of units, e.g. “Velocity in meters per second”, “Volts”, “Pascals”, “Degrees Celsius”. Description is only needed when the unit name is not a well know SI unit or there is need for clarification. Prefer not to use a Description for common units like m/s, m/s**2, count, etc.

<Sensor>

Channel Sensor

Details of the (typically analog) sensor attached to this channel. If this was entered at the Station level, it is not necessary to do it for each Channel, unless you have differences in equipment.

A type for equipment related to data acquisition or processing.

Attributes of <Sensor>:

attribute

type

required

description

example

resourceId

string

no

An identifier that serves to uniquely identify this resource. This identifier can be interpreted differently depending on the datacenter/software that generated the document. Also, we recommend using a prefix, e.g., GENERATOR:Meaningful ID. It should be expected that equipment with the same ID should indicate the same information or be derived from the same base instruments.

Sub Elements of <Sensor>:

element

type

number

<Type>

string

optional

<Description>

string

optional

<Manufacturer>

string

optional

<Vendor>

string

optional

<Model>

string

optional

<SerialNumber>

string

optional

<InstallationDate>

dateTime

optional

<RemovalDate>

dateTime

optional

<CalibrationDate>

dateTime

optional, many

<Type>

Channel Sensor Type

content type: string

Type of equipment

<Description>

Channel Sensor Description

content type: string

Description of equipment

<Manufacturer>

Channel Sensor Manufacturer

content type: string

Manufacturer of equipment

<Vendor>

Channel Sensor Vendor

content type: string

Vendor of equipment

<Model>

Channel Sensor Model

content type: string

Model of equipment

<SerialNumber>

Channel Sensor SerialNumber

content type: string

Serial number of equipment

<InstallationDate>

Channel Sensor InstallationDate

content type: dateTime

Date this equipment was installed

<RemovalDate>

Channel Sensor RemovalDate

content type: dateTime

Date this equipment was removed

<CalibrationDate>

Channel Sensor CalibrationDate

content type: dateTime

Date this equipment was calibrated

<PreAmplifier>

Channel PreAmplifier

Preamplifier (if any) used by this channel. If this was entered at the Station level, it is not necessary to do it for each Channel, unless you have differences in equipment.

A type for equipment related to data acquisition or processing.

Attributes of <PreAmplifier>:

attribute

type

required

description

example

resourceId

string

no

An identifier that serves to uniquely identify this resource. This identifier can be interpreted differently depending on the datacenter/software that generated the document. Also, we recommend using a prefix, e.g., GENERATOR:Meaningful ID. It should be expected that equipment with the same ID should indicate the same information or be derived from the same base instruments.

Sub Elements of <PreAmplifier>:

element

type

number

<Type>

string

optional

<Description>

string

optional

<Manufacturer>

string

optional

<Vendor>

string

optional

<Model>

string

optional

<SerialNumber>

string

optional

<InstallationDate>

dateTime

optional

<RemovalDate>

dateTime

optional

<CalibrationDate>

dateTime

optional, many

<Type>

Channel PreAmplifier Type

content type: string

Type of equipment

<Description>

Channel PreAmplifier Description

content type: string

Description of equipment

<Manufacturer>

Channel PreAmplifier Manufacturer

content type: string

Manufacturer of equipment

<Vendor>

Channel PreAmplifier Vendor

content type: string

Vendor of equipment

<Model>

Channel PreAmplifier Model

content type: string

Model of equipment

<SerialNumber>

Channel PreAmplifier SerialNumber

content type: string

Serial number of equipment

<InstallationDate>

Channel PreAmplifier InstallationDate

content type: dateTime

Date this equipment was installed

<RemovalDate>

Channel PreAmplifier RemovalDate

content type: dateTime

Date this equipment was removed

<CalibrationDate>

Channel PreAmplifier CalibrationDate

content type: dateTime

Date this equipment was calibrated

<DataLogger>

Channel DataLogger

Datalogger that recorded this channel. If this was entered at the Station level, it is not necessary to do it for each Channel, unless you have differences in equipment.

A type for equipment related to data acquisition or processing.

Attributes of <DataLogger>:

attribute

type

required

description

example

resourceId

string

no

An identifier that serves to uniquely identify this resource. This identifier can be interpreted differently depending on the datacenter/software that generated the document. Also, we recommend using a prefix, e.g., GENERATOR:Meaningful ID. It should be expected that equipment with the same ID should indicate the same information or be derived from the same base instruments.

Sub Elements of <DataLogger>:

element

type

number

<Type>

string

optional

<Description>

string

optional

<Manufacturer>

string

optional

<Vendor>

string

optional

<Model>

string

optional

<SerialNumber>

string

optional

<InstallationDate>

dateTime

optional

<RemovalDate>

dateTime

optional

<CalibrationDate>

dateTime

optional, many

<Type>

Channel DataLogger Type

content type: string

Type of equipment

<Description>

Channel DataLogger Description

content type: string

Description of equipment

<Manufacturer>

Channel DataLogger Manufacturer

content type: string

Manufacturer of equipment

<Vendor>

Channel DataLogger Vendor

content type: string

Vendor of equipment

<Model>

Channel DataLogger Model

content type: string

Model of equipment

<SerialNumber>

Channel DataLogger SerialNumber

content type: string

Serial number of equipment

<InstallationDate>

Channel DataLogger InstallationDate

content type: dateTime

Date this equipment was installed

<RemovalDate>

Channel DataLogger RemovalDate

content type: dateTime

Date this equipment was removed

<CalibrationDate>

Channel DataLogger CalibrationDate

content type: dateTime

Date this equipment was calibrated

<Equipment>

Channel Equipment

Any equipment that does not have type-specific fields. Equipment such as sensor, data logger and preamplifier that has type-specific fields should be documented in those structures. If the same Equipment is entered at the Station level, it is not necessary to include it for each Channel. If using a preamplifier, sensor, or datalogger, use their appropriate fields instead.

A type for equipment related to data acquisition or processing.

Attributes of <Equipment>:

attribute

type

required

description

example

resourceId

string

no

An identifier that serves to uniquely identify this resource. This identifier can be interpreted differently depending on the datacenter/software that generated the document. Also, we recommend using a prefix, e.g., GENERATOR:Meaningful ID. It should be expected that equipment with the same ID should indicate the same information or be derived from the same base instruments.

Sub Elements of <Equipment>:

element

type

number

<Type>

string

optional

<Description>

string

optional

<Manufacturer>

string

optional

<Vendor>

string

optional

<Model>

string

optional

<SerialNumber>

string

optional

<InstallationDate>

dateTime

optional

<RemovalDate>

dateTime

optional

<CalibrationDate>

dateTime

optional, many

<Type>

Channel Equipment Type

content type: string

Type of equipment

<Description>

Channel Equipment Description

content type: string

Description of equipment

<Manufacturer>

Channel Equipment Manufacturer

content type: string

Manufacturer of equipment

<Vendor>

Channel Equipment Vendor

content type: string

Vendor of equipment

<Model>

Channel Equipment Model

content type: string

Model of equipment

<SerialNumber>

Channel Equipment SerialNumber

content type: string

Serial number of equipment

<InstallationDate>

Channel Equipment InstallationDate

content type: dateTime

Date this equipment was installed

<RemovalDate>

Channel Equipment RemovalDate

content type: dateTime

Date this equipment was removed

<CalibrationDate>

Channel Equipment CalibrationDate

content type: dateTime

Date this equipment was calibrated

<Response>

The complete instrument response for this channel that expresses the effect of the geophysical instrumentation used to record the input ground motion. The information can be used to convert raw data to Earth unit measurement at a specified frequency or within a range of frequencies. It is strongly suggested that either InstrumentSensitivity or InstrumentPolynomial should be present.

In cases where the response is unknown, for example really old channels, or where a response is not applicable, like textual log channels, it is preferred that an empty response element be used, <response></response>, to positively indicate that no response exists.

Attributes of <Response>:

attribute

type

required

description

example

resourceId

string

no

An identifier that serves to uniquely identify this resource. This identifier can be interpreted differently depending on the datacenter/software that generated the document. Also, we recommend using a prefix, e.g., GENERATOR:Meaningful ID. It should be expected that elements with the same ID should indicate the same information.

Sub Elements of <Response>:

element

type

number

<InstrumentSensitivity>

optional

<InstrumentPolynomial>

optional

<Stage>

optional, many

<InstrumentSensitivity>

Response InstrumentSensitivity

The total sensitivity for a channel, representing the complete acquisition system expressed as a scalar. All instrument responses except polynomial response should have an InstrumentSensitivity.

Type for sensitivity, input/output units and relevant frequency range.

Sub Elements of <InstrumentSensitivity>:

element

type

number

<Value>

double

required

<Frequency>

double

required

<InputUnits>

required

<OutputUnits>

required

<FrequencyStart>

double

optional

<FrequencyEnd>

double

optional

<FrequencyDBVariation>

double

optional

<Value> required

Response InstrumentSensitivity Value

content type: double

A scalar value representing the amount of amplification or diminution, if any, the current stage applies to the input signal.

<Frequency> required

Response InstrumentSensitivity Frequency

content type: double

The frequency (in Hertz) at which the Value is valid.

While any frequency in the passband is acceptable, it is preferred that:

  1. For low pass FIR filters, use gain at zero frequency (sum of coefficients)

  2. If given, use manufacturer frequency/gain without recomputing

  3. For anything else, frequency should be in the “good” part of the passband

  4. All stage frequencies should be below the final Nyquist, as long as 2,3 are satisfied

  5. All stages, except lowpass FIR filters, should use the same frequencies, as long as 2,3 are satisfied

  6. Overall gain should also use the same frequency as 5, as long as it is below the final Nyquist and in the good part of the final passband

<InputUnits> required

Response InstrumentSensitivity InputUnits

The units of the data as input to the sensor. For example if stage 1 represented a seismometer, InputUnits would be ‘m/s’ and OutputUnits would be ‘V’.

A type to document units; use SI whenever possible.

Sub Elements of <InputUnits>:

element

type

number

<Name>

string

required

<Description>

string

optional

<Name> required

Response InstrumentSensitivity InputUnits Name

content type: string

Symbol or name of units, e.g. “m/s”, “V”, “Pa”, “C”. Use SI whenever possible, along with singular lowercase “count” for digital counts.

<Description>

Response InstrumentSensitivity InputUnits Description

content type: string

Description of units, e.g. “Velocity in meters per second”, “Volts”, “Pascals”, “Degrees Celsius”. Description is only needed when the unit name is not a well know SI unit or there is need for clarification. Prefer not to use a Description for common units like m/s, m/s**2, count, etc.

<OutputUnits> required

Response InstrumentSensitivity OutputUnits

The units of the data as output from data acquisition system. For most channels recorded by systems that use an AtoD, the OutputUnits will be ‘count’.

A type to document units; use SI whenever possible.

Sub Elements of <OutputUnits>:

element

type

number

<Name>

string

required

<Description>

string

optional

<Name> required

Response InstrumentSensitivity OutputUnits Name

content type: string

Symbol or name of units, e.g. “m/s”, “V”, “Pa”, “C”. Use SI whenever possible, along with singular lowercase “count” for digital counts.

<Description>

Response InstrumentSensitivity OutputUnits Description

content type: string

Description of units, e.g. “Velocity in meters per second”, “Volts”, “Pascals”, “Degrees Celsius”. Description is only needed when the unit name is not a well know SI unit or there is need for clarification. Prefer not to use a Description for common units like m/s, m/s**2, count, etc.

<FrequencyStart>

Response InstrumentSensitivity FrequencyStart

content type: double

The lowest frequency for which the InstrumentSensitivity is valid. <FrequencyStart>, <FrequencyEnd> and <FrequencyDBVariation> are not required, however, if one of these is present, then all must be present.

<FrequencyEnd>

Response InstrumentSensitivity FrequencyEnd

content type: double

The highest frequency for which the InstrumentSensitivity is valid. <FrequencyStart>, <FrequencyEnd> and <FrequencyDBVariation> are not required, however, if one of these is present, then all must be present.

<FrequencyDBVariation>

Response InstrumentSensitivity FrequencyDBVariation

content type: double

Variation in decibels within the specified frequency range. <FrequencyStart>, <FrequencyEnd> and <FrequencyDBVariation> are not required, however, if one of these is present, then all must be present.

<InstrumentPolynomial>

Response InstrumentPolynomial

For non-linear sensors (e.g., \(N\ge 2\)), such as some thermistors, pressure transducers, extensometers, etc.), it is required to express the sensor input (e.g., Temp) as a Maclaurin series expansion of powers of the output units (e.g., Volts):

\[Temp(V)=\sum_{k=0}^{N} a_k V^{k}\]

For such responses, two StationXML components are required to specify the response: 1. A Polynomial stage, which contains the values of the Maclaurin coefficients, \(a_k\), and 2. An InstrumentPolynomial element that contains the same coefficients, but scaled by powers of the overall gain representing the combined effect of all the stages in the complete acquisition system.

Response type for a response represented as a polynomial expansion, which allows non-linear sensors to be described. Used at either a stage of acquisition response or a complete system.

Attributes of <InstrumentPolynomial>:

attribute

type

required

description

example

name

string

no

A name given to this filter.

resourceId

string

no

A resource identifier that serves to unique identify this filter or response. This identifier can be interpreted differently depending on the datacenter/software that generated the document. Also, we recommend using a prefix, e.g., GENERATOR:Meaningful ID. It should be expected that elements with the same resourceId should indicate the same information.

Sub Elements of <InstrumentPolynomial>:

element

type

number

<Description>

string

optional

<InputUnits>

required

<OutputUnits>

required

<ApproximationType>

string

required

<FrequencyLowerBound>

double

required

<FrequencyUpperBound>

double

required

<ApproximationLowerBound>

double

required

<ApproximationUpperBound>

double

required

<MaximumError>

double

required

<Coefficient>

double

required, many

<Description>

Response InstrumentPolynomial Description

content type: string

The description of the filter/stage/response

<InputUnits> required

Response InstrumentPolynomial InputUnits

The units of the data as input from the previous stage. For example if stage 1 represented a seismometer, InputUnits would be ‘m/s’ and OutputUnits would be ‘V’.

A type to document units; use SI whenever possible.

Sub Elements of <InputUnits>:

element

type

number

<Name>

string

required

<Description>

string

optional

<Name> required

Response InstrumentPolynomial InputUnits Name

content type: string

Symbol or name of units, e.g. “m/s”, “V”, “Pa”, “C”. Use SI whenever possible, along with singular lowercase “count” for digital counts.

<Description>

Response InstrumentPolynomial InputUnits Description

content type: string

Description of units, e.g. “Velocity in meters per second”, “Volts”, “Pascals”, “Degrees Celsius”. Description is only needed when the unit name is not a well know SI unit or there is need for clarification. Prefer not to use a Description for common units like m/s, m/s**2, count, etc.

<OutputUnits> required

Response InstrumentPolynomial OutputUnits

The units of the data as output to the following stage. For example if stage 2 represented the AtoD stage of a data logger, InputUnits would be ‘V’ and OutputUnits would be ‘count’.

A type to document units; use SI whenever possible.

Sub Elements of <OutputUnits>:

element

type

number

<Name>

string

required

<Description>

string

optional

<Name> required

Response InstrumentPolynomial OutputUnits Name

content type: string

Symbol or name of units, e.g. “m/s”, “V”, “Pa”, “C”. Use SI whenever possible, along with singular lowercase “count” for digital counts.

<Description>

Response InstrumentPolynomial OutputUnits Description

content type: string

Description of units, e.g. “Velocity in meters per second”, “Volts”, “Pascals”, “Degrees Celsius”. Description is only needed when the unit name is not a well know SI unit or there is need for clarification. Prefer not to use a Description for common units like m/s, m/s**2, count, etc.

<ApproximationType> required

Response InstrumentPolynomial ApproximationType

content type: string

The series type for the polynomial approximation

<FrequencyLowerBound> required

Response InstrumentPolynomial FrequencyLowerBound

content type: double

The lower bound of the frequency range.

Attributes of <FrequencyLowerBound>:

attribute

type

required

description

example

unit

string

no

The type of unit being used. This value is fixed to be HERTZ, setting it is redundant.

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<FrequencyUpperBound> required

Response InstrumentPolynomial FrequencyUpperBound

content type: double

The upper bound of the frequency range.

Attributes of <FrequencyUpperBound>:

attribute

type

required

description

example

unit

string

no

The type of unit being used. This value is fixed to be HERTZ, setting it is redundant.

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<ApproximationLowerBound> required

Response InstrumentPolynomial ApproximationLowerBound

content type: double

The lower bound of the approximation range.

<ApproximationUpperBound> required

Response InstrumentPolynomial ApproximationUpperBound

content type: double

The upper bound of the approximation range.

<MaximumError> required

Response InstrumentPolynomial MaximumError

content type: double

The maximum error of the approximation.

<Coefficient> required

Response InstrumentPolynomial Coefficient

content type: double

Attributes of <Coefficient>:

attribute

type

required

description

example

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

number

CounterType

no

<Stage>

Response Stage

Warning, Future Change

<Stage>: A filter, (PolesZeros, Coefficients, FIR, etc) may be required.

Type for channel response entry or stage. A full response is represented as an ordered sequence of these stages.

A filter, (PolesZeros, Coefficients, FIR, etc) is not required, but is recommended to provide a place to store the input and output units even in the case of “gain-only” stages.

For an analog gain-only stage, use a PolesZeros filter with no poles or zeros, PzTransferFunctionType=LAPLACE (RADIANS/SECOND)”, NormalizationFactor=1 and NormalizationFrequency=0.

For a digital gain-only stage, use a FIR filter with one numerator with value 1.0, and symmetry=NONE. While a digital Coefficients filter can serve the same purpose and is common, the FIR filter is more concise.

Attributes of <Stage>:

attribute

type

required

description

example

number

CounterType

yes

Stage sequence number. This is used in all the response blockettes. Start from name=’1’ and iterate sequentially.

resourceId

string

no

A resource identifier that serves to uniquely identify this response stage. This identifier can be interpreted differently depending on the datacenter/software that generated the document. Also, we recommend using a prefix, e.g., GENERATOR:Meaningful ID. It should be expected that equipment with the same ID should indicate the same information.

Sub Elements of <Stage>:

element

type

number

<PolesZeros>

optional

<Coefficients>

optional

<ResponseList>

optional

<FIR>

optional

<Decimation>

optional

<StageGain>

required

<Polynomial>

required

<PolesZeros>

Response Stage PolesZeros

Response stage described by the complex poles and zeros of the Laplace Transform (or z-transform) of the transfer function for this stage.

Attributes of <PolesZeros>:

attribute

type

required

description

example

name

string

no

A name given to this filter.

resourceId

string

no

A resource identifier that serves to unique identify this filter or response. This identifier can be interpreted differently depending on the datacenter/software that generated the document. Also, we recommend using a prefix, e.g., GENERATOR:Meaningful ID. It should be expected that elements with the same resourceId should indicate the same information.

Sub Elements of <PolesZeros>:

element

type

number

<Description>

string

optional

<InputUnits>

required

<OutputUnits>

required

<PzTransferFunctionType>

string

required

<NormalizationFactor>

double

required

<NormalizationFrequency>

double

required

<Zero>

optional, many

<Pole>

optional, many

<Description>

Response Stage PolesZeros Description

content type: string

The description of the filter/stage/response

<InputUnits> required

Response Stage PolesZeros InputUnits

The units of the data as input from the previous stage. For example if stage 1 represented a seismometer, InputUnits would be ‘m/s’ and OutputUnits would be ‘V’.

A type to document units; use SI whenever possible.

Sub Elements of <InputUnits>:

element

type

number

<Name>

string

required

<Description>

string

optional

<Name> required

Response Stage PolesZeros InputUnits Name

content type: string

Symbol or name of units, e.g. “m/s”, “V”, “Pa”, “C”. Use SI whenever possible, along with singular lowercase “count” for digital counts.

<Description>

Response Stage PolesZeros InputUnits Description

content type: string

Description of units, e.g. “Velocity in meters per second”, “Volts”, “Pascals”, “Degrees Celsius”. Description is only needed when the unit name is not a well know SI unit or there is need for clarification. Prefer not to use a Description for common units like m/s, m/s**2, count, etc.

<OutputUnits> required

Response Stage PolesZeros OutputUnits

The units of the data as output to the following stage. For example if stage 2 represented the AtoD stage of a data logger, InputUnits would be ‘V’ and OutputUnits would be ‘count’.

A type to document units; use SI whenever possible.

Sub Elements of <OutputUnits>:

element

type

number

<Name>

string

required

<Description>

string

optional

<Name> required

Response Stage PolesZeros OutputUnits Name

content type: string

Symbol or name of units, e.g. “m/s”, “V”, “Pa”, “C”. Use SI whenever possible, along with singular lowercase “count” for digital counts.

<Description>

Response Stage PolesZeros OutputUnits Description

content type: string

Description of units, e.g. “Velocity in meters per second”, “Volts”, “Pascals”, “Degrees Celsius”. Description is only needed when the unit name is not a well know SI unit or there is need for clarification. Prefer not to use a Description for common units like m/s, m/s**2, count, etc.

<PzTransferFunctionType> required

Response Stage PolesZeros PzTransferFunctionType

content type: string

Allowable values are:”LAPLACE (RADIANS/SECOND)”, “LAPLACE (HERTZ)”, “DIGITAL (Z-TRANSFORM)”. For an analog stage this should be the units of the poles and zeros of the Laplace Transform, either: “LAPLACE (RADIANS/SECOND)” or “LAPLACE (HERTZ)”. For a digital z-transform (e.g., for an IIR filter), this should be “DIGITAL (Z-TRANSFORM)”

Example: <PzTransferFunctionType>LAPLACE (RADIANS/SECOND)</PzTransferFunctionType>

<NormalizationFactor> required

Response Stage PolesZeros NormalizationFactor

content type: double

Normalization scale factor

<NormalizationFrequency> required

Response Stage PolesZeros NormalizationFrequency

content type: double

Frequency at which the NormalizationFactor is valid. This should be the same for all stages and within the passband, if any.

Attributes of <NormalizationFrequency>:

attribute

type

required

description

example

unit

string

no

The type of unit being used. This value is fixed to be HERTZ, setting it is redundant.

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<Zero>

Response Stage PolesZeros Zero

Complex zero of the polezero stage.

Attributes of <Zero>:

attribute

type

required

description

example

number

integer

no

The position index of the pole (or zero) in the array of poles[] (or zeros[])

number=”None”

Sub Elements of <Zero>:

element

type

number

<Real>

double

required

<Imaginary>

double

required

<Real> required

Response Stage PolesZeros Zero Real

content type: double

Real part of the complex number.

Representation of floating-point numbers without unit.

Attributes of <Real>:

attribute

type

required

description

example

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<Imaginary> required

Response Stage PolesZeros Zero Imaginary

content type: double

Imaginary part of the complex number.

Representation of floating-point numbers without unit.

Attributes of <Imaginary>:

attribute

type

required

description

example

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<Pole>

Response Stage PolesZeros Pole

Complex pole of the polezero stage.

Attributes of <Pole>:

attribute

type

required

description

example

number

integer

no

The position index of the pole (or zero) in the array of poles[] (or zeros[])

number=”None”

Sub Elements of <Pole>:

element

type

number

<Real>

double

required

<Imaginary>

double

required

<Real> required

Response Stage PolesZeros Pole Real

content type: double

Real part of the complex number.

Representation of floating-point numbers without unit.

Attributes of <Real>:

attribute

type

required

description

example

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<Imaginary> required

Response Stage PolesZeros Pole Imaginary

content type: double

Imaginary part of the complex number.

Representation of floating-point numbers without unit.

Attributes of <Imaginary>:

attribute

type

required

description

example

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<Coefficients>

Response Stage Coefficients

Warning, Future Change

<Coefficients>: The Numerator element is likely to be changed to require at least one numerator.

Response type for filter giving coefficients. Laplace transforms or analog filters can both be expressed using this type as well but the PolesZeros should be used instead. Digital filters with no denominator should use FIR instead.

Attributes of <Coefficients>:

attribute

type

required

description

example

name

string

no

A name given to this filter.

resourceId

string

no

A resource identifier that serves to unique identify this filter or response. This identifier can be interpreted differently depending on the datacenter/software that generated the document. Also, we recommend using a prefix, e.g., GENERATOR:Meaningful ID. It should be expected that elements with the same resourceId should indicate the same information.

Sub Elements of <Coefficients>:

element

type

number

<Description>

string

optional

<InputUnits>

required

<OutputUnits>

required

<CfTransferFunctionType>

string

required

<Numerator>

double

optional, many

<Denominator>

double

optional, many

<Description>

Response Stage Coefficients Description

content type: string

The description of the filter/stage/response

<InputUnits> required

Response Stage Coefficients InputUnits

The units of the data as input from the previous stage. For example if stage 1 represented a seismometer, InputUnits would be ‘m/s’ and OutputUnits would be ‘V’.

A type to document units; use SI whenever possible.

Sub Elements of <InputUnits>:

element

type

number

<Name>

string

required

<Description>

string

optional

<Name> required

Response Stage Coefficients InputUnits Name

content type: string

Symbol or name of units, e.g. “m/s”, “V”, “Pa”, “C”. Use SI whenever possible, along with singular lowercase “count” for digital counts.

<Description>

Response Stage Coefficients InputUnits Description

content type: string

Description of units, e.g. “Velocity in meters per second”, “Volts”, “Pascals”, “Degrees Celsius”. Description is only needed when the unit name is not a well know SI unit or there is need for clarification. Prefer not to use a Description for common units like m/s, m/s**2, count, etc.

<OutputUnits> required

Response Stage Coefficients OutputUnits

The units of the data as output to the following stage. For example if stage 2 represented the AtoD stage of a data logger, InputUnits would be ‘V’ and OutputUnits would be ‘count’.

A type to document units; use SI whenever possible.

Sub Elements of <OutputUnits>:

element

type

number

<Name>

string

required

<Description>

string

optional

<Name> required

Response Stage Coefficients OutputUnits Name

content type: string

Symbol or name of units, e.g. “m/s”, “V”, “Pa”, “C”. Use SI whenever possible, along with singular lowercase “count” for digital counts.

<Description>

Response Stage Coefficients OutputUnits Description

content type: string

Description of units, e.g. “Velocity in meters per second”, “Volts”, “Pascals”, “Degrees Celsius”. Description is only needed when the unit name is not a well know SI unit or there is need for clarification. Prefer not to use a Description for common units like m/s, m/s**2, count, etc.

<CfTransferFunctionType> required

Response Stage Coefficients CfTransferFunctionType

content type: string

Almost always a digital response, but can be an analog response in rad/sec or Hertz.

<Numerator>

Response Stage Coefficients Numerator

Warning, Future Change

<Numerator>: At least one Numerator may be required.

content type: double

Numerator for the coefficient. Should include at least one.

Attributes of <Numerator>:

attribute

type

required

description

example

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

number

CounterType

no

<Denominator>

Response Stage Coefficients Denominator

content type: double

Denominator for the coefficient

Attributes of <Denominator>:

attribute

type

required

description

example

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

number

CounterType

no

<ResponseList>

Response Stage ResponseList

Response type for a list of frequency, amplitude, and phase values. Because it is less flexible, the other filter types, PolesZeros, Coefficients, FIR, etc, are preferred.

Attributes of <ResponseList>:

attribute

type

required

description

example

name

string

no

A name given to this filter.

resourceId

string

no

A resource identifier that serves to unique identify this filter or response. This identifier can be interpreted differently depending on the datacenter/software that generated the document. Also, we recommend using a prefix, e.g., GENERATOR:Meaningful ID. It should be expected that elements with the same resourceId should indicate the same information.

Sub Elements of <ResponseList>:

element

type

number

<Description>

string

optional

<InputUnits>

required

<OutputUnits>

required

<ResponseListElement>

optional, many

<Description>

Response Stage ResponseList Description

content type: string

The description of the filter/stage/response

<InputUnits> required

Response Stage ResponseList InputUnits

The units of the data as input from the previous stage. For example if stage 1 represented a seismometer, InputUnits would be ‘m/s’ and OutputUnits would be ‘V’.

A type to document units; use SI whenever possible.

Sub Elements of <InputUnits>:

element

type

number

<Name>

string

required

<Description>

string

optional

<Name> required

Response Stage ResponseList InputUnits Name

content type: string

Symbol or name of units, e.g. “m/s”, “V”, “Pa”, “C”. Use SI whenever possible, along with singular lowercase “count” for digital counts.

<Description>

Response Stage ResponseList InputUnits Description

content type: string

Description of units, e.g. “Velocity in meters per second”, “Volts”, “Pascals”, “Degrees Celsius”. Description is only needed when the unit name is not a well know SI unit or there is need for clarification. Prefer not to use a Description for common units like m/s, m/s**2, count, etc.

<OutputUnits> required

Response Stage ResponseList OutputUnits

The units of the data as output to the following stage. For example if stage 2 represented the AtoD stage of a data logger, InputUnits would be ‘V’ and OutputUnits would be ‘count’.

A type to document units; use SI whenever possible.

Sub Elements of <OutputUnits>:

element

type

number

<Name>

string

required

<Description>

string

optional

<Name> required

Response Stage ResponseList OutputUnits Name

content type: string

Symbol or name of units, e.g. “m/s”, “V”, “Pa”, “C”. Use SI whenever possible, along with singular lowercase “count” for digital counts.

<Description>

Response Stage ResponseList OutputUnits Description

content type: string

Description of units, e.g. “Velocity in meters per second”, “Volts”, “Pascals”, “Degrees Celsius”. Description is only needed when the unit name is not a well know SI unit or there is need for clarification. Prefer not to use a Description for common units like m/s, m/s**2, count, etc.

<ResponseListElement>

Response Stage ResponseList ResponseListElement

Sub Elements of <ResponseListElement>:

element

type

number

<Frequency>

double

required

<Amplitude>

double

required

<Phase>

double

required

<Frequency> required

Response Stage ResponseList ResponseListElement Frequency

content type: double

Attributes of <Frequency>:

attribute

type

required

description

example

unit

string

no

The type of unit being used. This value is fixed to be HERTZ, setting it is redundant.

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<Amplitude> required

Response Stage ResponseList ResponseListElement Amplitude

content type: double

Attributes of <Amplitude>:

attribute

type

required

description

example

unit

string

no

The unit of measurement. Use SI unit names and symbols whenever possible (e.g., ‘m’ instead of ‘METERS’).

unit=”m”

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<Phase> required

Response Stage ResponseList ResponseListElement Phase

content type: double

range: -360.0 \(\le\) Phase \(\le\) 360.0

Attributes of <Phase>:

attribute

type

required

description

example

unit

string

no

The type of unit being used. This value is fixed to be DEGREES, setting it is redundant.

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<FIR>

Response Stage FIR

Warning, Future Change

<FIR>: The NumeratorCoefficient field is likely to be changed to require at least one numerator in future versions of StationXML.

Warning, Future Change

<FIR>: The NumeratorCoefficient field is likely to be renamed to Numerator in future versions of StationXML.

Response type for FIR filter. FIR filters are also commonly documented using a digital Coefficients element with no denominators, but it is preferred to use this type allowing representation of symmetric FIR coefficients without repeating them.

Attributes of <FIR>:

attribute

type

required

description

example

name

string

no

A name given to this filter.

resourceId

string

no

A resource identifier that serves to unique identify this filter or response. This identifier can be interpreted differently depending on the datacenter/software that generated the document. Also, we recommend using a prefix, e.g., GENERATOR:Meaningful ID. It should be expected that elements with the same resourceId should indicate the same information.

Sub Elements of <FIR>:

element

type

number

<Description>

string

optional

<InputUnits>

required

<OutputUnits>

required

<Symmetry>

string

required

<NumeratorCoefficient>

double

optional, many

<Description>

Response Stage FIR Description

content type: string

The description of the filter/stage/response

<InputUnits> required

Response Stage FIR InputUnits

The units of the data as input from the previous stage. For example if stage 1 represented a seismometer, InputUnits would be ‘m/s’ and OutputUnits would be ‘V’.

A type to document units; use SI whenever possible.

Sub Elements of <InputUnits>:

element

type

number

<Name>

string

required

<Description>

string

optional

<Name> required

Response Stage FIR InputUnits Name

content type: string

Symbol or name of units, e.g. “m/s”, “V”, “Pa”, “C”. Use SI whenever possible, along with singular lowercase “count” for digital counts.

<Description>

Response Stage FIR InputUnits Description

content type: string

Description of units, e.g. “Velocity in meters per second”, “Volts”, “Pascals”, “Degrees Celsius”. Description is only needed when the unit name is not a well know SI unit or there is need for clarification. Prefer not to use a Description for common units like m/s, m/s**2, count, etc.

<OutputUnits> required

Response Stage FIR OutputUnits

The units of the data as output to the following stage. For example if stage 2 represented the AtoD stage of a data logger, InputUnits would be ‘V’ and OutputUnits would be ‘count’.

A type to document units; use SI whenever possible.

Sub Elements of <OutputUnits>:

element

type

number

<Name>

string

required

<Description>

string

optional

<Name> required

Response Stage FIR OutputUnits Name

content type: string

Symbol or name of units, e.g. “m/s”, “V”, “Pa”, “C”. Use SI whenever possible, along with singular lowercase “count” for digital counts.

<Description>

Response Stage FIR OutputUnits Description

content type: string

Description of units, e.g. “Velocity in meters per second”, “Volts”, “Pascals”, “Degrees Celsius”. Description is only needed when the unit name is not a well know SI unit or there is need for clarification. Prefer not to use a Description for common units like m/s, m/s**2, count, etc.

<Symmetry> required

Response Stage FIR Symmetry

content type: string

The symmetry code. Designates how the factors will be specified.

  • NONE: No Symmetry - all Coefficients are specified, corresponds to A in SEED.

  • ODD: Odd number Coefficients with symmetry, B in SEED.

  • EVEN: Even number Coefficients with symmetry, C in SEED.

<NumeratorCoefficient>

Response Stage FIR NumeratorCoefficient

Warning, Future Change

<NumeratorCoefficient>: At least one Numerator may be required.

Warning, Future Change

<NumeratorCoefficient>: May be renamed to Numerator.

content type: double

The coefficients of the FIR filter. Should include at least one.

Attributes of <NumeratorCoefficient>:

attribute

type

required

description

example

i

integer

no

<Decimation>

Response Stage Decimation

Representation of decimation stage

Sub Elements of <Decimation>:

element

type

number

<InputSampleRate>

double

required

<Factor>

integer

required

<Offset>

integer

required

<Delay>

double

required

<Correction>

double

required

<InputSampleRate> required

Response Stage Decimation InputSampleRate

content type: double

Attributes of <InputSampleRate>:

attribute

type

required

description

example

unit

string

no

The type of unit being used. This value is fixed to be HERTZ, setting it is redundant.

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<Factor> required

Response Stage Decimation Factor

content type: integer

The factor of the input sample rate by which the rate is reduced.

<Offset> required

Response Stage Decimation Offset

content type: integer

Sample offset chosen for use. The value should be greater than or equal to zero, but less than the decimation factor. If the first sample is used, set this field to zero. If the second sample, set it to 1, and so forth.

<Delay> required

Response Stage Decimation Delay

content type: double

The estimated pure delay for the stage. This value will almost always be positive to indicate a delayed signal. Due to the difficulty in estimating the pure delay of a stage and because dispersion is neglected, this value should be considered nominal. Normally the delay would be corrected by the recording system and the correction applied would be specified in <Correction> below. See the Decimation Section in the StationXML documentation for a schematic description of delay sign convention.

Attributes of <Delay>:

attribute

type

required

description

example

unit

string

no

The unit of measurement. Use SI unit names and symbols whenever possible (e.g., ‘m’ instead of ‘METERS’).

unit=”s”

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<Correction> required

Response Stage Decimation Correction

content type: double

The time shift, if any, applied to correct for the delay at this stage. The sign convention used is opposite the <Delay> value; a positive sign here indicates that the trace was corrected to an earlier time to cancel the delay caused by the stage and indicated in the <Delay> element. Commonly, the estimated delay and the applied correction are both positive to cancel each other. A value of zero indicates no correction was applied. See the Decimation Section in the StationXML documentation for a schematic description of delay sign convention.

Attributes of <Correction>:

attribute

type

required

description

example

unit

string

no

The unit of measurement. Use SI unit names and symbols whenever possible (e.g., ‘m’ instead of ‘METERS’).

unit=”s”

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<StageGain> required

Response Stage StageGain

The gain at the stage of the encapsulating response element at a specific frequency. Total channel sensitivity should be specified in the InstrumentSensitivity element.

Type used for representing sensitivity at a given frequency. This complex type can be used to represent both total sensitivities and individual stage gains.

Sub Elements of <StageGain>:

element

type

number

<Value>

double

required

<Frequency>

double

required

<Value> required

Response Stage StageGain Value

content type: double

A scalar value representing the amount of amplification or diminution, if any, the current stage applies to the input signal.

<Frequency> required

Response Stage StageGain Frequency

content type: double

The frequency (in Hertz) at which the Value is valid.

While any frequency in the passband is acceptable, it is preferred that:

  1. For low pass FIR filters, use gain at zero frequency (sum of coefficients)

  2. If given, use manufacturer frequency/gain without recomputing

  3. For anything else, frequency should be in the “good” part of the passband

  4. All stage frequencies should be below the final Nyquist, as long as 2,3 are satisfied

  5. All stages, except lowpass FIR filters, should use the same frequencies, as long as 2,3 are satisfied

  6. Overall gain should also use the same frequency as 5, as long as it is below the final Nyquist and in the good part of the final passband

<Polynomial>

Response Stage Polynomial

When a response is given in terms of a polynomial expansion of powers of the sensor output signal (e.g., Volts), a Polynomial stage is required to specify the Maclaurin coefficients of the expansion.

In addition, an InstrumentPolynomial element must be present at Response level to represent the whole acquisition process, which contains the same Maclaurin coefficients, but scaled by powers of the overall gain for all stages.

Response type for a response represented as a polynomial expansion, which allows non-linear sensors to be described. Used at either a stage of acquisition response or a complete system.

Attributes of <Polynomial>:

attribute

type

required

description

example

name

string

no

A name given to this filter.

resourceId

string

no

A resource identifier that serves to unique identify this filter or response. This identifier can be interpreted differently depending on the datacenter/software that generated the document. Also, we recommend using a prefix, e.g., GENERATOR:Meaningful ID. It should be expected that elements with the same resourceId should indicate the same information.

Sub Elements of <Polynomial>:

element

type

number

<Description>

string

optional

<InputUnits>

required

<OutputUnits>

required

<ApproximationType>

string

required

<FrequencyLowerBound>

double

required

<FrequencyUpperBound>

double

required

<ApproximationLowerBound>

double

required

<ApproximationUpperBound>

double

required

<MaximumError>

double

required

<Coefficient>

double

required, many

<Description>

Response Stage Polynomial Description

content type: string

The description of the filter/stage/response

<InputUnits> required

Response Stage Polynomial InputUnits

The units of the data as input from the previous stage. For example if stage 1 represented a seismometer, InputUnits would be ‘m/s’ and OutputUnits would be ‘V’.

A type to document units; use SI whenever possible.

Sub Elements of <InputUnits>:

element

type

number

<Name>

string

required

<Description>

string

optional

<Name> required

Response Stage Polynomial InputUnits Name

content type: string

Symbol or name of units, e.g. “m/s”, “V”, “Pa”, “C”. Use SI whenever possible, along with singular lowercase “count” for digital counts.

<Description>

Response Stage Polynomial InputUnits Description

content type: string

Description of units, e.g. “Velocity in meters per second”, “Volts”, “Pascals”, “Degrees Celsius”. Description is only needed when the unit name is not a well know SI unit or there is need for clarification. Prefer not to use a Description for common units like m/s, m/s**2, count, etc.

<OutputUnits> required

Response Stage Polynomial OutputUnits

The units of the data as output to the following stage. For example if stage 2 represented the AtoD stage of a data logger, InputUnits would be ‘V’ and OutputUnits would be ‘count’.

A type to document units; use SI whenever possible.

Sub Elements of <OutputUnits>:

element

type

number

<Name>

string

required

<Description>

string

optional

<Name> required

Response Stage Polynomial OutputUnits Name

content type: string

Symbol or name of units, e.g. “m/s”, “V”, “Pa”, “C”. Use SI whenever possible, along with singular lowercase “count” for digital counts.

<Description>

Response Stage Polynomial OutputUnits Description

content type: string

Description of units, e.g. “Velocity in meters per second”, “Volts”, “Pascals”, “Degrees Celsius”. Description is only needed when the unit name is not a well know SI unit or there is need for clarification. Prefer not to use a Description for common units like m/s, m/s**2, count, etc.

<ApproximationType> required

Response Stage Polynomial ApproximationType

content type: string

The series type for the polynomial approximation

<FrequencyLowerBound> required

Response Stage Polynomial FrequencyLowerBound

content type: double

The lower bound of the frequency range.

Attributes of <FrequencyLowerBound>:

attribute

type

required

description

example

unit

string

no

The type of unit being used. This value is fixed to be HERTZ, setting it is redundant.

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<FrequencyUpperBound> required

Response Stage Polynomial FrequencyUpperBound

content type: double

The upper bound of the frequency range.

Attributes of <FrequencyUpperBound>:

attribute

type

required

description

example

unit

string

no

The type of unit being used. This value is fixed to be HERTZ, setting it is redundant.

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

<ApproximationLowerBound> required

Response Stage Polynomial ApproximationLowerBound

content type: double

The lower bound of the approximation range.

<ApproximationUpperBound> required

Response Stage Polynomial ApproximationUpperBound

content type: double

The upper bound of the approximation range.

<MaximumError> required

Response Stage Polynomial MaximumError

content type: double

The maximum error of the approximation.

<Coefficient> required

Response Stage Polynomial Coefficient

content type: double

Attributes of <Coefficient>:

attribute

type

required

description

example

plusError

double

no

plus uncertainty or error in measured value.

plusError=”0.1”

minusError

double

no

minus uncertainty or error in measured value.

minusError=”0.1”

measurementMethod

string

no

number

CounterType

no

Specifying and Using Response Information

–By Mike Hagerty & Adam Ringler

Theory of Instrument Response

In geophysics, we often work with instrument responses in the frequency domain as they are simpler to combine and manipulate For instrument responses specified in the time domain, we must first transform the response of the frequency domain using one or more transforms. Depending on the application, one or more of the following transforms may be used: The Fourier Transform, the Laplace Transform and the z-Transform.

The Fourier Transform

Introduction

The Fourier Transform (\(t \rightarrow \omega\)) is defined by

\[X(\omega)=\frac{1}{2\pi}\int_{-\infty}^{\infty}x(t)e^{-j\omega t}dt\]

while the Inverse Fourier Transform (\(\omega \rightarrow t\)) is given by

\[x(t)=\int_{-\infty}^{\infty}X(\omega)e^{+j\omega t}d\omega\]

There are different conventions in use for the Fourier Transform. The conventions differ in which transform (forward vs. reverse) has the positive sign in the exponent, and which transform is scaled by \(\frac{1}{2\pi}\). Some authors prefer to scale each transform by \(\frac{1}{\sqrt{2\pi}}\) instead. What is important is that forward and reverse transforms must have exponents that are opposite in sign, and the product of the scale factors must equal \(\frac{1}{2\pi}\).

Discrete Time Fourier Transform (DTFT)

In the Fourier transform pair above, both time (\(t\)) and frequency (\(\omega\)) are continuous parameters. In contrast, for signals sampled discretely in time, we may define the related Discrete Time Fourier Transform (DTFT) as

\[X(\omega)=\frac{1}{2\pi}\sum_{n=-\infty}^{\infty}x[n]e^{-j\omega n}\]
\[x[n]=\int_{0}^{2\pi}X(\omega)e^{+j\omega n}d\omega\]

where \(n\) is the discrete sample number, and \(\omega\) is still continuous.

Discrete Fourier Transform (DFT)

And finally, when both time and frequency are discrete, we define the Discrete Fourier Transform (DFT) pair by

\[X[k]=\frac{1}{N}\sum_{n=0}^{N-1}x[n]e^{-j2\pi kn/N}\]
\[x[n]=\sum_{k=0}^{N-1}X[k]e^{+j2\pi kn/N}\]

Note that the popular Fast Fourier Transform (FFT) is a particular implementation of the DFT.

The Laplace Transform

Introduction

The Laplace Transform is defined by

\[X(\sigma,\omega)=\int_{-\infty}^{\infty}x(t)e^{-\sigma t}e^{-j\omega t}dt\]

If we make the substitution, \(s=\sigma + j\omega\), this becomes

\[X(s)=\int_{-\infty}^{\infty}x(t)e^{-s t}dt\]

Each point in the complex s-plane is associated with a frequency, \(\omega\) and an exponent \(\sigma\). Thus, each point in the s-plane describes a sinusoid of frequency \(\omega\) that is either exponentially growing (\(\sigma>0\)) or exponentially decaying (\(\sigma<0\)) with time.

Note that the Laplace transform evaluated along the imaginary axis (where the attenuation parameter, \(\sigma=0\)), reduces to the complex Fourier transform, \(X(\omega)\).

The Laplace transform at point \(s\) is a measure of the similarity between the input signal, \(x(t)\), and the corresponding exponentially growing/decaying sinusoid. A large value of \(X(s)\) corresponds to a strong similarity between the input signal and the sinusoid \(e^{-(\sigma + j\omega)t}\), indicating a strong presence of the sinusoid in the input signal.

In practice, we are often only interested in causal signals that begin at \(t=0\). Using the unit step function,

\begin{equation*} u(t)=\begin{cases} 1 & t\ge0\\ 0 & t<0 \end{cases} \end{equation*}

we may ensure causality by writing \(x(t)=u(t)x(t)\) , so that the Laplace Transform becomes

\[X(s)=\int_{0}^{\infty}x(t)e^{-s t}dt\]
Poles and Zeros

Suppose we have a data processing system (e.g., analog sensor + datalogger) that can be characterized by the linear differential equation,

\[a_{2}\ddot{y}(t)+a_{1}\dot{y}(t)+a_{0}y(t)=b_{2}\ddot{x}(t)+b_{1}\dot{x}(t)+b_{0}x(t)\]

where \(x(t)\) is the input signal (e.g., the ground motion), \(y(t)\) is the output signal (the signal recorded) and \(a_{k}\) and \(b_{k}\) are constant (time-invariant) coefficients. If we assume the system is causal, so that the signals + derivatives are all 0 for \(t<0\) , then the Laplace Transform of the equation gives

\[a_{2}s^{2}Y(s)+a_{1}sY(s)+a_{0}Y(s)=b_{2}s^{2}X(s)+b_{1}sX(s)+b_{0}X(s)\]

or

\[(a_{2}s^{2}+a_{1}s+a_{0})Y(s)=(b_{2}s^{2}+b_{1}s+b_{0})X(s)\]

From this we can write the system transfer function relating the output to the input as

\[H(s) = \frac{Y(s)}{X(s)}=\frac{b_{2}s^{2}+b_{1}s+b_{0}}{a_{2}s^{2}+a_{1}s+a_{0}}\]

or more generally,

\[H(s) =\frac{\sum_{k=0}^{M}b_k s^n}{\sum_{k=0}^{N}a_n s^n}\]

This is the coefficient representation of the transfer function. It represents the transfer function as the ratio of two polynomials. The roots of the numerator polynomial are called ‘zeros’, while the roots of the denominator polynomial are called ‘poles’.

Often, for analog stages, it is more convenient to factor the transfer function in terms of these poles and zeros:

\[H(s)=\frac{\Pi_{k=1}^{M} (s-z_{k})} {\Pi_{k=1}^{N} (s-p_{k})}\]

where \(z_{k}\) are the M zeros of the system, and \(p_{k}\) are the N poles.

Because the coefficients of the numerator and denominator polynomials are real, the corresponding roots (poles and zeros) must occur in complex conjugate pairs.

Thus, the poles and zeros are either real or form pairs that are symmetric with respect to the real axis in the complex \(s\)-plane. In addition, it can be shown that for systems that are stable and causal, the poles all have real parts \(\le 0\).

Recall that the Laplace transform variable is given by \(s=\sigma+j\omega\). Along the imaginary axis, \(\sigma=0\) and hence \(s=j\omega\). Thus, we may express the complex frequency response of the analog stage by calculating its polezero expansion

\[H(f)=A_0\frac{\Pi_{k=1}^{M} (s-z_{k})} {\Pi_{k=1}^{N} (s-p_{k})}\]

where \(s=j2\pi f\) [rad/s] or \(s=jf\) [Hz].

Thus, given the poles and zeros of an analog stage, in order to properly calculate the stage frequency response, we must know the units of \(s\) used to calculate the poles and zeros.

In StationXML, these units are specified by the PzTransferFunctionType element within the PolesZerosType response stage:

<Stage number="1">
<PolesZeros>
   ...
   </OutputUnits>
      <PzTransferFunctionType>LAPLACE (RADIANS/SECOND)</PzTransferFunctionType>
      <NormalizationFactor>1.0</NormalizationFactor>
      <NormalizationFrequency unit="HERTZ">1.0</NormalizationFrequency>

where the possible values for PzTransferfunctionType are:

  1. “LAPLACE (RADIANS/SECOND)”

  2. “LAPLACE (HERTZ)”

  3. “DIGITAL (Z-TRANSFORM)” (Discussed in next section)

Note also the <NormalizationFrequency> with unit “HERTZ”. These units are distinct from those used to identify \(s\) above. The <NormalizationFrequency> specifies the frequency (in Hz) at which the polezero transfer function is normalized. The recommended practice is to choose a value of normalization factor, \(A_0\), that normalizes the polezero expansion to unity at the specified normalization frequency, \(f_n\):

\[|H(f_n)| = 1.0\]

The z-Transform

Introduction

The z-Transform is defined by

\[X(z)=\sum_{n=0}^{\infty}x[n]z^{-n}\]

where

\[ \begin{align}\begin{aligned}z=re^{j\omega}\\z^{-n}=r^{-n}e^{-j\omega n}\end{aligned}\end{align} \]

Notice that on the unit circle, where \(|z|\equiv |r|=1\) and \(z=e^{j\omega}\) , the z-transform reduces to the discrete Fourier transform (DTFT):

\[X(e^{j\omega})=\sum_{n=0}^{\infty}x[n]e^{-j\omega n}\]

The z-transform measures the similarity between the input signal \(x[n]\) and the signal \(z^{-n}\).

\(z^{-n}\) represents exponentially increasing (for r < 1) or decreasing (r > 1) sinusoids. e.g., \(e^{-j\omega n}\) is a sinusoid with angular frequency \(\omega\) [radians/sample] that expands with sample number n.

Thus, the location (value) of \(z\) in the complex plane controls what \(z^{-n}\) looks like.

The fractional or angular frequency, \(\omega\) [radians/sample] is related to the linear frequency of the sinusoid through

\[2\pi[radians/cycle]=\omega[radians/sample]\cdot N[samples/cycle]\]

so the number of samples/cycle is given by

\[N=\frac{2\pi}{\omega}samples/cycle\]

and this corresponds to a period of \(T=N\Delta t\) [seconds],

where \(\Delta t\) is the sampling interval (secs) and is related to the sampling rate by: \(f_{s}=\frac{1}{\Delta t}\). Then the frequency of oscillation is given by \(f=\frac{1}{T}=\frac{1}{N\Delta t}=\frac{f_{s}}{N}\) [Hz]

In other words, as the angle in the complex z-plane goes from \(\omega=0\) to \(\omega=\pi\), the linear frequency goes from \(f=0\) to \(f=f_{Nyq}\) [Hz], where the Nyquist frequency, \(f_{Nyq}=\frac{f_s}{2}\) [Hz].

Thus, in implementing the frequency response of the z-transform (e.g., when calculating the response of a FIR filter), it is common to write it in a way that removes the dependency on the actual sample rate, or

\[X(e^{j\omega})=\sum_{n=0}^{\infty}x[n]e^{-j 2\pi n \frac{f}{f_s}} = \sum_{n=0}^{\infty}x[n]e^{-j 2\pi n f \Delta t}\]
Difference Equations

z-transforms of linear time-invariant (LTI) systems described by difference equations play an important role in signal processing.

The general form of a difference equation is:.

\[\sum_{k=0}^{N}a_{k}y[n-k]=\sum_{k=0}^{M}b_{k}x[n-k],\]

where \(a_{0}\ne0\) (the coefficient of y[n] can’t be zero)

Taking the z-transform of both sides,

\[\sum_{k=0}^{N}a_{k}z^{-k}Y(z)=\sum_{k=0}^{M}b_{k}z^{-k}X(z)\]

or

\[Y(z)=\frac{\sum_{k=0}^{M}b_{k}z^{-k}}{\sum_{k=0}^{N}a_{k}z^{-k}}X(z)\]

From this we can write the system transfer function

\[H(z)=\frac{Y(z)}{X(z)}=\frac{\sum_{k=0}^{M}b_{k}z^{-k}}{\sum_{k=0}^{N}a_{k}z^{-k}}\]

The transfer function is the z-transform of the system impulse response, \(h[n]\), or

\[H(z)=\sum_{n=0}^{\infty}h[n]z^{-n}\]

The transfer function can also be factored in terms of poles and zeros (for \(b_{0}\ne0\))

\[H(z)=\frac{b_{0}}{a_{0}}\frac{\Pi_{k=1}^{M}(1-c_{k}z^{-1})}{\Pi_{k=1}^{N}(1-d_{k}z^{-1})}\]

where \(c_{k}\) are the M zeros of the system, and \(d_{k}\) are the N poles.

For a system to be both stable and causal, its poles must lie inside the unit circle, or \(|d_{k}|<1\) for \(k=1,N\).

z-Transform Frequency Response

How does the location of the poles and zeros of the z-transform influence the complex frequency response, \(H(f)\) ?

We start by only considering the magnitude response, \(|H(f)|\).

The z-transform only exists within a region of the complex z-plane where the infinite sum converges. We call this region the Radius of Convergence (ROC) of the system.

If our system, described by difference equations, is stable, then the ROC must include the unit circle, \(|z|=1\) where

\[ \begin{align}\begin{aligned}H(z)=\frac{Y(z)}{X(z)}=\frac{b_{0}}{a_{0}}\frac{\Pi_{k=1}^{M}(1-c_{k}z^{-1})}{\Pi_{k=1}^{N}(1-d_{k}z^{-1})}\\H(e^{-j\omega})=\frac{b_{0}}{a_{0}}\frac{\Pi_{k=1}^{M}(1-c_{k}e^{-j\omega})}{\Pi_{k=1}^{N}(1-d_{k}e^{-j\omega})}\end{aligned}\end{align} \]

The magnitude of the product is equal to the product of the magnitude, thus

\begin{eqnarray} |H(e^{-j\omega})| &=& \frac{|b_{0}|}{|a_{0}|}\frac{\Pi_{k=1}^{M}|(1-c_{k}e^{-j\omega})|}{\Pi_{k=1}^{N}|(1-d_{k}e^{-j\omega})|} \\ &=& \frac{|b_{0}|}{|a_{0}|}\frac{\Pi_{k=1}^{M}|e^{-j\omega}(e^{j\omega}-c_{k})|}{\Pi_{k=1}^{N}|e^{-j\omega}(e^{j\omega}-d_{k})|} \\ |H(e^{-j\omega})| &=& \frac{|b_{0}|}{|a_{0}|}\frac{\Pi_{k=1}^{M}|(e^{j\omega}-c_{k})|}{\Pi_{k=1}^{N}|(e^{j\omega}-d_{k})|} \end{eqnarray}

In other words, as we traverse the unit circle through circular ‘frequency’, \(\omega\), from \(0-2\pi\), the magnitude of the response depends on the distance between the point on the unit circle, \(e^{j\omega}\), and the zeros, \(|e^{j\omega}-c_k|\), as well as the distance between the point and the poles, \(|e^{j\omega}-d_k|\), or

\[|H(e^{-j\omega})| = \frac{|b_{0}|}{|a_{0}|}\frac{\Pi_{k=1}^{M}|distance-to-zeros|}{\Pi_{k=1}^{N}|distance-to-poles|}\]

Thus, \(|H(e^{j\omega})|\) is small when \(e^{j\omega}\) is near the zeros and it is large when \(e^{j\omega}\) is near the poles.

Examples
Example 1

Consider a system with zeros at \(z=1,-1\) and poles at \(z=0.95e^{\pm j\pi/4}\), with response function

\[|H(e^{-j\omega})| = \frac{|(e^{j\omega}-1)||(e^{j\omega}+1)|} {|(e^{j\omega}-0.95e^{j\pi/4})||(e^{j\omega}-0.95e^{-j\pi/4})|}\]
_images/z-transform_fig1a.png
_images/z-transform_fig1b.png

Poles near the unit circle push the magnitude response up at those frequencies, while zeros near the unit circle pull it down; if the zero is actually on the unit circle, then it forces the magnitude response to be exactly 0 at that frequency.

Example 2

Here’s an example pass-band filter comprised of 8 poles and 8 zeros. We can predict from the position of the poles and zeros that the frequency response will be 0 at \(\omega=0\) and will be maximum near \(\omega=\frac{\pi}{2}\).

_images/z-transform_fig2.png

FIR-IIR Filters

Introduction

As we’ll see in the next section, each of the multiple stages that comprise an instrument response can be thought of as a filter that modifies the amplitude and phase of the original signal (e.g., ground motion) in some way.

In fact, to truly understand instrument response and data processing in general, it is necessary to have some familiarity with digital signal processing.

There are two categories of discrete-time filters that we routinely encounter in seismology:

  1. FIR filters (Finite Impulse Response)

  2. IIR filters (Infinite Impulse Response)

Both filters can be constructed using difference equations, hence, they are often represented in terms of their z-transforms.

FIR filters can be written as:

\[y[n]=\sum_{k=0}^{M}b_k x[n-k]\]

while IIR filters can be written as:

\[y[n]=\sum_{k=0}^{M}b_k x[n-k] + \sum_{k=1}^{N}a_k y[n-k]\]

FIR filters can be thought of as a sum of weighted values of past inputs, \(x[n-k]\) (the so called moving average filter). IIR filters have this same moving average component, but also offer the possibility of feedback, since the current output \(y[n]\) can also depend on a weighted combination of past outputs, \(y[n-k]\).

For a finite input impulse, the subsequent impulse response of a FIR filter is finite. However, because of the dependence on past outputs, the impulse response of the IIR filter is, at least in theory, infinite; it continues long after the input signal has finished.

In the FIR case, the system function, found by taking the z-transform of the difference equation, can be written

\[H(z)=\sum_{k=0}^{M}b_k z^{-k}\]

while for the IIR case, the system function is

\[H(z)=\frac{\sum_{k=0}^{M}b_k z^{-k}} {\sum_{k=0}^{N}a_k z^{-k}}\]

where \(a_0=1\).

The system functions can be factored in terms of their poles and zeros as

\begin{eqnarray} H_{FIR}(z) &=& b_0{\Pi_{k=1}^{M}(1-c_k z^{-1})} \\ H_{IIR}(z) &=& \frac{b_0{\Pi_{k=1}^{M}(1-c_k z^{-1})}} {\Pi_{k=1}^{N}(1-d_k z^{-1})} \end{eqnarray}

Thus, the FIR filter has arbitrary zeros, but only has poles at the origin (\(z=0\)). However, poles (or zeros for that matter) at the origin don’t affect the frequency response since they are located a fixed distance (\(|z|=1\)) from the unit circle.

In contrast, the IIR filter may have both zeros and poles at arbitrary locations, making them especially flexible.

The corresponding impulse responses are found by taking the inverse z-transform of the system functions,

\begin{eqnarray} h_{FIR}[n] &=& \begin{cases} b_n & 0\le n\le M \\ 0 & else \end{cases} \end{eqnarray}

Thus the FIR impulse response is given by the difference equation coefficients, \(b_k\), themselves, and the impulse response dies after \(M\) terms.

The impulse response of the causal parts of the IIR filter can be written as

\begin{eqnarray} h_{IIR}[n] &=& \sum_{k=1}^{N}A_k(d_k)^{n}u[n] \end{eqnarray}

where \(u[n]\) is the unit step function (\(u[n]=1,n\ge 0\)).

Because of the geometric series \(d_k^{n}\), the IIR impulse response decays but never actually reaches zero.

FIR vs IIR

The primary distinguishing factor between FIR and IIR filters is this:

FIR filters are guaranteed to have a linear phase response, which is much easier to deal with, while IIR filters have non-linear phase response.

Some pros and cons of each filter type is summarized below.

FIR Filters:

  • Pros
    • Can be designed using optimization techniques to match a desired magnitude/phase response

    • Allow for arbitrary magnitude/phase response

    • Allow for linear or zero phase response (no distortion)

    • Are always stable

  • Cons
    • Can require a large number of coefficients (e.g., \(M\approx 100\)) to achieve desired accuracy, particularly for steep filters.

IIR Filters:

  • Pros
    • Can be implemented very efficiently - fewer coefficients than FIR for comparable frequency selective filter accuracy (e.g., \(M\approx N\approx 8\))

    • Filtering is fast

  • Cons
    • Generally can’t use optimization techniques to design

    • Better approach is to start from a well-known analog filter design and transform it to discrete-time filter.

    • Limited to frequency selective filters (e.g., bandpass, high-pass, etc)

    • Phase is nonlinear (will always cause phase distortion within the passband)

    • Zero phase filters are impossible to implement exactly (you can get this by filtering forward + backward, but this can’t be implemented in real-time!)

In spite of the cons listed above, there are some instances where IIR filters are preferred. For instance, for implementing maximally flat selective filters (e.g., Butterworth bandpass filters) or for modeling the behavior of systems with feedback.

Nevertheless, the vast majority of filters encountered in seismic metadata are anti-alias filters used at each decimation stage of the digitizer, and the digital anti-alias filters most commonly used are linear phase FIR filters that produce a constant time shift.

Hence, in what follows we will concentrate on FIR filters.

Classification of FIR Filters

FIR filter frequency response can be written

\[H(e^{j\omega})=\sum_{k=0}^{M}b_{k}z^{-k}=\sum_{k=0}^{M}b_{k}e^{-j\omega k}=\sum_{k=0}^{M}h[k]e^{-j\omega k}\]

where in the last expression, we identify the filter coefficients \(b_{k}\) as the impulse response values: \(h[k]=b_k\) to show that the output of the FIR filter is the convolution of the input signal \(x[n]\) with the filter impulse response.

It can be shown that the FIR filter response has generalized linear phase of the form,

\[H(e^{j\omega})=A(e^{j\omega})e^{-j(\omega\alpha+\beta)}\]

where \(A(e^{j\omega})\) describes the real amplitude, \(\beta\) is a constant phase factor, and \(\alpha\) is the constant group delay.

A consequence of this constant group delay (also called phase delay) is that the shape of the input waveform is not changed; all frequencies are delayed the right amount so that they add together in the same way to form the output signal. The resulting output signal has the same shape as the input signal but is delayed in time.

Some general observations about FIR filters are:
  • FIR filters contain as many poles as they have zeros.

  • The number of zeros (poles), \(M\), is called the order of the FIR filter

  • All the poles are located at the origin (inside the unit circle), hence FIR filters are said to be stable.

  • These poles don’t affect the magnitude of the frequency response, only the phase.

Note that a filter of order M has length M+1.

FIR filters with generalized linear phase are often divided into 4 types depending on whether the order M is even or odd, so that the number of points is either odd or even, and whether the impulse response (=FIR coefficients) exhibits even or odd symmetry about the middle point.

FIR filters with symmetrical impulse response are often called two-sided or acausal. As a consequence of the symmetry of the filter impulse response, the onsets of very impulsive signals (with energy at frequencies near the Nyquist cut-off for the FIR filter), may be contaminated by precursory (=acausal) oscillations.

Type I: M even

M even + even symmetry about the midpoint M/2

Note that in this case, there will be M+1 (odd) points in the filter and M/2 will fall on an index right in the middle:

\[h[k]=h[M-k],0\le k\le M\]

We can write out the frequency response and use symmetry to simplify,

\begin{eqnarray} H(e^{j\omega})&=&\sum_{k=0}^{M}h[k]e^{-j\omega k} \\ &=&h[0]+h[1]e^{-j\omega\cdot1}+h[2]e^{-j\omega\cdot2}+...+h[M-1]e^{-j\omega\cdot(M-1)}+h[M]e^{-j\omega\cdot M} \\ &=&e^{-j\omega\frac{M}{2}}\Big[h[0]e^{+j\omega\frac{M}{2}}+h[1]e^{-j\omega\cdot1}e^{+j\omega\frac{M}{2}}+...+h[M-1]e^{-j\omega\cdot(\frac{M}{2}-1)}+h[M]e^{-j\omega\frac{M}{2}}\Big] \\ &=&e^{-j\omega\frac{M}{2}}\Big[h[0]e^{+j\omega\frac{M}{2}}+h[M]e^{-j\omega\frac{M}{2}}+h[1]e^{-j\omega\cdot1}e^{+j\omega\frac{M}{2}}+...+h[M/2+1]e^{-j\omega\cdot1}+h[M/2]\Big] \\ &=&e^{-j\omega\frac{M}{2}}\Big[h[0](e^{+j\omega\frac{M}{2}}+e^{-j\omega\frac{M}{2}})+h[1](e^{+j\omega(\frac{M}{2}-1)}+e^{-j\omega(\frac{M}{2}-1)})+...+h[M/2-1](e^{+j\omega}+e^{-j\omega})+h[M/2]\Big] \\ &=&e^{-j\omega\frac{M}{2}}\Big[h[0]2cos(\frac{M}{2}\omega)+h[1]2cos((\frac{M}{2}-1)\omega)+...+h[M/2-1]2cos(\omega)+h[M/2]\Big] \\ H(e^{j\omega})&=&e^{-j\omega\frac{M}{2}}\sum_{k=0}^{M/2}a[k]cos(\omega k) \end{eqnarray}

where \(a[0]=h[M/2],a[1]=2h[M/2-1],...,a[M/2]=2h[0]\).

In general, \(a[0]=h[\frac{M}{2}]\), and \(a[k]=2h[\frac{M}{2}-k],k=1,...,\frac{M}{2}\).

The \(a[k]\) coefficients are real, hence the sum is real, and the response satisfies the generalized linear phase property:

\[H(e^{j\omega})=A(e^{j\omega})e^{-j(\omega\alpha+\beta)}\]

Hence for Type I, the amp is: \(A(e^{j\omega})=\sum_{k=0}^{M/2}a[k]cos(\omega k)\), while the phase term is: \(e^{-j\omega\frac{M}{2}}\) and the corresponding group delay is: \(\alpha=\frac{M}{2}\).

Type II: M odd

M odd + even symmetry about the midpoint M/2

Note that in this case, there will be M+1 (even) points in the filter, hence the symmetry mid-point falls between two sample points.

\[h[k]=h[M-k],0\le k\le M\]

By similar algebra as above, we can write the frequency response as

\[H(e^{j\omega})=e^{-j\omega\frac{M}{2}}\sum_{k=1}^{\frac{(M+1)}{2}}b[k]cos(\omega(k-\frac{1}{2}))\]

where \(b[k]=2h[(\frac{(M+1)}{2}-k],k=1,...,\frac{(M+1)}{2}\).

Thus, this system also has group delay \(\alpha=\frac{M}{2}\).

Type III/IV anti-symmetric

Type III (M even) and Type IV (M odd) FIR filters exhibit anti-symmetry about the midpoint: \(h[k]=-h[M-k]\).

As a result, their expansions reduce to summation of sine functions and can’t be used to implement low-pass filters, hence they are not used for anti-alias filtering.

Practical Concerns

Thus, we normally use FIR filters of type I or II for anti-alias filtering. Because of their symmetry, only half the coefficients need to be stored in the metadata.

In StationXML, a FIR filter can be represented using a FIR response stage, with sub-element indicating the symmetry (ODD/EVEN/NONE). Note that here, both ODD and EVEN symmetry refer to a symmetric FIR filter (there is no flag to indicate an asymmetric filter), with the ODD symmetry indicating the total number of FIR coefficients, M, is odd (so that the point of symmetry corresponds to index (M-1)/2 in the coefficient array. This is also referred to as a “Type I” FIR filter in digital signal processing literature and is often used in seismic datalogger downsampling sequences. In contrast, a symmetric FIR filter with EVEN symmetry has a total number of FIR coefficients, M, that is even. As a result, there is no actual index at the point of symmetry. This is also referred to as a “Type II” FIR filter.

The purpose of the Symmetry element is to obviate the need to enter the entire M FIR coefficients when the filter is symmetric (ODD or EVEN). In the case of EVEN symmetry, only the unique M/2 coefficients need to be supplied, while in the case of ODD symmetry, the number of unique coefficients is M/2 + 1. In the case of EVEN symmetry (an even total number of coefficients), there will be an even number of unique coefficients. However, importantly, in the case of ODD symmetry (an odd total number of coefficients), the number of unique coefficients specified in the StationXML may be either odd or even.

This simple example illustrate when to use ODD or EVEN :

<FIR>
    <Symmetry>ODD</Symmetry>
    <NumeratorCoefficient i="1">0.1</NumeratorCoefficient>
    <NumeratorCoefficient i="2">0.4</NumeratorCoefficient>
    <NumeratorCoefficient i="3">0.5</NumeratorCoefficient>
</FIR>

which expands to be equivalent to:

<FIR>
    <Symmetry>NONE</Symmetry>
    <NumeratorCoefficient i="1">0.1</NumeratorCoefficient>
    <NumeratorCoefficient i="2">0.4</NumeratorCoefficient>
    <NumeratorCoefficient i="3">0.5</NumeratorCoefficient>
    <NumeratorCoefficient i="4">0.4</NumeratorCoefficient>
    <NumeratorCoefficient i="5">0.1</NumeratorCoefficient>
</FIR>

and also

<FIR>
    <Symmetry>EVEN</Symmetry>
    <NumeratorCoefficient i="1">0.1</NumeratorCoefficient>
    <NumeratorCoefficient i="2">0.4</NumeratorCoefficient>
    <NumeratorCoefficient i="3">0.5</NumeratorCoefficient>
</FIR>

which expands to be equivalent to:

<FIR>
    <Symmetry>NONE</Symmetry>
    <NumeratorCoefficient i="1">0.1</NumeratorCoefficient>
    <NumeratorCoefficient i="2">0.4</NumeratorCoefficient>
    <NumeratorCoefficient i="3">0.5</NumeratorCoefficient>
    <NumeratorCoefficient i="4">0.5</NumeratorCoefficient>
    <NumeratorCoefficient i="5">0.4</NumeratorCoefficient>
    <NumeratorCoefficient i="6">0.1</NumeratorCoefficient>
</FIR>

Note that one cannot tell the “symmetry” (ODD/EVEN/NONE) just by looking at the (possibly reduced) number of coefficients in the StationXML FIR element.

When in doubt, simply enter all of the FIR coefficients with Symmetry = None, so that no assumptions will be made when calculating the frequency response of the filter.

In practice, even symmetric FIR filter coefficients are often stored in a Coefficients response stage.

This is how the FIR response is calculated in ObsPy, which uses the venerable evalresp C code underneath the hood.

Note that in evalresp, this type of filter is termed FIR_ASYM, meaning it can handle both symmetric (about the mid-point) and non-symmetric FIR coefficients. All of the coefficients are used in the expansion to calculate the filter response.

In contrast, IIR filter coefficients can’t be stored in a FIR response stage, since it only allows for numerator coefficients. IIR filter coefficients can be stored in a Coefficients response stage. However, IIR responses are very sensitive to round-off errors in the values of the stored coefficients and can become unstable. Therefore, many IIR filters are instead stored as a PolesZeros response stage of type ‘D’ (digital) and are expanded in terms of the poles and zeros of the z-transform as discussed above.

Convolution

Introduction

As we’ll see in the next sections, a geophysical sensor (e.g., seismometer) connected to a datalogger that digitizes and records the input signal (e.g., ground motion), represents a linear time-invariant (LTI) system. We can thus model the overall effect of the instrumentation on the input signal as a linear combination of stages representing each component of the instrumentation. The stages are connected sequentially so that the output of stage 1, representing the sensor, forms the input of stage 2, which might represent either a preamplifier or a digitizer. As the input signal passes through each stage, we say that it is “convolved” with the impulse response of that stage, to form the output signal that then becomes the input signal for the subsequent stage.

Convolution is a mathematical operation between two functions. For instance, if function \(f(t)\) represents the input signal to a stage, and function \(g(t)\) represents the impulse response of the stage, then the output of the stage is the convolution between \(f(t)\) and \(g(t)\).

Given two functions \(f(t)\) and \(g(t)\) defined for all \(t\ge 0\), their convolution at time \(t\) is defined by:

\[(f*g)(t)=\int_{0}^{t}f(t-\tau)g(\tau)d\tau\]

where \(*\) represents the convolution operator.

Suppose that f and g are piecewise continuous and of exponential order. Then

\[L[f*g]=L[f]L[g]\]

Where \(L\) is the Laplace Transform operator.

Proof

If we extend the functions \(f\) and \(g\) to be 0 for \(t<0\), then the integral above is the same as

\[(f*g)(t)=\int_{0}^{\infty}f(t-\tau)g(\tau)d\tau\]

i.e., for \(\tau>t\), \((t-\tau)<0\) and \(f(t-\tau)=0\).

So we can write the Laplace Transform as

\[L[f*g](s)=\int_{0}^{\infty}\int_{0}^{\infty}f(t-\tau)g(\tau)d\tau e^{-st}dt\]

Interchanging the order of integration gives

\[L[f*g]=\int_{0}^{\infty}\int_{0}^{\infty}f(t-\tau)e^{-st}dtg(\tau)d\tau\]

Substitute \(u=t-\tau,du=dt\),

\[L[f*g]=\int_{0}^{\infty}\int_{0}^{\infty}f(u)e^{-s(u+\tau)}du\cdot g(\tau)d\tau\]

or

\begin{eqnarray} L[f*g](s) &=& \int_{0}^{\infty}f(u)e^{-su}du\cdot \int_{0}^{\infty}g(\tau)e^{-s\tau}d\tau \\ &=& L[f]L[g] \end{eqnarray}

In other words, the Laplace Transform of the convolution of \(f\) and \(g\), is equal to the product of the Laplace Transform of \(f\) times the Laplace Transform of \(g\). This holds true for all of the “frequency” transforms (Fourier, Laplace, z).

It is for this reason that most instrument response calculations are performed in the frequency domain, by multiplying the frequency response of subsequent stages (or filters) together.

References

  • Haykin, S. and B. Van Veen. Signals And Systems. Wiley, Somerset, New Jersey, 2002.

  • Oppenheim, A.V. and R.W. Schafer. Discrete-Time Signal Processing. Prentice Hall, Englewood Cliffs, New Jersey, 1989.

  • Ringler, A. T. and P. Bastien (2020). A brief introduction to seismic instrumentation: Where does my data come from?, Seis. Res. Lett., 91 (2A), 1074-1083

  • Ringler, A. T. and J. R. Evans (2015). A quick SEED tutorial, Seis. Res. Lett., 86 (6), 1717-1725.

  • Scherbaum, F. Of Poles and Zeros: Fundamentals of Digital Seismology. Kluwer Academic. 2nd Edition. 2001.

  • Steim, J.M. Theory and Observations - Instrumentation for Global and Regional Seismology. In: Gerald Schubert (editor-in-chief) Treatise on Geophysics, 2nd edition, Vol 1. Oxford: Elsevier; 2015. p. 29-78.

Practical Instrument Response

Introduction

Geophysical data are recorded by an instrument that imparts its own signature onto the data. When the data are later analyzed, one of the first steps is to remove the effect of the instrumentation used to record it, the so-called instrument response. This is typically done in the frequency domain, by dividing the complex Fourier Transform of the data by the complex Fourier Transform of the instrument response.

\[Z(f)=\frac{X(f)}{I(f)}\]

where \(X(f)\) is the Fourier Transform of the recorded time series, \(I(f)\) is the Fourier Transform of the instrument response, and \(Z(f)\) is the Fourier Transform of the data with the instrument response removed.

So how does one obtain the Fourier Transform of the instrument response? Very often, this is calculated by combining the information describing each stage of the instrument response in specific formats.

Sensor Response as a Linear Sequence of Stages

_images/stage_sequence.png

A recording system (sensor + datalogger) represents a linear, time-invariant system. As such, the total response of the system (= the instrument response) can be calculated by linearly combining the response of each individual stage in the system. In the time domain, the operator that represents linear combination in this way is convolution, however, it’s difficult to visualize the result of convolving several stages together. Fortunately, in the frequency domain, the operator that links the individual stage responses together is multiplication, and it’s trivial to combine stage responses together.

The schematic shown in the figure above represents a generic ideal of the instrument response as a sequence of stages. Where each stage is implemented in the hardware, e.g., whether it physically resides in the sensor or the datalogger (or whether these are integrated into a single unit) is not specified.

A more specific description of instrument response particular to most seismic instrumentation is this: The ground motion (typically velocity or acceleration) is “input” to the seismic sensor which outputs continuous voltage (an analog signal) proportional to the input in some way. This continuous voltage could then be amplified, either by an external preamplifier (+ filter possibly) or, more commonly, by circuitry within the datalogger itself. Next, the continuous signal is sampled by the ADC (analog-to-digital conversion) circuit of the datalogger, resulting in discrete data samples.

Typically, the sampling is done over a sequence of stages where the first stage highly oversamples the input data. Each subsequent stage is a combination of low-pass filter, typically implemented using a FIR filter, followed by decimation of the data stream by some decimation factor. This anti-alias FIR filter is necessary at each decimation step to avoid aliasing of energy above the Nyquist frequency, which would contaminate the signal of interest. This cascade of filter/decimate stages begins at the high sample rate (e.g., 102400 samples per second for the Reftek RT130) and continues, with typical integer decimation factors (2,4,5,8,10,16 etc) at each step, until the final desired output sample rate is reached. Thus, the input units of the first sensor stage is the ground motion (e.g., m/s), while the input units of the first datalogger stage is Volts. After the ADC, the input/output units for each subsequent stage is Counts.

Stage 1: The Analog Sensor

The first stage of the response often represents the effect of an analog sensor (e.g., seismometer, microphone, etc), which takes as input a physical quantity (e.g., ground motion in \(\mu ms^{-1}\), air pressure in \(Pa\), temperature in \(^{\circ}C\), etc.) and outputs Volts.

We need some way to represent how this sensor stage works and what distortion, if any, it applies to the underlying time series (the input physical quantity).

Commonly, the analog sensor stage is stored as a sequence of poles and zeros of the Laplace Transform (see Laplace Transform description above) along with associated scale factors.

Recall that the Laplace transform variable is given by \(s=\sigma+j\omega\). Along the imaginary axis, \(\sigma=0\) and hence \(s=j\omega\). Thus, we may express the complex frequency response of the analog stage by calculating its polezero expansion

\[H(f)=A_0\frac{\Pi_{k=1}^{M} (s-z_{k})} {\Pi_{k=1}^{N} (s-p_{k})}\]

where \(s=j2\pi f\) [rad/s] or \(s=jf\) [Hz] , \(z_k\) are the \(M\) zeros and \(p_k\) are the \(N\) poles. \(A_0\) is the normalization factor, typically chosen so that \(|H(f_n)|=1.0\) where \(f_n\) is the normalization frequency.

Thus, given the poles and zeros of an analog stage, in order to properly calculate the stage frequency response, we must know the units of \(s\) (Hz or rad/s) used to calculate the poles and zeros using the expansion above.

With the normalization factor \(A_0\), the polezero expansion results in a complex frequency response with magnitude = 1.0 at the normalization frequency. For seismometers whose response is flat to ground velocity, the normalization frequency is typically chosen somewhere within the flat part of the response spectrum. For broadband sensors, it is also considered good practice to select a normalization frequency lower than two times the lowest sampling frequency. For example, if you are sampling VHZ data at 0.1 sps, then you want to describe \(A_0\) at a frequency \(\lt 0.05\) Hz.

Thus, the poles and zeros give the shape of the sensor response, but not the gain (see Fig. X below).

Analog polezero examples

Below are the poles and zeros for two broadband seismometers (STS-1 and STS-2) and a short-period sensor (L-22D). All have a response that is flat to velocity within some frequency band, which is controlled by the location of the poles and zeros in the \(s\)-plane.

Sensor: Streckeisen STS-2 (3rd Generation)

Gain:

1500 [V/m/s]

Freq of gain:

1.0 [Hz]

A0 normalization:

3.4684E+17

Freq of normalization:

1.0 [Hz]

Poles:

Zeros:

real (rad/s)

imag (rad/s)

real (rad/s)

imag (rad/s)

-0.037

-0.037

0.0

0.0

-0.037

+0.037

0.0

0.0

-15.54

0.0

15.15

0.0

-97.34

-400.7

-176.6

0.0

-374.8

0.0

-463.1

-430.5

-97.34

+400.7

-463.1

+430.5

-520.3

0.0

-10530.0

-10050.0

-10530.0

+10050.0

-13300.0

0.0

-255.097

0.0

Sensor: Streckeisen STS-1

Gain:

2400 [V/m/s]

Freq of gain:

0.02 [Hz]

A0 normalization:

3.94858E+03

Freq of normalization:

0.02 [Hz]

Poles:

Zeros:

real (rad/s)

imag (rad/s)

real (rad/s)

imag (rad/s)

-0.01234

+0.01234

0.0

0.0

-0.01234

-0.01234

0.0

0.0

-39.18

+49.12

-39.18

-49.12

Sensor: Sercel L-22D

Gain:

87.9 [V/m/s]

Freq of gain:

10.0 [Hz]

A0 normalization:

1.0

Freq of normalization:

10.0 [Hz]

Poles:

Zeros:

real (rad/s)

imag (rad/s)

real (rad/s)

imag (rad/s)

-8.884

+8.887

0.0

0.0

-8.884

-8.887

0.0

0.0

Notice from the table above that the poles always appear in complex conjugate pairs (in the degenerate case this is represented by a single real pole). This will always be the case, since the poles and zeros ultimately relate to a polynomial expression with real coefficients that describes the seismometer response. In addition, notice that all of the poles have a negative real part. This is required for stability reasons as discussed in the theory section above.

The poles and zeros have units in the complex s-plane. For the examples given (and for most analog stages), <PzTransferFunctionType> is “LAPLACE (RADIANS/SECOND)”, hence the poles and zeros have units of rad/s.

When viewing the total instrument response as a plot of amplitude and phase versus frequency, most of the shape is controlled by the polezero expansion of the analog sensor stage.

_images/analog_stage_comparison.png

Fig. X Plot of polezero expansion of analog sensor for Streckeisen STS-2 (green) and Sercel L-22D (red) [see table for polezero values used].

In the figure above we plot the analog stage polezero expansion for a broadband seismometer (STS-2) and a short-period seismometer (L-22D). In both cases, the A0 normalization frequency, \(f_n\) is located within the flat part of the spectrum, and each response has a corner frequency, \(f_c\) below which the magnitude response rolls off. The corner frequency is the frequency at which the response magnitude is -3dB below the flat part of the spectrum.

Given the poles and zeros, one can determine the low-frequency corner frequency, \(f_c\), from the magnitude of the lowest frequency pole in the s-plane.

For instance, for the STS-2 example shown, the lowest frequency pole is at \(-.037 \pm .037j\) in the complex s-plane, and the corresponding corner frequency is:

\[ \begin{align}\begin{aligned}\omega = \sqrt{.037^2 + .037^2} = \sqrt{2} \times .037 = .052326 rad/s\\f_c = \frac{\omega}{2\pi} = 0.0083279 s^{-1} \rightarrow T_c = 1/f_c = 120 sec\end{aligned}\end{align} \]

As expected, the STS-2 sensor has a corner period of 120 s.

By similar reasoning, the corner frequency of the short-period L-22D sensor is

\[ \begin{align}\begin{aligned}\omega = \sqrt{8.884^2 + 8.887^2} = 12.566 rad/s\\f_c = \frac{\omega}{2\pi} = 2.0 Hz\end{aligned}\end{align} \]

For many applications the exact instrument response is not needed and it is sufficient to calculate a single scale factor to convert from recorded COUNTS to ground motion (e.g, M/S). For instance, if the signal of interest only contains energy within the flat part of the spectrum (e.g., band-limited signal), then we might be able to ignore the polezero shape altogether and compute and overall scale factor (to go from COUNTS to M/S) for the sensor + datalogger.

For instance, if the STS-2 sensor discussed above were connected to a generic Reftek RT-130 datalogger, we can calculate an approximate forward scale factor:

\[1500 [V/m/s] \times 6.291290\times 10^{5} [Counts/V] = 9.4369\times 10^{8} [Counts/m/s]\]

While this is often done to do a quick conversion to ground velocity, several caveats must be mentioned.

  1. Very few signals are truly bandlimited this way and we’re essentially applying the wrong correction factor to the signals outside the bandwidth

  2. Often, the frequency at which the sensor response is normalized, is not the same as the frequency at which the datalogger response is normalized. For instance, the Reftek RT-130 is normalized at 0.05 Hz, while the STS-2 is normalized at 1.0 Hz. This matters because the amplitude response of the datalogger filters are not perfectly flat, hence to compute the overall instrument response (sensor + datalogger), the datalogger gain often has to be recalculated at the frequency of the sensor normalization.

  3. It ignores the phase response, which can be very important for modeling waveforms, etc.

Alternatively, when simple scaling is insufficient, it is necessary to use all of the response stages to compute the exact instrument response. When the datalogger normalization frequency is different from the sensor normalization frequency, the datalogger response is recalculated at the sensor normalization frequency and the new sensitivity, equal to the product of each stage amplitude response at this normalization frequency, is stored in the StationXML <InstrumentSensitivity> element.

Converting s = rad/s to/from Hz

Recall the polezero expansion of the Laplace Transform of the transfer function,

\[H(s)=A_{0}\frac{\Pi_{k=1}^{M}(s-z_{k})}{\Pi_{k=1}^{N}(s-p_{k})}\]

Consider a system with 1 zero and 2 poles (forming a complex conjugate pair) in the complex \(s\)-plane (rad/s). Say \(z_{1}=z_{r}+jz_{i}\), \(p_{1}=p_{r}+jp_{i}\) and \(p_2=\bar{p_1}\), where each term \(z_r, z_i, p_r, p_i\) has units of rad/s.

Then

\begin{eqnarray} H(s=j\omega)&=&A_{0}\frac{j\omega-(z_{r}+jz_{i})}{(j\omega-p_{1})(j\omega-\bar{p_{1}})} \\ &=&A_{0}\frac{2\pi[jf-(z_{r}^{'}+jz_{i}^{'})]}{(2\pi)^{2}[(jf-p_{1}^{'})(jf-\bar{p_{1}^{'}})]} \\ \end{eqnarray}

where the primed quantities equal the unprimed quantities divide by \(2\pi\), e.g., \(z_r^{'}=\frac{z_r}{2\pi}\)

We can write this as

\[H(s=jf)=A_{0}^{'}\frac{[jf-(z_{r}^{'}+jz_{i}^{'})]}{[(jf-p_{1}^{'})(jf-\bar{p_{1}^{'}})]}\]

where \(A_{0}^{'}=\frac{2\pi}{(2\pi)^{2}}A_0\).

In general, we can write

\[H(s=jf)=A_{0}^{'}\frac{\Pi_{k=1}^{M}(jf-z_{k}^{'})}{\Pi_{k=1}^{N}(jf-p_{k}^{'})}\]

where \(A_{0}^{'}=A_{0}\cdot(2\pi)^{M-N}\) and where \(M\) is the number of zeros and \(N\) is the number of poles.

Thus, if we are given a polezero stage with units of rad/s (\(\omega\)), we can convert this stage to units of Hz and maintain the proper normalization by first dividing each pole and zero by \(2\pi\), and then scaling the normalization factor \(A_{0}\) by \((2\pi)^{M-N}\).

Conversely, if we are given a polezero stage with units of Hz (\(f\)), we can convert it to units of rad/s by first multiplying the each pole and zero by \(2\pi\), and then scaling the given normalization factor \(A_{0}^{'}\) by \((2\pi)^{N-M}\).

For example, the poles and zeros of the Streckeisen STS-I sensor are shown in the table below for units = Hz (<PzTransferFunctionType>LAPLACE (HERTZ)</PzTransferFunctionType>)

Sensor: Streckeisen STS-1 poles and zeros given in Hz

Gain:

2400 [V/m/s]

Freq of gain:

0.02 [Hz]

A0 normalization:

1.0001869E+02

Freq of normalization:

0.02 [Hz]

Poles:

Zeros:

real (Hz)

imag (Hz)

real (Hz)

imag (Hz)

-0.0019639

+0.0019639

0.0

0.0

-0.0019639

-0.0019639

0.0

0.0

-6.2357

+7.8177

-6.2357

-7.8177

Stage 2: The Preamplifier

Not all response sequences have a preamplifier. When present, it may be implemented using an analog circuit (V->V) or it may be a digital circuit integrated within the analog-to-digital (datalogger) recorder itself.

For example, an analog preamplifier stage with a gain of 8 would be represented as:

<Stage number="2">
   <StageGain>
      <Value>8</Value>
      <Frequency>1</Frequency>
   </StageGain>
</Stage>

where the <Frequency> is normally chosen to be the same as the normalization frequency, \(f_n\) in stage 1.

An external preamplifier stage could have an associated filter, either implemented using a polezero or coefficient representation.

Often, the preamplifier is integrated with the datalogger and merely adds a uniform scale factor to the instrument response.

Warning

Using place-holder preamplifiers at stage 2 may not be good practice.

Some entities (e.g., the Nominal Response Library or NRL) always include a preamplifier at stage 2 in order to standardize the numbering of response stages (e.g., so that the datalogger response always begins at stage 3). If no preamplifier was actually present, then a place-holder stage with gain=1 is used.

However, there is disagreement about whether all responses should have such a place-holder stage or whether it is better practice to have the response stages more faithfully correspond to the equipment that is actually used.

Stage 2+: The Datalogger

The datalogger, or analog-to-digital converter (ADC) has two main functions: 1. To digitize the analog signal (Volts) coming from the sensor and 2. To output the digitized signal (digital counts) at the desired sample rate(s).

These functions are typically achieved by first highly oversampling the analog signal, and then passing it through a sequence of filter/decimate steps to achieve the desired output sample rate(s).

Each filter/decimate step is represented by a stage in the StationXML response, representing the effects of low-pass filtering (typically implemented with an anti-alias FIR filter) and decimation to a lower sample rate.

FIR anti-alias filter

The recommended practice for storing FIR filters is to normalize the filter response at a specified frequency:

\begin{eqnarray} G(f)&=&S_d H_c(z)\Big|_{z=e^{j2\pi \Delta t f_s}} \\ &=&S_d\sum_{k=0}^{M}b_k z^{-k} \Big|_{z=e^{j2\pi \Delta t f_s}} \\ &=&S_d\sum_{n=0}^{M}b_k e^{-j 2\pi f_s k \Delta t} \end{eqnarray}

where \(b_k\) are the FIR coefficients, \(M\) is the filter order, \(\Delta t\) is the sample rate [seconds], and \(f_s\) is the frequency at which the filter is normalized to have a gain of \(S_d\).

The Quanterra QDP380/QDP680 family of dataloggers employ the 64-element FIR filter described in Table X as a digital anti-alias filter in the stage 4 decimation from 40Hz down to 20 Hz.

The FIR coefficients, \(b_k\) are plotted in Fig. X

_images/Qx80_FIR_64.png

Fig. X Plot of filter coefficients for Qx80 FIR filter

The FIR filter has 64 coefficients (order M = 64-1 = 63) and is symmetric about the midpoint (which lies in between samples 32 and 33). Hence it is a FIR Type II symmetric filter.

Decimation

In the normal process by which the datalogger holds and samples information, followed by decimation, a time delay is often introduced into the recorded trace (see Fig. X). This delay, if known, can be stored in the <Delay> element. For example, a delay of 1.0 seconds would be stored as:

<Response>
   <Stage>
      <Decimation>
         <Delay>1.0</Delay>
      </Decimation>
   </Stage>
</Response>

while any applied time correction, e.g., to cancel out the delay, can be stored in:

<Response>
   <Stage>
      <Decimation>
         <Correction>1.0</Correction>
      </Decimation>
   </Stage>
</Response>

An anti-alias FIR filter normally introduces a positive delay into the recorded trace as indicated in the figure. If this delay is removed from the data, e.g., by introducing a negative offset -x prior to recording, then the positive value +x is stored in the <Correction> element.

_images/decimation_delay.png

StationXML Response Examples

Broadband sensor

3rd generation Streckeisen STS-2 sensor + Reftek RT130 datalogger

StationXML Show/Hide

<?xml version="1.0" encoding="UTF-8"?>
<FDSNStationXML xmlns="http://www.fdsn.org/xml/station/1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.fdsn.org/xml/station/1 http://www.fdsn.org/xml/station/fdsn-station-1.2.xsd"
    schemaVersion="1.2">
  <Source>isti</Source>
  <Created>2020-06-05T21:58:37.500208Z</Created>
  <Network code="XX">
    <Station code="ABCD">
      <Latitude>0.0</Latitude>
      <Longitude>0.0</Longitude>
      <Elevation>10.0</Elevation>
      <Site>
        <Name>Nowhere</Name>
      </Site>
      <Channel code="BHZ" locationCode="10">
        <Latitude>0.0</Latitude>
        <Longitude>0.0</Longitude>
        <Elevation>10.0</Elevation>
        <Depth>0.0</Depth>
        <Azimuth>0.0</Azimuth>
        <Dip>-90.0</Dip>
        <SampleRate>40.0</SampleRate>
        <Sensor><Description>STS-2</Description></Sensor>
        <DataLogger><Description>Reftek RT130</Description></DataLogger>
        <Response>
          <InstrumentSensitivity>
            <Value>941864732.693</Value>
            <Frequency>1.0</Frequency>
            <InputUnits>
              <Name>m/s</Name>
              <Description>Velocity in Meters per Second</Description>
            </InputUnits>
            <OutputUnits>
              <Name>count</Name>
              <Description>Digital Counts</Description>
            </OutputUnits>
          </InstrumentSensitivity>
          <Stage number="1">
            <PolesZeros>
              <InputUnits>
                <Name>m/s</Name>
                <Description>Velocity in Meters per Second</Description>
              </InputUnits>
              <OutputUnits>
                <Name>V</Name>
                <Description>Volts</Description>
              </OutputUnits>
              <PzTransferFunctionType>LAPLACE (RADIANS/SECOND)</PzTransferFunctionType>
              <NormalizationFactor>3.4684e+17</NormalizationFactor>
              <NormalizationFrequency unit="HERTZ">1.0</NormalizationFrequency>
              <Zero number="0">
                <Real>0.0</Real>
                <Imaginary>0.0</Imaginary>
              </Zero>
              <Zero number="1">
                <Real>0.0</Real>
                <Imaginary>0.0</Imaginary>
              </Zero>
              <Zero number="2">
                <Real>-15.15</Real>
                <Imaginary>0.0</Imaginary>
              </Zero>
              <Zero number="3">
                <Real>-176.6</Real>
                <Imaginary>0.0</Imaginary>
              </Zero>
              <Zero number="4">
                <Real>-463.1</Real>
                <Imaginary>-430.5</Imaginary>
              </Zero>
              <Zero number="5">
                <Real>-463.1</Real>
                <Imaginary>430.5</Imaginary>
              </Zero>
              <Pole number="0">
                <Real>-0.037</Real>
                <Imaginary>-0.037</Imaginary>
              </Pole>
              <Pole number="1">
                <Real>-0.037</Real>
                <Imaginary>0.037</Imaginary>
              </Pole>
              <Pole number="2">
                <Real>-15.64</Real>
                <Imaginary>0.0</Imaginary>
              </Pole>
              <Pole number="3">
                <Real>-97.34</Real>
                <Imaginary>-400.7</Imaginary>
              </Pole>
              <Pole number="4">
                <Real>-97.34</Real>
                <Imaginary>400.7</Imaginary>
              </Pole>
              <Pole number="5">
                <Real>-374.8</Real>
                <Imaginary>0.0</Imaginary>
              </Pole>
              <Pole number="6">
                <Real>-520.3</Real>
                <Imaginary>0.0</Imaginary>
              </Pole>
              <Pole number="7">
                <Real>-10530.0</Real>
                <Imaginary>-10050.0</Imaginary>
              </Pole>
              <Pole number="8">
                <Real>-10530.0</Real>
                <Imaginary>10050.0</Imaginary>
              </Pole>
              <Pole number="9">
                <Real>-13300.0</Real>
                <Imaginary>0.0</Imaginary>
              </Pole>
              <Pole number="10">
                <Real>-255.097</Real>
                <Imaginary>0.0</Imaginary>
              </Pole>
            </PolesZeros>
            <StageGain>
              <Value>1500.0</Value>
              <Frequency>1.0</Frequency>
            </StageGain>
          </Stage>
          <Stage number="2">
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="3">
            <Coefficients>
              <InputUnits>
                <Name>V</Name>
                <Description>Volts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>1.0</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">102400.0</InputSampleRate>
              <Factor>1</Factor>
              <Offset>0</Offset>
              <Delay>0.0</Delay>
              <Correction>0.0</Correction>
            </Decimation>
            <StageGain>
              <Value>629129.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="4">
            <Coefficients>
              <InputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>0.000244141</Numerator>
              <Numerator>0.000976562</Numerator>
              <Numerator>0.00244141</Numerator>
              <Numerator>0.00488281</Numerator>
              <Numerator>0.00854492</Numerator>
              <Numerator>0.0136719</Numerator>
              <Numerator>0.0205078</Numerator>
              <Numerator>0.0292969</Numerator>
              <Numerator>0.0393066</Numerator>
              <Numerator>0.0498047</Numerator>
              <Numerator>0.0600586</Numerator>
              <Numerator>0.0693359</Numerator>
              <Numerator>0.0769043</Numerator>
              <Numerator>0.0820312</Numerator>
              <Numerator>0.0839844</Numerator>
              <Numerator>0.0820312</Numerator>
              <Numerator>0.0769043</Numerator>
              <Numerator>0.0693359</Numerator>
              <Numerator>0.0600586</Numerator>
              <Numerator>0.0498047</Numerator>
              <Numerator>0.0393066</Numerator>
              <Numerator>0.0292969</Numerator>
              <Numerator>0.0205078</Numerator>
              <Numerator>0.0136719</Numerator>
              <Numerator>0.00854492</Numerator>
              <Numerator>0.00488281</Numerator>
              <Numerator>0.00244141</Numerator>
              <Numerator>0.000976562</Numerator>
              <Numerator>0.000244141</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">102400.0</InputSampleRate>
              <Factor>8</Factor>
              <Offset>0</Offset>
              <Delay>0.00013672</Delay>
              <Correction>0.00013672</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="5">
            <Coefficients>
              <InputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>0.000244141</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.225586</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.000244141</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">12800.0</InputSampleRate>
              <Factor>2</Factor>
              <Offset>0</Offset>
              <Delay>0.00046875</Delay>
              <Correction>0.00046875</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="6">
            <Coefficients>
              <InputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>0.000244141</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.225586</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.000244141</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">6400.0</InputSampleRate>
              <Factor>2</Factor>
              <Offset>0</Offset>
              <Delay>0.0009375</Delay>
              <Correction>0.0009375</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="7">
            <Coefficients>
              <InputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>0.000244141</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.225586</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.000244141</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">3200.0</InputSampleRate>
              <Factor>2</Factor>
              <Offset>0</Offset>
              <Delay>0.001875</Delay>
              <Correction>0.001875</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="8">
            <Coefficients>
              <InputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>0.000244141</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.225586</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.000244141</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">1600.0</InputSampleRate>
              <Factor>2</Factor>
              <Offset>0</Offset>
              <Delay>0.00375</Delay>
              <Correction>0.00375</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="9">
            <Coefficients>
              <InputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>0.000244141</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.225586</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.000244141</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">800.0</InputSampleRate>
              <Factor>2</Factor>
              <Offset>0</Offset>
              <Delay>0.0075</Delay>
              <Correction>0.0075</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="10">
            <Coefficients>
              <InputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>-7.15032e-07</Numerator>
              <Numerator>-5.60109e-06</Numerator>
              <Numerator>-2.62179e-06</Numerator>
              <Numerator>-4.31403e-05</Numerator>
              <Numerator>-4.64771e-06</Numerator>
              <Numerator>1.43006e-06</Numerator>
              <Numerator>2.34769e-05</Numerator>
              <Numerator>1.43006e-06</Numerator>
              <Numerator>-5.27932e-05</Numerator>
              <Numerator>-0.000366692</Numerator>
              <Numerator>0.000376107</Numerator>
              <Numerator>0.000854226</Numerator>
              <Numerator>3.05081e-05</Numerator>
              <Numerator>-0.00127621</Numerator>
              <Numerator>-0.000910951</Numerator>
              <Numerator>0.00127669</Numerator>
              <Numerator>0.00215165</Numerator>
              <Numerator>-0.000461554</Numerator>
              <Numerator>-0.00333765</Numerator>
              <Numerator>-0.00140933</Numerator>
              <Numerator>0.00377072</Numerator>
              <Numerator>0.00419414</Numerator>
              <Numerator>-0.00264288</Numerator>
              <Numerator>-0.00720121</Numerator>
              <Numerator>-0.000644006</Numerator>
              <Numerator>0.009184</Numerator>
              <Numerator>0.00608445</Numerator>
              <Numerator>-0.00857824</Numerator>
              <Numerator>-0.0127401</Numerator>
              <Numerator>0.00398225</Numerator>
              <Numerator>0.0186261</Numerator>
              <Numerator>0.0052052</Numerator>
              <Numerator>-0.0209407</Numerator>
              <Numerator>-0.0181629</Numerator>
              <Numerator>0.0166669</Numerator>
              <Numerator>0.0322447</Numerator>
              <Numerator>-0.00346588</Numerator>
              <Numerator>-0.0429528</Numerator>
              <Numerator>-0.0193265</Numerator>
              <Numerator>0.044309</Numerator>
              <Numerator>0.0497909</Numerator>
              <Numerator>-0.0294164</Numerator>
              <Numerator>-0.0826078</Numerator>
              <Numerator>-0.00934166</Numerator>
              <Numerator>0.107552</Numerator>
              <Numerator>0.0816604</Numerator>
              <Numerator>-0.10311</Numerator>
              <Numerator>-0.204208</Numerator>
              <Numerator>-3.12231e-05</Numerator>
              <Numerator>0.390432</Numerator>
              <Numerator>0.589958</Numerator>
              <Numerator>0.390432</Numerator>
              <Numerator>-3.12231e-05</Numerator>
              <Numerator>-0.204208</Numerator>
              <Numerator>-0.10311</Numerator>
              <Numerator>0.0816604</Numerator>
              <Numerator>0.107552</Numerator>
              <Numerator>-0.00934166</Numerator>
              <Numerator>-0.0826078</Numerator>
              <Numerator>-0.0294164</Numerator>
              <Numerator>0.0497909</Numerator>
              <Numerator>0.044309</Numerator>
              <Numerator>-0.0193265</Numerator>
              <Numerator>-0.0429528</Numerator>
              <Numerator>-0.00346588</Numerator>
              <Numerator>0.0322447</Numerator>
              <Numerator>0.0166669</Numerator>
              <Numerator>-0.0181629</Numerator>
              <Numerator>-0.0209407</Numerator>
              <Numerator>0.0052052</Numerator>
              <Numerator>0.0186261</Numerator>
              <Numerator>0.00398225</Numerator>
              <Numerator>-0.0127401</Numerator>
              <Numerator>-0.00857824</Numerator>
              <Numerator>0.00608445</Numerator>
              <Numerator>0.009184</Numerator>
              <Numerator>-0.000644006</Numerator>
              <Numerator>-0.00720121</Numerator>
              <Numerator>-0.00264288</Numerator>
              <Numerator>0.00419414</Numerator>
              <Numerator>0.00377072</Numerator>
              <Numerator>-0.00140933</Numerator>
              <Numerator>-0.00333765</Numerator>
              <Numerator>-0.000461554</Numerator>
              <Numerator>0.00215165</Numerator>
              <Numerator>0.00127669</Numerator>
              <Numerator>-0.000910951</Numerator>
              <Numerator>-0.00127621</Numerator>
              <Numerator>3.05081e-05</Numerator>
              <Numerator>0.000854226</Numerator>
              <Numerator>0.000376107</Numerator>
              <Numerator>-0.000366692</Numerator>
              <Numerator>-0.00041031</Numerator>
              <Numerator>2.52645e-05</Numerator>
              <Numerator>0.000261821</Numerator>
              <Numerator>0.000120602</Numerator>
              <Numerator>-9.99854e-05</Numerator>
              <Numerator>-0.000162312</Numerator>
              <Numerator>-9.79595e-05</Numerator>
              <Numerator>-2.94355e-05</Numerator>
              <Numerator>-3.09847e-06</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">400.0</InputSampleRate>
              <Factor>2</Factor>
              <Offset>0</Offset>
              <Delay>0.125</Delay>
              <Correction>0.125</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="11">
            <Coefficients>
              <InputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>-1.09889e-05</Numerator>
              <Numerator>-1.99798e-05</Numerator>
              <Numerator>-3.29668e-05</Numerator>
              <Numerator>-4.39561e-05</Numerator>
              <Numerator>-4.79522e-05</Numerator>
              <Numerator>-4.09589e-05</Numerator>
              <Numerator>-1.8981e-05</Numerator>
              <Numerator>1.8981e-05</Numerator>
              <Numerator>6.7932e-05</Numerator>
              <Numerator>0.000118881</Numerator>
              <Numerator>0.000158842</Numerator>
              <Numerator>0.000174826</Numerator>
              <Numerator>0.000157843</Numerator>
              <Numerator>0.000104895</Numerator>
              <Numerator>2.49751e-05</Numerator>
              <Numerator>-6.49352e-05</Numerator>
              <Numerator>-0.00014086</Numerator>
              <Numerator>-0.000178822</Numerator>
              <Numerator>-0.00016084</Numerator>
              <Numerator>-8.59142e-05</Numerator>
              <Numerator>3.29668e-05</Numerator>
              <Numerator>0.000163837</Numerator>
              <Numerator>0.000268733</Numerator>
              <Numerator>0.000310691</Numerator>
              <Numerator>0.000263737</Numerator>
              <Numerator>0.00013087</Numerator>
              <Numerator>-6.09391e-05</Numerator>
              <Numerator>-0.00026074</Numerator>
              <Numerator>-0.000408593</Numerator>
              <Numerator>-0.000448554</Numerator>
              <Numerator>-0.000353648</Numerator>
              <Numerator>-0.000135864</Numerator>
              <Numerator>0.000155845</Numerator>
              <Numerator>0.000438563</Numerator>
              <Numerator>0.000623379</Numerator>
              <Numerator>0.000638365</Numerator>
              <Numerator>0.000456546</Numerator>
              <Numerator>0.000108891</Numerator>
              <Numerator>-0.000315686</Numerator>
              <Numerator>-0.000694309</Numerator>
              <Numerator>-0.000903101</Numerator>
              <Numerator>-0.00085415</Numerator>
              <Numerator>-0.000533469</Numerator>
              <Numerator>-7.99164e-06</Numerator>
              <Numerator>0.000581421</Numerator>
              <Numerator>0.00105695</Numerator>
              <Numerator>0.00125675</Numerator>
              <Numerator>0.00108792</Numerator>
              <Numerator>0.000559443</Numerator>
              <Numerator>-0.000201799</Numerator>
              <Numerator>-0.000983021</Numerator>
              <Numerator>-0.00154047</Numerator>
              <Numerator>-0.00167733</Numerator>
              <Numerator>-0.0013037</Numerator>
              <Numerator>-0.000484518</Numerator>
              <Numerator>0.000571431</Numerator>
              <Numerator>0.00155645</Numerator>
              <Numerator>0.00215685</Numerator>
              <Numerator>0.00214287</Numerator>
              <Numerator>0.00145855</Numerator>
              <Numerator>0.00025075</Numerator>
              <Numerator>-0.00115385</Numerator>
              <Numerator>-0.00233568</Numerator>
              <Numerator>-0.00290311</Numerator>
              <Numerator>-0.0026174</Numerator>
              <Numerator>-0.00148752</Numerator>
              <Numerator>0.000215785</Numerator>
              <Numerator>0.002014</Numerator>
              <Numerator>0.00335166</Numerator>
              <Numerator>0.00376825</Numerator>
              <Numerator>0.00304597</Numerator>
              <Numerator>0.0013037</Numerator>
              <Numerator>-0.001009</Numerator>
              <Numerator>-0.0032208</Numerator>
              <Numerator>-0.00463139</Numerator>
              <Numerator>-0.0047233</Numerator>
              <Numerator>-0.00334667</Numerator>
              <Numerator>-0.000793211</Numerator>
              <Numerator>0.00224477</Numerator>
              <Numerator>0.00486516</Numerator>
              <Numerator>0.00620583</Numerator>
              <Numerator>0.0057273</Numerator>
              <Numerator>0.00340861</Numerator>
              <Numerator>-0.000199801</Numerator>
              <Numerator>-0.00409193</Numerator>
              <Numerator>-0.00707596</Numerator>
              <Numerator>-0.00812791</Numerator>
              <Numerator>-0.00672831</Numerator>
              <Numerator>-0.00307194</Numerator>
              <Numerator>0.00192309</Numerator>
              <Numerator>0.00682721</Numerator>
              <Numerator>0.010091</Numerator>
              <Numerator>0.0105175</Numerator>
              <Numerator>0.00766437</Numerator>
              <Numerator>0.00206594</Numerator>
              <Numerator>-0.00483219</Numerator>
              <Numerator>-0.01101</Numerator>
              <Numerator>-0.0144376</Numerator>
              <Numerator>-0.0136934</Numerator>
              <Numerator>-0.00847457</Numerator>
              <Numerator>0.000173827</Numerator>
              <Numerator>0.010004</Numerator>
              <Numerator>0.018085</Numerator>
              <Numerator>0.0215935</Numerator>
              <Numerator>0.0186664</Numerator>
              <Numerator>0.00910094</Numerator>
              <Numerator>-0.0053287</Numerator>
              <Numerator>-0.0210541</Numerator>
              <Numerator>-0.0333958</Numerator>
              <Numerator>-0.0376226</Numerator>
              <Numerator>-0.030137</Numerator>
              <Numerator>-0.00949755</Numerator>
              <Numerator>0.0229931</Numerator>
              <Numerator>0.063304</Numerator>
              <Numerator>0.10534</Numerator>
              <Numerator>0.142124</Numerator>
              <Numerator>0.167226</Numerator>
              <Numerator>0.176134</Numerator>
              <Numerator>0.167226</Numerator>
              <Numerator>0.142124</Numerator>
              <Numerator>0.10534</Numerator>
              <Numerator>0.063304</Numerator>
              <Numerator>0.0229931</Numerator>
              <Numerator>-0.00949755</Numerator>
              <Numerator>-0.030137</Numerator>
              <Numerator>-0.0376226</Numerator>
              <Numerator>-0.0333958</Numerator>
              <Numerator>-0.0210541</Numerator>
              <Numerator>-0.0053287</Numerator>
              <Numerator>0.00910094</Numerator>
              <Numerator>0.0186664</Numerator>
              <Numerator>0.0215935</Numerator>
              <Numerator>0.018085</Numerator>
              <Numerator>0.010004</Numerator>
              <Numerator>0.000173827</Numerator>
              <Numerator>-0.00847457</Numerator>
              <Numerator>-0.0136934</Numerator>
              <Numerator>-0.0144376</Numerator>
              <Numerator>-0.01101</Numerator>
              <Numerator>-0.00483219</Numerator>
              <Numerator>0.00206594</Numerator>
              <Numerator>0.00766437</Numerator>
              <Numerator>0.0105175</Numerator>
              <Numerator>0.010091</Numerator>
              <Numerator>0.00682721</Numerator>
              <Numerator>0.00192309</Numerator>
              <Numerator>-0.00307194</Numerator>
              <Numerator>-0.00672831</Numerator>
              <Numerator>-0.00812791</Numerator>
              <Numerator>-0.00707596</Numerator>
              <Numerator>-0.00409193</Numerator>
              <Numerator>-0.000199801</Numerator>
              <Numerator>0.00340861</Numerator>
              <Numerator>0.0057273</Numerator>
              <Numerator>0.00620583</Numerator>
              <Numerator>0.00486516</Numerator>
              <Numerator>0.00224477</Numerator>
              <Numerator>-0.000793211</Numerator>
              <Numerator>-0.00334667</Numerator>
              <Numerator>-0.0047233</Numerator>
              <Numerator>-0.00463139</Numerator>
              <Numerator>-0.0032208</Numerator>
              <Numerator>-0.001009</Numerator>
              <Numerator>0.0013037</Numerator>
              <Numerator>0.00304597</Numerator>
              <Numerator>0.00376825</Numerator>
              <Numerator>0.00335166</Numerator>
              <Numerator>0.002014</Numerator>
              <Numerator>0.000215785</Numerator>
              <Numerator>-0.00148752</Numerator>
              <Numerator>-0.0026174</Numerator>
              <Numerator>-0.00290311</Numerator>
              <Numerator>-0.00233568</Numerator>
              <Numerator>-0.00115385</Numerator>
              <Numerator>0.00025075</Numerator>
              <Numerator>0.00145855</Numerator>
              <Numerator>0.00214287</Numerator>
              <Numerator>0.00215685</Numerator>
              <Numerator>0.00155645</Numerator>
              <Numerator>0.000571431</Numerator>
              <Numerator>-0.000484518</Numerator>
              <Numerator>-0.0013037</Numerator>
              <Numerator>-0.00167733</Numerator>
              <Numerator>-0.00154047</Numerator>
              <Numerator>-0.000983021</Numerator>
              <Numerator>-0.000201799</Numerator>
              <Numerator>0.000559443</Numerator>
              <Numerator>0.00108792</Numerator>
              <Numerator>0.00125675</Numerator>
              <Numerator>0.00105695</Numerator>
              <Numerator>0.000581421</Numerator>
              <Numerator>-7.99164e-06</Numerator>
              <Numerator>-0.000533469</Numerator>
              <Numerator>-0.00085415</Numerator>
              <Numerator>-0.000903101</Numerator>
              <Numerator>-0.000694309</Numerator>
              <Numerator>-0.000315686</Numerator>
              <Numerator>0.000108891</Numerator>
              <Numerator>0.000456546</Numerator>
              <Numerator>0.000638365</Numerator>
              <Numerator>0.000623379</Numerator>
              <Numerator>0.000438563</Numerator>
              <Numerator>0.000155845</Numerator>
              <Numerator>-0.000135864</Numerator>
              <Numerator>-0.000353648</Numerator>
              <Numerator>-0.000448554</Numerator>
              <Numerator>-0.000408593</Numerator>
              <Numerator>-0.00026074</Numerator>
              <Numerator>-6.09391e-05</Numerator>
              <Numerator>0.00013087</Numerator>
              <Numerator>0.000263737</Numerator>
              <Numerator>0.000310691</Numerator>
              <Numerator>0.000268733</Numerator>
              <Numerator>0.000163837</Numerator>
              <Numerator>3.29668e-05</Numerator>
              <Numerator>-8.59142e-05</Numerator>
              <Numerator>-0.00016084</Numerator>
              <Numerator>-0.000178822</Numerator>
              <Numerator>-0.00014086</Numerator>
              <Numerator>-6.49352e-05</Numerator>
              <Numerator>2.49751e-05</Numerator>
              <Numerator>0.000104895</Numerator>
              <Numerator>0.000157843</Numerator>
              <Numerator>0.000174826</Numerator>
              <Numerator>0.000158842</Numerator>
              <Numerator>0.000118881</Numerator>
              <Numerator>6.7932e-05</Numerator>
              <Numerator>1.8981e-05</Numerator>
              <Numerator>-1.8981e-05</Numerator>
              <Numerator>-4.09589e-05</Numerator>
              <Numerator>-4.79522e-05</Numerator>
              <Numerator>-4.39561e-05</Numerator>
              <Numerator>-3.29668e-05</Numerator>
              <Numerator>-1.99798e-05</Numerator>
              <Numerator>-1.09889e-05</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">200.0</InputSampleRate>
              <Factor>5</Factor>
              <Offset>0</Offset>
              <Delay>0.585</Delay>
              <Correction>0.585</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
        </Response>
      </Channel>
    </Station>
  </Network>
</FDSNStationXML>
_images/sts-2_rt130.png

Broadband sensor

Streckeisen STS-1 sensor (360 s) + Quanterra Qx80 datalogger (80)

StationXML Show/Hide

<?xml version="1.0" encoding="UTF-8"?>
<FDSNStationXML xmlns="http://www.fdsn.org/xml/station/1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.fdsn.org/xml/station/1 http://www.fdsn.org/xml/station/fdsn-station-1.2.xsd"
    schemaVersion="1.2">
  <Source>isti</Source>
  <Created>2020-06-06T01:19:15.736834Z</Created>
  <Network code="XX">
    <Station code="ABCD">
      <Latitude>0.0</Latitude>
      <Longitude>0.0</Longitude>
      <Elevation>10.0</Elevation>
      <Site>
        <Name>Nowhere</Name>
      </Site>
      <Channel code="BHZ" locationCode="10">
        <Latitude>0.0</Latitude>
        <Longitude>0.0</Longitude>
        <Elevation>10.0</Elevation>
        <Depth>0.0</Depth>
        <Azimuth>0.0</Azimuth>
        <Dip>-90.0</Dip>
        <SampleRate>80.0</SampleRate>
        <Sensor><Description>Streckeisen STS-1</Description></Sensor>
        <DataLogger><Description>Quanterra Qx80</Description></DataLogger>
        <Response>
          <InstrumentSensitivity>
            <Value>966938797.852</Value>
            <Frequency>0.02</Frequency>
            <InputUnits>
              <Name>m/s</Name>
              <Description>Velocity in Meters per Second</Description>
            </InputUnits>
            <OutputUnits>
              <Name>count</Name>
              <Description>Digital Counts</Description>
            </OutputUnits>
          </InstrumentSensitivity>
          <Stage number="1">
            <PolesZeros>
              <InputUnits>
                <Name>m/s</Name>
                <Description>Velocity in Meters per Second</Description>
              </InputUnits>
              <OutputUnits>
                <Name>V</Name>
                <Description>Volts</Description>
              </OutputUnits>
              <PzTransferFunctionType>LAPLACE (RADIANS/SECOND)</PzTransferFunctionType>
              <NormalizationFactor>3948.58</NormalizationFactor>
              <NormalizationFrequency unit="HERTZ">0.02</NormalizationFrequency>
              <Zero number="0">
                <Real>0.0</Real>
                <Imaginary>0.0</Imaginary>
              </Zero>
              <Zero number="1">
                <Real>0.0</Real>
                <Imaginary>0.0</Imaginary>
              </Zero>
              <Pole number="0">
                <Real>-0.01234</Real>
                <Imaginary>0.01234</Imaginary>
              </Pole>
              <Pole number="1">
                <Real>-0.01234</Real>
                <Imaginary>-0.01234</Imaginary>
              </Pole>
              <Pole number="2">
                <Real>-39.18</Real>
                <Imaginary>49.12</Imaginary>
              </Pole>
              <Pole number="3">
                <Real>-39.18</Real>
                <Imaginary>-49.12</Imaginary>
              </Pole>
            </PolesZeros>
            <StageGain>
              <Value>2400.0</Value>
              <Frequency>0.02</Frequency>
            </StageGain>
          </Stage>
          <Stage number="2">
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="3">
            <Coefficients>
              <InputUnits>
                <Name>V</Name>
                <Description>Volts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>1.0</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">5120.0</InputSampleRate>
              <Factor>1</Factor>
              <Offset>0</Offset>
              <Delay>0.0</Delay>
              <Correction>0.0</Correction>
            </Decimation>
            <StageGain>
              <Value>400000.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="4">
            <Coefficients>
              <InputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>-0.00111328</Numerator>
              <Numerator>-0.001008</Numerator>
              <Numerator>-0.00135286</Numerator>
              <Numerator>-0.00173045</Numerator>
              <Numerator>-0.00208418</Numerator>
              <Numerator>-0.00238538</Numerator>
              <Numerator>-0.00260956</Numerator>
              <Numerator>-0.00273352</Numerator>
              <Numerator>-0.00273316</Numerator>
              <Numerator>-0.00258472</Numerator>
              <Numerator>-0.00226412</Numerator>
              <Numerator>-0.00174847</Numerator>
              <Numerator>-0.00101403</Numerator>
              <Numerator>-3.51682e-05</Numerator>
              <Numerator>0.00123782</Numerator>
              <Numerator>0.00315983</Numerator>
              <Numerator>0.00699945</Numerator>
              <Numerator>0.0090996</Numerator>
              <Numerator>0.0125424</Numerator>
              <Numerator>0.0163123</Numerator>
              <Numerator>0.0202632</Numerator>
              <Numerator>0.0243173</Numerator>
              <Numerator>0.0284051</Numerator>
              <Numerator>0.0324604</Numerator>
              <Numerator>0.0364143</Numerator>
              <Numerator>0.0401987</Numerator>
              <Numerator>0.043745</Numerator>
              <Numerator>0.0469873</Numerator>
              <Numerator>0.0498573</Numerator>
              <Numerator>0.0522796</Numerator>
              <Numerator>0.054114</Numerator>
              <Numerator>0.0543903</Numerator>
              <Numerator>0.0543903</Numerator>
              <Numerator>0.054114</Numerator>
              <Numerator>0.0522796</Numerator>
              <Numerator>0.0498573</Numerator>
              <Numerator>0.0469873</Numerator>
              <Numerator>0.043745</Numerator>
              <Numerator>0.0401987</Numerator>
              <Numerator>0.0364143</Numerator>
              <Numerator>0.0324604</Numerator>
              <Numerator>0.0284051</Numerator>
              <Numerator>0.0243173</Numerator>
              <Numerator>0.0202632</Numerator>
              <Numerator>0.0163123</Numerator>
              <Numerator>0.0125424</Numerator>
              <Numerator>0.0090996</Numerator>
              <Numerator>0.00699945</Numerator>
              <Numerator>0.00315983</Numerator>
              <Numerator>0.00123782</Numerator>
              <Numerator>-3.51682e-05</Numerator>
              <Numerator>-0.00101403</Numerator>
              <Numerator>-0.00174847</Numerator>
              <Numerator>-0.00226412</Numerator>
              <Numerator>-0.00258472</Numerator>
              <Numerator>-0.00273316</Numerator>
              <Numerator>-0.00273352</Numerator>
              <Numerator>-0.00260956</Numerator>
              <Numerator>-0.00238538</Numerator>
              <Numerator>-0.00208418</Numerator>
              <Numerator>-0.00173045</Numerator>
              <Numerator>-0.00135286</Numerator>
              <Numerator>-0.001008</Numerator>
              <Numerator>-0.00111328</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">5120.0</InputSampleRate>
              <Factor>16</Factor>
              <Offset>0</Offset>
              <Delay>0.006152344</Delay>
              <Correction>0.006</Correction>
            </Decimation>
            <StageGain>
              <Value>1.014774</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="5">
            <Coefficients>
              <InputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>0.000150487</Numerator>
              <Numerator>0.000305924</Numerator>
              <Numerator>0.000442949</Numerator>
              <Numerator>0.000387117</Numerator>
              <Numerator>-4.73787e-05</Numerator>
              <Numerator>-0.000970772</Numerator>
              <Numerator>-0.00230317</Numerator>
              <Numerator>-0.00370638</Numerator>
              <Numerator>-0.00462505</Numerator>
              <Numerator>-0.0044648</Numerator>
              <Numerator>-0.00286984</Numerator>
              <Numerator>7.00861e-06</Numerator>
              <Numerator>0.0033852</Numerator>
              <Numerator>0.00600353</Numerator>
              <Numerator>0.00655094</Numerator>
              <Numerator>0.00425995</Numerator>
              <Numerator>-0.000576024</Numerator>
              <Numerator>-0.00643416</Numerator>
              <Numerator>-0.0109214</Numerator>
              <Numerator>-0.0116364</Numerator>
              <Numerator>-0.00726515</Numerator>
              <Numerator>0.00153727</Numerator>
              <Numerator>0.0119331</Numerator>
              <Numerator>0.0196157</Numerator>
              <Numerator>0.0203516</Numerator>
              <Numerator>0.011868</Numerator>
              <Numerator>-0.00464369</Numerator>
              <Numerator>-0.0241125</Numerator>
              <Numerator>-0.0386383</Numerator>
              <Numerator>-0.0398499</Numerator>
              <Numerator>-0.0218684</Numerator>
              <Numerator>0.0161612</Numerator>
              <Numerator>0.0689624</Numerator>
              <Numerator>0.126003</Numerator>
              <Numerator>0.174229</Numerator>
              <Numerator>0.201834</Numerator>
              <Numerator>0.201834</Numerator>
              <Numerator>0.174229</Numerator>
              <Numerator>0.126003</Numerator>
              <Numerator>0.0689624</Numerator>
              <Numerator>0.0161612</Numerator>
              <Numerator>-0.0218684</Numerator>
              <Numerator>-0.0398499</Numerator>
              <Numerator>-0.0386383</Numerator>
              <Numerator>-0.0241125</Numerator>
              <Numerator>-0.00464369</Numerator>
              <Numerator>0.011868</Numerator>
              <Numerator>0.0203516</Numerator>
              <Numerator>0.0196157</Numerator>
              <Numerator>0.0119331</Numerator>
              <Numerator>0.00153727</Numerator>
              <Numerator>-0.00726515</Numerator>
              <Numerator>-0.0116364</Numerator>
              <Numerator>-0.0109214</Numerator>
              <Numerator>-0.00643416</Numerator>
              <Numerator>-0.000576024</Numerator>
              <Numerator>0.00425995</Numerator>
              <Numerator>0.00655094</Numerator>
              <Numerator>0.00600353</Numerator>
              <Numerator>0.0033852</Numerator>
              <Numerator>7.00861e-06</Numerator>
              <Numerator>-0.00286984</Numerator>
              <Numerator>-0.0044648</Numerator>
              <Numerator>-0.00462505</Numerator>
              <Numerator>-0.00370638</Numerator>
              <Numerator>-0.00230317</Numerator>
              <Numerator>-0.000970772</Numerator>
              <Numerator>-4.73787e-05</Numerator>
              <Numerator>0.000387117</Numerator>
              <Numerator>0.000442949</Numerator>
              <Numerator>0.000305924</Numerator>
              <Numerator>0.000150487</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">320.0</InputSampleRate>
              <Factor>4</Factor>
              <Offset>0</Offset>
              <Delay>0.1109375</Delay>
              <Correction>0.083</Correction>
            </Decimation>
            <StageGain>
              <Value>0.9781118</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
        </Response>
      </Channel>
    </Station>
  </Network>
</FDSNStationXML>
_images/sts-1_Qx80.png

Short-period sensor

Geotech GS-13 short-period sensor + Quanterra Quanterra Qx80 datalogger

StationXML Show/Hide

<?xml version="1.0" encoding="UTF-8"?>
<FDSNStationXML xmlns="http://www.fdsn.org/xml/station/1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.fdsn.org/xml/station/1 http://www.fdsn.org/xml/station/fdsn-station-1.2.xsd"
    schemaVersion="1.2">
  <Source>isti</Source>
  <Created>2020-06-05T21:59:22.232797Z</Created>
  <Network code="XX">
    <Station code="ABCD">
      <Latitude>0.0</Latitude>
      <Longitude>0.0</Longitude>
      <Elevation>10.0</Elevation>
      <Site>
        <Name>Nowhere</Name>
      </Site>
      <Channel code="BHZ" locationCode="10">
        <Latitude>0.0</Latitude>
        <Longitude>0.0</Longitude>
        <Elevation>10.0</Elevation>
        <Depth>0.0</Depth>
        <Azimuth>0.0</Azimuth>
        <Dip>-90.0</Dip>
        <SampleRate>80.0</SampleRate>
        <Sensor><Description>Geotech GS-13</Description></Sensor>
        <DataLogger><Description>Quanterra Qx80</Description></DataLogger>
        <Response>
          <InstrumentSensitivity>
            <Value>264268099.805</Value>
            <Frequency>5.0</Frequency>
            <InputUnits>
              <Name>m/s</Name>
              <Description>Velocity in Meters per Second</Description>
            </InputUnits>
            <OutputUnits>
              <Name>count</Name>
              <Description>Digital Counts</Description>
            </OutputUnits>
          </InstrumentSensitivity>
          <Stage number="1">
            <PolesZeros>
              <InputUnits>
                <Name>m/s</Name>
                <Description>Velocity in Meters per Second</Description>
              </InputUnits>
              <OutputUnits>
                <Name>V</Name>
                <Description>Volts</Description>
              </OutputUnits>
              <PzTransferFunctionType>LAPLACE (RADIANS/SECOND)</PzTransferFunctionType>
              <NormalizationFactor>1.0</NormalizationFactor>
              <NormalizationFrequency unit="HERTZ">5.0</NormalizationFrequency>
              <Zero number="0">
                <Real>0.0</Real>
                <Imaginary>0.0</Imaginary>
              </Zero>
              <Zero number="1">
                <Real>0.0</Real>
                <Imaginary>0.0</Imaginary>
              </Zero>
              <Pole number="0">
                <Real>-4.443</Real>
                <Imaginary>4.443</Imaginary>
              </Pole>
              <Pole number="1">
                <Real>-4.443</Real>
                <Imaginary>-4.443</Imaginary>
              </Pole>
            </PolesZeros>
            <StageGain>
              <Value>629.0</Value>
              <Frequency>5.0</Frequency>
            </StageGain>
          </Stage>
          <Stage number="2">
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="3">
            <Coefficients>
              <InputUnits>
                <Name>V</Name>
                <Description>Volts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>1.0</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">5120.0</InputSampleRate>
              <Factor>1</Factor>
              <Offset>0</Offset>
              <Delay>0.0</Delay>
              <Correction>0.0</Correction>
            </Decimation>
            <StageGain>
              <Value>400000.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="4">
            <Coefficients>
              <InputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>-0.00111328</Numerator>
              <Numerator>-0.001008</Numerator>
              <Numerator>-0.00135286</Numerator>
              <Numerator>-0.00173045</Numerator>
              <Numerator>-0.00208418</Numerator>
              <Numerator>-0.00238538</Numerator>
              <Numerator>-0.00260956</Numerator>
              <Numerator>-0.00273352</Numerator>
              <Numerator>-0.00273316</Numerator>
              <Numerator>-0.00258472</Numerator>
              <Numerator>-0.00226412</Numerator>
              <Numerator>-0.00174847</Numerator>
              <Numerator>-0.00101403</Numerator>
              <Numerator>-3.51682e-05</Numerator>
              <Numerator>0.00123782</Numerator>
              <Numerator>0.00315983</Numerator>
              <Numerator>0.00699945</Numerator>
              <Numerator>0.0090996</Numerator>
              <Numerator>0.0125424</Numerator>
              <Numerator>0.0163123</Numerator>
              <Numerator>0.0202632</Numerator>
              <Numerator>0.0243173</Numerator>
              <Numerator>0.0284051</Numerator>
              <Numerator>0.0324604</Numerator>
              <Numerator>0.0364143</Numerator>
              <Numerator>0.0401987</Numerator>
              <Numerator>0.043745</Numerator>
              <Numerator>0.0469873</Numerator>
              <Numerator>0.0498573</Numerator>
              <Numerator>0.0522796</Numerator>
              <Numerator>0.054114</Numerator>
              <Numerator>0.0543903</Numerator>
              <Numerator>0.0543903</Numerator>
              <Numerator>0.054114</Numerator>
              <Numerator>0.0522796</Numerator>
              <Numerator>0.0498573</Numerator>
              <Numerator>0.0469873</Numerator>
              <Numerator>0.043745</Numerator>
              <Numerator>0.0401987</Numerator>
              <Numerator>0.0364143</Numerator>
              <Numerator>0.0324604</Numerator>
              <Numerator>0.0284051</Numerator>
              <Numerator>0.0243173</Numerator>
              <Numerator>0.0202632</Numerator>
              <Numerator>0.0163123</Numerator>
              <Numerator>0.0125424</Numerator>
              <Numerator>0.0090996</Numerator>
              <Numerator>0.00699945</Numerator>
              <Numerator>0.00315983</Numerator>
              <Numerator>0.00123782</Numerator>
              <Numerator>-3.51682e-05</Numerator>
              <Numerator>-0.00101403</Numerator>
              <Numerator>-0.00174847</Numerator>
              <Numerator>-0.00226412</Numerator>
              <Numerator>-0.00258472</Numerator>
              <Numerator>-0.00273316</Numerator>
              <Numerator>-0.00273352</Numerator>
              <Numerator>-0.00260956</Numerator>
              <Numerator>-0.00238538</Numerator>
              <Numerator>-0.00208418</Numerator>
              <Numerator>-0.00173045</Numerator>
              <Numerator>-0.00135286</Numerator>
              <Numerator>-0.001008</Numerator>
              <Numerator>-0.00111328</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">5120.0</InputSampleRate>
              <Factor>16</Factor>
              <Offset>0</Offset>
              <Delay>0.006152344</Delay>
              <Correction>0.006</Correction>
            </Decimation>
            <StageGain>
              <Value>1.014774</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="5">
            <Coefficients>
              <InputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>0.000150487</Numerator>
              <Numerator>0.000305924</Numerator>
              <Numerator>0.000442949</Numerator>
              <Numerator>0.000387117</Numerator>
              <Numerator>-4.73787e-05</Numerator>
              <Numerator>-0.000970772</Numerator>
              <Numerator>-0.00230317</Numerator>
              <Numerator>-0.00370638</Numerator>
              <Numerator>-0.00462505</Numerator>
              <Numerator>-0.0044648</Numerator>
              <Numerator>-0.00286984</Numerator>
              <Numerator>7.00861e-06</Numerator>
              <Numerator>0.0033852</Numerator>
              <Numerator>0.00600353</Numerator>
              <Numerator>0.00655094</Numerator>
              <Numerator>0.00425995</Numerator>
              <Numerator>-0.000576024</Numerator>
              <Numerator>-0.00643416</Numerator>
              <Numerator>-0.0109214</Numerator>
              <Numerator>-0.0116364</Numerator>
              <Numerator>-0.00726515</Numerator>
              <Numerator>0.00153727</Numerator>
              <Numerator>0.0119331</Numerator>
              <Numerator>0.0196157</Numerator>
              <Numerator>0.0203516</Numerator>
              <Numerator>0.011868</Numerator>
              <Numerator>-0.00464369</Numerator>
              <Numerator>-0.0241125</Numerator>
              <Numerator>-0.0386383</Numerator>
              <Numerator>-0.0398499</Numerator>
              <Numerator>-0.0218684</Numerator>
              <Numerator>0.0161612</Numerator>
              <Numerator>0.0689624</Numerator>
              <Numerator>0.126003</Numerator>
              <Numerator>0.174229</Numerator>
              <Numerator>0.201834</Numerator>
              <Numerator>0.201834</Numerator>
              <Numerator>0.174229</Numerator>
              <Numerator>0.126003</Numerator>
              <Numerator>0.0689624</Numerator>
              <Numerator>0.0161612</Numerator>
              <Numerator>-0.0218684</Numerator>
              <Numerator>-0.0398499</Numerator>
              <Numerator>-0.0386383</Numerator>
              <Numerator>-0.0241125</Numerator>
              <Numerator>-0.00464369</Numerator>
              <Numerator>0.011868</Numerator>
              <Numerator>0.0203516</Numerator>
              <Numerator>0.0196157</Numerator>
              <Numerator>0.0119331</Numerator>
              <Numerator>0.00153727</Numerator>
              <Numerator>-0.00726515</Numerator>
              <Numerator>-0.0116364</Numerator>
              <Numerator>-0.0109214</Numerator>
              <Numerator>-0.00643416</Numerator>
              <Numerator>-0.000576024</Numerator>
              <Numerator>0.00425995</Numerator>
              <Numerator>0.00655094</Numerator>
              <Numerator>0.00600353</Numerator>
              <Numerator>0.0033852</Numerator>
              <Numerator>7.00861e-06</Numerator>
              <Numerator>-0.00286984</Numerator>
              <Numerator>-0.0044648</Numerator>
              <Numerator>-0.00462505</Numerator>
              <Numerator>-0.00370638</Numerator>
              <Numerator>-0.00230317</Numerator>
              <Numerator>-0.000970772</Numerator>
              <Numerator>-4.73787e-05</Numerator>
              <Numerator>0.000387117</Numerator>
              <Numerator>0.000442949</Numerator>
              <Numerator>0.000305924</Numerator>
              <Numerator>0.000150487</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">320.0</InputSampleRate>
              <Factor>4</Factor>
              <Offset>0</Offset>
              <Delay>0.1109375</Delay>
              <Correction>0.083</Correction>
            </Decimation>
            <StageGain>
              <Value>0.9781118</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
        </Response>
      </Channel>
    </Station>
  </Network>
</FDSNStationXML>
_images/gs-13_Qx80.png

Short-period sensor

Sercel L-22D short-period sensor (Rc=5470 Ohms, Rs=20000 Ohms) + Reftek RT72A-08 24-bit datalogger, 1 stream, 100 Hz, gain 32

StationXML Show/Hide

<?xml version="1.0" encoding="UTF-8"?>
<FDSNStationXML xmlns="http://www.fdsn.org/xml/station/1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.fdsn.org/xml/station/1 http://www.fdsn.org/xml/station/fdsn-station-1.2.xsd"
    schemaVersion="1.2">
  <Source>isti</Source>
  <Created>2020-06-06T01:01:14.188519Z</Created>
  <Network code="XX">
    <Station code="ABCD">
      <Latitude>0.0</Latitude>
      <Longitude>0.0</Longitude>
      <Elevation>10.0</Elevation>
      <Site>
        <Name>Nowhere</Name>
      </Site>
      <Channel code="BHZ" locationCode="10">
        <Latitude>0.0</Latitude>
        <Longitude>0.0</Longitude>
        <Elevation>10.0</Elevation>
        <Depth>0.0</Depth>
        <Azimuth>0.0</Azimuth>
        <Dip>-90.0</Dip>
        <SampleRate>100.0</SampleRate>
        <Sensor><Description>L-22d</Description></Sensor>
        <DataLogger><Description>Reftek RT72A-08</Description></DataLogger>
        <Response>
          <InstrumentSensitivity>
            <Value>1488803226.82</Value>
            <Frequency>10.0</Frequency>
            <InputUnits>
              <Name>m/s</Name>
              <Description>Velocity in Meters per Second</Description>
            </InputUnits>
            <OutputUnits>
              <Name>count</Name>
              <Description>Digital Counts</Description>
            </OutputUnits>
          </InstrumentSensitivity>
          <Stage number="1">
            <PolesZeros>
              <InputUnits>
                <Name>m/s</Name>
                <Description>Velocity in Meters per Second</Description>
              </InputUnits>
              <OutputUnits>
                <Name>V</Name>
                <Description>Volts</Description>
              </OutputUnits>
              <PzTransferFunctionType>LAPLACE (RADIANS/SECOND)</PzTransferFunctionType>
              <NormalizationFactor>1.0</NormalizationFactor>
              <NormalizationFrequency unit="HERTZ">10.0</NormalizationFrequency>
              <Zero number="0">
                <Real>0.0</Real>
                <Imaginary>0.0</Imaginary>
              </Zero>
              <Zero number="1">
                <Real>0.0</Real>
                <Imaginary>0.0</Imaginary>
              </Zero>
              <Pole number="0">
                <Real>-8.884</Real>
                <Imaginary>8.887</Imaginary>
              </Pole>
              <Pole number="1">
                <Real>-8.884</Real>
                <Imaginary>-8.887</Imaginary>
              </Pole>
            </PolesZeros>
            <StageGain>
              <Value>87.9</Value>
              <Frequency>10.0</Frequency>
            </StageGain>
          </Stage>
          <Stage number="2">
            <StageGain>
              <Value>32.2</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="3">
            <Coefficients>
              <InputUnits>
                <Name>V</Name>
                <Description>Volts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>1.0</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">1000.0</InputSampleRate>
              <Factor>1</Factor>
              <Offset>0</Offset>
              <Delay>0.0</Delay>
              <Correction>0.0</Correction>
            </Decimation>
            <StageGain>
              <Value>524384.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="4">
            <Coefficients>
              <InputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>1.00095e-05</Numerator>
              <Numerator>1.60155e-05</Numerator>
              <Numerator>2.10207e-05</Numerator>
              <Numerator>1.70167e-05</Numerator>
              <Numerator>-5.00475e-06</Numerator>
              <Numerator>-5.60554e-05</Numerator>
              <Numerator>-0.000139138</Numerator>
              <Numerator>-0.000252249</Numerator>
              <Numerator>-0.000379375</Numerator>
              <Numerator>-0.000490485</Numerator>
              <Numerator>-0.000544538</Numerator>
              <Numerator>-0.00049549</Numerator>
              <Numerator>-0.000305302</Numerator>
              <Numerator>4.00394e-05</Numerator>
              <Numerator>0.000519514</Numerator>
              <Numerator>0.00106605</Numerator>
              <Numerator>0.00156655</Numerator>
              <Numerator>0.00187986</Numerator>
              <Numerator>0.00185884</Numerator>
              <Numerator>0.00139438</Numerator>
              <Numerator>0.000452447</Numerator>
              <Numerator>-0.000891882</Numerator>
              <Numerator>-0.00244041</Numerator>
              <Numerator>-0.00388684</Numerator>
              <Numerator>-0.0048568</Numerator>
              <Numerator>-0.00498693</Numerator>
              <Numerator>-0.00401297</Numerator>
              <Numerator>-0.00186484</Numerator>
              <Numerator>0.00127226</Numerator>
              <Numerator>0.00493088</Numerator>
              <Numerator>0.00840631</Numerator>
              <Numerator>0.0108557</Numerator>
              <Numerator>0.0114653</Numerator>
              <Numerator>0.00963653</Numerator>
              <Numerator>0.00517011</Numerator>
              <Numerator>-0.00159358</Numerator>
              <Numerator>-0.00973062</Numerator>
              <Numerator>-0.0177896</Numerator>
              <Numerator>-0.0239687</Numerator>
              <Numerator>-0.0263971</Numerator>
              <Numerator>-0.0234562</Numerator>
              <Numerator>-0.014115</Numerator>
              <Numerator>0.00180478</Numerator>
              <Numerator>0.0234952</Numerator>
              <Numerator>0.0491706</Numerator>
              <Numerator>0.0762664</Numerator>
              <Numerator>0.101771</Numerator>
              <Numerator>0.122659</Numerator>
              <Numerator>0.136353</Numerator>
              <Numerator>0.141121</Numerator>
              <Numerator>0.136353</Numerator>
              <Numerator>0.122659</Numerator>
              <Numerator>0.101771</Numerator>
              <Numerator>0.0762664</Numerator>
              <Numerator>0.0491706</Numerator>
              <Numerator>0.0234952</Numerator>
              <Numerator>0.00180478</Numerator>
              <Numerator>-0.014115</Numerator>
              <Numerator>-0.0234562</Numerator>
              <Numerator>-0.0263971</Numerator>
              <Numerator>-0.0239687</Numerator>
              <Numerator>-0.0177896</Numerator>
              <Numerator>-0.00973062</Numerator>
              <Numerator>-0.00159358</Numerator>
              <Numerator>0.00517011</Numerator>
              <Numerator>0.00963653</Numerator>
              <Numerator>0.0114653</Numerator>
              <Numerator>0.0108557</Numerator>
              <Numerator>0.00840631</Numerator>
              <Numerator>0.00493088</Numerator>
              <Numerator>0.00127226</Numerator>
              <Numerator>-0.00186484</Numerator>
              <Numerator>-0.00401297</Numerator>
              <Numerator>-0.00498693</Numerator>
              <Numerator>-0.0048568</Numerator>
              <Numerator>-0.00388684</Numerator>
              <Numerator>-0.00244041</Numerator>
              <Numerator>-0.000891882</Numerator>
              <Numerator>0.000452447</Numerator>
              <Numerator>0.00139438</Numerator>
              <Numerator>0.00185884</Numerator>
              <Numerator>0.00187986</Numerator>
              <Numerator>0.00156655</Numerator>
              <Numerator>0.00106605</Numerator>
              <Numerator>0.000519514</Numerator>
              <Numerator>4.00394e-05</Numerator>
              <Numerator>-0.000305302</Numerator>
              <Numerator>-0.00049549</Numerator>
              <Numerator>-0.000544538</Numerator>
              <Numerator>-0.000490485</Numerator>
              <Numerator>-0.000379375</Numerator>
              <Numerator>-0.000252249</Numerator>
              <Numerator>-0.000139138</Numerator>
              <Numerator>-5.60554e-05</Numerator>
              <Numerator>-5.00475e-06</Numerator>
              <Numerator>1.70167e-05</Numerator>
              <Numerator>2.10207e-05</Numerator>
              <Numerator>1.60155e-05</Numerator>
              <Numerator>1.00095e-05</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">1000.0</InputSampleRate>
              <Factor>5</Factor>
              <Offset>0</Offset>
              <Delay>0.049</Delay>
              <Correction>0.049</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="5">
            <Coefficients>
              <InputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>-4.7042e-05</Numerator>
              <Numerator>-0.000186167</Numerator>
              <Numerator>-0.000292263</Numerator>
              <Numerator>-0.000145131</Numerator>
              <Numerator>0.000212191</Numerator>
              <Numerator>0.000310279</Numerator>
              <Numerator>-0.000124111</Numerator>
              <Numerator>-0.000523471</Numerator>
              <Numerator>-0.000114103</Numerator>
              <Numerator>0.000692624</Numerator>
              <Numerator>0.000534481</Numerator>
              <Numerator>-0.000695627</Numerator>
              <Numerator>-0.00109999</Numerator>
              <Numerator>0.000406366</Numerator>
              <Numerator>0.00169853</Numerator>
              <Numerator>0.000273246</Numerator>
              <Numerator>-0.00213993</Numerator>
              <Numerator>-0.00136523</Numerator>
              <Numerator>0.00218096</Numerator>
              <Numerator>0.0027785</Numerator>
              <Numerator>-0.00156841</Numerator>
              <Numerator>-0.00427885</Numerator>
              <Numerator>0.000108097</Numerator>
              <Numerator>0.00549495</Numerator>
              <Numerator>0.00226304</Numerator>
              <Numerator>-0.00595036</Numerator>
              <Numerator>-0.00541087</Numerator>
              <Numerator>0.00513563</Numerator>
              <Numerator>0.00895507</Numerator>
              <Numerator>-0.00260134</Numerator>
              <Numerator>-0.0122651</Numerator>
              <Numerator>-0.00193975</Numerator>
              <Numerator>0.014478</Numerator>
              <Numerator>0.00851968</Numerator>
              <Numerator>-0.0145601</Numerator>
              <Numerator>-0.0168652</Numerator>
              <Numerator>0.0113402</Numerator>
              <Numerator>0.0263838</Numerator>
              <Numerator>-0.0034461</Numerator>
              <Numerator>-0.0362236</Numerator>
              <Numerator>-0.011103</Numerator>
              <Numerator>0.0453779</Numerator>
              <Numerator>0.03664</Numerator>
              <Numerator>-0.0528236</Numerator>
              <Numerator>-0.0888721</Numerator>
              <Numerator>0.057688</Numerator>
              <Numerator>0.312634</Numerator>
              <Numerator>0.441072</Numerator>
              <Numerator>0.312634</Numerator>
              <Numerator>0.057688</Numerator>
              <Numerator>-0.0888721</Numerator>
              <Numerator>-0.0528236</Numerator>
              <Numerator>0.03664</Numerator>
              <Numerator>0.0453779</Numerator>
              <Numerator>-0.011103</Numerator>
              <Numerator>-0.0362236</Numerator>
              <Numerator>-0.0034461</Numerator>
              <Numerator>0.0263838</Numerator>
              <Numerator>0.0113402</Numerator>
              <Numerator>-0.0168652</Numerator>
              <Numerator>-0.0145601</Numerator>
              <Numerator>0.00851968</Numerator>
              <Numerator>0.014478</Numerator>
              <Numerator>-0.00193975</Numerator>
              <Numerator>-0.0122651</Numerator>
              <Numerator>-0.00260134</Numerator>
              <Numerator>0.00895507</Numerator>
              <Numerator>0.00513563</Numerator>
              <Numerator>-0.00541087</Numerator>
              <Numerator>-0.00595036</Numerator>
              <Numerator>0.00226304</Numerator>
              <Numerator>0.00549495</Numerator>
              <Numerator>0.000108097</Numerator>
              <Numerator>-0.00427885</Numerator>
              <Numerator>-0.00156841</Numerator>
              <Numerator>0.0027785</Numerator>
              <Numerator>0.00218096</Numerator>
              <Numerator>-0.00136523</Numerator>
              <Numerator>-0.00213993</Numerator>
              <Numerator>0.000273246</Numerator>
              <Numerator>0.00169853</Numerator>
              <Numerator>0.000406366</Numerator>
              <Numerator>-0.00109999</Numerator>
              <Numerator>-0.000695627</Numerator>
              <Numerator>0.000534481</Numerator>
              <Numerator>0.000692624</Numerator>
              <Numerator>-0.000114103</Numerator>
              <Numerator>-0.000523471</Numerator>
              <Numerator>-0.000124111</Numerator>
              <Numerator>0.000310279</Numerator>
              <Numerator>0.000212191</Numerator>
              <Numerator>-0.000145131</Numerator>
              <Numerator>-0.000292263</Numerator>
              <Numerator>-0.000186167</Numerator>
              <Numerator>-4.7042e-05</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">200.0</InputSampleRate>
              <Factor>2</Factor>
              <Offset>0</Offset>
              <Delay>0.235</Delay>
              <Correction>0.235</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
        </Response>
      </Channel>
    </Station>
  </Network>
</FDSNStationXML>
_images/l-22d_rt72a-08.png

Accelerometer

Kinemetrics FBA-3 + Kinemetrics Etna

StationXML Show/Hide

<?xml version="1.0" encoding="UTF-8"?>
<FDSNStationXML xmlns="http://www.fdsn.org/xml/station/1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.fdsn.org/xml/station/1 http://www.fdsn.org/xml/station/fdsn-station-1.2.xsd"
    schemaVersion="1.2">
  <Source>isti</Source>
  <Created>2020-06-05T21:54:34.921819Z</Created>
  <Network code="XX">
    <Station code="ABCD">
      <Latitude>0.0</Latitude>
      <Longitude>0.0</Longitude>
      <Elevation>10.0</Elevation>
      <Site>
        <Name>Nowhere</Name>
      </Site>
      <Channel code="BHZ" locationCode="10">
        <Latitude>0.0</Latitude>
        <Longitude>0.0</Longitude>
        <Elevation>10.0</Elevation>
        <Depth>0.0</Depth>
        <Azimuth>0.0</Azimuth>
        <Dip>-90.0</Dip>
        <SampleRate>200.0</SampleRate>
        <Sensor><Description>Kinemetrics FBA-3</Description></Sensor>
        <DataLogger><Description>Kinemetrics Etna</Description></DataLogger>
        <Response>
          <InstrumentSensitivity>
            <Value>213920.152837</Value>
            <Frequency>0.15</Frequency>
            <InputUnits>
              <Name>m/s**2</Name>
              <Description>Acceleration in Meters Per Second Per Second</Description>
            </InputUnits>
            <OutputUnits>
              <Name>count</Name>
              <Description>Digital Counts</Description>
            </OutputUnits>
          </InstrumentSensitivity>
          <Stage number="1">
            <PolesZeros>
              <InputUnits>
                <Name>m/s**2</Name>
                <Description>Acceleration in Meters Per Second Per Second</Description>
              </InputUnits>
              <OutputUnits>
                <Name>V</Name>
                <Description>Volts</Description>
              </OutputUnits>
              <PzTransferFunctionType>LAPLACE (RADIANS/SECOND)</PzTransferFunctionType>
              <NormalizationFactor>147985000.0</NormalizationFactor>
              <NormalizationFrequency unit="HERTZ">0.15</NormalizationFrequency>
              <Pole number="0">
                <Real>-222.1</Real>
                <Imaginary>222.1</Imaginary>
              </Pole>
              <Pole number="1">
                <Real>-222.1</Real>
                <Imaginary>-222.1</Imaginary>
              </Pole>
              <Pole number="2">
                <Real>-1500.0</Real>
                <Imaginary>0.0</Imaginary>
              </Pole>
            </PolesZeros>
            <StageGain>
              <Value>0.0637</Value>
              <Frequency>0.15</Frequency>
            </StageGain>
          </Stage>
          <Stage number="2">
            <StageGain>
              <Value>1.0</Value>
              <Frequency>1.0</Frequency>
            </StageGain>
          </Stage>
          <Stage number="3">
            <Coefficients>
              <InputUnits>
                <Name>V</Name>
                <Description>Volts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>1.0</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">2000.0</InputSampleRate>
              <Factor>1</Factor>
              <Offset>0</Offset>
              <Delay>0.0</Delay>
              <Correction>0.0</Correction>
            </Decimation>
            <StageGain>
              <Value>3360000.0</Value>
              <Frequency>1.0</Frequency>
            </StageGain>
          </Stage>
          <Stage number="4">
            <Coefficients>
              <InputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>1.2e-07</Numerator>
              <Numerator>-6e-07</Numerator>
              <Numerator>-7.27e-06</Numerator>
              <Numerator>-3.278e-05</Numerator>
              <Numerator>-9.894e-05</Numerator>
              <Numerator>-0.00023174</Numerator>
              <Numerator>-0.00044167</Numerator>
              <Numerator>-0.00069332</Numerator>
              <Numerator>-0.00087345</Numerator>
              <Numerator>-0.0007838</Numerator>
              <Numerator>-0.00018537</Numerator>
              <Numerator>0.00108707</Numerator>
              <Numerator>0.00296128</Numerator>
              <Numerator>0.0049758</Numerator>
              <Numerator>0.00624192</Numerator>
              <Numerator>0.00561416</Numerator>
              <Numerator>0.00210238</Numerator>
              <Numerator>-0.00455022</Numerator>
              <Numerator>-0.0133232</Numerator>
              <Numerator>-0.0216756</Numerator>
              <Numerator>-0.0258368</Numerator>
              <Numerator>-0.0217012</Numerator>
              <Numerator>-0.00615335</Numerator>
              <Numerator>0.0215797</Numerator>
              <Numerator>0.0590637</Numerator>
              <Numerator>0.100701</Numerator>
              <Numerator>0.13883</Numerator>
              <Numerator>0.165634</Numerator>
              <Numerator>0.175286</Numerator>
              <Numerator>0.165634</Numerator>
              <Numerator>0.13883</Numerator>
              <Numerator>0.100701</Numerator>
              <Numerator>0.0590637</Numerator>
              <Numerator>0.0215797</Numerator>
              <Numerator>-0.00615335</Numerator>
              <Numerator>-0.0217012</Numerator>
              <Numerator>-0.0258368</Numerator>
              <Numerator>-0.0216756</Numerator>
              <Numerator>-0.0133232</Numerator>
              <Numerator>-0.00455022</Numerator>
              <Numerator>0.00210238</Numerator>
              <Numerator>0.00561416</Numerator>
              <Numerator>0.00624192</Numerator>
              <Numerator>0.0049758</Numerator>
              <Numerator>0.00296128</Numerator>
              <Numerator>0.00108707</Numerator>
              <Numerator>-0.00018537</Numerator>
              <Numerator>-0.0007838</Numerator>
              <Numerator>-0.00087345</Numerator>
              <Numerator>-0.00069332</Numerator>
              <Numerator>-0.00044167</Numerator>
              <Numerator>-0.00023174</Numerator>
              <Numerator>-9.894e-05</Numerator>
              <Numerator>-3.278e-05</Numerator>
              <Numerator>-7.27e-06</Numerator>
              <Numerator>-6e-07</Numerator>
              <Numerator>1.2e-07</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">2000.0</InputSampleRate>
              <Factor>5</Factor>
              <Offset>0</Offset>
              <Delay>0.014</Delay>
              <Correction>0.014</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>1.0</Frequency>
            </StageGain>
          </Stage>
          <Stage number="5">
            <Coefficients>
              <InputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>6e-07</Numerator>
              <Numerator>1.55e-06</Numerator>
              <Numerator>-2.26e-06</Numerator>
              <Numerator>-1.681e-05</Numerator>
              <Numerator>-3.362e-05</Numerator>
              <Numerator>-2.73e-05</Numerator>
              <Numerator>1.156e-05</Numerator>
              <Numerator>4.172e-05</Numerator>
              <Numerator>9.78e-06</Numerator>
              <Numerator>-5.686e-05</Numerator>
              <Numerator>-5.186e-05</Numerator>
              <Numerator>5.221e-05</Numerator>
              <Numerator>0.00010896</Numerator>
              <Numerator>-1.156e-05</Numerator>
              <Numerator>-0.00016463</Numerator>
              <Numerator>-7.641e-05</Numerator>
              <Numerator>0.00019097</Numerator>
              <Numerator>0.00021076</Numerator>
              <Numerator>-0.00015306</Numerator>
              <Numerator>-0.00036979</Numerator>
              <Numerator>1.884e-05</Numerator>
              <Numerator>0.00050938</Numerator>
              <Numerator>0.00022852</Numerator>
              <Numerator>-0.00056541</Numerator>
              <Numerator>-0.00057662</Numerator>
              <Numerator>0.00046456</Numerator>
              <Numerator>0.00097203</Numerator>
              <Numerator>-0.00014412</Numerator>
              <Numerator>-0.00131798</Numerator>
              <Numerator>-0.00042439</Numerator>
              <Numerator>0.00148249</Numerator>
              <Numerator>0.00121105</Numerator>
              <Numerator>-0.0013206</Numerator>
              <Numerator>-0.00210965</Numerator>
              <Numerator>0.00070846</Numerator>
              <Numerator>0.00293458</Numerator>
              <Numerator>0.00041425</Numerator>
              <Numerator>-0.00343633</Numerator>
              <Numerator>-0.00200474</Numerator>
              <Numerator>0.00333858</Numerator>
              <Numerator>0.00388706</Numerator>
              <Numerator>-0.00239384</Numerator>
              <Numerator>-0.00574386</Numerator>
              <Numerator>0.00045073</Numerator>
              <Numerator>0.00713658</Numerator>
              <Numerator>0.00248027</Numerator>
              <Numerator>-0.00755632</Numerator>
              <Numerator>-0.00617528</Numerator>
              <Numerator>0.00650048</Numerator>
              <Numerator>0.0101701</Numerator>
              <Numerator>-0.00356448</Numerator>
              <Numerator>-0.0137692</Numerator>
              <Numerator>-0.00146592</Numerator>
              <Numerator>0.0160844</Numerator>
              <Numerator>0.00854254</Numerator>
              <Numerator>-0.016091</Numerator>
              <Numerator>-0.0173173</Numerator>
              <Numerator>0.0126604</Numerator>
              <Numerator>0.0271523</Numerator>
              <Numerator>-0.00448489</Numerator>
              <Numerator>-0.0371805</Numerator>
              <Numerator>-0.0103546</Numerator>
              <Numerator>0.046411</Numerator>
              <Numerator>0.0361366</Numerator>
              <Numerator>-0.0538626</Numerator>
              <Numerator>-0.0885348</Numerator>
              <Numerator>0.0587055</Numerator>
              <Numerator>0.312242</Numerator>
              <Numerator>0.439562</Numerator>
              <Numerator>0.312242</Numerator>
              <Numerator>0.0587055</Numerator>
              <Numerator>-0.0885348</Numerator>
              <Numerator>-0.0538626</Numerator>
              <Numerator>0.0361366</Numerator>
              <Numerator>0.046411</Numerator>
              <Numerator>-0.0103546</Numerator>
              <Numerator>-0.0371805</Numerator>
              <Numerator>-0.00448489</Numerator>
              <Numerator>0.0271523</Numerator>
              <Numerator>0.0126604</Numerator>
              <Numerator>-0.0173173</Numerator>
              <Numerator>-0.016091</Numerator>
              <Numerator>0.00854254</Numerator>
              <Numerator>0.0160844</Numerator>
              <Numerator>-0.00146592</Numerator>
              <Numerator>-0.0137692</Numerator>
              <Numerator>-0.00356448</Numerator>
              <Numerator>0.0101701</Numerator>
              <Numerator>0.00650048</Numerator>
              <Numerator>-0.00617528</Numerator>
              <Numerator>-0.00755632</Numerator>
              <Numerator>0.00248027</Numerator>
              <Numerator>0.00713658</Numerator>
              <Numerator>0.00045073</Numerator>
              <Numerator>-0.00574386</Numerator>
              <Numerator>-0.00239384</Numerator>
              <Numerator>0.00388706</Numerator>
              <Numerator>0.00333858</Numerator>
              <Numerator>-0.00200474</Numerator>
              <Numerator>-0.00343633</Numerator>
              <Numerator>0.00041425</Numerator>
              <Numerator>0.00293458</Numerator>
              <Numerator>0.00070846</Numerator>
              <Numerator>-0.00210965</Numerator>
              <Numerator>-0.0013206</Numerator>
              <Numerator>0.00121105</Numerator>
              <Numerator>0.00148249</Numerator>
              <Numerator>-0.00042439</Numerator>
              <Numerator>-0.00131798</Numerator>
              <Numerator>-0.00014412</Numerator>
              <Numerator>0.00097203</Numerator>
              <Numerator>0.00046456</Numerator>
              <Numerator>-0.00057662</Numerator>
              <Numerator>-0.00056541</Numerator>
              <Numerator>0.00022852</Numerator>
              <Numerator>0.00050938</Numerator>
              <Numerator>1.884e-05</Numerator>
              <Numerator>-0.00036979</Numerator>
              <Numerator>-0.00015306</Numerator>
              <Numerator>0.00021076</Numerator>
              <Numerator>0.00019097</Numerator>
              <Numerator>-7.641e-05</Numerator>
              <Numerator>-0.00016463</Numerator>
              <Numerator>-1.156e-05</Numerator>
              <Numerator>0.00010896</Numerator>
              <Numerator>5.221e-05</Numerator>
              <Numerator>-5.186e-05</Numerator>
              <Numerator>-5.686e-05</Numerator>
              <Numerator>9.78e-06</Numerator>
              <Numerator>4.172e-05</Numerator>
              <Numerator>1.156e-05</Numerator>
              <Numerator>-2.73e-05</Numerator>
              <Numerator>-3.362e-05</Numerator>
              <Numerator>-1.681e-05</Numerator>
              <Numerator>-2.26e-06</Numerator>
              <Numerator>1.55e-06</Numerator>
              <Numerator>6e-07</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">400.0</InputSampleRate>
              <Factor>2</Factor>
              <Offset>0</Offset>
              <Delay>0.17</Delay>
              <Correction>0.17</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>1.0</Frequency>
            </StageGain>
          </Stage>
        </Response>
      </Channel>
    </Station>
  </Network>
</FDSNStationXML>
_images/kinemetrics_etna_fba-3.png

YSI 44031 thermistor

The Berkeley Digital Seismic Network (BDSN) seismometers, use a Yellow Springs Instrument Co. (YSI) 44031 thermistor to monitor the temperature of the seismometer. The thermistor response has been determined by measuring its voltage output as a function of input temperature. It has been calibrated within a range of temperatures from -5C to 68.59C.

The resistance of the thermistor is a non-linear function of the temperature and its response can be described by a polynomial.

In order to model the response within 0.2 degrees C accuracy, a MacLaurin polynomial with 11 coefficients:

\[Temp(V)=\sum_{n=0}^{10} a_n V^{n}\]

The coefficients are given in Table 1.

\(a_n\)

value

\(a_0\)

0.12505E+02

\(a_1\)

0.13824E+02

\(a_2\)

0.41039E+01

\(a_3\)

0.12932E+01

\(a_4\)

0.18741E+01

\(a_5\)

0.17250E+01

\(a_6\)

-0.61021E+00

\(a_7\)

-0.10540E+01

\(a_8\)

0.13974E+00

\(a_9\)

0.39061E+00

\(a_{10}\)

0.95345E-01

Because this is a polynomial response, the corresponding StationXML looks a little different than the usual responses (e.g., for seismometers). Instead of a InstrumentSensitivity element, there is an InstrumentPolynomial element. In addition the analog stage is represented by a Polynomial stage. The Polynomial stage and the InstrumentPolynomial stage both contain all of the MacLaurin coefficients, however, in the InstrumentPolynomial stage, those coefficients have been scaled by the datalogger sensitivity to give units of Counts instead of Volts.

How the InstrumentPolynomial was calculated

The InstrumentPolynomial stage looks a lot like the Polynomial stage except that the overall system gain has been incorporated into the polynomial coefficients.

The overall system gain is just the product of the individual stage gains for the remaining stages:

\[g_0=\Pi_{n=1}^{N} gain_n\]

where \(g_0\) is the system gain. Note that the Polynomial stage cannot have a StageGain element, and so the gain for that stage is unity.

Then the \(n^{th}\) coefficient of the MacLaurin series is scaled by the inverse \(n^{th}\) power of the system gain:

\[a^{\prime}_n=\frac{a_n}{(g_0)^{n}}\]

For the example shown, the system gain is \(g_0=838860.80\) so that the scaled coefficients are:

coefficient

value

\(a^{\prime}_0\)

0.12505E+02

\(a^{\prime}_1\)

1.64795e-05

\(a^{\prime}_2\)

5.83199e-12

\(a^{\prime}_3\)

2.19077e-18

\(a^{\prime}_4\)

3.78471e-24

\(a^{\prime}_5\)

4.15279e-30

\(a^{\prime}_6\)

-1.75122e-36

\(a^{\prime}_7\)

-3.60588e-42

\(a^{\prime}_8\)

5.69904e-49

\(a^{\prime}_9\)

1.89904e-54

\(a^{\prime}_{10}\)

5.52585e-61

A complete StationXML Response element is shown below for the YSI-44301 thermistor attached to a Reftek RT130 datalogger sampling at 40Hz.

StationXML Show/Hide

<?xml version="1.0" encoding="UTF-8"?>
<FDSNStationXML xmlns="http://www.fdsn.org/xml/station/1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.fdsn.org/xml/station/1 http://www.fdsn.org/xml/station/fdsn-station-1.2.xsd"
    schemaVersion="1.2">
  <Source>isti</Source>
  <Created>2020-06-10T13:25:01.910728Z</Created>
  <Network code="XX">
    <Station code="ABCD">
      <Latitude>0.0</Latitude>
      <Longitude>0.0</Longitude>
      <Elevation>10.0</Elevation>
      <Site>
        <Name>Nowhere</Name>
      </Site>
      <Channel code="BKD" locationCode="10">
        <Latitude>0.0</Latitude>
        <Longitude>0.0</Longitude>
        <Elevation>10.0</Elevation>
        <Depth>0.0</Depth>
        <Azimuth>0.0</Azimuth>
        <Dip>-90.0</Dip>
        <SampleRate>40.0</SampleRate>
        <Sensor><Description>YSI 44301 temperature</Description></Sensor>
        <DataLogger><Description>Reftek RT130</Description></DataLogger>
        <Response>
          <InstrumentPolynomial name="InstrumentPolynomial">
            <Description>None</Description>
            <InputUnits>
              <Name>degC</Name>
              <Description>TEMPERATURE in Celsius</Description>
            </InputUnits>
            <OutputUnits>
              <Name>count</Name>
              <Description>Digital Counts</Description>
            </OutputUnits>
            <ApproximationType>MACLAURIN</ApproximationType>
            <FrequencyLowerBound unit="HERTZ">0.0</FrequencyLowerBound>
            <FrequencyUpperBound unit="HERTZ">0.01</FrequencyUpperBound>
            <ApproximationLowerBound>-5.02</ApproximationLowerBound>
            <ApproximationUpperBound>68.59</ApproximationUpperBound>
            <MaximumError>0.072</MaximumError>
            <Coefficient>12.505</Coefficient>
            <Coefficient>1.64794921875e-05</Coefficient>
            <Coefficient>5.83199266657175e-12</Coefficient>
            <Coefficient>2.1907660147785217e-18</Coefficient>
            <Coefficient>3.784714809535227e-24</Coefficient>
            <Coefficient>4.1527864425849766e-30</Coefficient>
            <Coefficient>-1.7512168159552436e-36</Coefficient>
            <Coefficient>-3.605880325679582e-42</Coefficient>
            <Coefficient>5.699037789738209e-49</Coefficient>
            <Coefficient>1.8990406231916714e-54</Coefficient>
            <Coefficient>5.525847819332687e-61</Coefficient>
          </InstrumentPolynomial>
          <Stage number="1">
            <Polynomial name=" SENSOR RESPONSE   ">
              <InputUnits>
                <Name>degC</Name>
                <Description>TEMPERATURE in Celsius</Description>
              </InputUnits>
              <OutputUnits>
                <Name>V</Name>
                <Description>Volts</Description>
              </OutputUnits>
              <ApproximationType>MACLAURIN</ApproximationType>
              <FrequencyLowerBound unit="HERTZ">0.0</FrequencyLowerBound>
              <FrequencyUpperBound unit="HERTZ">0.01</FrequencyUpperBound>
              <ApproximationLowerBound>-5.02</ApproximationLowerBound>
              <ApproximationUpperBound>68.59</ApproximationUpperBound>
              <MaximumError>0.072</MaximumError>
              <Coefficient>12.505</Coefficient>
              <Coefficient>13.824</Coefficient>
              <Coefficient>4.1039</Coefficient>
              <Coefficient>1.2932</Coefficient>
              <Coefficient>1.8741</Coefficient>
              <Coefficient>1.725</Coefficient>
              <Coefficient>-0.61021</Coefficient>
              <Coefficient>-1.054</Coefficient>
              <Coefficient>0.13974</Coefficient>
              <Coefficient>0.39061</Coefficient>
              <Coefficient>0.095345</Coefficient>
            </Polynomial>
          </Stage>
          <Stage number="2">
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.0</Frequency>
            </StageGain>
          </Stage>
          <Stage number="3">
            <Coefficients name=" DIGITIZER">
              <InputUnits>
                <Name>V</Name>
                <Description>Volts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>1.0</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">102400.0</InputSampleRate>
              <Factor>1</Factor>
              <Offset>0</Offset>
              <Delay>0.0</Delay>
              <Correction>0.0</Correction>
            </Decimation>
            <StageGain>
              <Value>838860.8</Value>
              <Frequency>0.0</Frequency>
            </StageGain>
          </Stage>
          <Stage number="4">
            <Coefficients name=" DECIMATION">
              <InputUnits>
                <Name>count</Name>
                <Description>Volts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>0.000244141</Numerator>
              <Numerator>0.000976562</Numerator>
              <Numerator>0.00244141</Numerator>
              <Numerator>0.00488281</Numerator>
              <Numerator>0.00854492</Numerator>
              <Numerator>0.0136719</Numerator>
              <Numerator>0.0205078</Numerator>
              <Numerator>0.0292969</Numerator>
              <Numerator>0.0393066</Numerator>
              <Numerator>0.0498047</Numerator>
              <Numerator>0.0600586</Numerator>
              <Numerator>0.0693359</Numerator>
              <Numerator>0.0769043</Numerator>
              <Numerator>0.0820312</Numerator>
              <Numerator>0.0839844</Numerator>
              <Numerator>0.0820312</Numerator>
              <Numerator>0.0769043</Numerator>
              <Numerator>0.0693359</Numerator>
              <Numerator>0.0600586</Numerator>
              <Numerator>0.0498047</Numerator>
              <Numerator>0.0393066</Numerator>
              <Numerator>0.0292969</Numerator>
              <Numerator>0.0205078</Numerator>
              <Numerator>0.0136719</Numerator>
              <Numerator>0.00854492</Numerator>
              <Numerator>0.00488281</Numerator>
              <Numerator>0.00244141</Numerator>
              <Numerator>0.000976562</Numerator>
              <Numerator>0.000244141</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">102400.0</InputSampleRate>
              <Factor>8</Factor>
              <Offset>0</Offset>
              <Delay>0.0</Delay>
              <Correction>0.0</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.0</Frequency>
            </StageGain>
          </Stage>
          <Stage number="5">
            <Coefficients name=" DECIMATION">
              <InputUnits>
                <Name>count</Name>
                <Description>Volts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>0.000244141</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.225586</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.000244141</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">12800.0</InputSampleRate>
              <Factor>2</Factor>
              <Offset>0</Offset>
              <Delay>0.0</Delay>
              <Correction>0.0</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.0</Frequency>
            </StageGain>
          </Stage>
          <Stage number="6">
            <Coefficients name=" DECIMATION">
              <InputUnits>
                <Name>count</Name>
                <Description>Volts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>0.000244141</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.225586</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.000244141</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">6400.0</InputSampleRate>
              <Factor>2</Factor>
              <Offset>0</Offset>
              <Delay>0.0</Delay>
              <Correction>0.0</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.0</Frequency>
            </StageGain>
          </Stage>
          <Stage number="7">
            <Coefficients name=" DECIMATION">
              <InputUnits>
                <Name>count</Name>
                <Description>Volts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>0.000244141</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.225586</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.000244141</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">3200.0</InputSampleRate>
              <Factor>2</Factor>
              <Offset>0</Offset>
              <Delay>0.0</Delay>
              <Correction>0.0</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.0</Frequency>
            </StageGain>
          </Stage>
          <Stage number="8">
            <Coefficients name=" DECIMATION">
              <InputUnits>
                <Name>count</Name>
                <Description>Volts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>0.000244141</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.225586</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.000244141</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">1600.0</InputSampleRate>
              <Factor>2</Factor>
              <Offset>0</Offset>
              <Delay>0.0</Delay>
              <Correction>0.0</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.0</Frequency>
            </StageGain>
          </Stage>
          <Stage number="9">
            <Coefficients name=" DECIMATION">
              <InputUnits>
                <Name>count</Name>
                <Description>Volts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>0.000244141</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.225586</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.000244141</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">800.0</InputSampleRate>
              <Factor>2</Factor>
              <Offset>0</Offset>
              <Delay>0.0</Delay>
              <Correction>0.0</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.0</Frequency>
            </StageGain>
          </Stage>
          <Stage number="10">
            <Coefficients name=" DECIMATION">
              <InputUnits>
                <Name>count</Name>
                <Description>Volts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>-7.15032e-07</Numerator>
              <Numerator>-5.60109e-06</Numerator>
              <Numerator>-2.62179e-06</Numerator>
              <Numerator>-4.31403e-05</Numerator>
              <Numerator>-4.64771e-06</Numerator>
              <Numerator>1.43006e-06</Numerator>
              <Numerator>2.34769e-05</Numerator>
              <Numerator>1.43006e-06</Numerator>
              <Numerator>-5.27932e-05</Numerator>
              <Numerator>-0.000366692</Numerator>
              <Numerator>0.000376107</Numerator>
              <Numerator>0.000854226</Numerator>
              <Numerator>3.05081e-05</Numerator>
              <Numerator>-0.00127621</Numerator>
              <Numerator>-0.000910951</Numerator>
              <Numerator>0.00127669</Numerator>
              <Numerator>0.00215165</Numerator>
              <Numerator>-0.000461554</Numerator>
              <Numerator>-0.00333765</Numerator>
              <Numerator>-0.00140933</Numerator>
              <Numerator>0.00377072</Numerator>
              <Numerator>0.00419414</Numerator>
              <Numerator>-0.00264288</Numerator>
              <Numerator>-0.00720121</Numerator>
              <Numerator>-0.000644006</Numerator>
              <Numerator>0.009184</Numerator>
              <Numerator>0.00608445</Numerator>
              <Numerator>-0.00857824</Numerator>
              <Numerator>-0.0127401</Numerator>
              <Numerator>0.00398225</Numerator>
              <Numerator>0.0186261</Numerator>
              <Numerator>0.0052052</Numerator>
              <Numerator>-0.0209407</Numerator>
              <Numerator>-0.0181629</Numerator>
              <Numerator>0.0166669</Numerator>
              <Numerator>0.0322447</Numerator>
              <Numerator>-0.00346588</Numerator>
              <Numerator>-0.0429528</Numerator>
              <Numerator>-0.0193265</Numerator>
              <Numerator>0.044309</Numerator>
              <Numerator>0.0497909</Numerator>
              <Numerator>-0.0294164</Numerator>
              <Numerator>-0.0826078</Numerator>
              <Numerator>-0.00934166</Numerator>
              <Numerator>0.107552</Numerator>
              <Numerator>0.0816604</Numerator>
              <Numerator>-0.10311</Numerator>
              <Numerator>-0.204208</Numerator>
              <Numerator>-3.12231e-05</Numerator>
              <Numerator>0.390432</Numerator>
              <Numerator>0.589958</Numerator>
              <Numerator>0.390432</Numerator>
              <Numerator>-3.12231e-05</Numerator>
              <Numerator>-0.204208</Numerator>
              <Numerator>-0.10311</Numerator>
              <Numerator>0.0816604</Numerator>
              <Numerator>0.107552</Numerator>
              <Numerator>-0.00934166</Numerator>
              <Numerator>-0.0826078</Numerator>
              <Numerator>-0.0294164</Numerator>
              <Numerator>0.0497909</Numerator>
              <Numerator>0.044309</Numerator>
              <Numerator>-0.0193265</Numerator>
              <Numerator>-0.0429528</Numerator>
              <Numerator>-0.00346588</Numerator>
              <Numerator>0.0322447</Numerator>
              <Numerator>0.0166669</Numerator>
              <Numerator>-0.0181629</Numerator>
              <Numerator>-0.0209407</Numerator>
              <Numerator>0.0052052</Numerator>
              <Numerator>0.0186261</Numerator>
              <Numerator>0.00398225</Numerator>
              <Numerator>-0.0127401</Numerator>
              <Numerator>-0.00857824</Numerator>
              <Numerator>0.00608445</Numerator>
              <Numerator>0.009184</Numerator>
              <Numerator>-0.000644006</Numerator>
              <Numerator>-0.00720121</Numerator>
              <Numerator>-0.00264288</Numerator>
              <Numerator>0.00419414</Numerator>
              <Numerator>0.00377072</Numerator>
              <Numerator>-0.00140933</Numerator>
              <Numerator>-0.00333765</Numerator>
              <Numerator>-0.000461554</Numerator>
              <Numerator>0.00215165</Numerator>
              <Numerator>0.00127669</Numerator>
              <Numerator>-0.000910951</Numerator>
              <Numerator>-0.00127621</Numerator>
              <Numerator>3.05081e-05</Numerator>
              <Numerator>0.000854226</Numerator>
              <Numerator>0.000376107</Numerator>
              <Numerator>-0.000366692</Numerator>
              <Numerator>-0.00041031</Numerator>
              <Numerator>2.52645e-05</Numerator>
              <Numerator>0.000261821</Numerator>
              <Numerator>0.000120602</Numerator>
              <Numerator>-9.99854e-05</Numerator>
              <Numerator>-0.000162312</Numerator>
              <Numerator>-9.79595e-05</Numerator>
              <Numerator>-2.94355e-05</Numerator>
              <Numerator>-3.09847e-06</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">400.0</InputSampleRate>
              <Factor>2</Factor>
              <Offset>0</Offset>
              <Delay>0.0</Delay>
              <Correction>0.0</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.0</Frequency>
            </StageGain>
          </Stage>
          <Stage number="11">
            <Coefficients name=" DECIMATION">
              <InputUnits>
                <Name>count</Name>
                <Description>Volts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>count</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>-1.09889e-05</Numerator>
              <Numerator>-1.99798e-05</Numerator>
              <Numerator>-3.29668e-05</Numerator>
              <Numerator>-4.39561e-05</Numerator>
              <Numerator>-4.79522e-05</Numerator>
              <Numerator>-4.09589e-05</Numerator>
              <Numerator>-1.8981e-05</Numerator>
              <Numerator>1.8981e-05</Numerator>
              <Numerator>6.7932e-05</Numerator>
              <Numerator>0.000118881</Numerator>
              <Numerator>0.000158842</Numerator>
              <Numerator>0.000174826</Numerator>
              <Numerator>0.000157843</Numerator>
              <Numerator>0.000104895</Numerator>
              <Numerator>2.49751e-05</Numerator>
              <Numerator>-6.49352e-05</Numerator>
              <Numerator>-0.00014086</Numerator>
              <Numerator>-0.000178822</Numerator>
              <Numerator>-0.00016084</Numerator>
              <Numerator>-8.59142e-05</Numerator>
              <Numerator>3.29668e-05</Numerator>
              <Numerator>0.000163837</Numerator>
              <Numerator>0.000268733</Numerator>
              <Numerator>0.000310691</Numerator>
              <Numerator>0.000263737</Numerator>
              <Numerator>0.00013087</Numerator>
              <Numerator>-6.09391e-05</Numerator>
              <Numerator>-0.00026074</Numerator>
              <Numerator>-0.000408593</Numerator>
              <Numerator>-0.000448554</Numerator>
              <Numerator>-0.000353648</Numerator>
              <Numerator>-0.000135864</Numerator>
              <Numerator>0.000155845</Numerator>
              <Numerator>0.000438563</Numerator>
              <Numerator>0.000623379</Numerator>
              <Numerator>0.000638365</Numerator>
              <Numerator>0.000456546</Numerator>
              <Numerator>0.000108891</Numerator>
              <Numerator>-0.000315686</Numerator>
              <Numerator>-0.000694309</Numerator>
              <Numerator>-0.000903101</Numerator>
              <Numerator>-0.00085415</Numerator>
              <Numerator>-0.000533469</Numerator>
              <Numerator>-7.99164e-06</Numerator>
              <Numerator>0.000581421</Numerator>
              <Numerator>0.00105695</Numerator>
              <Numerator>0.00125675</Numerator>
              <Numerator>0.00108792</Numerator>
              <Numerator>0.000559443</Numerator>
              <Numerator>-0.000201799</Numerator>
              <Numerator>-0.000983021</Numerator>
              <Numerator>-0.00154047</Numerator>
              <Numerator>-0.00167733</Numerator>
              <Numerator>-0.0013037</Numerator>
              <Numerator>-0.000484518</Numerator>
              <Numerator>0.000571431</Numerator>
              <Numerator>0.00155645</Numerator>
              <Numerator>0.00215685</Numerator>
              <Numerator>0.00214287</Numerator>
              <Numerator>0.00145855</Numerator>
              <Numerator>0.00025075</Numerator>
              <Numerator>-0.00115385</Numerator>
              <Numerator>-0.00233568</Numerator>
              <Numerator>-0.00290311</Numerator>
              <Numerator>-0.0026174</Numerator>
              <Numerator>-0.00148752</Numerator>
              <Numerator>0.000215785</Numerator>
              <Numerator>0.002014</Numerator>
              <Numerator>0.00335166</Numerator>
              <Numerator>0.00376825</Numerator>
              <Numerator>0.00304597</Numerator>
              <Numerator>0.0013037</Numerator>
              <Numerator>-0.001009</Numerator>
              <Numerator>-0.0032208</Numerator>
              <Numerator>-0.00463139</Numerator>
              <Numerator>-0.0047233</Numerator>
              <Numerator>-0.00334667</Numerator>
              <Numerator>-0.000793211</Numerator>
              <Numerator>0.00224477</Numerator>
              <Numerator>0.00486516</Numerator>
              <Numerator>0.00620583</Numerator>
              <Numerator>0.0057273</Numerator>
              <Numerator>0.00340861</Numerator>
              <Numerator>-0.000199801</Numerator>
              <Numerator>-0.00409193</Numerator>
              <Numerator>-0.00707596</Numerator>
              <Numerator>-0.00812791</Numerator>
              <Numerator>-0.00672831</Numerator>
              <Numerator>-0.00307194</Numerator>
              <Numerator>0.00192309</Numerator>
              <Numerator>0.00682721</Numerator>
              <Numerator>0.010091</Numerator>
              <Numerator>0.0105175</Numerator>
              <Numerator>0.00766437</Numerator>
              <Numerator>0.00206594</Numerator>
              <Numerator>-0.00483219</Numerator>
              <Numerator>-0.01101</Numerator>
              <Numerator>-0.0144376</Numerator>
              <Numerator>-0.0136934</Numerator>
              <Numerator>-0.00847457</Numerator>
              <Numerator>0.000173827</Numerator>
              <Numerator>0.010004</Numerator>
              <Numerator>0.018085</Numerator>
              <Numerator>0.0215935</Numerator>
              <Numerator>0.0186664</Numerator>
              <Numerator>0.00910094</Numerator>
              <Numerator>-0.0053287</Numerator>
              <Numerator>-0.0210541</Numerator>
              <Numerator>-0.0333958</Numerator>
              <Numerator>-0.0376226</Numerator>
              <Numerator>-0.030137</Numerator>
              <Numerator>-0.00949755</Numerator>
              <Numerator>0.0229931</Numerator>
              <Numerator>0.063304</Numerator>
              <Numerator>0.10534</Numerator>
              <Numerator>0.142124</Numerator>
              <Numerator>0.167226</Numerator>
              <Numerator>0.176134</Numerator>
              <Numerator>0.167226</Numerator>
              <Numerator>0.142124</Numerator>
              <Numerator>0.10534</Numerator>
              <Numerator>0.063304</Numerator>
              <Numerator>0.0229931</Numerator>
              <Numerator>-0.00949755</Numerator>
              <Numerator>-0.030137</Numerator>
              <Numerator>-0.0376226</Numerator>
              <Numerator>-0.0333958</Numerator>
              <Numerator>-0.0210541</Numerator>
              <Numerator>-0.0053287</Numerator>
              <Numerator>0.00910094</Numerator>
              <Numerator>0.0186664</Numerator>
              <Numerator>0.0215935</Numerator>
              <Numerator>0.018085</Numerator>
              <Numerator>0.010004</Numerator>
              <Numerator>0.000173827</Numerator>
              <Numerator>-0.00847457</Numerator>
              <Numerator>-0.0136934</Numerator>
              <Numerator>-0.0144376</Numerator>
              <Numerator>-0.01101</Numerator>
              <Numerator>-0.00483219</Numerator>
              <Numerator>0.00206594</Numerator>
              <Numerator>0.00766437</Numerator>
              <Numerator>0.0105175</Numerator>
              <Numerator>0.010091</Numerator>
              <Numerator>0.00682721</Numerator>
              <Numerator>0.00192309</Numerator>
              <Numerator>-0.00307194</Numerator>
              <Numerator>-0.00672831</Numerator>
              <Numerator>-0.00812791</Numerator>
              <Numerator>-0.00707596</Numerator>
              <Numerator>-0.00409193</Numerator>
              <Numerator>-0.000199801</Numerator>
              <Numerator>0.00340861</Numerator>
              <Numerator>0.0057273</Numerator>
              <Numerator>0.00620583</Numerator>
              <Numerator>0.00486516</Numerator>
              <Numerator>0.00224477</Numerator>
              <Numerator>-0.000793211</Numerator>
              <Numerator>-0.00334667</Numerator>
              <Numerator>-0.0047233</Numerator>
              <Numerator>-0.00463139</Numerator>
              <Numerator>-0.0032208</Numerator>
              <Numerator>-0.001009</Numerator>
              <Numerator>0.0013037</Numerator>
              <Numerator>0.00304597</Numerator>
              <Numerator>0.00376825</Numerator>
              <Numerator>0.00335166</Numerator>
              <Numerator>0.002014</Numerator>
              <Numerator>0.000215785</Numerator>
              <Numerator>-0.00148752</Numerator>
              <Numerator>-0.0026174</Numerator>
              <Numerator>-0.00290311</Numerator>
              <Numerator>-0.00233568</Numerator>
              <Numerator>-0.00115385</Numerator>
              <Numerator>0.00025075</Numerator>
              <Numerator>0.00145855</Numerator>
              <Numerator>0.00214287</Numerator>
              <Numerator>0.00215685</Numerator>
              <Numerator>0.00155645</Numerator>
              <Numerator>0.000571431</Numerator>
              <Numerator>-0.000484518</Numerator>
              <Numerator>-0.0013037</Numerator>
              <Numerator>-0.00167733</Numerator>
              <Numerator>-0.00154047</Numerator>
              <Numerator>-0.000983021</Numerator>
              <Numerator>-0.000201799</Numerator>
              <Numerator>0.000559443</Numerator>
              <Numerator>0.00108792</Numerator>
              <Numerator>0.00125675</Numerator>
              <Numerator>0.00105695</Numerator>
              <Numerator>0.000581421</Numerator>
              <Numerator>-7.99164e-06</Numerator>
              <Numerator>-0.000533469</Numerator>
              <Numerator>-0.00085415</Numerator>
              <Numerator>-0.000903101</Numerator>
              <Numerator>-0.000694309</Numerator>
              <Numerator>-0.000315686</Numerator>
              <Numerator>0.000108891</Numerator>
              <Numerator>0.000456546</Numerator>
              <Numerator>0.000638365</Numerator>
              <Numerator>0.000623379</Numerator>
              <Numerator>0.000438563</Numerator>
              <Numerator>0.000155845</Numerator>
              <Numerator>-0.000135864</Numerator>
              <Numerator>-0.000353648</Numerator>
              <Numerator>-0.000448554</Numerator>
              <Numerator>-0.000408593</Numerator>
              <Numerator>-0.00026074</Numerator>
              <Numerator>-6.09391e-05</Numerator>
              <Numerator>0.00013087</Numerator>
              <Numerator>0.000263737</Numerator>
              <Numerator>0.000310691</Numerator>
              <Numerator>0.000268733</Numerator>
              <Numerator>0.000163837</Numerator>
              <Numerator>3.29668e-05</Numerator>
              <Numerator>-8.59142e-05</Numerator>
              <Numerator>-0.00016084</Numerator>
              <Numerator>-0.000178822</Numerator>
              <Numerator>-0.00014086</Numerator>
              <Numerator>-6.49352e-05</Numerator>
              <Numerator>2.49751e-05</Numerator>
              <Numerator>0.000104895</Numerator>
              <Numerator>0.000157843</Numerator>
              <Numerator>0.000174826</Numerator>
              <Numerator>0.000158842</Numerator>
              <Numerator>0.000118881</Numerator>
              <Numerator>6.7932e-05</Numerator>
              <Numerator>1.8981e-05</Numerator>
              <Numerator>-1.8981e-05</Numerator>
              <Numerator>-4.09589e-05</Numerator>
              <Numerator>-4.79522e-05</Numerator>
              <Numerator>-4.39561e-05</Numerator>
              <Numerator>-3.29668e-05</Numerator>
              <Numerator>-1.99798e-05</Numerator>
              <Numerator>-1.09889e-05</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">200.0</InputSampleRate>
              <Factor>5</Factor>
              <Offset>0</Offset>
              <Delay>0.0</Delay>
              <Correction>0.0</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.0</Frequency>
            </StageGain>
          </Stage>
        </Response>
      </Channel>
    </Station>
  </Network>
</FDSNStationXML>
_images/YSI-44031.png

Setra 270

Setra 270 Pressure Transducer

This example was lifted from [62] Response [Polynomial] Blockette section (p.85) of the SEED manual (v.2.4).

The Setra Model 270 Pressure Transducer response is given as a polynomial response with 2 coefficients, valid for input pressure between 600-1100 mbar.

\[Pressure(V)=\sum_{n=0}^{1} a_n V^{n}\]

where \(a_0=600\) and \(a_1=100\), e.g., over this voltage range (0-5V), the input (mbar of pressure) is a linear function of the output (Volts).

Bound Values for polynomial: Lower 600 mbar Upper 1100 mbar

Volts

mbar

0.0

600

1.0

700

2.0

800

3.0

900

4.0

1000

5.0

1100

How the InstrumentPolynomial was calculated

Assume we use an 8 bit digitizer where 0 counts = 0 volts and 255 counts = 5 volts. This translates to a digitizer gain of 51 Counts/volt.

This provides the following conversion from counts to pressure:

Counts

Volts (V) = gain*counts

Pressure (mbar) = p(volts)

0

0.0

600

51

1.0

700

102

2.0

800

153

3.0

900

204

4.0

1000

255

5.0

1100

Just as in the previous example for the YSI 44031, the InstrumentPolynomial stage looks a lot like the Polynomial stage except that the overall system gain has been incorporated into the polynomial coefficients. In this case, because it is linear, only the \(a_1\) term is affected.

\[a^{\prime}_n=\frac{a_n}{(g_0)^{n}}\]

where \(g_0 = 51\) is the overall gain, giving coefficients for the InstrumentPolynomial of \(a_0=600\) and \(a_1=1.96\). This yields an overall InstrumentPolynomial, where pressure is a function of the recorded counts, of:

\[Pressure(c) = 600 + 1.96*c\]

A complete StationXML Response element is shown below for the Setra 270 sensor attached to a generic 51 count per volt datalogger sampling at 1Hz.

StationXML Show/Hide

<?xml version="1.0" encoding="UTF-8"?>
<FDSNStationXML xmlns="http://www.fdsn.org/xml/station/1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.fdsn.org/xml/station/1 http://www.fdsn.org/xml/station/fdsn-station-1.2.xsd"
    schemaVersion="1.2">
  <Source>isti</Source>
  <Created>2020-06-06T01:19:15.736834Z</Created>
  <Network code="XX">
    <Station code="ABCD">
      <Latitude>0.0</Latitude>
      <Longitude>0.0</Longitude>
      <Elevation>10.0</Elevation>
      <Site>
        <Name>Nowhere</Name>
      </Site>
      <Channel code="BDO" locationCode="10">
        <Latitude>0.0</Latitude>
        <Longitude>0.0</Longitude>
        <Elevation>10.0</Elevation>
        <Depth>0.0</Depth>
        <Azimuth>0.0</Azimuth>
        <Dip>-90.0</Dip>
        <SampleRate>40.0</SampleRate>
        <Sensor><Description>Setra 270 pressure transducer</Description></Sensor>
        <Response>
           <InstrumentPolynomial name="InstrumentPolynomial">
             <InputUnits>
               <Name>mbar</Name>
               <Description>Pressure in mbar</Description>
             </InputUnits>
             <OutputUnits>
              <Name>count</Name>
              <Description>Digital Counts</Description>
             </OutputUnits>
             <ApproximationType>MACLAURIN</ApproximationType>
             <FrequencyLowerBound unit="HERTZ">0.0</FrequencyLowerBound>
             <FrequencyUpperBound unit="HERTZ">0.0</FrequencyUpperBound>
             <ApproximationLowerBound>600</ApproximationLowerBound>
             <ApproximationUpperBound>1100</ApproximationUpperBound>
             <MaximumError>0.0</MaximumError>
             <Coefficient>600</Coefficient>
             <Coefficient>1.96</Coefficient>
           </InstrumentPolynomial>
           <Stage number="1">
              <Polynomial name=" SENSOR RESPONSE   ">
                <InputUnits>
                  <Name>mbar</Name>
                  <Description>Pressure in mbar</Description>
                </InputUnits>
              <OutputUnits>
                 <Name>V</Name>
                 <Description>Volts</Description>
              </OutputUnits>
              <ApproximationType>MACLAURIN</ApproximationType>
              <FrequencyLowerBound unit="HERTZ">0.0</FrequencyLowerBound>
              <FrequencyUpperBound unit="HERTZ">0.0</FrequencyUpperBound>
              <ApproximationLowerBound>600</ApproximationLowerBound>
              <ApproximationUpperBound>1100</ApproximationUpperBound>
              <MaximumError>0.0</MaximumError>
              <Coefficient>600</Coefficient>
              <Coefficient>100</Coefficient>
              </Polynomial>
           </Stage>
           <Stage number="2">
              <StageGain>
              <Value>1.0</Value>
              <Frequency>0.0</Frequency>
              </StageGain>
           </Stage>
           <Stage number="3">
              <Coefficients name=" DIGITIZER">
              <InputUnits>
                 <Name>V</Name>
                 <Description>Volts</Description>
              </InputUnits>
              <OutputUnits>
                 <Name>count</Name>
                 <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>1.0</Numerator>
              </Coefficients>
              <Decimation>
              <InputSampleRate unit="HERTZ">1.0</InputSampleRate>
              <Factor>1</Factor>
              <Offset>0</Offset>
              <Delay>0.0</Delay>
              <Correction>0.0</Correction>
              </Decimation>
              <StageGain>
              <Value>51</Value>
              <Frequency>0.0</Frequency>
              </StageGain>
           </Stage>
        </Response>
      </Channel>
    </Station>
  </Network>
</FDSNStationXML>

StationXML Tools

As StationXML files are ordinary text files, they may be edited with any text editor (e.g., vi/VIM, TextWrangler, Notepad/Wordpad, etc)

However, StationXML files can become very large and unwieldy as more stations and channels are added. For instance a regional seismic network can generate a StationXML file of size > 30Mb on disk (>400,000 lines).

Fortunately, several tools exist that allow creation and editing of StationXML files.

ObsPy + NRL

ObsPy contains a number of very useful modules for working with StationXML. In particular, ObsPy contain a module able to connect to the IRIS Nominal Resource Library (NRL) and download full responses (sensor + datalogger) for various combinations of sensor + datalogger contained within the NRL.

The excerpts below provide examples of how to work with ObsPy and the NRL.

from obspy.clients.nrl import NRL
from obspy.core.inventory import Inventory, Network, Station, Channel, Site
from obspy.core import UTCDateTime

#from lib.valid import stationxml_validator

def do_plot():

   nrl = NRL('http://ds.iris.edu/NRL/')
   datalogger_keys = ['REF TEK', 'RT 130 & 130-SMA', '1', '40']
   sensor_keys = ['Streckeisen', 'STS-2', '1500', '3 - installed 04/97 to present']

   response = nrl.get_response(sensor_keys=sensor_keys, datalogger_keys=datalogger_keys)

   response.plot(min_freq=.001, outfile="sts2-rt130.png")

   for stage in response.response_stages:
      print(stage)

if __name__ == '__main__':
    do_plot()

The resulting response plot looks like

_images/sts2-rt130.png

Output for the response stages Show/Hide Stages

Response type: PolesZerosResponseStage, Stage Sequence Number: 1
	From M/S (Velocity in Meters per Second) to V (Volts)
	Stage gain: 1500.0, defined at 1.00 Hz
	Transfer function type: LAPLACE (RADIANS/SECOND)
	Normalization factor: 3.4684e+17, Normalization frequency: 1.00 Hz
	Poles: (-0.037-0.037j), (-0.037+0.037j), (-15.64+0j), (-97.34-400.7j), (-97.34+400.7j), (-374.8+0j), (-520.3+0j), (-10530-10050j), (-10530+10050j), (-13300+0j), (-255.097+0j)
	Zeros: 0j, 0j, (-15.15+0j), (-176.6+0j), (-463.1-430.5j), (-463.1+430.5j)
Response type: ResponseStage, Stage Sequence Number: 2
	From V to V
	Stage gain: 1.0, defined at 0.05 Hz
Response type: CoefficientsTypeResponseStage, Stage Sequence Number: 3
	From V (Volts) to COUNTS (Digital Counts)
	Stage gain: 629129.0, defined at 0.05 Hz
	Decimation:
		Input Sample Rate: 102400.00 Hz
		Decimation Factor: 1
		Decimation Offset: 0
		Decimation Delay: 0.00
		Decimation Correction: 0.00
	Transfer function type: DIGITAL
	Contains 1 numerators and 0 denominators
Response type: CoefficientsTypeResponseStage, Stage Sequence Number: 4
	From COUNTS (Digital Counts) to COUNTS (Digital Counts)
	Stage gain: 1.0, defined at 0.05 Hz
	Decimation:
		Input Sample Rate: 102400.00 Hz
		Decimation Factor: 8
		Decimation Offset: 0
		Decimation Delay: 0.00
		Decimation Correction: 0.00
	Transfer function type: DIGITAL
	Contains 29 numerators and 0 denominators
Response type: CoefficientsTypeResponseStage, Stage Sequence Number: 5
	From COUNTS (Digital Counts) to COUNTS (Digital Counts)
	Stage gain: 1.0, defined at 0.05 Hz
	Decimation:
		Input Sample Rate: 12800.00 Hz
		Decimation Factor: 2
		Decimation Offset: 0
		Decimation Delay: 0.00
		Decimation Correction: 0.00
	Transfer function type: DIGITAL
	Contains 13 numerators and 0 denominators
Response type: CoefficientsTypeResponseStage, Stage Sequence Number: 6
	From COUNTS (Digital Counts) to COUNTS (Digital Counts)
	Stage gain: 1.0, defined at 0.05 Hz
	Decimation:
		Input Sample Rate: 6400.00 Hz
		Decimation Factor: 2
		Decimation Offset: 0
		Decimation Delay: 0.00
		Decimation Correction: 0.00
	Transfer function type: DIGITAL
	Contains 13 numerators and 0 denominators
Response type: CoefficientsTypeResponseStage, Stage Sequence Number: 7
	From COUNTS (Digital Counts) to COUNTS (Digital Counts)
	Stage gain: 1.0, defined at 0.05 Hz
	Decimation:
		Input Sample Rate: 3200.00 Hz
		Decimation Factor: 2
		Decimation Offset: 0
		Decimation Delay: 0.00
		Decimation Correction: 0.00
	Transfer function type: DIGITAL
	Contains 13 numerators and 0 denominators
Response type: CoefficientsTypeResponseStage, Stage Sequence Number: 8
	From COUNTS (Digital Counts) to COUNTS (Digital Counts)
	Stage gain: 1.0, defined at 0.05 Hz
	Decimation:
		Input Sample Rate: 1600.00 Hz
		Decimation Factor: 2
		Decimation Offset: 0
		Decimation Delay: 0.00
		Decimation Correction: 0.00
	Transfer function type: DIGITAL
	Contains 13 numerators and 0 denominators
Response type: CoefficientsTypeResponseStage, Stage Sequence Number: 9
	From COUNTS (Digital Counts) to COUNTS (Digital Counts)
	Stage gain: 1.0, defined at 0.05 Hz
	Decimation:
		Input Sample Rate: 800.00 Hz
		Decimation Factor: 2
		Decimation Offset: 0
		Decimation Delay: 0.01
		Decimation Correction: 0.01
	Transfer function type: DIGITAL
	Contains 13 numerators and 0 denominators
Response type: CoefficientsTypeResponseStage, Stage Sequence Number: 10
	From COUNTS (Digital Counts) to COUNTS (Digital Counts)
	Stage gain: 1.0, defined at 0.05 Hz
	Decimation:
		Input Sample Rate: 400.00 Hz
		Decimation Factor: 2
		Decimation Offset: 0
		Decimation Delay: 0.12
		Decimation Correction: 0.12
	Transfer function type: DIGITAL
	Contains 101 numerators and 0 denominators
Response type: CoefficientsTypeResponseStage, Stage Sequence Number: 11
	From COUNTS (Digital Counts) to COUNTS (Digital Counts)
	Stage gain: 1.0, defined at 0.05 Hz
	Decimation:
		Input Sample Rate: 200.00 Hz
		Decimation Factor: 5
		Decimation Offset: 0
		Decimation Delay: 0.58
		Decimation Correction: 0.58
	Transfer function type: DIGITAL
	Contains 235 numerators and 0 denominators

Up until now we have been examining the response in ObsPy format, that is, as an instance of type obspy.core.inventory.response.Response.

We can also examine this as part of a StationXML file, however, StationXML does not allow children to exist without parents. Thus, a response must be contained within a <Channel> element, which itself must be contained within a <Station> element, which must be contained within a <Network> element, etc.

The excerpt below creates a generic structure to contain our Response object, exports this to StationXML, and validates it against the StationXML schema. Note at the time of this writing, ObsPy outputs StationXML 1.1 and does not follow all of the recommendations in StationXML 1.2.

from obspy.clients.nrl import NRL
from obspy.core.inventory import Inventory, Network, Station, Channel, Site
from obspy.core import UTCDateTime

def do_xml():
    nrl = NRL('http://ds.iris.edu/NRL/')
    datalogger_keys = ['REF TEK', 'RT 130 & 130-SMA', '1', '40']
    sensor_keys = ['Streckeisen', 'STS-2', '1500', '3 - installed 04/97 to present']

    response = nrl.get_response(sensor_keys=sensor_keys, datalogger_keys=datalogger_keys)

    channel = Channel(code='BHZ',
                      location_code='10',      # required
                      latitude=0,      # required
                      longitude=0,   # required
                      elevation=0.0,        # required
                      depth=0.,                # required
                      )

    channel.response = response
    station = Station(code='ABCD',
                      latitude=0,
                      longitude=0,
                      elevation=0.0,
                      creation_date=UTCDateTime(1970, 1, 1),          # required
                      site=Site(name='Fake Site'),  # required
                      channels=[channel],
                      )

    network = Network(code='XX',
                     stations=[station])
    inventory = Inventory(networks=[network], source="demo")

    inventory.write("Test.xml", format="stationxml", validate=True)


if __name__ == '__main__':
    do_xml()

The output StationXML file looks like:

<?xml version='1.0' encoding='UTF-8'?>
<FDSNStationXML xmlns="http://www.fdsn.org/xml/station/1" schemaVersion="1.1">
  <Source>demo</Source>
  <Module>ObsPy 1.2.2</Module>
  <ModuleURI>https://www.obspy.org</ModuleURI>
  <Created>2022-02-25T15:04:30.276150Z</Created>
  <Network code="XX">
    <Station code="ABCD">
      <Latitude unit="DEGREES">0.0</Latitude>
      <Longitude unit="DEGREES">0.0</Longitude>
      <Elevation unit="METERS">0.0</Elevation>
      <Site>
        <Name>Fake Site</Name>
      </Site>
      <CreationDate>1970-01-01T00:00:00.000000Z</CreationDate>
      <Channel code="BHZ" locationCode="10">
        <Latitude unit="DEGREES">0.0</Latitude>
        <Longitude unit="DEGREES">0.0</Longitude>
        <Elevation unit="METERS">0.0</Elevation>
        <Depth unit="METERS">0.0</Depth>
        <Response>
          <InstrumentSensitivity>
            <Value>941864732.693</Value>
            <Frequency>1.0</Frequency>
            <InputUnits>
              <Name>M/S</Name>
              <Description>Velocity in Meters per Second</Description>
            </InputUnits>
            <OutputUnits>
              <Name>COUNTS</Name>
              <Description>Digital Counts</Description>
            </OutputUnits>
          </InstrumentSensitivity>
          <Stage number="1">
            <PolesZeros>
              <InputUnits>
                <Name>M/S</Name>
                <Description>Velocity in Meters per Second</Description>
              </InputUnits>
              <OutputUnits>
                <Name>V</Name>
                <Description>Volts</Description>
              </OutputUnits>
              <PzTransferFunctionType>LAPLACE (RADIANS/SECOND)</PzTransferFunctionType>
              <NormalizationFactor>3.4684e+17</NormalizationFactor>
              <NormalizationFrequency unit="HERTZ">1.0</NormalizationFrequency>
              <Zero number="0">
                <Real minusError="0.0" plusError="0.0">0.0</Real>
                <Imaginary minusError="0.0" plusError="0.0">0.0</Imaginary>
              </Zero>
              <Zero number="1">
                <Real minusError="0.0" plusError="0.0">0.0</Real>
                <Imaginary minusError="0.0" plusError="0.0">0.0</Imaginary>
              </Zero>
              <Zero number="2">
                <Real minusError="-15.15" plusError="-15.15">-15.15</Real>
                <Imaginary minusError="0.0" plusError="0.0">0.0</Imaginary>
              </Zero>
              <Zero number="3">
                <Real minusError="-176.6" plusError="-176.6">-176.6</Real>
                <Imaginary minusError="0.0" plusError="0.0">0.0</Imaginary>
              </Zero>
              <Zero number="4">
                <Real minusError="-463.1" plusError="-463.1">-463.1</Real>
                <Imaginary minusError="-430.5" plusError="-430.5">-430.5</Imaginary>
              </Zero>
              <Zero number="5">
                <Real minusError="-463.1" plusError="-463.1">-463.1</Real>
                <Imaginary minusError="430.5" plusError="430.5">430.5</Imaginary>
              </Zero>
              <Pole number="0">
                <Real minusError="-0.037" plusError="-0.037">-0.037</Real>
                <Imaginary minusError="-0.037" plusError="-0.037">-0.037</Imaginary>
              </Pole>
              <Pole number="1">
                <Real minusError="-0.037" plusError="-0.037">-0.037</Real>
                <Imaginary minusError="0.037" plusError="0.037">0.037</Imaginary>
              </Pole>
              <Pole number="2">
                <Real minusError="-15.64" plusError="-15.64">-15.64</Real>
                <Imaginary minusError="0.0" plusError="0.0">0.0</Imaginary>
              </Pole>
              <Pole number="3">
                <Real minusError="-97.34" plusError="-97.34">-97.34</Real>
                <Imaginary minusError="-400.7" plusError="-400.7">-400.7</Imaginary>
              </Pole>
              <Pole number="4">
                <Real minusError="-97.34" plusError="-97.34">-97.34</Real>
                <Imaginary minusError="400.7" plusError="400.7">400.7</Imaginary>
              </Pole>
              <Pole number="5">
                <Real minusError="-374.8" plusError="-374.8">-374.8</Real>
                <Imaginary minusError="0.0" plusError="0.0">0.0</Imaginary>
              </Pole>
              <Pole number="6">
                <Real minusError="-520.3" plusError="-520.3">-520.3</Real>
                <Imaginary minusError="0.0" plusError="0.0">0.0</Imaginary>
              </Pole>
              <Pole number="7">
                <Real minusError="-10530.0" plusError="-10530.0">-10530.0</Real>
                <Imaginary minusError="-10050.0" plusError="-10050.0">-10050.0</Imaginary>
              </Pole>
              <Pole number="8">
                <Real minusError="-10530.0" plusError="-10530.0">-10530.0</Real>
                <Imaginary minusError="10050.0" plusError="10050.0">10050.0</Imaginary>
              </Pole>
              <Pole number="9">
                <Real minusError="-13300.0" plusError="-13300.0">-13300.0</Real>
                <Imaginary minusError="0.0" plusError="0.0">0.0</Imaginary>
              </Pole>
              <Pole number="10">
                <Real minusError="-255.097" plusError="-255.097">-255.097</Real>
                <Imaginary minusError="0.0" plusError="0.0">0.0</Imaginary>
              </Pole>
            </PolesZeros>
            <StageGain>
              <Value>1500.0</Value>
              <Frequency>1.0</Frequency>
            </StageGain>
          </Stage>
          <Stage number="2">
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="3">
            <Coefficients>
              <InputUnits>
                <Name>V</Name>
                <Description>Volts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>COUNTS</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>1.0</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">102400.0</InputSampleRate>
              <Factor>1</Factor>
              <Offset>0</Offset>
              <Delay>0.0</Delay>
              <Correction>0.0</Correction>
            </Decimation>
            <StageGain>
              <Value>629129.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="4">
            <Coefficients>
              <InputUnits>
                <Name>COUNTS</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>COUNTS</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>0.000244141</Numerator>
              <Numerator>0.000976562</Numerator>
              <Numerator>0.00244141</Numerator>
              <Numerator>0.00488281</Numerator>
              <Numerator>0.00854492</Numerator>
              <Numerator>0.0136719</Numerator>
              <Numerator>0.0205078</Numerator>
              <Numerator>0.0292969</Numerator>
              <Numerator>0.0393066</Numerator>
              <Numerator>0.0498047</Numerator>
              <Numerator>0.0600586</Numerator>
              <Numerator>0.0693359</Numerator>
              <Numerator>0.0769043</Numerator>
              <Numerator>0.0820312</Numerator>
              <Numerator>0.0839844</Numerator>
              <Numerator>0.0820312</Numerator>
              <Numerator>0.0769043</Numerator>
              <Numerator>0.0693359</Numerator>
              <Numerator>0.0600586</Numerator>
              <Numerator>0.0498047</Numerator>
              <Numerator>0.0393066</Numerator>
              <Numerator>0.0292969</Numerator>
              <Numerator>0.0205078</Numerator>
              <Numerator>0.0136719</Numerator>
              <Numerator>0.00854492</Numerator>
              <Numerator>0.00488281</Numerator>
              <Numerator>0.00244141</Numerator>
              <Numerator>0.000976562</Numerator>
              <Numerator>0.000244141</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">102400.0</InputSampleRate>
              <Factor>8</Factor>
              <Offset>0</Offset>
              <Delay>0.00013672</Delay>
              <Correction>0.00013672</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="5">
            <Coefficients>
              <InputUnits>
                <Name>COUNTS</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>COUNTS</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>0.000244141</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.225586</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.000244141</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">12800.0</InputSampleRate>
              <Factor>2</Factor>
              <Offset>0</Offset>
              <Delay>0.00046875</Delay>
              <Correction>0.00046875</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="6">
            <Coefficients>
              <InputUnits>
                <Name>COUNTS</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>COUNTS</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>0.000244141</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.225586</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.000244141</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">6400.0</InputSampleRate>
              <Factor>2</Factor>
              <Offset>0</Offset>
              <Delay>0.0009375</Delay>
              <Correction>0.0009375</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="7">
            <Coefficients>
              <InputUnits>
                <Name>COUNTS</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>COUNTS</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>0.000244141</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.225586</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.000244141</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">3200.0</InputSampleRate>
              <Factor>2</Factor>
              <Offset>0</Offset>
              <Delay>0.001875</Delay>
              <Correction>0.001875</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="8">
            <Coefficients>
              <InputUnits>
                <Name>COUNTS</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>COUNTS</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>0.000244141</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.225586</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.000244141</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">1600.0</InputSampleRate>
              <Factor>2</Factor>
              <Offset>0</Offset>
              <Delay>0.00375</Delay>
              <Correction>0.00375</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="9">
            <Coefficients>
              <InputUnits>
                <Name>COUNTS</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>COUNTS</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>0.000244141</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.225586</Numerator>
              <Numerator>0.193359</Numerator>
              <Numerator>0.12085</Numerator>
              <Numerator>0.0537109</Numerator>
              <Numerator>0.0161133</Numerator>
              <Numerator>0.00292969</Numerator>
              <Numerator>0.000244141</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">800.0</InputSampleRate>
              <Factor>2</Factor>
              <Offset>0</Offset>
              <Delay>0.0075</Delay>
              <Correction>0.0075</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="10">
            <Coefficients>
              <InputUnits>
                <Name>COUNTS</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>COUNTS</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>-7.15032e-07</Numerator>
              <Numerator>-5.60109e-06</Numerator>
              <Numerator>-2.62179e-06</Numerator>
              <Numerator>-4.31403e-05</Numerator>
              <Numerator>-4.64771e-06</Numerator>
              <Numerator>1.43006e-06</Numerator>
              <Numerator>2.34769e-05</Numerator>
              <Numerator>1.43006e-06</Numerator>
              <Numerator>-5.27932e-05</Numerator>
              <Numerator>-0.000366692</Numerator>
              <Numerator>0.000376107</Numerator>
              <Numerator>0.000854226</Numerator>
              <Numerator>3.05081e-05</Numerator>
              <Numerator>-0.00127621</Numerator>
              <Numerator>-0.000910951</Numerator>
              <Numerator>0.00127669</Numerator>
              <Numerator>0.00215165</Numerator>
              <Numerator>-0.000461554</Numerator>
              <Numerator>-0.00333765</Numerator>
              <Numerator>-0.00140933</Numerator>
              <Numerator>0.00377072</Numerator>
              <Numerator>0.00419414</Numerator>
              <Numerator>-0.00264288</Numerator>
              <Numerator>-0.00720121</Numerator>
              <Numerator>-0.000644006</Numerator>
              <Numerator>0.009184</Numerator>
              <Numerator>0.00608445</Numerator>
              <Numerator>-0.00857824</Numerator>
              <Numerator>-0.0127401</Numerator>
              <Numerator>0.00398225</Numerator>
              <Numerator>0.0186261</Numerator>
              <Numerator>0.0052052</Numerator>
              <Numerator>-0.0209407</Numerator>
              <Numerator>-0.0181629</Numerator>
              <Numerator>0.0166669</Numerator>
              <Numerator>0.0322447</Numerator>
              <Numerator>-0.00346588</Numerator>
              <Numerator>-0.0429528</Numerator>
              <Numerator>-0.0193265</Numerator>
              <Numerator>0.044309</Numerator>
              <Numerator>0.0497909</Numerator>
              <Numerator>-0.0294164</Numerator>
              <Numerator>-0.0826078</Numerator>
              <Numerator>-0.00934166</Numerator>
              <Numerator>0.107552</Numerator>
              <Numerator>0.0816604</Numerator>
              <Numerator>-0.10311</Numerator>
              <Numerator>-0.204208</Numerator>
              <Numerator>-3.12231e-05</Numerator>
              <Numerator>0.390432</Numerator>
              <Numerator>0.589958</Numerator>
              <Numerator>0.390432</Numerator>
              <Numerator>-3.12231e-05</Numerator>
              <Numerator>-0.204208</Numerator>
              <Numerator>-0.10311</Numerator>
              <Numerator>0.0816604</Numerator>
              <Numerator>0.107552</Numerator>
              <Numerator>-0.00934166</Numerator>
              <Numerator>-0.0826078</Numerator>
              <Numerator>-0.0294164</Numerator>
              <Numerator>0.0497909</Numerator>
              <Numerator>0.044309</Numerator>
              <Numerator>-0.0193265</Numerator>
              <Numerator>-0.0429528</Numerator>
              <Numerator>-0.00346588</Numerator>
              <Numerator>0.0322447</Numerator>
              <Numerator>0.0166669</Numerator>
              <Numerator>-0.0181629</Numerator>
              <Numerator>-0.0209407</Numerator>
              <Numerator>0.0052052</Numerator>
              <Numerator>0.0186261</Numerator>
              <Numerator>0.00398225</Numerator>
              <Numerator>-0.0127401</Numerator>
              <Numerator>-0.00857824</Numerator>
              <Numerator>0.00608445</Numerator>
              <Numerator>0.009184</Numerator>
              <Numerator>-0.000644006</Numerator>
              <Numerator>-0.00720121</Numerator>
              <Numerator>-0.00264288</Numerator>
              <Numerator>0.00419414</Numerator>
              <Numerator>0.00377072</Numerator>
              <Numerator>-0.00140933</Numerator>
              <Numerator>-0.00333765</Numerator>
              <Numerator>-0.000461554</Numerator>
              <Numerator>0.00215165</Numerator>
              <Numerator>0.00127669</Numerator>
              <Numerator>-0.000910951</Numerator>
              <Numerator>-0.00127621</Numerator>
              <Numerator>3.05081e-05</Numerator>
              <Numerator>0.000854226</Numerator>
              <Numerator>0.000376107</Numerator>
              <Numerator>-0.000366692</Numerator>
              <Numerator>-0.00041031</Numerator>
              <Numerator>2.52645e-05</Numerator>
              <Numerator>0.000261821</Numerator>
              <Numerator>0.000120602</Numerator>
              <Numerator>-9.99854e-05</Numerator>
              <Numerator>-0.000162312</Numerator>
              <Numerator>-9.79595e-05</Numerator>
              <Numerator>-2.94355e-05</Numerator>
              <Numerator>-3.09847e-06</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">400.0</InputSampleRate>
              <Factor>2</Factor>
              <Offset>0</Offset>
              <Delay>0.125</Delay>
              <Correction>0.125</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
          <Stage number="11">
            <Coefficients>
              <InputUnits>
                <Name>COUNTS</Name>
                <Description>Digital Counts</Description>
              </InputUnits>
              <OutputUnits>
                <Name>COUNTS</Name>
                <Description>Digital Counts</Description>
              </OutputUnits>
              <CfTransferFunctionType>DIGITAL</CfTransferFunctionType>
              <Numerator>-1.09889e-05</Numerator>
              <Numerator>-1.99798e-05</Numerator>
              <Numerator>-3.29668e-05</Numerator>
              <Numerator>-4.39561e-05</Numerator>
              <Numerator>-4.79522e-05</Numerator>
              <Numerator>-4.09589e-05</Numerator>
              <Numerator>-1.8981e-05</Numerator>
              <Numerator>1.8981e-05</Numerator>
              <Numerator>6.7932e-05</Numerator>
              <Numerator>0.000118881</Numerator>
              <Numerator>0.000158842</Numerator>
              <Numerator>0.000174826</Numerator>
              <Numerator>0.000157843</Numerator>
              <Numerator>0.000104895</Numerator>
              <Numerator>2.49751e-05</Numerator>
              <Numerator>-6.49352e-05</Numerator>
              <Numerator>-0.00014086</Numerator>
              <Numerator>-0.000178822</Numerator>
              <Numerator>-0.00016084</Numerator>
              <Numerator>-8.59142e-05</Numerator>
              <Numerator>3.29668e-05</Numerator>
              <Numerator>0.000163837</Numerator>
              <Numerator>0.000268733</Numerator>
              <Numerator>0.000310691</Numerator>
              <Numerator>0.000263737</Numerator>
              <Numerator>0.00013087</Numerator>
              <Numerator>-6.09391e-05</Numerator>
              <Numerator>-0.00026074</Numerator>
              <Numerator>-0.000408593</Numerator>
              <Numerator>-0.000448554</Numerator>
              <Numerator>-0.000353648</Numerator>
              <Numerator>-0.000135864</Numerator>
              <Numerator>0.000155845</Numerator>
              <Numerator>0.000438563</Numerator>
              <Numerator>0.000623379</Numerator>
              <Numerator>0.000638365</Numerator>
              <Numerator>0.000456546</Numerator>
              <Numerator>0.000108891</Numerator>
              <Numerator>-0.000315686</Numerator>
              <Numerator>-0.000694309</Numerator>
              <Numerator>-0.000903101</Numerator>
              <Numerator>-0.00085415</Numerator>
              <Numerator>-0.000533469</Numerator>
              <Numerator>-7.99164e-06</Numerator>
              <Numerator>0.000581421</Numerator>
              <Numerator>0.00105695</Numerator>
              <Numerator>0.00125675</Numerator>
              <Numerator>0.00108792</Numerator>
              <Numerator>0.000559443</Numerator>
              <Numerator>-0.000201799</Numerator>
              <Numerator>-0.000983021</Numerator>
              <Numerator>-0.00154047</Numerator>
              <Numerator>-0.00167733</Numerator>
              <Numerator>-0.0013037</Numerator>
              <Numerator>-0.000484518</Numerator>
              <Numerator>0.000571431</Numerator>
              <Numerator>0.00155645</Numerator>
              <Numerator>0.00215685</Numerator>
              <Numerator>0.00214287</Numerator>
              <Numerator>0.00145855</Numerator>
              <Numerator>0.00025075</Numerator>
              <Numerator>-0.00115385</Numerator>
              <Numerator>-0.00233568</Numerator>
              <Numerator>-0.00290311</Numerator>
              <Numerator>-0.0026174</Numerator>
              <Numerator>-0.00148752</Numerator>
              <Numerator>0.000215785</Numerator>
              <Numerator>0.002014</Numerator>
              <Numerator>0.00335166</Numerator>
              <Numerator>0.00376825</Numerator>
              <Numerator>0.00304597</Numerator>
              <Numerator>0.0013037</Numerator>
              <Numerator>-0.001009</Numerator>
              <Numerator>-0.0032208</Numerator>
              <Numerator>-0.00463139</Numerator>
              <Numerator>-0.0047233</Numerator>
              <Numerator>-0.00334667</Numerator>
              <Numerator>-0.000793211</Numerator>
              <Numerator>0.00224477</Numerator>
              <Numerator>0.00486516</Numerator>
              <Numerator>0.00620583</Numerator>
              <Numerator>0.0057273</Numerator>
              <Numerator>0.00340861</Numerator>
              <Numerator>-0.000199801</Numerator>
              <Numerator>-0.00409193</Numerator>
              <Numerator>-0.00707596</Numerator>
              <Numerator>-0.00812791</Numerator>
              <Numerator>-0.00672831</Numerator>
              <Numerator>-0.00307194</Numerator>
              <Numerator>0.00192309</Numerator>
              <Numerator>0.00682721</Numerator>
              <Numerator>0.010091</Numerator>
              <Numerator>0.0105175</Numerator>
              <Numerator>0.00766437</Numerator>
              <Numerator>0.00206594</Numerator>
              <Numerator>-0.00483219</Numerator>
              <Numerator>-0.01101</Numerator>
              <Numerator>-0.0144376</Numerator>
              <Numerator>-0.0136934</Numerator>
              <Numerator>-0.00847457</Numerator>
              <Numerator>0.000173827</Numerator>
              <Numerator>0.010004</Numerator>
              <Numerator>0.018085</Numerator>
              <Numerator>0.0215935</Numerator>
              <Numerator>0.0186664</Numerator>
              <Numerator>0.00910094</Numerator>
              <Numerator>-0.0053287</Numerator>
              <Numerator>-0.0210541</Numerator>
              <Numerator>-0.0333958</Numerator>
              <Numerator>-0.0376226</Numerator>
              <Numerator>-0.030137</Numerator>
              <Numerator>-0.00949755</Numerator>
              <Numerator>0.0229931</Numerator>
              <Numerator>0.063304</Numerator>
              <Numerator>0.10534</Numerator>
              <Numerator>0.142124</Numerator>
              <Numerator>0.167226</Numerator>
              <Numerator>0.176134</Numerator>
              <Numerator>0.167226</Numerator>
              <Numerator>0.142124</Numerator>
              <Numerator>0.10534</Numerator>
              <Numerator>0.063304</Numerator>
              <Numerator>0.0229931</Numerator>
              <Numerator>-0.00949755</Numerator>
              <Numerator>-0.030137</Numerator>
              <Numerator>-0.0376226</Numerator>
              <Numerator>-0.0333958</Numerator>
              <Numerator>-0.0210541</Numerator>
              <Numerator>-0.0053287</Numerator>
              <Numerator>0.00910094</Numerator>
              <Numerator>0.0186664</Numerator>
              <Numerator>0.0215935</Numerator>
              <Numerator>0.018085</Numerator>
              <Numerator>0.010004</Numerator>
              <Numerator>0.000173827</Numerator>
              <Numerator>-0.00847457</Numerator>
              <Numerator>-0.0136934</Numerator>
              <Numerator>-0.0144376</Numerator>
              <Numerator>-0.01101</Numerator>
              <Numerator>-0.00483219</Numerator>
              <Numerator>0.00206594</Numerator>
              <Numerator>0.00766437</Numerator>
              <Numerator>0.0105175</Numerator>
              <Numerator>0.010091</Numerator>
              <Numerator>0.00682721</Numerator>
              <Numerator>0.00192309</Numerator>
              <Numerator>-0.00307194</Numerator>
              <Numerator>-0.00672831</Numerator>
              <Numerator>-0.00812791</Numerator>
              <Numerator>-0.00707596</Numerator>
              <Numerator>-0.00409193</Numerator>
              <Numerator>-0.000199801</Numerator>
              <Numerator>0.00340861</Numerator>
              <Numerator>0.0057273</Numerator>
              <Numerator>0.00620583</Numerator>
              <Numerator>0.00486516</Numerator>
              <Numerator>0.00224477</Numerator>
              <Numerator>-0.000793211</Numerator>
              <Numerator>-0.00334667</Numerator>
              <Numerator>-0.0047233</Numerator>
              <Numerator>-0.00463139</Numerator>
              <Numerator>-0.0032208</Numerator>
              <Numerator>-0.001009</Numerator>
              <Numerator>0.0013037</Numerator>
              <Numerator>0.00304597</Numerator>
              <Numerator>0.00376825</Numerator>
              <Numerator>0.00335166</Numerator>
              <Numerator>0.002014</Numerator>
              <Numerator>0.000215785</Numerator>
              <Numerator>-0.00148752</Numerator>
              <Numerator>-0.0026174</Numerator>
              <Numerator>-0.00290311</Numerator>
              <Numerator>-0.00233568</Numerator>
              <Numerator>-0.00115385</Numerator>
              <Numerator>0.00025075</Numerator>
              <Numerator>0.00145855</Numerator>
              <Numerator>0.00214287</Numerator>
              <Numerator>0.00215685</Numerator>
              <Numerator>0.00155645</Numerator>
              <Numerator>0.000571431</Numerator>
              <Numerator>-0.000484518</Numerator>
              <Numerator>-0.0013037</Numerator>
              <Numerator>-0.00167733</Numerator>
              <Numerator>-0.00154047</Numerator>
              <Numerator>-0.000983021</Numerator>
              <Numerator>-0.000201799</Numerator>
              <Numerator>0.000559443</Numerator>
              <Numerator>0.00108792</Numerator>
              <Numerator>0.00125675</Numerator>
              <Numerator>0.00105695</Numerator>
              <Numerator>0.000581421</Numerator>
              <Numerator>-7.99164e-06</Numerator>
              <Numerator>-0.000533469</Numerator>
              <Numerator>-0.00085415</Numerator>
              <Numerator>-0.000903101</Numerator>
              <Numerator>-0.000694309</Numerator>
              <Numerator>-0.000315686</Numerator>
              <Numerator>0.000108891</Numerator>
              <Numerator>0.000456546</Numerator>
              <Numerator>0.000638365</Numerator>
              <Numerator>0.000623379</Numerator>
              <Numerator>0.000438563</Numerator>
              <Numerator>0.000155845</Numerator>
              <Numerator>-0.000135864</Numerator>
              <Numerator>-0.000353648</Numerator>
              <Numerator>-0.000448554</Numerator>
              <Numerator>-0.000408593</Numerator>
              <Numerator>-0.00026074</Numerator>
              <Numerator>-6.09391e-05</Numerator>
              <Numerator>0.00013087</Numerator>
              <Numerator>0.000263737</Numerator>
              <Numerator>0.000310691</Numerator>
              <Numerator>0.000268733</Numerator>
              <Numerator>0.000163837</Numerator>
              <Numerator>3.29668e-05</Numerator>
              <Numerator>-8.59142e-05</Numerator>
              <Numerator>-0.00016084</Numerator>
              <Numerator>-0.000178822</Numerator>
              <Numerator>-0.00014086</Numerator>
              <Numerator>-6.49352e-05</Numerator>
              <Numerator>2.49751e-05</Numerator>
              <Numerator>0.000104895</Numerator>
              <Numerator>0.000157843</Numerator>
              <Numerator>0.000174826</Numerator>
              <Numerator>0.000158842</Numerator>
              <Numerator>0.000118881</Numerator>
              <Numerator>6.7932e-05</Numerator>
              <Numerator>1.8981e-05</Numerator>
              <Numerator>-1.8981e-05</Numerator>
              <Numerator>-4.09589e-05</Numerator>
              <Numerator>-4.79522e-05</Numerator>
              <Numerator>-4.39561e-05</Numerator>
              <Numerator>-3.29668e-05</Numerator>
              <Numerator>-1.99798e-05</Numerator>
              <Numerator>-1.09889e-05</Numerator>
            </Coefficients>
            <Decimation>
              <InputSampleRate unit="HERTZ">200.0</InputSampleRate>
              <Factor>5</Factor>
              <Offset>0</Offset>
              <Delay>0.585</Delay>
              <Correction>0.585</Correction>
            </Decimation>
            <StageGain>
              <Value>1.0</Value>
              <Frequency>0.05</Frequency>
            </StageGain>
          </Stage>
        </Response>
      </Channel>
    </Station>
  </Network>
</FDSNStationXML>

IRIS SEED-StationXML Converter

IRIS maintains a Java-based tool that can convert between dataless SEED and StationXML formats at:

https://github.com/iris-edu/stationxml-seed-converter

IRIS StationXML Validator

IRIS maintains a Java-based validator for StationXML documents.

Note: this tool validates documents against the official schema in addition to a set of rules that are not possible to represent in the XML Schema language.

https://github.com/iris-edu/stationxml-validator

Appendices

Mapping SEED blockettes to StationXML

B34 Units Abbreviations

Field

Field Name

StationXML Element

Attribute

Dictionary Field(s)

B034F03

Unit Lookup Code

Multiple Mappings

B034F04

Unit Name

Multiple Mappings

  • B053F05, B053F06,

  • B055F04, B055F05,

  • B061F06, B055F07,

  • B062F05, B062F06

B034F05

Unit Description

Multiple Mappings

B50 Station Identifier

Field

Field Name

StationXML Element

Attribute

Dictionary Field(s)

B050F03

Station Call Letters

Station

code

B050F04

Station Latitude

Station/Latitude

B050F05

Station Longitude

Station/Longitude

B050F06

Station Elevation

Station/Elevation

B050F07

Number Of Channels

Station/TotalNumberChannels

B050F08

Number Of Station Comments

Station/Comments

B050F09

Site Name

Station/Site/Name

B050F10

Network Identifier Code

No Mapping

B050F11

32-bit Word Order

No Mapping

B050F12

16-bit Word Order

No Mapping

B050F13

Start Effective Date

Station

startDate

B050F14

End Effective Date

Station

endDate

B050F15

Update Flag

No Mapping

B050F16

Network Code

Network

code

B52 Channel Identifier

Field

Field Name

StationXML Element

Attribute

Dictionary Field(s)

B052F03

Location Identifier

Channel

locationCode

B052F04

Channel Identifier

Channel

code

B052F05

Subchannel Identifier

No Mapping

B052F06

Instrument Identifier

No Mapping

B052F07

Optional Comment

Channel/Comment

B052F08

Units Of Signal Response

No Mapping

B052F09

Units Of Calibration Input

Channel/CalibrationUnits/Name

B052F10

Latitude

Channel/Latitude

B052F11

Longitude

Channel/Longitude

B052F12

Elevation

Channel/Elevation

B052F13

Local Depth

Channel/Depth

B052F14

Azimuth

Channel/Azimuth

B052F15

Dip

Channel/Dip

B052F16

Data Format Identifier Code

No Mapping

B052F17

Data Record Length

No Mapping

B052F18

Sample Rate

Channel/SampleRate

B052F19

Max Clock Drift

Channel/ClockDrift

B052F20

Number Of Comments

No Mapping

B052F21

Channel Flags

No Mapping

B052F22

Start Date

Channel

startDate

B052F23

End Date

Channel

endDate

B052F24

Update Flags

No Mapping

B53 Response Poles & Zeros

Field

Field Name

StationXML Element

Attribute

Dictionary Field(s)

B053F03

Transfer Function Type

Response/Stage/PolesZeros/PzTransferFunctionType

B053F04

Stage Sequence Number

Response/Stage/PolesZeros

number

B053F05

Stage Signal Input Units

Response/Stage/PolesZeros/InputUnits/Name

B034F04, B043F06

B053F06

Stage Signal Output Units

Response/Stage/PolesZeros/OutputUnits/Name

B034F04, B043F07

B053F07

A0 Normalization Factor

Response/Stage/PolesZeros/NormalizationFactor

B053F08

Normalization Frequency

Response/Stage/PolesZeros/NormalizationFrequency

B053F09

Number Of Complex Zeros

No Mapping

B053F10

Real Zero

Response/Stage/PolesZeros/Zero/Real

B053F11

Imaginary Zero

Response/Stage/PolesZeros/Zero/Imaginary

B053F12

Real Zero Error

Response/Stage/PolesZeros/Zero/Real

minusError plusError

B053F13

Imaginary Zero Error

Response/Stage/PolesZeros/Zero/Imaginary

minusError plusError

B053F14

Number Of Complex Poles

No Mapping

B053F15

Real Pole

Response/Stage/PolesZeros/Pole/Real

B053F16

Imaginary Pole

Response/Stage/PolesZeros/Pole/Imaginary

B053F17

Real Pole Error

Response/Stage/PolesZeros/Pole/Real

minusError plusError

B053F18

Imaginary Pole Error

Response/Stage/PolesZeros/Pole/Imaginary

minusError plusError

B55 Response List

Field

Field Name

StationXML Element

Attribute

Dictionary Field(s)

B055F03

Stage Sequence Number

Response/Stage/ResponseList

name

B055F04

Signal Input Units

Response/Stage/ResponseList/InputUnits/Name

B034F04, B045F05

B055F05

Signal Output Units

Response/Stage/ResponseList/OutputUnits/Name

B034F04, B045F06

B055F06

Number Of Responses Listed

No Mapping

B055F07

Frequency

Response/Stage/ResponseList/ResponseListElement/Frequency

B055F08

Amplitude

Response/Stage/ResponseList/ResponseListElement/Amplitude

B055F09

Amplitude Error

Response/Stage/ResponseList/ResponseListElement/Amplitude

minusError plusError

B055F10

Phase Angle

Response/Stage/ResponseList/ResponseListElement/Phase

B055F11

Phase Angle Error

Response/Stage/ResponseList/ResponseListElement/Phase

minusError plusError

B57 Decimation

Field

Field Name

StationXML Element

Attribute

Dictionary Field(s)

B057F03

Stage Sequence Number

Response/Stage/Decimation

number

B057F04

Input Sample Rate

Response/Stage/Decimation/InputSampleRate

B057F05

Decimation Factor

Response/Stage/Decimation/Factor

B057F06

Decimation Offset

Response/Stage/Decimation/Offset

B057F07

Estimated Delay

Response/Stage/Decimation/Delay

B057F08

Correction Applied

Response/Stage/Decimation/Correction

B58 Channel Sensitivity/Gain

Field

Field Name

StationXML Element

Attribute

Dictionary Field(s)

B058F03

Stage Sequence Number

No Mapping

B058F04

Sensitivity/Gain

Response/InstrumentSensitivity/Value

B058F05

Frequency

Response/InstrumentSensitivity/Frequency

B058F06

Number Of History Values

No Mapping

B058F07

Sensitivity For Calibration

No Mapping

B058F08

Frequency Of Calibration

No Mapping

B058F09

Time Of Calibration

No Mapping

B61 FIR Response

Field

Field Name

StationXML Element

Attribute

Dictionary Field(s)

B061F03

Stage Sequence Number

Response/Stage/FIR

number

B061F04

Response Name

Response/Stage/FIR

name

B061F05

Symmetry

Response/Stage/FIR/Symmetry

B061F06

Signal In Units

Response/Stage/FIR/InputUnits/Name

B034F04, B041F06

B061F07

Signal Out Units

Response/Stage/FIR/OutputUnits/Name

B034F04, B041F07

B061F08

Number of Coefficients

No Mapping

B061F09

FIR Coefficient

Response/Stage/FIR/NumeratorCoefficient

B62 Response Polynomial

Field

Field Name

StationXML Element

Attribute

Dictionary Field(s)

B062F03

Transfer Function Type

No Mapping

B062F04

Stage Sequence Number

Response/Stage/Polynomial

number

B062F05

Stage Signal Input Units

Response/Stage/Polynomial/InputUnits/Name

B034F04, B042F06

B062F06

Stage Signal Output Units

Response/Stage/Polynomial/OutputUnits/Name

B034F04, B042F07

B062F07

Polynomial Approximation Type

Response/Stage/Polynomial/ApproximationType

B062F08

Valid Frequency Units

No Mapping

B062F09

Lower Valid Frequency Bound

Response/Stage/Polynomial/FrequencyLowerBound

B062F10

Upper Valid Frequency Bound

Response/Stage/Polynomial/FrequencyUpperBound

B062F11

Lower Bound Of Approximation

Response/Stage/Polynomial/ApproximationLowerBound

B062F12

Upper Bound Of Approximation

Response/Stage/Polynomial/ApproximationUpperBound

B062F13

Maximum Absolute Error

Response/Stage/Polynomial/MaximumError

B062F14

Number Of Polynomial Coefficients

No Mapping

B062F15

Polynomial Coefficient Error

Response/Stage/Polynomial/Coefficient

minusError plusError

Embedded Schema Keywords

The StationXML Reference of this documentation is auto-generated from documentation tags in the StationXML schema document. In this way a single source of documentation is maintained for the purposes of this generated documentation and those reading the XSD schema specification directly.

To allow additional granularity and clarity in the generated documentation, special embedded elements and attributes are parsed from the content of standard documentation tags of XML Schema.

The following elements and attributes are recognized in the standard <documentation> tags:

  1. <example>

  2. <warning>

  3. <levelDesc>

  4. LevelChoice

  5. ElementChoice

These serve the following roles:

  • <example> - An XML element that contains an example of the relevant element in the StationXML documentation.

    For instance, NetworkType element contains 2 documentation tags:

    <xs:complexType name="NetworkType">
       <xs:annotation>
       <xs:documentation>The Network container. All station metadata for this network is contained within this element.
              A Description element may be included with the official network name and other descriptive information.
              An Identifier element may be included to designate a persistent identifier (e.g. DOI) to use for citation.
              A Comment element may be included for additional comments.
      </xs:documentation>
      <xs:documentation><example><Network code="IU" startDate="2016-01-27T13:00:00" /></example></xs:documentation>
       </xs:annotation>
    </xs:complexType>
    

    The first documentation text appears directly beneath the Network element in the StationXML documentation (it is the Network description), while the second is used to create the example beneath the description:

    Example: <Network code=”IU” startDate=”2016-01-27T13:00:00” />
    

    Note that for an example attribute, the <example> element should contain just the textual value, not the key or quotes. So within the code attribute on Network, the example would be just:

    <xs:documentation><example>IU</example></xs:documentation>
    

    which would produce:

    code=”IU”
    
  • <warning> - This is used to wrap the text that follows it in an ReStructuredText admonition wrapper.

    It is used, for example, to present a caution that a particular element may be deprecated in future versions of the StationXML documentation.

  • <levelDesc> - An XML element that contains a description of the relevant element in the StationXML documentation at a given level.

    This exists as a container to hold the description as text, along with a LevelChoice attribute to specify the level.

  • LevelChoice=”X” - where X is in {N, S, C}.

    When a particular XML element is used more than once in the documentation, this allows us to specify different documentation for different BaseNodeElements. For example, Network, Station and Channel types all inherit code from the BaseNodeElement. By using the LevelChoice attribute on a <levelDesc> or an <example> element, we can specify a unique Description and Example for the Network.code, Station.code and Channel.code.

    For example,

    <xs:attribute name="code" type="xs:string" use="required">
      <xs:annotation>
        <xs:documentation><levelDesc LevelChoice="N">Name of Network</levelDesc></xs:documentation>
        <xs:documentation><levelDesc LevelChoice="S">Name of Station</levelDesc></xs:documentation>
        <xs:documentation><levelDesc LevelChoice="C">Name of Channel</levelDesc></xs:documentation>
        <xs:documentation><example LevelChoice="N">IU</example></xs:documentation>
        <xs:documentation><example LevelChoice="S">ANMO</example></xs:documentation>
        <xs:documentation><example LevelChoice="C">BHZ</example></xs:documentation>
      </xs:annotation>
    </xs:attribute>
    

    If LevelChoice is not used (or if no choice is present that matches the Network, Station or Channel element, then the default value is used.

  • ElementChoice=”X” - Serves a similar function to LevelChoice except that it helps disambiguate StationXML elements that share a common parent type. For example, the unit attribute within FloatType:

       <xs:attribute name="unit" type="xs:string" use="optional">
         <xs:annotation>
           <xs:documentation>The unit of measurement. Use *SI* unit names and symbols whenever possible
             (e.g., 'm' instead of 'METERS').</xs:documentation>
           <xs:documentation><example>SECONDS</example></xs:documentation>
           <xs:documentation><example ElementChoice="WaterLevel">m</example></xs:documentation>
           <xs:documentation><example ElementChoice="Amplitude">m</example></xs:documentation>
         </xs:annotation>
       </xs:attribute>
    
    Because several elements are of FloatType but may have different
    units (METERS, SECONDS, etc), we use this to give more specific
    examples based on the element itself (Waterlevel, Amplitude).  Note
    the default Example has unit=‘SECONDS’.
    

Identifiers and codes

For information on Network, Station, Location, and Channel codes, in addition to their combination into Source Identifiers, used in StationXML see:

http://docs.fdsn.org/projects/source-identifiers

Unit Naming Rules

The FDSN strongly recommends the use of SI unit names whenever possible. For details see the SI brochure at:

  • Use SI units, base or derivative, and their standard symbols whenever possible. Spell out and avoid abbreviations of non-SI units.

  • Exponents for powers are specified with **, e.g. s**2.

  • Multiplication is specified using * while division is specified with /. For example hit/(cm**2*hour).

  • Use parentheses sparingly, only when FORTRAN-like precedence would not be correct.

  • Unit definitions are singular, not plural, e.g. use second not seconds.

  • Unit names should not mix symbols and full names, use one or the other, e.g. use m/s or meter/second but not meter/s or m/second.

  • Units should be used case sensitively, using the case specified by SI rules.

  • SI symbols are preferred over names to avoid language differences, for example m/s is preferred over meter/second or metre/second

  • Singular lowercase count is preferred for digital counts, do not use counts or COUNT

  • Description is only needed when the unit name is not a well know SI unit or there is need for clarification. Prefer not to use a Description for common units like m/s, m/s**2, count, etc.

In the SEED format all unit names are recommended to be uppercase and SI when possible. For this reason, some unit documentation and required declarations in StationXML are in “uppercase SI” and these remain in order to maintain backward compatibility with the initial schema version. With the next major change to the specification the FDSN will very likely remove these “uppercase SI” unit names in favor of proper SI unit names.

Specifying Dates and Times

Dates and times should be specified using the ISO 8601 specification, limited to the following subtypes:

  • “YYYY-MM-DDZ” when only a day is needed, for example in Network startDate

  • “YYYY-MM-DDThh:mm:ssZ” when second precision is sufficient

  • “YYYY-MM-DDThh:mm:ss.SSSZ” when subsecond precision is required, 3, 6 or 9 decimal digits may be used.

The SEED specification limited times to 4 decimal digit precision, tenth of millisecond, but is recommended that the number of subsecond digits be a multiple of 3, corresponding to SI unit powers.

Note that in ISO 8601 a time without a “Z” appended is generally assumed by most string to time conversion routines to be in local time. Because all times in StationXML should be UTC, the FDSN strongly recommends that dates and times have the “Z” timezone specifier appended to avoid this ambiguity.

For further information see the XML Schema recommendation from W3C at https://www.w3.org/TR/xmlschema-2/#isoformats

Type Glossary

Type

Type Details

Examples

anyURI

Represents a Uniform Resource Identifier Reference, which often describes URLs and file paths.

CounterType

Integers greater than or equal to 0.

  • 0

  • 12345

dateTime

W3C/ISO 8601 representation of a date or time. A “Z” should always be appended to a time represent the timezone as UTC.

  • 2021-07-26Z

  • 2021-07-26T12:49:55Z

  • 2021-07-26T12:49:55.123Z

decimal

The subset of real numbers

  • -123.45

  • 53.7

double

A number between 2.23 × 10^-308 and 8.98 × 10^307 (rounded), along with positive and negative infinity and NaN.

  • 12.78e-2

  • -32

integer

A decimal number without the period and numbers following it.

…-2,-1,0,1, 2, …

RestrictedStatusType

an NMTOKEN that is either “open”, “closed,” or “partial.””

  • open

  • closed

string

A finite sequence of characters.

foo bar

NMTOKEN

a combination of name characters, which include letters, digits, periods, hyphens, underscores, colons.

  • ANMO

  • a1.-_:

Indices and tables