Hauptinhalt

RDE.DriveCycles Properties

R2026b

Properties for RDE.DriveCycles object

Since R2024b

Use RDE.DriveCycles properties to produce trips that comply with the Real Driving Emissions (RDE) standard. Configure properties using dot notation.

Note

Every property must be set before calling generateDriveCycles. If any property is unset, the function returns an Index exceeds array bounds error.

The example values listed for each property are from the EU RDE regulations (Annex IIIA of EU 2017/1151 and EU 2018/1832). Setting property values within these ranges generates RDE-compliant drive cycles. Setting properties outside these limits produces drive cycles that do not satisfy the EU regulatory requirements.

Operation Mode Definition

expand all

Sampling interval, in seconds, specified as a scalar double.

Data Types: double

Stop speed threshold, in m/s, specified as a nonnegative scalar double. Vehicle speeds at or below this value are classified as stopped. To maintain EU RDE compliance, use the regulatory value of 1/3.6 m/s (1 km/h).

Example: DriveCycles.StopSpeedTh = 1/3.6

Data Types: double

Urban, rural, and motorway speed boundaries, in m/s, specified as a 1-by-2 increasing double vector. The first element defines the urban-rural boundary. The second element defines the rural-motorway boundary. To maintain EU RDE compliance, use the regulatory value of [60 90]/3.6 m/s (60 km/h and 90 km/h).

Example: DriveCycles.OperationModeBoundaries = [60 90]/3.6

Data Types: double

Trip Composition

expand all

Urban distance ratio, specified as a 1-by-2 increasing double vector. Values represent the minimum and maximum fraction of total trip distance that must be urban driving. To maintain EU RDE compliance, keep values within the regulatory range of [0.29 0.44].

Example: DriveCycles.UrbanRatioRange = [0.29 0.44]

Data Types: double

Rural distance ratio, specified as a 1-by-2 increasing double vector. Values represent the minimum and maximum fraction of total trip distance that must be rural driving. To maintain EU RDE compliance, keep values within the regulatory range of [0.23 0.43].

Example: DriveCycles.RuralRatioRange = [0.23 0.43]

Data Types: double

Motorway distance ratio, specified as a 1-by-2 increasing double vector. Values represent the minimum and maximum fraction of total trip distance that must be motorway driving. To maintain EU RDE compliance, keep values within the regulatory range of [0.23 0.43].

Example: DriveCycles.MotorwayRatioRange = [0.23 0.43]

Data Types: double

Speed and Motorway Operating Conditions

expand all

Usual motorway maximum speed, in m/s, specified as a scalar double. Vehicles occasionally exceed this value, such as during overtaking maneuvers. To maintain EU RDE compliance, use the regulatory value of 145/3.6 m/s (145 km/h).

Example: DriveCycles.MotorwayUsualMaxSpeed = 145/3.6

Data Types: double

Time ratio above usual motorway maximum speed (MotorwayUsualMaxSpeed), specified as a scalar double in the range [0, 1]. To maintain EU RDE compliance, use the regulatory value of 0.03.

Example: DriveCycles.MotorwayAbsoluteSpeedTimeRatio = 0.03

Data Types: double

Absolute motorway maximum speed, in m/s, specified as a scalar double. Vehicle speed cannot exceed this value at any point during the trip. To maintain EU RDE compliance, use the regulatory value of 160/3.6 m/s (160 km/h).

Example: DriveCycles.MotorwayAbsoluteMaxSpeed = 160/3.6

Data Types: double

Urban average speed range, in m/s, specified as a 1-by-2 increasing double vector. To maintain EU RDE compliance, keep values within the regulatory range of [15 40]/3.6 m/s (15–40 km/h).

Example: DriveCycles.UrbanAverageSpeedRange = [15 40]/3.6

Data Types: double

Rural average speed range, in m/s, specified as a 1-by-2 increasing double vector. To maintain EU RDE compliance, keep values within the regulatory range of [60 90]/3.6 m/s (60–90 km/h).

