sequenceヘッダファイルパッケージ マニュアル

(The documentation of sequence header file package)

Last Update: 2022/1/27


sequenceヘッダファイルパッケージには 時系列データやフーリエスペクトルに対して 様々な処理を行うヘッダファイルをまとめてある。 これらのデータを表現するため、sequence/structrue.hにおいて 以下の構造体を定義している。
Header files to perform various operations for treat time series and Fourier spectral data are included in sequence header file package. To express these data, the following structures are defined in sequence/structure.h.

時系列データ
Time-series data
struct sequence型構造体
struct sequence-type structure
フーリエスペクトル
Fourier spectrum
struct imsequence型構造体
struct imsequence-type structure
struct imsequence2型構造体
struct imsequence2-type structure

フーリエスペクトル用の構造体が2種類あるのは開発の経緯による。 当初、struct imsequence型構造体を用いて様々なプログラムを作成した。 その後にstruct imsequence2型構造体を導入した。 struct imsequence2型を用いる方が同じ計算を高速に行うことができるが、 昔のプログラムが未対応のためstruct imsequence型も残している。 なお、このヘッダファイルパッケージ内の関数については 全てstruct imsequence2型に対応済みである。
There are two structures for the Fourier spectra due to a development history. At the beginning, various programs were made using struct imsequence-type structure. Then later, struct imsequence2-type structure was introduced, which enabled faster computations. Given that, struct imsequence-type structure is kept remained to support old programs. All the functions in this header file package supports the use of struct imsequence2-type structure.

実際にはこれらの構造体は必ずしも 「時系列」「フーリエスペクトル」である必要は無く、
表現できる。 つまり、独立変数が時刻であるか周波数であるかの違いではなく、 従属変数が実数値であるか複素数値であるかの違いに基づいて 使い分けることになる。 例えば時系列データを「虚部が0の複素数値関数」と見なして struct imsequence型やstruct imsequence2型構造体で表現することが可能であり、 実際、高速フーリエ変換(FFT)の前処理や後処理においてこの表現方法を多用している。 逆に振幅スペクトルは実数値関数であるのでstruct sequence型で表現できる。
Indeed, data expressed by these structures may not necessarily be “time series” and “Fourier spectral” data. Arbitral real-valued functions of one independent variable can be expressed by struct sequence-type structure, whereas arbitral complex-valued ones can be expressed by struct imsequence and struct imsequence2-type structures. This means that the choice of whether struct sequence or the other two types is based, not on whether the independent variable is time or frequency, but on whether the dependent variables are real or complex numbers. For example, a time series data can be regarded as a complex-valued function with zero values in the imaginary part, which can be expressed by struct imsequence and struct imsequence2-type structures. This expression is indeed used in the processings of FFT. Contrary, an amplitude spectrum, which is a real-valued function, can be expressed by struct sequence-type structure.

sequenceヘッダファイルパッケージ内のヘッダファイルを以下に示す。 ここでは簡単のため 「struct sequence型, struct imsequence型, struct imsequence2型構造体」 のことを単に「構造体」と記した。 各ヘッダファイルの詳細はリンクをクリックして参照のこと。
Header files in sequence header file package are listed below. Here, struct sequence, struct imsequence, and struct imsequence2-type structures are denoted as “structures” for simplicity. For details of individual header files, click the links.

◆特殊なヘッダファイル (Special header files)

ヘッダファイル名
Header file name
機能・用途
Purpose
sequence/index.h sequenceヘッダファイルパッケージ内の 他のヘッダファイル一式をインクルードするためのヘッダファイル。
A header file to include all the other header files in sequence header file package.
sequence/macro.h sequenceヘッダファイルパッケージ用のマクロの定義。
Definitions of macros for sequence header file package.
sequence/structure.h sequenceヘッダファイルパッケージ用の構造体の定義。
Definitions of structures for sequence header file package.
sequence/prototype.h sequenceヘッダファイルパッケージ内の関数のプロトタイプ。
Prototypes of functions in sequence header file package.

◆通常のヘッダファイル (Normal header files)

ヘッダファイル名
Header file name
機能・用途
Purpose
sequence/check.h 時系列データやフーリエスペクトルを表す構造体が 正しく定義されているかをチェックする関数。
Functions to check the formats of structures which represent time series and Fourier spectral data.
sequence/convert.h 時系列データやフーリエスペクトルを表す構造体間の 変換を行う関数。
Functions to make conversions among the structures which represent time series and Fourier spectrum data.
sequence/correlation.h 2つの時系列データの相互相関関数を計算する関数。
Functions to calculate cross correlation functions between two time series data.
sequence/envelope.h 時系列データのエンベロープを計算する関数。
Functions to calculate the envelope of a time series data.
sequence/fft.h 時系列データのフーリエ変換やそれに関連する処理を行う関数。
Functions to perform the Fourier transformation and related operations to a time sereis data.
sequence/filter.h 時系列データにフィルターを掛ける関数。
Functions to apply a filter to a time series data.
sequence/initialize.h 時系列データやフーリエスペクトルを表す構造体の 動的メモリの確保や解放と初期化を行う関数。
Functions to allocate and release dynamic memories for structures which represent time series and Fourier spectral data, and initialize them.
sequence/interpolate.h 時系列データの補間を行う関数。
Functions to interpolate a time series data.
sequence/operation.h 時系列データやフーリエスペクトルに対する 四則演算等の基本的な演算を行う関数。
Functions to conduct various basic operations, including the four arithmetric operations, for time series and Fourier spectral data.
sequence/polezero.h 時系列データやフーリエスペクトルにpoleとzeroを作用させる関数。
Functions to operate poles and zeroes to time series and Fourier spectral data.
sequence/readwrite.h 時系列データやフーリエスペクトルの入出力を行う関数。
Functions to read and write time series or Fourier spectral data.
sequence/statistics.h 時系列データやフーリエスペクトルに関する統計量を計算する関数。
Functions to compute statistical quantities for a time series data or a Fourier spectrum.
sequence/taper.h 時系列データにtaperを掛ける関数。
Functions to apply a taper to a time series data.
sequence/timefunc.h 数式で表される時間関数に基づいて時系列データを生成する関数。
Functions to create a time series data based on the time function expressed by a formula.
sequence/wavelet.h 時系列データのwavelet変換を行う関数。
Functions to perform the wavelet transformation of a time series data.