P ROJECT : N UMERICAL S OLUTIONS TO O RDINARY D IFFERENTIAL E QUATIONS IN H ARDWARE Joseph Schneider EE 800 March 30, 2010
O RDINARY D IFFERENTIAL E QUATIONS Function with one independent variable and derivatives of the dependent variable Eg. y’ = 1 + y/x Requires some initial condition in order to be solved Eg. y(1) = 2
O RDINARY D IFFERENTIAL E QUATIONS Found in many areas of engineering Radioactive decay, heat equation, motion… In electrical engineering, charge, flux, voltage, current, all intertwined by differential equations
O RDINARY D IFFERENTIAL E QUATIONS In some cases, original equation can be derived with relative ease; Exact solutions are then available In other cases, we will only have the ODE to work with Numerical solutions have been developed to deal with these cases
O RDINARY D IFFERENTIAL E QUATIONS Most basic case: Euler’s Method Selecting a step size h, iterate from initial value to desired value using the derivative function
O RDINARY D IFFERENTIAL E QUATION Euler’s Method most basic case – Simple, but inaccurate Variety of other methods that have been developed
O RDINARY D IFFERENTIAL E QUATIONS
Error directly linked with step size As step size decreases, error decreases; However, takes longer for process to complete Implemented in software (eg. Matlab), more accurate methods take several seconds to complete for smaller scale cases; Several minutes for larger cases
O RDINARY D IFFERENTIAL E QUATIONS Original project goal: Implement the Runge- Kutta 4 th order method in hardware for improved speed
P ROJECT Euler’s method also implemented for comparisons on area, timing, and accuracy. Current implementation: Uses fixed-point number representation, state machine Further steps on this implementation Variable-point number representation to improve accuracy Modify for parallelism to examine impacts on area, timing
P ROJECT Second implementation: Error-controlled design of Runge-Kutta method Error is specified at beginning of process, step size is varied to ensure final result meets error specifications
M ATLAB I MPLEMENTATIONS
P ROJECT For second implementation, desired to use a hardware design to improve on bottleneck of software design Comparisons to software on time vs. error threshold