+ All Categories
Home > Engineering > Modelling the European Train Control System: Braking and Supervision Curves

Modelling the European Train Control System: Braking and Supervision Curves

Date post: 14-Apr-2017
Category:
Upload: tom-gibson
View: 193 times
Download: 47 times
Share this document with a friend
95
EM504 Dissertation A Modelling the European Train Control System Braking and Supervision Curves Thomas Gibson 201113465 2015/2016
Transcript
Page 1: Modelling the European Train Control System: Braking and Supervision Curves

EM504 Dissertation A

Modelling the European Train Control System

Braking and Supervision Curves

Thomas Gibson

201113465

2015/2016

Page 2: Modelling the European Train Control System: Braking and Supervision Curves

2

Abstract In their present state, railways across the world use signaling systems based on principles derived from the

Victorian era. With these come a raft of difficulties due to the limitations of such systems, which ultimately result in

delays on the railways. The European Rail Traffic Management System (ERTMS) is an effort to overcome these

issues with a single standardized in cab signaling system implemented across Europe. Being developed by a

consortium of companies, this would be one of the largest developments in railway systems since the 19th century.

A key aspect of the system is the ability of an individual train to monitor its own speed and displacement relative to

a number of target locations. With this the train must generate a set of braking curves to ensure its safe operation.

Throughout this work, the ERTMS is explored in more detail with the aim of gaining a better understanding of what

is involved. More specifically, the braking curves will be fully investigated and modelled in the MATLAB and

Simulink environment, leading to the development of a robust model for analysing a train’s interactions along a

length of railway.

Page 3: Modelling the European Train Control System: Braking and Supervision Curves

3

i) Contents 1. Introduction ......................................................................................................................................................... 8

2. Objectives ......................................................................................................................................................... 10

3. Literature Review .............................................................................................................................................. 10

3.1. The Fundamentals of ERTMS ................................................................................................................. 10

3.1.1. ERTMS Levels ................................................................................................................................. 10

3.1.2. Trainborne Equipment and Train Characteristics ............................................................................ 12

3.2. ERTMS Modelling .................................................................................................................................... 15

3.3. Conclusions of Literature Review ............................................................................................................ 17

4. Technical Assessment...................................................................................................................................... 18

4.1. Emergency Brake Deceleration ............................................................................................................... 18

4.2. Service Brake Deceleration ..................................................................................................................... 20

4.3. Supervision Limits .................................................................................................................................... 20

4.3.1. Emergency Brake Intervention ........................................................................................................ 20

4.3.2. Service Brake Intervention ............................................................................................................... 21

4.3.3. Warning Supervision Limit ............................................................................................................... 22

4.3.4. Permitted Speed .............................................................................................................................. 22

4.3.5. Indication Supervision Limit ............................................................................................................. 22

4.3.6. Ceiling Supervision Limits ................................................................................................................ 23

4.4. Review of Technical Understandings ...................................................................................................... 25

5. Modelling Procedure and Implementation ........................................................................................................ 26

5.1. Input Data ................................................................................................................................................ 26

5.2. Mathematical Model ................................................................................................................................. 27

5.2.1. Assumptions .................................................................................................................................... 28

5.2.2. Initialisation and Parameter Definitions ........................................................................................... 28

5.2.3. Ceiling Supervision Limits ................................................................................................................ 29

5.2.4. Accelerations ................................................................................................................................... 29

5.2.5. Braking Curves ................................................................................................................................ 29

5.2.6. Mathematical Model Output ............................................................................................................. 30

5.3. Model Validation and Verification ............................................................................................................ 30

5.4. Extended Mathematical Model ................................................................................................................ 32

5.4.1. Target Identification ......................................................................................................................... 34

5.4.2. Braking Curve Calculation ............................................................................................................... 35

5.4.3. Extended Model Output ................................................................................................................... 36

5.5. Simulink Models ....................................................................................................................................... 37

5.5.1. Single Train Model ........................................................................................................................... 37

5.5.2. Single Train Model Output ............................................................................................................... 38

5.5.3. Two Train Model (Moving Block) ..................................................................................................... 40

5.5.4. Two Train Model Output .................................................................................................................. 41

Page 4: Modelling the European Train Control System: Braking and Supervision Curves

4

6. Discussion of Results ....................................................................................................................................... 44

6.1. Mathematical Model ................................................................................................................................. 44

6.2. Extended Mathematical Model ................................................................................................................ 45

6.2.1. Target Profiles .................................................................................................................................. 45

6.2.2. Temporary Speed Restrictions ........................................................................................................ 46

6.3. Single Train Simulink Model .................................................................................................................... 46

6.3.1. Permitted Speed .............................................................................................................................. 46

6.3.2. Brake Intervention ............................................................................................................................ 48

6.4. Two Train Simulink Model ....................................................................................................................... 51

7. Conclusions and Future Work .......................................................................................................................... 54

8. References ....................................................................................................................................................... 56

9. Appendix ........................................................................................................................................................... 58

9.1. Train Datasets.......................................................................................................................................... 58

9.1.1. TrainData1.xlsx ................................................................................................................................ 58

9.2. Track Datasets ......................................................................................................................................... 59

9.2.1. TrackData1.xlsx ............................................................................................................................... 59

9.2.2. TrackData2.xlsx ............................................................................................................................... 60

9.2.3. TrackData3.xlsx ............................................................................................................................... 61

9.2.4. TrackData4.xlsx ............................................................................................................................... 62

9.2.5. TrackData5.xlsx ............................................................................................................................... 63

9.2.6. TrackData6.xlsx ............................................................................................................................... 64

9.2.7. TrackData7.xlsx ............................................................................................................................... 65

9.3. Input Dataset MATLAB Scripts ................................................................................................................ 66

9.3.1. Fixed Value Data [23] ...................................................................................................................... 66

9.3.2. National Value Data [23] .................................................................................................................. 67

9.3.3. Read in Track Data .......................................................................................................................... 68

9.4. MATLAB Code ......................................................................................................................................... 69

9.4.1. Mathematical Model – BrakingCurves.m ......................................................................................... 69

9.4.2. Extended Mathematical Model – Integrated_Model_1.m ................................................................ 74

9.4.3. Ceiling Supervision Limits – supervision_limits.m ........................................................................... 79

9.4.4. Braking Curves – BrakingCurvesModel_V2.m ................................................................................ 80

9.4.5. Interpolation – Interpolate_1.m ........................................................................................................ 82

9.4.6. Generate Target Braking Profiles – gen_target_profiles.m ............................................................. 83

9.4.7. Level 3 Model – Level_3_Model_1.m .............................................................................................. 88

Page 5: Modelling the European Train Control System: Braking and Supervision Curves

5

ii) Table of Figures Figure 1: Railway Block Sections .............................................................................................................................. 8

Figure 2: Standard British Signal Types [1] ............................................................................................................... 9

Figure 3: ERTMS Level 1 [9] ................................................................................................................................... 11

Figure 4: ERTMS Level 2 [9] ................................................................................................................................... 11

Figure 5: ERTMS Level 3 [9] ................................................................................................................................... 11

Figure 6: ERTMS System Architecture [12] ............................................................................................................. 12

Figure 7: Driver Machine Interface Display [12] ...................................................................................................... 12

Figure 8: Traction Model [12] ................................................................................................................................... 13

Figure 9: Braking Model – Progressive Application of Brakes [12] ......................................................................... 13

Figure 10: Braking Model – Deceleration vs Speed [12] ......................................................................................... 13

Figure 11: Dynamic Speed Monitoring by ETCS [12] .............................................................................................. 14

Figure 12: Braking Curves under Plain Line Operation [13] (System D refers to ERTMS level 2) ......................... 14

Figure 13: Braking Curve Inputs and Outputs [14] .................................................................................................. 16

Figure 14: Generating the Test Configuration [14] .................................................................................................. 16

Figure 15: RBC Execution Process [14] .................................................................................................................. 17

Figure 16: ERTMS braking curves, where: I – Indication Point, P – Permitted Speed, W – Warning Point, SBI –

Service Brake Intervention, EBI – Emergency Brake Intervention, EBD – Emergency Brake Deceleration, SBD –

Service Brake Deceleration [23]. ............................................................................................................................. 18

Figure 17: Influence of Track Conditions on Abrake_emergency ..................................................................................... 19

Figure 18: Supervision limits for an EBD curve [23]. ............................................................................................... 21

Figure 19: Ceiling supervision limits [23] ................................................................................................................. 23

Figure 20: Definition of dVebi .................................................................................................................................... 23

Figure 21: Mathematical model, BrakingCurves.m, flow diagram. .......................................................................... 27

Figure 22: Mathematical model, BrakingCurves.m, output plot............................................................................... 30

Figure 23: ERA Braking Curves Tool output plot, using the same data as for the MATLAB model. ...................... 31

Figure 24: : Extended mathematical model, Integrated_Model_1.m, flow diagram. ............................................... 33

Figure 25: Theoretical target location for a LOA curve [23]. .................................................................................... 34

Figure 26: Calculation of braking point. ................................................................................................................... 35

Figure 27: Calculation of V_EBD1. .......................................................................................................................... 35

Figure 28: a) The individual EBD curves and b) The combined EBD curve. .......................................................... 36

Figure 29: Extended mathematical model, Integrated_Model_1.m, output plot for TrackData3.xlsx. ..................... 37

Figure 30: Overview of Simulink Single Train Model Integrated_Model_1_Sim.slx. ............................................... 38

Figure 31: Velocity profile output for the single train Simulink model. ..................................................................... 39

Figure 32: Train displacement output for the single train Simulink model. .............................................................. 39

Figure 33: Two Train Simulink Model ...................................................................................................................... 40

Figure 34: Braking Curves Plot for TrackData7.xlsx ............................................................................................... 41

Figure 35: Velocity and Displacement Profiles for Train 1. ..................................................................................... 42

Figure 36: Velocity and Displacement Profiles for Train 2. ..................................................................................... 42

Figure 37: Comparison of Velocity and Displacement Between Trains. ................................................................. 43

Figure 38: Comparison of EBD, EBI and P for a) dry rails and b) wet rails. ............................................................ 44

Figure 39: Braking and supervision profiles for TrackData4.xlsx. ........................................................................... 45

Figure 40: Braking and supervision profiles for TrackData5.xlsx with TSR of 60 km/hr set between 3 km and 4 km.

................................................................................................................................................................................. 46

Figure 41: Speed profile for TrackData4.xlsx. ......................................................................................................... 47

Figure 42: Speed profile for TrackData5.xlsx with TSR of 60 km/hr set between 3 km and 4 km. ......................... 47

Figure 43: Displacement plot for TrackData5.xlsx with TSR of 60 km/hr set between 3 km and 4 km................... 48

Figure 44: Demonstration of the Service Brake Intervention. .................................................................................. 48

Figure 45: Supervision flags relative to Figure 44. .................................................................................................. 49

Figure 46: Demonstration of the Emergency Brake Intervention. ........................................................................... 49

Figure 47: Demonstration of EBI when approaching a target. ................................................................................ 50

Figure 48: a) Comparison of velocity profiles for the two trains, b) Comparison of the displacements of the two

trains, c) the distance maintained between the two trains towards the end of the simulation. ............................... 51

Figure 49: Velocity and displacement profiles of the two trains when Train 1's EBI is triggered at 200 s. ............. 52

Page 6: Modelling the European Train Control System: Braking and Supervision Curves

6

Figure 50: Velocity and displacement profiles of the two trains when Train 1's EBI is triggered at 400 s. ............. 53

Figure 51: Correction factors and A_brake_emergency for TrainData1 ................................................................. 58

Figure 52: Speed Profile for TrackData1 ................................................................................................................. 59

Figure 53: Gradient Profile for TrackData1 .............................................................................................................. 59

Figure 54: Speed Profile for TrackData2 ................................................................................................................. 60

Figure 55: Gradient Profile for TrackData2 .............................................................................................................. 60

Figure 56: Speed Profile for TrackData3 ................................................................................................................. 61

Figure 57: Gradient Profile for TrackData3 .............................................................................................................. 61

Figure 58: Speed Profile for TrackData4 ................................................................................................................. 62

Figure 59: Gradient Profile for TrackData4 .............................................................................................................. 62

Figure 60: Speed Profile for TrackData5 ................................................................................................................. 63

Figure 61: Gradient Profile for TrackData5 .............................................................................................................. 63

Figure 62: Speed Profile for TrackData6 ................................................................................................................. 64

Figure 63: Gradient Profile for TrackData6 .............................................................................................................. 64

Figure 64: Speed Profile for TrackData7 ................................................................................................................. 65

Figure 65: Gradient Profile for TrackData7 .............................................................................................................. 65

iii) Table of Tables Table 1: Abbreviations ............................................................................................................................................... 7

Table 2: Prefixes Used for ERTMS Variables [12] .................................................................................................. 15

Table 3: Minimum and maximum ceiling supervision limit parameters as defined in Appendix A.3.1 of the System

Requirements Specification [23]. ............................................................................................................................. 24

Table 4: Comparison of ERA Braking Curves Tool and MATLAB model results. ................................................... 31

Table 5: Other parameters defined in TrainData1 ................................................................................................... 58

Page 7: Modelling the European Train Control System: Braking and Supervision Curves

7

iv) Abbreviations It is noted that the European Rail Agency provide a useful document which includes a glossary of terms and

abbreviations, this is available at [1]. This also provides the reference for a number of these terms.

Table 1: Abbreviations

Abbreviation Term

DMI Driver Machine Interface

DV

Difference Value between the Permitted Speed to e.g.

DV_EBImin Emergency Brake Intervention speed (minimum)

DV_EBImax Emergency Brake Intervention speed (maximum)

EBCL Emergency Brake Confidence Level

EBD Emergency Brake Deceleration curve

EBI Emergency Brake Intervention supervision limit

EOA End of Movement Authority

ERA European Railway Agency

ERTMS European Rail Traffic Management System

ETCS European Train Control System

EVC European Vital Computer

FLOI First Line of Intervention

GSM-R Global System for Mobile Communications for Railways

I Indication Supervision Limit

LOA Limit of Movement Authority

MA Movement Authority

MRSP Most Restrictive Speed Profile

P Permitted Speed Supervision Limit

RBC Radio Block Centre

SBD Service Brake Deceleration curve

SBI Service Brake Intervention supervision limit

SR Staff Responsible

SRS System Requirement Specification

SvL Supervised Location

TSR Temporary Speed Restriction

UNISIG UNIFE ETCS Working Group

W Warning Supervision Limit

Page 8: Modelling the European Train Control System: Braking and Supervision Curves

8

1. Introduction

Towards the end of the 19th century, as the Industrial Revolution came to an end, a rapid growth was observed in

the development of railways in the United Kingdom. These early railways had no systems for maintaining the

distances, or headways, between trains, with the driver relying on line of sight to assess the state of the line ahead.

As a consequence of this, along with driver inexperience, sub-standard brakes and limited cohesion between the

rails and the train’s wheels, there were a frequent number of collisions between trains. As the size and power of

steam locomotives increased, these collisions became more disastrous.

It was soon realised that some method of railway signalling was required as a method of preventing such collisions

from occurring. Various methods were trialled, with the earlier options relying on timings between trains at a fixed

location. For example, if a train left a station a second train would not be allowed to leave the same station on the

same piece of railway until ten minutes later. This system had a critical flaw in that if the first train were to break

down there was no way for the driver of the second train to know. Therefore, the number of rear end collisions

between trains remained high, particularly since railway locomotives were very unreliable at the time.

In an effort to combat this a new approach was implemented, maintaining headways in terms of distance rather

than time, as in Figure 1 below. This, known as block based signalling, formed the basis for the railway signalling

systems used worldwide today. By this system the railway is divided into block sections of a particular distance,

depending on the maximum permissible speed of traffic on that section of line and the required line capacity. To

prevent collisions, a second train is only allowed into a block section when it is proven that the block is empty. That

is, it has been confirmed that the first train has left the block, fully intact. A coloured light, or aspect, indicates the

state of the proceeding block to the train driver. A green aspect indicates that the line is clear and the train may

proceed at full speed. A yellow aspect, known as a signal at danger, indicates that the line ahead is clear, but the

driver must be prepared to stop at the next signal so must reduce their speed. A red aspect indicates that the block

ahead is occupied by another train. When a train passes a green or yellow aspect the signal turns to red. The red

signal will turn yellow when the train enters the next block. Early signals were controlled manually by signal box

operators. Now, however, the majority of these operate automatically. This approach to signalling became law on

all passenger railways following the Regulation of Railways Act in 1889.

Figure 1: Railway Block Sections

The original signalling systems used mechanical semaphore signals, as in the left of Figure 2. These were designed

to be fail-safe, that is in the result of mechanical failure the signal arm will fall to be horizontal indicating a stop. The

signals were operated through a system of pulleys and wires, connecting them to local signal boxes. Although

these signals are still used today in a number of locations, they proved to be very unreliable with frequent

mechanical failures, particularly in winter when cables would freeze, and in summer when cables would heat up

and elongate. The majority of signals have been replaced by coloured light aspects which have reduced the

frequency of mechanical failures. These signals can also be controlled remotely from centralised signalling centres,

leaving to the closure of a number of local signal boxes.

Signalling problems are a leading cause of delays to rail traffic. Since the system is fail safe if any issue arises then

no rail traffic is allowed to operate on the affected line. While coloured light signals have improved reliability

compared to semaphore signals there are still a number of areas where faults can occur, such as if cables are

damaged or stolen, or if there is a failure in the control system (which are mainly mechanical relay or computer

driven systems).

Occupied Block Occupied Block Block Block Block

Direction of Travel

Page 9: Modelling the European Train Control System: Braking and Supervision Curves

9

Figure 2: Standard British Signal Types [2]

These signalling systems are also very difficult and costly to uphold, requiring regular inspections and maintenance.

Considering the vast number of signals across the country this all adds up to a great expense, financially and in

terms of man-hours. Other issues with the current standard of railway signalling include limited line speed and

capacity. Since the train driver still relies on line of sight to see the trackside signals the line speed is limited to

ensure that the driver can see the signal in plentiful time to react. Also, since the railway is divided into physical

sections, the capacity (i.e. the number of trains allowed onto a length of railway at any one time) is limited. This is

a great issue in busy areas, such as around London, where the recent increase in the popularity of rail travel has

led to overcrowding on the trains operating in that area.

One means of overcoming these problems is through the implementation of in-cab signalling. This technology

would mean that physical lineside signals could be replaced by a display in the driver’s cab. The removal of physical

signals and the associated cabling would mean that the reliability of the system could be increased. In some areas

the railway line speed could also be increased, since the train driver would no longer need to rely on spotting the

lineside signals – the information is displayed to the driver at all times. Furthermore, the railway blocks could be

defined virtually rather than physically and thus the blocks could be made much smaller than they are today, without

the expense of adding new physical systems to the railways.

Modern day railways also implement several additional layers of safety, such as integrity checking and warning

systems. A train’s integrity is monitored by trackside equipment, such as track circuits or axle counters. These are

used to ensure that a train is complete when it leaves a block section, so that the block is proven to be clear.

Additional systems, such as the Train Protecting and Warning System (TPWS) will automatically stop a train if it

passes a red signal, in an event known as a Signal Passed at Danger (SPAD).

Historically, European railways have been divided by a number of different signalling systems between or

sometimes within each country. This makes cross border rail traffic very difficult as the trains must be equipped

with several different types of signalling and safety equipment. The European Railway Traffic Management System

(ERTMS) is an initiative aimed at standardising the European railways under a single cab-based signalling system

so that any rail traffic can travel easily between countries.

Semaphore Arm

Horizontal

Stop

Semaphore Arm

Raised

Proceed

Red Light

Aspect

Stop

Page 10: Modelling the European Train Control System: Braking and Supervision Curves

10

2. Objectives

The main objective for this dissertation was to conduct a study of the ERTMS, analysing the engineering principles

and engineering theory behind the system. A simplified model of the trainborne systems associated with the

ERTMS was to be produced in the MATLAB and Simulink simulation environment, as seen by the train and its

driver.

The model would be applied to a number of different track and train scenarios, considering real train data, including

emergency situations and the interaction between two trains.

The validity of the model was to be assessed through an extensive validation and verification procedure to prove

the integrity and safety of the system.

3. Literature Review

3.1. The Fundamentals of ERTMS

Before the system can be modelled a deep understanding of the technology is required as well as the companies

and technologies behind it. The system is being openly developed by a consortium of various companies, allowing

a vast amount of information to be readily available online. The main website to host this information is “ERTMS |

The European Railway Traffic Management System” [3] which includes a number of news articles and data sheets.

Overseeing the development of the system is a consortium of relevant companies known as UNISIG [4], an

associated member of UNIFE, the body which represents railway manufacturing in Europe [5]. UNISIG collaborates

closely with the European Railway Agency (ERA) to produce a set of standards that any company working with

ERTMS must conform to [6]. Network Rail is the company who owns and manages Britain’s railway network and

will oversee the implementation of ERTMS in the UK. More information is provided on their website [7] and on the

partner site “ERTMS Online” [8] including the developmental timeline and testing results.

All of the aforementioned sources host a great deal of information on ERTMS and since the system is being jointly

developed across a number of companies all the information is fairly consistent. A good summary is available in

the Network Rail document “Your guide to European Rail Traffic Management System (ERTMS)” [9]. The document

briefly summarises the main implications and advantages of the ERTMS, with the main difference being that the

current fixed lineside signals and speed signs will be removed with all information being displayed to the driver in

cab via the Driver Machine Interface (DMI). Train movements will be controlled by a regional control centre, rather

