Em 504 Dissertationa
Em 504 Dissertationa
Thomas Gibson
201113465
2015/2016
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 19 th 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.
2
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
3
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
4
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
5
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
6
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
MA Movement Authority
SR Staff Responsible
7
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.
Direction of Travel
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).
8
Semaphore Arm Semaphore Arm Red Light
Horizontal Raised Aspect
Stop Proceed Stop
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.
9
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.
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.
10
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].
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.
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.
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.
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.
14
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.
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 ability
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:
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.
15
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.
16
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.
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.
17
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.
EBD Foot
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.
18
The EBD curve, denoted dEBD in metres as a function of velocity, is calculated by the equation:
2
𝑉 2 −𝑉𝑡𝑎𝑟𝑔𝑒𝑡
𝑑𝐸𝐵𝐷 (𝑉) = m (1)
2𝐴𝑠𝑎𝑓𝑒 (𝑉,𝑑)
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)
𝑔𝑟𝑎𝑑
𝐴𝑔𝑟𝑎𝑑𝑖𝑒𝑛𝑡 = 𝑔 ∗ m/s2 for uphill gradients
1000+10∗𝑀𝑟𝑜𝑡𝑎𝑡𝑖𝑛𝑔_𝑚𝑎𝑥
𝑔𝑟𝑎𝑑
𝐴𝑔𝑟𝑎𝑑𝑖𝑒𝑛𝑡 = 𝑔 ∗ m/s2 for downhill gradients (4)
1000+10∗𝑀𝑟𝑜𝑡𝑎𝑡𝑖𝑛𝑔_𝑚𝑖𝑛
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.
19
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.
Where Aexpected(V,d) is the anticipated deceleration of the train under normal operation, given by:
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.
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:
𝑉𝑑𝑒𝑙𝑡𝑎1
𝐷𝑏𝑒𝑐 = 𝑚𝑎𝑥 {(𝑉𝑒𝑠𝑡 + 𝑉𝑑𝑒𝑙𝑡𝑎0 + ) , 𝑉𝑡𝑎𝑟𝑔𝑒𝑡 } 𝑇𝑡𝑟𝑎𝑐𝑡𝑖𝑜𝑛
2
𝑉𝑑𝑒𝑙𝑡𝑎2
+ (𝑚𝑎𝑥{(𝑉𝑒𝑠𝑡 + 𝑉𝑑𝑒𝑙𝑡𝑎0 + 𝑉𝑑𝑒𝑙𝑡𝑎1 ), 𝑉𝑡𝑎𝑟𝑔𝑒𝑡 } + ) 𝑇𝑏𝑒𝑟𝑒𝑚 m/s2 (9)
2
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.
20
The traction time, Ttraction, and remaining time, Tberem, are defined by the equations:
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.
Where Aest1 and Aest2 are the respective estimated accelerations during Ttraction and Tberem, as measured at the time
of calculation.
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.
21
The two SBI curves are calculated as:
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].
𝑑𝑊 (𝑉𝑒𝑠𝑡 ) = 𝑑𝑆𝐵𝐼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.
𝑑𝑃 (𝑉𝑒𝑠𝑡 ) = 𝑑𝑆𝐵𝐼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.
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.
22
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.
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.
23
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.
The value of permitted speed where dVebi starts to increase towards
Vebi_min 110
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.
The value of permitted speed where dVsbi starts to increase towards
Vsbi_min 110
dVsbi_max
Vsbi_max 210 The value of permitted speed where dVsbi reaches dVsbi_max
𝑑𝑉𝑒𝑏𝑖𝑚𝑎𝑥 −𝑑𝑉𝑒𝑏𝑖
𝑚𝑖𝑛
Where: 𝐶𝑒𝑏𝑖 = (23)
𝑉𝑒𝑏𝑖𝑚𝑎𝑥 −𝑉𝑒𝑏𝑖
𝑚𝑖𝑛
𝑑𝑉𝑠𝑏𝑖𝑚𝑎𝑥 −𝑑𝑉𝑠𝑏𝑖
𝑚𝑖𝑛
Where: 𝐶𝑠𝑏𝑖 = (26)
𝑉𝑠𝑏𝑖𝑚𝑎𝑥 −𝑉𝑠𝑏𝑖
𝑚𝑖𝑛
24
Warning Supervision Limit
When VMRSP > Vwarning_min:
𝑑𝑉𝑤𝑎𝑟𝑛𝑖𝑛𝑔𝑚𝑎𝑥 −𝑑𝑉𝑤𝑎𝑟𝑛𝑖𝑛𝑔
𝑚𝑖𝑛
Where: 𝐶𝑤𝑎𝑟𝑛𝑖𝑛𝑔 = (29)
𝑉𝑤𝑎𝑟𝑛𝑖𝑛𝑔𝑚𝑎𝑥 −𝑉𝑤𝑎𝑟𝑛𝑖𝑛𝑔
𝑚𝑖𝑛
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.
25
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.
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.
26
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.
Initialise
Main Script
Run
Fixed_Value_Data Auxiliary Script
Fixed_Value_Data
TrackData.xlsx
Run
ReadTrackData
ReadTrackData
TrainData.xlsx
Calculate Accelerations:
A_brake_safe
A_gradient
A_safe
A_expected
27
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.
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.
28
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.
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:
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.
29
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.
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
30
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.
200
180
EBD
160
SBD
140
EBI
120
SBI1
100 SBI2
Speed (km/h)
80 FLOI
60 Warning
Permitted
40
Indication
20
0
2500 2000 1500 1000 500 0
Distance from target (m)
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.
31
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.
32
Initialise
Main Script
Run
Fixed_Value_Data Auxiliary Script
Fixed_Value_Data
TrackData.xlsx
Run
ReadTrackData
ReadTrackData
TrainData.xlsx
Generalised braking
curves Run
Interpolate_1
Interpolate_1
Speed Dependent
Calculate braking Data
profiles
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.
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.
34
Speed EBD
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:
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.
Speed EBD
Actual target
location
EBI Ceiling Supervision Limit
Permitted Speed
V_EBD1
Train Distance
max(EBD_d) d_target_theory
35
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.
a.
b.
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.
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.
37
d(t)
VEBD(d)
Normal = 1
V(t)
VSBD(d) Emergency = 0 V(t) d(t)
A_safe(V,d)
VEBI(d) EBI Flag
A_expected(V,d)
VSBI1(d) SBI1 Flag
MATLAB: Integrated_Model_1.m
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.
38
Figure 31: Velocity profile output for the single train Simulink model.
Figure 32: Train displacement output for the single train Simulink model.
39
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.
MATLAB: Level_3_Model_1.m
delay1 delay2
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.
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.
41
Figure 35: Velocity and Displacement Profiles for Train 1.
42
Figure 37: Comparison of Velocity and Displacement Between Trains.
43
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.
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.
a. b.
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.
44
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.
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.
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.
45
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.
TSR =
60 km/hr
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.
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.
47
Figure 43: Displacement plot for TrackData5.xlsx with TSR of 60 km/hr set between 3 km and 4 km.
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.
48
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.
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.
49
Figure 47: Demonstration of EBI when approaching a target.
50
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.
a.
b.
c.
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
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.
52
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.
53
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
54
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.
55
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].
[3] ERTMS, “ERTMS | The European Railway Traffic Management System,” Oxalis, 2013. [Online]. Available:
http://www.ertms.net/. [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].
[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].
[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].
56
[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].
57
9. Appendix
9.1. Train Datasets
9.1.1. TrainData1.xlsx
1.4
1.2
Decceleration (m/s/s)
Correction Factor /
0.8
0.6
0.4
0.2
0
0 50 100 150 200
Train Speed (km/hr)
Kdry_rst Kwet_rst A_brake_emergency
58
9.2. Track Datasets
9.2.1. TrackData1.xlsx
200
150
V_MRSP (km/hr)
100
50
0
0.00 500.00 1000.00 1500.00 2000.00 2500.00
-50
Distance (m)
0
0.00 500.00 1000.00 1500.00 2000.00 2500.00
-2
-4
Gradient ‰
-6
-8
-10
-12
Distance (m)
59
9.2.2. TrackData2.xlsx
180
160
140
V_MRSP (km/hr)
120
100
80
60
40
20
0
0.00 1.00 2.00 3.00 4.00 5.00
Distance (km)
0
0.00 1.00 2.00 3.00 4.00 5.00
-2
-4
Gradient ‰
-6
-8
-10
-12
Distance (km)
60
9.2.3. TrackData3.xlsx
MRSP km/h
180
160
140
V_MRSP (km/hr)
120
100
80
60
40
20
0
0.00 1.00 2.00 3.00 4.00 5.00
-20
Distance (km)
0
0.00 1.00 2.00 3.00 4.00 5.00
-2
-4
Gradient ‰
-6
-8
-10
-12
Distance (km)
61
9.2.4. TrackData4.xlsx
180
160
140
120
V_MRSP (km/hr)
100
80
60
40
20
0
0.00 1.00 2.00 3.00 4.00 5.00
-20
Distance (km)
0
0.00 1.00 2.00 3.00 4.00 5.00
-2
-4
Gradient ‰
-6
-8
-10
-12
Distance (km)
62
9.2.5. TrackData5.xlsx
180
160
140
V_MRSP (km/hr)
120
100
80
60
40
20
0
0.00 1.00 2.00 3.00 4.00 5.00
Distance (km)
0
0.00 1.00 2.00 3.00 4.00 5.00
-2
-4
Gradient ‰
-6
-8
-10
-12
Distance (km)
63
9.2.6. TrackData6.xlsx
180
160
140
V_MRSP (km/hr)
120
100
80
60
40
20
0
0.00 1.00 2.00 3.00 4.00 5.00
Distance (km)
0
0.00 1.00 2.00 3.00 4.00 5.00
-2
-4
Gradient ‰
-6
-8
-10
-12
Distance (km)
64
9.2.7. TrackData7.xlsx
200
180
160
V_MRSP 140
120
100
80
60
40
20
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Distance (km)
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
-2
-4
Gradient ‰
-6
-8
-10
-12
Distance (km)
65
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
% 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);
66
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
67
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
Track_Data = xlsread(TrackData,1,'A:C');
Train_Data = xlsread(TrainData,1,'A:G');
% 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)
68
9.4. MATLAB Code
Published with MATLAB® R2015b
% 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
INITIALISE
clear
clc
T_bs1 = T_bs; %s
T_bs2 = T_bs; %s
V_delta1 = A_est1*T_traction;
V_delta2 = A_est2*T_berem;
69
end
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
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
70
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
%Pre-Indication Point
d_preindication = max(I) + (V_initial/3.6)*T_preindication;
71
FLOI1 = max(SBI1,SBI2);
FLOI = max(FLOI1,EBI); % First Line of Intervention
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')
72
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
73
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
INITIALISE
clear
clc
TrackData = 'TrackData3.xlsx';
TrainData = 'TrainData1.xlsx';
ReadTrackData % Pre-defined track data
74
%
%
% V_MRSP = min(V_line,V_TSR1); % Temporary Speed Restrictions (TSRs) set here
% If no TSRs
V_MRSP = V_line;
Train1_Delay = 0;
V_entry = 100/3.6; % m/s
d_entry = 0; % m
T_bs1 = T_bs; %s
T_bs2 = T_bs; %s
V_delta1 = A_est1*T_traction;
V_delta2 = A_est2*T_berem;
n = 0;
d_target_index = zeros;
Main Code
75
d_target_index(n) = length(V_MRSP);
end
Jump to scripts
% 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
% 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;
76
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
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)')
77
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
78
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
% This is a section of the script BrakingCurves.m, also developed for this project
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
end
79
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.
%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
80
%Calculate braking curves find(V_ref == V_Target):length(V_ref)
for v = 1:length(V_ref)
V(v) = V_ref(v);
I(v)=P(v)+(V(v)/3.6)*T_indication;
end
%Pre-Indication Point
d_preindication = max(I) + (V_initial/3.6)*T_preindication;
81
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
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');
82
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)
% This file is an extention to the file BrkingCurves.m developed for this project
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;
if V_Target == 0
curve_type = 0; % End of movement authority (EOA)
83
else
curve_type = 1; % Limit of movement authority (LOA)
end
% 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)))));
84
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
end
85
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
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
86
87
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)
% 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
INITIALISE
clear
clc
TrackData = 'TrackData7.xlsx';
TrainData = 'TrainData1.xlsx';
ReadTrackData % Pre-defined track data
88
% 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;
% 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)
T_bs1 = T_bs; %s
T_bs2 = T_bs; %s
n = 0;
d_target_index = zeros;
Main Code
89
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
% 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
% Run Simulation
sim('Integrated_Model_3_Sim.slx')
% Time Array
time_out = Braking_Curves_Train1.time;
% Displacement Array
90
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);
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,...
91
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
92
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}',...
93
'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')
94
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
95