Example: DriveCycles.RuralAverageSpeedRange = [60 90]/3.6

Data Types: double

Motorway average speed range, in m/s, specified as a 1-by-2 increasing double vector. To maintain EU RDE compliance, keep values within the regulatory range of [90 145]/3.6 m/s (90–145 km/h).

Example: DriveCycles.MotorwayAverageSpeedRange = [90 145]/3.6

Data Types: double

Usual motorway minimum speed, in m/s, specified as a scalar double. The vehicle must exceed this speed, in seconds, for at least the value of MotorwayUsualMinSpeedTime during motorway operation. To maintain EU RDE compliance, use the regulatory value of 100/3.6 m/s (100 km/h).

Example: DriveCycles.MotorwayUsualMinSpeed = 100/3.6

Data Types: double

Time above usual motorway minimum speed (MotorwayUsualMinSpeed), in seconds, specified as a scalar double. To maintain EU RDE compliance, use the regulatory value of 5*60 s (5 minutes).

Example: DriveCycles.MotorwayUsualMinSpeedTime = 5*60

Data Types: double

Urban Operating Conditions

expand all

Urban stop ratio range, specified as a 1-by-2 increasing double vector. To maintain EU RDE compliance, keep values within the regulatory range of [0.06 0.30] (6%–30%).

Example: DriveCycles.UrbanStopRatioRange = [0.06 0.3]

Data Types: double

Minimum urban stop duration, in seconds, specified as a scalar double. To maintain EU RDE compliance, use the regulatory value of 10 s.

Example: DriveCycles.UrbanMinStopTime = 10

Data Types: double

Minimum number of urban stops, specified as a nonnegative integer-valued scalar double. To maintain EU RDE compliance, use the regulatory value of 2.

Example: DriveCycles.UrbanMinStopCount = 2

Data Types: double

Trip Duration and Distance

expand all

Total trip duration range, in seconds, specified as a 1-by-2 increasing double vector. To maintain EU RDE compliance, keep values within the regulatory range of [90 120]*60 s (90–120 minutes).

Example: DriveCycles.TripDurationRange = [90 120]*60

Data Types: double

Minimum urban distance, in meters, specified as a scalar double. To maintain EU RDE compliance, use the regulatory value of 16,000 m (16 km).

Example: DriveCycles.UrbanMinDistance = 16000

Data Types: double

Minimum rural distance, in meters, specified as a scalar double. To maintain EU RDE compliance, use the regulatory value of 16,000 m (16 km).

Example: DriveCycles.RuralMinDistance = 16000

Data Types: double

Minimum motorway distance, in meters, specified as a scalar double. To maintain EU RDE compliance, use the regulatory value of 16,000 m (16 km).

Example: DriveCycles.MotorwayMinDistance = 16000

Data Types: double

VA95 Dynamic Boundary (High Dynamic Condition)

expand all

VA95 threshold velocity, in m/s. VA95 is the 95th percentile of the product of vehicle speed and positive acceleration greater than 0.1 m/s^2 and has units of m^2/s^3 or W/kg, similar to a power to mass ratio (95th percentile of v*a_pos). To maintain EU RDE compliance, use the regulatory value of 74.6/3.6 m/s (74.6 km/h).

Example: DriveCycles.VA95VelocityThreshold = 74.6/3.6

Data Types: double

VA95 boundary slope for speeds below VA95VelocityThreshold, specified as a scalar double. Units equivalent to m/s². To maintain EU RDE compliance, use the regulatory value of 0.136.

Example: DriveCycles.VA95BoundarySpeedCoeff1 = 0.136

Data Types: double

VA95 boundary bias for speeds below VA95VelocityThreshold, in W/kg, specified as a scalar double. To maintain EU RDE compliance, use the regulatory value of 14.44.

Example: DriveCycles.VA95BoundaryBias1 = 14.44

Data Types: double

VA95 boundary slope for speeds above VA95VelocityThreshold, specified as a scalar double. Units equivalent to m/s². To maintain EU RDE compliance, use the regulatory value of 0.0742.

