関数operate_polezero2 マニュアル

(The documentation of function operate_polezero2)

Last Update: 2024/3/19


◆機能・用途(Purpose)

フーリエスペクトルに指定したpoleとzeroを持つ伝達関数を掛ける。
Multiply a transfer function that has specified values of poles and zeros to a Fourier spectrum.

伝達関数は \[\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のマニュアル参照)。 この関数ではこの伝達関数をフーリエスペクトルに掛ける。 複素数\(s\)は角周波数\(\omega\)と\(s=i\omega\)により関係づけられるものとする。
A transfer function is expressed as Eq. (\ref{eq.transfer}); see the documentation of polezero.h. This functions multiplies this transfer function to a Fourier spectrum. A complex number \(s\) is related to an angular frequency \(\omega\) through a relation \(s=i\omega\).

この関数では指数部を\(\exp(-i\omega t)\)とするフーリエ変換で得られたスペクトルを対象とする。 全要素とも(低周波側の要素の折り返しの複素共役ではなく) 真のスペクトルの値であるものとする。
This function is used for the spectrum obtained by Fourier transformation in which \(\exp(-i\omega t)\) is used for the exponential part; all the components must be the true spectral values, not the complex conjugates of lower-half frequency components in reversed order.


◆形式(Format)

#include <sequence/polezero.h>
inline void operate_polezero2
(struct imsequence2 spectrum,const double factor,
 const int Nzeroes,const double complex ∗zeroes,
 const int Npoles,const double complex ∗poles)


◆引数(Arguments)

spectrum 伝達関数を掛ける前のフーリエスペクトルを関数に渡す。 関数内で伝達関数を掛ける処理が行われ、その結果で上書きされる。
Give a Fourier spectrum before multiplying a transfer function. The function overwrites it with a Fourier spectrum multiplied by the 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\).


◆動作(Behaviour)

引数spectrumで与えたフーリエスペクトルに (\ref{eq.transfer})式の伝達関数を掛け、 結果を引数spectrumに上書き代入する。
Multiply a transfer function of Eq. (\ref{eq.transfer}) to the Fourier spectrum given by argument spectrum, and overwrite this argument by the result.


◆使用例(Example)

struct imsequence2 spectrum;
double complex zeroes[]= {1.2+3.4∗I,5.6-7.8∗I};
double complex poles[]= {9.01+2.34∗I,5.67-8.90∗I,1.23+4.56∗I};
operate_polezero2(spectrum,7.89,2,zeroes,3,poles);