JP5439696B2 - Integrator - Google Patents
Integrator Download PDFInfo
- Publication number
- JP5439696B2 JP5439696B2 JP2010097333A JP2010097333A JP5439696B2 JP 5439696 B2 JP5439696 B2 JP 5439696B2 JP 2010097333 A JP2010097333 A JP 2010097333A JP 2010097333 A JP2010097333 A JP 2010097333A JP 5439696 B2 JP5439696 B2 JP 5439696B2
- Authority
- JP
- Japan
- Prior art keywords
- integrator
- basic
- time
- equation
- arc
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Feedback Control In General (AREA)
Description
本発明は、離散的数値系列データを積分する積分器に関する。 The present invention relates to an integrator for integrating discrete numerical series data.
従来、コンピュータを用いて、時間離散的数値系列データ(以下、「離散的数値系列データ」と呼ぶ。)を積分する手法として、離散的数値系列データを、直線補間により折れ線で連続化した折れ線近似信号とみなして台形公式を用いて積分する方法が知られている(非特許文献1)。 Conventionally, as a method of integrating time-discrete numerical series data (hereinafter referred to as “discrete numerical series data”) using a computer, a broken line approximation in which discrete numerical series data is continuous with a broken line by linear interpolation A method of integrating using a trapezoidal formula as a signal is known (Non-Patent Document 1).
また、コンピュータによる連続動的システムの数学モデルをプログラムする手法としては、拡張シグナルフローグラフを用いた方法が知られている(非特許文献2,3)。この拡張シグナルフローグラフは、シグナルフローグラフを線形要素だけでなく非線形要素にも拡張し時間経過とともに信号が計算され伝達される仕組みを可視的(グラフィカル)なプログラミング言語にしたもので、基本的には、伝達されてきたデータ間の代数演算を行う演算ノードと演算ノードのデータを他の演算ノードに伝達する伝達アークから構成される。
As a method for programming a mathematical model of a continuous dynamic system by a computer, a method using an extended signal flow graph is known (Non-Patent
しかしながら、上述した特許文献1に開示の積分手法では、数値系列データに跳躍点などの不連続点を含む場合、誤差が発生し、十分な精度を確保することが出来ないという問題がある。
However, in the integration method disclosed in
本発明は、このような点に鑑みなされたもので、コンピュータによる連続動的システムの数学モデルをプログラムする際に、十分な精度を実現できる積分器を提供することを目的とする。 The present invention has been made in view of these points, and an object of the present invention is to provide an integrator capable of realizing sufficient accuracy when a mathematical model of a continuous dynamic system by a computer is programmed.
また、本発明は、上記目的を達成し、かつフィードバックループ形成に容易に導入できる積分器を簡単なアルゴリズムによって実現し、シミュレーションにおける容易なプログラミングと計算精度の向上とを図ることを他の目的とする。 Another object of the present invention is to realize an integrator that can achieve the above object and can be easily introduced into the formation of a feedback loop by a simple algorithm, and to facilitate easy programming in simulation and improvement of calculation accuracy. To do.
本発明に係る積分器は、離散的数値系列データを入力し、これら離散的数値系列データを、直線補間により折れ線で連続化した折れ線近似信号とみなして台形公式を用いて積分することにより基本項を算出する基本演算部と、前記離散的数値系列データの跳躍点をサンプリングし、前記基本演算部で算出された基本項を補正するための補正項を算出し出力する補正演算部と、前記基本演算部で求められた基本項から前記補正演算部で求められた補正項を減算して補正された積分値を生成し出力する減算器とを備えたことを特徴とする。 The integrator according to the present invention inputs discrete numerical series data, regards the discrete numerical series data as a polygonal line approximation signal continuous by a polygonal line by linear interpolation, and integrates it using a trapezoidal formula, thereby integrating fundamental terms. A basic arithmetic unit that calculates a correction point, which samples the jump points of the discrete numerical series data, calculates and outputs a correction term for correcting the basic term calculated by the basic arithmetic unit, and the basic And a subtractor that generates and outputs a corrected integral value by subtracting the correction term obtained by the correction computing unit from the basic term obtained by the computing unit.
前記基本演算部は、入力された離散的数値系列データから前記基本項への直接信号伝達経路がないことを特徴とする。 The basic arithmetic unit is characterized in that there is no direct signal transmission path from the input discrete numerical sequence data to the basic term.
本発明の他の実施形態において、前記補正演算部は、前記離散的数値系列データに跳躍点が発生したかどうかを監視し、跳躍点が発生した場合には、前記離散的数値系列データの跳躍点、それに先行する2つの先行データをサンプリングし、前記2つの先行データから求められた前記跳躍点発生時における外挿点と前記跳躍点との差分に基づいて補正項を算出することを特徴とする。 In another embodiment of the present invention, the correction calculation unit monitors whether or not a jump point has occurred in the discrete numerical series data, and if a jump point has occurred, the jump of the discrete numerical series data is performed. Point, sampling two preceding data preceding it, and calculating a correction term based on the difference between the extrapolated point and the jumping point at the time of the jumping point obtained from the two preceding data To do.
本発明の更に他の実施形態において、前記基本演算部、補正演算部及び減算器は、拡張シグナルフローグラフを用いてプログラミングされ、コンピュータによって実行されるものであることを特徴とする。 In still another embodiment of the present invention, the basic operation unit, the correction operation unit, and the subtractor are programmed using an extended signal flow graph and executed by a computer.
本発明によれば、コンピュータによる連続動的システムの数学モデルをプログラムする際に、十分な精度を実現できる積分器を提供することができる。 ADVANTAGE OF THE INVENTION According to this invention, when programming the mathematical model of the continuous dynamic system by a computer, the integrator which can implement | achieve sufficient precision can be provided.
[第1実施形態]
次に、本発明の第1実施形態に係る台数公式に基づくtr積分器について詳細に説明する。
[First Embodiment]
Next, the tr integrator based on the number formula according to the first embodiment of the present invention will be described in detail.
図1は、本実施形態に係る積分器の構成を示す図である。 FIG. 1 is a diagram illustrating a configuration of an integrator according to the present embodiment.
この積分器は、処理の中心をなす演算システム構築部1(以下、「CBS」(Computing System Builder)と称する。)と、CBS1に供給される処理対象であるソースデータを記憶するソースデータ記憶部2と、処理に必要な操作を行うための入力部3と、処理に必要な操作のためのGUI(Graphic User Interface)を表示する表示部4と、処理結果を出力する出力部5とを備えて構成されている。
The integrator includes an arithmetic system construction unit 1 (hereinafter referred to as “CBS”) that forms the center of processing, and a source data storage unit that stores source data to be processed supplied to the CBS 1. 2, an
CBS1は、拡張シグナルフローグラフに基づくグラフプログラムを構築し、提供されるソースデータに対して実行するもので、グラフプログラムの構築に必要なデータを記憶するプログラムデータライブラリ11と、プログラムデータライブラリ11に記憶されたプログラムデータを用いてグラフプログラムを作成・編集するためのグラフプログラム作成・編集部12と、グラフプログラム作成・編集のためのGUIを表示部4上に作成するGUI作成部13と、グラフプログラムを実行可能プログラムに変換し実行するプログラム実行部14とを備えて構成されている。
The CBS 1 constructs a graph program based on the extended signal flow graph and executes it on the provided source data. The
この積分器の具体的な機能については後述することとし、ここでは、まずソフトウエア積分器の原理について説明する。 The specific function of this integrator will be described later. Here, the principle of the software integrator will be described first.
[原理説明]
いま、図2に示すように、連続関数u(t)について等間隔ΔTでサンプリングしたとする。その連続関数u(t)を、サンプル値間の直線近似関数として台形近似積分に関する公式(台形公式)を用いて積分すると、次のように求められる。
[Principle explanation]
Now, as shown in FIG. 2, it is assumed that the continuous function u (t) is sampled at equal intervals ΔT. When the continuous function u (t) is integrated using a formula (trapezoidal formula) relating to trapezoidal approximate integration as a linear approximation function between sample values, it is obtained as follows.
すなわち、図2の点un-1からunまでの台形の面積を時点nΔTでの値として記号ΔSnを用いると、 That is, using the symbol ΔS n as the value of the trapezoidal area from the points u n-1 to u n in FIG.
[数1]
[Equation 1]
と求められる。ただし、ここでは初期の三角形ΔS0は考慮せず、ΔS0=0とする。また、横軸点nΔTのu(t)の値を、unとする。したがって、0≦t≦NΔTの範囲の全面積SNは、 Is required. However, the initial triangle ΔS 0 is not considered here, and ΔS 0 = 0. Further, the value of u (t) on the abscissa point n.DELTA.T, and u n. Therefore, the total area S N in the range of 0 ≦ t ≦ NΔT is
[数2]
[Equation 2]
あるいは、 Or
[数3]
[Equation 3]
で表される。 It is represented by
以下、上述の台形近似による近似積分を実行するための計算アルゴリズムを導出する。 Hereinafter, a calculation algorithm for executing the approximate integration by the trapezoidal approximation described above is derived.
説明の便宜上、図2に示した入力数値列を、これによって単位インパルス列を変調したサンプル値信号 For the sake of convenience of explanation, the sampled value signal obtained by modulating the input numerical sequence shown in FIG.
[数4]
[Equation 4]
で表現した上で、さらにz変換してU(z)で表すと And then z-transform and U (z)
[数5]
[Equation 5]
となる。上式ではz−nの係数が第n番目の数値unとして表されている。 It becomes. In the above equation coefficients z -n is represented as the n-th numerical u n.
次にu*(t)をΔTだけ右シフトしてz変換すると次式となる。 Next, when u * (t) is right-shifted by ΔT and z-transformed, the following equation is obtained.
[数6]
[Equation 6]
(5)式、(6)式を加算して整理すると、 When formulas (5) and (6) are added and organized,
[数7]
[Equation 7]
となる。さらに上式の両辺にΔT/2を乗じると、 It becomes. Furthermore, if both sides of the above equation are multiplied by ΔT / 2,
[数8]
[Equation 8]
となる。上式右辺のz−nの係数は、(1)式から解るように、n番目の台形の面積ΔSnに相当する。すなわち、 It becomes. The coefficient of z −n on the right side of the above equation corresponds to the area ΔS n of the nth trapezoid as can be understood from the equation (1). That is,
[数9]
[Equation 9]
となる。この台形面積ΔSnを逐次加算して積分するには(8)式あるいは(9)式の両辺に累算を表す離散値伝達関数1/(1−z−1)を乗ずれば良い。その結果、積分値は、下記(10)式のように求めることができる。
It becomes. In order to sequentially add and integrate the trapezoidal area ΔS n , the discrete
[数10]
[Equation 10]
上式右辺の弧内はサンプル時点ΔTからサンプル時点NΔTまでの積分値を表すのでこれをSNで表して The arc on the right side of the above equation represents the integrated value from the sampling time point ΔT to the sampling time point NΔT, and this is expressed as S N.
[数11]
[Equation 11]
とすると、(10)式は、 Then, equation (10) becomes
[数12]
[Equation 12]
となる。上式左辺全体をTR(z)で表し、 It becomes. The entire left side of the above formula is represented by TR (z),
[数13]
[Equation 13]
とすると、TR(z)は上式右辺に基づきU(z)で表される数値列入力を直線補間して積分を行う際のサンプル時点NΔTにおける近似積分値計算システムを表わすことになる。 Then, TR (z) represents an approximate integration value calculation system at the sampling time point NΔT when performing integration by linearly interpolating a numeric string input represented by U (z) based on the right side of the above equation.
TR(z)の第一項を基本項、第二項を補正項と定義し、それぞれをAtr(z)およびBtr(z)とすると、 If the first term of TR (z) is defined as a basic term, the second term is defined as a correction term, and A tr (z) and B tr (z), respectively,
[数14]
[Formula 14]
[数15]
[Equation 15]
となる。なお、上述の数式表現で用いられた文字記号“tr”あるいは“TR”は台形(trapezoid)を意味したものである。また、補正項は図2において、−ΔT〜0の期間の三角形ΔS0の面積(底辺がΔT、高さがu0の三角形ΔS0の面積)を基本項から差し引くことを表している。 It becomes. Note that the character symbol “tr” or “TR” used in the above-described mathematical expression means a trapezoid. Further, in FIG. 2, the correction term represents that the area of the triangle ΔS 0 (the area of the triangle ΔS 0 whose base is ΔT and height u 0 ) in the period from −ΔT to 0 is subtracted from the basic term.
次に、上述のシステムを非特許文献2に示した拡張シグナルフローグラフ(以下、「SFG.e」と呼ぶ。)を用いて説明する。SFG.eはシグナルフローグラフを線形要素だけでなく非線形要素にも拡張し時間経過とともに信号が計算され伝達される仕組みを可視的(グラフィカル)なプログラミング言語にしたもので、基本的には、伝達されてきたデータ間の代数演算(減算、割算を除く)行う演算ノードと演算ノードのデータを他の演算ノードに伝達する伝達アークから構成される。
Next, the above-described system will be described using an extended signal flow graph (hereinafter referred to as “SFG.e”) shown in
図3(a)は、SFG.eによってソフトウエア積分器の仕組を表したもので、そのアークは定係数アークと単位遅延アークとからなっている。以下、これをTR積分器と呼ぶことにする。TR積分器は同図で示すように基本項Atr(z)を算出するAtr演算部(基本演算部)21と、補正項Btr(z)を算出するBtr演算部(補正演算部)22と、Atr演算部21で算出された基本項からBtr演算部22で算出された補正項を減算する減算器23とを備えて構成されている。
FIG. 3A shows the structure of the software integrator by SFG.e, and the arc is composed of a constant coefficient arc and a unit delay arc. Hereinafter, this is referred to as a TR integrator. As shown in the figure, the TR integrator includes an A tr calculation unit (basic calculation unit) 21 that calculates a basic term A tr (z), and a B tr calculation unit (correction calculation unit) that calculates a correction term B tr (z). ) 22 and a
Atr演算部21は(5)式の入力信号U(z)、すなわち計算ステップ0での初期数値u0からステップ進行1,2,3,…,nに伴って数値u0,u1,u2,u3,…,un…を入力し、ステップ毎に下記数16の上段の式で示す積分値を基本項Atrとして出力する。
A tr calculating section 21 (5) of the input signal U (z), i.e. the initial numerical u 0 step progression from 1,2,3
一方、Btr演算部22は、図3(a)で示すようにt=0のときにu0をサンプラでサンプリングし、ステップ毎に積算された補正項Btr(u0+u0z−1+u0z−2+…)を出力する。Btr演算部22の乗算ノードは、サンプラとしての機能を有し、入力データ列に、t=0において発生される単位インパルスδ(t)を乗ずることでu0をサンプリングする。 On the other hand, as shown in FIG. 3A, the B tr calculation unit 22 samples u 0 with a sampler when t = 0, and the correction term B tr (u 0 + u 0 z −1 ) integrated for each step. + U 0 z −2 +...) Is output. The multiplication node of the B tr calculation unit 22 has a function as a sampler, and samples u 0 by multiplying the input data string by a unit impulse δ (t) generated at t = 0.
積分値補正のための加算器23は、基本項Atxと補正項Btrの符号変換値を加算する。この結果、数16の下段に示すような積分出力が得られる。
An
[数16]
[Equation 16]
図3(b)は図3(a)の入力ノードから出力ノードまでを一本のアークでまとめてトランスミッタンスが1/strの積分アークとしてTR積分器を表したものである。ここで、strはラプラス変数sに対応するものとして記号的に与えたものである。 FIG. 3B shows the TR integrator as an integral arc having a transmissivity of 1 / s tr by combining the input node to the output node in FIG. 3A with one arc. Here, s tr is given symbolically as corresponding to the Laplace variable s.
なお、図3(a)における乗算ノードはサンプラの役割を持ち、計算開始時のタイミングも含めてアルゴリズムのコーディングで容易に実現されるものである。 Note that the multiplication node in FIG. 3A has a sampler role, and is easily realized by coding the algorithm including the timing at the start of calculation.
[第2の実施形態]
上記の第1の実施形態では、図3(a)に示すように、Atr演算部21に、入力部に入力された時系列データが出力部に直接伝達される直接伝達経路を有しているが、第2の実施形態では、直接信号伝達経路なしの積分(以下、「nw積分」と呼ぶ。)が可能な積分器を提供する。
[Second Embodiment]
In the first embodiment, as shown in FIG. 3A, the Atr
台形公式による近似積分は数値間を直線補間する方式によるため、一定数値入力に対する積分は正確に実行される。ここでは、先に述べたtr積分方式と同じように一定数値入力に対する積分を正確に実行できるとともに、直接信号伝達経路なしの近似積分が実行できることを必要条件として新しいアルゴリズムを導出する。 Since approximate integration by the trapezoidal formula is based on a method of linear interpolation between numerical values, integration for a constant numerical input is executed accurately. Here, a new algorithm is derived on the precondition that the integration with respect to a constant numerical value input can be accurately executed as in the tr integration method described above, and that the approximate integration without a direct signal transmission path can be executed.
まず、先に説明したtr積分方式で一定値入力信号に対する挙動について詳細に説明する。 First, the behavior for a constant value input signal by the tr integration method described above will be described in detail.
図3(a)の基本項Atr(z)において、入力信号U(z)が図4(a)に示すような一定値u0(この例では、u0=1)の数値列 In the basic term A tr (z) of FIG. 3A, the input signal U (z) is a numerical sequence of a constant value u 0 (in this example, u 0 = 1) as shown in FIG. 4A.
[数17]
[Equation 17]
であるとすると、基本項Atr(z)は、 Then the fundamental term A tr (z) is
[数18]
[Equation 18]
となる(図4(b)参照)。これを展開すると次式のように各サンプル時点での値が得られる。 (See FIG. 4B). When this is expanded, the value at each sample time is obtained as in the following equation.
[数19]
[Equation 19]
一方、補正項Btr(z)は(15)式から展開して次のように表される(図4(c)参照)。 On the other hand, the correction term B tr (z) is developed from the equation (15) and expressed as follows (see FIG. 4C).
[数20]
[Equation 20]
したがって、この場合の積分出力TR(z)は、上述のAtr(z)とBtr(z)との差として Therefore, the integral output TR (z) in this case is the difference between the above-mentioned A tr (z) and B tr (z).
[数21]
[Equation 21]
のように求められる(図4(d)参照)。これは横軸上サンプル時点0において数値が0から出発し、時間間隔ΔT毎に積分結果としての数値が正確にΔTu0ずつ増加していることを示している。これらの数値列を直線補間すると原点から出発する傾斜がΔTu0の直線となり、積分結果の応答が正確に連続信号で仮想的に示されたことになる。
(See FIG. 4D). This indicates that the numerical value starts from 0 at the
ところで、この基本項の応答でわかるように0.5ΔTが初期数値として先に述べた直接信号伝達経路により伝達されることなり、この存在によって以上述べたTR積分器は閉ループが多く用いられる動的システムの数学モデルに適さないことになる。 By the way, as can be seen from the response of this basic term, 0.5ΔT is transmitted as an initial value through the direct signal transmission path described above. Due to this existence, the TR integrator described above is a dynamic that uses many closed loops. It will not be suitable for the mathematical model of the system.
そこで、この問題を解決する方法を図5によって説明する。 A method for solving this problem will be described with reference to FIG.
いま、図5(a)のように先の例とおなじく入力信号が一定値u0(この例では、u0=1)の数値列であるとする。これに対する基本項の応答Atr(z)(図5(b))を図5(c)の信号によって次式のように変形し直接信号経路伝達となる第一項0.5ΔTu0・z0を消去する。 Now, as shown in FIG. 5A, it is assumed that the input signal is a numeric string of a constant value u 0 (in this example, u 0 = 1) as in the previous example. The response A tr (z) (FIG. 5 (b)) of the basic term to this is transformed by the signal of FIG. 5 (c) into the following equation to directly transmit the signal path 0.5ΔTu 0 · z 0. Erase.
[数22]
[Equation 22]
これを改めて基本項Anw(z)とすると、基本項Anw(z)は、数23のように表すことができる。 Assuming that this is the basic term A nw (z), the basic term A nw (z) can be expressed as shown in Equation 23.
[数23]
[Equation 23]
その結果を図5(d)に示す。 The result is shown in FIG.
一方、補正項Btr(z)を、Atr(z)からAnw(z)への変形と同様に次のように変形してBnw(z)とする(図5(e)参照)。 On the other hand, the correction term B tr (z) is transformed to B nw (z) as follows in the same manner as the transformation from A tr (z) to A nw (z) (see FIG. 5E). .
[数24]
[Equation 24]
[数25]
[Equation 25]
以上の結果、次の関係が成立する。 As a result, the following relationship is established.
[数26]
[Equation 26]
この式は、右辺の台形公式に基づくTR(z)に対してこれと等価な新しい近似積分アルゴリズムが得られたことを表している。そこで、新しい近似積分アルゴリズムをNW(z)で表し、これを次のように定義する。 This expression indicates that a new approximate integration algorithm equivalent to TR (z) based on the trapezoidal formula on the right side is obtained. Therefore, a new approximate integration algorithm is represented by NW (z) and is defined as follows.
[数27]
[Equation 27]
ここで、Anw(z)は次のように定式化される。(15)式と(23)式より、Anw(z)=Atr(z)−ΔTu0(0.5z0−0.5z−1)であり、これより、 Here, A nw (z) is formulated as follows. From the equations (15) and (23), A nw (z) = A tr (z) −ΔTu 0 (0.5z 0 −0.5z −1 ).
[数28]
[Equation 28]
が導かれる。上式右辺の一定値u0の入力(1/(1−z−1))u0を一般の入力信号U(z)で置き換え、 Is guided. The input (1 / (1-z −1 )) u 0 of the constant value u 0 on the right side of the above equation is replaced with a general input signal U (z),
[数29]
[Equation 29]
とする。 And
一方、Bnw(z)は(16)式と(24)式より次のように得られる。 On the other hand, B nw (z) is obtained as follows from equations (16) and (24).
[数30]
[Equation 30]
なお、上述の数式表現で用いられた文字記号“nw”あるいは“NW”は「新しい(new)近似積分」を意味するものである。 The character symbol “nw” or “NW” used in the above-described mathematical expression means “new ( n e w ) approximate integration”.
[第2の実施形態の効果]
[NW積分のアナログ積分との等価性について]
上述のアルゴリズムをSFG.eによって図6(a)のように一つのソフトウエア積分器として表すことにする。以下、これをNW積分器と呼ぶことにする。NW積分器は、同図で示すように基本項Anw(z)を算出するAnw演算部(基本演算部)31と、補正項Bnw(z)を算出するBnw演算部(補正演算部)32と、Anw演算部31で算出された基本項からBnw演算部32で算出された補正項を減算する減算器33とを備えて構成されている。また、図6(b)はTR積分器の場合と同様、上述の機能を入力ノードから出力ノードまでトランスミッタンス1/snwの積分アークで表現したものである。なお、snwはラプラス変数sに対応するものとして記号的に与えたものである。このように、NW積分器は一定値入力列に対してはTR積分器と全く同様に正確な積分が実行可能であり、また台形近似アルゴリズムに基づいているので、一般の入力値系列に対してもTR積分器と同様な精度が期待できる。その上、直接信号伝達経路を保持しない構造であってその出力を同一計算ステップ内で入力側に直接フィードバック可能であり、このことから、TR積分器と異なりNW積分器はプログラミング上の定性的な制約なしにアナログ積分器と等価な連続値伝達関数を持つものと見なすことができる。
[Effects of Second Embodiment]
[Equivalence of NW integration with analog integration]
The above algorithm is represented by SFG.e as one software integrator as shown in FIG. Hereinafter, this is referred to as an NW integrator. The NW integrator includes an A nw calculation unit (basic calculation unit) 31 that calculates a basic term A nw (z) and a B nw calculation unit (correction calculation) that calculates a correction term B nw (z) as shown in FIG. Part) 32 and a
図6(a)の乗算ノードはサンプラの役割を持つ。この場合、時点ΔTにおいて単位インパルス(時間関数としてはδ(t-ΔT)、z変換形ではz−1であるが、以下の説明では時間関数を用いる。)を乗ずることでu0をサンプリングすることを表している。
[TR/NW積分器に生じる誤差の検討]
以上述べたように、NW積分器はTR積分器から拡張されたもので直線補間近似に基づいているが、それぞれの各計算ステップでの積分計算過程に差異がある。TR積分器では(15)式で示すように現入力を含む台形公式による直接計算であるのに対し、NW積分器では(29)式右辺分子括弧外のz−1の存在で分かるように現入力を含まない外挿計算になっている。したがって一般形の数値入力に対する近似度はTR積分器に比較して幾分劣化することが考えられる。また、NW積分器についてはフィードバック系の構成におけるアナログ積分に対する近似度について考慮する必要がある。代表的な例を用いた比較を通してそれぞれのその使用上の限界、解決法、および注意などについて述べる。
The multiplication node in FIG. 6A has a sampler role. In this case, u 0 is sampled by multiplying at a time point ΔT by a unit impulse (δ (t−ΔT) as a time function, z −1 in the z-transform type, but the time function is used in the following description). Represents that.
[Examination of errors in TR / NW integrator]
As described above, the NW integrator is extended from the TR integrator and is based on linear interpolation approximation, but there is a difference in the integration calculation process at each calculation step. In the TR integrator, the calculation is a direct calculation based on a trapezoidal formula including the current input as shown in the equation (15), whereas in the NW integrator, as shown by the presence of z −1 outside the molecular brackets on the right side of the equation (29). Extrapolation without input. Therefore, it is conceivable that the degree of approximation with respect to the numerical input of the general form is somewhat deteriorated as compared with the TR integrator. For the NW integrator, it is necessary to consider the degree of approximation with respect to analog integration in the configuration of the feedback system. Each of its usage limitations, solutions, and cautions are described through comparisons using representative examples.
例1.高次多項式の計算
高次多項式はxn(n:正整数)によって構成される数式である。そこで、高次多項式計算への適用のため、xnの計算をNW積分で行い精度について検討する。積分変数としてxを選びシグナルフローグラフでxnを表すと図7(a)のようになる。
Example 1. Calculation of a high- order polynomial A high-order polynomial is a mathematical expression constituted by x n (n: positive integer). Therefore, for application to higher-order polynomial calculations, the calculation of xn is performed by NW integration and the accuracy is examined. When x is selected as the integration variable and xn is represented in the signal flow graph, it is as shown in FIG.
同図でトランスミッタンス1/sは積分を表すが、図7(b)に示す拡張シグナルフローグラフによるプログラミングではこれをNW積分である1/s.nwに置き換える。
ところで、先に述べたように、NW積分はTR積分同様、n=1において正確な積分が可能であった。したがって理論的に上述の積分は正確に実行可能である。また、n=2のx2に対しては、この導関数に対応するn=1のxが直線補間と実際の関数とが一致することから、その計算は正確に実行可能である。したがって、nが3以上に対しては直線補間と実際の関数の不一致から計算誤差を生じる。その程度の確認のため、パソコンによってつぎのようなシミュレーションを行った。
In the figure, the
By the way, as described above, the NW integration, like the TR integration, can be accurately integrated at n = 1. Theoretically, the above integration can therefore be performed accurately. Further, with respect to the x 2 n = 2, the since n = 1 for x corresponding to this derivative is that the actual function and linear interpolation match, the calculation can be performed accurately. Therefore, when n is 3 or more, a calculation error occurs due to the mismatch between the linear interpolation and the actual function. In order to confirm this level, the following simulation was performed using a personal computer.
[条件]
(i) 変数:倍精度浮動小数点数型
(ii) n=3およびn=4
(iii) 積分区間:0から1まで
(iv) 積分区間の刻み数=4, 10, 25, 50, 100
(v)誤差の定義:(|NW積分値―理論値|/理論値)×100 (%)
[conditions]
(i) Variable: Double-precision floating-point number type
(ii) n = 3 and n = 4
(iii) Integration interval: 0 to 1
(iv) Number of steps in integration interval = 4, 10, 25, 50, 100
(v) Definition of error: (| NW integral value−theoretical value | / theoretical value) × 100 (%)
[結果]
(i) 誤差の最大値は0.33% (n=4, 刻み数=4)となる。この条件は実用上極端な場合である。
(ii) n=4に対して,
刻み数10, 25, 50, 100
における誤差はそれぞれ、
1.3×10-2%,9.8×10-4%,5.2×10-4%,1.6×10-4%
となった。
(iii) n=3については、すべてn=4における対応誤差以下であり実際上問題にならない
(iv)以上の結果、高次多項式の計算では刻み数は10以上を推奨するものとする。
[result]
(i) The maximum error is 0.33% (n = 4, number of steps = 4). This condition is an extreme case in practice.
(ii) For n = 4,
Number of
Each error in
1.3 × 10 -2 %, 9.8 × 10 -4 %, 5.2 × 10 -4 %, 1.6 × 10 -4 %
It became.
(iii) For n = 3, all are less than the corresponding error at n = 4, so there is no practical problem.
(iv) As a result of the above, it is recommended that the number of steps be 10 or more in the calculation of higher order polynomials.
例2.定積分による精度検証Example 2. Accuracy verification by definite integration
[数31]
[Equation 31]
で示される定積分による円周率計算をTR積分およびNW積分で行い解析値πとの差を積分区間(0〜1)の刻み数毎に比較すると表1のようになる。TR積分よりもNW積分の方が、若干精度が低下しているが、刻み数が200以上では差が見いだせず十分な精度が得られることが分かる。 Table 1 shows the calculation of the pi ratio by the definite integration shown in Fig. 1 by TR integration and NW integration, and the difference from the analysis value π is compared for each number of steps in the integration interval (0 to 1). Although the accuracy of the NW integration is slightly lower than that of the TR integration, it can be seen that when the number of steps is 200 or more, no difference is found and sufficient accuracy is obtained.
例3.一次遅れ系におけるNW積分器の誤差検証
NW積分器を用いて一次遅れ系を構成して理論値との差異につき検討する。図8は、拡張シグナルフローグラフによって表現された一次遅れ系である。
この系の入出力間の伝達関数は次のように求められる。
Example 3 Error verification of NW integrator in first-order lag system A first-order lag system is constructed using an NW integrator and the difference from the theoretical value is examined. FIG. 8 is a first-order lag system expressed by an extended signal flow graph.
The transfer function between the input and output of this system is obtained as follows.
[数32]
[Formula 32]
また、図9はこの系のインディシアル応答を求めるグラフィックプログラムを示したものである。この場合、NW積分器の積分ゲインKを1とし、したがって時定数Tは1secである。同図では、単位ステップ信号を加えたのち時刻が1sec(時定数T)後のステップ応答の値y(T)を示している。 FIG. 9 shows a graphic program for obtaining an initial response of this system. In this case, the integral gain K of the NW integrator is set to 1, and therefore the time constant T is 1 sec. In the figure, the step response value y (T) after 1 second (time constant T) after adding the unit step signal is shown.
また、図9には、比較のため、y(T)の理論値 1−e−1を計算するためのプログラムも示している。この計算では一計算ステップに要する時間が10msecとしてあり、したがって、この計算刻み数は100である。図9では、この結果として、応答値y(T)が0.6321234107であるのに対して、理論値は0.6321205497であり、小数点以下5桁まで合致している。 FIG. 9 also shows a program for calculating the theoretical value 1-e −1 of y (T) for comparison. In this calculation, the time required for one calculation step is 10 msec. Therefore, the number of calculation steps is 100. In FIG. 9, as a result, the response value y (T) is 0.6321234107, whereas the theoretical value is 0.6321205497, which matches up to 5 digits after the decimal point.
シミュレーションにおいては、このような一次遅れ系をNW積分器によって構成する場合、Kの値には理論的に限界があるが、図10に示す積分ゲインと応答の関係から解るように25(時定数で0.04sec)以下が適当である。なお、この限界における応答値y(T)は0.625となる。また小数点以下4桁まで一致する最小の時定数は0.08sec (Kの値で12.5)となる。 In the simulation, when such a first-order lag system is constituted by an NW integrator, the value of K is theoretically limited, but 25 (time constant) is understood from the relationship between the integral gain and the response shown in FIG. 0.04 sec) or less is appropriate. The response value y (T) at this limit is 0.625. The minimum time constant that matches up to 4 digits after the decimal point is 0.08 sec (K value is 12.5).
表2は積分ゲインと時刻T経過後のインディシアル応答値との関係を示したものである。 Table 2 shows the relationship between the integral gain and the initial response value after the elapse of time T.
例4.持続振動2次系のサイクルテストによる積分性能の検証
ゲイン定数1の積分器2つを縦続接続し、その出力を入力側に単位負フィードバックすると理論的には安定限界となり、持続振動を発生する。この状態をどこまで維持できるかをサイクルテストと呼んでいる。図11はこのための拡張シグナルフローグラフによるプログラムを表している。この系は、図中の微分方程式をプログラムしたもので、真空中での振り子の振動に関する運動方程式に相当する。その場合、yは振り子の紐の角度、x’は角速度となる。ここでは、二つの積分器の一方をNW積分、他方をTR積分としている。すなわち、図のグラフの閉ループには少なくとも一個のNW積分器を使用する必要がある。
Example 4 Verification of integration performance by cycle test of continuous vibration secondary system When two integrators with gain constant 1 are connected in cascade and their outputs are fed back to the input unit as a unit, theoretically, the stability limit is reached, and continuous vibration is generated. To what extent this state can be maintained is called a cycle test. FIG. 11 shows a program based on the extended signal flow graph for this purpose. This system is a program of the differential equations in the figure, and corresponds to the equation of motion related to the vibration of the pendulum in vacuum. In this case, y is the pendulum string angle, and x ′ is the angular velocity. Here, one of the two integrators is NW integration and the other is TR integration. That is, it is necessary to use at least one NW integrator in the closed loop of the graph in the figure.
図12は、この系のx’(破線)およびy(実線)の応答を示したものである。このサイクルテスト結果から積分器としての性能が十分に果たされていることが分かる。この場合の積分ゲインは1 (1/sec)であり、振動角周波数は1rad/sec、周期は2πとなり計算刻み幅は十分に小さい。近似積分の精度は刻み幅に影響されるので、閉ループの積分ゲインの大きさには制約がある。同図(c)は積分ゲインが10 (1/sec)の場合であり、図では確認できないほどであるが、若干の振幅の減衰が見られた。また、逆に増大振動は起こらない。 FIG. 12 shows the x '(dashed line) and y (solid line) responses of this system. From this cycle test result, it can be seen that the performance as an integrator is sufficiently fulfilled. In this case, the integral gain is 1 (1 / sec), the vibration angular frequency is 1 rad / sec, the period is 2π, and the calculation step size is sufficiently small. Since the accuracy of approximate integration is affected by the step size, there is a restriction on the magnitude of the closed-loop integration gain. FIG. 4C shows the case where the integral gain is 10 (1 / sec), and although it cannot be confirmed in the figure, a slight amplitude attenuation was observed. Conversely, no increased vibration occurs.
[第3の実施形態]
次に、補正項の一般化を図った本発明の第3の実施形態について説明する。
[Third Embodiment]
Next, a third embodiment of the present invention in which the correction term is generalized will be described.
積分変数としての数値列には、これまでにも初期数値u0が零でない場合と同様、途中に数値の跳躍を生じる場合がある。この跳躍はシステム内外に起こる事象発生により付随して生じる。いま、図13に示すように、時点jΔTにおいて数値の跳躍が起こったとする。これを、近似的にuj−2からuj−1を直線補間し、さらに時点jΔTまで外延した値をuj’とすると、ここからujまで跳躍したと見なす。もしも、これを跳躍と見做さずuj−1からujへ直線補間したとすると図でuj,uj−1,uj’を結ぶ三角形の面積がTR積分およびNW積分における誤差になるのでこれを補正する必要がある。 In the numerical sequence as the integration variable, there may be a case where the numerical value jumps in the middle, as in the case where the initial numerical value u 0 is not zero. This jump is accompanied by an event occurring inside or outside the system. Now, as shown in FIG. 13, it is assumed that a numerical jump occurs at the time point jΔT. If this is approximately linearly interpolated from u j−2 to u j−1 and further extended to time jΔT as u j ′, it is regarded as jumping from here to u j . If this is not regarded as a jump and linear interpolation is performed from u j−1 to u j , the area of the triangle connecting u j , u j−1 , u j ′ is an error in TR integration and NW integration. Therefore, it is necessary to correct this.
この面積をcjとすると、 If this area is c j ,
[数33]
[Equation 33]
ただし、 However,
[数34]
[Formula 34]
で表される。これに基づいてTR積分器に対する補正項は初期数値に対するTR積分の補正項(16)式を参照して It is represented by Based on this, the correction term for the TR integrator is based on the TR integration correction term (16) for the initial value.
[数35]
[Equation 35]
となる。これは補正項の一般式であり、(16)式は上式でj=0に相当する。この場合、uj=u0であるのに対して、uj−1=uj−2=0となり、(34)式は(16)式に一致する。 It becomes. This is a general expression of the correction term, and the expression (16) corresponds to j = 0 in the above expression. In this case, while u j = u 0 , u j−1 = u j−2 = 0, and equation (34) matches equation (16).
またNW積分器に対する補正項は同様にして(30)式を参照して Also, the correction term for the NW integrator is the same with reference to equation (30).
[数36]
[Equation 36]
が得られる。 Is obtained.
これらを拡張シグナルグローグラフで表現すると図14のようになる。図3及び図6の拡張シグナルグローグラフと異なるのは、Atr演算部21,Anw演算部31からへの信号伝達経路41,42のみである。なお、図14のBtr演算部22及びBnw演算部32の累積部24,34は跳躍点で発生する補正値を累積する働きをしている。
These are represented by an extended signal glow graph as shown in FIG. The only difference from the extended signal glow graph of FIGS. 3 and 6 is the
[跳躍の起因を積分器補正部へ伝達する方法]
入力信号における跳躍は積分器以外の要素における事象(イベント)発生に起因する。拡張シグナルグローグラフには不連続非線形アークが伝達アークとして用意されているが、このうち代表的な跳躍の起因をもつものとして、以下のものがある。
[Method of transmitting the cause of jump to the integrator correction unit]
The jump in the input signal is caused by the occurrence of an event in an element other than the integrator. In the extended signal glow graph, discontinuous non-linear arcs are prepared as transfer arcs. Among them, the following are typical causes of jumping.
(1)不感帯付きオンオフアーク:オンオフ状態をもち、その間の移行に不感帯をもつ。 (1) On-off arc with dead zone: It has an on-off state and has a dead zone in the transition between them.
(2)ヒステリシスアーク:オンオフ状態をもち、その間の移行に一定の幅のヒステリシスをもつ。 (2) Hysteresis arc: has an on / off state, and has a certain width of hysteresis in the transition between them.
(3)サンプル・ホールダアーク:連続信号を一定周期でサンプリングし、ホールドする。 (3) Sample holder arc: A continuous signal is sampled and held at a constant period.
(4)無駄時間アーク:一定の無駄時間(最小サンプル時間の整数倍)で信号伝達をおこなう。 (4) Dead time arc: Signal transmission is performed with a fixed dead time (an integral multiple of the minimum sample time).
(5)スイッチングアーク:論理変数を外部変数とし、その真、偽で伝達係数が1, 0となる。 (5) Switching arc: A logical variable is an external variable, and the transmission coefficient is 1 or 0 when the logical variable is true or false.
これらを「跳躍起因アーク」と定義する。跳躍起因アークでは一定の条件(閾値、時間などの論理的条件)で出力信号値が跳躍的に変化する。跳躍起因アーク群はこれが発生する計算ステップ番号を一時記憶する共通のステップレジスタをもち、ある計算ステップ中において該アークに事象が発生すると、直ちにその時のステップ番号をTR積分器用の跳躍発生番号として、また、NW積分器用にはこれに1を加えて単位遅延を加味した数を跳躍発生番号として前記ステップレジスタに記憶させる。 These are defined as “jumping arc”. In the jump-induced arc, the output signal value jumps and changes under certain conditions (logical conditions such as threshold and time). The jumping arc group has a common step register for temporarily storing the calculation step number at which this occurs, and when an event occurs in the arc during a certain calculation step, the step number at that time is immediately used as the jump generation number for the TR integrator. For the NW integrator, 1 is added to the NW integrator and a number including a unit delay is stored in the step register as a jump occurrence number.
これに対して積分器側は、計算ステップ毎に計算カウンタデータを受け取ると同時にこれが前記跳躍発生番号に一致するかどうかを常時判断し、これが一致した場合に限り、等価的に図14(a)のBtr演算部22あるいは図14(b)のBnw演算部32におけるサンプリング信号とサンプラで示したように、補正信号の計算を行い、補正を実行するようになっている。 On the other hand, the integrator side receives the calculation counter data for each calculation step, and at the same time, always determines whether or not this coincides with the jump occurrence number. As shown by the sampling signal and the sampler in the B tr calculation section 22 of FIG. 14 or the B nw calculation section 32 of FIG. 14B, the correction signal is calculated and the correction is executed.
シミュレーションプログラム中の全ての積分器は図3(b)あるいは図6(b)のように一本のアークで表現されるが、そのなかでは上記機能をもち、その入力側で直接あるいは間接的に信号の跳躍を受けるとこれに対応した上述の操作を行うようになっている。したがって、跳躍現象の影響を受けていない積分器もその操作を行うことになるが、その場合は、図14と(32)式から推定できるように十分に小さいサンプリング間隔(一般的にはコンピュータの最小計算ステップ間隔に相当)では、uj−2,uj−1から外側に延ばしたuj’がujの値に殆ど一致することから、Δujは零と見なすことができるので、実質的には入力信号の跳躍を受ける積分器だけが選択されることになる。また、同一の計算ステップで複数の跳躍起因アークで跳躍が発生しても、それぞれの積分器はその結果としての入力信号値に対して総合的に補正を実行することになる。 All integrators in the simulation program are expressed by a single arc as shown in FIG. 3B or 6B, and in this case, the integrator has the above-mentioned function and directly or indirectly on the input side. When a signal jump is received, the above-described operation corresponding to this is performed. Therefore, an integrator that is not affected by the jump phenomenon also performs the operation. In this case, a sufficiently small sampling interval (generally, a computer's interval) can be estimated from FIGS. 14 and (32). in equivalent) to the minimum calculation step interval, since the u j 'which extends outwardly to almost matches the value of u j from u j-2, u j-1, since Delta] u j can be regarded as zero, substantially Therefore, only the integrator that receives the jump of the input signal is selected. Even if jumps occur in a plurality of jump-causing arcs in the same calculation step, each integrator will comprehensively correct the input signal value as a result.
なお、上述したjが事象発生ステップに相当する。以上の詳細については積分器のメソッドのコード表現において後述する。 Note that j described above corresponds to an event generation step. Details of the above will be described later in the code expression of the method of the integrator.
[第4の実施形態]
次に、グラフ表現のアルゴリズムに関するソフトウエア構造および実行形態に関する第4の実施形態について説明する。
[Fourth Embodiment]
Next, a description will be given of a fourth embodiment relating to a software structure and execution form relating to an algorithm of graph expression.
拡張シグナルフローグラフに基づくビジュアルプログラムは、ここでは仮想のビジュアルプログラミングツールであるCSB(Computing System Builder)1(図1)によって記述され編集され、かつ実行するものとする(非特許文献3)。ソフトウエア積分器もビジュアルプログラムのなかの伝達アークとして記述され、実行されるので、このためのCSB1に関するソフトウエア構造と実行形態の概要について説明する。なお、既に述べたように、拡張シグナルフローグラフは代数演算(減算、割算は除く)をおこなう演算ノードと、演算ノードのデータを他の演算ノードで用いるデータに変換して伝達する伝達アークから構成される。
Here, the visual program based on the extended signal flow graph is described, edited, and executed by a CSB (Computing System Builder) 1 (FIG. 1), which is a virtual visual programming tool (Non-patent Document 3). Since the software integrator is also described and executed as a transfer arc in the visual program, an outline of the software structure and execution form related to
[グラフプログラム]
拡張シグナルフローグラフで描かれたプログラム(以下、「グラフプログラム」と呼ぶ。)において、全演算ノードを一定の順序で巡ることで行われる一回の計算ステップを必要な回数繰り返し行うことにより要求する計算が実行される。その場合、一回の計算ステップは各演算ノードについて一回の代数演算ステップの実行系列からなる。この実行系列の周期を計算ステップ周期とよび、この実行に要する時間を計算ステップ時間とよぶ。演算ノードには一回の計算ステップ周期において演算順序が決められる。これを示すインデックスを演算ノードの実行インデックスとよぶ。実行インデックスは自然序数に従って1から始まり、2,3,4… と増加して付けられる。各演算ノードにはすでにグラフプログラミングにおいて配置順に自然序数で固有インデックスが付けられている。これは必ずしも実行インデックスと一致しないので、計算実行前に固有インデックスから実行インデックスへの変換を行うことが必要である。
[Graph program]
In a program drawn in an extended signal flow graph (hereinafter referred to as a “graph program”), it is requested by repeatedly performing a single calculation step that is performed by going through all operation nodes in a certain order. Calculation is performed. In that case, a single calculation step includes an execution sequence of one algebraic calculation step for each calculation node. The period of this execution sequence is called a calculation step period, and the time required for this execution is called a calculation step time. The calculation order is determined for each calculation node in one calculation step cycle. An index indicating this is called an execution index of the operation node. The execution index starts from 1 according to the natural ordinal number and increases by 2, 3, 4 ... Each operation node has already been assigned a unique index in a natural ordinal order in the order of arrangement in graph programming. Since this does not necessarily match the execution index, it is necessary to convert the unique index to the execution index before executing the calculation.
[演算セル]
具体的な演算は演算セルに基づき実行される。 演算セルは、図15に示すように、演算ノード(以下、ノード)と伝達アーク(以下、アーク)からなる。すなわち、演算セルは、一個の核ノードと一個以上の子ノードと、これらを接続するアークとを備えて構成される。ソースを除くすべてのノードはそれぞれ核ノードとして一個の演算セルを構成する。ソースは核ノードにはならず子ノードとして信号源の役割をもつ。ソースとしての加算ノードはGUI上、配置時の初期値としてゼロが与えられるが随時変更可能としている。乗算ノードはGUI上、配置時の初期値は1で変更不可としている。また、ステップ関数、インパルス関数、正弦波関数、余弦波関数、ランダム関数、ユーザ定義時間関数などの時間駆動関数は特殊なソースノードとして与えられる。
[Calculation cell]
A specific calculation is executed based on the calculation cell. As shown in FIG. 15, the computation cell includes a computation node (hereinafter referred to as a node) and a transmission arc (hereinafter referred to as an arc). That is, the arithmetic cell is configured to include one nucleus node, one or more child nodes, and an arc connecting them. All nodes except the source constitute one arithmetic cell as a nucleus node. The source does not become a nuclear node but serves as a signal source as a child node. The addition node as a source is given zero as an initial value at the time of placement on the GUI, but can be changed as needed. The multiplication node has an initial value of 1 on the GUI and cannot be changed. In addition, time drive functions such as a step function, an impulse function, a sine wave function, a cosine wave function, a random function, and a user-defined time function are given as special source nodes.
演算セルは、これに属する全ての子ノードのデータが計算ステップ周期毎に更新されると直ちに核ノードで演算をおこなうようになっている。すなわち、各子ノードのデータは該ノードを出発ノードとするアークのメソッド(サブルーチン)でそれぞれ核ノードへ変換・伝達され、該核ノード固有の代数演算により新しいデータを生成する。 The calculation cell performs an operation at the core node as soon as the data of all the child nodes belonging to the calculation cell is updated every calculation step cycle. That is, the data of each child node is converted and transmitted to the nucleus node by an arc method (subroutine) starting from the node, and new data is generated by an algebraic operation specific to the nucleus node.
演算セルの核ノードは他の演算セルの子ノードとすることができる。 これにより複数の演算セルが結合されて数式が作られ方程式となりグラフプログラムとなる。他の演算セルの子ノードにならない核ノードはシンクとなり計算結果のデータを示すことになる。 A nucleus node of a computation cell can be a child node of another computation cell. As a result, a plurality of calculation cells are combined to create a mathematical formula, which becomes an equation and a graph program. A nucleus node that does not become a child node of another operation cell becomes a sink and indicates data of a calculation result.
[伝達アークの型]
アークには、これにより接続される演算ノード間の実行順序に関して、A型アークとD型アークの二種類がある。
[Transmission arc type]
There are two types of arcs, A-type arcs and D-type arcs, with respect to the execution order between operation nodes connected thereby.
A型アークは、そのアークの出発ノードの実行インデックスよりも到着ノードの実行インデックスが大きいアーク、これに対して、D型アークはそのアークの出発ノードの実行インデックスよりも到着ノードの実行インデックスが小さいアークを指す。(“A”は実行インデックスがアークの方向に沿って上昇(Ascent)、“D”は実行インデックスがアークの方向に沿って下降(Descent)を意味する)。 An A-type arc has an arrival node execution index larger than the execution index of the departure node of the arc, whereas a D-type arc has an arrival node execution index smaller than the execution index of the departure node of the arc. Refers to the arc. ("A" means that the execution index rises (Ascent) along the arc direction, and "D" means that the execution index falls (Descent) along the arc direction).
上述のことから、一つの演算セルでの計算では、A型アークで接続された子ノードは同じ計算ステップ内で核ノードよりも早く更新されたデータが使われ、またD型アークで接続された子ノードは前計算ステップにおいてすでに更新されたデータが使われることになる。このことからA型アークは直接数値伝達経路をもつアークであり、D型アークは直接数値伝達経路を持たないアークである。たとえば、前述の図14(a)のグラフプログラムで表されるTR積分器では、U(z)からR(z)に到る基本項および補正項を通る経路はいずれも直接数値伝達経路を持っておりA型アークである。一方、図14(b)のグラフプログラムで表されるNW積分器では、U(z)からW(z)に到る基本項および補正項を通る経路にはすべてz-1を含んでいるので直接数値伝達経路を持たないことになりD型アークである。D型アークの場合、前記経路にあるz-1をまとめて入力U(z)に乗じz-1 U(z)としてこれを入力と見なすと、残りのグラフプログラムがD型アークとしての事実上のアルゴリズムを表す。図16はこれをNW積分器に適用したものである。 From the above, in the calculation in one calculation cell, the child node connected by the A type arc uses the data updated earlier than the core node in the same calculation step, and is connected by the D type arc. For the child node, the data already updated in the previous calculation step is used. Therefore, the A type arc is an arc having a direct numerical transmission path, and the D type arc is an arc having no direct numerical transmission path. For example, in the TR integrator represented by the graph program of FIG. 14A described above, the path through the fundamental term and the correction term from U (z) to R (z) has a direct numerical transmission path. This is an A-type arc. On the other hand, in the NW integrator represented by the graph program in FIG. 14 (b), all the paths passing through the basic term and the correction term from U (z) to W (z) contain z -1 . Since it does not have a direct numerical transmission path, it is a D-type arc. In the case of a D-type arc, if the z −1 in the path is collectively multiplied by the input U (z) and regarded as the input z −1 U (z), the remaining graph program is effectively regarded as a D-type arc. Represents the algorithm. FIG. 16 applies this to an NW integrator.
[実行インデックス決定プロセス]
グラフプログラムにおける演算ノードの実行インデックスを決定する手順は次のとおりである。なお、実行インデックスが既に割り当てられたノードを決定ノードとよぶことにする。
[Execution Index Determination Process]
The procedure for determining the execution index of the operation node in the graph program is as follows. A node to which an execution index has already been assigned is called a decision node.
(1)始めにソースノードに実行インデックスが1から順に割り当てられる。これを決定ノードとする。その割り当て順序はソースノードそれぞれの固有インデックスの順に従うものとする。 (1) First, execution indexes are assigned to source nodes in order from 1. This is a decision node. The allocation order is in the order of the unique indexes of the source nodes.
(2)決定ノード以外のノードを固有インデックス順に選ぶ。この選択は最大固有インデックスまで達すると最小固有インデックスから選択を繰り返すものとする。 (2) Select nodes other than the decision node in the order of unique indexes. When this selection reaches the maximum unique index, the selection is repeated from the smallest unique index.
(3)選ばれたノードを核ノードとし、これにA型アークで接続された全てのノードがすでに決定ノードとなり、かつ該核ノードからD型アークで接続された全てのノードがすでに決定ノードとなっている場合にかぎり、該核ノードを決定ノードとし、(2)に戻る。 (3) The selected node is a nuclear node, all nodes connected to it by A-type arcs are already determined nodes, and all nodes connected from the core node by D-type arcs are already determined nodes. Only when it is, the core node is determined as a decision node, and the process returns to (2).
(4) 全てのノードが決定ノードになると実行インデックス割り当てが終了する。 (4) When all the nodes become decision nodes, the execution index assignment ends.
D型アークの定義から、ソースをD型アークの出発ノードとすることはできない。ソースの実行インデックスより優先する実行インデックスをもつ核ノードは存在しないからである。もしもこのように接続した場合、該D型アークはA型アークと見なされる。 From the definition of D-type arc, the source cannot be the starting node of D-type arc. This is because there is no core node having an execution index that has priority over the execution index of the source. If so connected, the D-type arc is considered as an A-type arc.
グラフプログラムを通してシミュレーションを実行する場合の仮想アプリケーション(CSB1)を概念的に説明する。 A virtual application (CSB1) when executing simulation through a graph program will be conceptually described.
CSB1はグラフィカルユーザーインタフェースを通してグラフプログラミングとその編集を行うことができる。その際、各ノードの固有インデックスから実行インデックスへの変換を行いながら試行実験を通してプログラム編集ができるようになっている。
The
演算ノード、伝達アークはそれぞれプログラミングを通して固有の属性、関連、メソッドが与えられ、ノードオブジェクト型、アークオブジェクト型の集合としてまとめられる。 Arithmetic nodes and transfer arcs are given unique attributes, relations, and methods through programming, and are grouped into a set of node object types and arc object types.
演算ノードの代数演算機能、伝達アークの変換機能はメソッドに属する。 The algebraic operation function of the operation node and the transfer arc conversion function belong to the method.
演算セルは演算ノードと伝達アークから構成される構造体であるが、これはアークおよびノードそれぞれの“関連”を通したインデックスの階層構造によってオブジェクト化される。 An arithmetic cell is a structure composed of arithmetic nodes and transfer arcs, which are objectified by a hierarchical structure of indexes through the “association” of arcs and nodes.
メニューとして用意されている伝達アーク(すでに説明したアークの中では例えば、TR積分アーク、NW積分アーク、跳躍起因アークなど)のメソッドは、ソフトウエア上は命令語(例えば、Visual BasicやC言語)で記述される。積分アーク(ソフトウエア積分器)についてこれまで拡張シグナルフローグラフ(図14あるいは図16)の形で説明したが、直接これをグラフプログラムとしてプログラミングすることも可能である。実際上は言語化されている。これについて以下説明する。 The method of the transfer arc prepared as a menu (for example, TR integral arc, NW integral arc, jump-causing arc among the arcs already explained) is a command word on the software (eg Visual Basic or C language). It is described by. The integration arc (software integrator) has been described in the form of an extended signal flow graph (FIG. 14 or FIG. 16), but it can also be programmed directly as a graph program. In practice it is verbalized. This will be described below.
[跳躍起因アーク]
跳躍起因アークにおけるイベント発生から補正項組み込みまでの処理は次のように行われる。全てのTR積分器に対して共通に跳躍点発生ステップレジスタexjが、また全てのNW積分器に対して共通に跳躍点発生ステップレジスタexjjが用意されている。
[Jump-induced arc]
The processing from the event occurrence in the jumping arc to the correction term incorporation is performed as follows. A jump point generation step register exj is commonly provided for all TR integrators, and a jump point generation step register exjj is commonly provided for all NW integrators.
いま、跳躍起因アークが活性化して信号伝達するときに跳躍が発生した場合、レジスタexjにその時の計算ステップカウンタexnnの値jを、またレジスタexjjにはj+1を代入することで、図14(a)および(b)に示すようにサンプラを働かせて補正項を組み込むことが出来る。 Now, when a jump occurs when a jump-induced arc is activated and signal is transmitted, the value j of the calculation step counter exnn at that time is substituted into the register exj, and j + 1 is substituted into the register exjj. As shown in (a) and (b), the correction term can be incorporated by operating the sampler.
上記ステップカウンタexnnから上記レジスタexjおよびexjjへの値の移行手続きを、不感帯付きオンオフアークを例にして中間言語で表現すると図17のようになる。ただし、オンオフ特性は出力については0から±1、不感帯幅については入力0から±hの 点対称とする。 FIG. 17 shows a procedure for transferring values from the step counter exnn to the registers exj and exjj in an intermediate language by taking an on-off arc with a dead zone as an example. However, the on / off characteristics are point-symmetric from 0 to ± 1 for the output and from 0 to ± h for the dead band.
[TR積分器]
図14(a)を図18(a)のように変数の文字記号を改めて割り当て、これを参照し、用いながら中間言語表現を行うと図18(b)のように記述できる。
[TR integrator]
FIG. 14 (a) can be described as shown in FIG. 18 (b) by assigning a variable character / symbol again as shown in FIG.
[NW積分器]
TR積分器の場合と同様、図16に基づき図19(a)の変数文字記号の割り当てを行い同図(b)のように中間言語表現が得られる。
[NW integrator]
As in the case of the TR integrator, the variable character symbols in FIG. 19A are assigned based on FIG. 16, and an intermediate language expression is obtained as shown in FIG.
なお、図18(a)、図19(a)の中のTはサンプリング周期であるが、実際には用いられるシミュレーションツールでの計算ステップ周期で例えば10ms等に固定してある。 Note that T in FIGS. 18A and 19A is a sampling period, but in practice it is fixed at, for example, 10 ms or the like in the calculation step period in the simulation tool used.
1…演算システム構築部、2…ソースデータ記憶部、3…入力部、4…表示部、5…出力部、11…プログラムデータライブラリ、12…グラフプログラム作成・編集部、13…GUI生成分、14…プログラム実行部、21…Atr演算部、22…Btr演算部、23,33…積分値補正用加算器、31…Anw演算部、32…Bnw演算部、24,34…累積部、41,42…信号伝達経路。
DESCRIPTION OF
Claims (4)
前記時間離散的数値系列データの跳躍点をサンプリングし、前記基本演算部で算出された基本項を補正するための補正項を算出し出力する補正演算部と、
前記基本演算部で求められた基本項から前記補正演算部で求められた補正項を減算して補正された積分値を生成し出力する減算器と
を備えたことを特徴とする積分器。 Basic arithmetic unit that inputs time-discrete numerical series data and calculates the basic terms by integrating these time-discrete numerical series data as a polygonal line approximation signal that is continuous with a polygonal line by linear interpolation and using a trapezoidal formula When,
Sampling a jump point of the time-discrete numerical series data, calculating and outputting a correction term for correcting the basic term calculated by the basic calculation unit;
An integrator comprising: a subtractor that generates and outputs a corrected integral value by subtracting the correction term obtained by the correction operation unit from the basic term obtained by the basic operation unit.
The integrator according to claim 1, wherein the basic operation unit, the correction operation unit, and the subtractor are programmed using an extended signal flow graph and executed by a computer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010097333A JP5439696B2 (en) | 2010-04-20 | 2010-04-20 | Integrator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010097333A JP5439696B2 (en) | 2010-04-20 | 2010-04-20 | Integrator |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011227737A JP2011227737A (en) | 2011-11-10 |
JP5439696B2 true JP5439696B2 (en) | 2014-03-12 |
Family
ID=45043002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010097333A Expired - Fee Related JP5439696B2 (en) | 2010-04-20 | 2010-04-20 | Integrator |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5439696B2 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63129463A (en) * | 1986-11-19 | 1988-06-01 | Matsushita Graphic Commun Syst Inc | Trapezoidal integrated circuit |
JP3136150B2 (en) * | 1989-04-14 | 2001-02-19 | 日本電信電話株式会社 | Integrating circuit and method |
JP2002199766A (en) * | 2000-12-25 | 2002-07-12 | Sony Corp | Servo control device for rotational control system, and method thereof |
JP4156412B2 (en) * | 2003-03-13 | 2008-09-24 | 三菱電機株式会社 | Current sensor |
-
2010
- 2010-04-20 JP JP2010097333A patent/JP5439696B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011227737A (en) | 2011-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Stolpe | Truss optimization with discrete design variables: a critical review | |
Rein et al. | WHFAST: a fast and unbiased implementation of a symplectic Wisdom–Holman integrator for long-term gravitational simulations | |
Hirschi et al. | Automated event generation for loop-induced processes | |
Huynh | A flux reconstruction approach to high-order schemes including discontinuous Galerkin methods | |
Jansen et al. | Accelerating parametric probabilistic verification | |
Lee et al. | Modeling and simulating cyber-physical systems using CyPhySim | |
Bansal et al. | Flexibility analysis and design using a parametric programming framework | |
Castro-Godínez et al. | Compiler-driven error analysis for designing approximate accelerators | |
Bessa et al. | Verification of fixed-point digital controllers using direct and delta forms realizations | |
JP2010211684A (en) | Method, program and apparatus for processing data | |
CN111783356A (en) | Petroleum yield prediction method and device based on artificial intelligence | |
WO2015060149A1 (en) | Control system design assist device, control system design assist program, control system design assist method, operation change amount calculation device, and control device | |
JP4973957B2 (en) | Finite element method analysis method, finite element method analysis apparatus, and finite element method analysis program | |
Magnusson | Collocation methods in JModelica. org | |
Esche et al. | Dynamic process operation under demand response–a review of methods and tools | |
JP5439696B2 (en) | Integrator | |
Parastvand et al. | Controller synthesis free of analytical model: fixed-order controllers | |
Lamini et al. | Precision analysis with analytical bit‐width optimisation process for linear circuits with feedbacks | |
JP5328987B2 (en) | Method and process computer for calculating state quantities of hybrid differential algebra process model | |
Prokopakis et al. | Adaptive semiimplicit Runge-Kutta method for solution of stiff ordinary differential equations | |
JP7349811B2 (en) | Training device, generation device, and graph generation method | |
EP4227864A1 (en) | Evaluation method, evaluation device, and evaluation program | |
Piveteau | Advanced methods for quasiprobabilistic quantum error mitigation | |
Zelmat et al. | Multi-objective approach for IIR filter design and bit-width optimization | |
Carmassi et al. | CaliCo: a R package for Bayesian calibration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130304 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131031 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131119 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131129 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5439696 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |