関数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.

伝達関数は (1)T(s)=Cn=1N0(ssn(0))n=1Np(ssn(p)) と表される(polezero.hのマニュアル参照)。 この関数ではこの伝達関数をフーリエスペクトルに掛ける。 複素数sは角周波数ωs=iωにより関係づけられるものとする。
A transfer function is expressed as Eq. (1); 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 ω through a relation s=iω.

この関数では指数部をexp(iωt)とするフーリエ変換で得られたスペクトルを対象とする。 全要素とも(低周波側の要素の折り返しの複素共役ではなく) 真のスペクトルの値であるものとする。
This function is used for the spectrum obtained by Fourier transformation in which exp(iω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 (1)式のCの値。
The value of C in Eq. (1).
Nzeroes (1)式のN0の値(ゼロ点の個数)。
The value of N0 in Eq. (1), which indicates the number of zeroes.
zeroes (1)式のsn(0)(ゼロ点)の値を n=1,2,,N0について並べた配列。
An array composed of the values of sn(0) (zeroes) in Eq. (1) for n=1,2,,N0.
Npoles (1)式のNpの値(極の個数)。
The value of Np in Eq. (1), which indicates the number of poles.
poles (1)式のsn(p)(極)の値を n=1,2,,Npについて並べた配列。
An array composed of the values of sn(p) (poles) in Eq. (1) for n=1,2,,Np.


◆動作(Behaviour)

引数spectrumで与えたフーリエスペクトルに (1)式の伝達関数を掛け、 結果を引数spectrumに上書き代入する。
Multiply a transfer function of Eq. (1) 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);