WO2022220077A1 - 常微分方程式の数値計算装置、計算装置において常微分方程式を解く演算の実行方法、及びプログラムを記憶した記憶媒体 - Google Patents

常微分方程式の数値計算装置、計算装置において常微分方程式を解く演算の実行方法、及びプログラムを記憶した記憶媒体 Download PDF

Info

Publication number
WO2022220077A1
WO2022220077A1 PCT/JP2022/014497 JP2022014497W WO2022220077A1 WO 2022220077 A1 WO2022220077 A1 WO 2022220077A1 JP 2022014497 W JP2022014497 W JP 2022014497W WO 2022220077 A1 WO2022220077 A1 WO 2022220077A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
equation
time
calculation
state
Prior art date
Application number
PCT/JP2022/014497
Other languages
English (en)
French (fr)
Inventor
仁 城所
Original Assignee
WhiteRook合同会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by WhiteRook合同会社 filed Critical WhiteRook合同会社
Priority to EP22788002.8A priority Critical patent/EP4325381A1/en
Publication of WO2022220077A1 publication Critical patent/WO2022220077A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/13Differential equations

Definitions

  • the present invention stores a numerical computing device for executing computations to solve an ordinary differential equation in which a physical phenomenon is mathematically modeled by numerical computation, a method of executing computations for solving an ordinary differential equation in such a computing device, and a program.
  • a numerical computing device for executing computations to solve an ordinary differential equation in which a physical phenomenon is mathematically modeled by numerical computation
  • a method of executing computations for solving an ordinary differential equation in such a computing device and a program.
  • storage media Regarding storage media.
  • Equations of motion and electronic circuits that express physical phenomena as mathematical models are often ordinary differential equations. However, many ordinary differential equations are difficult to obtain analytically. For this reason, various numerical calculation methods have been proposed since the days of Carl Runge and Martin Kutta in the 19th century.
  • the controlled object may be a mechanical device or may be an electronic circuit.
  • automobiles are equipped with many control devices called ECUs (Electronics Control Units). Each ECU performs feedback control on a controlled object, which is a mechanical device such as an engine, a transmission, or a suspension.
  • the ECU that controls the voltage converter device responds to the intermittent state of the switch elements so that a predetermined voltage or current can be obtained by intermittent switching of the switch elements. Perform feedback control.
  • These control devices have the characteristic of functioning only after connecting the controlled object. Therefore, in the development of control devices, it used to be necessary to actually connect controlled objects and perform experiments/verifications. However, when a control device under development was connected to an actual controlled object for verification, an accident could occur in which the controlled object was destroyed due to imperfect control by the control device. Also, in the development of a control system that cannot be tested/verified in the actual usage environment, such as a control system for a lunar lander, it is possible to develop the control system by actually connecting the controlled object. I didn't. Alternatively, even if there is no actual machine to be controlled at the development stage, it has not been possible to develop the control device by actually connecting the controlled target.
  • HILS Hard In the Loop Simulator
  • a test device for example, Patent Document 1
  • HILS Hard In the Loop Simulator
  • a controlled object which is a mechanical device or an electronic circuit
  • the behavior of the controlled object is represented by a mathematical model realized by software within the computer.
  • Computing devices are also equipped with physical input/output means for inputting and outputting actual signals such as voltages or currents.
  • the actual physical input/output means of the control device are then connected to these physical input/output means of the computing device.
  • the computing device simulates the operation of the controlled object by executing in real time an operation that solves an ordinary differential equation.
  • HILS operates as a real-time simulator. HILS makes it possible to support the design and verification of a control device such as an ECU without preparing an actual device to be controlled.
  • SILS Software In the Loop Simulator
  • Patent Document 1 a test device called SILS (Software In the Loop Simulator)
  • the controller itself and also its physical input/output means are simulated by the computing device.
  • SILS then simulates the overall operation of the controller and the controlled object by software processing executed by the computing device.
  • the mathematical models used in HILS or SILS are equations of motion that express the operation of mechanical devices, which are controlled objects, and circuit equations that express the operation of electronic circuits.
  • This equation can be expressed as an equation of state, which is generally an ordinary differential equation.
  • a linear state equation in which the sum of the results of multiplying the state variable vector by a first coefficient matrix and the input vector by a second coefficient matrix equals the first derivative of the state variable vector is the control It is useful as a mathematical model that represents the behavior of an object, and is often used by approximating the above formula even in the case of non-linearity.
  • the "state variable vector” refers to the solution of an ordinary differential equation.
  • LTI Linear Time Invariant
  • the eigenvalues contained in such a diagonal matrix are generally complex numbers.
  • a state equation in which the magnitudes of a plurality of eigenvalues are significantly different is called a so-called stiff equation whose solution includes relatively high frequency components and low frequency components (for example, Patent Document 2).
  • the backward Euler method, the trapezoidal method, and the Gear method are not suitable calculation methods for HILS, which requires real-time calculation, and the verification time for the control device becomes long even for SILS. There was a problem.
  • HILS is applied after verification by SILS, there is also a problem that verification accuracy is degraded due to different calculation algorithms.
  • the backward Euler method has a first-order approximation accuracy with respect to the calculation step h, so the calculation accuracy is low.
  • the trapezoidal method has second-order approximation accuracy, but for eigenvalues far from the origin, even if the solution converges to a constant value, the solution oscillates and does not converge to a constant value.
  • the Gear method increasing the order narrows the stable region, leaving an unstable region in the left-half plane, which is the stable region of the continuous system ordinary differential equation. Therefore, it must be said that there is no computational algorithm that can satisfactorily solve stiff equations.
  • An ordinary differential equation numerical calculation device of an example of an aspect is a calculation device that performs an operation to solve a state equation, which is an ordinary differential equation that mathematically models the operation of a controlled object, and is a state variable vector term that represents a state.
  • a difference equation showing the difference relationship between discrete times determined by a predetermined calculation step for an ordinary differential equation containing a term obtained by multiplying a first coefficient matrix and a term obtained by multiplying an input vector term representing an input by a second coefficient matrix A matrix exponential series that approximates a matrix exponential function whose exponent is a constant matrix that can be regarded as an invariant constant over time, and is composed of a power term of the product of a given calculation step and a constant matrix equation setting means for setting a state equation, wherein a first coefficient matrix and a second coefficient matrix each including a first matrix power series of finite order are defined, respectively; Separating into a time-invariant calculation step and a time-variable calculation step, at least a second matrix power series of finite order
  • a computing device it is possible for a computing device to stably solve a stiff ordinary differential equation with low computational load and high accuracy.
  • a computing device it is possible to expand the scope of development targets for control devices to which HILS can be applied.
  • SILS it also contributes to shortening the calculation time in the field of general numerical calculation, improves the consistency of the verification results of SILS and HILS, and contributes to the efficiency improvement of various analyses.
  • FIG. 4 is a diagram for explaining the complex plane region of the product h ⁇ of the eigenvalue ⁇ that can be stably calculated in the Runge-Kutta method and the calculation step h. It is a figure explaining the simulated operation
  • FIG. 4 is a diagram for explaining the simulated operation of the converter circuit by the partially variable step method;
  • 1 is a block diagram illustrating one embodiment of a computing device;
  • FIG. It is a figure explaining the example of the circuit diagram of a boost converter apparatus. It is a flowchart which shows the example of a process of a pulse signal measuring means.
  • FIG. 4 is a flow chart showing a processing example of a state equation calculating means;
  • FIG. 3 is a diagram (part 1) for explaining a stable region of the Yummy method;
  • FIG. 11 is a diagram (part 2) explaining a stable region of the Yummy method;
  • FIG. 3 is a diagram (part 3) explaining a stable region of the Yummy method;
  • FIG. 11 is a diagram (part 1) for explaining time-series calculation results of the Yummy method;
  • FIG. 11 is a diagram (part 2) for explaining time-series calculation results of the Yummy method;
  • this embodiment a form for carrying out the present invention (hereinafter referred to as "this embodiment") will be described in detail with reference to the drawings.
  • this embodiment first, general technical background regarding the method of solving ordinary differential equations by numerical calculation will be described. After specifically clarifying the problems of the general technique, the present embodiment will be described in detail.
  • the ordinary differential equation of the above equation (1) is a linear state equation and a linear state equation using the A and B matrices and the input vector U (t) representing the external force by a piecewise linearization method using an operating point, which is a known technique. It is known that it can be expressed in the form of the following equation (2).
  • the linear state equation is obtained by multiplying the state variable vector X(t) by the coefficient matrix A, multiplying the input vector U(t) by the coefficient vector B, and multiplying each multiplication result AX(t) by BU(t).
  • sum is the first derivative of the state variable vector has the form equal to
  • HILS In HILS or SILS, it is important to efficiently perform operations for solving the equation of state in the form of equation (2).
  • HILS it is necessary to solve the equation of state of equation (2) in real time and supply the resulting signal to the control device in real time in accordance with the control device that operates in real time. be. Therefore, it is extremely important to have a technique for executing numerical solution calculations of the equation of state at high speed in a computing device in time for the real-time processing.
  • the coefficient matrices A and B in the above equation (2) do not necessarily have to be constant matrices. However, if the elements of the coefficient matrices A and B are constants that do not change over time, the equation (2) becomes a linear state equation of a so-called LTI (Linear Time Invariant) system.
  • LTI Linear Time Invariant
  • the physical model used in HILS or SILS is often sufficient to assume an LTI system. If the above equation (2) is the state equation of the LTI system and the input U(t) can be regarded as a constant value U, the matrix exponential function can be used to obtain the general solution of the following equation (3).
  • the eigenvalues ⁇ s (1 ⁇ s ⁇ n) of equation (8) above are generally complex numbers. As described above, a state equation in which a plurality of eigenvalues ⁇ s are significantly different is called a so-called Stiff equation.
  • equation (2) can be treated as a scalar simultaneous equation given by equation (9) below.
  • Equation (2) is equivalent to the scalar simultaneous equation of the equation (9), if even one eigenvalue of the A matrix of the equation (2) satisfies the condition of the equation (12), the solution of the equation (2) The computation will diverge.
  • the ordinary differential equation is the aforementioned Stiff equation, the condition of Equation (12) is easily satisfied.
  • the horizontal axis is the real part axis indicating the real part of the value of ⁇
  • the vertical axis is the imaginary part axis indicating the imaginary part of the value of ⁇ .
  • the order of the matrix exponential approximation method refers to the value of N in the above equation (6).
  • FIG. 2 is a diagram explaining the complex plane region of the product h ⁇ of the eigenvalue ⁇ and the calculation step h that can be stably calculated by the Runge-Kutta method.
  • the horizontal axis is the real part axis indicating the real part of the value of the product h ⁇
  • the vertical axis is the imaginary part axis indicating the imaginary part of the value of the product h ⁇ .
  • the stability region curves 201, 202, and 203 in FIG. plots the value of the product h ⁇ on the stability boundary that can be calculated without divergence.
  • h is the calculation step when the above-mentioned Runge-Kutta method is executed, and ⁇ is calculated by the above-described formula (7) using the coefficient matrix A and the regular matrix P of formula (2). be done.
  • the dashed line area 204 is the existence area of the product h ⁇ based on the stiff eigenvalues.
  • a dashed line area 205 is an existence area of the product h ⁇ based on the eigenvalues that govern the response.
  • the calculation step h is reduced so that the existence region 204 of the product h ⁇ is the stable region curves 201, 202, or 203 must be included. If the calculation step h is reduced, the existence region of the product h ⁇ moves from the region 204 in the direction indicated by the dashed arrow 206 in FIG. is possible. However, when the calculation step h is reduced, the calculation step h becomes excessively small near the existence region 205 of the product h ⁇ based on the eigenvalue with a small absolute value that governs the response of the equation.
  • the backward Euler method represented by the following equation (15), the trapezoidal method represented by the following equation (16), or the Gear A numerical method for solving backward differential equations, known as the modulus (formulas omitted), is commonly used.
  • the backward Euler method has a first-order approximation accuracy with respect to the calculation step h, so the calculation accuracy is low.
  • the trapezoid method has second-order approximation accuracy, but for eigenvalues far from the origin, even if the solution converges to a constant value, the solution oscillates and does not converge to a constant value. .
  • increasing the order narrows the stable region, leaving an unstable region in the left-half plane, which is the stable region of the continuous system ordinary differential equation. Therefore, it must be said that there is no computational algorithm that can satisfactorily solve stiff equations.
  • the calculation algorithm according to the present embodiment which will be described below, has the feature of having a computational load equivalent to that of the forward Euler method, which has the lowest computational load, while having an extremely wide computational stability region on the complex plane. Details of this embodiment will be described below.
  • the matrix exponential approximation method is a useful computational method without impairing practicality.
  • the fact that the calculation step h is a constant limits the range of applications.
  • the circuit behavior corresponding to the switching timing of the switching circuit is accurately calculated. Therefore, the calculation step hf is the measured value at the time of real-time operation.
  • Equation (18) is calculated during real-time operation. Furthermore, if the constant coefficient matrix (A ym A) and the coefficient matrix B can be regarded as constants as in equation (19), then if the constant coefficient matrix (A ym B) is also calculated in advance, this The computational scale of the formula is equivalent to that of the forward Euler method represented by the formulas (10) and (11) described above. Therefore, the form of equation (19) is the currently known numerical calculation technique with the lowest computational load. Note that the correspondence with the continuous system is shown by equation (20), where h is the calculation step width.
  • the embodiment of this computing device simulates a converter device that generates a predetermined voltage according to the ON/OFF time of a pulse signal as a controlled object.
  • FIG. 3 is a diagram for explaining the simulated operation of the converter circuit by the fixed step method
  • FIG. 4 is a diagram for explaining the simulated operation of the converter circuit by the partially variable step method. Both FIG. 3 and FIG. 4 are based on the paper document 1 or 2 mentioned above.
  • HILS uses a fixed-step method in which the calculation time h is set to a constant value due to real-time constraints, as shown in FIG.
  • the pulse time resolution that is, the time resolution of the ON/OFF time of the pulse time of the converter device is significantly deteriorated.
  • SILS although there are no real-time constraints, it is common to perform calculations similar to those in HILS in order to achieve consistency with HILS. Therefore, SILS also has the same problem as the above.
  • the inventors of the present application have proposed a method called the partial variable step method, which can significantly improve the resolution of the pulse ON/OFF time, in the papers 1 and 2 mentioned above.
  • the partial variable step method which can significantly improve the resolution of the pulse ON/OFF time, in the papers 1 and 2 mentioned above.
  • FIG. 5 is a block diagram showing an embodiment of a computing device 500 that is an embodiment of the present invention
  • FIG. 6 is a diagram explaining an example of a circuit diagram of a converter device to be simulated
  • FIG. 7 is the computing device 500 of FIG.
  • FIG. 8 is a flowchart showing an example of processing by the pulse signal measuring means 508 in FIG. 5, and FIG.
  • FIG. 5 is a block diagram showing computing device 500, which is one embodiment of the present invention.
  • the computing device 500 is, for example, an embodiment of a so-called HILS having physical signal input/output means, and as described above, for example, a converter device that generates a predetermined voltage from a pulse signal from a control device (not shown). is simulated as a controlled object.
  • This computing device is hereinafter referred to as HILS computing device 500 .
  • the HILS computing device 500 has a CPU (central processing unit), ROM (read only memory), RAM (random access memory), flash memory mounting device, etc. as so-called embedded computer hardware.
  • CPU central processing unit
  • ROM read only memory
  • RAM random access memory
  • flash memory mounting device etc. as so-called embedded computer hardware.
  • the communication means 501 is so-called Ethernet or CAN communication, or equivalent thereto.
  • Yummy matrix calculation means 502, Yummy matrix storage means 503, vector calculation means 506, pulse signal measurement means 508, and state equation calculation means 509 are the HILS control stored in the memory card mounted on the flash memory device. It is a functional block group for reading a program into the RAM and executing it.
  • the reference time generating means 507 is timer device hardware built into the computer of the HILS computing device 500 .
  • the digital signal input means 504, voltage input means 505, and voltage output means 510 are configured by the input/output interface device.
  • a host computer 520 is communicatively connected to the communication means 501 via a network such as a local area network, the Internet, or a dedicated communication line.
  • the digital signal input means 504 and voltage input means 505 operate as computing device side physical input means, and are connected to the digital signal output means and voltage output means of the control device side physical output means of the control device (not shown). .
  • the digital signal input means 504 monitors each voltage of a plurality of signal lines from the control device, and calculates a vector of each digital input signal of "1" when it exceeds a predetermined threshold and "0" when it does not exceed a predetermined threshold. Output to means 506 and pulse signal measuring means 508 .
  • the voltage input means 505 for example, incorporates a plurality of analog/digital converters, converts a plurality of analog input voltage values from the control device into digital input voltage values, and outputs each digital input voltage value to the vector calculation means 506. do.
  • the host computer 520 may be a general personal computer, and can execute a circuit simulation software program for generating a mathematical model simulating a HILS converter device, for example.
  • a circuit simulation software program for generating a mathematical model simulating a HILS converter device, for example.
  • the circuit diagram of the boost converter device shown in FIG. Create with a display for example, the circuit diagram of the boost converter device shown in FIG. Create with a display.
  • the circuit of FIG. 6 comprises a high side switch Qh and a low side switch Ql . These switches perform ON/OFF operation alternately. For example, when the externally input PWM (Pulse Waveform Modulation) signal is at high (Hi) level, Qh is in ON state and Ql is in OFF state, and when it is at low (Lo) level, Qh is OFF state, Ql is ON state.
  • PWM Pulse Waveform Modulation
  • the circuit simulation software sets the resistance value rsh when the switch element Qh is ON, and sets the resistance value rsl when the switch element Ql is OFF. Then, this software converts the A and B matrices of the state equation shown in equation (2) and the C and D matrices constituting the output equation shown in equation (25) below to According to the description, it is generated by, for example, calculations of the following formulas (21) to (27). Note that equation (2) is simplified and reprinted as equation (21).
  • the circuit simulation software described above uses the circuit shown in FIG. set to Then, the software generates the A, B , C, and D matrices by the calculations of the above formulas (21) to (27), and transforms these matrices into AH, BH , CH , and DH matrices output as
  • the circuit simulation software described above uses the circuit shown in FIG. set to Then, the software generates the A, B, C , and D matrices by the calculations of the above equations (21) to (27), and transforms these matrices into AL, BL , CL , and DL matrices output as
  • circuit simulation software performs eigenvalue decomposition on the AH and AL matrices, and calculates a constant calculation step h exp according to a predetermined procedure based on the obtained eigenvalues.
  • the host computer 520 for example, when the pulse signal input to the digital signal input means 504 is at a high level (ON), the ON-time coefficient matrix A H , B H , CH , and DH , OFF-time coefficient matrices AL , BL , CL , and DL that constitute the state equation of formula (2) when the pulse signal is at low level (OFF), and predetermined output a constant calculation step h exp which is a constant of .
  • These data are received and stored in the communication means 501 which is the equation setting means of the HILS calculation device 500 .
  • the Yummy matrix calculation means 502 which is the pre-calculation means, receives the coefficient matrices AH and AL and the constant calculation step h exp received by the communication means 501, and based on these data, Yummy matrices A ymH and A ymL are calculated by the calculation of the formula (17) described above, and these Yummy matrices are stored in the Yummy matrix storage means 503 .
  • the Yummy matrix storage means 503 outputs the stored Yummy matrices AymH and AymL to the state equation calculation means 509 .
  • the digital signal input means 504 acquires a pulse signal from a control device (not shown).
  • the digital signal input means 504 converts the input signal into a value of "0" or "1” and sends it to the pulse signal measuring means 508 and the vector calculating means 506 as the value of the variable pulse.
  • the vector calculation means 506 creates a U vector whose elements are the given numerical values as described above. Since the first element of the U vector is a constant term, the value "1" must be set.
  • FIG. 7 is a flow chart showing a processing example of the pulse signal measuring means 508. As shown in FIG. First, the value of the variable Count is reset to "0" (step 01 in FIG. 7). In the following description, "variables" are stored in a RAM (not shown) constituting computing device 500 or the like.
  • step 02 the signal from the reference time generation means 507 in the HILS calculation device 500 is examined, and the signal waits until it changes (repeated determination of step 02 is NO (denoted as "N" in the figure)).
  • step 02 When the signal from the reference time generating means 507 changes and the determination in step 02 becomes YES (denoted as "Y” in FIG. 7), the value of the variable Count is incremented by +1 (denoted as "++” in the figure) ( Step 03 in FIG. 7).
  • step 04 determines whether the value of the variable pulse given by the digital signal input means 504 is "1" (step 05 in FIG. 7).
  • step 05 determines whether the PWM signal has changed. If the determination in step 05 is YES, it is assumed that the PWM signal has changed, and the setting process represented by the following equation (28) is executed (step 07 in FIG. 7).
  • step 05 If the determination in step 05 is NO, the PWM signal is assumed to be at Lo level and has not changed, and the setting process represented by the following equation (29) is executed (step 08 in FIG. 7).
  • step 04 it is determined whether the value of the variable pulse given by the digital signal input means 504 is "0" (step 06 in FIG. 7).
  • step 06 determines whether the PWM signal has changed, and the setting process represented by the following equation (30) is executed (step 09 in FIG. 7).
  • count means the value set in the variable count.
  • step 06 If the determination in step 06 is NO, it is determined that the PWM signal is at Hi level and has not changed, and the setting process represented by the following equation (31) is executed (step 10 in FIG. 7).
  • step 11 If the determination in step 11 is NO, return to step 02 and repeat the same processing as above.
  • step 12 set the contents of the variable pulse to the variable old_pulse (step 13).
  • step 13 After step 13, return to step 01, reset the value of the variable Count to "0", and then repeat the same processing as above.
  • the PWM signal Since the value of the variable pulse is set to the variable old_pulse in step 13, the PWM signal causes so-called chattering during the time interval hexp, so that the operation of repeating Hi level and Lo level in a short period of time is ignored. be. Only when the Hi level or Lo level continues for a time exceeding the time interval h exp , it is recognized that the PWM signal has changed, and the change is reflected in the values of hH and hL .
  • FIG. 8 is a flow chart showing a processing example of the state equation calculation means 509 of FIG.
  • the state variable vector X is given an initial value X 0
  • the variable old_pulse is set to the value "0" (step 20 in FIG. 8).
  • step 21 When the timing pulse is input and the determination in step 21 becomes YES, it is determined whether or not the value of the variable old_pulse is "0" (step 22 in FIG. 8).
  • step 22 determines whether the pulse in the previous process is Lo level, so the output variable vector Y is calculated by the following equation (32) (step 23 in FIG. 8). .
  • step 22 If the determination in step 22 is NO (value "1"), the pulse in the previous process is at Hi level, so the output variable vector Y is calculated by the following equation (33) (step 24 in FIG. 8). .
  • step 25 in Fig. 8 it is determined whether or not the value of the variable pulse is "0" (step 25 in Fig. 8).
  • step 25 If the determination in step 25 is YES (value "0"), calculations represented by the following formulas (34) and (35) are executed (step 26). Since the timing pulse is awaited in step 21 and the timing pulse is issued in step 12 of FIG. 7 at the time interval of h exp , the following processing is performed at the time interval of h exp .
  • step 25 If the determination in step 25 is NO (value "1"), the calculations represented by the following formulas (36) and (37) are executed (step 27).
  • step 26 where calculations are first performed using A ymH and AH, and then calculations are performed using A ymL and AL . Since the processing of step 26 is synchronized with the timing pulse issued at the time interval of h exp in step 21, the processing of step 26 updates the state variable vector X at the time interval of h exp . Executed twice. On the other hand, the calculation of the output variable vector is performed only once in steps 23 and 24 . That is, the output variable vector Y is not calculated for the values of the state variable vector X_tmp calculated in steps 26 and 27, and is not output as an output voltage from the voltage output means 510 in the HILS calculation device 500, which will be described later.
  • step 27 has a relationship in which the above-described Hi level and Lo level are reversed.
  • variable old_pulse is set to the value of the variable pulse.
  • the voltage output means 510 outputs a voltage value corresponding to the output variable vector Yn output by the state equation calculation means 509 .
  • This voltage value is updated at the time interval at which the output variable vector Y is updated, that is, at the time interval h exp .
  • the analog voltage value converted from the digital voltage signal by the digital/analog converter in the voltage output means 510 and output is input to the control device side physical input/output means of the control device. be done.
  • the control device interprets this analog voltage value as a signal from a sensor device installed on the controlled object, determines the behavior of the controlled object, and outputs a predetermined control output.
  • This control output is input to the digital signal input means 504 or voltage input means 505 of the HILS calculation device 500 .
  • a closed loop of feedback is formed between the control device and the HILS computing device 500, which is the controlled object.
  • the HILS calculation device 500 of FIG. 5 can simulate the converter device shown in the circuit diagram of FIG. 6 and provide the control device with a controlled object.
  • FIG. 9 9 to 11 are diagrams for explaining the stable region of the Yummy method according to this embodiment.
  • the horizontal axis is the real part axis representing the real part of the eigenvalue ⁇
  • the vertical axis is the imaginary part axis representing the imaginary part of the value of ⁇ .
  • FIG. 9 9 to 11 as in FIG. 1, the horizontal axis is the real part axis representing the real part of the eigenvalue ⁇ , and the vertical axis is the imaginary part axis representing the imaginary part of the value of ⁇ .
  • 901 is the stability region curve of the forward Eu
  • the host computer 520 computes the eigenvalues of the coefficient matrices A H , A L such that all of these eigenvalues are in the stability region of the Nth-censored matrix exponential approximation, h
  • the exp and order N are determined and sent to the HILS calculator 500 .
  • the pulse signal measuring means 508 of FIG. 5 can be h exp if either h H or h L is greater than h exp .
  • the equation-of-state solution computation in the equation-of-state calculator 509 does not become unstable.
  • the calculation accuracy of the Yummy method according to this embodiment will be described.
  • 12B shows the solution result of the equations of motion of the above equations (42) and (43), with the horizontal axis: time (seconds) and the vertical axis: “x 2 : displacement [m] of mass m 2 ”.
  • 1212 (solid line) is the exact solution
  • one may be selected from the plurality of calculation results and calculated.
  • FIG. 13A shows the solution result of the equations of motion of the above equations (42) and (43), with the horizontal axis: time (seconds) and the vertical axis: “x 1 : displacement [m] of mass body m 1 ”.
  • 1302 solid line) is the exact solution
  • FIG. 13A shows the solution result of the equations of motion of the above equations (42) and (43), with the horizontal axis: time (seconds) and the vertical axis: “x 1 : displacement [m] of mass body m 1 ”.
  • 1301 (“ ⁇ " mark) is the calculation result of the Yummy method (h
  • 13B shows the horizontal axis: vertical axis against time (seconds): "x 2 : displacement [m] of mass m 2 ", the horizontal axis of the equations of motion of the above-described equations (42) and (43):
  • FIG. 14 is a block diagram illustrating another embodiment of a computing device; FIG. 14 is an example in which computing device 1400 configures SILS. This computing device is hereinafter referred to as SILS computing device 1400 .
  • SILS computing device 1400 instead of the communication means 501 of FIG. 5, a circuit simulation execution means 1402 is provided, and the aforementioned A, B, C, and D matrices used in the state equation are set. 14, blocks with the same reference numbers as in FIG. 5 have the same functions as in FIG.
  • the SILS calculation device 1400 also includes a controller control law calculation means 1401 .
  • the controller was connected externally to the computing device 500 operating as a HILS via digital signal input means 504, voltage input means 505, or voltage output means 510.
  • FIG. 14 the operation of the control device can be simulated by the control device control law calculation means 1401 in the SILS calculation device 1400 .
  • the SILS calculation device 1400 in FIG. 14 it is possible to verify the operation of the control law of the control device by the built-in control device control law calculation means 1401 by itself.
  • the output of the state equation calculation means 509 is fed back to the controller control law calculation means 1401 and can be displayed on the display device 1404 for confirmation.
  • the input vector U(t) from the controller control law calculation means 1401 to the state equation calculation means 509 may also be confirmed on the display device 1404 .
  • SILS computing device 1400 incorporates circuit simulation execution means 1402 and can execute circuit simulation software executed by host computer 520 in FIG.
  • the circuit simulation executing means 1402 derives state equations from a circuit diagram (see FIG. 6) input by the user through the keyboard device 1403, for example, and similarly to the HILS computing device 500 of FIG. Generate the BH , CH , DH matrices and the AL, BL , CL , DL matrices.
  • circuit simulation executing means 1402 analyzes the equation of state, calculates M+1 calculation steps, which are predetermined constants, from calculation steps h exp0 to h expM that can be stably calculated, and performs Yummy matrix calculation on these calculation steps. send to means 502; Note that the values of these calculation steps are set in the order in which h expM ⁇ . . . ⁇ h exp1 ⁇ h exp0 .
  • Yummy matrix calculation means 502 calculates A ym0H to A ymMH matrices and A ym0L to A ymML matrices based on the respective values of h exp0 to h expM and stores them in Yummy matrix storage means 503 .
  • the Yummy matrix storage means 503 stores these data in correspondence shown in the table of FIG. ), and also set the order N in the Yummy method for each data set.
  • the Yummy matrix storage means 503 selects the A ymH and A ymL matrices according to the values of the calculation steps hH and hL sent from the pulse signal measurement means 508, and converts them into the state equation Send to calculation means 509 .
  • FIG. 16 is a flow chart showing an example of Yummy matrix selection processing executed by the Yummy matrix storage means 503 .
  • the value of the array data h exp [i] is less than the value of the calculation step h L and the determination in step 31 becomes YES, the value of the array data A ymL [i] corresponding to the value of the variable i at that time is changed to A ymL matrix (step 33 in FIG. 16).
  • the last value is "-1", so the determination in step 31 is always YES for any value of i.
  • step 35 After resetting the value of the variable i to "0" at step 34, while incrementing the value of the variable i by +1 at step 36, at step 35, the value of the array data h exp [i] becomes The operation of checking the value of each array data h exp [i] is repeated until it is determined that it is less than the value of the calculation step h H (determination in step 31 is NO ⁇ step 32 ⁇ repeat of determination in step 31).
  • N used to calculate A ymL and A ymH is shown in the table of FIG. If the value of h exp becomes smaller, the value of N can also be reduced so that the time required to calculate A ymL and A ymH can be shortened. As described above, there is a relationship of h exp3 ⁇ h exp2 ⁇ h exp1 ⁇ h exp0 . Therefore, by the control process of the flowchart shown in FIG. 16, for example, if h exp0 ⁇ h H ⁇ h exp1 , the A ymL matrix calculated by h exp0 is selected. As a result, the equation-of-state calculation means 509 in FIG. 14 can perform calculations using the AymL matrix that can stably perform high-precision calculations.
  • the test can be performed by the controller control law calculation means 1401 without the digital signal input means 504 and the voltage output means 510 in the HILS calculation device 500 in FIG. It is possible to execute the control law that performs
  • the computing device can stably solve stiff ordinary differential equations with low computational load and high accuracy.
  • it is possible to expand the scope of development targets for control devices to which HILS can be applied.
  • SILS it also contributes to shortening the calculation time in the field of general numerical calculations, making it possible to improve the efficiency of various analyses.
  • the Yummy method described in this embodiment is an epoch-making calculation algorithm characterized by having an extremely wide calculation stable region on the complex plane and having a calculation load equivalent to that of the forward Euler method, which has the lowest calculation load. be. Therefore, by applying it to applications such as HILS, which must deal with stiff equations while there are restrictions on calculation time, it is possible to simulate mechanisms and electronic circuits such as those illustrated in FIG. That is, it enables real-time simulation.
  • SILS verifies the control algorithm of control equipment in a computer without using physical signals, and also contributes to shortening the calculation time in the field of general numerical calculation. This improves the consistency of verification results and contributes to the efficiency of various analyses.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Operations Research (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Complex Calculations (AREA)

Abstract

状態を表す状態変数ベクトル項及び入力を表す入力ベクトル項に夫々第1及び第2の係数行列を乗算した項を含む常微分方程式であって、所定の計算ステップで定まる離散時間に関する差分方程式の形式を有し、第1及び第2の係数行列が夫々、行列指数関数を近似する、所定の計算ステップと上記定数行列との積の冪乗項により構成される有限な次数の第1の行列冪級数を含む、状態方程式が設定される。事前計算手段であるYummy行列計算手段502は、計算ステップを時間的に不変な時間不変計算ステップhexpと時間的に変化し得る時間可変計算ステップhとに分離し、時間不変計算ステップhexpと定数行列Aとの積の冪乗項により構成される有限な次数の第2の行列冪級数であるYummy行列と、Yummy行列に基づく第1の定数係数行列及び第2の定数係数行列を、状態方程式の解法演算に先立って事前に計算する。状態方程式計算手段509は、Yummy行列計算手段502が計算した第1及び第2の定数係数行列の夫々と、パルス信号計測手段508が順次算出する時間可変計算ステップとの間の簡単な乗算演算により夫々第1の係数行列及び第2の係数行列を算出しながら、差分方程式に対する解法演算を実行する。行列指数近似の次数Nがどんなに長くなっても、その冪級数部分は予めYummy行列として計算しておくことができるため、状態方程式の解法演算を精度高く短い計算時間で実行可能となる。

Description

常微分方程式の数値計算装置、計算装置において常微分方程式を解く演算の実行方法、及びプログラムを記憶した記憶媒体
 本発明は、物理現象を数学的にモデル化した常微分方程式を数値計算により解く演算を実行する数値計算装置、そのような計算装置において常微分方程式を解く演算の実行方法、及びプログラムを記憶した記憶媒体に関する。
 物理現象を数学的モデルとして表現する運動方程式や電子回路は、常微分方程式となる事が多い。しかしながら、多くの常微分方程式は解析的に求めることは困難である。このため、古くは19世紀のCarl Runge、Martin Kuttaの時代より、様々な数値計算手法が提案されてきている。
 今日では、制御対象を接続することにより、その制御対象に対してフィードバック制御を行う制御装置が無数に存在する。その制御対象は、機械装置である場合もあり、或いは電子回路である場合もある。例えば、自動車には、ECU(Electronics Control Unit:電子制御ユニット)と呼ばれる制御装置が多く搭載されている。夫々のECUは、例えばエンジン、トランスミッション、又はサスペンションなどの機械装置である制御対象に対して、フィードバック制御を行う。また、近年の車両はいくつかの異なる電圧を電子機器に使用しているため、電圧コンバータ装置を制御するECUはスイッチ素子の断続により所定の電圧あるいは電流となるよう、スイッチ素子の断続状態に対しフィードバック制御を行う。これらの制御装置は、制御対象を接続して初めて機能するという特性を持つ。従って、制御装置の開発においては、かつては、実際に制御対象を接続して実験/検証を行う必要があった。しかし、開発段階の制御装置を実際の制御対象に接続して検証を行った場合、制御装置による制御が不完全であることにより、制御対象が破壊されてしまうという事故が起こり得た。また、例えば月着陸船の制御装置のように、実際の使用環境での実験/検証が不可能な制御装置の開発においては、制御対象を実際に接続してその制御装置を開発することができなかった。或いは、開発段階において制御対象の実機が存在しない場合においても、制御対象を実際に接続してその制御装置を開発することができなかった。
 このような問題を解決するために、従来、HILS(Hardware In the Loop Simulator)と呼ばれるテスト装置が知られている(例えば特許文献1)。HILSでは、機械装置又は電子回路である制御対象が計算装置におけるソフトウェア処理によって模擬される。この場合、制御対象の動作は、計算機内のソフトウェアによって実現される数学モデルで表現される。また、計算装置は、電圧又は電流等の実際の信号を入出力する物理的入出力手段を装備する。そして、計算装置のこれらの物理的入出力手段に、制御装置の実際の物理的入出力手段が接続される。計算装置は、常微分方程式を解く演算を実時間で実行することにより制御対象の動作を模擬する。そして、計算装置は実際の信号を制御装置に対して実時間で入出力することにより、ハードウェアである制御装置を実際に動作させてテストする。即ち、HILSは、リアルタイムシミュレータとして動作する。HILSにより、制御対象の実機を用意することなく、ECUなどの制御装置の設計及び検証を支援することが可能となる。
 更に、SILS(Software In the Loop Simulator)と呼ばれるテスト装置も知られている(例えば特許文献1)。SILSでは、制御装置自体、及びその物理的入出力手段も計算装置によって模擬される。そして、SILSは、制御装置と制御対象の全体の動作を、計算装置が実行するソフトウェア処理によって模擬する。
 HILS又はSILSで用いられる数学モデルは、制御対象である、機械装置の動作を表現する運動方程式や、電子回路の動作を表す回路方程式である。この方程式は、一般的に常微分方程式である状態方程式として表現することができる。特に、状態変数ベクトルに第1の係数行列を乗算し、入力ベクトルに第2の係数行列を乗算した各乗算結果の和が、状態変数ベクトルの1階の導関数に等しい線形状態方程式は、制御対象の挙動を表す数学モデルとして有用であり、非線形の場合であっても上記形式に近似して用いられることが多い。ここで、「状態変数ベクトル」とは、常微分方程式の解をいう。
 HILSにおいては、実時間で動作する制御装置に合わせて、線形状態方程式を実時間で解きながら、その結果導出される信号を制御装置に対して実時間で入出力する必要がある。従って、状態方程式の数値解法演算を上記実時間処理に間に合うように計算装置で高速に実行する技術は、極めて重要である。
 連続系の状態方程式を解くための計算方法としては、その状態方程式を離散信号形式で表現することにより差分方程式として計算する数値計算手法が良く知られている。この解法の代表例としては、Runge-Kutta法が知られている。
 ところで、線形状態方程式における係数行列の要素が一定時間において不変な定数であれば、その方程式は、所謂LTI(Linear Time Invariant:線形時間不変)システムの方程式となる。HILS又はSILSで用いられる物理モデルは、LTIシステムを仮定しても十分であることが多い。このようなLTIシステムの状態方程式においては、係数行列を対角要素が互いに異なる固有値である対角行列に変換することができる場合がある。
 このような対角行列に含まれる固有値は、一般に複素数である。そして、複数の固有値の大きさが著しく異なる状態方程式は、解が周波数の比較的高い成分と低い成分を含む、いわゆるStiffな方程式と呼ばれる(例えば特許文献2)。
特許第5692739号公報 特開2005-025651号公報
 上述のようなLTIシステムを仮定できる状態方程式(常微分方程式)を、前述したRunge-Kutta法などによる差分方程式に変換して演算する場合について考える。このケースでは、差分方程式における離散時間の計算ステップと対角行列の固有値の関係が適切でない場合、計算がプラス無限大(∞)又はマイナス無限大(-∞)に発散することが知られている。特に、前述したStiffな方程式を解く場合に、絶対値の大きな固有値でも計算が発散しないようにするためには、計算ステップhを小さくしなければならない。しかしながら、計算ステップhを小さくした場合、方程式の応答を支配する絶対値の小さな固有値に対しては、その計算ステップは過剰に小さくなりすぎる。この結果、計算ステップを小さくした場合、計算誤差が蓄積すると共に、それ以上に、例えばHILSの場合には、計算ステップhが意味する物理的時間以内で計算が間に合わなくなる、という事態を招いてしまうという問題があった。
 このような問題を解決するために、更に従来、複素平面のいわゆる左半平面全体を計算安定領域とする、後退Euler法、台形法(Tustin法)、又はGear法と呼ばれる後退微分方程式を用いた解法が知られている。しかしながら、これらの解法は、陰解法と呼ばれ、計算が容易ではない。即ち、常微分方程式が前述したようなLTIシステムの場合であっても逆行列を計算する必要があり、計算負荷が極めて高くなる。また、常微分方程式が非線形方程式であれば、Newton法などの反復計算が必要となり、この場合も計算負荷が極めて高くなる。このため、後退Euler法や台形法やGear法は、実時間での計算を要求されるHILSに適した計算法ではなく、SILSに対しても制御装置のための検証時間が長くなってしまうという問題点があった。またSILSで検証したのち、HILSを適用する場合、計算アルゴリズムが異なることよる検証精度の劣化を招くという問題点もあった。
 更に、計算ステップhに対して、後退Euler法は1次の近似精度であるため、計算精度が低い。台形法は2次の近似精度となるが、原点から離れた固有値に対しては、本来は解が一定値に収束する場合にあっても、解が振動し一定値に収束しないという問題がある。一方、Gear法においては、次数を上げると安定領域が狭まり、連続系常微分方程式の安定領域である左半平面内において、不安定な領域が残る。このため、Stiffな方程式を満足に解くことのできる計算アルゴリズムは、皆無であると言わざるを得ない。
 以上の考察からわかるように、計算装置において絶対値が小さな固有値と絶対値が大きな固有値を共に有するStiffな方程式を適切に解く演算を実行することは、従来困難であった。
 そこで、本発明は、計算装置において、Stiffな常微分方程式を安定して解く演算を、計算負荷が低くかつ高精度に、実行可能とすることを目的とする。
 態様の一例の常微分方程式の数値計算装置は、制御対象の動作を数学的にモデル化した常微分方程式である状態方程式を解く演算を実行する計算装置であって、状態を表す状態変数ベクトル項に第1の係数行列を乗算した項と入力を表す入力ベクトル項に第2の係数行列を乗算した項を含む常微分方程式について、所定の計算ステップによって定まる離散時間間の差分関係を示す差分方程式の形式を有し、一定時間において不変な定数とみなせる定数行列を指数とする行列指数関数を近似する行列冪級数であって、所定の計算ステップと定数行列との積の冪乗項により構成される有限な次数の第1の行列冪級数を夫々含む第1の係数行列及び第2の係数行列が夫々定義される、状態方程式を設定する方程式設定手段と、計算ステップを時間的に不変な時間不変計算ステップと時間的に可変な時間可変計算ステップとに分離し、少なくとも、時間不変計算ステップと定数行列との積の冪乗項により構成される有限な次数の第2の行列冪級数を状態方程式の解法演算に先立って事前に計算する事前計算手段と、事前に計算された第2の行列冪級数に基づいて夫々第1の係数行列及び第2の係数行列を算出しながら、順次算出される前記時間可変計算ステップに基づいて、差分方程式に対する解法演算を実行する状態方程式計算手段と、を備える。
 本発明によれば、計算装置において、Stiffな常微分方程式を安定して解く演算を、計算負荷が低くかつ高精度に、実行することが可能となる。これにより、例えばHILSが適用できる制御装置の開発対象の範囲を広げることが可能となる。その他、SILSはもとより、一般的な数値計算の分野においても、計算時間の短縮に貢献し、SILSとHILSの検証結果の整合性を高め、様々な解析の効率化に供することが可能となる。
h=1の場合においてN次の行列指数近似法の安定領域を説明する図である。 Runge-Kutta法において安定に計算できる固有値λと計算ステップhの積hλの複素平面領域を説明する図である。 固定ステップ法によるコンバータ回路の模擬動作を説明する図である。 部分的可変ステップ法によるコンバータ回路の模擬動作を説明する図である。 計算装置の一実施形態を示すブロック図である。 昇圧コンバータ装置の回路図の例を説明する図である。 パルス信号計測手段の処理例を示すフローチャートである。 状態方程式計算手段の処理例を示すフローチャートである。 Yummy法の安定領域を説明する図(その1)である。 Yummy法の安定領域を説明する図(その2)である。 Yummy法の安定領域を説明する図(その3)である。 Yummy法の時系列の計算結果を説明する図(その1)である。 Yummy法の時系列の計算結果を説明する図(その2)である。 計算装置の他の実施形態を示すブロック図である。 他の実施形態において、Yummy行列記憶手段が記憶する各配列データの値を示すテーブル例を示す図である。 他の実施形態において、Yummy行列選択処理の例を示すフローチャートである。
 以下、本発明を実施するための形態(以下「本実施形態」と記載)について図面を参照しながら詳細に説明する。以下の説明においては、本実施形態について詳細に説明する前に、まず常微分方程式の数値計算による解法に関する一般的な技術背景について説明する。そして、その一般技術の問題点を具体的に明らかにした上で、本実施形態について詳細に説明する。
<常微分方程式>
 前述したように、HILS又はSILSで用いられる数学モデルは、制御対象である、機械装置の動作を表現する運動方程式や、電子回路の動作を表す回路方程式である。この方程式は、任意数の要素を持つ状態変数ベクトルX、時間を表す変数t、及びベクトル関数F(t,X)を用いて、下記(1)式の常微分方程式として表現されることがある。
Figure JPOXMLDOC01-appb-M000008
 上記(1)式の常微分方程式は、公知の技術である動作点による区分線形化手法などにより、A、B行列と、外力を表す入力ベクトルU(t)とを用いた、線形状態方程式と呼ばれる下記(2)式の形式で表現できることが知られている。
Figure JPOXMLDOC01-appb-M000009
 このように、線形状態方程式は、状態変数ベクトルX(t)に係数行列Aを乗算し、入力ベクトルU(t)に係数ベクトルBを乗算した各乗算結果AX(t)とBU(t)の和が、状態変数ベクトルの1階の導関数
Figure JPOXMLDOC01-appb-I000010
に等しい、という形を有する。
 HILSまたはSILSにおいて(2)式の形式の状態方程式を解く演算を効率的に実行することは重要である。特に、HILSにおいては、実時間で動作する制御装置に合わせて、(2)式の状態方程式を実時間で解きながら、その結果導出される信号を制御装置に対して実時間で供給する必要がある。従って、状態方程式の数値解法演算を上記実時間処理に間に合うように計算装置で高速に実行する技術は、極めて重要である。
<行列指数関数法>
 ところで、上記(2)式の各係数行列A、Bは必ずしも定数行列である必要はない。しかしながら、各係数行列A、Bの要素が一定時間において不変な定数であれば、(2)式は、所謂LTI(Linear Time Invariant:線形時間不変)システムの線形状態方程式となる。HILS又はSILSで用いられる物理モデルは、LTIシステムを仮定しても十分であることが多い。前述した(2)式がLTIシステムの状態方程式となっており、かつ入力U(t)が一定値Uであるとみなせる場合、行列指数関数
Figure JPOXMLDOC01-appb-I000011
を用いて、下記(3)式の一般解を得ることができる。
Figure JPOXMLDOC01-appb-M000012
  ここで、eAtは式(4)で与えられる。
Figure JPOXMLDOC01-appb-M000013
 しかし、上記(4)式において無限大(∞)の項までの計算は事実上不可能なため、実用上は有限の整数Nで打ち切る下記(5)式を用いるか、パデ近似などの近似的手法を用いる。
Figure JPOXMLDOC01-appb-M000014
 Nでの打切りにしろ、パデ近似にせよ、これらは近似値である。そこで、例えば上記(5)式の計算誤差を少なくするために、所定の時間間隔hを導入し、下記(6)式のように、h間隔の差分方程式で、X、X、・・・、Xというように離散計算を行うことは広く行われている。ここで、U(t)は時間間隔hの間一定とし、Uと表現する。
Figure JPOXMLDOC01-appb-M000015
 本実施形態で、上記(6)式で示される差分方程式の表現法を、N次の行列指数近似法と呼ぶ。
<計算安定性>
 係数行列A、Bが定数であるLTIシステムでは、前述した(2)式は下記(7)、(8)式に示されるように固有値分解できる場合がある。
Figure JPOXMLDOC01-appb-M000016
Figure JPOXMLDOC01-appb-M000017
 上述の(8)式の固有値λ(1≦s≦n)は、一般に複素数である。そして、前述したように、複数の固有値λの大きさが著しく異なる状態方程式は、いわゆるStiffな方程式と呼ばれる。
 また上記(8)式のように、Λは対角要素が固有値である対角行列である。従って、(2)式は下記(9)式で示されるスカラー連立方程式として扱うことができる。
Figure JPOXMLDOC01-appb-M000018
 上記(9)式を数値計算する場合は、所定の計算ステップhを導入し、差分方程式で近似して計算することができる。従来知られている簡便な前進Euler法を用いて具体例を示せば、下記(10)式及び(11)式が得られる。
Figure JPOXMLDOC01-appb-M000019
Figure JPOXMLDOC01-appb-M000020
 上記(10)式及び(11)式では、近似がなされているから、近似誤差が発生する。この近似誤差の存在により、元の常微分方程式と差分方程式の関係によっては、計算結果が発散することがある。上記(10)式及び(11)式の前進Euler法では、
Figure JPOXMLDOC01-appb-M000021
の条件が満たされると、
Figure JPOXMLDOC01-appb-M000022
となり、nが増えるに従って値は単調に増加し、最終的には∞/-∞となり、発散と呼ばれる状態となる。
 従って、(2)式は(9)式のスカラー連立方程式と等価であるから、(2)式のA行列の固有値が一つでも(12)式の条件を満たせば、(2)式の解法計算は発散することとなる。常微分方程式が前述したStiffな方程式である場合に、(12)式の条件が満たされ易くなる。
 図1は、前述した(6)式で定義した本実施形態でいうところのN次の行列指数近似法のh=1において、安定に計算できる固有値λの複素平面領域を説明する図である。
 図1において、横軸はλの値の実部を示す実部軸、縦軸はλの値の虚数部を示す虚数部軸である。
 図1の安定領域曲線101~108は夫々、前述の(6)式においてN=1、2、3、4、5、6、7、及び8とした場合に計算したときの、発散せずに計算できる安定境界上でh=1の場合の固有値λの値をプロットしたものである。
 すなわち、計算する係数行列Aのすべての固有値λが、あるNが与える上記安定領域として示した曲線の内側にあれば、このNを用いた(6)式を用いて、発散せずに計算することが可能である。
 なお、λは(6)式の係数行列Aと正則な行列Pを用いて前述の(7)式によって計算される。
 ここで、行列指数近似法の次数とは前述した(6)式におけるNの値を指すものである。
 また、前述の(10)式及び(11)式の前進Euler法は、上記(6)式でN=1とした場合であり、これを次数が1であるところの1次の行列指数近似法と呼称する。
 図1から理解されるように、行列指数近似法における次数Nが大きくなれば、安定領域も広がる。N=∞であれば行列指数関数の厳密解となって、安定領域は左半平面となり、連続系の常微分方程式の安定領域と一致する。
<Stiffな方程式>
 前述した(7)、(8)式に示されるLTIシステムを仮定できる状態方程式(常微分方程式)を、例えばRunge-Kutta法などの差分方程式に変換して演算する場合について考える。このケースでは、上記前進Euler法の場合と同様に、差分方程式における離散時間の計算ステップhと、A行列の固有値λの値とが適切でない場合、計算がプラス無限大(∞)又はマイナス無限大(-∞)に発散することが知られている。逆に発散せず安定に状態方程式を解くことができる条件は、計算アルゴリズムごとに異なる。
 図2は、Runge-Kutta法で安定に計算できる固有値λと計算ステップhの積hλの複素平面領域を説明する図である。図2で、図1の場合と同様に、横軸は積hλの値の実部を示す実部軸、縦軸は積hλの値の虚数部を示す虚数部軸である。図2の安定領域曲線201、202、及び203は夫々、前述の(2)式の状態方程式を代表的な数値解法である1次、2次、及び4次のRunge-Kutta法で解いたときの、発散せずに計算できる安定境界上で積hλの値をプロットしたものである。積hλの計算で、hは上記Runge-Kutta法が実行されるときの計算ステップであり、λは(2)式の係数行列Aと正則な行列Pを用いて前述の(7)式により計算される。
 例えば、4次のRunge-Kutta法は、下記(14)式で示される。
Figure JPOXMLDOC01-appb-M000023
 図2において、破線領域204は、Stiffな固有値に基づく積hλの存在領域である。また、破線領域205は、応答を支配する固有値に基づく積hλの存在領域である。前述したStiffな方程式を解く場合に、絶対値が大きな固有値でも計算が発散しないようにするためには、計算ステップhを小さくして、積hλの存在領域204が安定領域曲線201、202、又は203の内側に入るようにする必要がある。計算ステップhを小さくすれば、図2において、積hλの存在領域が領域204から破線矢印206で示される方向に移動して安定領域曲線201、202、又は203の内側に入るため、発散しない計算が可能である。しかしながら、計算ステップhを小さくした場合、方程式の応答を支配する絶対値の小さな固有値に基づく積hλの存在領域205付近では、その計算ステップhは過剰に小さくなりすぎる。
 この結果、計算ステップhを小さくした場合、計算誤差が蓄積すると共に、それ以上に、例えばHILSの場合には、計算ステップhが意味する物理的時間以内で計算が間に合わなくなる、という事態を招いてしまうという問題があった。
 なお、以上は(1)式のような一般的な常微分方程式に適用できるRunge-Kutta法を例に説明したが、常微分方程式が(2)式のように線形状態方程式の場合、(14)式で説明した4次のRunge-Kutta法は(6)式で表した行列指数近似法のN=4の場合と完全に一致し、行列指数近似法の場合においても上記説明したRunge-Kuttaの場合と同様な計算ステップhと安定領域の関係が成立する。
<Stiffな方程式に対応する数値計算アルゴリズム>
 以上説明したRunge-Kutta法及び行列指数近似法は、広く使われる数値計算手法である。しかし、これらの数値計算法は、安定領域に限りがある。そして、Stiffな方程式の場合、前述したように、不安定になり計算が発散するか、過剰に小さな計算ステップhを用いなければならないという問題がある。
 このような問題を解決するために、複素平面のいわゆる左半平面全体を計算安定領域として含む、下記(15)式で示される後退Euler法、下記(16)式で示される台形法、或いはGear法(数式は省略)として知られる、後退微分方程式の数値計算解法が一般的に用いられている。
Figure JPOXMLDOC01-appb-M000024
Figure JPOXMLDOC01-appb-M000025
 しかしながら、前述したように、これらの解法は、陰解法と呼ばれる、Xn+1を得るのにXn+1を必要とする解法であり、計算が容易ではない。
 即ち、常微分方程式が(2)式に示されるような線形方程式であれば、逆行列を計算する必要がある。一般に逆行列の計算負荷は、行列が“n×n”要素のサイズを有する場合、nの3乗に比例すると言われている。従って、nが大きなシステムの場合には、計算負荷が極めて高くなる。
 また、常微分方程式が(15)式又は(16)式に示されるような非線形を含む一般的な関数で表される方程式であれば、前述したように、Newton法などの反復計算が必要となり、この場合も計算負荷が極めて高くなる。
 このため、これらの解法は、実時間での計算を要求されるHILSに適した計算法ではなく、SILSに対しても制御装置のための検証時間が長くなってしまうという問題点があった。
 常微分方程式の解法をHILSなどに適用する場合、HILSは別名リアルタイムシミュレータであるから、計算は所定の時間以内で終了することが要請される。従って、Euler法や台形法やGear法などの計算負荷の重いアルゴリズムは、採用しづらい。また、必ず所定の時間以内に完了することが求められているため、Newton法による反復計算など、計算終了時間が一定でないアルゴリズムを採用することは困難である。
 SILSであっても、シミュレーション時間が長くなるため、開発効率の低下を招くという問題が生じる。また、SILSで検証したのちにHILSを適用する場合、計算アルゴリズムが異なることよる検証精度の劣化を招くという問題も生じる。
 更に、前述したように、計算ステップhに対して、後退Euler法は1次の近似精度であるため、計算精度が低い。台形法は2次の近似精度であるが、原点から離れた固有値に対しては、本来は解が一定値に収束する場合にあっても、解が振動し一定値に収束しないという問題がある。更に、Gear法においては、次数を上げると安定領域が狭まり、連続系常微分方程式の安定領域である左半平面内において、不安定な領域が残る。このため、Stiffな方程式を満足に解くことのできる計算アルゴリズムは、皆無であると言わざるを得ない。
 そこで、以下に説明する本実施形態による計算アルゴリズムは、複素平面上に極めて広い計算安定領域を持ちながら、最も計算負荷の低い前進Euler法と同等の計算負荷を持つという特徴を有する。本実施形態の詳細について、以下に説明する。
<Yummy法>
 まず、本実施形態の動作原理について説明する。N次の行列指数近似法において、次数Nが大きい場合は行列指数関数を計算する計算負荷が高く、例えばパデ近似などの他の手法を用いることが多い。しかし、(2)式の係数行列Aが定数で不変であり、かつ計算ステップhが定数の場合には、前述した(5)式の級数部分も定数となる。この場合には、行列指数近似法で使用する級数部分は、A行列が不変である一定期間の間に1度だけ計算すればよいこととなる。
 SILSにおいてもこの特性は有用であるが、特にHILS等への応用の場合は、上記行列指数関数は、システムが実際にリアルタイムに稼働する前の準備段階で計算しておけばよい。この場合には、(5)式の級数部分の計算にたとえ数秒程度の時間を要しても実用上問題にはならない。
 従って、前述した(6)式において、N=20やN=100という、計算負荷が極めて大きな数としても、実用性が損なわれることはなく、行列指数近似法は有用な計算手法である。
 しかしながら、計算ステップhが定数であることは、応用範囲を狭めるものである。例えば、本願の発明者が、下記論文文献1又は2にて提案した「部分可変ステップ法」として知られる従来の数値計算手法においては、スイッチング回路のスイッチングタイミングに応じた回路挙動を正確に計算するため、計算ステップhは実時間稼働時点での計測値となっている。
  <論文文献1>:城所 仁 中原 正俊 “DC/DCコンバータのリアルタイム・シミュレーションを実現する陽解法に基づく高速計算手法”電子情報通信学会論文誌B Vol.J97-B,No.6,pp.-,Jun. 2014.
  <論文文献2>:城所 仁 中原 正俊 “FPGAを用いたスイッチングコンバータのリアルタイム・シミュレーション”電子情報通信学会 研究会資料(技術研究報告)EE2013-55
 本実施形態による数値計算手法では、所定の定数hexpと(上記論文文献ではhに相当)、計測値に基づいて変化する変数であるh(上記論文文献ではhに相当)を分離し、下記(17)式、(18)式、又は(19)式に基づく計算を実行する。以下、本実施形態によるこの数値計算手法を「Yummy法」と呼び、(17)式により計算されるAym行列を「Yummy行列」と呼ぶ。
Figure JPOXMLDOC01-appb-M000026
Figure JPOXMLDOC01-appb-M000027
Figure JPOXMLDOC01-appb-M000028
Figure JPOXMLDOC01-appb-M000029
 上記(17)式のYummy行列Aymは予め計算できる定数であるから、SILSにおいては最初の1回だけ、HILSにおいては制御装置を接続して実時間で動作する前に、計算して記憶しておけばよい。実時間動作時に計算するのは(18)式である。更に、(19)式のように、定数係数行列(AymA)と、係数行列Bが定数と見なせるのであれば、更に定数係数行列(AymB)も、予め計算しておけば、この形式の計算規模は、前述した(10)式及び(11)式で示される前進Euler法と同等となる。従って、(19)式の形式は、現在知られている計算負荷が最も低い数値計算手法である。
 なお、連続系との対応は(20)式で示され、hが計算ステップ幅である。
 上記動作原理に基づく本発明の実施形態の詳細について、以下に説明する。本計算装置の実施形態は、パルス信号のON(オン)/OFF(オフ)時間により所定の電圧を生成するコンバータ装置を制御対象として模擬するものである。
 まず、パルス信号のON/OFF時間を扱う場合の基本的な問題について説明する。図3は、固定ステップ法によるコンバータ回路の模擬動作を説明する図、図4は、部分的可変ステップ法によるコンバータ回路の模擬動作を説明する図である。図3及び図4共に、前述の論文文献1又は2を基礎としている。
 通常、HILSでは、図3に示されるように、リアルタイム性の制約により、計算時間hを一定の値とする固定ステップ法を用いる。しかし、本実施形態のように、パルス時間のON/OFF時間により動作するコンバータ装置を模擬する場合、次のような問題がある。即ち、この場合、パルス時間の分解能=計算ステップ時間=hとなり、パルス時間の分解能、即ちコンバータ装置のパルス時間のON/OFF時間の時間分解能が著しく悪化する。
 一方、SILSでは、リアルタイム性の制約はないが、HILSとの整合を図るためにHILSの場合と同様な計算を行うことが一般的である。このため、SILSにおいても、上記と同様の問題が生じる。
 これに対し、本願の発明者は、前述した論文文献1又は2において、部分可変ステップ法と呼ぶ、パルスON/OFF時間の分解能を著しく向上させることができる手法を提案している。この手法では、図4に示されるように、基本的には一定の計算時間hで計算するものの、パルス信号のON/OFF変化が生じた場合、その時間=hを計測し、この値を用いた計算を実行する。
<具体的な実施形態>
 上述したような計算方法を用いる計算装置の一実施形態について、図5、図6、図7、及び図8を用いて具体的に説明する。図5は本発明の一実施形態である計算装置500の実施形態を示すブロック図、図6はシミュレーション対象であるコンバータ装置の回路図の例を説明する図、図7は図5の計算装置500内のパルス信号計測手段508の処理例を示すフローチャート、図8は図5の計算装置500内の状態方程式計算手段509の処理例を示すフローチャートである。
 図5は、本発明の一実施形態である、計算装置500を示すブロック図である。計算装置500は例えば、物理的な信号入出力手段を有する、いわゆるHILSの実施形態であり、更に前述したように例えば、特には図示しない制御装置からのパルス信号により所定の電圧を生成するコンバータ装置を制御対象として模擬するものである。以降、この計算装置を、HILS計算装置500と記載する。
 HILS計算装置500は、特には図示しないが、所謂組込みコンピュータのハードウェアとして、CPU(中央演算処理装置)、ROM(リードオンリーメモリ)、RAM(ランダムアクセスメモリ)、フラッシュメモリ装着装置などを有する。
 図5に示されるHILS計算装置500において、通信手段501は、所謂イーサネットあるいはCAN通信、またはこれに準ずるものである。
 Yummy行列計算手段502、Yummy行列記憶手段503、ベクトル算出手段506、パルス信号計測手段508、及び状態方程式計算手段509は、上記CPUが上記フラッシュメモリ装置に装着されたメモリカードに記憶されたHILS制御プログラムを上記RAMに読み出して実行する機能ブロック群である。
 基準時間生成手段507は、HILS計算装置500のコンピュータが内蔵するタイマ装置のハードウェアである。
 デジタル信号入力手段504、電圧入力手段505、及び電圧出力手段510は、上記入出力インタフェース装置によって構成される。
 通信手段501には、ローカルエリアネットワークやインターネット等のネットワークまたは専用通信線を介してホストコンピュータ520が通信接続される。
 デジタル信号入力手段504及び電圧入力手段505は、計算装置側物理的入力手段として動作し、特には図示しない制御装置の制御装置側物理的出力手段のデジタル信号出力手段及び電圧出力手段に接続される。
 デジタル信号入力手段504は、制御装置からの複数の信号線の各電圧を監視し、夫々所定の閾値を超えた場合に“1”、超えない場合に“0”の各デジタル入力信号をベクトル算出手段506及びパルス信号計測手段508に出力する。
 電圧入力手段505は、例えば、複数のアナログ/デジタル変換器を内蔵し、制御装置からの複数のアナログ入力電圧値をデジタル入力電圧値に変換し、各デジタル入力電圧値をベクトル算出手段506に出力する。
 ベクトル算出手段506は、上記複数のデジタル入力信号の“1”又は“0”値及び複数のデジタル入力電圧値をベクトル要素とする入力ベクトルU(前述の(2)式のU(t)に対応)を算出する。なお、入力ベクトルUの第1要素としては値“1”を設定する。この第1要素は、状態方程式が定数項(前述した(2)式のBU(t)=定数)を必要とした場合に、係数行列Bの値により任意の定数を生成するために使用する。
 一方、ホストコンピュータ520は、一般的なパーソナルコンピュータであってよく、例えばHILSのコンバータ装置を模擬する数学モデルを生成するための回路シミュレーションソフトウェアのプログラムを実行することができる。ユーザは、例えばコンバータ装置を制御対象とし、その数学モデルを生成したい場合には、上記回路シミュレーションソフトウェアにより、例えば、図6に示される昇圧コンバータ装置の回路図をホストコンピュータ520のキーボード、マウス、及びディスプレイを使って作成する。
 図6の回路は、ハイサイドスイッチQとローサイドスイッチQを具備する。これらのスイッチは、交互にON/OFF動作を行う。例えば外部より入力されたPWM(パルス波形変調)信号が、ハイ(Hi)レベルの時は、QがON状態、QがOFF状態であり、ロー(Lo)レベルの時は、QがOFF状態、QがON状態である。
 上記回路シミュレーションソフトウェアは、図6で示す回路において、スイッチ素子QがONの時の抵抗値をrsh、QがOFFの時の抵抗値をrslに設定する。そして、このソフトウェアは、(2)式で示した状態方程式のA、B行列と、下記(25)式で示される出力方程式を構成するC、D行列とを、前述した論文文献1又は2の記述に準じて、例えば下記(21)式から(27)式の演算によって生成する。なお、(2)式は、簡略化して(21)式として再掲する。
Figure JPOXMLDOC01-appb-M000030
Figure JPOXMLDOC01-appb-M000031
Figure JPOXMLDOC01-appb-M000032
Figure JPOXMLDOC01-appb-M000033
Figure JPOXMLDOC01-appb-M000034
Figure JPOXMLDOC01-appb-M000035
Figure JPOXMLDOC01-appb-M000036
 前述した回路シミュレーションソフトウェアは、外部信号がHiレベルの場合に、図6で示す回路において、スイッチ素子QがONの時の抵抗値をrsh、QがOFFの時の抵抗値をrslに設定する。そして、上記ソフトウェアは、A、B、C、及びD行列を、上記(21)式から(27)式の演算により生成し、これらの行列をAH、BH、CH、及びDH行列として出力する。
 前述した回路シミュレーションソフトウェアは、外部信号がLoレベルの場合は、図6で示す回路において、スイッチ素子QがOFFの時の抵抗値をrsh、QがONの時の抵抗値をrslに設定する。そして、上記ソフトウェアは、A、B、C、及びD行列を、上記(21)式から(27)式の演算により生成し、これらの行列をA、B、C、及びD行列として出力する。
 更に、上記回路シミュレーションソフトウェアは、上記A及びA行列を夫々固有値分解し、得られた各固有値の値に基づいて予め定められた手続きに従い、定数計算ステップhexpを算出する。
 以上の動作の結果、ホストコンピュータ520は例えば、デジタル信号入力手段504に入力されるパルス信号がハイレベル(ON)のときに(2)式の状態方程式を構成するON時係数行列A、B、C、及びDと、パルス信号がローレベル(OFF)のときに(2)式の状態方程式を構成するOFF時係数行列A、B、C、及びDと、所定の定数である定数計算ステップhexpとを出力する。これらのデータは、HILS計算装置500の方程式設定手段である通信手段501で受信され、記憶される。
 図5のHILS計算装置500において、事前計算手段であるYummy行列計算手段502は、通信手段501が受信した上記係数行列A及びAと定数計算ステップhexpとを受け取り、これらのデータに基づいて前述した(17)式の演算により、Yummy行列AymH及びAymLを計算し、それらのYummy行列をYummy行列記憶手段503に記憶する。Yummy行列記憶手段503は、記憶しているYummy行列AymH及びAymLを状態方程式計算手段509に出力する。
 HILS計算装置500により例えばHILSの模擬動作が開始されたら、デジタル信号入力手段504が特には図示しない制御装置からパルス信号を取得する。デジタル信号入力手段504は、入力された信号を値「0」又は「1」に変換し、変数pulseの値として、パルス信号計測手段508及びベクトル算出手段506に送る。ベクトル算出手段506は、上述のように与えられた数値を各要素とするUベクトルを作成する。なお、Uベクトルの第1要素は定数項のため、必ず値「1」を設定する。
 次に、図5のパルス信号計測手段508の動作について説明する。図7は、パルス信号計測手段508の処理例を示すフローチャートである。まず、変数Countの値を「0」にリセットする(図7のステップ01)。なお、以降の説明において、「変数」は、計算装置500を構成する特には図示しないRAM等に記憶される。
 次に、HILS計算装置500内の基準時間生成手段507からの信号を調べ、これが変化するまで待機する(ステップ02の判定がNO(図中「N」と記載)の繰返し)。
 基準時間生成手段507からの信号が変化し、ステップ02の判定がYES(図7中「Y」と記載)になったら、変数Countの値を+1インクリメントする(図中「++」と記載)(図7のステップ03)。
 次に変数old_pulseの値が「0」であるか否かを判定する(図中「==」は等しいことを示す演算記号)(図7のステップ04)。
 ステップ04の判定がYESならば、デジタル信号入力手段504より与えられる変数pulseの値が「1」であるか否かを判定する(図7のステップ05)。
 ステップ05の判定がYESであれば、PWM信号が変化したとして、下記(28)式で示される設定処理を実行する(図7のステップ07)。
Figure JPOXMLDOC01-appb-M000037
 ステップ05の判定がNOであれば、PWM信号はLoレベルで変化していないとして、下記(29)式で示される設定処理を実行する(図7のステップ08)。
Figure JPOXMLDOC01-appb-M000038
 ステップ04の判定がNOの場合は、デジタル信号入力手段504より与えられる変数pulseの値が「0」であるか否かを判定する(図7のステップ06)。
 ステップ06の判定がYESであれば、PWM信号が変化したとして、下記(30)式で示される設定処理を実行する(図7のステップ09)。ここで、「count」は変数countに設定されている値を意味する。
Figure JPOXMLDOC01-appb-M000039
 ステップ06の判定がNOであれば、PWM信号はHiレベルで変化していないとして、下記(31)式で示される設定処理を実行する(図7のステップ10)。
Figure JPOXMLDOC01-appb-M000040
 ステップ07、08、09、又は10の後、変数Countの値がhexpの値以上になったか否かを判定する(図7のステップ11)。
 ステップ11の判定がNOならば、ステップ02に戻り、上記と同様の処理を繰り返し実行する。
 ステップ11の判定がYESになったら、状態方程式計算手段509にタイミングパルスを発行する(図7のステップ12)。
 Count=hexpであればステップ11の判定はYESであるので、タイミングパルスはhexpの時間間隔で発行される。
 ステップ12の後、変数old_pulseに変数pulseの内容を設定する(ステップ13)。
 ステップ13の後、ステップ01に戻って変数Countの値を「0」にリセットした後、上記と同様の処理を繰り返し実行する。
 以上の処理により、h≦hexp、h≦hexpであることが保証される。
 ステップ13で変数old_pulseに変数pulseの値を設定しているので、時間間隔hexpの間にPWM信号が所謂チャタリングを起こすことにより、短時間にHiレベルとLoレベルを繰り返すような動作は無視される。時間間隔hexpを超えた時間、HiレベルあるいはLoレベルが継続した場合のみ、そのPWM信号が変化したと認識され、その変化がh及びhの値に反映される。
 続いて、図5の状態方程式計算手段509の動作について説明する。図8は、図5の状態方程式計算手段509の処理例を示すフローチャートである。まず、状態変数ベクトルXに初期値Xを与え、変数old_pulseに値「0」を設定する(図8のステップ20)。
 次に、パルス信号計測手段508より与えられるタイミングパルスを待機する(図8のステップ21の判定がNOの繰返し)。
 タイミングパルスが入力しステップ21の判定がYESになったら、変数old_pulseの値が「0」であるか否かを判定する(図8のステップ22)。
 ステップ22の判定がYES(値「0」)であれば、前回処理におけるパルスはLoレベルであるので、出力変数ベクトルYを、下記(32)式の演算により算出する(図8のステップ23)。
Figure JPOXMLDOC01-appb-M000041
 ステップ22の判定がNO(値「1」)であれば、前回処理におけるパルスはHiレベルであるので、出力変数ベクトルYを、下記(33)式の演算により算出する(図8のステップ24)。
Figure JPOXMLDOC01-appb-M000042
 次に、変数pulseの値が「0」であるか否かを判定する(図8のステップ25)。
 ステップ25の判定がYES(値「0」)であれば、下記(34)式及び(35)式で示される演算を実行する(ステップ26)。
 なお、ステップ21でタイミングパルスを待ち、タイミングパルスは図7のステップ12でhexpの時間間隔で発行されるのであるから、以下の処理はhexpの時間間隔で行われる。
Figure JPOXMLDOC01-appb-M000043
Figure JPOXMLDOC01-appb-M000044
 ステップ25の判定がNO(値「1」)であれば、下記(36)式及び(37)式で示される演算を実行する(ステップ27)。
Figure JPOXMLDOC01-appb-M000045
Figure JPOXMLDOC01-appb-M000046
 このとき、PWM信号がHiからLoに変化していれば、ステップ26の処理となり、まずAymH及びAを用いた計算を行い、次にAymL及びAを用いた計算となる。
 ステップ26の処理は、ステップ21においてhexpの時間間隔で発行されるタイミングパルスと同期させているため、ステップ26の処理は、hexpの時間の時間間隔において状態変数ベクトルXを更新する処理は2回実行される。
 これに対し、ステップ23、ステップ24において行われる出力変数ベクトルの計算は1度のみである。すなわちステップ26、ステップ27において計算される状態変数ベクトルXtmpの値に対しては、出力変数ベクトルYは計算されず、後述するHILS計算装置500内の電圧出力手段510より出力電圧として出力されない。
 なお、PWM信号がLoからHiに変化せずLoレベルのままであれば、h=0であり、(35)式のみを計算した場合と等価となるが、計算負荷を一定にするため(34)式も計算する。
 ステップ27における計算は、上述のHiレベルとLoレベルが逆転した関係となる。
 ステップ26又は27の後、変数old_pulseに変数pulseの値を設定する。これにより、状態変数ベクトルXが計算されたときのPWMパルスがHiレベルかLoレベルかを記憶し、ステップ22の判定の根拠とする。
 図5において、電圧出力手段510は、状態方程式計算手段509が出力する出力変数ベクトルYに相当する電圧値を出力する。なお、出力変数ベクトルYが更新される時間間隔、すなわちhexpの時間間隔において、この電圧値は更新される。図5には図示していないが、電圧出力手段510内のデジタル/アナログ変換器によりデジタル電圧信号から変換されて出力されたアナログ電圧値は、制御装置の制御装置側物理的入出力手段に入力される。
 制御装置は、このアナログ電圧値を、制御対象に設置されたセンサ装置からの信号と理解して、制御対象の挙動を判定し、所定の制御出力を出力する。
 この制御出力は、HILS計算装置500のデジタル信号入力手段504又は電圧入力手段505に入力される。このようにして、制御装置と制御対象であるHILS計算装置500との間に、フィードバックのクローズドループ(閉ループ)が形成される。この結果、図5のHILS計算装置500は、図6の回路図で示したコンバータ装置を模擬し、制御装置に制御対象を与えることができる。
<Yummy法の安定領域>
 Yummy法は前述した(17)式及び(18)乃至(19)式により計算するが、前述した(7)式から(11)式までの関係と同様に安定領域が定義される。この時、h=hexp=1であれば、図1で示した領域となるが、h≠hexpの場合は異なる領域となる。
 図9、図10、及び図11は、本実施形態によるYummy法の安定領域を説明する図である。図9~図11において、図1の場合と同様に、横軸は固有値λの値の実部を示す実部軸、縦軸はλの値の虚数部を示す虚数部軸である。図9において、901は、前進Euler法(h=0.5)の安定領域曲線である。902は、行列指数近似法(N=4、h=1)の安定領域曲線である。903は、行列指数近似法(N=8、h=1)の安定領域曲線である。904は、本実施形態によるYummy法(N=8、hexp=1、h=0.5)の安定領域曲線である。図10において、1001は、行列指数近似法(N=8、h=1)の安定領域曲線である。1002は、本実施形態によるYummy法(N=8、hexp=1、h=0.8)の安定領域曲線である。図11において、1101は、前進Euler法(h=0.1)の安定領域曲線である。1102は、行列指数近似法(N=8、h=1)の安定領域曲線である。1103は、本実施形態によるYummy法(N=8、hexp=1、h=0.1)の安定領域曲線である。前述した(2)式のA行列の全ての固有値が上記各安定領域曲線の内側の安定領域にあれば、状態方程式計算手段509での状態方程式の計算は安定である。
 図9、図10、図11に示すように、h<hexpであるならば、安定領域は(6)式として示したN次の行列指数近似法において計算ステップサイズをhexpとした場合に対し、必ず広くなる。従って、図5の実施形態においては、ホストコンピュータ520が係数行列A、Aの固有値を計算し、これらの固有値の全てがN次打ち切りの行列指数近似法の安定領域に入るように、hexp及び次数Nを決定し、HILS計算装置500に送る。図5のパルス信号計測手段508は、h若しくはhがhexpより大きい場合はhexpとすることができる。以上により、状態方程式計算手段509における状態方程式の解法演算が不安定になることはない。
<Yummy法の安定性の証明>
 本実施形態によるYummy法の安定性、即ち、h<hexpであるならば、安定領域は計算ステップサイズをhexpとしたN次の行列指数近似法の安定領域より広くなることについて、以下に示す。
 (7)~(11)式のように(17)式はスカラーの連立式と等価であるから、以下にスカラー式で示す。また外部入力値uは安定性解析には無関係なため省略する。
Figure JPOXMLDOC01-appb-M000047
Figure JPOXMLDOC01-appb-M000048
Figure JPOXMLDOC01-appb-M000049
 すなわち、hによる安定領域は、hexpによる安定領域を含有するため、hexpのものより広いということができる。
 なお、Ω(λ)=0となるλのときは、
Figure JPOXMLDOC01-appb-M000050
であり、Ω(λ)=0となるλにおいて、hとhexpの安定領域は一致する。
 本実施形態によるYummy法の計算精度について説明する。前述の(18)式及び(19)式のYummy法の状態方程式(常微分方程式)の計算精度は、hexpがhに近い値であれば、N次の行列指数近似法に漸近するが、hexpとhが離れた値、例えばh=0.2hexpのような場合は、計算精度は劣化する。
 例えば、下記(42)及び(43)式で示される2つの運動方程式について考察する。
Figure JPOXMLDOC01-appb-M000051
Figure JPOXMLDOC01-appb-M000052
 上記(42)式及び(43)式の運動方程式を、下記の諸元のもとで、8次のYummy法で計算した結果を、図12A及び図12Bに示す。なおこの場合、前進Euler法では計算が発散するため、比較対象としては、前述した(15)式として示した後退Euler法を用いている。
  m=300 m=1
  ks=0.9 k=10 c=10
 図12Aは、前述の(42)式及び(43)式の横軸:時間(秒)に対する縦軸:「x:質量体mの変位[m]」の運動方程式の解法結果を示している。1201(「◇」マーク)は実施形態によるYummy法(hexp=1、h=0.2)の計算結果であり、1202(実線)は厳密解、1203(「*」マーク)は後退Euler法(h=0.2)、1204(破線)は後退Euler法(h=1)である。
 図12Bは、前述の(42)式および(43)式の運動方程式の、横軸:時間(秒)に対する縦軸:「x:質量体mの変位[m]」の解法結果を示している。1211(「◇」マーク)は、本実施形態によるYummy法(hexp=1、h=0.2)の計算結果であり、1212(実線)は、厳密解、1213(「*」マーク)は後退Euler法(h=0.2)、1214(破線)は後退Euler法(h=1)である。
 図12に示したように、hexp=1、h=0.2の場合においては、(15)式として示した後退Euler法でh=0.2として計算したほうが厳密解に近いという結果となっている。
 このような計算精度の低下を補うためには、図13の例に示されるように、hexpを複数用意し、これに対応するAymH、AymLを複数計算し、これらすべてを記憶し、計測されたhまたはhの値により、上記複数の計算結果から1つを選択して計算するようにすればよい。
 図13は、h=0.2においてhexp=0.25を選択した場合の結果を示している。図13Aは、前述の(42)式および(43)式の運動方程式の、横軸:時間(秒)に対する縦軸:「x:質量体mの変位[m]」の解法結果を示している。1301(「◇」マーク)は本実施形態によるYummy法(hexp=0.25、h=0.2)の計算結果であり、1302(実線)は厳密解、1303(「*」マーク)は後退Euler法(h=0.2)、1304(破線)は後退Euler法(h=1)である。
 図13Bは、横軸:時間(秒)に対する縦軸:「x:質量体mの変位[m]」の、前述の(42)式および(43)式の運動方程式の、横軸:時間(秒)に対する縦軸:「x:質量体mの変位[m]」の解法結果を示している。1311(「◇」マーク)は本実施形態によるYummy法(hexp=0.25、h=0.2)の計算結果であり、1312(実線)は厳密解、1313(「*」マーク)は後退Euler法(h=0.2)、1314(破線)は後退Euler法(h=1)である。
 図13より、h=hexpであれば、その精度はN次の行列指数関数近似法と一致し、Nを大きくとれば、極めて高い精度を得ることができる。h≠hexpであっても、近似なhexpによるAymH、AymLを使用することで、高い精度を極めて高速な計算で得ることができることがわかる。
<SILS計算装置>
 図14は、計算装置の他の実施形態を示すブロック図である。図14は、計算装置1400がSILSを構成する例である。以降、この計算装置をSILS計算装置1400と記載する。図14では、図5の通信手段501の代わりに、回路シミュレーション実行手段1402を有し、状態方程式において用いられる前述したA,B,C,D行列が設定される。図14において、図5の場合と同じ参照番号を付したブロックは、図5の場合と同じ機能を有する。
 また、SILS計算装置1400は、制御装置制御則計算手段1401を備えている。図5のHILS計算装置500では、制御装置は、デジタル信号入力手段504、電圧入力手段505、又は電圧出力手段510を介してHILSとして動作する計算装置500の外部に接続されていた。これに対して、図14では、上記制御装置の動作を、SILS計算装置1400内の制御装置制御則計算手段1401によって模擬することができる。
 図14のSILS計算装置1400によれば、それ単体で、内蔵される制御装置制御則計算手段1401によって制御装置の制御則の動作を検証することが可能である。状態方程式計算手段509の出力は、制御装置制御則計算手段1401にフィードバックされると共に、ディスプレイ装置1404に表示させて確認することができる。制御装置制御則計算手段1401から状態方程式計算手段509への入力ベクトルU(t)についても、ディスプレイ装置1404で確認できるようにしてもよい。
 SILS計算装置1400は、回路シミュレーション実行手段1402を内蔵し、図5のホストコンピュータ520が実行した回路シミュレーションソフトウェアを実行できる。回路シミュレーション実行手段1402は、例えばユーザによるキーボード装置1403の操作により入力された回路図(図6を参照)から、状態方程式を導き、図5のHILS計算装置500の場合と同様に、A、B、C、D行列及びA、B、C、D行列を生成する。
 また、回路シミュレーション実行手段1402は、状態方程式を解析し、安定に計算を行える、計算ステップhexp0からhexpMまでの、所定の定数であるM+1個の計算ステップを算出し、これらをYummy行列計算手段502に送る。なお、これらの計算ステップの値は、hexpM<・・・<hexp1<hexp0が成立する順とする。
 Yummy行列計算手段502は、hexp0からhexpMの各値に基づき、Aym0H~AymMH行列と、Aym0L~AymML行列を計算し、これらをYummy行列記憶手段503に記憶させる。Yummy行列記憶手段503は、これらのデータを、図16のテーブルに示される対応関係で、各配列のデータhexp[i]、AymL[i]、AymH[i](0≦i≦3)に記憶させ、また各データセット毎にYummy法における次数Nも設定する。
 模擬動作が開始されると、Yummy行列記憶手段503は、パルス信号計測手段508から送られてくる計算ステップh及びhの値により、AymH、AymL行列を選択し、これらを状態方程式計算手段509に送る。
 図16は、Yummy行列記憶手段503が実行するYummy行列選択処理の例を示すフローチャートである。
 まず図16のテーブルに例示されるように、各配列のデータhexp[i]、AymL[i]、AymH[i](0≦i≦3)を設定し、各データセット毎にYummy法における次数Nも設定する。そして、繰り返しの変数iを値「0」にリセットする(図16のステップ30)。
 次に、図16において、ステップ32で変数iの値を+1ずつインクリメントしながら、ステップ31で配列データhexp[i]の値が計算ステップhの値未満となったと判定するまで、各配列データhexp[i]の値をチェックする動作を繰り返す(ステップ31の判定がNO→ステップ32→ステップ31の判定の繰返し)。
 配列データhexp[i]の値が計算ステップhの値未満となってステップ31の判定がYESになると、そのときの変数iの値に対応する配列データAymL[i]の値をAymL行列としてセットする(図16のステップ33)。なお、図15のテーブルに示されるように、配列データhexp[i]の値は、iが増加するに従って値が最大値(=hexp[0])から減ってゆくように設定されており、最後の値は「-1」のため、ステップ31の判定は何れかのiの値で必ずYESになる。
 次に、図16において、ステップ34で変数iの値を「0」にリセットした後、ステップ36で変数iの値を+1ずつインクリメントしながら、ステップ35で配列データhexp[i]の値が計算ステップhの値未満となったと判定するまで、各配列データhexp[i]の値をチェックする動作を繰り返す(ステップ31の判定がNO→ステップ32→ステップ31の判定の繰返し)。
 配列データhexp[i]の値が計算ステップhの値未満となってステップ35の判定がYESになると、そのときの変数iの値に対応する配列データAymH[i]の値をAymH行列としてセットする(図16のステップ37)。このときも、配列データhexp[i]の値は、iが増加するに従って値が最大値(=hexp[0])から減ってゆくように設定されており、最後の値は「-1」のため、ステップ37の判定は何れかのiの値で必ずYESになる。
 図15のテーブルから理解できるように、例えば
Figure JPOXMLDOC01-appb-M000053
である。従って、AymL、AymHの計算に使用するNは、使用するhexpの値が小さくなれば計算精度が向上すること、及び計算安定領域も拡大することに鑑みて、図15のテーブルに示されるように、hexpの値が小さくなれば、Nの値も小さくすることにより、AymL、AymHを計算する時間を短縮することができる。
 前述したように、hexp3<hexp2<hexp1<hexp0の関係がある。このため、図16に示されるフローチャートの制御処理により、例えばhexp0≦h<hexp1であるhであれば、hexp0で計算したAymL行列が選択される結果となる。この結果、図14の状態方程式計算手段509は、精度の高い計算が安定に行えるAymL行列を用いて、計算を行えることになる。
 このように、図14の構成を有するSILS計算装置1400においては、図5のHILS計算装置500におけるデジタル信号入力手段504や電圧出力手段510を備える必要なく、制御装置制御則計算手段1401により、テストを行う制御則を実行し、模擬された制御対象が適切に制御しうるかを実験/検証することが可能となる。
 以上説明したように、本実施形態による計算装置は、Stiffな常微分方程式を安定して解く演算を、計算負荷が低くかつ高精度に、実行することが可能となる。これにより、例えばHILSが適用できる制御装置の開発対象の範囲を広げることが可能となる。その他、SILSはもとより、一般的な数値計算の分野においても、計算時間の短縮に貢献し、様々な解析の効率化に供することが可能となる。
 本実施形態で説明したYummy法は、複素平面上に極めて広い計算安定領域を持ちながら、最も計算負荷の低い前進Euler法と同等の計算負荷を持つ、という特徴を有する画期的な計算アルゴリズムである。
 従って、HILSなど、計算時間に制約がありながら、Stiffな方程式に対応しなければならない用途に適用することで、従来では困難であった、図6で例示したような機構や電子回路などの模擬、即ち、リアルタイムのシミュレーションを可能とするものである。
 加えて、HILS以外の、物理的信号を介さず計算機内で制御機器の制御アルゴリズムを検証するSILS、更には一般的な数値計算の分野においても、計算時間の短縮に貢献し、SILSとHILSの検証結果の整合性を高め、様々な解析の効率化に供するものである。
 101、102、103、104、105、106、107、108、201、202、203、901、902,903,904、1001、1002、1101、1102、1103 安定領域曲線
 500 HILS計算装置
 501 通信手段
 502 Yummy行列計算手段
 503 Yummy行列記憶手段
 504 デジタル信号入力手段
 505 電圧入力手段
 506 ベクトル算出手段
 507 基準時間生成手段
 508 パルス信号計測手段
 509 状態方程式計算手段
 510 電圧出力手段
 520 ホストコンピュータ
 1400 SILS計算装置
 1402 回路シミュレーション実行手段
 1403 キーボード装置
 1404 ディスプレイ装置

Claims (10)

  1.  制御対象の動作を数学的にモデル化した常微分方程式である状態方程式を解く演算を実行する計算装置であって、
     状態を表す状態変数ベクトル項に第1の係数行列を乗算した項と入力を表す入力ベクトル項に第2の係数行列を乗算した項を含む常微分方程式について、所定の計算ステップによって定まる離散時間間の差分関係を示す差分方程式の形式を有し、一定時間において不変な定数とみなせる定数行列を指数とする行列指数関数を近似する行列冪級数であって、所定の計算ステップと前記定数行列との積の冪乗項により構成される有限な次数の第1の行列冪級数を夫々含む前記第1の係数行列及び前記第2の係数行列が夫々定義される、状態方程式を設定する方程式設定手段と、
     前記計算ステップを時間的に不変な時間不変計算ステップと時間的に可変な時間可変計算ステップとに分離し、少なくとも、前記時間不変計算ステップと前記定数行列との積の冪乗項により構成される前記有限な次数の第2の行列冪級数を前記状態方程式の解法演算に先立って事前に計算する事前計算手段と、
     前記事前に計算された前記第2の行列冪級数に基づいて夫々前記第1の係数行列及び前記第2の係数行列を算出しながら、順次算出される時間可変計算ステップに基づいて、前記差分方程式に対する解法演算を実行する状態方程式計算手段と、
     を備える常微分方程式の数値計算装置。
  2.  前記定数行列をA、前記計算ステップをh、前記有限な次数をNとして、前記第1の行列冪級数は、
    Figure JPOXMLDOC01-appb-M000001
    と定義され、
     前記(1)式として定義される前記第1の行列冪級数を用いて、
    Figure JPOXMLDOC01-appb-M000002
    の演算式により前記第1の係数行列が定義され、
     前記定数行列Aの逆行列をA-1、第2の定数行列をB、単位行列をIとして、前記(1)式として定義される前記第1の行列冪級数を用いて、
    Figure JPOXMLDOC01-appb-M000003
    の演算式により前記第2の係数行列が定義され、
     前記方程式設定手段は、
     前記計算ステップhによって定まる前記離散時間をn、X及びXn+1を夫々前記離散時間n及びn+1における前記状態変数ベクトル項、Uを前記離散時間nにおける前記入力ベクトル項として、前記(2)式の演算及び前記(3)式の演算に基づいて、前記状態方程式である前記差分方程式を、
    Figure JPOXMLDOC01-appb-M000004
    として設定し、
     前記事前計算手段は、
     前記計算ステップhを時間的に不変な時間不変計算ステップhexpと時間的に可変な時間可変計算ステップhとに分離し、前記第2の行列冪級数を、
    Figure JPOXMLDOC01-appb-M000005
    として事前に計算し、
     更に前記(5)式に基づく第1の定数係数行列(AymA)及び第2の定数係数行列(AymB)を夫々事前に計算し、
     前記状態方程式計算手段は、前記第1の定数係数行列(AymA)、前記第2の定数係数行列(AymB)、及び前記順次算出される前記時間可変計算ステップhに基づいて、
    Figure JPOXMLDOC01-appb-M000006
    で示される形式の前記(4)式に対応する差分方程式に対して前記解法演算を実行する、
     請求項1に記載の常微分方程式の数値計算装置。
  3.  前記事前に算出される前記第2の行列冪級数を記憶する記憶手段を更に備え、
     前記状態方程式計算手段は、前記記憶手段に記憶されている前記第2の行列冪級数を用いて、前記差分方程式に対して前記解法演算を実行する、
     請求項1又は2に記載の常微分方程式の数値計算装置。
  4.  前記時間不変計算ステップは、前記状態方程式の固有値と前記時間不変計算ステップとの積が前記状態方程式の計算結果が安定となる安定領域内に存在するように設定され、
     前記時間可変計算ステップの算出において、算出された前記時間可変計算ステップの値が前記時間不変計算ステップの値よりも大きくなった場合に、前記時間可変計算ステップの値を前記時間不変計算ステップの値として算出する、
     請求項1乃至3の何れか一項に記載の常微分方程式の数値計算装置。
  5.  前記数値計算装置は、制御装置の開発において、前記制御装置が制御を行う制御対象を模擬する装置であって、
     Xを離散時間nにおける前記状態変数ベクトル項、Uを前記離散時間nにおける前記入力ベクトル項とし、C及びDを所定の定数行列として、出力変数ベクトルYを、以下の(7)式で示される演算により算出し、
    Figure JPOXMLDOC01-appb-M000007
     前記出力変数ベクトルYに応じた物理的な信号を前記制御対象に供するにおいて、前記時間不変計算ステップの時間間隔で前記(7)式を算出する出力変数算出手段を更に備える、
     請求項1乃至4の何れか一項に記載の常微分方程式の数値計算装置。
  6.  前記計算装置は、制御装置の開発において、前記制御装置が制御を行う制御対象を模擬する装置であって、
     前記制御装置から得られる信号により正の数で前記時間可変計算ステップを算出するパルス信号計測手段を更に備える、
     請求項1乃至5の何れか一項に記載の常微分方程式の数値計算装置。
  7.  前記事前計算手段は、
     前記時間不変計算ステップを複数設定し、
     前記複数の時間不変計算ステップの夫々に対して複数の前記第2の行列冪級数の夫々を、前記状態方程式の解法演算に先立って事前に計算し、
     前記状態方程式計算手段は、前記事前計算手段が事前に計算した前記複数の第2の行列冪級数から1つを選択して、前記差分方程式に対する解法演算に使用する、
     請求項1乃至6の何れか一項に記載の常微分方程式の数値計算装置。
  8.  前記事前計算手段は、前記複数の時間不変計算ステップの夫々に対して複数の前記第2の行列冪級数の夫々を前記状態方程式の解法演算に先立って事前に計算するときに、前記複数設定した時間不変計算ステップの夫々に対応した次数で計算を実行する、
     請求項7に記載の常微分方程式の数値計算装置。
  9.  制御対象の動作を数学的にモデル化した常微分方程式である状態方程式を解く演算を実行する計算機に、
     状態を表す状態変数ベクトル項に第1の係数行列を乗算した項と入力を表す入力ベクトル項に第2の係数行列を乗算した項を含む常微分方程式について、所定の計算ステップによって定まる離散時間間の差分関係を示す差分方程式の形式を有し、一定時間において不変な定数とみなせる定数行列を指数とする行列指数関数を近似する行列冪級数であって所定の計算ステップと前記定数行列との積の冪乗項により構成される有限な次数の第1の行列冪級数を夫々含む前記第1の係数行列及び前記第2の係数行列が夫々定義される、状態方程式を設定する処理と、
     前記計算ステップを時間的に不変な時間不変計算ステップと時間的に可変な時間可変計算ステップとに分離し、少なくとも、前記時間不変計算ステップと前記定数行列との積の冪乗項により構成される前記有限な次数の第2の行列冪級数を前記状態方程式の解法演算に先立って事前に計算する処理と、
     前記事前に計算された前記第2の行列冪級数に基づいて夫々前記第1の係数行列及び前記第2の係数行列を算出しながら、順次算出される時間可変計算ステップに基づいて、前記差分方程式に対する解法演算を実行する処理と、
     を実行させる、計算装置において常微分方程式を解く演算の実行方法。
  10.  制御対象の動作を数学的にモデル化した常微分方程式である状態方程式を解く演算を実行する計算機に、
     状態を表す状態変数ベクトル項に第1の係数行列を乗算した項と入力を表す入力ベクトル項に第2の係数行列を乗算した項を含む常微分方程式について、所定の計算ステップによって定まる離散時間間の差分関係を示す差分方程式の形式を有し、一定時間において不変な定数とみなせる定数行列を指数とする行列指数関数を近似する行列冪級数であって所定の計算ステップと前記定数行列との積の冪乗項により構成される有限な次数の第1の行列冪級数を夫々含む前記第1の係数行列及び前記第2の係数行列が夫々定義される、状態方程式を設定する処理と、
     前記計算ステップを時間的に不変な時間不変計算ステップと時間的に可変な時間可変計算ステップとに分離し、少なくとも、前記時間不変計算ステップと前記定数行列との積の冪乗項により構成される前記有限な次数の第2の行列冪級数を前記状態方程式の解法演算に先立って事前に計算する処理と、
     前記事前に計算された前記第2の行列冪級数に基づいて夫々前記第1の係数行列及び前記第2の係数行列を算出しながら、順次算出される時間可変計算ステップに基づいて、前記差分方程式に対する解法演算を実行する処理と、
     を実行させるためのプログラムを記憶した記憶媒体。
PCT/JP2022/014497 2021-04-13 2022-03-25 常微分方程式の数値計算装置、計算装置において常微分方程式を解く演算の実行方法、及びプログラムを記憶した記憶媒体 WO2022220077A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP22788002.8A EP4325381A1 (en) 2021-04-13 2022-03-25 Numerical calculation device for ordinary differential equation, method for executing arithmetic operation for solving ordinary differential equation in calculation device, and storage medium having program stored therein

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021067801A JP6905298B1 (ja) 2021-04-13 2021-04-13 常微分方程式の数値計算装置、計算装置において常微分方程式を解く演算の実行方法、及びプログラム
JP2021-067801 2021-04-13

Publications (1)

Publication Number Publication Date
WO2022220077A1 true WO2022220077A1 (ja) 2022-10-20

Family

ID=76918223

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/014497 WO2022220077A1 (ja) 2021-04-13 2022-03-25 常微分方程式の数値計算装置、計算装置において常微分方程式を解く演算の実行方法、及びプログラムを記憶した記憶媒体

Country Status (3)

Country Link
EP (1) EP4325381A1 (ja)
JP (1) JP6905298B1 (ja)
WO (1) WO2022220077A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115422779B (zh) * 2022-10-08 2023-04-25 河海大学 一种基于常微分方程组的新安江模型的构建方法及其水文预报方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040020356A1 (en) * 2000-10-17 2004-02-05 Harri Ojanen Simulation of a system a mechanical subsystem and a hydraulic subsystem
JP2005025651A (ja) 2003-06-30 2005-01-27 Yasushi Fujimoto 微分方程式の数値解を求める方法およびその方法を用いたプログラム
JP2014199635A (ja) * 2013-03-11 2014-10-23 株式会社リコー 計算装置及びシミュレーションシステム
JP5692739B2 (ja) 2010-03-11 2015-04-01 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 常微分方程式を解くための方法、プログラム及びシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040020356A1 (en) * 2000-10-17 2004-02-05 Harri Ojanen Simulation of a system a mechanical subsystem and a hydraulic subsystem
JP2005025651A (ja) 2003-06-30 2005-01-27 Yasushi Fujimoto 微分方程式の数値解を求める方法およびその方法を用いたプログラム
JP5692739B2 (ja) 2010-03-11 2015-04-01 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 常微分方程式を解くための方法、プログラム及びシステム
JP2014199635A (ja) * 2013-03-11 2014-10-23 株式会社リコー 計算装置及びシミュレーションシステム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KIDOKORO HITOSHINAKAHARA MASATOSHI: "High Speed Computation Technique based on Explicit Method Realizing Real Time Simulation of DC/DC Convertor", IEICE TRANSACTIONS ON COMMUNICATIONS, vol. J97-B, no. 6, June 2014 (2014-06-01)
KIDOKORO HITOSHINAKAHARA MASATOSHI: "Real Time Simulation of Switching Convertor using FPGA", IEICE TRANSACTIONS ON COMMUNICATIONS

Also Published As

Publication number Publication date
EP4325381A1 (en) 2024-02-21
JP6905298B1 (ja) 2021-07-21
JP2022162801A (ja) 2022-10-25

Similar Documents

Publication Publication Date Title
Rewienski et al. A trajectory piecewise-linear approach to model order reduction and fast simulation of nonlinear circuits and micromachined devices
Shampine et al. Solving index-1 DAEs in MATLAB and Simulink
JP7133894B2 (ja) データに基づくインタラクティブ3dエクスペリエンス
Salhi et al. A recursive parametric estimation algorithm of multivariable nonlinear systems described by Hammerstein mathematical models
EP1131768B1 (en) Generating a nonlinear model and generating drive signals for simulation testing using the same
CA2895895A1 (en) System and method of recovering lagrange multipliers in modal dynamic analysis
WO2022220077A1 (ja) 常微分方程式の数値計算装置、計算装置において常微分方程式を解く演算の実行方法、及びプログラムを記憶した記憶媒体
González et al. Consistent identification of continuous-time systems under multisine input signal excitation
EP3582153A1 (en) Generating hybrid models of physical systems
JP6905296B1 (ja) 制御対象の動作を模擬する計算装置、計算装置において状態方程式を解く演算の実行方法、及びプログラム
Levron et al. Reduction of power system dynamic models using sparse representations
CN111258222A (zh) 自回归滑动平均系统自适应状态估计方法及闭环控制系统
Kalise et al. Reduced-order minimum time control of advection-reaction-diffusion systems via dynamic programming.
Glaser et al. Comparison between a polynomial chaos surrogate model and Markov Chain Monte Carlo for inverse uncertainty quantification based on an electric drive test bench
US8483999B2 (en) Method and system for simplifying models
Chuang et al. Analogue behavioural modelling and simulation using VHDL and Saber-MAST
Feng et al. A posteriori error estimation for model order reduction of parametric systems
Raath Structural dynamic response reconstruction in the time domain
Stöver Collocation methods for solving linear differential-algebraic boundary value problems
Hinze et al. Model Order Reduction by Proper Orthogonal Decomposition
Toso et al. Integration of time waveform replication process in a multibody software for reverse load identification
Wu Co-simulation Methods for EPAS and Chassis Systems Development
Cheong Sou et al. Fast time‐domain simulation for large‐order linear time‐invariant state space systems
Nuratch Study and implementation of microcontroller-based system dynamics emulator using numerical method and reduction of order technique
van de Par et al. HIGHLY EFFICIENT COMPUTATION OF HRTFS BY KRYLOV SUBSPACE-BASED MODEL ORDER REDUCTION FOR VIRTUAL ACOUSTICAL RENDERING

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22788002

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18286742

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2022788002

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022788002

Country of ref document: EP

Effective date: 20231113