than the numerous signal boxes which currently each control a small section of track. Communications will be

transmitted wirelessly over the purpose-built GSM-R network between the control centre and the train and this

data, along with track data provided by devices mounted on the track known as Eurobalises, will be used by a

computer on-board the train to calculate the train’s movement authority. The system will also provide automatic

train protection which minimises the safety risk.

3.1.1. ERTMS Levels

The document discussed previously also introduces the two main components of ERTMS, the European Train

Control System (ETCS) and the GSM-R communications system, as well as the three widely aknowledged

application levels of ERTMS. Each level builds on the previous with increased capabilities and efficiency. The levels

are further defined in the documents “ERTMS Factsheet 3: ERTMS Levels” [10].

Under level one operation the train is fitted with all the required ERTMS equipment but the lineside equipment

reamins in place to support the safe operation of the train and maintatin distances betweer trains. The movement

authority given by the lineside equipment is repeated to the train by the lineside electronic unit (LEU) and track

balise and displayed on the DMI. This operation is shown below in Figure 3. The main advantages of this level are

the interoperability of trains between countries and equipment suppliers, and the improved safety as the on-board

equipment will calculate the required speed profile of the train and apply the brakes if the train over-speeds, as part

of the ETCS.

Page 11: Modelling the European Train Control System: Braking and Supervision Curves

11

Figure 3: ERTMS Level 1 [10]

Level two builds on level one but with the removal of lineside signalling, as in Figure 4. The train’s movement

authority is passed directly to the train from a Radio Block Centre (RBC) via the GSM-R network and displayed on

the DMI. The balises are still required to transmit fixed messages to the train, such as its location, the speed limit,

or the track gradient. The train’s position is still recorded by traditional interlocking equipment (such as track circuits

or axle counters) and fed back to the RBC, therefore fixed ‘block’ sections are still required. This is currently the

most popular level amongst train and rail operating companies and it is proposed to be rolled out across the entire

rail network in the UK [9].

Figure 4: ERTMS Level 2 [10]

Once again level three builds upon level two. This, however, is still a conceptual level since the standards have not

yet been fully defined by the ERA. In general the distance between trains is regulated according to safety critical

train data, effectively creating moving blocks and reducing the requirement for fixed blocks (see Figure 5). This has

the advantage of increasing the line capacity and optimising train running speeds. There is no longer a need for

track circuits, axle counters or traditional interlocking equipment since the train integrity is checked on-board and

the train position is sent to the RBC via GSM-R.

Figure 5: ERTMS Level 3 [10]

Page 12: Modelling the European Train Control System: Braking and Supervision Curves

12

These levels are largely agreed upon by all companies involved in ERTMS and are defined technically in the

standards produced by the ERA [6]. While manufactures may make different solutions (for example Alstom [11]

produce a different product to ERTMS Solutions [12]) it is required that all systems are cross compatible to ensure

that trains can truly operate across borders.

3.1.2. Trainborne Equipment and Train Characteristics

The paper “European Rail Traffic Management System – An Overview” [13] further discusses these application

levels in agreeance with the previously considered documents. An additional level, level 0, is also introduced where

a train fitted with ERTMS equipment is run on a conventionally signalled line. i.e. the ERTMS equipment is ignored.

The architecture of the system is further defined in this paper (see Figure 6), identifying and describing the system’s

key components.

Figure 6: ERTMS System Architecture [13]

From the diagram above, signals are sent to and from the key management centre (or control centre) by the GSM-

R network. Data is generated by the interlocking equipment at the lineside and it fed to the train and the

management centre. The European Vital Computer (EVC) on-board the train uses this data to calculate the desired

train speed and braking point and displays the data on the DMI. The DMI display is also standardised by the ERA

specifications, therefore each company must produce their display to look similar to that in Figure 7.

Figure 7: Driver Machine Interface Display [13]

Page 13: Modelling the European Train Control System: Braking and Supervision Curves

13

Included on the DMI are a number of parameters that are required to be considered for simulation. These will

include the permitted speed (the maximum speed the train is allowed to travel), the actual speed (the real time

speed of the train), the target speed (the train speed calculated by the EVC) and the distance to target (the distance

to a theoretical stop signal for example). The speed warning indicator is illuminated when the train is travelling

faster than the permitted speed and gives the driver a warning to adjust their speed before the brakes are

automatically applied. The planning area may also be useful for simulation, displaying the oncoming line features

such as speed restrictions.

This paper also introduces the means of operation of the system in terms on dynamic speed monitoring, which will

be useful for modelling the system. The ERTMS equipment on-board the train monitors the train’s speed against

its position based on traction and deceleration models as presented in Figure 8 and Figure 9 below. These

represent the time delay in the acceleration cut off or braking command and execution. The braking capacity of the

train against speed is also shown in Figure 10, highlighting the function of constant values, deceleration = f(speed).

Of course the higher the train speed the slower the deceleration, or the higher the effort required to slow the train.

These parameters are specific to the individual train and would be uploaded into the ERTMS system as part of the

train data. Therefore, they will be inputs to the system model considered later.

Figure 8: Traction Model [13]

Figure 9: Braking Model – Progressive Application of Brakes [13]

Figure 10: Braking Model – Deceleration vs Speed [13]

Page 14: Modelling the European Train Control System: Braking and Supervision Curves

14

Under ETCS the train speed is supervised and automatically restricted where required, preventing the train from

travelling too fast or from running into occupied line sections. The speed monitoring process is described in Figure

11 below as a plot of braking distance against speed. The permitted value plot indicates the maximum allowed

speed on the line and drops to zero at a particular distance. This may be at a theoretical ‘red signal’ or station

platform (under ERTMS the red signal would be displayed on the DMI with no physical lineside signal). The actual

value is the train speed that will allow for normal, uninterrupted travel. The warning limit is the speed, greater than

the permitted speed, at which the warning light on the DMI (Figure 7) is illuminated. If the speed reaches the

service brake curve the trains service brakes are applied until the train returns to a safe speed. Should the

emergency brake value be reached the train’s emergency brakes are applied and the train would come to a halt.

Figure 11: Dynamic Speed Monitoring by ETCS [13]

The article “Performance Modelling For The National ERTMS Programme (NEP)” [14] largely agrees with these

principles and shows how these braking curves can be applied when approaching a red signal (R) (Figure 12). The

braking curves are compared to that a professional driver may apply under a conventional system. It can be seen

that when driving by lineside signals the driver starts braking much earlier (as soon as he/she sees the double

yellow (YY) signal) compared to the driver under ERTMS command. A much smoother curve is seen from the

ERTMS approach, thus the ERTMS system allows for much more efficient operation.

Figure 12: Braking Curves under Plain Line Operation [14]

(System D refers to ERTMS level 2)

Page 15: Modelling the European Train Control System: Braking and Supervision Curves

15

3.2. ERTMS Modelling

A number of modelling techniques have been applied to the system while developing the ERA’s specifications [6]

[13] [14] [15]. Therefore a standard ERTMS language has also been produced for the system variables being used,

as outlined in Table 2. These prefixes will be used for modelling accordingly.

Table 2: Prefixes Used for ERTMS Variables [13]

The textbook “Formal Methods Applied to Industrial Complex Systems” [15] introduces an in depth modelling

strategy used by the French railway company SNCF, based on the ERA specification. The same model is discussed

in the MathWorks video “Model-Based Approach for ERTMS Railway Wayside System Specification, Validation,

and Proof” [16]. Both these sources provide a similar background to ERTMS to that above and discuss more the

modelling procedure using similar variables prefixed by the letters in Table 2.

Since the models discussed here are of professional quality they are in much more detail than what is required for

this dissertation, for example, in the range of 350 sub system blocks were used in the modelling process over four

levels of refinement. This level of complexity would be difficult to achieve with the resources available so a more

simplified model will be produced.

In the modelling procedure it is discussed that the model must satisfy a number of conditions including the abil ity

for the user to trace and understand the model, to be testable and allow automated reasoning. Similar to [13] the

train’s speed and braking curves are discussed as inputs to the model, where the braking curves are calculated

based on a number of train and track characteristics, including:

The train’s location (position and orientation)

The train’s movement authority (MA)

The most restrictive line speed profile (MRSP) of the train

The deceleration time of the train

The line gradients

The targets determined by the above factors

The train’s supervision limits and brake intervention curves

The ESA Specifications [6]

Many of these factors are dependent on the distance travelled, estimated line speed and the current time. In some

cases, there may be more than one speed restriction on the line and under these circumstances it is critical that

the lowest speed is observed. This is also known as the most restrictive speed profile (MRSP) as mentioned above.

These factors are divided into three categories as in Figure 13 below. From these characteristics an example speed

profile and braking curve is produced.

Page 16: Modelling the European Train Control System: Braking and Supervision Curves

16

Figure 13: Braking Curve Inputs and Outputs [15]

In the plot above “EB1” (the solid line) represents the permitted speed and “EB0” (dashed line) represents the

braking curve of the train.

The ERA have produced an Excel tool that can be used to generate braking data for a train in the same way as

the on-board ETCS equipment would, capturing the train and trackside data. This is readily available to download

at [17] and may be useful for the modelling process. Train data is also readily available – Network Rail have

specified that the first lines in the UK to be fitted with ERTMS Level 2 are the Great Western and East Coast main

lines [7] with the new Hitachi Class 800 trains [18] (trainsets running on the East Coast are also to be known as

the Virgin Azuma [19]). The specification for these trains has been developed openly between the UK Government

and Hitachi so their formal data (including operating speeds, acceleration and braking curves) is available to the

public [20] [21].

Continuing the modelling process, [15] and [16] acknowledge that there is a need to interface with many various

styles of conventional interlocking equipment. The aim of their modelling process is to simulate the level 2 Radio

Block Centre (RBC) in Simulink and MATLAB software. Due to the discrepancies in the interlocking equipment they

chose to model a generic RBC core, with an interface to each interlocking.

For system testing the static and dynamic track and train input data was written in an Excel spreadsheet and

imported to MATLAB, as in Figure 14. The model was then animated and validated as shown in Figure 15.

Figure 14: Generating the Test Configuration [15]

Page 17: Modelling the European Train Control System: Braking and Supervision Curves

17

Figure 15: RBC Execution Process [15]

While these sources discuss the modelling procedure in an extensive depth and have provided a great deal of

useful information they show little of the actual model that was constructed or the results of animation. Also, where

sections of code are shown the code tends to be written in French causing a language barrier. In fact, it is generally

difficult to find information on modelling the system in Simulink, especially at a simplified level.

It is therefore useful to review literature on modelling conventional interlocking systems and adapting these models

to the ERTMS levels, similar to the implementation of ERTMS on existing railways. Although not using Simulink, in

[22] and [23] formal models of railway interlocking systems are discussed, introducing the theory of moving block

technology. The systems under consideration in these papers are well decomposed and also consider the safety

implications, a very important issue for railway systems. These papers also follow a detailed modelling approach

and provide a number of control references that may be converted to the MATLAB language.

3.3. Conclusions of Literature Review

Throughout this literature review a number of works have been analysed, including websites, textbooks and IEEE

journal articles. A great deal of information has been found on the theory behind ERTMS, outlining the reasons

behind the system and the various application levels of the system. In particular the ERTMS website [3] is very

useful thanks to the number of factsheets available.

More technical documents such as “European Rail Traffic Management System – An Overview” [13] have been

very valuable in adding detail to the information found online by fully decomposing the system as in Figure 6. In

this paper, as well as several others including [14] and [15], the braking and acceleration characteristic are

discussed at length. This, coupled with the technical information by Hitachi [20] and the Department for Transport

[21] should provide a good base for the modelling of a train under ERTMS control.

In general, it has been difficult to find information on modelling the system as a whole, particularly in the

Simulink/MATLAB environment. However some key works have been identified – for example the book by

Boulanger [15] discusses the modelling theory to a great depth. Although the systems here are to a much higher

degree of complexity than is required for this project, a number of key points were outlined that will be useful for

later simulation.

In addition, a greater understanding has been gained in reviewing these works allowing for a simplified ERTMS

model to be built. From this the project objective can be better defined:

To produce accurate and reliable models to generate the train braking curves of the three ERTMS levels

in Simulink and MATLAB, as seen by the control centre and the train driver, and to compare these levels

to a conventional interlocking.

Input ‘track’ data will be provided to the model in the form of an Excel spreadsheet, allowing for a number

of different track scenarios to be applied easily. This data will include line speed and track feature as

functions of train displacement.

To model a train on the system based on the Hitachi Class 800. The ‘train’ model will use this data to

calculate the train’s braking curves and the desired speed as a function of displacement. A closed loop

control system would replicate the train driver in maintaining the desired speed. The interaction between

two trains will be assessed.

To validate and verify the model, analysing the integrity and safety of the ERTMS system based on the

model. A number of fault conditions will be applied to ensure that safe operation is maintained.

To assess the benefits of the system in terms of line speed, capacity and cost.

Page 18: Modelling the European Train Control System: Braking and Supervision Curves

18

4. Technical Assessment

As discussed previously, a critical part of the ERTMS is the generation of the dynamic braking curves. These

curves, as seen in Figure 16, are calculated by the train’s on-board equipment and are based on a set of

fundamental equations as outlined in chapter 3 of the ERTMS System Requirements Specification (SRS) [24].

These equations are discussed in detail through this section. The SRS also contains two important datasets, Fixed

Value Data and National Values, which are referred to throughout the description of these equations. These can

be found in Appendices A.3.1 and A.3.2 of chapter 3 of the SRS.

Figure 16: ERTMS braking curves, where: I – Indication Point, P – Permitted Speed, W – Warning Point, SBI – Service Brake Intervention, EBI – Emergency Brake Intervention, EBD – Emergency Brake Deceleration, SBD – Service Brake Deceleration [24].

To calculate the braking curves and desired velocities, the on-board equipment continuously monitors a list of target

locations. These targets may be of the following types:

A decrease in the Most Restrictive Speed Profile (VMRSP), the maximum allowable velocity that the train is

allowed to travel as a function of distance along the railway.

The End of Authority (EOA), the location to which the train is authorised to move, where the target speed

is zero.

The Limit of Authority (LOA), the location to which the train is authorised to move, where the target speed

is non-zero.

The location where the maximum distance allowed to run in Staff Responsible is reached, with a target

speed of zero. Staff Responsible is a mode of ERTMS where the train is allowed to move under the driver’s

own authority.

4.1. Emergency Brake Deceleration

The Emergency Brake Deceleration (EBD) curve is the fundamental basis for the calculation of most of the other

braking curves and is defined as the safe braking distance required to reach zero velocity by the target. The safe

deceleration is calculated by considering the guaranteed deceleration of the emergency brake system as well as

the acceleration/deceleration due to the line gradient.

EBD Curve SBD Curve

EBD Foot

Page 19: Modelling the European Train Control System: Braking and Supervision Curves

19

The EBD curve, denoted dEBD in metres as a function of velocity, is calculated by the equation:

𝑑𝐸𝐵𝐷(𝑉) =𝑉

2−𝑉𝑡𝑎𝑟𝑔𝑒𝑡2

2𝐴𝑠𝑎𝑓𝑒(𝑉,𝑑) m (1)

Where V is the instantaneous velocity of the train (m/s), Vtarget is the train’s target velocity (nominally 0, m/s) and

Asafe(V,d) is the safe deceleration (m/s2) of the train as a function of velocity and displacement. This is a safety

critical value and takes into account all relevant train parameters, and is given by equation (2):

𝐴𝑠𝑎𝑓𝑒(𝑉, 𝑑) = 𝐴𝑏𝑟𝑎𝑘𝑒_𝑠𝑎𝑓𝑒(𝑉, 𝑑) + 𝐴𝑔𝑟𝑎𝑑𝑖𝑒𝑛𝑡(𝑑) m/s2 (2)

Assuming normal adhesion conditions.

In equation (2) Abrake_safe(V,d) is the safe emergency brake deceleration and Agradient(d) is the

acceleration/deceleration due to gradient of the railway (both in m/s2). These are given by equations (3) and (4)

respectively:

𝐴𝑏𝑟𝑎𝑘𝑒𝑠𝑎𝑓𝑒(𝑉, 𝑑) = 𝐾𝑑𝑟𝑦𝑟𝑠𝑡(𝑉, 𝑀𝑁𝑉𝐸𝐵𝐶𝐿) ∗

(𝐾𝑤𝑒𝑡𝑟𝑠𝑡(𝑉) + 𝑀𝑁𝑉𝐴𝑉𝐴𝐷𝐻 ∗ (1 − 𝐾𝑤𝑒𝑡𝑟𝑠𝑡(𝑉))) ∗ 𝐴𝑏𝑟𝑎𝑘𝑒_𝑒𝑚𝑒𝑟𝑔𝑒𝑛𝑐𝑦(𝑉, 𝑑) m/s2 (3)

𝐴𝑔𝑟𝑎𝑑𝑖𝑒𝑛𝑡 = 𝑔 ∗𝑔𝑟𝑎𝑑

1000+10∗𝑀𝑟𝑜𝑡𝑎𝑡𝑖𝑛𝑔_𝑚𝑎𝑥 m/s2 for uphill gradients

𝐴𝑔𝑟𝑎𝑑𝑖𝑒𝑛𝑡 = 𝑔 ∗𝑔𝑟𝑎𝑑

1000+10∗𝑀𝑟𝑜𝑡𝑎𝑡𝑖𝑛𝑔_𝑚𝑖𝑛 m/s2 for downhill gradients (4)

The additional parameters in the above equations are defined as follows:

Kdryrst (V,MNVEBCL) is the rolling stock correction factor and is defined as part of the train data. This is a

function of velocity and is relative to the confidence level on emergency brake safe deceleration, MNVEBCL,

a constant defined in the National Values.

Kwerrst(V) is also a rolling stock correction factor and represents the decrease in available deceleration

when on wet rails, as compared to being on dry rails, due to the reduced cohesion between the train

wheels and the rails. This is also part of the train data.

MNVAVADH is the weighting factor for the available wheel to rail adhesion, as defined in the National

Values.

g is the acceleration due to gravity, 9.81 m/s2.

grad is the gradient of the railway in ‰, where uphill gradients are represented by positive values.

Mrotating_max and Mrotating_min are the maximum and minimum possible rotating masses respectively, as a

percentage of the total train weight and as defined in the Fixed Value Data.

Also referenced in equation (3) is Abrake_emergency(V,d), the emergency brake deceleration as a function of speed

and a function of the locations where the contribution of the train’s different brakes changes. For example, Figure

17 below shows that as a train reaches the target, and thus its speed has decreased, the regenerative brake can

no longer be used. Therefore, the emergency brake deceleration is reduced.

Figure 17: Influence of Track Conditions on Abrake_emergency

Page 20: Modelling the European Train Control System: Braking and Supervision Curves

20

4.2. Service Brake Deceleration

The Service Brake Deceleration (SBD) is the expected distance required to come to a halt at the target using the

train’s service brakes. The expected deceleration is not safety critical so does not take into account the same

correction factors as the EBD curve. Therefore, the SBD curve often appears much steeper than the EBD curve,

as seen in Figure 16 above.

Similar to the EBD, the SBD is calculated as follows:

𝑑𝑆𝐵𝐷(𝑉) =𝑉

2−𝑉𝑡𝑎𝑟𝑔𝑒𝑡2

2𝐴𝑒𝑥𝑝𝑒𝑐𝑡𝑒𝑑(𝑉,𝑑) m (5)

Where Aexpected(V,d) is the anticipated deceleration of the train under normal operation, given by:

𝐴𝑒𝑥𝑝𝑒𝑐𝑡𝑒𝑑(𝑉, 𝑑) = 𝐴𝑏𝑟𝑎𝑘𝑒_𝑠𝑒𝑟𝑣𝑖𝑐𝑒(𝑉, 𝑑) + 𝐴𝑔𝑟𝑎𝑑𝑖𝑒𝑛𝑡(𝑑) m/s2 (6)

Similar to Abrake_emergency(V,d), Abrake_service(V,d) is the deceleration of the service brake as a function of speed, relative

to the locations where the contribution of the train’s different brakes changes.

4.3. Supervision Limits

The other curves displayed in Figure 16 above are known as supervision limits and will be discussed further in this

section. These limits, calculated by the on-board equipment, are used for a number of reasons such as providing

a comfortable speed profile without excessive accelerations, decelerations, or wear on the train. The curves also

assist the driver in maintain the correct speed to avoid emergency brake intervention, and to ensure that the train

adheres to the appropriate track limitations (in terms of distance or speed).

4.3.1. Emergency Brake Intervention

Possibly the most critical of these supervision limits is the Emergency Brake Intervention (EBI). This defines the

location at which the train’s emergency brakes will be applied automatically to ensure that the train remains within

the imposed speed or distance limitations (i.e. to prevent the train from over speeding or surpassing its limit of

authority). This limit will be reached if the driver fails to adhere to the recommended braking profile and ensures

that the train is brought to a halt if the driver is unable to apply the brakes manually.

The EBI curve is calculated as follows:

𝑑𝐸𝐵𝐼(𝑉𝑒𝑠𝑡) = 𝑑𝐸𝐵𝐷(𝑉𝑏𝑒𝑐) − 𝐷𝑏𝑒𝑐 m (7)

Where Vest is the estimated velocity of the train, and Vbec and Dbec are the compensated speed and distance

travelled, respectively, during the time elapsed between the EBI command and the full application of the train’s

emergency brakes. These correction factors are calculated using equations 8 and 9:

