関数transfer マニュアル

(The documentation of function transfer)

Last Update: 2024/3/25


◆機能・用途(Purpose)

時系列データに指定したpoleとzeroを持つ伝達関数をコンボリューションする。
Convolve a transfer function that has specified values of poles and zeros to a time series data.

伝達関数は \[\begin{equation} T(s)=C \frac{\prod_{n=1}^{N_0}(s-s_n^{(0)})} {\prod_{n=1}^{N_p}(s-s_n^{(p)})} \label{eq.transfer} \end{equation}\] と表される(polezero.hのマニュアル参照)。 この関数では時系列データをフーリエ変換し、 得られたフーリエスペクトルに(\ref{eq.transfer})式の伝達関数を掛け、 フーリエ逆変換して時系列データに戻す。 複素数\(s\)は角周波数\(\omega\)と\(s=i\omega\)により関係づけられるものとする。
A transfer function is expressed as Eq. (\ref{eq.transfer}); see the documentation of polezero.h. This function performs the Fourier transformation to a time series data, multiplies the transfer function of Eq. (\ref{eq.transfer}) to the resultant Fourier spectrum, and returns back to a time series data by Fourier inverse transformation. A complex number \(s\) is related to an angular frequency \(\omega\) through a relation \(s=i\omega\).


◆形式(Format)

#include <sequence/polezero.h>
inline struct sequence transfer
(struct sequence original,const double factor,
 const int Nzeroes,struct im ∗zeroes,
 const int Npoles,struct im ∗poles)


◆引数(Arguments)

original 伝達関数をコンボリューションする前の時系列データ。
A time series data before convolving a transfer function.
factor (\ref{eq.transfer})式の\(C\)の値。
The value of \(C\) in Eq. (\ref{eq.transfer}).
Nzeroes (\ref{eq.transfer})式の\(N_0\)の値(ゼロ点の個数)。
The value of \(N_0\) in Eq. (\ref{eq.transfer}), which indicates the number of zeroes.
zeroes (\ref{eq.transfer})式の\(s_n^{(0)}\)(ゼロ点)の値を \(n=1,2,\cdots,N_0\)について並べた配列。
An array composed of the values of \(s_n^{(0)}\) (zeroes) in Eq. (\ref{eq.transfer}) for \(n=1,2,\cdots,N_0\).
Npoles (\ref{eq.transfer})式の\(N_p\)の値(極の個数)。
The value of \(N_p\) in Eq. (\ref{eq.transfer}), which indicates the number of poles.
poles (\ref{eq.transfer})式の\(s_n^{(p)}\)(極)の値を \(n=1,2,\cdots,N_p\)について並べた配列。
An array composed of the values of \(s_n^{(p)}\) (poles) in Eq. (\ref{eq.transfer}) for \(n=1,2,\cdots,N_p\).


◆戻り値(Return value)

引数originalで与えた時系列データに (\ref{eq.transfer})式の伝達関数をコンボリューションして得られる 時系列データ。
A time series data obtained by convolving a transfer function of Eq. (\ref{eq.transfer}) to a time series data given by argument original.


◆使用例(Example)

struct sequence before,after;
struct im zeroes[]={{1.2,3.4},{5.6,-7.8}};
struct im poles[]={{9.01,2.34},{5.67,-8.90},{1.23,4.56}};
after=transfer(before,7.89,2,zeroes,3,poles);