Example: DriveCycles.VA95BoundarySpeedCoeff2 = 0.0742

Data Types: double

VA95 boundary bias for speeds above VA95VelocityThreshold, in W/kg, specified as a scalar double. To maintain EU RDE compliance, use the regulatory value of 18.966.

Example: DriveCycles.VA95BoundaryBias2 = 18.966

Data Types: double

Relative Positive Acceleration (RPA) Dynamic Boundary (Low Dynamic Condition)

expand all

RPA threshold velocity, in m/s, specified as a scalar double. Above this speed, the RPA boundary transitions from a speed-dependent line to a constant lower bound. To maintain EU RDE compliance, use the regulatory value of 94.05/3.6 m/s (94.05 km/h).

Example: DriveCycles.RPAVelocityThreshold = 94.05/3.6

Data Types: double

RPA boundary speed slope, specified as a scalar double. Units equivalent to 1/s. To maintain EU RDE compliance, use the regulatory value of −0.0016.

Example: DriveCycles.RPABoundarySpeedCoeff = -0.0016

Data Types: double

RPA boundary bias, in m/s², specified as a scalar double. To maintain EU RDE compliance, use the regulatory value of 0.1755.

Example: DriveCycles.RPABoundaryBias = 0.1755

Data Types: double

RPA lower bound, in m/s², specified as a scalar double. This value applies above RPAVelocityThreshold. To maintain EU RDE compliance, use the regulatory value of 0.025.

Example: DriveCycles.RPALowerBound = 0.025

Data Types: double

Generation Parameters

expand all

Gamma distribution shape parameter used to generate candidate velocity profiles, specified as a positive scalar double.

Example: DriveCycles.ShapeParameter = 1

Data Types: double

Smoothing method used by smoothdata to smooth generated velocity profiles, specified as a character vector. Valid values include any method accepted by smoothdata:

  • 'movmean' — Average over each window of a candidate velocity profile. This method is useful for reducing periodic trends in data.

  • 'movmedian' — Median over each window of candidate velocity profile. This method is useful for reducing periodic trends in data when outliers are present.

  • 'gaussian' — Gaussian-weighted average over each window of candidate velocity profile.

  • 'lowess' — Linear regression over each window of candidate velocity profile. This method can be computationally expensive but results in fewer discontinuities.

  • 'loess' — Quadratic regression over each window of candidate velocity profile. This method is slightly more computationally expensive than 'lowess'.

  • 'rlowess' — Robust linear regression over each window of candidate velocity profile. This method is a more computationally expensive version of the method 'lowess' but is more robust to outliers.

  • 'rloess' — Robust quadratic regression over each window of candidate velocity profile. This method is a more computationally expensive version of the method 'loess' but is more robust to outliers.

  • 'sgolay' — Savitzky-Golay filter, which smooths according to a quadratic polynomial that is fitted over each window of candidate velocity profile. This method can be more effective than other methods when the data varies rapidly.

Example: DriveCycles.SmoothingMethod = 'rloess'

Data Types: char

Smoothing window length used by smoothdata for velocity profile smoothing, specified as a nonnegative scalar double.

Example: DriveCycles.SmoothingWindowLength = 5

Data Types: double

Number of RDE trips to generate, specified as a positive integer-valued scalar double.

Example: DriveCycles.NTrips = 4

Data Types: double

Maximum generation attempts, specified as a positive integer-valued scalar double. If the function does not find a valid RDE trip in this limit, the function issues a warning.

Example: DriveCycles.NumberOfIterations = 10000

Data Types: double

Output folder for CSV files, specified as a character vector. If the folder does not exist, the function creates it automatically.

Example: DriveCycles.OutputFolder = fullfile(pwd(),'results')

Data Types: char

Output

expand all

Generated drive cycle data, returned as a cell array of timetables. Each cell contains a timetable for one trip with a time dimension t and a variable v representing velocity in m/s. This property is populated by generateDriveCycles.

Data Types: cell

Version History

Introduced in R2024b