𝑉𝑏𝑒𝑐 = 𝑚𝑎𝑥{(𝑉𝑒𝑠𝑡 + 𝑉𝑑𝑒𝑙𝑡𝑎0 + 𝑉𝑑𝑒𝑙𝑡𝑎1), 𝑉𝑡𝑎𝑟𝑔𝑒𝑡} + 𝑉𝑑𝑒𝑙𝑡𝑎2 m/s (8)

𝐷𝑏𝑒𝑐 = 𝑚𝑎𝑥 {(𝑉𝑒𝑠𝑡 + 𝑉𝑑𝑒𝑙𝑡𝑎0 +𝑉𝑑𝑒𝑙𝑡𝑎1

2) , 𝑉𝑡𝑎𝑟𝑔𝑒𝑡} 𝑇𝑡𝑟𝑎𝑐𝑡𝑖𝑜𝑛

+ (𝑚𝑎𝑥{(𝑉𝑒𝑠𝑡 + 𝑉𝑑𝑒𝑙𝑡𝑎0 + 𝑉𝑑𝑒𝑙𝑡𝑎1), 𝑉𝑡𝑎𝑟𝑔𝑒𝑡} +𝑉𝑑𝑒𝑙𝑡𝑎2

2) 𝑇𝑏𝑒𝑟𝑒𝑚 m/s2 (9)

Where the additional parameters (also seen in Figure 18) are defined as:

Vdelta0 is the speed under reading amount (also denoted Vura) used to compensate for measurement

inaccuracies in the measured velocity of the train.

Vdelta1 and Ttraction are the respective speed and time compensations for the time delay between the EBI

command and the cut off of the train’s tractive effort (release of the throttle).

Vdelta2 and Tberem are the respective speed and time compensations for the remaining time following the

traction cut-off up to full braking effort being reached.

Page 21: Modelling the European Train Control System: Braking and Supervision Curves

21

The traction time, Ttraction, and remaining time, Tberem, are defined by the equations:

𝑇𝑡𝑟𝑎𝑐𝑡𝑖𝑜𝑛 = 𝑚𝑎𝑥 {(𝑇𝑡𝑟𝑎𝑐𝑡𝑖𝑜𝑛𝑐𝑢𝑡−𝑜𝑓𝑓− (𝑇𝑤𝑎𝑟𝑛𝑖𝑛𝑔 + 𝑇𝑏𝑠2)) , 0} s (10)

𝑇𝑏𝑒𝑟𝑒𝑚 = 𝑚𝑎𝑥{(𝑇𝑏𝑒 − 𝑇𝑡𝑟𝑎𝑐𝑡𝑖𝑜𝑛), 0} s (11)

Ttraction_cut-off is the time taken between the cut off command being issued (which is triggered when the warning limit

is passed) and the tractive effort cut off. Twarning is the time taken between the warning curve and the Service Brake

Intervention (SBI), as defined in the fixed value data, while Tbs2 it the time from the SBI to the EBI, defined in the

train data. Therefore, Twarning + Tbs2 accounts for the total time occurred between the warning limit and the EBI.

Tbe is the total time elapsed between the EBI and the EBD, also defined in the train data.

Furthermore, Vdelta1 and Vdelta2 are defined in equations 12 and 13 below:

𝑉𝑑𝑒𝑙𝑡𝑎1 = 𝐴𝑒𝑠𝑡1𝑇𝑡𝑟𝑎𝑐𝑡𝑖𝑜𝑛 m/s (12)

𝑉𝑑𝑒𝑙𝑡𝑎2 = 𝐴𝑒𝑠𝑡2𝑇𝑏𝑒𝑟𝑒𝑚 m/s (13)

Where Aest1 and Aest2 are the respective estimated accelerations during Ttraction and Tberem, as measured at the time

of calculation.

Figure 18: Supervision limits for an EBD curve [24].

4.3.2. Service Brake Intervention

The Service Brake Intervention (SBI) is used in a similar way to the EBI, only to apply the service brakes instead

of the emergency brakes, with the intention of slowing the train down before the EBI is reached. This function may

not be available on all trains, depending on the configuration of the ETCS on-board equipment. Using the service

brakes in this way can mitigate the frequent use of the emergency brakes, reducing wear on the rolling stock and

track experienced through emergency braking.

The SBI may be defined in two different ways; If the target is an end of authority (EOA) the supervision limit (dented

SBI1) is calculated over the time between the SBI and the SBD curves, Tbs1. Otherwise, for an EBD based target

the supervision limit (SBI2) will be calculated over the time between the SBI and the EBI, Tbs2.

The values of Tbs1 and Tbs2 are defined based on the service brake feedback and are measured, where available,

from the train’s main brake pipe and brake cylinder pressures. This feedback allows for the distances between the

SBI and the SBD or EBD to be minimised. An algorithm for the calculation of these values is presented in detail in

Appendix A.3.10 of the SRS [24] but has been omitted from this work for simplicity. If the service brake feedback

is not available, these parameters are set to Tbs, the time required for the service brakes to build up to full braking

effort, as defined in the train data. Furthermore, if the SBI is unavailable, these parameters are set to zero in order

to achieve the maximum performance.

Page 22: Modelling the European Train Control System: Braking and Supervision Curves

22

The two SBI curves are calculated as:

𝑑𝑆𝐵𝐼1(𝑉𝑒𝑠𝑡) = 𝑑𝑆𝐵𝐷(𝑉𝑒𝑠𝑡) − 𝑉𝑒𝑠𝑡𝑇𝑏𝑠1 m (14)

𝑑𝑆𝐵𝐼2(𝑉𝑒𝑠𝑡) = 𝑑𝐸𝐵𝐼(𝑉𝑒𝑠𝑡) − 𝑉𝑒𝑠𝑡𝑇𝑏𝑠2 m (15)

It is noted that if either the EBI or SBI are triggered the train will be brought to a halt autonomously by the on-board

equipment. Once the train has stopped, the driver must take steps to reset these safety systems and prove that he

or she is in fact fit to proceed with the train. Any time that these limits are surpassed will be subject to later

investigation into the cause of the incident (such as mechanical failure or diver negligence). The more severe

incidents may be investigated by the Government’s Rail Accident Investigation Branch [25].

4.3.3. Warning Supervision Limit

The Warning supervision limit (W) is the location where an indication appears to the driver (normally a light on the

driver machine interface), informing the driver to apply the brakes before reaching the SBI or EBI, with the intention

or avoiding intervention from the on-board equipment. Similar to the SBI, the W limit is calculated in different ways

for the EOA or EBD based targets:

𝑑𝑊(𝑉𝑒𝑠𝑡) = 𝑑𝑆𝐵𝐼1(𝑉𝑒𝑠𝑡) − 𝑉𝑒𝑠𝑡𝑇𝑤𝑎𝑟𝑛𝑖𝑛𝑔 m for the EOA (16)

𝑑𝑊(𝑉𝑒𝑠𝑡) = 𝑑𝑆𝐵𝐼2(𝑉𝑒𝑠𝑡) − 𝑉𝑒𝑠𝑡𝑇𝑤𝑎𝑟𝑛𝑖𝑛𝑔 m for an EBD based target (17)

As mentioned above, Twarning is the time taken between W and the SBI, as defined in the fixed value data.

4.3.4. Permitted Speed

The Permitted speed supervision limit (P) is the recommended speed displayed to the driver, observing the speed

restrictions imposed by the track, and allowing for a comfortable means of braking for the driver while avoiding

excessive brake wear and to limit wasted traction energy. Again, these are calculated differently for the EOA and

EBD curves:

𝑑𝑃(𝑉𝑒𝑠𝑡) = 𝑑𝑆𝐵𝐼1(𝑉𝑒𝑠𝑡) − 𝑉𝑒𝑠𝑡𝑇𝑑𝑟𝑖𝑣𝑒𝑟 m for the EOA (18)

𝑑𝑃(𝑉𝑒𝑠𝑡) = 𝑑𝑆𝐵𝐼2(𝑉𝑒𝑠𝑡) − 𝑉𝑒𝑠𝑡𝑇𝑑𝑟𝑖𝑣𝑒𝑟 m for an EBD based target (19)

In the above equations, Tdriver is the driver’s reaction time between P and the SBI, as defined in the fixed values.

4.3.5. Indication Supervision Limit

The Indication supervision limit (I) is the location where an indication will be presented to the driver on the DMI, to

inform the driver that they are approaching a target and must prepare to take action. The indication point is

calculated as a distance from the permitted supervision limit, i.e.

𝑑𝐼(𝑉𝑒𝑠𝑡) = 𝑑𝑃(𝑉𝑒𝑠𝑡) − 𝑉𝑒𝑠𝑡𝑇𝑖𝑛𝑑𝑖𝑐𝑎𝑡𝑖𝑜𝑛 m (20)

Where 𝑇𝑖𝑛𝑑𝑖𝑐𝑎𝑡𝑖𝑜𝑛 = 𝑚𝑎𝑥{(0.8 ∗ 𝑇𝑏𝑠), 5} s (21)

Tindication is the time elapsed between I and P and is a function of the service brake build up time, Tbs. This is intended

to improve the performance of the system. Where Tbs is small, Tindication is set to a constant of 5 seconds.

Page 23: Modelling the European Train Control System: Braking and Supervision Curves

23

4.3.6. Ceiling Supervision Limits

The above analysis has all been carried out as speed monitoring when braking to a target. However, the ETCS

system still monitors the train’s speed when not approaching a target, to ensure that the train’s velocity does not

exceed the limit specified for the section of railway. Similar to above, the permitted speed, warning limit, SBI and

EBI are monitored, relative to the most restrictive speed profile of the railway. These appear as constant values

against distance where the permitted speed is constant, as in Figure 19, and are known as ceiling supervision

limits.

Figure 19: Ceiling supervision limits [24]

The train would nominally be travelling at or below the permitted speed, P. It the train begins to accelerate (through

any factors such as driver negligence, negative gradient or mechanical interruptions), the speed of the train may

increase past the warning limit, and an indication will appear on the DMI allowing the driver to rectify the error. If

no action is taken the speed may increase past the SBI curve (where available) or the EBI curve, causing the trains

service or emergency brakes to be applied, bringing the train to a halt.

To calculate the ceiling supervision limits a number of parameters are defined in the fixed value data. These outline the maximum and minimum values for each curve, as outlined in Figure 20 and Table 3.

Figure 20: Definition of dVebi

Page 24: Modelling the European Train Control System: Braking and Supervision Curves

24

Table 3: Minimum and maximum ceiling supervision limit parameters as defined in Appendix A.3.1 of the System Requirements Specification [24].

Parameter Value (km/hr) Definition

dVebi_min 7.5 The minimum speed difference between P and EBI supervision limits.

dVebi_max 15 The maximum speed difference between P and EBI supervision limits.

Vebi_min 110 The value of permitted speed where dVebi starts to increase towards

dVebi_max

Vebi_max 210 The value of permitted speed where dVebi reaches dVebi_max

dVsbi_min 5.5 The minimum speed difference between P and SBI supervision limits.

dVsbi_max 10 The maximum speed difference between P and SBI supervision limits.

Vsbi_min 110 The value of permitted speed where dVsbi starts to increase towards

dVsbi_max

Vsbi_max 210 The value of permitted speed where dVsbi reaches dVsbi_max

dVwarning_min 4 The minimum speed difference between P and W supervision limits.

dVwarning_max 5 The maximum speed difference between P and W supervision limits.

Vwarning_min 110 The value of permitted speed where dVwarning starts to increase

towards dVwarning_max

Vwarning_max 140 The value of permitted speed where dVwarning reaches dVwarning_max

The ceiling supervision limits are thus calculated as follows:

Emergency Brake Intervention

When VMRSP > Vebi_min:

𝑑𝑉𝑒𝑏𝑖 = 𝑚𝑖𝑛 {(𝑑𝑉𝑒𝑏𝑖𝑚𝑖𝑛+ 𝐶𝑒𝑏𝑖(𝑉𝑀𝑅𝑆𝑃 − 𝑉𝑒𝑏𝑖𝑚𝑖𝑛

)) , 𝑑𝑉𝑒𝑏𝑖𝑚𝑎𝑥} km/hr (22)

Where: 𝐶𝑒𝑏𝑖 =𝑑𝑉𝑒𝑏𝑖𝑚𝑎𝑥−𝑑𝑉𝑒𝑏𝑖𝑚𝑖𝑛

𝑉𝑒𝑏𝑖𝑚𝑎𝑥−𝑉𝑒𝑏𝑖𝑚𝑖𝑛

(23)

When VMRSP ≤ Vebi_min: 𝑑𝑉𝑒𝑏𝑖 = 𝑑𝑉𝑒𝑏𝑖𝑚𝑖𝑛 km/hr (24)

Service Brake Intervention

When VMRSP > Vsbi_min:

𝑑𝑉𝑠𝑏𝑖 = 𝑚𝑖𝑛 {(𝑑𝑉𝑠𝑏𝑖𝑚𝑖𝑛+ 𝐶𝑠𝑏𝑖(𝑉𝑀𝑅𝑆𝑃 − 𝑉𝑠𝑏𝑖𝑚𝑖𝑛

)) , 𝑑𝑉𝑠𝑏𝑖𝑚𝑎𝑥} km/hr (25)

Where: 𝐶𝑠𝑏𝑖 =𝑑𝑉𝑠𝑏𝑖𝑚𝑎𝑥−𝑑𝑉𝑠𝑏𝑖𝑚𝑖𝑛

𝑉𝑠𝑏𝑖𝑚𝑎𝑥−𝑉𝑠𝑏𝑖𝑚𝑖𝑛

(26)

When VMRSP ≤ Vsbi_min: 𝑑𝑉𝑠𝑏𝑖 = 𝑑𝑉𝑠𝑏𝑖𝑚𝑖𝑛 km/hr (27)

Page 25: Modelling the European Train Control System: Braking and Supervision Curves

25

Warning Supervision Limit

When VMRSP > Vwarning_min:

𝑑𝑉𝑤𝑎𝑟𝑛𝑖𝑛𝑔 = 𝑚𝑖𝑛 {(𝑑𝑉𝑤𝑎𝑟𝑛𝑖𝑛𝑔𝑚𝑖𝑛+ 𝐶𝑤𝑎𝑟𝑛𝑖𝑛𝑔(𝑉𝑀𝑅𝑆𝑃 − 𝑉𝑤𝑎𝑟𝑛𝑖𝑛𝑔𝑚𝑖𝑛

)) , 𝑑𝑉𝑤𝑎𝑟𝑛𝑖𝑛𝑔𝑚𝑎𝑥} km/hr (28)

Where: 𝐶𝑤𝑎𝑟𝑛𝑖𝑛𝑔 =𝑑𝑉𝑤𝑎𝑟𝑛𝑖𝑛𝑔𝑚𝑎𝑥−𝑑𝑉𝑤𝑎𝑟𝑛𝑖𝑛𝑔𝑚𝑖𝑛

𝑉𝑤𝑎𝑟𝑛𝑖𝑛𝑔𝑚𝑎𝑥−𝑉𝑤𝑎𝑟𝑛𝑖𝑛𝑔𝑚𝑖𝑛

(29)

When VMRSP ≤ Vwarning_min: 𝑑𝑉𝑤𝑎𝑟𝑛𝑖𝑛𝑔 = 𝑑𝑉𝑤𝑎𝑟𝑛𝑖𝑛𝑔𝑚𝑖𝑛 km/hr (30)

4.4. Review of Technical Understandings

Throughout this section the ETCS System Requirements Specifications have been studied, particularly Chapter 3

[24]. From this, the fundamental equations behind the calculation of the ETCS braking curves and supervision limits

have been found. These equations will be invaluable during the modelling process.

Of course, this has only been a top level analysis, the SRS provides a number of other equations defining different

aspects of the train’s performance and various scenario definitions which have been omitted at this level.

Page 26: Modelling the European Train Control System: Braking and Supervision Curves

26

5. Modelling Procedure and Implementation

MATLAB and Simulink are a pair of powerful software packages produced by The MathWorks which can be used

to model and analyse dynamic systems. MATLAB is suited to modelling mathematical equations through typed

code, while Simulink is based on a graphical user interface (GUI) where systems can be built in block diagram

format. Both packages can interact seamlessly, thus MATLAB can be used to initialise and run a Simulink model,

and then post-process the results.

Both packages contain user-friendly editors and provide a robust test environment. Extensive support is also

available online, making these packages ideal for the modelling stage of this project.

As discussed previously, the aim of this report was to produce braking curve models for the three levels of ERTMS.

Train data was provided based on the Hitachi Class 800 since it is readily available [20], and these trains will be

the first major mainline services to run with ETCS technologies in the UK. The model was tested under a number

of scenarios as discussed throughout this chapter.

5.1. Input Data

As mentioned previously, train data was based on the new Class 800 trainsets. For simplicity, standardised track

data was defined for the project. However, the model was designed to make it easy for actual track data to be

applied at a later date.

The track and train datasets were defined in Microsoft Excel and then imported into the MATLAB environment. This

allowed for the datasets to be easily manipulated without going through the MATLAB software. A number of

different datasets for each category could be built in separate Excel files, allowing a number of scenarios to be

defined. These datasets are outlined in the Appendices 9.1 and 9.2.

The train data is similar to that that would be loaded into the train’s on-board computer during installation. Certain

characteristics may be edited by the driver (such as the correction factors) if the train’s rolling stock was ever to

change. It is noted that only one train dataset was used for this project since the focus was based on the different

track scenarios. However, the model is configured so that any future work would allow for different train datasets

to be easily applied. The dataset takes some of the Class 800 characteristics, however correction factors were

based on those discussed in [26] to allow for easy validation of the model.

The track data was modelled to represent the data transferred to a train as it crosses a balise. Therefore, it only

contains the data for a block of finite distance (nominally 5 km). This however could easily be updated for future

use to include longer sections and more detail. For easy comparisons between datasets the gradient was

maintained at -10 ‰ for each set. This is also representative of the numerical examples given in [26], used for

model validation.

MATLAB scripts were written for the fixed value and national value datasets defined in appendices A.3.1 and A.3.2

of the SRS. These scripts are presented in Appendices 9.3.1 (Fixed_Value_Data.m) and 9.3.2

(National_Value_Data.m) of this document. A script was also written, ReadTrackData.m, to import the track and

train data from the Excel spreadsheets, and is seen in Appendix 9.3.3. Within this file, the command xlsread is

used to import the Excel data, which is then sorted into its relevant categories. These scripts can be referenced by

any future model, saving the need to re-write these commands and definitions for each model.

Any other input data, where required, was written into the model script. This included data such as the train’s initial

displacement and velocity. All velocities were given in km/hr, as in the ERA standards. This had to be taken into

account when carrying out any calculations.

Page 27: Modelling the European Train Control System: Braking and Supervision Curves

27

5.2. Mathematical Model

The first stage of the modelling procedure was to transfer the equations discussed through section 4 into the

MATLAB environment, allowing for the calculation of the braking curves to a target. This model, named

BrakingCurves.m, is described in code in Appendix 9.4.1 and in the flow diagram in Figure 21 below. This model

was defined to consider only one target and therefore may not work effectively with all track datasets.

Figure 21: Mathematical model, BrakingCurves.m, flow diagram.

Initialise

Run

Fixed_Value_Data Fixed_Value_Data

Run

National_Value_Data National_Value_Data

Define TrackData

and TrainData files

Run

ReadTrackData ReadTrackData

TrackData.xlsx

TrainData.xlsx

Define Other Constants:

V_initial, V_delta0,

A_est1, A_est2, T_bs1, T_bs2,

T_traction, T_berem,

T_indication, V_delta1, V_delta2

Calculate Ceiling Supervision

Limits: V_ebi

V_sbi V_warning

Calculate Accelerations: A_brake_safe

A_gradient

A_safe

A_expected

Calculate Braking Curves for

each value of V: EBD, SBD, EBI, SBI1, SBI2,

W, P, I, FLOI

Plot Braking Curves and Ceiling

Limits.

Fixed Value Data

National Value Data

Track and

Train Data

Main Script

Auxiliary Script

Microsoft Excel File

Page 28: Modelling the European Train Control System: Braking and Supervision Curves

28

5.2.1. Assumptions

To simplify the modelling process a number of assumptions were made, including:

The train approached the target at a steady speed, and decelerated smoothly and consistently.

At no point would the train accelerate under this model.

The track had a consistent gradient, and was wet (a correction factor for wet rails is available in the National

Data (MNVAVADH), for this model it was kept at 0).

There was zero speed reading inaccuracy (the ERTMS specification Subset-041 defines a speed

measurement inaccuracy of up to 2.98 %, for this model it was kept at 0).

There was zero position reading inaccuracy (the ERTMS specification Subset-041 defines a position

measurement inaccuracy of up to 5 m + 5 %, for this model it was kept at 0).

The traction cut-off time, Ttraction cut-off, was equal to zero, with the traction cut-off interface unavailable.

The nominal rotating mass was unknown.

The track had no reduced adhesion or brake inhibition profiles.

5.2.2. Initialisation and Parameter Definitions

The first stage of the model was to define all of the input parameters, constants and variables required for

calculation. Initially, the Fixed Value Data and National Value Data sets were collected through jumping to their

respective scripts, as discussed above and in Appendix 9.3. MATLAB allows for the running of one script from

within another by simply specifying the script name. For example, placing the line “Fixed_Value_Data” within the

BrakingCurves.m file will also run the Fixed_Value_Data.m file, populating the fixed value data in the MATLAB

workspace. A similar approach was used when importing the track and train datasets, using the ReadTrackData.m

