関数sequence_decimate マニュアル

(The documentation of function sequence_decimate)

Last Update: 2022/7/26


◆機能・用途(Purpose)

時系列データのサンプルを間引く。
Reduce the samples of a time series data.


◆形式(Format)

#include <sequence/operation.h>
inline struct sequence sequence_decimate
(const struct sequence original,const double new_dt)


◆引数(Arguments)

original 間引く前の時系列データ(入力)。
The input time series data before the resampling.
new_dt 作成する(間引き後の)時系列データのサンプリング間隔。 入力時系列データ(引数original)のサンプリング間隔の 整数倍でなければならない。
The sampling interval of the time series data to create (i.e., after the resampling). This value must be a multiple of the sampling interval of the input time series data given by argument original.


◆戻り値(Return value)

引数originalで与えた入力時系列データを サンプリング間隔がnew_dtとなるように間引いた時系列データ。
A time series data obtained by resampling the input time series data, given by argument original, to a sampling interval specified by argument new_dt.

入力時系列データの先頭時刻を\(t_0\)、サンプリング間隔を\(\Delta t_{in}\)、 \(k\)番目のサンプル(\(k=0,1,2,\cdots\))値を\(f(t_0+k\Delta t_{in})\)、 引数new_dtで指定した新しいサンプリング間隔を\(\Delta t_{out}\)とし、 比\(\Delta t_{out}/\Delta t_{in}=N\)とすると、 戻り値は\(f(t_0+l\Delta t_{out})=f(t_0+lN\Delta t_{in})\) を\(l=0,1,2,\cdots\)について並べた時系列データである。 すなわち、先頭時刻は変えず、フィルタリングや補間等もせず、 単純に\(N\)サンプルに1つを抽出した時系列データを返す。
Let \(t_0\) and \(\Delta t_{in}\) be the beginning time and sampling interval of the input time series data, respectively. Let \(f(t_0+k\Delta t_{in})\) be the value of the \(k\)th sample of the input time series data, where \(k=0,1,2,\cdots\). Let \(\Delta t_{out}\) be the new sampling interval given by argument new_dt, and let the ratio of the sampling intervals be \(\Delta t_{out}/\Delta t_{in}=N\). Then the return value is represented by \(f(t_0+l\Delta t_{out})=f(t_0+lN\Delta t_{in})\), where \(l=0,1,2,\cdots\). Namely, the beginning time is preserved, and simply every \(N\) sample of the input data is extracted without filtering nor interpolation, to make the output time series data to return.


◆使用例(Example)

struct sequence old; struct sequence new=sequence_decimate(old,0.2);


◆使用上の注意(Note)

この関数ではアンチエイリアスフィルターは使用しない。 必要であればこの関数の前に別途フィルタリングを行うこと。
This function does not use an anti-alias filter. If necessary, apply the filter before the function call.