290 likes | 307 Views
1076.1 Table-driven Modeling Subcommittee November 8, 2010 – 8am PST – 5pm CET. Joachim Haase. Agenda. Call to order Volunteer for minutes Approval of agenda Review and approve minutes from the last meeting Results of review and vote on the requirements' document
E N D
1076.1 Table-driven Modeling SubcommitteeNovember 8, 2010 – 8am PST – 5pm CET Joachim Haase
Agenda • Call to order • Volunteer for minutes • Approval of agenda • Review and approve minutes from the last meeting • Results of review and vote on the requirements' document • Discussion on combinations of interpolation and extrapolation methods • Next meeting • AOB • Adjourn
Approve minutes from October 11, 2010 meeting • Minutes available in the Table-driven modeling member-only areahttp://www.eda.org/twiki/bin/view.cgi/P10761/TDMMtgMinutesOct1110 • Thanks to Alain for preparing the minutes • Review of IEEE Patent policyhttp://www.eda.org/twiki/pub/P10761/WebHome/pat-slideset.pdf
Results of review and vote on the requirements' document • Eligible voters: 5 Votes returned by eligible voters: 4 Votes received by ineligible voters: 4 • The reviewers/voters were: David Bishop, John Shields, Subramanian Sivaramakrishnan, David Smith, Alain Vachoux, Arpad Muranyi, Joachim Haase, Ernst Christen • All returned votes were affirmative, some with comments. With this result the requirements for Table Driven Modeling have been approved. • Results of vote on requirements‘ document are availablehttp://www.eda.org/twiki/pub/P10761/ProjectTableDrivenModeling/TDM_Requirements_feedback.txt
Discussion on interpolation and extrapolation methods • Material for discussion of the 1-dimensional case preparedhttp://www.eda.org/twiki/pub/P10761/ProjectTableDrivenModeling/combinations_of_interpolation_and_extrapolation_methods.pdf • Starting point • The material summarizes combinations of different interpolation and extrapolation method. • The extrapolation case „ERROR“ (violation of the interpolation rangex0 x xm ) on the left or on the right is not explicitely handled in the following.
Interpolation methods (x0 x xm) 1see also „$table_model in Verilog-AMS“ by Ernst Christenhttp://www.eda.org/twiki/pub/P10761/ProjectTableDrivenModeling/VerilogControls.txt
Extrapolation on the left (x<x0) It seems that there are not possibilities to handle extrapolation on the left and on the right in a different way in Modelica and Matlab built-in functions.
Extrapolation on the right (xm<x) It seems that there are not possibilities to handle extrapolation on the left and on the right in a different way in Modelica and Matlab built-in functions.
Extrapolation in Verilog-AMS (LRM 2.3 – Section 9.20.2) • The constant extrapolation method returns the table endpoint value. • Linear extrapolation extends linearly to the requested point from the endpoint using a slope consistent with the selected interpolation method. • The user may also disable extrapolation by choosing the error extrapolation method. With this method, an extrapolation error is reported if the $table_modelfunction is requested to evaluate a point beyond the interpolation region.
Example (1) Verilog-AMS like with LastTwoPoints
Interpolation in Verilog-AMS • Verilog-AMS LRM 2.3 ?
Cubic spline with constant extrapolation => Complete spline1 Values are given. f‘(0) = 0 f‘(3) = -0.7421+2*(-0.7421 )+3*0.7942 = 0 First order derivatives at the endpoints are set to 0.0. 1 as used in Verilog-AMS
Cubic spline with linear extrapolation => Natural spline1 Method requiresthe values. f‘‘(0) = 0 f‘‘(3) = 2*(-0.5141)+6* 0.1714 = 0 Second order derivatives at the endpoints are zero. First order derivatives at end points f‘(0) = 0.9920 and f‘(3-0) = -0.9395determine the slope of the linear continuation. 1 as used in Verilog-AMS
Cubic spline interpolation – Not-a-knot spline1 Method requiresequal values. Third order derivatives at the first and last inner point are continuous. f‘‘‘(1-0)= -0.0104 = f‘‘‘(1) = -0.0104 f‘‘‘(2-0) = -0.0104 = f‘‘‘(2) = -0.0104 1 as used in Matlab
Problem – Piecewise linear extrapolation • Alternatives • Using the last two points (this was done in the prepared material). • Set second order derivative to zero at the end point for the interpolation and extrapolation interval. Requires continuous first order derivatives at the end point (this is done in Verilog-AMS). 1 2
Problem – Periodic Extrapolation (1) If periodic extrapolation is used on left or right values of the first and last point should be equal (y0 = ym).
Problem – Periodic extrapolation (2) • Special requirements are necessary for quadratic and cubic spline interpolation if one or both extrapolation methods are „Periodic“Proposal: • If slopes of the first and the last interval are unequal 0.0 and both are positive or negative set second order derivative to 0.0 at both end points. • Otherwise set first order derivatives at the end points to 0.0. 1 2
Problem – Interpolation with stepwise function Special rules for handling extrapolation on the rightif interpolation with with stepwise function is used.
Problem – Using Matlab‘s extrapval method Using Matlab‘s extrapval methods leads often todiscontinuities at the end points.
Conditions to specify the interpolation algorithms Number of data points • Linear interpolation requires at least two given data points. • Quadratic spline interpolation requires at least three given data points. • Cubic spline interpolation requires at least four given data points. Derivatives at end points • Quadratic spline interpolation requires that the first order derivativef’(xo) at x0 is given. • Cubic interpolation with complete splines requires the knowledge of the first order derivatives f’(xo) and f’(xm) at the first and last given data point. • Cubic interpolation with natural splines requires that the second order derivatives f’’(xo) and f’’(xm) at the first and last given data point are zero. General requirement • The interpolation shall meet the given data points.
Proposals to handle interpolation and extrapolation (1) • At least two data point should be given. • If less than three data points are given and quadratic spline interpolation is required, linear interpolation is used. • If less than four data points are given and quadratic spline interpolation is required, quadratic spline interpolation is used if three data points are available otherwise linear interpolation will be used. • The 1-dimensional table modelling function requires • the argument for which the function value has to be determined • arrays x and y with given values, • specification of the interpolation method, extrapolation method on the left and the right, • a value for continuation on the left if “Constant extrapolation with parameter for left value” extrapolation is required • a value for continuation on the right if “Constant extrapolation with parameter for right value” extrapolation is required
Proposals to handle interpolation and extrapolation (2) • If one of the extrapolation methods is “Periodic extrapolation” then first and last dependent values of the given knots must be equal. That means, y0 = ym. • If the interpolation method is • “Value of the nearest knot” or • interpolation with the “Step-wise function” then the extrapolation methods • “Description of the first (or last) last interpolation interval is used” • “Piecewise linear extrapolation” deliver the y value of the first or the last knot respectively.
Discussion (1) • Choice of interpolation and extrapolation methods : • Shall cubic spline interpolation with not-a-knot condition be supported? • Shall extrapolation with Matlab‘s „extrapval“ method be supported? • How linear extrapolation shall be carried out? • Are the proposals on the previous two slides accepted? • Additional conditions for cubic and quadratic spline interpolation: • Which condition shall be used in the subsequent extrapolation cases • “Periodic” (see proposal on one of the previous slides) • “Description of the first/last interpolation interval is used”(proposal: same condition as for linear extrapolation) • “Error”(proposal: same condition as for linear extrapolation)
Discussion (2) • Questionnaire concerning VHDL-AMS • Data representation • Specification of interpolation and extrapolation methods • Default methods • Interface of the interpolation function in the 1-dimensional case • Error handling • Handling of discontinuities in time domain simulation • Can increasing x values be assumed
Action items • Update of the requirements‘ document • Summarize handling of interpolation and extrapolation for theone-dimensional case • Proposal for the interface of a real-valued function for the one-dimensional case
Next meeting • Monday, December 6, 2010 – 8am PST (UTC-8) = 5pm CET (UTC+1)