script file. An alternative approach may have been to define functions instead of the auxiliary scripts. Functions,

however, require all inputs and outputs to be specified each time they are used. While this may improve the

functionality of the code, it would have led to long and complicated commands, particularly where a large number

of inputs or outputs were required.

It is noted though that using these scripts in this way requires that a consistent naming convention is adopted for

all variables, since these are taken directly from the global MATLAB workspace, rather than remaining local to a

function. Care was taken to ensure that any variables were not being overwritten unintentionally, particularly where

loops occurred in the code.

Following the import of data, other parameters were defined. This included the curve type (EOA or LOA), the target

type (EOA or EBD) and the target velocity (nominally zero). These would all be required to specify which

calculations were to be made for the supervision limits later in the model. The initial velocity was also set, normally

at 160 km/hr (100 mph), a fairly standard value for mainline operation.

Further to this, the error values and correction factors were defined. For simplicity, Vdelta0, Aest1 and Aest2 were all

set to zero, although they could be edited for any further work. Similarly, Tbs1 and Tbs2 were set to Tbs, which was

defined as part of the train input data

Ttraction, Tberem and Tindication were defined at this point using equations 10, 11 and 21 as defined previously. Vdelta1

and Vdelta2 were also calculated here using equations 12 and 13. Further to this, the vectors for each variable to be

calculated were pre-defined as zeros. This was to help optimise the code and reduce the time taken for the model

to execute, and could have been optimised further by setting the actual lengths of the arrays to the required values.

It is noted that throughout the model code, for i = 1:1 loops were used to break the code into sections. MATLAB

allows for the contents of such loops to be hidden, making the code easier to work on when only considering a

single section at a time.

Page 29: Modelling the European Train Control System: Braking and Supervision Curves

29

5.2.3. Ceiling Supervision Limits

The first stage of the main calculations was to find the ceiling supervision limits using equations 22 to 30. To help

clarify the code, and since they depend entirely on the fixed value data, Cebi, Csbi and Cwarning were calculated in the

Fixed_Value_Data.m script. If-else loops were implemented to calculate the correct limits relative to VMRSP as

highlighted in section 4.3.6.

5.2.4. Accelerations

As was previously discussed, the ERTMS calculations use a number of different accelerations, including Asafe,

Abrake_safe, Agradient and Aexpected, as defined by equations 2, 3, 4 and 6 respectively. Abrake_safe and Agradient were

functions of velocity and displacement respectively, so were each calculated within a for loop, ensuring that a value

for each was calculated for each value of their respective parameter.

Similarly, Asafe and Aexpected were functions of both velocity and displacement, so were calculated through two for

loops (one for each velocity and displacement). Through doing this, a lookup table was effectively established for

each of the accelerations which could be referenced in later calculations using displacement or velocity.

5.2.5. Braking Curves

Once the acceleration values had been defined, the model could go on to calculate the braking curves relative to

a target. Similar to above, the curves were calculated within a for loop over the range of velocities between the

target speed and the maximum speed available from the train data. This allowed for the braking distances to be

calculated at each value of velocity, which were stored in arrays using the velocity as the index value.

When calculating the EBD and SBD curves (using equations 1 and 5) the acceleration values would normally be a

function of velocity and displacement, allowing the effects of a varying gradient to be taken into account. However,

for simplicity, and since the gradient was kept constant the accelerations were referenced against the varying

velocity but a constant displacement, for example:

EBD(v) = (((V(v)/3.6)^2)-((V_Target/3.6)^2))/(2*A_safe(v,1));

This meant that one less loop was required in the code for each equation, reducing the time required for the model

to execute. The reference, however, was still included for any future developments of the model.

Note that in the above equation (and others throughout the code) the velocity is divided by 3.6 in order to convert

from km/hr to m/s.

Following the calculations of the EBD and SBD, the other curves were calculated. The equations for the SBI1,

SBI2, W and P differed from those discussed previously in that the subtraction was been changed to an addition,

for example, equations 16 and 18 become:

W(v) = SBI1(v) + (V(v)/3.6)*T_warning;

P(v) = SBI1(v) + (V(v)/3.6)*T_driver;

This is down to the means by which these curves were being calculated, since they were being considered from

the target towards the train, with the target being at zero displacement. The equations, however, are designed to

be calculated from the train to the curve, with the front of the train being zero displacement.

An additional curve was introduced here also, known as the First Line of Intervention (FLOI), and was the first

location at which the on-board equipment would intervene through the application of the train’s brakes. This was

calculated as the maximum distance from the target of the SBI1, SBI2 or EBI curves.

Page 30: Modelling the European Train Control System: Braking and Supervision Curves

30

5.2.6. Mathematical Model Output

After calculating the numerical data, the model produced an output plot containing all of the curves and their

respective ceiling supervision limits, allowing the user to easily analyse the output data. The plotting tools use the

line:

set(gca,'xdir','reverse')

This reversed the direction of the x axis so that the plot read as if the train was approaching the target from the left.

Figure 22 below shows an example output plot. Due to the quantity of data the plot as a whole can be quite difficult

to analyse (particularly if colour is unavailable). Throughout the rest of the report the output data will be manipulated

to be easier to read.

From the plot below, it is seen that a train approaching the target will receive an indication of the target 2 km from

the target location. At around 1.8 km the permitted speed displayed to the driver will begin to decrease, instructing

the driver to begin braking. The curves displayed follow the same order as those discussed in Figure 16 previously.

It is also noted that the SBI2 curve cannot be seen since it is fully covered by the FLOI. The results can also be

applied to trains travelling at different initial velocities. For example, a train travelling at 100 km/hr will receive an

indication at around 1 km from the target.

Figure 22: Mathematical model, BrakingCurves.m, output plot.

5.3. Model Validation and Verification

The basic model discussed above provided the framework for all further modelling throughout this project. Thus it

was of paramount importance to ensure that the model was valid.

Since the model was based on the equations defined by the ERA it could be assumed that the model was largely

valid, so long as these equations were used correctly. These were the same equations that will go into the actual

equipment on-board the trains, so must be valid for this system. Furthermore, the equations for the SBD and EBD

stem from the general equation of acceleration, an equation that has been proven valid through daily use over

hundreds of years.

A useful tool for verifying the functionality of the model was the ERA Braking Curves Tool (V3.0) [17]. As mentioned

in the literature review, this is a Microsoft Excel based platform designed to calculate the braking curves in the

same way as the model described above. The tool allows for similar input data to be entered, including the initial

train speed, target speed, the rolling stock correction factors and the various accelerations, equivalent to the data

Page 31: Modelling the European Train Control System: Braking and Supervision Curves

31

being input to the MATLAB model. Running the braking curves tool yields the results in Figure 23, which upon

visual inspection can be seen to closely reflect those shown previously in Figure 22.

Furthermore, Table 4 below compares quantitatively the output data from the two models, for a train travelling at

160 km/hr. It can be seen that the two sets of results are identical. The ERA tool has undergone a thorough

validation process and is used daily by professionals in the industry. Therefore, by these results, it can be assumed

that the MATLAB model is valid.

This was further confirmed by repeating the two models under a number of different track and train scenarios. With

each simulation the two models yielded equivalent results.

It is noted that the Excel spreadsheet is in a protected format, the equations used are hidden and cannot be viewed

or adjusted. Therefore, the work done on the MATLAB model can confirm that the Excel model uses the same

equations in a similar way. Thus, the MATLAB model is a more open representation of the braking curves tool,

allowing the user to observe how the equations are actually calculated.

Figure 23: ERA Braking Curves Tool output plot, using the same data as for the MATLAB model.

Table 4: Comparison of ERA Braking Curves Tool and MATLAB model results.

Model Distance from target (m) at 160 km/hr

Indication Permitted Warning FLOI EBI EBD SBI1 SBI2 SBD

EXCEL 1998.10 1775.88 1686.99 1598.10 1442.55 1286.99 1248.31 1598.10 1092.75

MATLAB 1998.10 1775.89 1686.99 1598.10 1442.55 1286.99 1248.31 1598.10 1092.75

0

20

40

60

80

100

120

140

160

180

200

05001000150020002500

Speed

(km

/h)

Distance from target (m)

EBD

SBD

EBI

SBI1

SBI2

FLOI

Warning

Permitted

Indication

Page 32: Modelling the European Train Control System: Braking and Supervision Curves

32

5.4. Extended Mathematical Model

The model seen previously (as with the ERA Braking Curves Tool) was only capable of calculating the braking

curves for a single target at any given time. Therefore, the next stage in the modelling process was to extend the

model so that repeated targets could be monitored, in a similar way to the target monitoring in a train’s on-board

equipment. The extended model, named Integrated_Model_1.m, used most of the groundwork set out by the

mathematical model used previously. The code developed for this model is displayed in Appendix 9.4.2 and a flow

chart is presented in Figure 24 below. The same assumptions were made as in section 5.2.1, only for this model

the train was allowed to accelerate if the most restrictive speed profile was to increase.

The model was designed to mimic the functionality of the train’s on-board equipment. As it travels along the railway,

a train would move from one block section to another, passing over a balise which transfers a data package to the

train. This package contains the track data for the block section, and was represented by the import of the track

data Excel file to the model. The file provided the train with a list of track features, such as the most restrictive

speed profile, from which the train could generate a set of targets. Then, using these targets, the on-board

equipment would calculate the appropriate speed profile for the train, presenting the information on the DMI.

The main difference between the train and the model presented here is that the train is travelling from block to

block, whereas this model considered only one block at a time. The train would also continuously monitor its targets

and update the braking distances relative to the track conditions, whereas in this model the profiles were all

calculated at the start of the block section.

The model effectively reviewed the track data input and identified any targets (mainly changes in the VMRSP). Then,

the braking profile for each target was generated, using the same principles as in the model discussed previously.

Following this, the minimum of each profile was calculated along the length of the block section.

This model was also developed to take Temporary Speed Restrictions (TSRs) into account. A TSR may occur

where a section of the railway has experienced minor damage, or where engineering works are being carried out

on the railway nearby. The ERTMS system would allow for TSRs to be set remotely by the signalling centre,

informing the train’s on-board equipment over the GSM-R network. For this model, a section was included for TSRs

to be defined, taking into account their location and the speed values. These were then seen by the model as

additional targets.

For improved clarity, the model script was further broken down into auxiliary scripts; supervision_limits.m and

BrakingCurvesModel_V2.m as seen in Appendices 9.4.3 and 9.4.4 respectively. These were taken directly from

the BrakingCurves.m model discussed previously but were broken down for increased flexibility when transitioning

between models.

Previously, the braking curves were developed as distance values as functions of train velocity. However, for further

analysis it was more useful to have velocity data in terms of distance from the curve. i.e. the previous output data

described the location that the train driver had to start braking, relative to the speed of the train. For this model, the

acceptable speed of the train relative to its distance from the target was required.

To achieve this mathematically would have presented a number of issues, largely since the equations for EBD and

SBD would be of a higher order in terms of velocity. Therefore, as a solution, an additional script was developed,

Interpolate_1.m, as seen in Appendix 9.4.5. This script applied MATLAB’s interp1 function to each of the braking

curves (considered over the range of velocities between 0 and the maximum velocity stated in the train input data).

In doing so, the datasets were effectively converted to velocities as functions of displacement which could then be

stored in an array acting as a lookup table.

Page 33: Modelling the European Train Control System: Braking and Supervision Curves

33

Figure 24: : Extended mathematical model, Integrated_Model_1.m, flow diagram.

Initialise

Run

Fixed_Value_Data Fixed_Value_Data

Run

National_Value_Data National_Value_Data

Define TrackData

and TrainData files

Run

ReadTrackData ReadTrackData

TrackData.xlsx

TrainData.xlsx

Define Other Constants:

V_initial, V_delta0,

A_est1, A_est2, T_bs1, T_bs2,

T_traction, T_berem,

T_indication, V_delta1, V_delta2

Fixed Value Data

National Value Data

Track and

Train Data

Main Script

Auxiliary Script

Microsoft Excel File

Determine Temporary Speed

Restrictions (if any) and their

locations.

Calculate Target

Locations Run

supervision_limits

supervision_limits Run

BrakingCurvesModel_V2 National_Value_Data

Ceiling supervision

limits

Generalised braking

curves Run

Interpolate_1 Interpolate_1

Calculate braking

profiles

Speed Dependent

Data

Repeat for

each target

Plot Braking Profiles

Calculate Minimum

Profiles

Page 34: Modelling the European Train Control System: Braking and Supervision Curves

34

5.4.1. Target Identification

As described previously, the model used the BrakingCurvesModel_V2.m and Interpolate_1.m files to generate a

standard set of braking curves for the block section. This assumed that the gradient in that block section remained

constant. These curves were then applied to each target in turn, allowing the braking profiles for each target to be

calculated as follows:

First, the initial and target supervision limits were calculated from the ceiling supervision limits, which had been

calculated for the length of the block section by the supervision_limits.m file. The curve type was also identified,

being an EOA if the target speed was zero, or a LOA otherwise. These would be used later in the model to

determine which type of curves to produce.

The target type was then considered; if this was an increase in speed the target was effectively ignored and the

profiles were set to their respective ceiling supervision limits. If this was the case, the EBD, SBD, SBI1 and I profiles

were all set to the maximum velocity in the train input data. This was to effectively remove them from the output

plot since they were only required in areas where the train was braking.

Conversely, if the target was a decrease in speed further analysis was carried out. First, the theoretical location of

the target was found (as the location where the EBD curve reaches 0 km/hr); if the target was an EOA the theoretical

target was simply at the target location. However, if the target was a LOA, the theoretical target was beyond the

actual target location, as in Figure 25.

Figure 25: Theoretical target location for a LOA curve [24].

For a LOA, the EBD curve was defined as that which crossed through the EBI ceiling supervision limit (for beyond

the target) at the target location. Therefore, the distance to the theoretical target location could be calculated as

the distance to the actual target location, d1, plus the braking distance of the EBD between Vebi and 0 km/hr, d2.

Following this, and still for the particular target, the braking distance was found from the indication curve, I, using

the initial speed as the reference point. The braking location was then also found (the location where the driver

would first have to take action) by subtracting the braking distance from the theoretical target location, as in Figure

26 below.

The model used the braking point and the theoretical target as limits when calculating the braking curves. For

example, before the braking point the curves were all set to their respective ceiling limits relative to the VMRSP before

the target. Similarly, after the theoretical target was passed the curves would all be set to their respective ceiling

limits relative to the VMRSP beyond the target. For values between the braking point and the theoretical target the

curves would be calculated.

Theoretical target location d1 d2

Train

Page 35: Modelling the European Train Control System: Braking and Supervision Curves

35

Figure 26: Calculation of braking point.

5.4.2. Braking Curve Calculation

The code to generate the braking profiles for each target was originally written in the main body of the script.

However, with further development of additional models this section was extracted and made into a new auxiliary

script, named gen_target_profiles.m (see Appendix 9.4.6). This way, it was ensured that any adjustments made to

the code was applied across all models using it.

For each target, the model considered each value of distance along the length of the block section. For the values

of distance within the braking area, the model would assess the value of each of the braking or supervision velocity

curves at each value of distance relative to the individual target. The step size used when assessing along the

length of the railway was defined by the track input data, for this model a value of 10 m was used. For example, in

TrackData3.xlsx (Appendix 9.2.3), the first target was a speed decrease from 160 km/hr to 100 km/hr occurring at

2 km from the start of the block section. The model calculated the various braking profiles at 10 m steps up to and

beyond this target (before repeating for the second target which occurs at 4 km).

During this process, the VEBD value for each target at each value of distance was calculated using the line:

V_EBD1 = V_EBD(EBD_d ==...

min(max(EBD_d),round(d_target_theory(target_number) - d_line(d))));

This set the EBD curve equal to the value of the generic curve created by the Interpolate_1.m file seen previously,

relative to the target. If the distance to the target was greater than the length of the EBD reference array (EBD_d),

the VEBD value was set to the maximum reference value. Figure 27 below provides a visual understanding of this.

Figure 27: Calculation of V_EBD1.

Theoretical target

location Actual target

location Braking

Point

Indicatio

n

Curve, I

EBD

EBI Ceiling Supervision Limit

Permitted Speed

Braking Distance

Speed

Distance Train

d_target_theory

Actual target

location

EBD

EBI Ceiling Supervision Limit

Permitted Speed

max(EBD_d)

Speed

Distance Train

d_line →

V_EBD1

d_target_theory – d_line

Page 36: Modelling the European Train Control System: Braking and Supervision Curves

36

Furthermore, if VEBD was calculated to be less than the permitted velocity (i.e. after the target has been passed)

the VEBD from this location onwards was set to the maximum velocity.

The values of VEBI, VSBI2, VP, and VW were calculated in a similar manner, but also observed the constraints of the

ceiling supervision limits before and after the target location, relative to the curve type. The VSBD and VSBI1 curves

were also calculated in the same way but only if the target was an EOA, according to the SRS. If the target was a

LOA, these were set to the maximum reference velocity as previously discussed.

The indication curve, VI was also calculated by the same method. This curve, however, was set to the maximum

reference velocity before the braking area and after the target location had been passed, to simulate the switching

on and off on the indication light on the DMI.

Finally, once each of the profiles were generated, the model would find the minimum of each profile. For example,

Figure 28.a. shows the VEBD traces for each of the targets in TrackData3.xlsx alongside the VMRSP, while Figure

28.b. presents these on a single plot. It is worth noting that the horizontal and vertical sections of the EBD curves

would not be included in real on-board systems, but are included here to simplify the computation of the curves.

Through calculating these curves in this way it can be ensured that any overlapping curves can be accounted for.

Figure 28: a) The individual EBD curves and b) The combined EBD curve.

5.4.3. Extended Model Output

As with the previous model, the extended model would produce output plots of the braking and supervision profiles,

as in Figure 29. However, these plots displayed the data over the length of the block section, rather than the

distance to target as seen previously (In the real system, the distance to target would be found and displayed to

the driver by subtracting the train’s location within the block section from the target location. Also, where the ceiling

supervision limits were previously overlaid onto the plot, they are now part of the profile datasets. Thus the plot is

much more clear than that seen previously.

a.

b.

Page 37: Modelling the European Train Control System: Braking and Supervision Curves

37

Figure 29: Extended mathematical model, Integrated_Model_1.m, output plot for TrackData3.xlsx.

5.5. Simulink Models

In order to gain an understanding of how a train might react to these profiles over time, the modelling procedure

was extended into the Simulink environment. The Simulink model would build upon the extended mathematical

model in that it would capture all of the output data from the MATLAB model and use it as the input. This effectively

meant that the MATLAB data was being used in Simulink as a look-up table, referenced by the train’s velocity and

displacement.

5.5.1. Single Train Model

The Simulink model implemented a basic closed loop control system to simulate a train driving to the braking

profiles. An overview of the model is shown in Figure 30 below. Simply put, the model imported the permitted speed

profile from MATLAB (after the Integrated_Model_1.m script file had been run). Using the control loop, the model

then simulated the acceleration of the train over time, attempting to follow the permitted speed profile. Should the

simulated speed of the train surpass the permitted speed and any of the supervision limits the corresponding flags

would be raised. For example, should the speed of the train exceed the warning limit, the warning flag would be

raised, simulating the warning received by the driver. Furthermore, should the EBI or SBI curves be exceeded the

train’s emergency or service brakes would be applied. This was achieved by overriding the permitted speed by

multiplying it with zero. When the EBI or SBI flags were raised the deceleration of the train was also adjusted to

match Asafe or Aexpected respectively. The model was set so that if either flag was raised, the train must come to a

halt and wait for 10 seconds before continuing.

For each time instance, the displacement and velocity dependant data was found using Simulink’s Selector blocks.

This allowed the velocity profiles to be imported into the model as arrays, with the appropriate value being selected

based on the train’s displacement or velocity at that moment in time. To use the selector blocks, the velocity and

displacement data had to be scaled appropriately to match the array index values.

A Stop Simulation block was also incorporated into the model to stop the simulation if the maximum length of the

block section had been reached.

Page 38: Modelling the European Train Control System: Braking and Supervision Curves

38

Figure 30: Overview of Simulink Single Train Model Integrated_Model_1_Sim.slx.

5.5.2. Single Train Model Output

The Integrated_Model_1.m file was extended in order to run the Simulink model, process the output data and to

then plot the results (see the end of Appendix 9.4.2). The model produced two output plots; the first was a plot of

the train velocity and the associated velocity profiles (for EBD, SBD etc.) over time, as in Figure 31. These had a

similar appearance to the plots seen above (such as Figure 29) with the main difference being that the profiles now

curve downwards due to the transfer into the time domain.

It is also noted that the profiles appear stepped, particularly at lower velocities. This is due to the resolution of the

distance dependant data; the data used has a resolution of 10 m and at low speeds a train may take a relatively

long time in each 10 m section. The supervision profiles are generated from this distance using the selector blocks

as described previously, so over the 10 m range the selector blocks are returning the same values. Using a higher

resolution track dataset (for example 1 m) would reduce the stepped appearance of the output plots but would

consequently increase the simulation time massively. Again it is noted that due to the volume of data this plot may

be difficult to read. It is advised that in future results, fewer of the profiles are viewed at one time. The second plot

(Figure 32) displays the train’s displacement along the block section over time.

a ∫ ∫

Look-up Table:

VP(d)

VEBD(d)

VSBD(d)

VEBI(d)

VSBI1(d)

VSBI2(d)

VW(d)

VI(d)

MATLAB: Integrated_Model_1.m

EBI Flag

SBI1 Flag

SBI2 Flag

Warning Flag

Indication Flag

A_safe(V,d)

A_expected(V,d)

A_train(V,d)

X

V(t) d(t)

V(t) d(t)

A(V,d,t)

- +

V(t) Normal = 1

Emergency = 0

V(t)

d(t)

d(t) curves(d) curves(t) flags(t) accelerations(V,d)

Page 39: Modelling the European Train Control System: Braking and Supervision Curves

39

Figure 31: Velocity profile output for the single train Simulink model.

Figure 32: Train displacement output for the single train Simulink model.

Page 40: Modelling the European Train Control System: Braking and Supervision Curves

40

5.5.3. Two Train Model (Moving Block)

As discussed through the previous sections, the highest level of operation of the ERTMS system is the conceptual

level 3, which would allow for moving blocks between trains to gain the maximum railway capacity. While the

complexities of developing such a system are well beyond the scope of this work, an attempt was made to develop

a simple model to demonstrate how two trains may interact under level 3 operation.

This model used two copies of the model developed previously interfaced together with an additional Simulink

subsystem. The theory of operation was that an initial train would enter a section of railway at a particular speed

(say a commuter train running at 100 km/hr). A short time later, a second train would enter the same section

travelling at a higher speed (for example, an express train running at 160 km/hr). As the second train catches up

to the first it must slow down so that a critical distance is maintained between the two trains (such as the indication

distance plus an offset). Similarly, if the first train slows down or stops in an emergency the second train must also

do so to reflect this. The critical distance may be dynamic, in that the faster the two trains are travelling the larger

the distance should be. Therefore, as the first train slows down (as is approaches a station or a passing loop) the

second train can catch up, arriving at the station etc. shortly after.

Figure 33 below gives an overview of the level 3 Simulink model, showing how the two trains are connected through

an interface subsystem. The interface read in the speed and position of each of the trains. The distance between

the two trains was then considered (taking into account the train length and the critical distance to be maintained).

If the distance between the two trains was less than the second train’s indication distance (a function of the train’s

velocity) the override flag was raised. This flag told the train 2 model to ignore the speed profile it was running to

originally and to consider V2x instead; the value of permitted speed, VP, relative to the distance between the trains.

If the distance between the trains became less than the EBI distance of the second train (also a function of its

velocity), the EBI flag was raised. This would trigger the EBI flag in the second train the same was as it was seen

in the single train model above, setting the permitted speed to zero and the deceleration to Asafe. The EBI flag could

also be raised by the first train and transferred to the second through the interface, ensuring that if the first train

stopped the second would also stop.

For this model it was assumed that the two trains had identical characteristics (lengths, accelerations and correction

factors) to simplify the calculation of the braking curves; by setting the two trains equal only one set of curves were

required. The model could easily be adjusted to consider two different trains, but this would require more intensive

use of resources (such as memory and computation time).

The diagram below also indicates how each part of the model would be connected in a real world system. For

example, the interface sub-system would be part of the second train’s on-board equipment and would connect to

the first train over the GSM-R network. Theoretically, there would be no limit to the number of trains connected in

this way.

Figure 33: Two Train Simulink Model

Train Model 1

Figure 30

Train Model 2

Figure 30

Interface

sub-system

V1(t) V2x

(t)

d1(t)

Emergency Flag

Override Flag

V2(t) d

2(t)

MATLAB: Level_3_Model_1.m

curves(d) curves1(t) curves(d) curves2(t) flags1(t) flags2(t)

V1(t), V

2(t)

d1(t), d

2(t) curves(d)

Movement Authority

Movement Authority

delay2 delay1

Train 1 Train 2 GSM-R

Link

Emergency Flag

Page 41: Modelling the European Train Control System: Braking and Supervision Curves

41

To process this model, another MATLAB script was developed, Level_3_Model_1.m (see Appendix 9.4.7). This

script was basically a copy of the Integrated_Model_1.m file used previously, but included the additional parameters

required for the two train model (including the critical distance value and the speed limitation of the first train). The

time delay of the second train was also added to this script, and was implemented through a step input in the

Simulink model used to represent the train’s Movement Authority (MA). At the beginning of the simulation the MA

was set to zero which also set the permitted speed to zero through a multiplication block. After the time delay the

step input (or the MA) rose to a value of 1, setting the permitted speed to its actual value. This was also implemented

for the first train with the time delay nominally set to zero.

To run over a longer period and to allow true interaction between the two trains a track dataset was required that

covered a much greater distance than the 5 km used previously. Thus TrackData7.xlsx was created (Appendix

9.2.7) which covered a distance of 15 km. The dataset was designed with one target so that the effects of the trains

slowing down to a halt could be investigated.

The new script also processed the model’s output data, presenting it in a number of plots as discussed below.

5.5.4. Two Train Model Output

The Simulink model exported all the appropriate output data to the MATLAB workspace using the scope blocks.

These saved the data as structures with time, which could then be post-processed by the MATLAB model. These

structures included the displacements of each train, the most restrictive speed profiles that each train was driving

to, and the range of braking and supervision profiles. The respective arrays were then extracted from the structures

with time and multiplied by 3.6 to convert from m/s to km/hr, in preparation to be plotted.

In total, the model generated four plots, with three of these using two subplots. The first plot, shown in Figure 34,

is simply the braking curves, generated by the gen_target_profiles.m file. These are equivalent to the profiles shown

in Figure 29 above. The second and third plots to be produced, shown in Figure 35 and Figure 36 below, are the

velocity profiles and displacements of each train over time. Finally, and arguably most importantly, the model plots

a comparison of the two trains’ velocities and displacements, showing how the two trains interact as in Figure 37.

Figure 34: Braking Curves Plot for TrackData7.xlsx

Page 42: Modelling the European Train Control System: Braking and Supervision Curves

42

Figure 35: Velocity and Displacement Profiles for Train 1.

Figure 36: Velocity and Displacement Profiles for Train 2.

Page 43: Modelling the European Train Control System: Braking and Supervision Curves

43

Figure 37: Comparison of Velocity and Displacement Between Trains.

Page 44: Modelling the European Train Control System: Braking and Supervision Curves

44

6. Discussion of Results

As discussed through the section above, a set of complex models were developed allowing for the assessment of

the ERTMS system for a number of different situations. These scenarios were developed in a number of Microsoft

Excel files which could be easily implemented into the models.

The modelling process began with a simple mathematical model which derived braking curves for a train, and

gradually increased in complexity, developing a model for a number of targets in a block section before adding a

train model to examine time dependant results. Finally, a two train model was developed that built upon the previous

stages of the modelling process and allowed for the interaction between two trains to be assessed.

The outputs of each of the models were observed through the previous sections. Through this section, these results

will be examined in more detail.

6.1. Mathematical Model

The mathematical model produced a simple plot of the ERTMS braking curves, based on the equations given in

the SRS. From these plots the indication, permitted speed, warning, SBI, EBI, SBD and EBD curves could be

examined relative to a single target and with respect to the initial speed of the train. Using this model, the behaviour

of a train can be investigated on its approach to the target.

The model relied heavily on train input data, so by using this model the characteristics of different trains (including

different accelerations or rolling stock correction factors) can be assessed to measure the different braking curves

each may adopt. The effects of track parameters can also be explored, such as changing traction coefficients

between the train’s wheels and the track, or different gradients.

For example, a comparison of the EBD, EBI and P distances are shown in Figure 38 below for the case when the

rails are dry against when they are wet. It can be seen that for the wet rails, the EBD distance is increased by

120 m, while the P and EBI curves are increased by 129 m. These results, and others like this, will be useful for

assessing a number of trains and target locations over the rollout of ERTMS.

Figure 38: Comparison of EBD, EBI and P for a) dry rails and b) wet rails.

It is noted that the above results were also compared against the ERA braking curves tool [17]. Bothe methods

yielded identical results, adding further evidence to the validity of the model.

1647

v 1314 1158 1776 1443 1278

a. b.

Page 45: Modelling the European Train Control System: Braking and Supervision Curves

45

6.2. Extended Mathematical Model

A key objective of this study was to find out how the system would operate over a length of railway incorporating a

number of targets. For this, the extended mathematical model discussed in section 5.4 was developed based on

the basic mathematical model. From previous analysis it was seen that the model dealt comfortably with two targets

of different types (a LOA and an EOA), as in Figure 29 above.

6.2.1. Target Profiles

Similar to the above, this model could also be used to assess the effects of different train or track properties. This

model, however, was largely designed to examine the braking profiles for different block section features or targets.

These targets may be increases or decreases in line speed; for example, the selected profiles in Figure 39 account

for three targets. The first is an increase in speed from 100 km/hr to 160 km/hr occurring at 1 km into the section.

The model effectively ignores this target in terms of the profiles, and simply sets the permitted speed and FLOI to

the appropriate values before and after the target occurs. Of course, the train could not accelerate as rapidly as

displayed in the plot and this may be taken into account during further analysis. For this case, however, the

permitted speed is treated as the speed that the train is allowed to travel at or accelerate up to. It is not a guidance

curve as such.

The second target occurs at 3 km into the block and represents a LOA (since the target speed is non-zero). As it

can be seen, the model accounts for this accordingly, calculating the EBD curve as one which intersects with the

EBI (or in this case the FLOI) ceiling supervision limit at the target location (as required by the SRS). It is also noted

that the indication is active over the duration of the braking area, and switches off once the target has passed. The

SBD is ignored for this target type, as specified in the SRS.

The third target occurs at 4.9 km and is a speed decrease from 100 km/hr to a halt (representing an EOA). Again,

the model accounts for this correctly, calculating both the EBD and the SBD along with the other curves, so that

the foot of each curve is at the target location.

Figure 39: Braking and supervision profiles for TrackData4.xlsx.

From earlier investigations, it was difficult to find any work on a similar model. It is felt that this model could prove

highly effective when considering the use of ERTMS systems on railways where the line speed may change

frequently. The model could, of course, be extended to cover a much longer section of railway with a higher number

of targets.

Page 46: Modelling the European Train Control System: Braking and Supervision Curves

46

6.2.2. Temporary Speed Restrictions

Another key aspect of this model was the ability to deal with Temporary Speed Restrictions (TSRs). As mentioned

previously, the TSRs were established as the beginning of the code. For example, Figure 40 below highlights the

effect of adding a TSR of 60 km/hr to TrackData5.xlsx between 3 km and 4 km. The model recognises this as

another LOA target and accounts for this appropriately with the relevant warning, supervision and braking curves.

At the end of the TSR the model returns the profiles to the nominal values (which had changed to 80 km during the

TSR). This proves that the safety critical aspect of the system remains valid when temporary speed restrictions are

put into force.

Figure 40: Braking and supervision profiles for TrackData5.xlsx with TSR of 60 km/hr set between 3 km and 4 km.

6.3. Single Train Simulink Model

This model was developed as an add-on to the extended mathematical model, and made use of the braking profiles

generated by that model. A simple control loop simulated a train’s acceleration up to and along the permitted speed

profile.

6.3.1. Permitted Speed

The plot in Figure 41 below displays the speed of a train as it travels along the block section (V), compared with

the permitted speed (VP) and the FLOI. It can be seen that the model accurately tracks the permitted speed profile,

remaining below the FLOI line as required. Where the permitted speed increases, the speed of the train increases

with a gradient equal to the acceleration specified in the train parameters. The train speed also took into account

the TSRs, as seen in Figure 42.

TSR =

60 km/hr

Page 47: Modelling the European Train Control System: Braking and Supervision Curves

47

Figure 41: Speed profile for TrackData4.xlsx.

Figure 42: Speed profile for TrackData5.xlsx with TSR of 60 km/hr set between 3 km and 4 km.

These results prove useful when assessing how a train may travel through a section or railway over time, reacting

to the supervision curves imposed. These plots can be used to give an understanding of how a driver may respond

to the ERTMS data which could be compared to a conventional driving approach, where the driver would brake

much earlier as previously discussed.

Another useful output is the displacement plot, as in Figure 43, which demonstrates how far the train is travelling

over the time period.

Page 48: Modelling the European Train Control System: Braking and Supervision Curves

48

Figure 43: Displacement plot for TrackData5.xlsx with TSR of 60 km/hr set between 3 km and 4 km.

6.3.2. Brake Intervention

The model could also be used to assess the situations where things may go wrong. Throughout the report the

emergency and service brake interventions have been greatly discussed, and this model now provides the facility

to actually test these facilities.

To test the SBI, the permitted speed as seen by the train was increased by 10 %. Starting with an initial speed of

100 km/hr, this meant that the train model accelerated past the most restrictive speed and the SBI ceiling

supervision limit as in Figure 44. For this analysis, TrackData9.xlsx was used, which was a simple constant speed

profile.

Upon crossing the warning limit a flag is raised, as in Figure 45. This is an indication of where the tractive effort

would be cut off in a real system. Following that, if the driver fails to respond, the train speed crosses the SBI limit.

A second flag is raised here, instructing the service brakes to activate. After a slight delay due to the traction cut

off time (assuming this is greater than zero, as defined in the train data) the velocity of the train levels out. This

represents the zero acceleration of the train over the service brake build up time (it is noted that in a real system

the acceleration here would be non-zero as the brakes build up, this has been omitted to simplify the model). After

the brake build up time the deceleration of the train is set to Aexpected and the train slows down to a halt. After a short

time (around 10 seconds) the train is allowed to continue.

Figure 44: Demonstration of the Service Brake Intervention.

Page 49: Modelling the European Train Control System: Braking and Supervision Curves

49

Figure 45: Supervision flags relative to Figure 44.

If the service brake intervention is not available the emergency brake intervention may be triggered, operating in a

similar manner, as in Figure 46. When the EBI flag was raised the model was configured to decelerate at Asafe

which, as discussed previously, is less than Aexpected since all correction factors are considered, making it a worst

case scenario of sorts. This is why the train decelerates over a much longer time in Figure 46 than in Figure 44. It

is noted that in reality, the actual emergency deceleration is likely to be much sharper than the service brake

deceleration; the worst case is considered to ensure that the system remains safety critical. In both cases, the

deceleration is very linear due to the limitations in the applied control system.

Figure 46: Demonstration of the Emergency Brake Intervention.

As seen in Figure 47, the EBI can also be used when approaching a target. If the speed of the train crosses the

FLOI its acceleration becomes zero, reflecting the brake build up time. Once the brakes build are fully applied the

speed of the train decreases at the rate of Asafe, coinciding with the EBD curve.

Page 50: Modelling the European Train Control System: Braking and Supervision Curves

50

Figure 47: Demonstration of EBI when approaching a target.

Page 51: Modelling the European Train Control System: Braking and Supervision Curves

51

6.4. Two Train Simulink Model

The final stage of the modelling process was to introduce a second train into the model, in order to gain an

understanding of how two (or more) trains may interact under the ERTMS. The results of one simulation of this

model are shown in Figure 48 below and cover two aspects of the system; one train catching up to another slower

train, and one train braking with another.

For example, in the plots below, Train 1 enters the section at a speed of 100 km/hr and maintains this speed for

the duration of the section, while Train 2 starts 2 minutes later and accelerates up to 160 km/hr.

Figure 48: a) Comparison of velocity profiles for the two trains, b) Comparison of the displacements of the two trains, c) the distance maintained between the two trains towards the end of the simulation.

a.

b.

c.

Page 52: Modelling the European Train Control System: Braking and Supervision Curves

52

As Train 2 accelerates, the distance between the trains, dcritical, decreases. At around 280 seconds this distance

becomes less than the indication distance, causing Train 2 to decelerate in order to follow the permitted speed

curve, relative to Train 1.

At around 450 seconds the train speeds are equal and a distance of 1380 m is maintained between these two

trains. If Train 1 were to continue at a constant velocity, Train 2 would match that velocity. However, as Train 1

approaches the target its velocity begins to decrease. Simultaneously, the velocity of Train 2 also begins to

decrease in order to maintain the distance between the two trains. This deceleration is much less than that of Train

1 though, since the critical distance is dynamic. That is, as the two trains slow down the distance required for Train

2 to stop is reduced, thus the distance required between the two trains is less.

Towards the end of the simulation, due to the scaling of Figure 48.b., it appears as if this distance tends towards

zero. Figure 48.c. however proves that this is in fact not the case, a distance of around 120 m is maintained between

the trains as they come to a standstill. This may represent the trains arriving at a station; Train 1 has arrived at the

platform while Train 2 catches up and waits outside the station.

The safety integrity of the system could also be checked using this model, based on the EBI flags. For example,

Figure 49 displays the behaviour of the two trains following an emergency situation; the EBI flag of train 1 is

triggered at 200 seconds, causing it to come to a halt immediately. At this time, Train 2 is too far away from Train

1 to be effected. When the distance between the trains decreases below the indication distance Train 2 receives

the EBI signal, causing it to also come to a halt and maintaining a safe distance between the trains.

Figure 49: Velocity and displacement profiles of the two trains when Train 1's EBI is triggered at 200 s.

Similarly, if the EBI flag of Train 1 is raised while the two trains are in synchrony, both trains will brake at the same

instance and decelerate at the same rate (assuming track and train parameters are consistent between the two

units). For example, in Figure 50 the EBI of Train 1 is applied at 400 s, while Train 2 is close behind. At this instant,

the emergency brakes of both trains are applied, bringing both to a halt.

Page 53: Modelling the European Train Control System: Braking and Supervision Curves

53

Figure 50: Velocity and displacement profiles of the two trains when Train 1's EBI is triggered at 400 s.

As mentioned previously, the emergency signals may be transferred between trains over the GSM-R network. Of

course, fail safes would have to be put in place to ensure that these communications are robust and to ensure that

any loss in communications would not result in tragedy. One approach may be for the first train to send a signal to

the second to confirm its normal operation. Thus, if the signal is lost, the second train may assume that the first

train is in distress and apply the brakes or proceed at a low speed until communications have been regained.

Page 54: Modelling the European Train Control System: Braking and Supervision Curves

54

7. Conclusions and Future Work

At the beginning of this project an overview of current signalling systems was given. It was found that such systems

used worldwide are mainly based on principles derived in the Victorian era. Because of this, these systems are

hugely flawed in terms or maintenance and reliability, line speed, and capacity. It was also found that since the first

conception of such systems there have been wide deviations in the technologies developed in different countries,

with over twenty different systems in use in Europe alone. The different equipment needed to operate on each

system makes international rail travel near impossible in its present state.

The main solution to this currently under development is an in cab signalling system standardised across Europe

that would replace all existing signalling systems and hardware, known as the European Train Control System.

This forms part of the wider European Rail Traffic Management System being established by the European Rail

Agency alongside eight railway technology companies.

The aim of the system is to replace the various lineside signalling systems across Europe (and other interested

countries) with a single in-cab system, with communications between trains and signalling centres over the specially

implemented GSM-R network. A key part of this would be the ability for each train to calculate its desired speed

and braking profiles based on the railway properties and other trains in the area. The information would then be

displayed to the driver on a Driver Machine Interface. The system therefore has the key advantages of:

Reduced maintenance and increased reliability since the physical signalling systems are removed, there

is less lineside equipment to be damaged, vandalised or stolen.

Increased line speed in suitable areas since the driver is not required to sight lineside signals, the

information is presented in the cab at all times. The train drivers could also adopt a much more aggressive

driving style, braking later and harder than previously while still maintaining a comfortable ride.

Increased capacity since railway blocks will not depend on physical equipment, making it more cost

effective to divide the railway into smaller sections. Also with the development of level 3 ERTMS the line

capacity could be further increased with moving block technologies.

Interoperability across Europe (and further) under a standardised system.

As the calculation of these braking curves formed a core part of the ETCS system the focus of this work turned to

modelling the fundamentals behind the generation of these curves, beginning with a simplified mathematical model.

Since there was little previous work available on similar systems, this model was based on the equations defined

in the ERTMS System Requirements, open on the ERA website [24]. The model proved reliable and accurate when

generating the appropriate curves, producing identical results to an Excel based tool developed by the ERA.

Though this model was simplified, it was designed with the capabilities to be developed further for future work.

Following this, the model was developed so that a number of targets in a length of railway could be considered,

generating the appropriate curves for each target and overlaying them to find a single braking profile for that section

of railway. Through this a useful tool was developed that could be used for a number of different track and train

conditions to analyse how these various properties may alter the operation of the ERTMS system.

Furthermore, the model was extended into the Simulink environment with a simple closed loop control system to

simulate the operation of a train driving to these profiles. It was found that a train driver could potentially follow

these curves with relative ease which would lead to a more optimised journey compared to conventional systems.

The embedded safety features were also demonstrated, showing how the emergency brakes may be applied as a

last resort. This system would mean that the brakes are applied before a target is reached, reducing the

occurrences and risks of signals passed at danger.

Finally, a two train model was demonstrated to gain an understanding of the moving block system associated with

level 3 ERTMS. It was demonstrated how a dynamic critical safe distance could be maintained between two trains

with the use of the braking profiles. The safety of this system was also put to the test, demonstrating that the GSM-

R network could potentially be used to trigger an emergency response in a train following another.

All of the modelled systems took input data for track and train in the form of Excel spreadsheets. The track datasets

were developed as simplified examples and were not based on actual data, however the models would allow for

Page 55: Modelling the European Train Control System: Braking and Supervision Curves

55

this development in the future. The train data however was somewhat based on the Hitachi Class 800 that will be

one of the first trains to run ERTMS in the UK.

In general, these models have helped gain a depth of understanding in the operation of the ERTMS systems, the

generation of a train’s braking profiles, and how these may be implemented on the main line. A greater appreciation

has been earned in how to model these systems in the MATLAB and Simulink environment.

As it has been stated throughout this work, these models have been largely simplified. The ERA specifications go

into a vast depth of detail on a number of other aspects of the system that have been omitted. These, however,

could be implemented for use in further work. Examples of this may be communications interfaces, transitions

between blocks, movement authorities or track features such as level crossings. A number of assumptions were

also made during the modelling process, such as constant gradients and adhesions. These are areas that could

be applied in the future to increase the complexity and the accuracy of the models.

As a whole, the ETCS has been seen as a largely robust system that could deliver great advantages as listed

above. The protection features mentioned have been tested and could potential make Europe’s railways even safer

than they are today. To implement the system across Europe would require great cooperation between the member

states, railway bodies, train operating companies and technology companies. It would also come at a great expense

and could take a long time span, although the costs saved in the long term may eventually outweigh this. Before it

is implemented, a thorough feasibility study would be required for each geographical area to weigh up the

implementation difficulties against the advantages on offer.

The ERTMS system would prove viable if it is exhaustively tested using models similar to those demonstrated here,

ensuring that the system remains fail safe in all eventualities. This, coupled with testing on real world systems,

would lead to a comprehensive signalling system that could be implemented worldwide.

A further aspect which may be worth considering is an approach to driverless trains. It has been shown through

this work that the train is capable of monitoring its own speed, location, authorities and integrity. Thus, the system

could be further adapted in the future to become fully autonomous.

Page 56: Modelling the European Train Control System: Braking and Supervision Curves

56

8. References

[1] ERA * UNISIG * EEIG ERTMS USERS GROUP, “Subset-023 Glossary of UNISIG Terms and Abbreviations,”

02 March 2012. [Online]. Available: http://www.era.europa.eu/Document-Register/Documents/Set-2-

Index003-SUBSET-023%20v300.pdf. [Accessed 15 January 2016].

[2] Network Rail, Railway Signalling Appreciation, 2012.

[3] ERTMS, “ERTMS | The European Railway Traffic Management System,” Oxalis, 2013. [Online]. Available:

http://www.ertms.net/. [Accessed 3 December 2015].

[4] UNIFE, “ERTMS Factsheet 8: UNISIG,” 2014. [Online]. Available: http://www.ertms.net/wp-

content/uploads/2014/09/ERTMS_Factsheet_8_UNISIG.pdf. [Accessed 3 December 2015].

[5] UNIFE, “UNIFE: Who Are We?,” karakas, 2015. [Online]. Available: http://www.unife.org/about-us/who-we-

are.html. [Accessed 3 December 2015].

[6] European Railway Agency, “Set of specifications # 1 (ETCS baseline 2 and GSM-R baseline 0),” 7 January

2015. [Online]. Available: http://www.era.europa.eu/Core-Activities/ERTMS/Pages/Set-of-specifications-

1.aspx. [Accessed 3 December 2015].

[7] Network Rail, “ERTMS - Network Rail,” [Online]. Available: http://www.networkrail.co.uk/aspx/12275.aspx.

[Accessed 3 December 2015].

[8] Network Rail, “ERTMS Online,” [Online]. Available: http://ertmsonline.com/. [Accessed 3 December 2015].

[9] Network Rail, “Your guide to European Rail Traffic Management System (ERTMS),” February 2015. [Online].

Available: http://ertmsonline.com/wp-content/uploads/2015/02/ERTMS-Guide.pdf. [Accessed 3 December

2015].

[10] UNIFE, “ERTMS Factsheet 3: ERTMS Levels,” 2014. [Online]. Available: http://www.ertms.net/wp-

content/uploads/2014/09/ERTMS_Factsheet_3_ERTMS_levels.pdf. [Accessed 3 December 2015].

[11] Alstom, “Atlas, ERTMS Signalling Solution,” 2015. [Online]. Available: http://www.alstom.com/products-

services/product-catalogue/rail-systems/signalling/products/atlas/. [Accessed 3 December 2015].

[12] E. Solutions, “ERTMS Solutions | Company,” 2015. [Online]. Available:

https://www.ertmssolutions.com/company/. [Accessed 3 December 2015].

[13] D. S. K. Abed, “Energy, Power and Control (EPC-IQ), 2010 1st International Conference on,” International

Conference on Energy, Power and Control, pp. 173 - 180, 2010.

[14] T. N. G. L. David Hicks, “Performance Modelling For The National ERTMS Programme (NEP),” Railway

System Modelling - Not Just for Fun, 2004. The IEE Seminar on, pp. 61-74, 2004.

[15] J.-L. Boulanger, Formal Methods Applied to Industrial Complex Systems, London, UK / Hoboken, NJ, USA:

ISTE Ltd / John Wiley & Sons, Inc., 2014.

[16] S. Damien Ledoux, “Model-Based Approach for ERTMS Railway Wayside System Specification, Validation,

and Proof,” 26 March 2014. [Online]. Available: http://www.mathworks.com/solutions/railway-systems/.

[Accessed 4 December 2015].

Page 57: Modelling the European Train Control System: Braking and Supervision Curves

57

[17] European Rail Agency, “Braking Curves Simulation Tool,” 20 June 2012. [Online]. Available:

http://www.era.europa.eu/Core-Activities/ERTMS/Pages/Braking-Curves-Simulation-Tool.aspx. [Accessed 6

December 2015].

[18] D. f. T. Claire Perry MP, “New state-of-the-art InterCity Express train arrives in the UK,” 12 March 2015.

[Online]. Available: https://www.gov.uk/government/news/new-state-of-the-art-intercity-express-train-arrives-

in-the-uk. [Accessed 5 December 2015].

[19] BBC News Services, “Edinburgh to London train journey time to be cut,” BBC, 18 March 2016. [Online].

Available: http://www.bbc.co.uk/news/uk-scotland-edinburgh-east-fife-35842408. [Accessed 30 April 2016].

[20] A. Rogers, C. Robinson, K. Agatsuma, M. Iwasaki, D. E. S. Inarida, T. Yamamoto, K. Konishi and T. Mochida,

“Development of Class 800/801 High-speed Rolling Stock for UK Intercity Express Programme,” Hitachi

Review, vol. 63, no. 10, pp. 646-654, 2014.

[21] Department for Transport, “Intercity Express Programme (IEP) Schedule 1 - Appendix A: Train Technical

Specification - Document No: IEP-TECH-REQ-35,” 19 July 2012. [Online]. Available:

https://www.gov.uk/government/uploads/system/uploads/attachment_data/file/82840/tts-redacted.pdf.

[Accessed 10 December 2015].

[22] N. Zafar, “Formal specification and validation of railway network components using Z notation,” IET Software,

vol. 3, no. 4, pp. 312-320, 2009.

[23] N. Zafar, “Formal Model for Moving Block Railway Interlocking System Based on Un-Directed Topology,”

Emerging Technologies, 2nd International Conference on, pp. 217-223, 2006.

[24] ERA * UNISIG * EEIG ERTMS Users Group, “System Requirement Specification,” Chapete 3: Principles,

Vols. SUBSET-026-3, no. 3.4.0, 05 May 2014.

[25] British Governement, “Rail Accident Investigation Branch,” Government Digital Service, [Online]. Available:

https://www.gov.uk/government/organisations/rail-accident-investigation-branch. [Accessed 30 April 2016].

[26] European Railway Agency, “Introduction to ETCS braking curves,” 20 June 2012. [Online]. Available:

http://www.era.europa.eu/Document-Register/Pages/Braking-curves---Introduction.aspx. [Accessed 26 01

2016].

Page 58: Modelling the European Train Control System: Braking and Supervision Curves

58

9. Appendix

9.1. Train Datasets

9.1.1. TrainData1.xlsx

Figure 51: Correction factors and A_brake_emergency for TrainData1

Table 5: Other parameters defined in TrainData1

Other Parameters

Value Units

A_brake_service 1 m/s^2

A_train 0.7 m/s^2

T_be 3.5 s

T_bs 3.5 s

T_traction_cutoff 0 s

l (train length) 83 m

0

0.2

0.4

0.6

0.8

1

1.2

1.4

0 50 100 150 200

Corr

ection F

acto

r /

Deccele

ration (

m/s

/s)

Train Speed (km/hr)

Kdry_rst Kwet_rst A_brake_emergency

Page 59: Modelling the European Train Control System: Braking and Supervision Curves

59

9.2. Track Datasets

9.2.1. TrackData1.xlsx

Figure 52: Speed Profile for TrackData1

Figure 53: Gradient Profile for TrackData1

-50

0

50

100

150

200

0.00 500.00 1000.00 1500.00 2000.00 2500.00

V_M

RS

P (

km

/hr)

Distance (m)

-12

-10

-8

-6

-4

-2

0

0.00 500.00 1000.00 1500.00 2000.00 2500.00

Gra

die

nt

Distance (m)

Page 60: Modelling the European Train Control System: Braking and Supervision Curves

60

9.2.2. TrackData2.xlsx

Figure 54: Speed Profile for TrackData2

Figure 55: Gradient Profile for TrackData2

0

20

40

60

80

100

120

140

160

180

0.00 1.00 2.00 3.00 4.00 5.00

V_M

RS

P (

km

/hr)

Distance (km)

-12

-10

-8

-6

-4

-2

0

0.00 1.00 2.00 3.00 4.00 5.00

Gra

die

nt

Distance (km)

Page 61: Modelling the European Train Control System: Braking and Supervision Curves

61

9.2.3. TrackData3.xlsx

Figure 56: Speed Profile for TrackData3

Figure 57: Gradient Profile for TrackData3

-20

0

20

40

60

80

100

120

140

160

180

0.00 1.00 2.00 3.00 4.00 5.00

V_M

RS

P (

km

/hr)

Distance (km)

MRSP km/h

-12

-10

-8

-6

-4

-2

0

0.00 1.00 2.00 3.00 4.00 5.00

Gra

die

nt

Distance (km)

Page 62: Modelling the European Train Control System: Braking and Supervision Curves

62

9.2.4. TrackData4.xlsx

Figure 58: Speed Profile for TrackData4

Figure 59: Gradient Profile for TrackData4

-20

0

20

40

60

80

100

120

140

160

180

0.00 1.00 2.00 3.00 4.00 5.00

V_M

RS

P (

km

/hr)

Distance (km)

-12

-10

-8

-6

-4

-2

0

0.00 1.00 2.00 3.00 4.00 5.00

Gra

die

nt

Distance (km)

Page 63: Modelling the European Train Control System: Braking and Supervision Curves

63

9.2.5. TrackData5.xlsx

Figure 60: Speed Profile for TrackData5

Figure 61: Gradient Profile for TrackData5

0

20

40

60

80

100

120

140

160

180

0.00 1.00 2.00 3.00 4.00 5.00

V_M

RS

P (

km

/hr)

Distance (km)

-12

-10

-8

-6

-4

-2

0

0.00 1.00 2.00 3.00 4.00 5.00

Gra

die

nt

Distance (km)

Page 64: Modelling the European Train Control System: Braking and Supervision Curves

64

9.2.6. TrackData6.xlsx

Figure 62: Speed Profile for TrackData6

Figure 63: Gradient Profile for TrackData6

0

20

40

60

80

100

120

140

160

180

0.00 1.00 2.00 3.00 4.00 5.00

V_M

RS

P (

km

/hr)

Distance (km)

-12

-10

-8

-6

-4

-2

0

0.00 1.00 2.00 3.00 4.00 5.00

Gra

die

nt

Distance (km)

Page 65: Modelling the European Train Control System: Braking and Supervision Curves

65

9.2.7. TrackData7.xlsx

Figure 64: Speed Profile for TrackData7

Figure 65: Gradient Profile for TrackData7

0

20

40

60

80

100

120

140

160

180

200

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

V_M

RS

P

Distance (km)

-12

-10

-8

-6

-4

-2

0

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Gra

die

nt

Distance (km)

Page 66: Modelling the European Train Control System: Braking and Supervision Curves

66

9.3. Input Dataset MATLAB Scripts

9.3.1. Fixed Value Data [24]

% University of Strathclyde, Electrical and Electronic Engineering

% EM504 Dissertation A - European Rail Traffic Management System

% Fixed_Value_Data.m

% Fixed Value Data from Appendix 3.1 (pages 181 - 182) of the

% ERTMS/ETCS System Requirements Specification

% Chapter 3 - Principles, REF SUBSET-026-3, Issue 3.4.0, Date 12/05/2014

% ERA *UNISIG* EEIG ERTMS USERS GROUP

% http://www.era.europa.eu/Document-Register/Pages/Set-2-System-Requirements-Specification.aspx

% Accessed 10/01/2016

% Script by Thomas Gibson, University of Strathclyde

% Created 10/01/2016 Last Edited 21/01/2016

% Values may be commented out when not required

dV_ebi_min = 7.5; %km/h

dV_ebi_max = 15; %km/h

V_ebi_min = 110; %km/h

V_ebi_max = 210; %km/h

dV_sbi_min = 5.5; %km/h

dV_sbi_max = 10; %km/h

V_sbi_min = 110; %km/h

V_sbi_max = 210; %km/h

dV_warning_min = 4; %km/h

dV_warning_max = 5; %km/h

V_warning_min = 110; %km/h

V_warning_max = 140; %km/h

T_warning = 2; %s

T_driver = 4; %s

T_preindication = 7; %s

M_rotating_max = 15; %%

M_rotating_min = 2; %%

% Other Values

g = 9.81; %m/s/s

C_ebi = (dV_ebi_max - dV_ebi_min)/(V_ebi_max - V_ebi_min);

C_sbi = (dV_sbi_max - dV_sbi_min)/(V_sbi_max - V_sbi_min);

C_warning = (dV_warning_max - dV_warning_min)/(V_warning_max - V_warning_min);

Page 67: Modelling the European Train Control System: Braking and Supervision Curves

67

9.3.2. National Value Data [24]

% University of Strathclyde, Electrical and Electronic Engineering

% EM504 Dissertation A - European Rail Traffic Management System

% National_Value_Data.m

% National Value Data from Appendix 3.2 (pages 182 - 184) of the

% ERTMS/ETCS System Requirements Specification

% Chapter 3 - Principles, REF SUBSET-026-3, Issue 3.4.0, Date 12/05/2014

% ERA *UNISIG* EEIG ERTMS USERS GROUP

% http://www.era.europa.eu/Document-Register/Pages/Set-2-System-Requirements-Specification.aspx

% Accessed 10/01/2016

% Script by Thomas Gibson, University of Strathclyde

% Created 10/01/2016 Last Edited 21/01/2016

% Values may be commented out when not required

Q_NVDRIVER_ADHES = 'NOT_ALLOWED';

V_NVSHUNT = 30; %km/h

V_NVSTFF = 40; %km/h

V_NVONSIGHT = 30; %km/h

V_NVLIMSUPERV = 100; %km/h

V_NVUNFIT = 100; %km/h

V_NVREL = 40; %km/h

D_NVROLL = 2; %m

Q_NVSBTSMPERM = true; %Yes

Q_NVEMRRLS = 'ONLY AT STANDSTILL';

Q_NVGUIPERM = false; %No

Q_NVSBFBPERM = false; %No

Q_NVINHSMICPERM = false;%No

V_NVALLOWOVTRP = 0; %km/h

V_NVSUPOVTRP = 30; %km/h

D_NVOVTRP = 200; %m

T_NVOVTRP = 60; %s

M_NVDERUN = true; %Yes

M_NVCONTACT = 'NO REACTION';

T_NVCONTACT = inf;

D_NVPOTRP = 200; %m

D_NVSTFF = inf;

Q_NVLOCACC = 12; %m

M_NVAVADH = 0;

M_NVEBCL = 99.9999999; %%

L_NVKRINT = 'N/A';

M_NVKRINT = 0.9;

V_NVKRINT = 'N/A';

M_NVKVINT = 0.7;

M_NVKTINT = 1.1;

A_NVMAXREDADH1 = 1.0; %m/s/s

A_NVMAXREDADH2 = 0.7; %m/s/s

A_NVMAXREDADH3 = 0.7; %m/s/s

A_NVP12 = 'N/A';

A_NVP23 = 'N/A';

Page 68: Modelling the European Train Control System: Braking and Supervision Curves

68

9.3.3. Read in Track Data

% University of Strathclyde, Electronic and Electrical Engineering

% EM504 Dissertation A - European Rail Traffic Management System

% ReadTrackData.m

% Script to import pre-defined track and train data from Excel Spreadsheets

% Script by Thomas Gibson, University of Strathclyde

% Created 10/01/2016 Last Edited 02/02/2016

% TrackData = 'TrackData1.xlsx'; % Define the required files

% TrainData = 'TrainData1.xlsx'; % These may be set in the main script

% so appear commented out here

Track_Data = xlsread(TrackData,1,'A:C');

Train_Data = xlsread(TrainData,1,'A:G');

% Distance Dependant Track Data

d_line = Track_Data(:,1); % Displacement along track (km)

grad = Track_Data(:,2); % Gradient of track (‰)

V_line = Track_Data(:,3); % Permitted line speed (km/h)

% Speed Dependant Train Data

V_ref = Train_Data(:,1); % Reference velocity profile (km/hr)

Kdry_rst = Train_Data(:,2); % Rolling Stock Correction Factors

Kwet_rst = Train_Data(:,3); % Rolling Stock Correction Factors

A_brake_emergency = Train_Data(:,4);% Acceleration under emergency braking (m/s/s)

% Train Constants

A_brake_service = Train_Data(1,7); % Acceleration under service brakes (m/s/s)

A_train = Train_Data(2,7); % Normal Acceeration of the train (m/s/s)

T_be = Train_Data(3,7); % Emergency brake build up time (s)

T_bs = Train_Data(4,7); % Service brake build up time (s)

T_traction_cutoff = Train_Data(5,7);% Tractive effort cut-off time (s)

l_train = Train_Data(6,7); % Length of the train (m)

Page 69: Modelling the European Train Control System: Braking and Supervision Curves

69

9.4. MATLAB Code

Published with MATLAB® R2015b

9.4.1. Mathematical Model – BrakingCurves.m

% University of Strathclyde, Electronic and Electrical Engineering

% EM504 Dissertation A - European Rail Traffic Management System

% Script for the calculation of the ERTMS braking curves, based on ERA

% System Requirement Specifications (SRS) SUBSET-026-3 v340 06/01/2015

% http://www.era.europa.eu/Document-Register/Pages/Set-2-System-Requirements-Specification.aspx

% Accessed 10/01/2016

% Script by Thomas Gibson, University of Strathclyde

% Created 10/01/2016 Last Edited 02/02/2016

INITIALISE

clear

clc

% Import parameters (Comment out when not required)

Fixed_Value_Data % Data from Appendix 3.1 of SRS

National_Value_Data % Data from Appendix 3.2 of SRS

TrackData = 'TrackData1.xlsx';

TrainData = 'TrainData1.xlsx';

ReadTrackData % import Pre-defined track data

curve_type = 0; % Set as 0 for End of Movement Authority (EOA)

% or 1 for Limit of Momement of Authority (LOA)

V_Target = 0; % Zero for EOA, non-zero for LOA

target_type = 1; % Set as 0 for EOA Target or 1 for Emergency

% Brake Deceleration (EBD) Based Target

%Train input parameters

for i = 1:1

V_MRSP = max(V_line); %Velocity of Most Restrictive Speed Profile, km/h

V_initial = 160; %km/h

end

%Error parameters and constants

for i = 1:1

V_delta0 = 0;

A_est1 = 0;

A_est2 = 0;

T_bs1 = T_bs; %s

T_bs2 = T_bs; %s

T_traction = max((T_traction_cutoff - (T_warning + T_bs2)),0);

T_berem = max((T_be-T_traction),0); %s

T_indication = max(0.8*T_bs,5);

V_delta1 = A_est1*T_traction;

V_delta2 = A_est2*T_berem;

Page 70: Modelling the European Train Control System: Braking and Supervision Curves

70

end

%Initialise vectors for improved time efficiency

for i = 1:1

A_gradient = zeros;

A_brake_safe = zeros;

EBD = zeros;

EBI = zeros;

SBD = zeros;

A_safe = zeros;

A_expected = zeros;

D_bec = zeros;

SBI1 = zeros;

SBI2 = zeros;

P = zeros;

W = zeros;

I = zeros;

V = zeros;

end

Ceiling Supervision Limits

for i = 1:1;

if V_MRSP > V_ebi_min

dV_ebi = min(dV_ebi_min + C_ebi*(V_MRSP - V_ebi_min),dV_ebi_max);

else

dV_ebi = dV_ebi_min;

end

if V_MRSP > V_sbi_min

dV_sbi = min(dV_sbi_min + C_sbi*(V_MRSP - V_sbi_min),dV_sbi_max);

else

dV_sbi = dV_sbi_min;

end

if V_MRSP > V_warning_min

dV_warning = min(dV_warning_min + C_warning*(V_MRSP - V_warning_min),dV_warning_max);

else

dV_warning = dV_warning_min;

end

V_ebi = V_MRSP + dV_ebi;

V_sbi = V_MRSP + dV_sbi;

V_warning = V_MRSP + dV_warning;

end

Accelerations

% A_brake_safe

for v = 1:length(V_ref)

A_brake_safe(v) = Kdry_rst(v)*(Kwet_rst(v) + M_NVAVADH*(1-Kwet_rst(v)))*A_brake_emergency(v);

end

% A_gragient

for d = 1:length(d_line)

if grad(d) >= 0

Page 71: Modelling the European Train Control System: Braking and Supervision Curves

71

A_gradient(d) = g*grad(d)/(1000+10*M_rotating_max);

else

A_gradient(d) = g*grad(d)/(1000+10*M_rotating_min);

end

end

% A_safe & A_expected

for v = 1:length(V_ref)

for d = 1:length(d_line)

A_safe(v,d) = A_brake_safe(v) + A_gradient(d);

A_expected(v,d) = A_brake_service + A_gradient(d);

end

end

Calculate Braking Curves

for v = find(V_ref == V_Target):max(V_ref)

V(v) = V_ref(v);

% Emergency Brake Deceleration

EBD(v) = (((V(v)/3.6)^2)-((V_Target/3.6)^2))/(2*A_safe(v,1));

%Service Brake Deceleration

SBD(v) = (((V(v)/3.6)^2)-((V_Target/3.6)^2))/(2*A_expected(v,1));

% Emergency Brake Intervention

D_bec(v) = (V(v)/3.6)*T_berem;

EBI(v) = EBD(v) + D_bec(v);

% Service Brake Intervention

SBI1(v) = SBD(v) + (V(v)/3.6)*T_bs1;

SBI2(v) = EBI(v) + (V(v)/3.6)*T_bs2;

% Warning & Permitted Supervision Limit

if target_type == 0 % for the EOA

W(v) = SBI1(v) + (V(v)/3.6)*T_warning;

P(v) = SBI1(v) + (V(v)/3.6)*T_driver;

elseif target_type == 1 % for an EBD based target

W(v) = SBI2(v) + (V(v)/3.6)*T_warning;

P(v) = SBI2(v) + (V(v)/3.6)*T_driver;

end

% Indication Limit

I(v)=P(v)+(V(v)/3.6)*T_indication;

end

%Pre-Indication Point

d_preindication = max(I) + (V_initial/3.6)*T_preindication;

%Calculate Indication Point

for v = find(V_ref == V_Target):max(V_ref)

if v > (V_MRSP + 1)

I(v)=I(v - 1);

end

end

% Calculate First Line of Intervention

Page 72: Modelling the European Train Control System: Braking and Supervision Curves

72

FLOI1 = max(SBI1,SBI2);

FLOI = max(FLOI1,EBI); % First Line of Intervention

Plot Braking Curves

for i = 1:1

figure

linewidth = 2;

plot1 = plot(...

EBD,V,...

SBD,V,...

EBI,V,...

SBI1,V,...

SBI2,V,...

P,V,...

W,V,...

I,V,...

FLOI,V,...

d_preindication,V,...

'LineWidth',linewidth);

set(gca,'xdir','reverse')

set(plot1(1),'DisplayName','EBD','LineStyle','-','Color','b')

set(plot1(2),'DisplayName','SBD','LineStyle','-','Color','g')

set(plot1(3),'DisplayName','EBI','LineStyle',':','Color','b')

set(plot1(4),'DisplayName','SBI1','LineStyle','--','Color','g')

set(plot1(5),'DisplayName','SBI2','LineStyle','--','Color','b')

set(plot1(6),'DisplayName','P','LineStyle','-','Color',[0.75 0.75 0.75])

set(plot1(7),'DisplayName','W','LineStyle','-','Color',[1 0.65 0])

set(plot1(8),'DisplayName','I','LineStyle','-','Color','y')

set(plot1(9),'DisplayName','FLOI','LineStyle','-','Color','r')

legend1 = legend('EBD','SBD','EBI','SBI1','SBI2','P','W','I',’FLOI’);

set(legend1,...

'Position',[0.15 0.15 0.15 0.35]);

ylim([0 180])

xlabel('Distance to Target (m)')

ylabel('Velocity (km/h)')

title('ERTMS Braking Curves');

grid('on')

% Ceiling Supervision Limits

% MRSP supervision

MRSP_sup = refline(0,V_MRSP);

MRSP_sup.Color = [0.75 0.75 0.75]; %grey

MRSP_sup.LineStyle = '-';

MRSP_sup.LineWidth = linewidth;

MRSP_sup.DisplayName = 'P_Ceiling';

% EBI Supervision Limit

ebi_sup = refline(0,V_ebi);

ebi_sup.Color = 'b';

ebi_sup.LineStyle = ':';

ebi_sup.LineWidth = linewidth;

ebi_sup.DisplayName = 'EBI_Ceiling';

% SBI Supervision Limit

sbi_sup = refline(0,V_sbi);

Page 73: Modelling the European Train Control System: Braking and Supervision Curves

73

sbi_sup.Color = 'g';

sbi_sup.LineStyle = '--';

sbi_sup.LineWidth = linewidth;

sbi_sup.DisplayName = 'SBI_Ceiling';

% Warning Supervision Limit

warning_sup = refline(0,V_warning);

warning_sup.Color = [1 0.65 0]; %Orange

warning_sup.LineStyle = '-';

warning_sup.LineWidth = linewidth;

warning_sup.DisplayName = 'W_Ceiling';

end

Page 74: Modelling the European Train Control System: Braking and Supervision Curves

74

9.4.2. Extended Mathematical Model – Integrated_Model_1.m

% University of Strathclyde, Electronic and Electrical Engineering

% EM504 Dissertation A - European Rail Traffic Management System

% Integrated_Model_1.m

% Script for the calculation of the ERTMS braking curves for multiple targets

% based on ERA System Requirement Specifications (SRS) SUBSET-026-3 v340 06/01/2015

% http://www.era.europa.eu/Document-Register/Pages/Set-2-System-Requirements-Specification.aspx

% Accessed 10/01/2016

% This file is an extention to the file BrkingCurves.m developed for this project

% Other files required are:

% Fixed_Value_Data.m

% National_Value_Data.m

% ReadTrackData.m

% supervision_limits.m

% BrakingCurvesModel_V2.m

% Interpolate_1.m

% gen_target_profiles.m

% Track and Train Data is also required in Excel format

% Script by Thomas Gibson, University of Strathclyde

% Created 14/03/2016 Last Edited 25/03/2016

INITIALISE

clear

clc

% Import parameters (Comment out when not required)

Fixed_Value_Data % Data from Appendix 3.1 of SRS

National_Value_Data % Data from Appendix 3.2 of SRS

TrackData = 'TrackData3.xlsx';

TrainData = 'TrainData1.xlsx';

ReadTrackData % Pre-defined track data

target_type = 1; % Set as 0 for EOA Target or 1 for Emergency

% Brake Deceleration (EBD) Based Target

Temporary Speed Restrictions (TSRs)

% Repeat for additional TSRs, comment out for no TSRs

% V_TSR1 = V_line; % Initialise array for First TSR

% V_TSR1_Limit = 60; % Restriction in km/hr

% d_start_TSR = 4000; % TSR Start Location, m

% d_end_TSR = 4500; % TSR End Location, m

% index_start_TSR1 = find(d_line == d_start_TSR); % Start location index value

% index_end_TSR1 = find(d_line == d_end_TSR); % End location index value

%

% for d_TSR = index_start_TSR1:index_end_TSR1

% V_TSR1(d_TSR) = V_TSR1_Limit;

% end

Page 75: Modelling the European Train Control System: Braking and Supervision Curves

75

%

%

% V_MRSP = min(V_line,V_TSR1); % Temporary Speed Restrictions (TSRs) set here

% If no TSRs

V_MRSP = V_line;

Train input parameters

Train1_Delay = 0;

V_entry = 100/3.6; % m/s

d_entry = 0; % m

V_release = 30/3.6; % m/s

d_step = d_line(2) - d_line(1);

% Error parameters and constants

for i = 1:1

V_delta0 = 0;

A_est1 = 0;

A_est2 = 0;

T_bs1 = T_bs; %s

T_bs2 = T_bs; %s

T_traction = max((T_traction_cutoff - (T_warning + T_bs2)),0);

T_berem = max((T_be-T_traction),0); %s

T_indication = max(0.8*T_bs,5);

V_delta1 = A_est1*T_traction;

V_delta2 = A_est2*T_berem;

n = 0;

d_target_index = zeros;

delta = 20; % Distance between trains (m)

end

Main Code

Find target locations

for i = 1:length(V_MRSP)-1 % For length of line - 1

if (V_MRSP(i) ~= V_MRSP(i+1)) % If change in velocity

n = n+1; % Increment index value

d_target_index(n) = i+1; % Save target index number

end

end

if n > 0 % If block section contains any targets

d_target = d_line(d_target_index); % Array of target distances

V_target = V_MRSP(d_target_index); % Array of target speeds

else % If not, set end of block as target

d_target = d_line(end); % Array of target distances

V_target = V_MRSP(end);

n = n+1;

Page 76: Modelling the European Train Control System: Braking and Supervision Curves

76

d_target_index(n) = length(V_MRSP);

end

Jump to scripts

supervision_limits % Calculate supervisiton limits against line distance (see script)

BrakingCurvesModel_V2 % Calculate generic braking curves(see script)

Interpolate_1 % Convert v related data to d related data (see script)

% MAIN SCRIPT

plot_profiles = 1; % Set as 1 to generate plot of braking profiles

plot_train1 = 1; % Set as 1 to generate plot of train profiles against time

gen_target_profiles % Generate braking proflies for each target

Simulate and process output data

% Run Simulation

sim('Integrated_Model_1_Sim.slx')

% Time Array

time_out = braking_curves_out.time;

% Displacement Array

d_t = displacement_out.signals.values;

% MRSP Array

V_MRSP_t = velocity_out.signals.values(:,1)*3.6;

% Extract time dependent braking profiles, convert from m/s to km/hr

V_I_t = braking_curves_out.signals.values(:,1)*3.6;

Page 77: Modelling the European Train Control System: Braking and Supervision Curves

77

V_W_t = braking_curves_out.signals.values(:,2)*3.6;

V_P_t = braking_curves_out.signals.values(:,3)*3.6;

V_SBI2_t = braking_curves_out.signals.values(:,4)*3.6;

V_SBI1_t = braking_curves_out.signals.values(:,5)*3.6;

V_EBI_t = braking_curves_out.signals.values(:,6)*3.6;

V_SBD_t = braking_curves_out.signals.values(:,7)*3.6;

V_EBD_t = braking_curves_out.signals.values(:,8)*3.6;

V_t = braking_curves_out.signals.values(:,9)*3.6;

FLOI1_t = min(V_SBI1_t,V_SBI2_t);

FLOI_t = min(FLOI1_t, V_EBI_t); % First Line of Intervention

Plot output data

if plot_train1 == 1

figure

subplot(2,1,1); % top subplot

plot2 = plot(...

time_out, V_EBD_t,...

time_out, V_SBD_t,...

time_out, V_EBI_t,...

time_out, V_SBI1_t,...

time_out, V_SBI2_t,...

time_out, V_P_t,...

time_out, V_W_t,...

time_out, V_I_t,...

time_out, V_MRSP_t,...

time_out, V_t,...

time_out, FLOI_t,...

'LineWidth',linewidth);

set(plot2(1),'DisplayName','EBD','LineStyle','-','Color','b')

set(plot2(2),'DisplayName','SBD','LineStyle','-','Color','g')

set(plot2(3),'DisplayName','EBI','LineStyle',':','Color','b')

set(plot2(4),'DisplayName','SBI1','LineStyle','--','Color','g')

set(plot2(5),'DisplayName','SBI2','LineStyle','--','Color','b')

set(plot2(6),'DisplayName','Permitted','LineStyle','-','Color',[0.75 0.75 0.75])

set(plot2(7),'DisplayName','Warning','LineStyle','-','Color',[1 0.65 0])

set(plot2(8),'DisplayName','Indication','LineStyle','-','Color','y')

set(plot2(9),'DisplayName','V_MRSP','LineStyle','-','Color','m')

set(plot2(10),'DisplayName','V','LineStyle','-','Color','c')

set(plot2(11),'DisplayName','FLOI','LineStyle','-','Color','r')

legend1 = legend('V_{EBD}','V_{SBD}','V_{EBI}','V_{SBI1}',...

'V_{SBI2}','V_P','V_W','V_I','V_{MRSP}','V','FLOI');

if V_P_t(end) == 0

error1 = V_target(end); % final target speed in km/hr

error2 = find(V_P_t > error1);

x_max_index = error2(end);

x_max = 1.1*time_out(x_max_index + 1);

else

x_max = time_out(end);

end

xlim([0 x_max])

ylim([0 180])

xlabel('Time in Block Section (s)')

Page 78: Modelling the European Train Control System: Braking and Supervision Curves

78

ylabel('Velocity (km/h)')

title3 = 'ERTMS Velocity Profiles for Data Set ';

title4 = [title3 TrackData];

title(title4);

grid('on')

subplot(2,1,2);

plot3 = plot(time_out,d_t,'LineWidth',linewidth);

xlim([0 x_max])

xlabel('Time in Block Section (s)')

ylabel('Distance along Block Section (m)')

title('Train Displacement');

grid('on')

end

Page 79: Modelling the European Train Control System: Braking and Supervision Curves

79

9.4.3. Ceiling Supervision Limits – supervision_limits.m

% University of Strathclyde, Electronic and Electrical Engineering

% EM504 Dissertation A - European Rail Traffic Management System

% supervision_limits.m

% Script for the calculation of the ERTMS ceiling supervision limits

% Based on ERA System Requirement Specifications (SRS) SUBSET-026-3 v340 06/01/2015

% http://www.era.europa.eu/Document-Register/Pages/Set-2-System-Requirements-Specification.aspx

% Accessed 10/01/2016

% This is a section of the script BrakingCurves.m, also developed for this project

% Script by Thomas Gibson, University of Strathclyde

% Created 14/03/2016 Last Edited 14/03/2016

V_ebi = zeros;

V_sbi =zeros;

V_warning = zeros;

for d = (1:length(V_MRSP))

if V_MRSP(d) > V_ebi_min

dV_ebi = min(dV_ebi_min + C_ebi*(V_MRSP(d) - V_ebi_min),dV_ebi_max);

else

dV_ebi = dV_ebi_min;

end

if V_MRSP(d) > V_sbi_min

dV_sbi = min(dV_sbi_min + C_sbi*(V_MRSP(d) - V_sbi_min),dV_sbi_max);

else

dV_sbi = dV_sbi_min;

end

if V_MRSP(d) > V_warning_min

dV_warning = min(dV_warning_min + C_warning*(V_MRSP(d) - V_warning_min),dV_warning_max);

else

dV_warning = dV_warning_min;

end

V_ebi(d) = V_MRSP(d) + dV_ebi;

V_sbi(d) = V_MRSP(d) + dV_sbi;

V_warning(d) = V_MRSP(d) + dV_warning;

end

Page 80: Modelling the European Train Control System: Braking and Supervision Curves

80

9.4.4. Braking Curves – BrakingCurvesModel_V2.m

% University of Strathclyde, Electronic and Electrical Engineering

% EM504 Dissertation A - European Rail Traffic Management System

% Script for the calculation of the ERTMS braking curves, based on ERA

% System Requirement Specifications (SRS) SUBSET-026-3 v340 06/01/2015

% http://www.era.europa.eu/Document-Register/Pages/Set-2-System-Requirements-Specification.aspx

% Accessed 10/01/2016

% Version 2

% The Original File was used to calculate the braking distances for a

% specific instant. This file is to be used along a section of railway

% to produce the suggested train velocities.

% Script by Thomas Gibson, University of Strathclyde

% Original Created 10/01/2016 Last Edited 20/02/2016

% V2 Created 06/03/2016 Last Edited 14/03/2016

% Initialise vectors for improved time efficiency

for i = 1:1

A_gradient = zeros;

A_brake_safe = zeros;

EBD = zeros;

EBI = zeros;

SBD = zeros;

A_safe = zeros;

A_expected = zeros;

D_bec = zeros;

SBI1 = zeros;

SBI2 = zeros;

P = zeros;

W = zeros;

I = zeros;

V = zeros;

end

%A_brake_safe

for v = 1:length(V_ref)

A_brake_safe(v) = Kdry_rst(v)*(Kwet_rst(v) + M_NVAVADH*(1-Kwet_rst(v)))*A_brake_emergency(v);

end

%A_gragient

for d = 1:length(d_line)

if grad(d) >= 0

A_gradient(d) = g*grad(d)/(1000+10*M_rotating_max);

else

A_gradient(d) = g*grad(d)/(1000+10*M_rotating_min);

end

end

%A_safe & A_expected

for v = 1:length(V_ref)

for d = 1:length(d_line)

A_safe(v,d) = A_brake_safe(v) + A_gradient(d);

A_expected(v,d) = A_brake_service + A_gradient(d);

end

end

Page 81: Modelling the European Train Control System: Braking and Supervision Curves

81

%Calculate braking curves find(V_ref == V_Target):length(V_ref)

for v = 1:length(V_ref)

V(v) = V_ref(v);

% Emergency Brake Deceleration

EBD(v) = ((V(v)/3.6)^2)/(2*A_safe(v,1));

%Service Brake Deceleration

SBD(v) = ((V(v)/3.6)^2)/(2*A_expected(v,1));

% Emergency Brake Intervention

D_bec(v) = (V(v)/3.6)*T_berem;

EBI(v) = EBD(v) + D_bec(v);

% Service Brake Intervention

SBI1(v) = SBD(v) + (V(v)/3.6)*T_bs1;

SBI2(v) = EBI(v) + (V(v)/3.6)*T_bs1;

%Warning & Permitted Supervision Limit

if target_type == 0 % for the EOA

W(v) = SBI1(v) + (V(v)/3.6)*T_warning;

P(v) = SBI1(v) + (V(v)/3.6)*T_driver;

elseif target_type == 1 % for an EBD based target

W(v) = SBI2(v) + (V(v)/3.6)*T_warning;

P(v) = SBI2(v) + (V(v)/3.6)*T_driver;

end

I(v)=P(v)+(V(v)/3.6)*T_indication;

end

%Pre-Indication Point

d_preindication = max(I) + (V_initial/3.6)*T_preindication;

Page 82: Modelling the European Train Control System: Braking and Supervision Curves

82

9.4.5. Interpolation – Interpolate_1.m

% University of Strathclyde, Electronic and Electrical Engineering

% EM504 Dissertation A - European Rail Traffic Management System

% Interpolate_1.m

% Script to Interpolate Values for Velocity as function of Displacement

% (From displacement as functions of velocity)

% Script by Thomas Gibson, University of Strathclyde

% Created 14/03/2016 Last Edited 14/03/2016

% Values with subscript d indicate values of displacement in m

% Emergency Brake Deceleration

EBD_d = round(min(EBD)):1:round(max(EBD));

V_EBD = interp1(EBD,V_ref,EBD_d,'linear','extrap');

% Emergency Brake Intervention

EBI_d = round(min(EBI)):1:round(max(EBI));

V_EBI = interp1(EBI,V_ref,EBI_d,'linear','extrap');

% Service Brake Deceleration

SBD_d = round(min(SBD)):1:round(max(SBD));

V_SBD = interp1(SBD,V_ref,SBD_d,'linear','extrap');

% Service Brake Intervention

SBI1_d = round(min(SBI1)):1:round(max(SBI1));

V_SBI1 = interp1(SBI1,V_ref,SBI1_d,'linear','extrap');

SBI2_d = round(min(SBI2)):1:round(max(SBI2));

V_SBI2 = interp1(SBI2,V_ref,SBI2_d,'linear','extrap');

% Permitted Speed

P_d = round(min(P)):1:round(max(P));

V_P = interp1(P,V_ref,P_d,'linear','extrap');

% Warning

W_d = round(min(W)):1:round(max(W));

V_W = interp1(W,V_ref,W_d,'linear','extrap');

% Indication

I_d = round(min(I)):1:round(max(I));

V_I = interp1(I,V_ref,I_d,'linear','extrap');

Page 83: Modelling the European Train Control System: Braking and Supervision Curves

83

9.4.6. Generate Target Braking Profiles –

gen_target_profiles.m

% University of Strathclyde, Electrical and Electronic Engineering

% EM504 Dissertation A - European Rail Traffic Management System

% gen_target_profiles.m

% Script for the calculation of the ERTMS braking curves for multiple targets

% This file was originally part of Integrated_Model_1.m but has been

% extracted for use with other models (such as Level_3_Model_1.m)

% based on ERA System Requirement Specifications (SRS) SUBSET-026-3 v340 06/01/2015

% http://www.era.europa.eu/Document-Register/Pages/Set-2-System-Requirements-Specification.aspx

% Accessed 10/01/2016

% This file is an extention to the file BrkingCurves.m developed for this project

% Script by Thomas Gibson, University of Strathclyde

% Created 14/03/2016 Last Edited 25/03/2016

Initialise braking profile parameters

V_EBDx (length(d_line),length(d_target_index)) = zeros;

V_EBIx (length(d_line),length(d_target_index)) = zeros;

V_SBDx (length(d_line),length(d_target_index)) = zeros;

V_SBI1x(length(d_line),length(d_target_index)) = zeros;

V_SBI2x(length(d_line),length(d_target_index)) = zeros;

V_Px (length(d_line),length(d_target_index)) = zeros;

V_Wx (length(d_line),length(d_target_index)) = zeros;

V_Ix (length(d_line),length(d_target_index)) = zeros;

d_target_theory(1,length(d_target_index)) = zeros;

d_braking(1,length(d_target_index)) = zeros;

d_BrakePoint(1,length(d_target_index)) = zeros;

Generate braking profiles for each target

for target_number = 1:n % For each target

% Initial and Target index numbers

i_target = d_target_index(target_number); % Set target index value

i_initial = i_target-1; % Set initial index value

% Initial and Target speed supervision limits

V_initial = V_MRSP(i_initial); % Set initial speed

V_Target = V_target(target_number); % Set target speed

V_ebi_initial = V_ebi(i_initial); % EBI Ceiling Limits

V_ebi_target = V_ebi(i_target);

V_sbi_initial = V_sbi(i_initial); % SBI Ceiling Limits

V_sbi_target = V_sbi(i_target);

V_warning_initial = V_warning(i_initial); % Warning Ceiling Limits

V_warning_target = V_warning(i_target);

if V_Target == 0

curve_type = 0; % End of movement authority (EOA)

Page 84: Modelling the European Train Control System: Braking and Supervision Curves

84

else

curve_type = 1; % Limit of movement authority (LOA)

end

% If target is decrease in speed (braking)

if V_Target < V_initial

% Find theoretical target locations

if curve_type == 1 % LOA, V_Target != 0

d_target_theory(target_number) = d_target(target_number) + EBD(V_ref ==

round(V_ebi_target));

else % EOA, V_Target == 0

d_target_theory(target_number) = d_target(target_number);

end

% Find braking distance

d_braking(target_number) = I(V_ref == V_initial);

% Find braking location

d_BrakePoint(target_number) = d_target_theory(target_number) - d_braking(target_number);

% Find maximum speed curves relative to target

for d = 1:length(d_line)

% In braking area

if d_BrakePoint(target_number) <= d_line(d)...

&& d_line(d) <= d_target_theory(target_number)

% Emergency Brake Deceleration

V_EBD1=V_EBD(EBD_d == min(max(EBD_d),...

round(d_target_theory(target_number) - d_line(d))));

if V_EBD1 >= V_Target

V_EBDx(d,target_number) = V_EBD1;

else

V_EBDx(d,target_number) = max(V_ref);

end

% Emergency Brake Intervention

V_EBI1 = min(V_ebi_initial,V_EBI(EBI_d == min(max(EBI_d),...

round(d_target_theory(target_number) - d_line(d)))));

% Service Brake Intervention

V_SBI2_1 = min(V_sbi_initial,V_SBI2(SBI2_d == min(max(SBI2_d),...

round(d_target_theory(target_number) - d_line(d)))));

% Permitted Speed

V_P1 = min(V_initial,V_P(P_d == min(max(P_d),...

round(d_target_theory(target_number) - d_line(d)))));

V_Px(d,target_number) = max(V_P1, V_Target);

% Warning

V_W1 = min(V_warning_initial,V_W(W_d == min(max(W_d),...

round(d_target_theory(target_number) - d_line(d)))));

if curve_type == 0 % i.e. V_Target = 0

V_SBDx(d,target_number) = V_SBD(SBD_d == min(max(SBD_d),...

round(d_target_theory(target_number) - d_line(d))));

V_SBI1x(d,target_number) = min(V_sbi_initial,V_SBI1(SBI1_d == min(max(SBI1_d),...

round(d_target_theory(target_number) - d_line(d)))));

V_EBIx(d,target_number)= V_EBI1;

V_SBI2x(d,target_number)= V_SBI2_1;

V_Wx(d,target_number) = V_W1;

else

V_SBDx(d,target_number) = max(V_ref);

Page 85: Modelling the European Train Control System: Braking and Supervision Curves

85

V_SBI1x(d,target_number) = max(V_ref);

V_EBIx(d,target_number)= max(V_EBI1, V_ebi_target);

V_SBI2x(d,target_number)= max(V_SBI2_1, V_sbi_target);

V_Wx(d,target_number) = max(V_W1, V_warning_target);

end

V_I1 = min(V_initial,V_I(I_d == min(max(I_d),...

round(d_target_theory(target_number) - d_line(d)))));

if d_line(d) <= d_target(target_number)

if curve_type == 0

V_Ix(d,target_number) = V_I1;

else

V_Ix(d,target_number) = max(V_I1, V_Target);

end

else

V_Ix(d,target_number) = max(V_ref);

end

else % Outside of braking area

% End of movement authority, after target

if curve_type == 0 &&...

d_line(d) >= d_target_theory(target_number)

V_EBDx(d,target_number) = 0;

V_SBDx(d,target_number) = 0;

V_EBIx(d,target_number) = 0;

V_SBI1x(d,target_number) = 0;

V_SBI2x(d,target_number) = 0;

V_Px(d,target_number) = 0;

V_Wx(d,target_number) = 0;

V_Ix(d,target_number) = 0;

else % Limit of movement authority

V_EBDx(d,target_number) = max(V_ref); %V_ebi(d);

V_SBDx(d,target_number) = max(V_ref);

V_EBIx(d,target_number) = V_ebi(d);

V_SBI1x(d,target_number) = max(V_ref); %V_sbi(d);

V_SBI2x(d,target_number) = V_sbi(d);

V_Px(d,target_number) = V_MRSP(d);

V_Wx(d,target_number) = V_warning(d);

V_Ix(d,target_number) = max(V_ref);

end

end

end

% Else (If target is increase in speed (accelerating))

else

V_EBDx(:,target_number) = max(V_ref); %V_ebi(d);

V_SBDx(:,target_number) = max(V_ref);

V_EBIx(:,target_number) = V_ebi;

V_SBI1x(:,target_number) = max(V_ref); %V_sbi(d);

V_SBI2x(:,target_number) = V_sbi;

V_Px(:,target_number) = V_MRSP;

V_Wx(:,target_number) = V_warning;

V_Ix(:,target_number) = max(V_ref);

end

end

Find minimum profiles

Page 86: Modelling the European Train Control System: Braking and Supervision Curves

86

V_EBD_min = min(V_EBDx,[],2);

V_SBD_min = min(V_SBDx,[],2);

V_EBI_min = min(V_EBIx,[],2);

V_SBI1_min = min(V_SBI1x,[],2);

V_SBI2_min = min(V_SBI2x,[],2);

V_P_min = min(V_Px,[],2);

V_W_min = min(V_Wx,[],2);

V_I_min = min(V_Ix,[],2);

FLOI1 = min(V_SBI1_min,V_SBI2_min);

FLOI = min(FLOI1, V_EBI_min); % First Line of Intervention

Plot braking profiles

if plot_profiles == 1

figure

linewidth = 1.5;

plot1 = plot(...

d_line, V_EBD_min,...

d_line, V_SBD_min,...

d_line, V_EBI_min,...

d_line, V_SBI1_min,...

d_line, V_SBI2_min,...

d_line, V_P_min,...

d_line, V_W_min,...

d_line, V_I_min,...

d_line, FLOI,...

'LineWidth',linewidth);

set(plot1(1),'DisplayName','EBD','LineStyle','-','Color','b')

set(plot1(2),'DisplayName','SBD','LineStyle','-','Color','g')

set(plot1(3),'DisplayName','EBI','LineStyle',':','Color','b')

set(plot1(4),'DisplayName','SBI1','LineStyle','--','Color','g')

set(plot1(5),'DisplayName','SBI2','LineStyle','--','Color','b')

set(plot1(6),'DisplayName','Permitted','LineStyle','-','Color',[0.75 0.75 0.75])

set(plot1(7),'DisplayName','Warning','LineStyle','-','Color',[1 0.65 0])

set(plot1(8),'DisplayName','Indication','LineStyle','-','Color','y')

set(plot1(9),'DisplayName','FLOI','LineStyle','-','Color','r')

legend1 = legend('EBD','SBD','EBI','SBI1','SBI2','P','W','I','FLOI');

set(legend1,...gen

'Position',[0.15 0.15 0.15 0.35]);

ylim([0 180])

xlabel('Distance along Block Section (m)')

ylabel('Velocity (km/h)')

title1 = 'ERTMS Braking Curves for Data Set ';

title2 = [title1 TrackData];

title(title2);

grid('on')

end

Page 87: Modelling the European Train Control System: Braking and Supervision Curves

87

Page 88: Modelling the European Train Control System: Braking and Supervision Curves

88

9.4.7. Level 3 Model – Level_3_Model_1.m

% University of Strathclyde, Electrical and Electronic Engineering

% EM504 Dissertation A - European Rail Traffic Management System

% Level_3_Model_1.m

% Script for the calculation of the ERTMS braking curves for multiple targets

% Assessing two trains at ERTMS Level 3 (moving block)

% based on ERA System Requirement Specifications (SRS) SUBSET-026-3 v340 06/01/2015

% http://www.era.europa.eu/Document-Register/Pages/Set-2-System-Requirements-Specification.aspx

% Accessed 10/01/2016

% This file is an extention to the file Integrated_Model_1.m developed for this project

% Other files required are:

% Fixed_Value_Data.m

% National_Value_Data.m

% ReadTrackData.m

% supervision_limits.m

% BrakingCurvesModel_V2.m

% Interpolate_1.m

% gen_target_profiles.m

% Integrated_Model_3_Sim.slx

% Track and Train Data is also required in Excel format

% Script by Thomas Gibson, University of Strathclyde

% Created 14/03/2016 Last Edited 25/03/2016

INITIALISE

clear

clc

Import parameters (Comment out when not required)

Fixed_Value_Data % Data from Appendix 3.1 of SRS

National_Value_Data % Data from Appendix 3.2 of SRS

TrackData = 'TrackData7.xlsx';

TrainData = 'TrainData1.xlsx';

ReadTrackData % Pre-defined track data

target_type = 1; % Set as 0 for EOA Target or 1 for Emergency

% Brake Deceleration (EBD) Based Target

Temporary Speed Restrictions (TSRs)

% Repeat for additional TSRs, comment out for no TSRs

% V_TSR1 = V_line; % Initialise array for First TSR

% V_TSR1_Limit = 60; % Restriction in km/hr

% d_start_TSR = 4000; % TSR Start Location, m

% d_end_TSR = 4500; % TSR End Location, m

% index_start_TSR1 = find(d_line == d_start_TSR); % Start location index value

Page 89: Modelling the European Train Control System: Braking and Supervision Curves

89

% index_end_TSR1 = find(d_line == d_end_TSR); % End location index value

%

% for d_TSR = index_start_TSR1:index_end_TSR1

% V_TSR1(d_TSR) = V_TSR1_Limit;

% end

%

%

% V_MRSP = min(V_line,V_TSR1); % Temporary Speed Restrictions (TSRs) set here

% If no TSRs

V_MRSP = V_line;

Train input parameters

V_release = 30/3.6; % m/s

d_step = d_line(2) - d_line(1); % Step size of track distance data

% Simulation Parmeters

Train1_Delay = 0; % s

Train2_Delay = 120; % s

V_P_Error1 = 1/1.6; % Factor by which train 1 speed is offset from V_P

V_P_Error2 = 1; % Factor by which train 2 speed is offset from V_P

V_entry1 = 100/3.6; % m/s

V_entry2 = 0; % m/s

delta = 20; % Critical istance between trains (m)

% Error parameters and constants

V_delta0 = 0; % m/s

A_est1 = 0; % m/s/s

A_est2 = 0; % m/s/s

T_bs1 = T_bs; %s

T_bs2 = T_bs; %s

T_traction = max((T_traction_cutoff - (T_warning + T_bs2)),0); % s

T_berem = max((T_be-T_traction),0); % s

T_indication = max(0.8*T_bs,5); % s

V_delta1 = A_est1*T_traction; % m/s

V_delta2 = A_est2*T_berem; % m/s

n = 0;

d_target_index = zeros;

Main Code

Find target locations

for i = 1:length(V_MRSP)-1 % For length of line - 1

if (V_MRSP(i) ~= V_MRSP(i+1)) % If change in velocity

n = n+1; % Increment index value

d_target_index(n) = i+1; % Save target index number

end

end

if n > 0 % If block section contains any targets

d_target = d_line(d_target_index); % Array of target distances

Page 90: Modelling the European Train Control System: Braking and Supervision Curves

90

V_target = V_MRSP(d_target_index); % Array of target speeds

else % If not, set end of block as target

d_target = d_line(end); % Array of target distances

V_target = V_MRSP(end);

n = n+1;

d_target_index(n) = length(V_MRSP);

end

Jump to scripts

supervision_limits % Calculate supervisiton limits against line distance (see script)

BrakingCurvesModel_V2 % Calculate generic braking curves(see script)

Interpolate_1 % Convert v related data to d related data (see script)

% MAIN SCRIPT

plot_profiles = 1; % Set as 1 to generate plot of braking profiles

plot_train1 = 1; % Set as 1 to generate plot of train1 profiles against time

plot_train2 = 1; % Set as 1 to generate plot of train2 profiles against time

plot_combined = 1; % Set as 1 to generate plot of combined train profiles against time

gen_target_profiles % Generate braking proflies for each target

Simulate and process output data

% Run Simulation

sim('Integrated_Model_3_Sim.slx')

% Time Array

time_out = Braking_Curves_Train1.time;

% Displacement Array

Page 91: Modelling the European Train Control System: Braking and Supervision Curves

91

d_t = Displacement_Train1.signals.values;

% MRSP Array

V_MRSP_Train1 = Velocity_Train1.signals.values(:,1)*3.6;

V_MRSP_Train2 = Velocity_Train2.signals.values(:,1)*3.6;

% Train 1

% Extract time dependent braking profiles, convert from m/s to km/hr

V_I_Train1 = Braking_Curves_Train1.signals.values(:,1)*3.6;

V_W_Train1 = Braking_Curves_Train1.signals.values(:,2)*3.6;

V_P_Train1 = Braking_Curves_Train1.signals.values(:,3)*3.6;

V_SBI2_Train1 = Braking_Curves_Train1.signals.values(:,4)*3.6;

V_SBI1_Train1 = Braking_Curves_Train1.signals.values(:,5)*3.6;

V_EBI_Train1 = Braking_Curves_Train1.signals.values(:,6)*3.6;

V_SBD_Train1 = Braking_Curves_Train1.signals.values(:,7)*3.6;

V_EBD_Train1 = Braking_Curves_Train1.signals.values(:,8)*3.6;

V_Train1 = Braking_Curves_Train1.signals.values(:,9)*3.6;

FLOI1_Train1 = min(V_SBI1_Train1,V_SBI2_Train1);

FLOI_Train1 = min(FLOI1_Train1, V_EBI_Train1); % First Line of Intervention

% Train 2

V_I_Train2 = Braking_Curves_Train2.signals.values(:,1)*3.6;

V_W_Train2 = Braking_Curves_Train2.signals.values(:,2)*3.6;

V_P_Train2 = Braking_Curves_Train2.signals.values(:,3)*3.6;

V_SBI2_Train2 = Braking_Curves_Train2.signals.values(:,4)*3.6;

V_SBI1_Train2 = Braking_Curves_Train2.signals.values(:,5)*3.6;

V_EBI_Train2 = Braking_Curves_Train2.signals.values(:,6)*3.6;

V_SBD_Train2 = Braking_Curves_Train2.signals.values(:,7)*3.6;

V_EBD_Train2 = Braking_Curves_Train2.signals.values(:,8)*3.6;

V_Train2 = Braking_Curves_Train2.signals.values(:,9)*3.6;

FLOI1_Train2 = min(V_SBI1_Train2,V_SBI2_Train2);

FLOI_Train2 = min(FLOI1_Train2, V_EBI_Train2); % First Line of Intervention

d_Train1 = Combined_dout.signals.values(:,1);

d_Train2 = Combined_dout.signals.values(:,2);

d_critical = Combined_dout.signals.values(:,3);

Plot output data

Train 1

if plot_train1 == 1

figure

subplot(2,1,1); % top subplot

plot2 = plot(...

time_out, V_EBD_Train1,...

time_out, V_SBD_Train1,...

time_out, V_EBI_Train1,...

time_out, V_SBI1_Train1,...

time_out, V_SBI2_Train1,...

time_out, V_P_Train1,...

time_out, V_W_Train1,...

time_out, V_I_Train1,...

time_out, V_MRSP_Train1,...

time_out, V_Train1,...

Page 92: Modelling the European Train Control System: Braking and Supervision Curves

92

time_out, FLOI_Train1,...

'LineWidth',linewidth);

set(plot2(1),'DisplayName','EBD','LineStyle','-','Color','b')

set(plot2(2),'DisplayName','SBD','LineStyle','-','Color','g')

set(plot2(3),'DisplayName','EBI','LineStyle',':','Color','b')

set(plot2(4),'DisplayName','SBI1','LineStyle','--','Color','g')

set(plot2(5),'DisplayName','SBI2','LineStyle','--','Color','b')

set(plot2(6),'DisplayName','Permitted','LineStyle','-','Color',[0.75 0.75 0.75])

set(plot2(7),'DisplayName','Warning','LineStyle','-','Color',[1 0.65 0])

set(plot2(8),'DisplayName','Indication','LineStyle','-','Color','y')

set(plot2(9),'DisplayName','V_MRSP','LineStyle','-','Color','m')

set(plot2(10),'DisplayName','V','LineStyle','-','Color','c')

set(plot2(11),'DisplayName','FLOI','LineStyle','-','Color','r')

legend('V_{EBD}','V_{SBD}','V_{EBI}','V_{SBI1}',...

'V_{SBI2}','V_P','V_W','V_I','V_{MRSP}','V','FLOI');

if V_P_Train1(end) == 0

error1 = V_target(end); % final target speed in km/hr

error2 = find(V_P_Train1 > error1);

x_max_index = error2(end);

x_max = 1.1*time_out(x_max_index + 1);

else

x_max = time_out(end);

end

xlim([0 x_max])

ylim([0 180])

xlabel('Time in Block Section (s)')

ylabel('Velocity (km/h)')

title3 = 'Train 1 ERTMS Velocity Profiles for Data Set ';

title4 = [title3 TrackData];

title(title4);

grid('on')

subplot(2,1,2);

plot3 = plot(time_out,d_Train1,'LineWidth',linewidth);

xlim([0 x_max])

xlabel('Time in Block Section (s)')

ylabel('Distance along Block Section (m)')

title('Train 1 Displacement');

grid('on')

end

Page 93: Modelling the European Train Control System: Braking and Supervision Curves

93

Train2

if plot_train2 == 1

figure

subplot(2,1,1); % top subplot

plot4 = plot(...

time_out, V_EBD_Train2,...

time_out, V_SBD_Train2,...

time_out, V_EBI_Train2,...

time_out, V_SBI1_Train2,...

time_out, V_SBI2_Train2,...

time_out, V_P_Train2,...

time_out, V_W_Train2,...

time_out, V_I_Train2,...

time_out, V_MRSP_Train2,...

time_out, V_Train2,...

time_out, FLOI_Train2,...

'LineWidth',linewidth);

set(plot4(1),'DisplayName','EBD','LineStyle','-','Color','b')

set(plot4(2),'DisplayName','SBD','LineStyle','-','Color','g')

set(plot4(3),'DisplayName','EBI','LineStyle',':','Color','b')

set(plot4(4),'DisplayName','SBI1','LineStyle','--','Color','g')

set(plot4(5),'DisplayName','SBI2','LineStyle','--','Color','b')

set(plot4(6),'DisplayName','Permitted','LineStyle','-','Color',[0.75 0.75 0.75])

set(plot4(7),'DisplayName','Warning','LineStyle','-','Color',[1 0.65 0])

set(plot4(8),'DisplayName','Indication','LineStyle','-','Color','y')

set(plot4(9),'DisplayName','V_MRSP','LineStyle','-','Color','m')

set(plot4(10),'DisplayName','V','LineStyle','-','Color','c')

set(plot4(11),'DisplayName','FLOI','LineStyle','-','Color','r')

legend('V_{EBD}','V_{SBD}','V_{EBI}','V_{SBI1}',...

Page 94: Modelling the European Train Control System: Braking and Supervision Curves

94

'V_{SBI2}','V_P','V_W','V_I','V_{MRSP}','V','FLOI');

xlim([0 x_max])

ylim([0 180])

xlabel('Time in Block Section (s)')

ylabel('Velocity (km/h)')

title3 = 'Train 2 ERTMS Velocity Profiles for Data Set ';

title4 = [title3 TrackData];

title(title4);

grid('on')

subplot(2,1,2);

plot5 = plot(time_out,d_Train2,'LineWidth',linewidth);

xlim([0 x_max])

xlabel('Time in Block Section (s)')

ylabel('Distance along Block Section (m)')

title('Train 2 Displacement');

grid('on')

end

Combined Data

if plot_combined == 1

figure

subplot(2,1,1); % top subplot

plot6 = plot(...

time_out, V_Train1,...

time_out, V_Train2,...

'LineWidth',linewidth);

set(plot6(1),'DisplayName','V_Train1','LineStyle','-','Color','b')

Page 95: Modelling the European Train Control System: Braking and Supervision Curves

95

set(plot6(2),'DisplayName','V_Train2','LineStyle','-','Color','g')

legend('V_{Train1}','V_{Train2}');

xlim([0 x_max])

ylim([0 180])

xlabel('Time in Block Section (s)')

ylabel('Velocity (km/h)')

title3 = 'ERTMS Velocity Profiles for Data Set ';

title4 = [title3 TrackData];

title(title4);

grid('on')

subplot(2,1,2);

plot7 = plot(time_out,d_Train1,...

time_out,d_Train2,...

time_out,d_critical,...

'LineWidth',linewidth);

set(plot7(1),'DisplayName','d_Train1','LineStyle','-','Color','b')

set(plot7(2),'DisplayName','d_Train2','LineStyle','-','Color','g')

set(plot7(3),'DisplayName','d_critical','LineStyle','-','Color','r')

legend('d_{Train1}','d_{Train2}','d_{critical}');

xlim([0 x_max])

ylim([0 max(d_line)])

xlabel('Time in Block Section (s)')

ylabel('Distance along Block Section (m)')

title('Train Displacement');

grid('on')

end


Recommended