intelligent communication for future automobile...
TRANSCRIPT
INTELLIGENT COMMUNICATION FOR FUTURE AUTOMOBILE NETWORKS
by
RADOVAN MIUCIC
DISSERTATION
Submitted to the Graduate School
of Wayne State University,
Detroit, Michigan
in partial fulfillment of the requirements
for the degree of
DOCTOR OF PHILOSOPHY
2009
MAJOR: COMPUTER ENGINEERING
Approved by:
______________________________
Advisor Date
______________________________
______________________________
______________________________
______________________________
© COPYRIGHT BY
RADOVAN MIUCIC
2009
All Rights Reserved
ii
DEDICATION
I dedicate this work to my family and friends.
iii
ACKNOWLEDGMENTS
My foremost thank goes to my dissertation adviser Dr. Syed Masud Mahmud. Dr.
Mahmud's courses and research in embedded engineering inspired my carrier
orientation and interest for PhD work. His patience, valuable feedback, insights and
suggestions contributed greatly to this dissertation. I thank him for encouragement that
carried me on through harsh times. Because of his skills, patience, and easily being
able to get hold of I will always recommend Dr. Mahmud to anyone who wishes to
pursue an advance degree in electrical or computer engineering. In addition, I would like
to thank Dr. Pepe Siy, Dr. Harpreet Singh, and Dr. Sheran Alles for being members of
my PhD dissertation committee.
My gratitude also goes to my parents for their unlimited support and inspiration.
Without their support and guidance my academic achievements would not be possible.
iv
TABLE OF CONTENTS
LIST OF FIGURES .................................................................................................. viii
LIST OF TABLES .................................................................................................... xi
CHAPTER 1. INTRODUCTION ............................................................................. 1
CHAPTER 2. BACKGROUND MATERIAL ............................................................ 5
2.1. Multicast data dissemination ............................................................................ 5
2.1.1. Embedded Software Update in Automobile Today ..................................... 6
2.1.1.2. Disadvantages of the Wire-Based Reprogramming Process................... 7
2.1.1.3. Advantages in the Wire-Based Reprogramming Process ....................... 8
2.2. Vehicle network Data Reduction ...................................................................... 9
2.2.1. Data Reduction (DR) ................................................................................ 13
2.2.2. Adaptive Data Reduction (ADR) ............................................................... 15
2.2.3. Improved Adaptive Data Reduction (IADR) .............................................. 17
2.3. Distributed Technique for Remote Programming ........................................... 18
2.4. Dedicated Short Range Communication ........................................................ 20
2.4.1. DSRC Overview ....................................................................................... 23
2.4.2. Existing Studies Addressing Channel Characteristics .............................. 26
CHAPTER 3. AN ALGORITHM FOR REMOTE SOFTWARE UPDATE IN INTELLIGENT VEHICLES ............................................................. 29
3.1. Firmware over the Air ..................................................................................... 29
3.2. Wireless Unicasting vs. Multicasting .............................................................. 30
3.3. Vehicle Wireless Technologies....................................................................... 30
3.4. Infrastructure Components ............................................................................. 31
3.4.1. Central Server .......................................................................................... 31
3.4.2. Regional Manager, Towers and Connections........................................... 32
3.5. Vehicle Hardware ........................................................................................... 32
v
3.5.1. Telematics Control Unit ............................................................................ 32
3.5.2. Memory Buffer .......................................................................................... 33
3.6. Remote Software Update ............................................................................... 33
3.6.1. Downloading ............................................................................................. 33
3.6.2. Reprogramming ........................................................................................ 34
3.6.3. Verification................................................................................................ 35
3.6.4. Security .................................................................................................... 36
3.6.5. Error Detection and Correction ................................................................. 36
3.7. Simulation Description, Results and Discussion............................................. 37
3.7.1. Inputs Description ..................................................................................... 37
3.7.2. Outputs Description .................................................................................. 38
3.8. Simulation Scenarios ...................................................................................... 38
3.9. Simulation Results .......................................................................................... 41
3.9.1. Number of towers actively broadcasting ................................................... 41
3.9.2. Time duration for programming vehicles .................................................. 41
3.9.3. Unprogrammed vehicles in coverage area ............................................... 42
3.10. Analysis of the two scenarios ......................................................................... 42
CHAPTER 4. AN ENHANCED DATA REDUCTION (EDR) ALGORITHM FOR EVENT-TRIGGERED NETWORKS ............................................... 47
4.1. Signal Types and Signal Reduction Mechanisms .......................................... 48
4.2. Summary of Signal Representations in the EDR Algorithm ............................ 52
4.3. EDR Message Encoding and Decoding Algorithms ....................................... 53
4.4. Cost OF EDR Algorithm ................................................................................. 56
4.5. Impact of EDR Algorithm on Message Latency .............................................. 58
4.5.1. Synchronization ........................................................................................ 60
4.5.2. Handling of Initial Transients .................................................................... 63
vi
4.5.3. Adaptation of EDR Algorithm to other In-Vehicle Buses ........................... 64
4.6. Advantages of EDR Algorithm compared to other existing Data Reduction Algorithms for Vehicular Applications ............................................................. 65
4.6.1. Advantages of EDR compared to DR ....................................................... 65
4.6.2. Advantages of EDR compared to ADR .................................................... 67
4.6.3. Advantages of EDR compared to IADR ................................................... 68
4.7. PERFORMANCE ANALYSIS ......................................................................... 68
4.7.1. CAN Protocol ............................................................................................ 68
4.7.2. Theoretical Analysis of the EDR Algorithm ............................................... 70
4.8. Simulation, Test Results and Discussion ....................................................... 76
4.8.1. Test Methodology ..................................................................................... 76
4.8.2. Test of Real-Life Message Logs ............................................................... 77
4.8.3. Test of Artificially Created Message Logs ................................................ 80
CHAPTER 5. DISTRIBUTED TECHNIQUE FOR REMOTE PROGRAMMING ... 86
5.1. Bootloader ...................................................................................................... 86
5.2. Description of the current reprogramming process ......................................... 86
5.3. Proposed Implementation .............................................................................. 88
5.4. Feasibility Study ............................................................................................. 92
CHAPTER 6. EXPERIMENTAL CHARACTERIZATION OF THE DEDICATED SHORT RANGE COMMUNICATION ............................................. 96
6.1. Interference Model Based on Two-Ray Ground Reflection ............................ 96
6.2. Diffraction ..................................................................................................... 107
6.3. Scattering and Surface Roughness Consideration ....................................... 107
6.4. Experimental Method ................................................................................... 108
6.4.1. Experimental Vehicles ............................................................................ 108
6.4.2. Experimental Setting .............................................................................. 111
vii
6.4.3. Experimental Procedure ......................................................................... 111
6.4.4. Data Logging and Processing ................................................................ 112
6.5. Experimental Results ................................................................................... 112
6.6. Null-Point Prediction Application to Experimental Data ................................ 113
6.6.1. Analysis Author’s Experimental Data ..................................................... 114
6.6.2. Analysis of VII-C Open Area Test ........................................................... 114
6.6.3. Analysis of VSC Open Area Test ........................................................... 116
6.6.4. Analysis of Breakpoints from Masui, Kobayashi and Akaike .................. 117
6.6.5. Analysis of Critical distance from Cheng, Henty, Stancil, Bai, and Mudalige ............................................................................................................... 118
CHAPTER 7. CONCLUSION ............................................................................. 120
ACRONYMS ................................................................................................. 122
REFERENCES ................................................................................................. 126
ABSTRACT ................................................................................................. 136
AUTOBIOGRAPHICAL STATEMENT ......................................................................... 137
viii
LIST OF FIGURES
Figure 1: The First Message and the Consequent Reduced Message of the DR Algorithm. ..................................................................................................... 15
Figure 2: The First Message and the Consequent Reduced Message of the ADR Algorithm [40]. .............................................................................................. 15
Figure 3: The First Message and the Consequent Reduced Message of the IADR Algorithm [20]. .............................................................................................. 17
Figure 4: a) FCC-allocated DSRC spectrum b) channels 172 through 184 are separated into six Service Channels (SCHs) and one control channel (CCH) c) Extraction of sub-carriers of the channel 172 (Pi denotes pilot and dj denotes data sub-carriers). ........................................................................................ 24
Figure 5: DSRC power level and use plan .................................................................... 25
Figure 6: Data content byte-by-byte of the current SAE J2735 Basic Safety Message . 26
Figure 7: Wireless Infrastructure Overview. Note That Unicasting And Multicasting Can Be Different Channels Of A Single Cellular Tower (i.e., MT And UT Can Be One Tower). ................................................................................................. 31
Figure 8: Software downloading: wireless communication from a tower to a vehicle .... 35
Figure 9: Software reprogramming: wired transfer of the software from TCU to the targeted ECU. .............................................................................................. 36
Figure 10: Greater Michigan map .................................................................................. 39
Figure 11: Representation of the tower arrangement in the Greater Michigan area. ..... 39
Figure 12: Scenario A: Number of towers actively broadcasting vs. time as the size of the retransmit buffer varies. ......................................................................... 43
Figure 13: Scenario B: Number of towers actively broadcasting vs. time as the size of the retransmit buffer varies. ......................................................................... 44
Figure 14: Scenario A: Number of programmed vehicles vs. time as the size of the retransmit buffer varies. ............................................................................... 44
Figure 15: Scenario B: Number of programmed vehicles vs. time as the size of the retransmit buffer varies. ............................................................................... 45
Figure 16: Scenario A: Number of unprogrammed vehicles in coverage area .............. 45
Figure 17: Scenario B: Number of unprogrammed vehicles in coverage area .............. 46
ix
Figure 18: Two examples of Vehicle Speed Signal and Its Delta Representation. ........ 50
Figure 19: An example of the original message and its mask with SDN and SN type groupings. .................................................................................................... 51
Figure 20: An example of the original message and its mask with only SN type groupings. .................................................................................................... 52
Figure 21: An example of the Data Field of a Reduced Message. ................................ 55
Figure 22: Flowchart of EDR message encoding algorithm. ......................................... 56
Figure 23: Flowchart of EDR message decoding algorithm. ......................................... 57
Figure 24: Example of a Message with an 8-Bit Signal. ................................................ 65
Figure 25: Example of Signal Behavior and Signal Representation in EDR and DR. .... 66
Figure 26: Data frame. .................................................................................................. 69
Figure 27: The Data Frame of a CAN Message. ........................................................... 69
Figure 28: Performance Improvement vs. Signal Type Probability for a Message Containing a 64-Bit Long Signal. Note that ),(),(1),( jiPjiPjiP DSNCES −−= . ........ 75
Figure 29: Performance Improvement vs. Signal Type Probability for a Message containing twelve 5-bit Signals and one 4-Bit Signal. Note that
),(),(1),( jiPjiPjiP DSNCES −−= . ............................................................................ 76
Figure 30: Performance Comparison of EDR Considering All Messages (Test1) and the Most Frequent Messages (Test2). ............................................................... 79
Figure 31: Comparison of EDR, ADR, IADR, DR and Uncompressed Bus Utilization for the Real-Life Message Log. ......................................................................... 80
Figure 32: Number of Bytes Saved vs. Signal Type Probability for EDR, DR, IADR, and ADR Algorithms. ........................................................................................... 83
Figure 33: BU Comparison Between Uncompressed and EDR Traffic for Varying Number of Messages. .................................................................................. 84
Figure 34: Typical Execution Flow of Embedded Software in ECU ............................... 86
Figure 35: Current typical reprogramming session. ....................................................... 88
Figure 36: Proposed Reprogramming Session part 1 ................................................... 90
Figure 37: Proposed Reprogramming Session part 2 ................................................... 91
x
Figure 38: Proposed Reprogramming Session part 3 ................................................... 92
Figure 39: Programmer Connected to the Vehicle Serial Bus ....................................... 94
Figure 40: Illustration of: a) two-ray propagation between the two vehicle and b) method of images to find the path difference between the LOS and NLOS component. .................................................................................................. 98
Figure 41: Absolute real value of reflection coefficient for vertical and horizontal polarization for εr = 25. Brewster angle is 78.50. .......................................... 99
Figure 42: Polarization by reflection ............................................................................ 100
Figure 43: Illustration of energy propagation from the antenna mounted on vehicle’s roof. ............................................................................................................ 102
Figure 44: Surface roughness protuberances ............................................................. 108
Figure 45: Hardware added to trunk to convert original vehicle into experimental vehicle. ................................................................................................................... 109
Figure 46: DSRC and GPS antennas mounted on vehicle roof. .................................. 110
Figure 47: Logical blocks of vehicle equipment. .......................................................... 110
Figure 48: Location of the open area test. Open road with 55 mph speed limit ........... 111
Figure 49: Visualization of two vehicles approaching each other in the opposite direction. .................................................................................................... 112
Figure 50: RSSI versus separation distance for two vehicles approaching each other on open road. .................................................................................................. 113
Figure 51: VIIC test setup ............................................................................................ 115
Figure 52: VII Project: Relative average RSSI vs distance between transmitter and receiver. Predicted points d0, d1, and d2 are for the ht = 5 m and hr = 1.47 m. Reproduced from [68] with critical distance marking superimposed for this dissertation. (Note that RSSI in this figure is a relative value not expressed in dBm.) ......................................................................................................... 116
Figure 53: VSC Project: Relative average RSSI vs distance between transmitter and receiver. Predicted points d0 and d1, are for the ht = 3.04 m and hr = 1.45 m. Reproduced from [74] with null points marking added. (Note that RSSI in this figure is a relative value not a dBm.) .......................................................... 117
xi
LIST OF TABLES
Table I: Selected DSRC Physical Layer Parameters..................................................... 24
Table II: Summary of characteristics of the DSRC, Satellite, and Cellular characteristics ..................................................................................................................... 30
Table III Configurable Inputs to the Simulator ............................................................... 40
Table IV Output parameters of the simulator ................................................................. 40
Table V Simulation input values .................................................................................... 41
Table VI 90% completely programmed vehicles threshold ............................................ 46
Table VII Delta Span versus Signal Size ....................................................................... 50
Table VIII Worst-Case Computation Time to Encode a Signal using EDR Algorithm .... 58
Table IX Worst-Case Computation Time to Decode a Signal using EDR Algorithm. .... 59
Table X Maximum number of bits in a Standard ID (11 bit) CAN message ................... 71
Table XI Possible ),,( jitSL Values ........................................................................... 72
Table XII Configuration of the Messages Used in the Analysis. (Messages marked with "*" are the biggest contributors to bus utilization.) ........................................ 78
Table XIII Message Configuration ................................................................................. 81
Table XIV Number of reduced messages per second for different signal type probability. ..................................................................................................................... 82
Table XV -Programmer's time saved ............................................................................. 95
Table XVI - Notation ...................................................................................................... 96
Table XVII Predicted null points, incident angles in degrees and reflection coefficients for vertical and horizontal polarization for hr = ht = 1.45 m ........................ 106
Table XVIII: DSRC and GPS Component Specifics .................................................... 110
Table XIX: Null point predictions for low (hr =1.47 m) and high (hr= 1.78 m) profile vehicles and transmitter antenna heights ht=5 m. ...................................... 115
Table XX Masui Data Breakpoints ............................................................................. 118
1
CHAPTER 1.
INTRODUCTION
With every new model vehicle, functionality continues to increase in computation
complexity. Software size in the vehicle continues to grow. With an increase in software
size, ability to modify and change the original software becomes a necessity for
automotive companies. Traditionally and currently, automotive companies update
software in the vehicle using old-fashioned, hand-held, wired programmer. Advances in
the wireless communication technologies have allowed a new approach in updating in-
vehicle software. This work presents a unique proposal to manage software download
using wireless communication. In addition, this work presents improvements in the in-
vehicle network for efficient distribution of data required by software modules of various
electronic control units (ECUs). Also, this work examines channel characteristics of the
wireless protocol, commonly known as Dedicated Short Range Communication
(DSRC), for automotive usage such as software uploads, safety and other telematics
applications.
There are numerous reasons for reprogramming vehicle ECUs. New software
may remove bugs, improve performance and durability, solve problems, introduce new
features, etc. Reprogramming ECUs wirelessly saves time and if widely accepted it has
potential to reduce cost. There are numerous examples in literature for wireless
reprogramming methods applied to sensor networks [1], [2], [3] and [4]. Most of the
previous work envisions updating sensors using a single or multiple hops unicasting
packet delivery. This is because sensor nodes are low power limited communication-
range wireless nodes. For commercial and passenger vehicles, energy conservation is
2
less demanding than for sensor networks and therefore vehicle can enjoy a bit longer
communication range. This dissertation assumes radio communication of ranges of 300
m to several kilometers. In 2001 Bromley, et al filed a general-purpose patent [5] for
system, method and computer program product for remote vehicle diagnostics,
monitoring, configuring and reprogramming. The patent vaguely describes wireless
module but does not discuss the infrastructure needed for complete reprogramming.
Unlike currently employed wire based reprogramming this dissertation describes a
concept idea of wireless reprogramming based on multicasting software packets to the
specific moving vehicles in need of software update. Envisioned system is composed of
central server that controls regional managers connected to wireless towers. Software
flows from central server to regional managers via wire, optical or high-speed wireless
network. Finally, the software is delivered to the vehicles via wireless protocol.
Existing in-vehicle networks such as Controller Area Network (CAN) are reaching
bandwidth limits because of ever increasing needs for communication. This limitation
may become a bottleneck for reprogramming. One solution is to switch to a higher
speed in-vehicle network. Another may be to add additional CAN networks in vehicle.
Both mentioned solutions result in increase in cost and complexity. Data reduction
technique offers great benefit for better utilizing the existing bandwidth for the portion of
the cost of the two solutions mentioned earlier. There are several data reduction
techniques in literature. Misbahuddin’s et al [36] suggested general data reduction
technique based on repeatability of data bytes in a message. Ramteke et al [40] in his
paper proposes data reduction technique based on signal stability. Both algorithms are
designed to work with the CAN [41] but can be applied to any serial protocol. This
3
dissertation proposes improvements of the two data reduction protocols such as
introducing innovative way to detect data-reduced message by examining its length and
eliminating initial transient bus-load peaks by prioritizing timing of the initial messages.
Bootloader is an important part of every embedded system. An ECU generally
consists of an operating software and a bootloader. A bootloader is the resident
software in the ECU that facilitates reprogramming of the operating software.
Bootloader is generally programmed in during the manufacture of an ECU and never
erased, not even when the operating software is being reprogrammed. A modern
bootloader in an ECU consumes the available resources (memory, processor,
networks) of that particular ECU. Examples of bootloaders are described in [6] and [7].
Unlike typical a bootloader that uses one ECU’s memory, this dissertation proposes
novel approach of using memory resources of all available ECUs on in-vehicle network.
The ECU that is being reprogrammed (targeted ECU) queries other ECUs on the in-
vehicle network for availability of their resources (RAM). The targeted ECU then
instructs available ECUs to collect arriving software packets (in RAM) while the targeted
ECU performs lengthy memory (flash) erase and necessary preparations. By
distributing workload and employing many ECUs among participants, this solution saves
time for download.
Dedicated Short Range Communication (DSRC) has gain momentum as the
wireless protocol of choice for vehicle-to-vehicle and vehicle-to-infrastructure
communications. As a potential link for software reprogramming, it is important to
understand the wireless protocol behavior in the mobile vehicular environments.
Meyers, in his Masters' dissertation [8], presents channel characterization of DSRC in
4
suburban driving environment. Ching et al in [9] discusses tunnel propagation channel
characterization of Japanese version of the DSRC. This dissertation extends the
characterization of the DSRC by focusing on the ground reflection effect on the protocol.
Experimental and theoretical results are discussed.
This dissertation is organized as follows. Chapter 1 presents an introduction.
Chapter 2 presents background material. This material covers the work that has been
done for wireless software update. It also includes an overview of the data reduction
protocols for in vehicle networks, followed by an overview of the DSRC protocol.
Chapter 3 presents, in detail, an algorithm for remote software update. Chapter 4
presents an enhanced data reduction algorithm along with experimental and simulation
results showing advantage of the data reduction algorithm. Distributed boot-loading
technique is described in Chapter 5. Experimental characterization of the DSRC and
theoretical analysis are given in Chapter 6. Finally, conclusion is presented in Chapter
7.
5
CHAPTER 2.
BACKGROUND MATERIAL
In recent years, the multicast communication has become necessary in a variety
of mobile services, such as video and audio sharing, software update distribution and
news. A part of this dissertation work presents an overview of wireless multicast routing
concepts and describes a solution for providing multicast content distribution applicable
for software updates with automotive industry.
2.1. MULTICAST DATA DISSEMINATION
Recent studies show great interest in hybrid wireless systems combining different
radio access networks (RANs) to provide efficient data services to mobile users [10]
[11][12]. Keller et al [10] discussed synergy of different RANs. The overall
communication infrastructure consists of many RANs. The type of needed service will
influence the decision on which RAN to use for that particular wireless transmission.
Multicasting intuitively best fits a digital radio broadcasting carrier, digital audio
broadcasting (DAB), digital video broadcasting (DVB) or a multicast capable cellular
channel. Unicasting intuitively belongs to cellular networks such as GSM, IS-95, or IS-
136 (D-AMPS) [13].
Munaka et al [11] presented the Advanced-Joint System for data multicasting in
intelligent transportation system (ITS). This multicast methodology is based on
disseminating data that are location dependent. If a vehicle is in the tower's coverage
area, then that vehicle is a part of the tower’s multicast group. When the vehicle moves
to a different tower, the vehicle will join the next multicast group. The base station that
keeps track of multicast groups will predict, based on the history of the vehicle
6
movement, which multicast group the moving vehicle is likely to join. The current
multicast group will send a preparation message via the wired network to the next
multicast group in the vehicle's path. This additional information is to reduce packet loss
due to coverage handoff and the lack of group membership.
Synergy of unicasting and broadcasting infrastructures into one system is
intuitively justified by two reasons. First, unicasting is an inefficient and very costly
method to deliver common content to many users by point-to-point connections, as in a
traditional cellular system. Second, it is also inefficient to engage multicasting over a
large area for the communication to only a few users. Multicasting is justified when the
number of recipients is very large. Following the same logic, according to Bria [14],
cellular unicasting is a better alternative when number of users is small.
The motivation for proposing remote software upload consists of the desire to
save customers’ and technician’ time, increase customer satisfaction, lower the cost of
software recalls, improve management of the software delivery method, and bring
already existing wireless data delivery technologies into the automotive industry.
2.1.1. EMBEDDED SOFTWARE UPDATE IN AUTOMOBILE TODAY
Software update is usually performed as recall (mandatory or voluntary) or during
scheduled maintenance. The following list illustrates a typical wire-based software recall
in the automotive industry.
2.1.1.1. WIRE-BASED PROCESS STEPS
1. Initially, a vehicle manufacturer finds a problem with vehicle functionality. The
erroneous functionality can be fixed by changing software in one of the vehicle’s
electronic control units (ECU).
7
2. The vehicle manufacturer requests appropriate ECU supplier to provide a new
software release. The manufacturer then tests the software release for quality
assurance and compatibility.
3. The manufacturer notifies the dealers and the owners of the recall via mail. The
manufacturer sends the new version of the software to the dealers on a CD.
4. The owner drops off the vehicle at the dealership.
5. A technician, using serial communications, (a) updates a reprogramming tool with
the content from the CD; (b) connects the tool to the intra-vehicle bus to access
targeted ECU; (c) transfers the software to the targeted ECU; and (d) checks for
downloaded software version and proper functionality.
6. Finally, the customer picks up the updated vehicle.
7. The dealer charges the manufacturer for the recall labor.
2.1.1.2. DISADVANTAGES OF THE WIRE-BASED REPROGRAMMING
PROCESS
The disadvantages come from physical distribution and manual update process.
A manufacturer distributes ECU software updates to all dealers on CDs. This takes time
and resources. It causes delay in getting the latest software to the vehicles. In addition,
all dealers need to maintain resource consuming software version library. It may take
long time from the time the customer is notified to the time the vehicle is actually
updated. Many customers do not respond to the recall notices. Conducting successful
recall depends on the customer cooperation. The download process as well as the
manual setup takes time resulting in increase of overall vehicle costs inconvenience and
customer dissatisfaction. Manual process cannot be scaled or performed in parallel
8
because it involves physical connections. With a recall notice the customer becomes
aware of the problem and overall customer satisfaction decreases.
2.1.1.3. ADVANTAGES IN THE WIRE-BASED REPROGRAMMING
PROCESS
The existing reprogramming method has few advantages over the suggested
wireless method. It will take few years until wireless methodology becomes widely an
adopted solution for the automotive industry. It will take time for a vehicle owner to get
used to getting improvements without a physical service at a dealership. Currently, a
technician reprograms an ECU in the controlled environment. The vehicle is not moving
and it is under constant supervision of the technician. Any problem that may occur has
more chances to be detected immediately. The current methodology is proven and it
has worked in the past. Vehicle wired serial communication protocols and algorithms for
reprogramming are proprietary and closed source by nature. As such, protocols provide
added layer of security against unauthorized software changes.
In this dissertation work author presents vehicular software distribution network
as wireless network where vehicles are connected to the software distributors through
base stations.
As functionality of vehicles increases in complexity, the demands on the in-
vehicle networks increase as well. Maximum bus utilization often becomes the
communication bottleneck. One way to satisfy the high bandwidth requirement for future
vehicles is to use a higher bandwidth bus or multiple buses. However, the use of a
higher bandwidth bus increases the cost of the network. Similarly, the use of multiple
buses increases the cost as well as the complexity of wiring and network handling. Both
9
options are becoming solutions to the high bandwidth demand. An alternative option is
the development of a higher layer protocol that uses data reduction techniques to
reduce the amount of data to be transferred. Its goal is to communicate the same
amount of information using less bus bandwidth. It would be acceptable provided that it
does not increase the message latencies significantly so that the safety of the vehicle is
not compromised. The cost of the protocol is expected to be marginal because it
consists of one-time changes to software. Various data reduction algorithms are
available in the literature, but data reduction technology has not been widely introduced
in in-vehicle protocol standards. This paper presents a unique data reduction
methodology, along with its comparison with other proposed methodologies. The
performance of this new data reduction algorithm is found to be better than that of the
existing data reduction algorithms for a wide range of signal dynamics. The cost as well
as the impact of this protocol on the end-to-end message latency has been found to be
very marginal.
2.2. VEHICLE NETWORK DATA REDUCTION
Over the years, as the number of vehicular electronic components increased
significantly, vehicle multiplexing evolved due to the need for better wiring, diagnosis,
reliability and lower cost. The need for vehicle multiplexing was predicted as early as
1976 [10]. Lupini presented need and advantages of vehicle multiplexing [24]. Lupini
also presented issues related to designing vehicle multiplexing systems and future
trends in the area [25]. Appropriate development tools are also necessary to design and
maintain a network system. Wolfhard [26] presented a detailed description of network
development tools, their characteristics and handling procedures. Computer simulation
10
technique is also a vital tool to study the behavior of a proposed network system and
study the performance of some alternative network design [27]. As the number of
electronic components grows in a system, the probability of system malfunction due to a
faulty component increases as well. Masrur [28] proposed a fault-tolerant multiplexing
network architecture and compared the reliability and cost of the fault-tolerant system
versus those of a non-fault-tolerant system.
During the last three decades, various networking protocols were proposed for
vehicle multiplexing. However, at present CAN (Controller Area Network) is the most
popular protocol and it is widely used. Wolfhard [29] presented valuable information
about CAN protocol, its application layer design, CAN chip implementation and CAN
testing technique. LIN protocol is also used for low-cost and low-speed networks.
Various suppliers are manufacturing Electronic Control Units (ECUs) with built-in CAN
and LIN controllers. Sometimes interpretation of protocol specifications by various
suppliers may be slightly different. Therefore, interoperability of distributed ECUs is
risky. Conformance tests are necessary to reduce the risk of lacking interoperability
among cooperative ECUs. Wolfhard [30] described the process for related conformance
tests and presented the implementation architecture.
As different features such as telematics, multimedia, X-by-wire, etc. are being
added to vehicles, future vehicles will need various types of networks with various types
of protocols. Lupini [31] predicts that at least eight in-vehicle networks may be
necessary mainly on high-end vehicles in the next ten years. Interconnecting those
various types of networks will also be a challenge.
Kassakian and Perreault noted in 2001 [32] that there are up to 70 ECUs
11
scattered throughout the vehicle. Numerous ECUs in today’s vehicles are exchanging
an ever-increasing amount of information. These demands are reaching the bandwidth
limitations of the existing in-vehicle networks. Potential solutions are increasing the
bandwidth of existing buses or using multiple buses. Although these solutions are
effective, they necessarily increase the network cost and complexity. An alternative
solution that comes with a negligible cost increase is the use of a data reduction
technique. Data reduction uses algorithms to represent information more efficiently, thus
using less bus bandwidth to exchange the given amount of information. The cost
increase is negligible because it is limited to one-time software development.
To find an effective data reduction method for in-vehicle networks, it is necessary
to understand the nature of the information flow. Numerous modules connected to the
bus handle distributed functionalities of the vehicle. Modules send measurements of
their internally connected sensors, status of their actuators, states of operation, and so
forth. Generally, messages are periodic or event based. Periodic messages are
transmitted at a fixed time intervals. Event based messages are transmitted on event
occurrences. Frequent periodic and event based messages contribute the most to the
bus utilization. Therefore, author will focus on reducing the data of the most frequent
messages.
The amount of data can be reduced in several ways. In the case of a vehicle
traveling on the highway, the vehicle speed varies very little. Thus, the electronic
module responsible for sending the vehicle speed can send only one bit instead of the
actual speed to inform the recipients when the speed does not change. Similarly, when
the change in speed is very small, the electronic module can send only the amount of
12
change using a few bits, rather than the actual speed using many bits. The protocol can
also be made adaptive by allowing it to select different message formats for different
conditions of the parameter. For example, when the vehicle speed is changing slowly
with respect to time, the message format can be different from the format when the
vehicle speed is changing rapidly.
Data reduction is not only useful in production vehicles, but in development
environment as well. For example, data reduction can be applied in data acquisition
tools that use CAN Calibration Protocol (CCP) [33] to reduce the number of messages
and bus utilization. The advantages for resulting tools are increased data rate and ability
to monitor more parameters. Examples of CCP instrumentation tools are Vector’s
CANape [34] and ATI’s Vision [35] software.
This work explains in detail a new algorithm that utilizes these ideas and
compares its performance with earlier attempts at in-vehicle data reduction. The
performance of this algorithm has been found to be significantly better than that of the
previous algorithms.
The transmission and reception of messages in all data reduction techniques
work as follows: Consider a node sending a periodic message with the ID M every T
milliseconds. The sending node stores all signals at the designated transmitting buffer
TX[M] for message M. The first message M going on the bus at t = tn contains all signals
in their entirety. At the next time interval, t = tn + T, the sending node compares the
current values of the signals to the ones stored in the TX[M], transmitting buffer. The
sending node then assembles the second message M for transmitting based on the
signals’ differences. Similarly, at the reception of the first message M, at t=tn+tmtt (tmtt is
13
message travel time), the receiving node stores all signals to the designated receiving
buffer RX[M] for message M. At the reception of the second message M, at t = tn+ T +
tmtt, the receiving node first decodes the message and then using the receiving buffer
RX[M] and the information from the message, reconstructs the signals. New signals
replace their previous versions in the receiving buffer for message M.
Misbahuddin et al [36] provides a comprehensive overview of previous work
applicable to in-vehicle networks. The examined data reduction techniques are several
variants of Huffman coding [37], several variants of arithmetic coding [38], textual
substitution coding [39], and command data stream reference coding. However, the
applicability of all these methods is limited to textual data. As a remedy, Misbahuddin et
al [36] proposed a general data reduction technique based on repeatability of data bytes
in a message. Ramteke et al [40] suggested a data reduction technique based on signal
stability. Both algorithms are designed to work with the Controller Area Network (CAN)
[41] but can be applied to any serial protocol. Brief descriptions of various existing data
reduction techniques are given below.
2.2.1. DATA REDUCTION (DR)
A CAN message has up to 8 bytes [41]. Data bytes often do not change from one
to the next message transmission. Misbahuddin [36] exploited byte repeatability to
come up with a general form of a data reduction algorithm. In Misbahudin's data
reduction algorithm (DR), if all bytes change from the previously transmitted message to
the current message, the message to be transmitted is sent as is, without data
reduction. If more than one byte remains unchanged, a reduced message is sent.
DR uses the reserve bit (R) in the control field of a CAN message to indicate that
14
data reduction is taking place. In DR, this bit is called the Data Compression Bit (DCB).
The DCB is set to “1” when a message is compressed, and it is cleared to “0” when the
message is not compressed. In a compressed CAN message, the first byte is the Data
Compression Code (DCC). The position of each bit in the compression code
corresponds to the data byte position of the originally intended uncompressed message.
A bit with a value of “1” indicates a byte that has not changed since the previous
transmission, and a bit with a value of “0” indicates that the byte has changed. The
changed bytes are placed after the compression code in the data field of the actual data
frame sent over the multiplexing bus [36].
As an example, Figure 1 shows the data field of the first, original, message with 8
data bytes and the second, Misbahuddin’s reduced message, with only 4 bytes. In the
second message, bytes 0, 2, 4, 5, and 7 have not changed from the first message. Thus
the reduced second message contains only the changed bytes 1,3, and 6. Notice that
the compression code has three zeros corresponding to data bytes 1, 3, and 6
indicating that these three bytes changed in values from the first message to the
second.
15
Figure 1: The First Message and the Consequent Reduced Message of the DR Algorithm.
Figure 2: The First Message and the Consequent Reduced Message of the ADR Algorithm [40].
2.2.2. ADAPTIVE DATA REDUCTION (ADR)
Instead of concentrating on byte value preservation as Misbahuddin did,
16
Ramteke looked at the value of signals in the message to come up with the Adaptive
Data Reduction (ADR) algorithm (Figure 2) [40]. In the ADR algorithm, if the entire
message remains unchanged from one intended transmission to the next, then no
message is transmitted. In this case, there is a provision to still send such a message if
it is deemed critical to do so for synchronization, and if it has been suppressed longer
than a predetermined amount of time. Further, if some of the signals in the message do
not change in value from the previous to the current transmission, those signal values
are not sent. If any signals in the message change beyond the scope of its assigned
difference field (delta), the next message is sent in entirety. Otherwise, if signals change
such that they can be represented with their deltas, then only the differences are sent
over the multiplexing bus. A Data Compression Code (DCC) byte is used to designate
the compression type (delta representation or no change) for each delta signal within a
message. Instead of using a reserved bit to differentiate between reduced and
unchanged messages, ADR uses two different message IDs for the uncompressed and
compressed messages, where the ID of the compressed message is created by
subtracting one from the original message ID.
17
Figure 3: The First Message and the Consequent Reduced Message of the IADR Algorithm [42].
2.2.3. IMPROVED ADAPTIVE DATA REDUCTION (IADR)
Miucic et al [42] addressed shortcomings and improvements over the Adaptive
Data Reduction (ADR) suggested by Ramteke [40]. The Improved Adaptive Data
Reduction algorithm, IADR, uses different management of the reduced and original
message frames by using a convention as depicted in Figure 3. In this convention, the
first bit of the data field serves as the Data Compression Bit (DCB) and all signals in the
unchanged message are shifted to the right by one bit. In the ADR algorithm [40], if the
value of any delta of the signals in the consequent message exceeds the length of the
assigned delta field, the absolute values of all the signals (the original CAN message)
18
are transmitted rather than the delta-compressed version of the message. In the IADR
algorithm, the consequent message allows mixtures of different signal representations.
For example, in a message any signal may be represented as a no-change (signal did
not change from the previous to the current transmission), a delta-change (the signal
difference from the previous to current transmission which does not exceed the length
of the assigned delta field), or a signal-in-entirety (the entire signal, because the
difference from the previous to the current transmission exceeds the length of the
assigned delta field). This is accomplished using three levels of codes as shown in
Figure 3. The first level is the aforementioned DCB, the first bit of the data field,
indicating with 1 that there is at least one compressed signal in the message. The
second level is the Data Compression Code (DCC), which immediately follows the DCB
and consists of one bit for each signal, where 1 indicates that some form of
compression occurs for the corresponding signal, and 0 indicates that the original signal
is included instead. The third level is the bit preceding each compressed signal. It
describes how the signal is compressed: 0 represents the delta representation (only the
difference is included) while 1 represents no change (no signal information included).
In addition, to preemptively prevent potential issues of not having synchronized
signals in transmitting and receiving nodes, IADR uses “Cyclic Refresh”. In this scheme,
the first message carries all signals in their entirety. The second message forcibly sends
the first signal in entirety regardless of the amount of change. The third message
forcibly sends the second signal in entirety, and so on. The signal that is sent in entirety
rotates.
2.3. DISTRIBUTED TECHNIQUE FOR REMOTE PROGRAMMING
19
Programming an ECU's embedded software requires erasing the ECU's flash
memory and then reprogramming the ECU. Erasing the flash memory requires some
time, during which the wireless link will remain idle. However, if the wireless link is
released while the ECU is erasing its flash memory, then it will take some time to
reestablish the link between the vehicle and the remote server. Thus, some bandwidth
will be wasted one way or the other. CHAPTER 5 presents an in-vehicle distributed
technique to reduce the latency of the remote software update process as well as save
the bandwidth of the wireless links.
Every ECU in a vehicle has some RAM buffers to accept blocks of code from an
external device before the code is actually written into the ECU's flash memory. If the
code size is larger than the total buffer size, then the code is sent to the ECU in several
steps. At every step, a part of the entire code is sent to the ECU. Each part of the code
is first saved in the RAM buffer, and then it is written to the ECU's flash memory. This
process is continued until the entire code is written into the ECU's flash memory. During
this process of software update, the link between the external device and the vehicle
remains idle for a significant amount of time, which is not acceptable if the external
device is a remote unit connected to the vehicle by a wireless link. In this work, author
proposes to use the RAM buffers of as many ECUs as needed to keep the entire code
that needs to be updated in a particular ECU. This means that first, the code will be
distributed among RAM buffers of several ECUs and then the code will be written into
the flash memory of a particular ECU. The advantage of this technique is that if the total
size of all the buffers of all the ECUs together is larger than the size of the code that
needs to be updated, then the link between the external device and the vehicle will not
20
be idle. As a result, the performance of the communication system can be improved.
This work presents a detailed description of the in-vehicle distributed algorithm and
compares its performance with that of a non-distributed software update algorithm.
Resource allocation is common among distributed systems. A similar principle
can be used in vehicle systems. A vehicle bus and ECUs connected to it are distributed
within the system. Nowadays, the speed of the vehicle network and the complexity of its
resources are assimilating a distributed system. The workload can be distributed among
available ECU resources, so that results can then be used by one or more ECUs in the
network. First, author describes a typical reprogramming process. Then, author
discusses the proposed solution. At the end, the solution is justified with a
microcontroller and vehicle network survey. Chapter 5 presents a reprogramming
technique using all available RAM resources on the vehicle network.
2.4. DEDICATED SHORT RANGE COMMUNICATION
Dedicated Short Range Communication (DSRC) is gaining momentum as the
protocol of choice for wireless vehicle safety applications by automotive original
equipment manufacturers (OEMs) and road operators. DSRC is a low latency and
reliable vehicle-to-vehicle (V2V) and vehicle-to-infrastructure (V2I) communication
protocol. A wide range of its applications have been conceptualized to support safety,
mobility and convenience, including: cooperative collision avoidance, travel information,
and electronic payment. Nulls in the communication signal strength have been reported
in several recent government sponsored, private, and academia research studies but
have not been analyzed sufficiently to predict their occurrence. In this dissertation work
an expression for predicting the null locations using an interference model based on
21
two-ray ground reflection is derived. This work demonstrate the improvement in
accuracy over existing analytical accounts by applying the derived expression to the
experimental data author collected as well as to data found in literature.
In the last ten years, many automotive OEMs, their tier 1 suppliers, research
universities, and wireless radio manufacturers have been investigating the potential use
of Dedicated Short Range Communication (DSRC) for vehicle-to-vehicle and vehicle-to-
infrastructure communication [47][48][49][50][51][52] to enable primarily safety, but also
other applications. There have already been successful demonstrations of DSRC
technology. A major United States Department of Transportation (USDOT) initiative
called the Vehicle Infrastructure Integration (VII) [53] has included a number of technical
projects: VII Proof-of-Concept testing [68] established the feasibility of the VII system
using 5.9 GHz DSRC technology for improving transportation safety and efficiency,
while Cooperative Intersection Collision Avoidance Systems (CICAS) [54] and Vehicle
Safety Communications - Applications (VSC-A) [55] projects both showcased
automotive collision avoidance applications which are enabled or enhanced by the
deployment of DSRC.
In order to effectively engineer and deploy DSRC applications such as those, it is
necessary to understand the characteristics of the DRSC radio communication channel.
Detailed and dependable knowledge about the behavior of the communication channel
in its expected diverse operating environments is sought to design efficient and reliable
vehicle-to-vehicle and vehicle-to-infrastructure communication systems. The wealth of
recent studies with this aim [48][49][65][66][67][68][75] suggests that this is an important
and still open question explored both by industry and academia. The studies variously
22
used combinations of analytical modeling and experimental measurement to
characterize and predict the performance of DSRC communication in typical use
conditions. The behavior of the channel is highly dependent on these diverse
conditions. This partly influences such spread of research and complicates the modeling
efforts. The conditions are diverse not only due to the variety of geographies where
these systems are expected to operate but also due the variety of dynamic conditions
characteristic to vehicle motion. This influences expanding the existing wireless
communication modeling to include vehicle mobility considerations into existing
modeling paradigms. The effectiveness of analytic modeling can still suffer from
inapplicability of model assumptions to particular vehicular scenarios. This is where
experimental data is beneficial – to identify limitations, and to inspire and validate new
modeling developments. Several of the examined studies included experimental
components where drops were encountered in the received signal strength versus the
vehicle separation distance that were not accurately modeled [65][66][67][68][75].
These nulls are common and severe. A model’s inaccuracy in predicting the nulls
leaves the model inapplicable at the null locations, which typically fall in a region
important for vehicular communication, and thus adds uncertainty to the model. This
reduces model effectiveness in communication system design and analysis. This
dissertation proposes an analytic method for more accurately identifying the null points
versus the separation distance and thus improving the usefulness of the related models.
The method is verified against experimental data presented in this dissertation as well
as data from other publications that encountered the same phenomenon.
23
2.4.1. DSRC OVERVIEW
The goal of DSRC is to provide a low-latency, high-availability, secure, wireless
communication system suitable for communication between moving vehicles in safety
and commercial applications. DSRC messages and messaging schemes are defined in
the draft SAE J2735 standard [56]. They are intended to supply a standard mechanism
for exchanging safety-relevant information between vehicles while allowing proprietary
extensions for other applications. DSRC operates over the Wireless Access in Vehicular
Environments (WAVE) communication system. Its physical layer is defined by the draft
IEEE standard 802.11p [57]. This standard is an amended version of the IEEE 802.11
standard (the common Wi-Fi wireless standard) [58]. WAVE is defined in other layers by
IEEE 1609.1 (resource manager), [59] 1609.2 (security and privacy) [60], 1609.3
(networking services for applications) [61], and 1609.4 (multi-channel access) [62].
WAVE is intended to provide interoperability among vehicles and road infrastructure,
regardless of suppliers or regions of use. DSRC can be used to refer to the messages
and messaging schemes defined to be used over the WAVE communication system, or
it can be used to refer to the overall communication system, the latter being the
approach taken here.
The Federal Communications Commission (FCC) allocated a frequency band for
DSRC from 5.85 to 5.925 GHz, as shown in Figure 4a. DSRC divides this range into 7
channels (Figure 4b) and uses orthogonal frequency-division multiplexing (OFDM) with
52 sub-carriers (-26 to 26 in Figure 4c), including 4 pilot carriers (Ps in Figure 4c), for
each channel. Table I shows the most relevant physical layer parameters. Figure 5
shows the assignment of power levels and usage.
24
Figure 4: a) FCC-allocated DSRC spectrum b) channels 172 through 184 are separated into six Service Channels (SCHs) and one control channel (CCH) c) Extraction of sub-carriers of the
channel 172 (Pi denotes pilot and dj denotes data sub-carriers).
Table I: Selected DSRC Physical Layer Parameters
Description Symbol
Value Unit
Channel used CCH 172 Modulation QPSK Data Rate 6 Mb/s Number of pilot sub-carriers
NSP 4
Number of data sub-carriers
NSD 48
Channel frequency spacing
10 MHz
Sub-carrier frequency separation
Δ 156.25 (= 10 MHz/64)
kHz
Lower channel frequency bound
5.855 GHz
Upper channel frequency bound
5.865 GHz
Wavelength of the mid frequency 5.860 GHz
λMF 0.0511591225
m
25
Figure 5: DSRC power level and use plan
The draft SAE J2735 standard [56] defines DSRC messaging schemes. The
most fundamental message is the basic safety message (BSM). It is periodically sent by
all vehicles and contains parameters defining a vehicle’s dynamic state which are
critical for safety applications, such as speed, heading, and location. Figure 6 shows a
BSM based on the current SAE J2735 draft standard [56]. This message is an example
of information exchanged using DSRC. It also served as the main payload in the
experiments to be described, as well as provided the GPS location data for the remote
vehicle, as encoded in latitude and longitude message parameters, which was used in
the transmitter-receiver (T-R) separation distance calculations.
26
Figure 6: Data content byte-by-byte of the current SAE J2735 Basic Safety Message
2.4.2. EXISTING STUDIES ADDRESSING CHANNEL CHARACTERISTICS
Author analyzed a number of past studies, which experimentally observed null
points and which theoretically attempted to account for them. In this section author
briefly introduces these studies. Later, in Section 6.6, author applies the method derived
in this dissertation to experimental data from those studies and show that the proposed
method offers a large improvement in the prediction of null point distance over those
reported by the studies.
The earliest study author encountered was by Masui et al [66]. That paper looked
at the effect of the antenna height and the amount of traffic on distances at which
breakpoints in channel modeling curves appear. The experiments were performed in an
urban LOS environment. The two different traffic volumes, high and low, were
27
represented by testing during day and night respectively. From their data presentation it
cannot be discerned that they actually had null points in signal reception strength.
However, the breakpoints in modeling curves typically occur at same distances as null
points so that the proposed null point predictions and their breakpoint predictions can be
compared, as the later analysis shows. Masui et al used the first Fresnel zone for
predicting the breakpoints and encountered significant deviations from experimental
data. They ascribed the differences between their experimental data and their
theoretical predictions to the different effective heights of antennas due to different
amounts of traffic. The same authors reported similar data and findings in [65], this time
with additional analysis.
Author next analyzed the study by Cheng et al [67] that presented modeling of
experimental data obtained by narrow-band continuous wave experiments with two test
vehicles in a suburban driving environment. They also modeled their data using two log-
linear line segments where the breakpoint was expected according to the first Fresnel
zone. Similarly, they found large discrepancies between the predicted and
experimentally obtained breakpoints and attributed the differences to reflections from
“vehicles, pedestrians, and other objects”.
The experimental work by Vehicle Infrastructure Integration Consortium (VIIC) for
verifying performance suitability of the DSRC communication channel for vehicle-to-
vehicle and vehicle-to-infrastructure applications also encountered null-points in DSRC
communication [68]. The null points were not theoretically analyzed but were suspected
to be due to destructive interference from multiple paths from the transmitter to receiver.
Their testing covered a variety of operating environments, including the open area
28
environment considered in the analysis and experiments. The predictions correspond
closely with their experimental observations. The Vehicle Safety Communications (VSC)
project by the USDOT and VSC consortium of OEMs also performed testing of DSRC in
an open area environment with similar results and explanations [75], as well as close
correspondence to the proposed predictions.
29
CHAPTER 3.
AN ALGORITHM FOR REMOTE SOFTWARE UPDATE IN INTELLIGENT VEHICLES
Current high end vehicles have many sophisticated systems such as drive-by-
wire, road condition aware navigation, satellite radio information feed, traffic congestion
control, automatic parallel parking, road guidance, adaptive cruise control and advance
crash and pedestrian warning. The Future vehicles will have even more complicated
communication intensive systems. The vehicles will communicate with intelligent
roadside equipment to get current information about accidents, traffic congestion, speed
limit, construction, weather, and nearby commerce. Increased complexity of vehicle
functions requires increasing computational power and huge software loads. From time
to time, an onboard computer needs reprogramming. Currently, dealers manually
reprogram software in onboard computers via a wire-based electrical connection one
car at a time. Having many vehicles updated wirelessly is a preferred alternative to the
manual method because the vehicles need not be physically present at a repair facility
to perform the update and multiple vehicles can be updated at the same time. Wireless
software reprogramming will save customers’ and technicians’ time and money. In this
dissertation, author first presents current directions of the vehicle wireless technologies
and then presents a wireless download algorithm for reprogramming of vehicles’
electronic control units. The algorithm proposes a hybrid infrastructure that combines
wireless unicasting and multicasting data delivery.
3.1. FIRMWARE OVER THE AIR
Firmware Over-the-Air (FOTA) is a term used for wireless upgrades of mobile
phones and personal digital assistants (PDAs). Cellular service provider would typically
30
“push-out’ firmware to the phone sets. Push refers to the delivery of firmware without
the recipient having to request it. Typically software is delivered not in entirety but as
delta code. Delta code is smaller than the original software image and it only contains
the changes. Some aspects such as delta code and version management of this cellular
download technology can be applied in the automotive industry [15].
3.2. WIRELESS UNICASTING VS. MULTICASTING
Widely deployed cellular systems such as GSM and its derivatives GERAN and
GPRS are capable of multicasting data to the subscribed mobile devices. Desiniotis
Kypris and Markoulidakis showed in [16] that using multicasting for common content
distribution is more viable solution than using unicasting. For the needs of the software
download to the large number of targeted vehicles multicasting is the optimal solution.
3.3. VEHICLE WIRELESS TECHNOLOGIES
Currently, three wireless technologies are implemented for the communication to
the vehicles. Table II shows the summary of characteristics of DSRC, satellite, and
cellular communication.
Table II: Summary of characteristics of the DSRC, Satellite, and Cellular characteristics
DSRC Satellite Cellular Locality Location specific Nation wide Location specific /nation
wide Primary Safety Radio Phone Secondary. Convenience, local
commerce, navigation, Navigation, road information,
Remote diagnostic, driver assistance,
Example ITS XM, OnStar Allocation 5.85-5.925 GHz [17] 2332.5-2345.0 MHz
[18] 824-849 MHz 869-894 MHz[19]
Direction V2V, V2I, I2V I2V V2I, I2V
31
Figure 7: Wireless Infrastructure Overview. Note That Unicasting And Multicasting Can Be Different Channels Of A Single Cellular Tower (i.e., MT And UT Can Be One Tower).
3.4. INFRASTRUCTURE COMPONENTS
The infrastructure consists of a central server (CS), regional managers (RMs),
multicasting towers (MTs), and unicasting towers (UTs), as shown in Figure 7. The
automotive company (AC) or the ECU supplier decides that a certain ECU needs
reprogramming. In other words, for example, only the ECUs of a certain vehicle type,
having a certain vehicle configuration, and produced during a certain time period will be
updated. The vehicles in need for the particular software update form a multicast
audience.
3.4.1. CENTRAL SERVER
The CS keeps the list of all vehicle identification numbers (VINs) of the multicast
audience. High speed Internet connects the CS to all RMs. The CS distributes the
software update and the multicast audience information to all RMs.
32
3.4.2. REGIONAL MANAGER, TOWERS AND CONNECTIONS
An RM connects, by wire, to unicasting towers (UTs) and a multicasting tower
(MT) for a particular geographic region. The RM instructs MT to multicast packets of the
software update to the targeted vehicles. The targeted vehicles, in the region,
periodically unicast information about missed packets back to the UT. The RM collects
the information from the UT and prepares a missing packet list for the region. The order
of the packets in the list is based on the OR method as Munaka, Yamamoto, and
Watanabe presented in [11]. In other words, the resulting list is prioritized by the number
of times a particular packet failed to reach the targeted vehicles. Higher number means
higher priority for that packet in the list. The RM frequently updates the list, for the
duration of the downloading process, with the current missing packet information. In the
consequent multicast round the MT multicasts only the packets from the missing packet
list. The MT sends the packet with the highest priority first.
3.5. VEHICLE HARDWARE
A vehicle is equipped with a wireless communication capable device. Duri et al
[20] defined automotive telematics as the information-intensive applications that are
being enabled for vehicles by a combination of telecommunications and computing
technology.
3.5.1. TELEMATICS CONTROL UNIT
The telematics control unit (TCU) is a vehicle’s wireless transceiver and the
gateway to the intra-vehicle network, such as Controller Area Network (CAN). The TCU
performs the following functions: (1) receives multicast packets from the multicast
carrier, (2) accumulates packets creating the software image in the internal buffer, (3)
33
analyzes created image and composes the vehicle's missing packet list, (4) sends and
receives unicast messages on unicast carrier, (5) periodically reports missed packets
via unicast, (6) runs algorithm that reprograms targeted ECU from the complete
software image, and (7) performs diagnostic and functional tests after the ECU is
reprogrammed. The TCU has logic to determine if it is safe to reprogram the targeted
ECU. The TCU checks the battery and other target-specific conditions. The TCU
reprograms the targeted ECU from the buffer when it becomes convenient (i.e. safety
critical ECU is updated when the vehicle and engine stops, and the ignition is off).
3.5.2. MEMORY BUFFER
An internal buffer is at least large enough to store the old and the new software
images of the largest ECU in the vehicle. If the TCU needs to update multiple ECUs at
the same time (to maintain interaction compatibility) the vehicle can have even larger
buffer to accommodate images of multiple ECUs. If the size of the images exceeds the
memory capability of the buffer then the reprogramming is done traditionally at the
repair facility. In addition, the TCU has available memory for the verification test vectors.
The TCU ensures proper vehicle functionality after the ECU is reprogrammed.
Otherwise, the TCU restores the old software image in the targeted ECU.
3.6. REMOTE SOFTWARE UPDATE
The author breaks the process of software update into collecting the wireless
software packets in the vehicle’s internal buffer (downloading) and updating the targeted
ECU from the internal buffer (reprogramming).
3.6.1. DOWNLOADING
Downloading, illustrated in Figure 8, is a process of collecting the wireless
34
software packets in the vehicle’s internal buffer. A broadcasting tower sends packets
over-the-air to the vehicles. A vehicle’s TCU accumulates packets in the reserved
memory buffer. Process of disseminating recall-software to vehicles does not require
high-quality service. Unlike audio and video streaming where delivery in timely matter is
a must, the delivery time for recall-downloading can be very loose. The nature of
reprogramming requires successful delivery of the entire download in a timely manner.
In contrast to best effort delivery in some data-streaming application, a download is only
valuable if it is complete and error free [21]. The software download is not required
immediately after an automotive company decides on software-recall, but it should be
accomplished as soon as possible. It does not matter if one vehicle receives all recall
packets at one time and another vehicle receives at a later time as long as all packets
are received by most vehicles. However, the protocol requires serving a large number of
vehicles over the same period. For cost reduction sake, downloading over slower
communication medium is adequate
3.6.2. REPROGRAMMING
Reprogramming is a process of updating the image of targeted ECU from the
vehicle’s internal buffer, as illustrated in Figure 9. After the TCU successfully downloads
all the recall packets, the TCU composes software image by arranging the packets in
the correct order. Along executable code, the image contains verification and
compatibility information. The image must be complete and compatible with the current
vehicle configuration before it is uploaded into the targeted ECU. Otherwise the old
image remains in the ECU.
35
3.6.3. VERIFICATION
The vehicle needs to verify integrity and compatibility. Portion of the software
image is dedicated to the digital signature. TCU checks integrity of the software image
by verifying the signature of the complete image. The TCU must make sure that
software version is compatible with the rest of the vehicle. In other words, the new
image must provide the same interfaces to the rest of the vehicle as the old image did.
Automotive company (AC) maintains the list of all possible configurations of the ECUs’
software releases for the targeted vehicle.
Figure 8: Software downloading: wireless communication from a tower to a vehicle
36
Figure 9: Software reprogramming: wired transfer of the software from TCU to the targeted ECU.
AC must first verify that particular software update will work for all vehicle
configurations before sending it for distribution.
If any of the verification steps fail, the TCU rejects the software update and
flushes the receive buffers.
3.6.4. SECURITY
All over-the-air download packets are encrypted at the tower and decrypted at
the TCU end. Tower encrypts packets to provide security and protection of the
downloading process. The actual security mechanism for the software update is not
within the scope of this dissertation.
3.6.5. ERROR DETECTION AND CORRECTION
Forward error correction (FEC) is embedded in the physical layer of the wireless
transmission protocol. FEC is accomplished by adding redundancy bits to the
37
transmitted information. Each redundant bit is a result of a function of original
information bits. The original information may or may not appear in the encoded output.
The original information is recovered after decoding received messages. [22]
3.7. SIMULATION DESCRIPTION, RESULTS AND DISCUSSION
Author created time-based simulation program that helped test proposed
algorithm. The program simulates download process on a wide area of the roads,
wireless communication infrastructure and large number of moving vehicles. Vehicles
are randomly traveling on the roads. The vehicle position and direction is determined in
the initialization phase of the simulation. A vehicle may change direction and speed
when it reaches an intersection. For simplicity, if a vehicle reaches a boundary of the
map, it reverses its direction. The vehicle receives software packets from the tower
while it is moving.
The vehicle may miss receiving a packet due to a weak signal, noise, multipath,
or a change in the coverage area. Failure rate due to signal strength has been assumed
to be proportional to the square of the distance between the moving vehicle and the
multicasting tower. Multipath and noise is simulated using a random function.
3.7.1. INPUTS DESCRIPTION
The simulation inputs are three two-dimensional arrays: “road map”, “tower map”
and “signal-strength-map”. For the “road map” author used input grid from the map of
several cities in the greater Michigan area, as shown in Figure 10.
Simulation input, “tower map”, of tower arrangement is shown in the Figure 11. In
addition to maps, remaining simulation inputs are described in Table III.
38
3.7.2. OUTPUTS DESCRIPTION
During the execution of the simulation author monitors performance in terms of
the number of programmed vehicles, active towers, missed packets, etc. A complete list
of the simulation outputs is shown in Table IV.
3.8. SIMULATION SCENARIOS
The simulation was executed with two sets of the input values Scenario A and
Scenario B, as described in
Table V. The scenarios differ in speed and minimum unicast cost. All other
simulation inputs remain the same. Road and tower arrangement for all simulation runs
are described in Figure 10 and Figure 11.
In Retransmit Broadcast mode, the towers interrogate vehicles for missing
packets. Each tower composes prioritized retransmit list of up to cnf_twr_mis_pck size.
Second, the towers send packets from the list based on priority. Due to interrogation
delay, number of active towers reaches a low point in the beginning of Retransmit
Broadcast mode at t = 24 sec. The interrogation of the vehicles and retransmission of
the packets from the list repeats multiple times until a threshold of programmed vehicles
is reached or software time-to-live expired.
39
Figure 10: Greater Michigan map
Figure 11: Representation of the tower arrangement in the Greater Michigan area.
40
Table III Configurable Inputs to the Simulator
name description unit cnf_twr_mis_pck number of packets tower sends before
collecting the missing packets information from vehicles in the Retransmit Broadcasting mode
-
cnf_acqst_time measurement update rate ms cnf_time_instant_us time instant of the simulation ms cnf_ini_dly_twr_fctr initial delay of the multicasting of a
tower in the Retransmit Broadcasting mode
ms
cnf_add_uc_dly_mb_us additional unicast delay per vehicle μs cnf_max_uc_dly_mb_trsh maximum number of unicasting
vehicles before saturation of the unicasting backhaul
-
cnf_min_uc_dly_sec minimum unicast delay regardless of the number of vehicles
s
cnf_twr_actv_aftr_brcst_time total time a tower is active after initial broadcast of the software
s
cnf_num_twr total number of towers - cnf_num_mob total number of vehicles - cnf_num_pck number of packets in the software for
the targeted ECU (size of ECU_SW) -
cnf_max_mob_spd maximum vehicle speed m/s
Table IV Output parameters of the simulator
name description acq_glb_tm time instant of the measurement acq_num_twr_act number of towers currently broadcasting acq_num_prg_pck number of programmed packets acq_num_prg_mob cumulative number of programmed vehicles
(vehicles that received entire ECU_SW) acq_rnd_mis_pck number of missed packets (increments when
vehicle in the coverage area fails to receive) acq_unprg_mob_cvrd_rgn number of unprogrammed vehicles that are in
the coverage area at the current instant of time,
acq_unprg_mob number of unprogrammed vehicles acq_twr_pck_snt number of packets sent from all towers acq_uncst_comm number of unicasting messages from vehicles
to the towers
41
Table V Simulation input values
Scenario A Scenario B cnf_acqst_time 0.2 0.2 cnf_time_instant_us 25000 25000 cnf_ini_dly_twr_fctr 0.5 0.5 cnf_add_uc_dly_mb_us 100 100 cnf_max_uc_dly_mb_trsh 5 5 cnf_min_uc_dly_sec 500 50000 cnf_twr_actv_aftr_brcst_time 500 500 cnf_num_twr 1323 1323 cnf_num_mob 100000 100000 cnf_num_pck 1000 1000 cnf_max_mob_spd 50 17
3.9. SIMULATION RESULTS
3.9.1. NUMBER OF TOWERS ACTIVELY BROADCASTING
The towers work in two modes Initial Broadcast and Retransmit Broadcast, as
shown in Figure 12 and Figure 13. In the beginning of the Initial Broadcast, the towers
gradually become active (start to broadcast). At about t = 5 s, all 1323 towers are
broadcasting. Towers continue to broadcast all 1000 packets of the software package.
After the Initial Broadcast at around t = 24 s, towers start working in Retransmit
Broadcast mode.
3.9.2. TIME DURATION FOR PROGRAMMING VEHICLES
Vehicle mobility with respect to towers is one of the reasons for packet loss. A
vehicle moves from Tower X to Tower Y. While the vehicle was under Tower X packets
coming form Tower X were packets that the vehicle needed. When the vehicle is under
Tower Y the packets arriving from Tower Y are not necessarily the packets that the
vehicle needs. If the vehicle stays long enough under Tower Y then the packets coming
from Tower Y in the subsequent retransmission session will include packets that the
42
vehicle needs. Figure 14 and Figure 15 show how many vehicles are becoming
completely programmed as the time progresses.
3.9.3. UNPROGRAMMED VEHICLES IN COVERAGE AREA
Initially vehicles are randomly distributed on the roads on the map (Figure 10).
Some vehicles are not in the coverage area (Figure 11), and are not receiving packets.
Unprogrammed vehicles enter and leave a towers’ coverage area. In other words, the
audience changes dynamically as shown in Figure 16 and Figure 17. The time values
for the system to reach 90% completely programmed vehicles threshold for different
retransmission buffers is presented in Table VI. From Figure 14, Figure 16 and Table VI
it is clear that system with smaller retransmission buffer size for the scenario A performs
better in terms of reaching sooner the 90% mark of completely programmed vehicles.
Better performance is because of the relatively high speed of the vehicles and low cost
of the unicast reporting of the missing packets.
3.10. ANALYSIS OF THE TWO SCENARIOS
Author picked two scenarios to show different algorithm behaviors for different
retransmission buffer sizes. The algorithm is performing better for smaller buffer sizes,
as shown in Figure 14, when the unicasting cost is low and vehicle speeds are high. A
smaller buffer size enables towers to inquire vehicles frequently and therefore compile
up-to-date missing packet list. Towers have a greater chance to broadcast what is
needed for whom that is needed, as shown in Figure 16.
However, when the average vehicle speed is low and unicasting cost is high
there is less demand for frequent update of the missing packet list. Distribution of the
vehicles under the coverage area does not change often. Unicasting cost is affecting
43
the algorithm performance because there is less significance in having frequent vehicle
inquires. In this case, system with larger buffer sizes performs better, as shown in
Figure 15.
Figure 12: Scenario A: Number of towers actively broadcasting vs. time as the size of the retransmit buffer varies.
44
Figure 13: Scenario B: Number of towers actively broadcasting vs. time as the size of the retransmit buffer varies.
Figure 14: Scenario A: Number of programmed vehicles vs. time as the size of the retransmit buffer varies.
45
Figure 15: Scenario B: Number of programmed vehicles vs. time as the size of the retransmit buffer varies.
Figure 16: Scenario A: Number of unprogrammed vehicles in coverage area
46
Figure 17: Scenario B: Number of unprogrammed vehicles in coverage area
Table VI 90% completely programmed vehicles threshold
Retransmit buff.
Time at >90% of the total vehicles are programmed
Time at <10% unprogrammed vehicles within the coverage area
Scenario A Scenario B Scenario A Scenario B [packet] [second] [second] 50 169.2 312.6 133.6 263.198 100 170.4 240.0 134.4 189.198 200 174.4 209.0 137.6 155.599 400 175.8 195.0 139.8 138.399 600 179.0 191.2 142.8 133.399 800 180.9 191.0 144.8 131.799 1000 180.0 190.6 144.6 130.199
47
CHAPTER 4.
AN ENHANCED DATA REDUCTION (EDR) ALGORITHM FOR EVENT-TRIGGERED
NETWORKS
Unlike other existing data reduction algorithms, this algorithm does not use a
Data Compression Bit (DCB) to indicate whether or not a message has been
compressed. Since all the receivers of a particular message know the length of the
uncompressed data field of the message, the receiver, by looking at the length of the
data field, will know whether or not the message has been compressed. This eliminates
the difficulties associated with earlier solutions to identification of compressed
messages such as the use of the reserved bit [36] or the use of the dedicated message
IDs [40], or made the decoding more involved via the additional bit in the data field [42].
Since every data reduction algorithm has some overhead such as using a Data
Compression Bit (DCB) and/or using a Data Compression Code (DCC), the signal
values could be such that after applying the data reduction algorithm the resulting
message may not be shorter than the original uncompressed message. In the
Enhanced Data Reduction (EDR) algorithm, a message will be compressed provided
the length of the data field of the compressed message is less than that of the original
uncompressed message. This means that, after applying the EDR algorithm on a
particular message if it is seen that the length of the data field of the resulting message
is less than that of the original uncompressed message, then a compressed message
will be sent; otherwise, the original uncompressed message will be sent. Therefore, the
EDR method either reduces the amount of data sent, or in the worst case, neither
results in any savings nor produces any overhead.
48
4.1. SIGNAL TYPES AND SIGNAL REDUCTION MECHANISMS
In the EDR algorithm, the coding of compressed signals is done in a similar way
as it was done for the IADR algorithm. However, author defines stricter rules and some
modifications. Signals can be of any bit in length (BL). Typical signals represent either
continuous functions or discrete states. A signal is continuous if its value does not
change significantly from one message transmission to the next. Examples of some
continuous signals are vehicle speed, engine temperature, engine RPM, etc. Examples
of some discrete signals are engine state, gear state, headlight state, wiper state, etc. In
this dissertation, the discrete signals are also called state signals. In order to reduce the
compression overhead and make the EDR algorithm an effective algorithm, author
proposes to combine several state signals into one signal called the group signal. Since
state signals do not change very frequently, the group signal that is made using a
number of state signals will not change very frequently. As a result, significant reduction
can be made in a message.
In the EDR algorithm, the encoded message can have two types of signals. The
first type of signal is SDN (Signal, Delta, No-change). SDN allows a signal to be
represented in entirety, as a delta-change, or as no-change. The second type of signal
is SN (Signal, No-change). SN allows a signal to be represented in entirety or as no-
change. Continuous signals such as vehicle speed, engine temperature, engine RPM,
etc. can be encoded as SDN signals. Since there is some overhead involved in
encoding an uncompressed message into a compressed message, a continuous signal
must be greater than or equal to a minimum length for it to be encoded into a
compressed signal. Otherwise, the data reduction algorithm will not provide any
49
benefits. For each signal to be compressed, there is a coding overhead of two bits: one
bit of the Data Compression Code (DCC) which indicates whether the signal has been
compressed or not, and another bit, reduction type (RT) bit, that precedes the
compressed signal which indicates whether the signal has been fully compressed or
delta compressed. Since the delta value of a signal needs at least two bits, one bit for
the sign and at least another bit for the value, the total cost of delta compression is 4
bits including the two bits required as coding overhead. Thus, a continuous signal has to
be at least 5-bit long in order get some benefit out of the compression technique. State
signals with data length from 1 to 4 bits can be grouped together and be represented as
an SN signal. Figure 18 shows an example of the vehicle signal and its corresponding
delta representation.
Using a delta size that is half the size of the signal will be more effective on the
smaller size signals than on the larger size signals. For example, let us examine 8 and
16-bit signals. Let us say that the engine ECU keeps track of the vehicle speed. The
ECU publishes the vehicle speed information in one of its periodic messages with the
period T=10 ms. The vehicle speed signal has the range of -100 to 400 km/h, and in the
first case it is represented with 16-bit variable. Each count in the 16 bit variable has a
weight of (500km/h)/(65536 counts)=0.00763km/h/count. The delta size is 8 bits and it
spans smhkm /26915.0/96895.0 ±=± (due to the sign bit plus the 7-bit magnitude). If the
vehicle speed is sent once every 10 ms, then in order to be able to represent the signal
with its delta form, the acceleration of the vehicle should not exceed 2/9152.26 sm± . In
the real world, forward acceleration of a very fast vehicle may go up to 6.4 m/s2 [42]. Of
course, here author assumes that the signal is stable and noise free.
50
Figure 18: Two examples of Vehicle Speed Signal and Its Delta Representation.
Table VII Delta Span versus Signal Size
Signal Size (bits)
Delta Size (bits)
Signal Range Abs. value
Delta Range Abs. value
Delta Span (%)
5 2 0-31 0-1 6.25 6 3 0-63 0-3 6.25 7 3 0-127 0-3 3.125 8 4 0-255 0-7 3.125 9 4 0-511 0-7 1.5625 10 5 0-1023 0-15 1.5625 11 5 0-2047 0-15 0.78125 12 6 0-4095 0-31 0.78125 13 6 0-8191 0-31 0.39062514 7 0-16383 0-63 0.39062515 7 0-32767 0-63 0.19531316 8 0-65535 0-127 0.195313
51
Figure 19: An example of the original message and its mask with SDN and SN type groupings.
In the second case, the vehicle speed signal is represented with an 8-bit variable,
where each count is ( ) ( ) counthkmcountshkm //96078.1255//500 = . Here, the delta size is 4
bits and it spans smhkm /81264.3/72549.13 ±=± (sign plus the 3-bit magnitude). In order to
represent the signal with the delta, the acceleration of the vehicle now should not
exceed 2/2636.381 sm± . In this second case, all realistic consequent vehicle speed
signals can be represented with delta.
Following the proposed logic in choosing the delta size, Table I presents the
delta span for various signals. For example, the size of the delta for a 5-bit signal is 2.
The 2-bit delta spans 6.25 % of the signal. However, the 8-bit delta for 16-bit signal
spans only 0.1953 % of the signal. If all signals have the same changing probability,
from Table I it is obvious that larger size signal will have less chance to be represented
with delta form.
52
Figure 20: An example of the original message and its mask with only SN type groupings.
Figure 19 shows an example of an original message and its message mask. All
signals of size higher or equal to 5 bits (vehicle speed, coolant temp, and engine RPM)
are represented with SDN type masks (SDN_0, SDN_1, and SDN_2). On the other
hand, signals of smaller size than 5 bits (fan RPM, oil sensor, engine state, gear state,
and park status) are grouped into SN type masks (SN_0 and SN_1). Similarly, Figure
20 shows a message with all signals being of size smaller than 5 bits and its message
mask representation.
The proposed rules for creating a reduced message in the EDR algorithm are as
follows:
1. any signal with bit length BL ≥ 5 is masked with SDN type
2. only signals with BL ≥ 5 are represented with delta (∆)
3. size of ∆ = Integer (BL/2)
4. the first bit of ∆ is the sign bit, and the rest of the bits indicate magnitude
5. signals with BL < 5 are bundled into SN groups
6. maximum length of an SN group is 8 bits
4.2. SUMMARY OF SIGNAL REPRESENTATIONS IN THE EDR ALGORITHM
53
In the EDR algorithm, the data field of a compressed message starts with a Data
Compression Code (DCC). The DCC is followed by signal representation fields, where
the values of different signals are expressed in compressed or uncompressed forms
depending upon their current values compared to the values during the previous
transmission of the message. Like the IADR algorithm, the DCC carries information on
whether the signals are encoded in reduced form or in entirety. The DCC contains
compression code bits for both SDN and SN type signals. A DCC bit of a signal
indicates if the signal is presented in reduced form (bit =1) or in its original form (bit =0).
If an SDN type signal is not reduced, then its signal representation field contains
its value in entirety. If an SDN type signal is reduced, then the first bit of the
corresponding signal representation field is the reduction type bit (RT bit). The RT bit
indicates the type of compression: delta compressed (RT=0) or fully compressed
(RT=1). If the change in a signal value can be expressed in delta (∆) form, then the RT
bit of the signal is 0, i.e. for this particular signal, the signal representation field contains
a 0 followed by the value of ∆. If the current value of a signal is the same as the
previous value of this signal, then the signal is fully compressed (RT=1), i.e. no signal
value is sent. For this signal, the signal representation field contains only the RT bit
which is a 1.
If an SN type signal is compressed, the compression type is always fully
compressed. That is no signal value is sent. Thus, no RT bit is necessary in the signal
representation field of an SN signal.
4.3. EDR MESSAGE ENCODING AND DECODING ALGORITHMS
Now we are going to explain the encoding technique of a message and show
54
how a message is converted into a reduced encoded message using the EDR
algorithm. Assume that the message format is the one shown in Figure 19. Note that
this message has three SDN type signals and two SN type signals. Assume that from
the previous transmission to the current transmission of the message, its signals
changed as follows:
1. Vehicle Speed changed significantly. Thus, it can’t be represented in delta (∆) form.
So no data reduction is possible for Vehicle Speed. As a result, the DCC bit for
Vehicle Speed is 0.
2. Coolant Temperature changed slightly, and the change can be represented in delta
form. Thus, the signal is delta compressed. As a result, the DCC bit for Coolant
Temperature is 1. Since the signal is delta compressed, the RT (Reduction Type) bit
which precedes the actual delta signal is 0 for Coolant Temperature.
3. Engine RPM did not change. Thus, no data needs to be sent for Engine RPM which
means the signal is fully compressed. Hence, the DCC bit for this signal is 1. Since
the signal is fully compressed, the RT bit is 1 and it is not followed by any data for
Engine RPM.
4. Fan RPM and/or Oil Sensor State changed. Thus SN_0 signal which is a
combination of Fan RPM and Oil Sensor State can’t be compressed. As a result, the
DCC bit for this signal is 0.
5. Engine State, Gear State and Park Status did not change. Thus SN_1 signal is fully
compressed and no data needs to be sent for this signal. Hence, the DCC bit for this
signal is 1. Since SN type signals do not have any RT bits, this signal does not have
any RT bit.
55
Figure 21 shows the reduced encoded message for the above example. Figure
22 shows the flowchart of the EDR message encoding algorithm. In this figure, the
notation Si and Si-1 are used to indicate the current and previous values of a signal,
respectively. The notation Δmax indicates the maximum change that a signal can have
from its previous value in order for the signal to be represented in delta form. For each
signal of a message, the transmitting node will execute the algorithm shown in Figure
22 in order to create the final message that will be sent through the bus. The receiving
node will have to execute a decoding algorithm in order to extract signals from a
message. Figure 23 shows the EDR message decoding algorithm in detail. For every
signal to be extracted from a message, the receiving node has to execute the decoding
algorithm shown in Figure 23.
Figure 21: An example of the Data Field of a Reduced Message.
56
Figure 22: Flowchart of EDR message encoding algorithm.
4.4. COST OF EDR ALGORITHM
Here we determine the cost of the EDR algorithm in terms of memory required to
store the code and data. The encoding and decoding algorithms can be converted into
two subroutines. A node will repeatedly call these routines every time it wants to encode
and decode signals of a message. There are 12 decision and assignment blocks (high-
level operations) in the encoding algorithm as shown in Figure 22. Similarly, Figure 23
shows that there are 9 decision and assignment blocks in the decoding algorithm. Three
assembly/machine level instructions, LOAD, COMPARE and BRANCH, are necessary
to implement the operation of a decision block. In order to implement the operation of an
assignment block, we need one to three machine level instructions, such as LOAD-
ADD-STORE or BITTEST-BRANCH or STORE and so on. Thus, the maximum number
of machine level instructions required to implement a decision or assignment block is
three. Since altogether there are 21 decision and assignment blocks in the encoding
and decoding algorithms, at most 63 machine level instructions are necessary to
57
implement the EDR algorithm. For a typical microcontroller such as a PIC18 family
microcontroller, the average number of bytes required to implement a machine level
instruction is two. Hence, 126 bytes of ROM will be necessary to keep the code of the
EDR algorithm. Each node will also need some memory for receive and transmit
buffers. A typical CAN node for vehicular applications does not transmit too many
different types of messages and also does not take actions based upon too many
different messages from remote nodes. If we assume that a node transmits 10 different
messages and receives another 10 different messages from remote nodes, then
altogether the node needs 20 buffers. Since the maximum length of the data field of a
CAN message is 8 bytes, a node needs 160 bytes of RAM for transmit and receive
buffers. Hence, the total cost of the algorithm in terms of required memory bytes for
code and data is 126 + 160 = 286 bytes. This cost is insignificant compared to the
amount of ROM and RAM available in today’s microcontrollers.
Figure 23: Flowchart of EDR message decoding algorithm.
58
4.5. IMPACT OF EDR ALGORITHM ON MESSAGE LATENCY
In this subsection we investigate the impact of EDR algorithm on end-to-end
message latency. Both the encoding and decoding algorithms will incur additional
message latency. The total impact on the message latency will be equal to the
summation of the impacts due to encoding and decoding algorithms. The impact of
encoding algorithm on the latency of a particular message depends on the CPU time
necessary to execute the encoding algorithm for all the signals of that particular
message. In order to determine the worst case impact of the encoding algorithm on the
latency, we determine the computation time necessary for the longest path of the
flowchart shown in Figure 22. The first column of Table VIII shows the high-level
statements present in the longest path of the encoding algorithm. The second column
shows the assembly/machine-level instructions necessary to implement each high-level
statement. The third column shows the total number of processor clock cycles
necessary to execute each high-level statement assuming that it takes four processor
clock cycles to execute each machine-level instruction. Table VIII shows that in the
worst-case 48 clock cycles are necessary to encode a signal using the EDR encoding
algorithm.
Table VIII Worst-Case Computation Time to Encode a Signal using EDR Algorithm
High-Level Statement Assembly/Machine-Level Statements
Clock Cycles
1. Signal Type? (SDN or SN) LOAD, COMPARE and BRANCH 12 2.∆ = Si – Si-1= 0? LOAD, COMPARE and BRANCH 12 3. ?maxΔ≤Δ LOAD, COMPARE and BRANCH 12 4. Set DCC bit and clear RT bit of Si. BIT-SET and BIT-CLEAR 8 5. Send ∆ STORE 4 Total clock cycles 48
59
Similarly, we can determine the impact of the decoding algorithm on the
message latency. Table IX shows the high-level statements present in the longest path
of the decoding algorithm, the corresponding assembly/machine-level instructions and
clock cycles necessary to execute each high-level statement. Table IX shows that for
the worst-case, the total number of clock cycles necessary to execute the EDR
decoding algorithm for a signal is 44.
Table IX Worst-Case Computation Time to Decode a Signal using EDR Algorithm.
High-Level Statement Assembly/Machine-Level Statements
Clock Cycles
1. Signal Type? (SDN or SN) LOAD, COMPARE and BRANCH
12
2. DCC bit of Si= 1? BIT-TEST and BRANCH 8 3. RT bit of Si= 1? BIT-TEST and BRANCH 8 4. Accept ∆ from the receiving buffer LOAD 4 5. Si = Si-1 + ∆ LOAD, ADD and STORE 12 Total clock cycles 44
From Table VIII and III we see that the worst-case computation time for encoding
and decoding a signal using the EDR algorithm is 48+44=92 clock cycles. It is
mentioned earlier that SDN type signals are at least 5-bit long, and SN type signals are
generated by combining a number of signals whose lengths are less than 5 bits. Since
the maximum number of data bits in a CAN message is 64 and we need DCC bits for
encoding and decoding signals, the total number of SDN and SN type signals in a CAN
message can’t be more than 11. If we assume that in the worst-case there are 11
signals in a CAN message, then the total impact of the EDR algorithm on the message
latency is 92*11 = 1012 clock cycles. Note that a receiving node checks the data length
60
code of a message to determine whether or not the message has been reduced.
Checking the data length code is necessary only once for each message, and the
implementation of this operation needs three assembly/machine level instructions:
LOAD, COMPARE and BRANCH. Thus, another 12 clock cycles are necessary to
encode and decode the algorithm. Hence, the overall impact of the EDR algorithm on
the message latency is 1012+12 = 1024 clock cycles. Various PIC18 family
microcontrollers have built-in CAN modules, and these microcontrollers can use clocks
up to 40MHz frequency. So if a 40MHz oscillator is used with a PIC18 family
microcontroller, then the worst-case impact on the end-to-end message latency is
1024cycles*0.025 microseconds/cycle = 25.6 microseconds. Even if a 10MHz oscillator
is used, the worst-case impact on the latency is 102.4 microseconds which is
acceptable for any safety applications. Note that if a vehicle moves at 100 miles/hour, it
can move only 0.18 inch in 102.4 microseconds. Thus, if the EDR algorithm is used with
a microcontroller with a 10MHz oscillator, the vehicle will move an additional 0.18 inch
before the receiving node can take actions based on the message contents. As a result,
we believe that vehicle safety will not be compromised due to the use of the EDR
algorithm. Moreover, a higher frequency oscillator can be used with the microcontroller,
and for most cases the vehicle speed will be less than 100 miles/hour which will even
lessen the impact of the EDR algorithm on message latency and consequently on the
safety of the vehicle.
4.5.1. SYNCHRONIZATION
The presented data reduction methodology relies heavily on uninterrupted
synchronous communication. A synchronization problem arises when the receiving
61
node goes through a reset and loses all information on the previous signal values. All
signals in the receiving buffers of the resetting node become invalid. Another loss of
synchronization occurs when one or more messages are incorrectly received and the
receiver disregards the content of the messages and disrupts the ability to reproduce
the signals associated with incorrectly received messages. Encoded messages that the
node receives afterward are not sufficient to reconstruct the signals any more.
It is mentioned earlier that a Cyclic Refresh technique could be used to keep all
receiving nodes synchronized with the transmitting nodes. In this technique, each signal
is sent in entirety in a round-robin fashion. Thus, if a message has S signals, then the
receiving node which went through a reset has to wait for S transmissions of the
message to get the values of all signals of the message. As a result, the receiving node,
after went through a reset, will have to wait for a long time before it can use all the
signals that came from remote nodes. If this long delay for a particular receiving node is
not going to cause any safety problems for the vehicle or any major functionality
problems for the receiving node, then the receiving node can take this reactive
approach to update its messages.
The resetting node can also take a proactive approach to update its messages.
One proactive approach could be considered as a Demand Refresh, where the resetting
node could request all transmitting nodes to send their messages with signals in
entirety. The Demand Refresh could significantly increase the bus utilization for a short
period of time depending upon how many resetting nodes are requesting how many
messages at a time. In order to update all messages at the resetting node, the Demand
Refresh will incur significantly less waiting time compared to that for Cyclic Refresh. A
62
second proactive approach could be as follows: if the functionality of the receiving node
requires that immediately after reset, the node must control some actuators based on
some signal values from a remote node, then the receiving node must request
appropriate remote nodes to send only those required signals in entirety. The remaining
signals could be updated based on the Cycle Refresh technique. This second proactive
approach will incur less bus utilization compared to that for Demand Refresh. If the
receiving node is not required to take any actions immediate after reset, then another
proactive action can be taken as follows: the receiving node can wait until it gets
messages from transmitting nodes according to the schedule of the transmitting nodes,
and if the signals arrive in entirety, then the receiving node can accept the signals and
take actions. However, if the signals arrive in reduced form, then at that time the
receiving node can demand the transmitting node to send the signals in entirety.
In summary, we would like to say that we have suggested a number of
techniques using which a resetting node can be synchronized with the transmitting
nodes. Since the reset event is not a common phenomenon for a node, and not too
many nodes will go through a reset at the same time, except during the initial startup of
the vehicle, we believe that such an event will not have any significant impact on the
performance of the proposed data reduction protocol. Since the reset events are not
periodic, they could be considered as rare time-to-time glitches in the operations of in-
vehicle networks. Moreover, since under normal operations, the loading of an
asynchronous bus like a CAN bus is kept around 30%, occasional rare glitches could be
tolerated by the bus. Thus, we believe that node resetting events will not be major
issues as far as the performance of the EDR algorithm is concerned.
63
4.5.2. HANDLING OF INITIAL TRANSIENTS
Data reduction techniques promise to reduce the amount of bus traffic while
transmitting the same required information content. The practical attractiveness of this
lies in the opportunity it provides to add more messages. In other words, it is the desire
to send more messages through the bus without exceeding the bus load beyond the
acceptable maximum limit that derives the need for data reduction. However, while
assessing the benefits of a data reduction technique, with respect to the room it
provides for additional messages, it is important and sometimes neglected, to consider
the initial conditions.
At the vehicle boot up, the transition from ignition-key off to on, the bus becomes
active. Many ECUs start sending periodic messages. At this initial stage, the receiving
(RX) and transmitting (TX) buffers for the signals are not initialized. Therefore, all initial
messages need to be sent in entirety. This condition creates peak bus load.
To eliminate this peak bus load we propose that all messages be prioritized into
vehicle functionality-critical and non-critical groups. For example, vehicle functionality-
critical group would consist of messages carrying critical information for vehicle
functionality such as engine, torque, and brakes information. Messages carrying leisure
and convenience information such as AC, radio, and display would comprise the non-
critical group. For some initial period, for example 200 ms, only vehicle functionality-
critical messages could appear on the bus. After the initial period, when the RX and TX
buffers of vehicle functionality-critical messages have been filled, the rest of the non-
critical messages would go on the bus. At that time, the vehicle functionality-critical
messages are sent in reduced form while the initial messages of the non-critical group
64
are sent in entirety. This method eliminates the peak load of having all messages being
sent in entirety at the same time.
4.5.3. ADAPTATION OF EDR ALGORITHM TO OTHER IN-VEHICLE BUSES
The EDR algorithm can be used for any asynchronous bus where time slots are
not reserved for messages to use the bus. For a CAN-bus system, the EDR algorithm
requires the receiving node to check the data length code to determine whether or not
the message has been reduced. If the CAN protocol did not have a data length code in
the message, then the first bit of the data field could have been used as a compression
bit to indicate whether or not the message has been reduced. Similar coding techniques
could be designed for those in-vehicle networking protocols where a data length code is
not available within the message. Thus, the proposed EDR algorithm can also be used
for LIN protocol. If the EDR algorithm is going to be used for the LIN protocol, then the
first bit of the response field of a LIN message should be used as a compression bit.
This compression bit will indicate whether or not the LIN message has been
compressed. The compression bit will be followed by the Data Compression Code
(DCC). The DCC will then be followed by the Signal Representation Fields as shown in
Figure 7.
The FlexRay protocol can support a bit rate of up to 10Mps, which is high enough
for any real-time automotive applications. Thus, in the near future, data reduction may
not be necessary for a FlexRay bus. However, EDR algorithm can also be used for the
FlexRay protocol. A FlexRay message frame has two types of segments: static segment
and dynamic segment. The static segment contains a number of static slots, and each
static slot is reserved for a particular time-triggered message that needs deterministic
65
latency. Thus, data reduction techniques should not be applied for the static segment.
The time slots in the dynamic segment are not reserved for any particular messages.
Since a FlexRay frame also has a field called the Payload Length (analogous to the
data length code of CAN), the proposed EDR algorithm can be used in the dynamic
segment of FlexRay in a similar way as it can be used for CAN. The EDR algorithm can
be used with other in-vehicle networking protocols as long as some time slots are
available which are not reserved for any particular messages.
4.6. ADVANTAGES OF EDR ALGORITHM COMPARED TO OTHER EXISTING
DATA REDUCTION ALGORITHMS FOR VEHICULAR APPLICATIONS
In this subsection we compare EDR algorithm with other exist data reduction
algorithms in terms of bit savings and complexity of detecting a reduced message.
4.6.1. ADVANTAGES OF EDR COMPARED TO DR
Bit Savings Comparison: Let us consider a periodic message with an 8-bit
numerical signal and period T. An example signal from Figure 24 occupies the third data
byte of the message. We will examine how the signal is represented in DR and EDR
methodology.
Figure 24: Example of a Message with an 8-Bit Signal.
66
Figure 25: Example of Signal Behavior and Signal Representation in EDR and DR.
Figure 25 shows a hypothetical signal behavior and the savings that can be
achieved with EDR and DR methodologies. According to the rules we presented earlier,
the delta span of the signal is ± 7. The very first message at t = 0 has the signal
represented in entirety. The next message at t = T contains the delta change, followed
by several messages where the signal does not change. All other messages after t =
5T, besides the message at t = 10T, can have the signal represented as a delta. On the
other hand, in DR methodology, only signals for messages at t = 2T, 3T and 4T can be
reduced.
67
Reduced Message Detection: The major drawback of DR method is using the reserved
bit of the CAN message frame as the DCB flag. Existing transceivers and
microcontrollers [43], [44] often assume a set value of the reserved bit. Hence, for the
DR methodology to work, existing hardware would have to change. EDR improvement
is to examine the length of the received message and based on the length to determine
if the message frame is in original or reduced form. For example, consider the original
message Y being 8 bytes long. If a node receives message Y with 5 bytes in length,
then the received message is in some reduced form and has to be decoded to extract
the signals.
4.6.2. ADVANTAGES OF EDR COMPARED TO ADR
Bit Savings Comparison: Reduction fields of the ADR are fixed in length. Let us
consider an example of an original message with four signals. After the original
message has been sent, the data reduction algorithm is in place. A transmitter prepares
the next message. Assume that one signal fails to be represented with a delta value,
and other three can be represented with delta values. In ADR, the original message is
transmitted. However, in EDR, if one signal fails to be represented with a delta value
and other three signals can be represented with delta values, the reduced message is
still transmitted. In addition, in ADR, no-change is represented with one plus size of the
delta in bits, while in EDR, no-change is represented with only two bits.
Reduced Message Detection: In ADR having a sub set of message IDs with the
sole purpose to denote reduced messages, complicates the network. If all messages
are covered with the ADR algorithm, network designer will have only half of the
available IDs to work with. In addition, the network designer can assign only every other
68
message ID since the consequent message ID will denote a reduced message. In EDR,
the network designer can use all message IDs.
4.6.3. ADVANTAGES OF EDR COMPARED TO IADR
Reduced Message Detection: In the IADR algorithm, data content is shifted to
the right by one bit to make room for the Data Compression Bit (DCB) bit. A reduced
message is detected if the DCB, the first bit of the data field, is set. In EDR, offsetting is
not needed because a reduced message is detected by the length comparison of the
received message to the uncompressed message.
Though the first bit of the data field can be used as the DCB flag, it is
inconvenient to shorten the message which is already using the entire data field. For
example, in J1939 protocol [45], SAE defines signals that span the 8-byte data field of
the CAN frame. In this case, IADR is not applicable since IADR reserves one bit out of
data field for DCB.
4.7. PERFORMANCE ANALYSIS
In this section, we present a theoretical analysis of the EDR algorithm to show
how EDR algorithm performs. We also present simulation results which were collected
by running a software simulation using both real and synthetic data.
4.7.1. CAN PROTOCOL
Fig. 12 shows all fields of a standard CAN message. Fig. 13 shows the fields in
detail. The CAN protocol exclusively uses 1/0 (recessive/dominant) edge transitions for
synchronization. To maintain synchronization between all nodes on the bus, sufficient
edge transitions are needed. The stream of all recessive or all dominant bits is
insufficient for synchronization. Therefore, bit stuffing has been introduced in the
69
protocol. After every 5 consecutive identical bits, a complement bit, the stuff bit, is
inserted [46]. The stuff bit gives a forced transition. As a result, the receiving nodes can
synchronize with the transmitting node.
Figure 26: Data frame.
Figure 27: The Data Frame of a CAN Message.
Table IV: List of Notations used in Analysis
Notation Description Unit ∆T Period [sec] BU bus utilization for original message traffic [-] BU* bus utilization for EDR message traffic [-] const_li constant length of the original message i [sec] DL(i,j) length of delta signal j of message i [bit] li(t) length of message i at time t [sec] Li(t) length of unstuffed content of message i at time
t [sec]
i message id [-] j signal index [-] N number of messages in the network [-] ni number of occurrences of message i within ∆T [-]
70
Ni(t) number of data bytes in message i [byte] sbi(t) length due to stuff bits in message i at time t for
the original message traffic, 0 ≤ sbi(t) ≤ 19 [bit]
sbi*(t) length due to stuff bits in message i at time t for EDR message traffic, 0 ≤ sbi(t) ≤ 19
[bit]
SL(t,i,j) length of signal j of message i at time t [bit] Si number of signals in message i [-] OL overhead length [bit] PNC(i,j) probability of signal being represented with no
change during t = 0 ≤ t ≤ ∆T [-]
PES(i,j) probability of signal being represented with in entirety during t = 0 ≤ t ≤ ∆T
[-]
PDS(i,j) probability of signal being represented with delta change during t = 0 ≤ t ≤ ∆T
[-]
PI Performance Improvement [-] wb{} Whole byte operator. Returns the number of bits
of the whole-byte datum. If mod(a,8)=0 then wb{a}=a else wb{a}=a+(8-mod(a,8)).
[bit]
4.7.2. THEORETICAL ANALYSIS OF THE EDR ALGORITHM
All the parameters used in this performance analysis are shown in Table IV.
The bus utilization, BU, of a CAN bus in general, is the sum of the lengths, li(t), of all N
messages in the network divided by the period, ΔT, for which the BU is calculated. The
sum of the lengths is expressed in seconds.
T
tlBU
N
i
T
ti
Δ=
∑ ∑=
Δ
=1 0
)( (1)
For the original messages, the length of messages, const_li, does not change
over time (ignoring changes due to bit stuffing). Thus, the expression for BU becomes
( )
T
lconstnBU
N
iii
Δ=
∑=1
_* (2)
Figure 27 shows the portion of the data frame susceptible to bit stuffing. The
overall data frame length, li(t), is the sum of the unstuffed message length, Li(t), and
71
stuff bits sbi(t), i.e.
)()()( tsbtLtl iii += (3)
The maximum number of bits associated with a standard message including the
stuff bits is 130, as shown in Table V.
Table X Maximum number of bits in a Standard ID (11 bit) CAN message
Number of Bits Description 1 Start of frame 11 Identifier 1 RTR 6 Control bits 64 Data (8 byte) 15 CRC 1 CRC delimiter 1 ACK 1 ACK delimiter 7 End of frame 3 Interframe space 19 Stuff bits (maximum) 130 Total (maximum)
Unstuffed message length, Li(t), is the sum of all signal lengths, SL(t,i,j), of the
data field and overhead bits OL. OL is the sum of all bits in the message frame except
the data field and stuff bits, and that is 47. The sum of all bits in the data field can be
expressed as
∑=
+=iS
ji jitSLOLtL
1
),,()( (4)
Substituting (3) in (1) we get
[ ]
T
tsbtLtBU
N
i
T
tii
Δ
+=
∑ ∑=
Δ
=1 0
)()()( (5)
72
Further substituting Li(t) from (4) in (5) we get
T
jitSLtsbOL
tBU
N
i
T
t
S
jii
i
Δ⎥⎥⎦
⎤
⎢⎢⎣
⎡++
=∑ ∑ ∑
=
Δ
= =1 0 1
),,()(
)( (6)
For the original message traffic, the signal length does not change from one
sending to the next. This means that
),(_),,( jiSLconstjitSL = (7)
Therefore, BU for the original message traffic is
T
jiSLtsbOLn
tBU
N
i
S
jii
i
Δ⎥⎥⎦
⎤
⎢⎢⎣
⎡++
=∑ ∑
= =1 1
),()(
)( (8)
For reduced messages, the signal length of a particular message can be of
different value from one message to another message.
Table XI Possible ),,( jitSL Values
Signal Compression Type SL Value (bits) signal presented with no change 2 signal presented in entirety 1 + SL(i,j) signal presented as delta change 2 + DL(i,j)
Probabilities of different signal behaviors such as no change (PNC), delta of signal
(PDS) and entire signal (PES) of the jth signal of the ith message sum up to 1. Hence,
1),(),(),( =++ jiPjiPjiP ESDSNC (9)
Table XI shows the length (in bits) of signal j of message i for various conditions
of the signals. Using probabilities, the estimated length of the signal can be represented
with a
73
[ ][ ] ⎟⎟
⎠
⎞⎜⎜⎝
⎛+
+++=
),(),(2),(),(1),(2
),,(jiPjiDL
jiPjiSLjiPjitSL
DS
ESNC (10)
Number of bits in the sum of the lengths must be a multiple of 8, whole bytes. We
define operator wb that returns the number of bits of the whole-byte datum. If
mod(a,8)=0, then wb{a}=a, else wb{a}=a+(8-mod(a,8)). Bus utilization (BU*) for the EDR
message traffic becomes
T
jitSLwbtsbOL
tBU
N
i
T
t
S
ji
i
Δ⎥⎥⎦
⎤
⎢⎢⎣
⎡++
=∑ ∑ ∑
=
Δ
= =1 0 1
),,()(*
)(* (11)
Where sbi*(t) is the length of stuff bits of the reduced message. Substituting the
value of SL(t,i,j) from (10) in (11) we get
[ ][ ]
T
jiPjiDLjiPjiSL
jiPwb
tsbOL
tBU
N
i
T
t
S
jDS
ES
NC
i
i
Δ⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
+++
+
++
=
∑ ∑ ∑=
Δ
==
1 01 ),(),(2
),(),(1),(2
)(*
)(* (12)
As long as the EDR bus utilization, BU*, is lower than the bus utilization BU of
the original message traffic, it makes sense having EDR algorithm employed. This
means that, for the EDR algorithm to be useful BU*<BU. Performance improvement, PI,
is the ratio between BU* and BU. Therefore, using (6) and (12) we can write PI as
[ ][ ]
∑ ∑ ∑
∑ ∑
=
Δ
==
= =
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
+++
+
++⎥⎥⎦
⎤
⎢⎢⎣
⎡++
=
N
i
T
t
S
jDS
ES
NC
i
N
i
S
jii
i
i
jiPjiDLjiPjiSL
jiPwb
tsbOL
jiSLtsbOLn
PI
1 01
1 1
),(),(2),(),(1
),(2)(*
),()(
(13)
74
Let us calculate performance improvement of EDR vs. uncompressed bus
utilization for one message having one 64-bit long signal. From (13), performance
improvement is
⎟⎟⎠
⎞⎜⎜⎝
⎛+++
+++++
=
)},(]322[),(]641[),(2{)(*47
64)(47
jiPjiPjiPwbtsb
tsbPI
DSES
NCi
i
⎟⎟⎠
⎞⎜⎜⎝
⎛+
++++
=
)},(34),(65),(2{)(*47
)(111
jiPjiPjiPwbtsb
tsb
DSES
NCi
i
(14)
Let us consider three boundary examples.
1. For 1),( =jiPNC , 0),( =jiPDS and 0),( =jiPES performance improvement is
( ) ))(*55/()(111 tsbtsbPI ii ++= . Since sbi(t) has a maximum value of 19 and a minimum
value of 0, and sbi*(t) has a maximum value of 8 and a minimum value of 0, the
performance improvement is 36.276.1 ≤≤ PI . Thus, for this particular case, we can
send 1.76 to 2.36 times more traffic if we use EDR.
2. For 0),( =jiPNC , 1),( =jiPDS and 0),( =jiPES performance improvement is
( ) ))(*87/()(111 tsbtsbPI ii ++= where, in this case, sbi*(t) has a maximum value of 14 and
a minimum value of 0. For this case, the performance improvement is 49.11.1 ≤≤ PI .
Hence, for this case, we can send 1.1 to 1.49 times more traffic if we use EDR.
3. For 0),( =jiPNC , 0),( =jiPDS and 1),( =jiPES the EDR algorithm does not send the
reduced message that is equal or larger than the original. Therefore, PI=1.
The above examples show that the performance improvement ranges from 1.00 to 2.36,
for this case of a message consisting of one 64-bit signal, which is an ideal case for
compression performance. Fig. 14 and Fig. 15 give a more comprehensive look at the
range of performance improvement for this algorithm. Fig. 14 takes the message
75
example from above and varies the probabilities to show the entire range of
compression performance for this type of message. Fig. 15, on the other hand,
considers a message which has a composition poorly predisposed for compression.
This message consists of 12 signals of length 5 bits and 1 signal of length 4 bits. Fig. 15
also covers the entire domain of probability combinations. The achieved performance
envelope in Fig. 15 is noticeably shifted toward less achieved compression.
Figure 28: Performance Improvement vs. Signal Type Probability for a Message Containing a 64-Bit Long Signal. Note that ),(),(1),( jiPjiPjiP DSNCES −−= .
76
Figure 29: Performance Improvement vs. Signal Type Probability for a Message containing twelve 5-bit Signals and one 4-Bit Signal. Note that ),(),(1),( jiPjiPjiP DSNCES −−= .
These figures illustrate the strong dependence of the algorithm on the signal
dynamics and message structure, but also demonstrate the large compression potential
for the more prevalent steady-state conditions.
4.8. SIMULATION, TEST RESULTS AND DISCUSSION
4.8.1. TEST METHODOLOGY
We used a real-life vehicle CAN message log collected during vehicle testing, as
well as several logs consisting of synthetic message traffic created by manipulating
signal contents of the real-life message log. The performance of EDR, for the tests
based on the real-life message log, is measured by comparing bus utilization of the
original message log with the message log that is produced from original message log
when EDR is applied. The results using the real vehicle data will be discussed first,
77
followed by the results gathered using synthetic data.
4.8.2. TEST OF REAL-LIFE MESSAGE LOGS
Table VII shows the message distribution of a typical passenger vehicle. The
exact details of the messages are not given because of the proprietary concerns. The
bus baud rate is 250 kb/sec. The messages that have smaller periods and greater
lengths contribute the most to bus utilization. We have run the Network Analyzer
considering all messages (Test 1) and considering only the messages that contribute
the most to the bus utilization (Test 2). From Fig. 16, the bus utilization savings of the
EDR using all messages does not differ much from the bus utilization of EDR using the
most frequent messages. The average difference in bus utilization is 1.113 %. Thus,
targeting only frequent messages in the bus network will achieve good amount of BU
savings and reduce complexity and computing overhead in the nodes.
Performance Comparison of Different Data Reduction Algorithms: Fig. 17 shows
performance comparisons, in terms of bus utilization, of three different reduction
algorithms and uncompressed traffic for the real-life test. EDR bus utilization is the
lowest of the three. The average bus utilization difference between EDR algorithm and
the uncompressed traffic is 13.44 %. The average performance improvement, based on
Equation (15) is 1.462. EDR algorithm performs the best for signals of the log. ADR
algorithm performs poorly because of the lack of adaptability. DR algorithm performs
relatively well because of its low overhead and stable signal behavior in this example.
78
Table XII Configuration of the Messages Used in the Analysis.
(Messages marked with "*" are the biggest contributors to bus utilization.)
Msg. ID (hex)
ID (STD or EXT)
Data Length(byte)
Period(ms)
1* 128 STD 3 10 2* 180 STD 4 10 3* 110 STD 8 12 4* 120 STD 7 12 5* 124 STD 5 12 6* 150 STD 8 12 7* 151 STD 8 12 8 140 STD 8 20 9 144 STD 5 20 10 380 STD 5 20 11 388 STD 5 20 12 280 STD 8 32 13 300 STD 8 100 14 308 STD 7 100 15 320 STD 8 100 16 330 STD 3 100 17 410 STD 5 100 18 520 STD 3 100 19 420 STD 2 106 20 2F0 STD 7 106 21 130 STD 6 200 22 348 STD 4 250 23 170 STD 2 500 24 2D0 STD 1 500 25 510 STD 8 1000 26 670 STD 8 1000 27 674 STD 5 1000 28 38A STD 1 1500
79
25
27
29
31
33
35
37
0 5 10 15 20 25Time (sec)
Bus
util
izat
ion
of th
e ve
hicl
e ne
twor
k (%
)
EDR Test1 EDR Test2
Figure 30: Performance Comparison of EDR Considering All Messages (Test1) and the Most Frequent Messages (Test2).
80
Figure 31: Comparison of EDR, ADR, IADR, DR and Uncompressed Bus Utilization for the Real-Life Message Log.
We must note that this log represents only a snapshot of possible signal
behaviors and message compositions. In the next subsection of this dissertation we
examine DR, ADR, IADR and EDR performance based on synthetic signals.
4.8.3. TEST OF ARTIFICIALLY CREATED MESSAGE LOGS
This subsection of the dissertation compares the performance of EDR algorithm
for different signal behaviors. We also examine the performance of the EDR when bus
reaches saturation by increasing the number of simulated messages.
Diverse Signal Behavior Test: Here we used the message configuration from
Table VIII. The first column of Table VIII shows the ID of a message, the second column
81
shows the period of the message in ms, and the third column shows the lengths of
different signals in the message. For example, the ID of the first message in Table VIII
is 1; its period is 10 ms meaning that the message repeats every 10 ms; and there are
11 signals (8,8,8,8,6,6,6,6,6,1,1) in the message. Out of the 11 signals, four are 8-bit
long, five are 6-bit long and 2 are 1-bit long. The baud rate of the bus is assumed 250
kb/sec. We chose a mixture of signal sizes for a realistic network representation.
The left five columns of Table IX show different probabilities, PES, PDS, and
PNC, for the SDN signal type, and PES and PNC for the SN signal type used for the
test. The right four columns of the table show the resulting number of reduced
messages per second for all algorithms. It is desirable to have greater number of
reduced messages and lower overhead per message.
Table XIII Message Configuration
ID Period (ms)
Message content, signal sizes (bit)
1 10 8,8,8,8,6,6,6,6,6,1,1 2 10 8,8,8,6,6,6,6,6,6,1,1,1,1 3 10 8,8,8,8,8,6,6,6,1,1,1,1,1,1 4 10 16,8,8,6,6,6,6,1,1,1,1,1,1,1,1 5 20 16,8,8,8,8,8,6,1,1 6 20 16,8,8,8,6,6,6,2,1,1,1,1 7 20 16,8,8,8,8,6,6,1,1,1,1 8 20 8,8,8,8,8,8,6,2,1,1,1,1,1,1,1,1 9 20 8,8,8,8,8,8,6,6,1,1,1,1 10 20 16,8,8,6,6,6,6,6,2 11 50 16,8,8,6,6,6,6,6,1,1 12 50 16,8,8,8,6,6,6,1,1,1,1,1,1 13 50 8,8,8,8,8,6,6,6,6 14 50 8,8,8,8,8,6,6,6,6 15 50 8,8,8,8,8,6,6,1,1,1,1,1,1,1,1,1,1,1,1 16 50 16,8,8,8,6,6,6,6 17 100 8,8,8,8,6,6,6,6,2,1,1,1,1,1,1 18 100 16,8,8,8,6,6,6,1,1,1,1,1,1 19 100 16,8,8,8,6,6,6,6
82
20 100 8,8,8,8,8,6,6,6,2,1,1,1,1
Table XIV Number of reduced messages per second for different signal type probability.
SDN Type Signal SN Type Signal Number of reduced messages
PES PDS PNC PES PNC DR ADR IADR EDR 1 0 0 1 0 0 0 0 0 0.8 0.2 0 0.8 0 0 0 3 3 0.6 0.40 0 0.6 0 0 0 37 43 0.4 0.60 0 0.4 0 1 20 199 232 0.2 0.80 0 0.2 0 14 120 520 601 0 1 0 0 0 93 585 809 809 0.8 0 0.2 0.8 0.2 224 0 148 154 0.6 0.2 0.2 0.6 0.2 298 0 321 331 0.4 0.4 0.2 0.4 0.2 343 11 485 503 0.2 0.6 0.2 0.2 0.2 397 122 695 725 0 0.8 0.2 0 0.2 512 581 808 808 0.6 0 0.40 0.6 0.4 564 0 511 524 0.4 0.2 0.4 0.4 0.4 614 19 671 679 0.2 0.4 0.4 0.2 0.4 682 132 761 778 0 0.6 0.4 0 0.4 739 581 806 806 0.4 0 0.6 0.4 0.6 754 13 750 758 0.2 0.2 0.6 0.2 0.6 783 94 793 796 0 0.4 0.6 0 0.6 806 581 806 806 0.2 0 0.8 0.2 0.8 803 102 803 804 0 0.2 0.8 0 0.8 802 577 802 802 0 0 1 0 1 809 583 809 809
83
Figure 32: Number of Bytes Saved vs. Signal Type Probability for EDR, DR, IADR, and ADR Algorithms.
84
Figure 33: BU Comparison Between Uncompressed and EDR Traffic for Varying Number of Messages.
For all combinations of the probabilities except one, EDR shows more or the
same number of reduced messages as the other algorithms. For PES(SDN)=0.8,
PDS(SDN)=0, PNC(SDN)=0.2, PES(SN)=0.8 and PNC(SN)=0.2, DR has higher number of
reduced messages than EDR. For this particular case, EDR requires more overhead
bits than DR due to the adaptability nature of EDR. In this limited case, DR performs
better.
Figure 18 shows byte savings in percents vs. different signal type probabilities for
DR, ADR, IADR, and EDR algorithms. For the PNC=1, the highest no change
probability, the DR algorithm has the lowest overhead because all the reduced
85
messages are one data byte long. As the probabilities of the delta change, PDS, and
entire-signal, PES, increase, the benefits of EDR become more evident. Thus, EDR
saves more data bytes in dynamic environments because of its adaptability. In real-life,
signal behaviors are more dynamic than static. Hence, EDR will be the most appropriate
algorithm for practical applications.
Saturation Test: Even though no vehicle manufacturer would ever have bus
utilization near saturation, we wanted to see how EDR behaves when the bus is being
loaded and becoming saturated. We measured average BU starting with 12 messages
and gradually incremented the number of messages in the simulation by 5 until the total
of 42 messages. Table X shows the configuration of initial and added simulated
messages. Uncompressed message traffic reaches saturation with 32 messages, while
the message traffic compressed with EDR algorithm is getting saturated with 37
messages, as shown in Fig. 19. In other words, with EDR, 5 more messages can be
added to the bus before the bus becomes saturated compared to uncompressed traffic.
86
CHAPTER 5.
DISTRIBUTED TECHNIQUE FOR REMOTE PROGRAMMING
5.1. BOOTLOADER
The bootloader is a part of the embedded software of a typical in-vehicle
programmable (IVP) electronic control unit (ECU). The embedded software of the IVP
ECU consists of a bootloader (permanent) and operational (changeable) software. The
bootloader is the very first code executed on power up or reset. It usually consists of a
reduced serial bus handler, flash erase and write functions, and code verification
methods. The main bootloader functionality is to provide the ability for “changeable”
software to be reprogrammed. Typical embedded software is presented in Figure 34.
Figure 34: Typical Execution Flow of Embedded Software in ECU
5.2. DESCRIPTION OF THE CURRENT REPROGRAMMING PROCESS
The programmer, containing the software for the target ECU, is connected to the
vehicle bus. The programmer talks to the target ECU. First, the programmer informs the
ECU about reprogramming. The ECU prepares for reprogramming by erasing FLASH
block(s) of “changeable” memory. FLASH erasing may take a relatively long time. After
the ECU has erased FLASH block(s), the ECU informs the programmer that it is now
87
ready to accept data. The programmer sends the first packet. The ECU receives the
packet and stores it in the RAM buffer. The ECU responds with a message confirming
that the data has been received in the RAM buffer, but the ECU will need some time to
write data from the RAM buffer to the FLASH block. The programmer waits for another
message from the ECU that will say, "ECU wrote data into FLASH block and it is ready
to receive more data". The programmer sends the second packet, and the previously
described steps are repeated until the ECU is completely reprogrammed. A typical
reprogramming process that is currently used is shown in Figure 35.
88
START
Programmer
Request Download Erase FLASH block(s)
Respond saying that the ECU received data butneeds more time to write the data in the FLASH
Send the first packet of the software
Store received packet in the RAM buffer
Write packet from RAM buffer into FLASH block(s).
Respond saying that the ECU wrote the data in the FLASH and it is ready for next packet
Send the second packet of the software
Send the last packetof the software
END
Store received packet in the RAM buffer
Store received packet in the RAM buffer
Respond saying that the ECU received data butneeds more time to write the data in the FLASH
Write packet from RAM buffer into FLASH block(s).
Respond saying that the ECU wrote the data in the FLASH and it is completely programmed
Verify FLASH software image
Positive response
Wait
Wait
Targeted ECU
Time
Figure 35: Current typical reprogramming session.
5.3. PROPOSED IMPLEMENTATION
Erasing FLASH blocks and writing packets of data to FLASH memory takes a
long time. It takes comparatively less time to send packets on the serial bus and for the
ECU to receive packets by storing them in the RAM buffer than the time needed to
erase/write the FLASH memory. Available RAM memory of other ECUs on the vehicle
bus can be used as “cache” memory. The programmer will distribute the software to the
available RAM buffers of the ECUs in the vehicle. After distributing the software to the
89
RAM buffers, the programmer can be disconnected from the vehicle bus.
The programmer initiates the reprogramming session by asking the target ECU
(ECU 0) to prepare for reprogramming. ECU 0 starts erasing FLASH memory block(s)
of “changeable” memory. While ECU 0 is erasing FLASH block(s), the programmer
sends the first packet to the first available ECU (ECU 1) on the bus. ECU 1 stores the
received data in its RAM buffer and responds with a message explaining the status of
the availability of its RAM buffer. If there is more room available in ECU 1, the
programmer will send the second packet of the software to ECU 1. The programmer will
continue to fill the ECU 1 RAM buffers until it receives a message from ECU 1 saying
that ECU 1 RAM buffers are filled. The programmer will continue to fill available ECU
RAM buffers until the entire software for the target ECU has been distributed among the
available RAM buffers or until all available buffers are filled. In this dissertation, we will
consider only the case where the entire software for the target ECU is smaller than the
size of all available RAM buffers together. The case of the software being larger than
the total size of RAM buffers will be considered in future studies. After the programmer
has transmitted the entire software it will then inform ECU 0 or another designated unit
of the packets' whereabouts. The designated ECU accepts this packet whereabouts
information and then later controls the flow of packets. For now, we will assume that the
designated ECU is the target ECU (ECU 0). The process is described in Figure 36,
Figure 37, and Figure 38.
90
Programmer
Request Download Erase FLASH block(s)
Respond saying that the ECU received data and it is ready for next packet
Send the first packet of the software
Store received packet in the RAM buffer
Send the second packet of the software
Targeted ECU (ECU0)
ECU1
Respond saying that the ECU received data and it is ready for next packet
Store received packet in the RAM buffer
Send the next packet of the software
Respond saying that the ECU receiveddata and the RAM buffer is full
Store received packet in the RAM buffer
ECU2
Send the next packet of the software
Store received packet in the RAM buffer
Respond saying that the ECU received data and it is ready for next packet
Send the next packet of the software
Respond saying that the ECU receiveddata and the RAM buffer is full
Store received packet in the RAM buffer
ECU K
Send the last packet of the software
Store received packet in the RAM buffer
Respond saying that the ECU received data and it is ready for next packet
START
BA
Figure 36: Proposed Reprogramming Session part 1
91
Programmer
ECU 0 erased FLASH blocks
Targeted ECU (ECU0) ECU1 ECU2 ECU K
Sends the information about location of the packet.
Request softwarepackets
Send the first software packet
Store received packet in the RAM buffer
Respond saying that the ECU received data but needs more time to write the data in the FLASH
Send the last packet from ECU1 RAM buff.
Store received packet in the RAM buffer
Request softwarepackets
Send the next software packet
Send the last packet from ECU2 RAM buff.
Store received packet in the RAM buffer
Respond saying that the ECU received data but needs more time to write the data in the FLASH
Store received packet in the RAM buffer
Write the packet in the FLASH
Respond saying that the ECU wrote the data in the FLASH and it is ready for next packet.
Wait
Write the packet in the FLASH
END
Wait
BA
C
Figure 37: Proposed Reprogramming Session part 2
92
Programmer Targeted ECU (ECU0) ECU1 ECU2 ECU K
Send the next software packet
Send the last packet from ECU K RAM buff.
Request softwarepackets
Store received packet in the RAM buffer
Respond saying that the ECU received data but needs more time to write the data in the FLASH
Store received packet in the RAM buffer
Write the packet in the FLASH
Verify software image in FLASH
Respond saying ECU 0 completely reprogrammed and all buffers can be flushed.
END
END
END END
Flush RAM buffer
Flush RAM buffer Flush RAM buffer
C
Figure 38: Proposed Reprogramming Session part 3
5.4. FEASIBILITY STUDY
An example of one vehicle bus is shown in Figure 39. There are 16 ECUs in the
vehicle bus. Let us consider a scenario where all ECUs have the same microcontroller
(micro). Let us make several assumptions. The micro has 6 kilobytes of RAM. The size
of the “changeable” code is 64 K. The time needed to erase the FLASH block is 1.5
seconds. The time needed to write one byte to FLASH is 10 microseconds. The serial
bus speed is 125 kilobits per second. In this simple study we are not considering
message overhead, message-processing, latency, and response time and many other
things that add to the reprogramming time.
CURRENT REPROGRAMMING PROCESS – Ignoring the overhead, the time
93
needed to transfer a one-kilobyte packet to the RAM buffer is 65.5 milliseconds. The
time needed to write one kilobyte to the FLASH block is 10.24 milliseconds. The total
time the programmer has to be on the bus is the sum of the time to erase the FLASH
block, the time to transfer data to the RAM buffer and the time to write data to FLASH.
The total time is 1.5 (seconds) + 64 x (10.24 + 65.5) milliseconds = 6.347 seconds.
PROPOSED REPROGRAMMING PROCESS - Currently when the vehicle is
being reprogrammed, none of the ECUs in the vehicle is performing any operations. For
example, say a vehicle is at the dealer and the technician is reprogramming the target
ECU. Let us assume that 5 kilobytes can be used from each ECU for reprogramming
purposes and that 1 kilobyte will be used for storing ECU-critical data. The total time
during which the programmer needs to be on the bus is now only driven by the time
during which the programmer transfers software to the RAM buffers. The time for
erasing the FLASH block and writing data to FLASH is not a part of the total
programmer time. Therefore, the total time the programmer needs to be on the bus is
4.192 seconds. Table I shows several microcontrollers and the estimated programmer's
time savings in the simplified reprogramming model.
94
Figure 39: Programmer Connected to the Vehicle Serial Bus
95
Table XV -Programmer's time saved
Micro RAM [KB]
Time to
Erase 64 K
FLASH [sec]
Protocol speed
[Kb/sec]
Time to write 1 KB to FLASH
[ms]
Current implementation
programmer time [sec]
Proposed implementation
programmer time [sec]
Programmer time saved
[sec]
st9f150 6.00 1.5000 125 10.24 6.349664 4.194304 2.15536 st9f120 4.00 1.5000 125 10.24 6.349664 4.194304 2.15536 PIC18F6620 3.75 2.0000 125 96.00 12.338304 4.194304 8.144 PIC18F8620 3.75 2.0000 125 96.00 12.338304 4.194304 8.144 LPC2119 16.00 0.4000 125 2.00 4.722304 4.194304 0.528 LPC2129 16.00 0.4000 125 2.00 4.722304 4.194304 0.528 68HC912D60A 8.00 0.0180 125 1.00 4.276304 4.194304 0.082
96
CHAPTER 6.
EXPERIMENTAL CHARACTERIZATION OF THE DEDICATED SHORT RANGE
COMMUNICATION
6.1. INTERFERENCE MODEL BASED ON TWO-RAY GROUND REFLECTION
The communication scenario considered here is two vehicles separated by a
certain distance and approaching each other at a certain speed in an open area without
obstacles (apart from the reflective ground). The simplest way to model the signal
strength propagation over distance would be to use the free space propagation model
(15)
2
4)( ⎟
⎠⎞
⎜⎝⎛=
dLGGPdP rtt
r πλ (15)
where Pr(d) is the received power of the separation distance d (m), Pt is the transmitted
power, Gt is the transmitter antenna gain, Gr is the receiver antenna gain, λ is the
wavelength (m), and L is the system loss factor (≥ 1) accounting for losses other than
propagation [70]. This equation applies when there is an unobstructed line-of-sight
between the transmitter and receiver. However, this model does not take into account
the effect of ground reflections. To account for the interference from the ground
reflections, the two-ray ground reflection model will be used here. Table XVI explains
the notation used.
Table XVI - Notation
Symbol Description Unit d Distance between the TX and
RX vehicle [m]
dLOS Distance traveled by the line-of- [m]
97
sight wave component dNLOS Distance traveled by the non-
line-of-sight wave component [m]
Θi Angle of incidence [rad] Θk Critical angle of reflection [rad] ht Height of transmitter antenna [m] hr Height of receiver antenna [m] λi Wavelength of ith sub-carrier [m] λMF Wavelength of mid-frequency
carrier
fi Frequency of ith sub-carrier [Hz] Ti Period (1/ fc) of ith sub-carrier [s] ΔT Reflected wave delay [s] c Speed of light [m/s] ωi Angular frequency of a sub-
carrier i [rad/sec]
i Sub-carrier index Ei Amplitude of the electric field
due to LOS wave component of ith sub-carrier
E i` Amplitude of the electric field due to reflected wave component of ith sub-carrier
┴ Denotes horizontal polarization (normal to the plane of incidence)
|| Denotes vertical polarization (in the plane of incidence)
sLOS Line-of-sight signal sNLOS Non-line-of-sight (reflected)
signal
k Number of wavelengths that reflected wave traveled longer than LOS wave.
dF Fresnel zone distance [m] Г|| Reflection coefficient for
horizontal polarization
Г┴ Reflection coefficient for vertical polarization
εr Relative permittivity The two-ray propagation model for the open road test scenario considered here,
where two vehicles are communicating while approaching each other, is illustrated in
Figure 40.
98
LOS component
D
ht hr
TX RXΘi
Reflected componentΘr
a)
dLOS
d
ht
hr
TX
RXdNLOS
ht
b)
ht-hr
ht+hr
Figure 40: Illustration of: a) two-ray propagation between the two vehicle and b) method of images to find the path difference between the LOS and NLOS component.
In general, a wave traveling through free space and incident on a surface will be
partially reflected from the surface and partially absorbed. The proportion depends on
the conductive properties of the surface material. In case of a perfect conductor, all of
the energy will be reflected and none absorbed. When the material is a dielectric, there
is both reflection and absorption. The proportion between the two behaviors will depend
on the wave polarization, the angle of incidence, and the surface material. For a wave
traveling through free space and incident on a surface with relative permittivity εr, the
reflection coefficients for vertical and horizontal polarizations are given by the following
expressions, where the angle argument was modified from [70] to suit here-used
definition of θi in Figure 40.
irir
irir
i
r
EE
θεθε
θεθε2
2
||sincos
sincos
−+
−+−==Γ (16)
99
iri
iri
i
r
EE
θεθ
θεθ2
2
sincos
sincos
−+
−−=⊥=Γ (17)
Substituting θi = 90° in (16) and (17) gives |Γ||| = 1 and Γ┴ = -1. This shows that
for grazing incidence (θi approaches 90°) the reflection behavior approaches that of
perfect reflection (no absorption) regardless of wave polarization or electric properties of
ground. Based on this, ground is modeled as a perfect reflector in the development that
follows.
Figure 41: Absolute real value of reflection coefficient for vertical and horizontal polarization for εr = 25. Brewster angle is 78.50.
0 10 20 30 40 50 60 70 80 900
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Practical angles→
vertical polarizationhorizontal polarization
Incidence Angle
Ref
lect
ion
Coe
ffici
ent
100
Figure 41 shows absolute values of reflection coefficients of horizontally and
vertically polarized wave for a typical relative permittivity εr = 6 of an asphalt surface
[76]. However, Rustako et al in [77] and Supanakoon et al in [78] for their calculation
use εr = 15 and εr = 25 as relative permittivity of the ground.
||┴
┴
||┴
ΘΘ
Brewster Angle
Incident wave
Reflected Wave900
Transmitted wave
Figure 42: Polarization by reflection
Reflection coefficient for vertical polarization for near grazing angle is much
smaller than for horizontal polarization. Therefore the effect of the vertically polarized
ground reflected wave will be much less for the angles of interest. For the Brewster
angle there will be no vertically polarized waves reflected as illustrated in Figure 42.
101
Even though antenna specification indicates the vertical polarization actual wave has
some horizontal component as well. This is because of the imperfections of the antenna
and the ground plane which is in this case vehicle roof.
In order to characterize the angle of incidence, θi, consider the omni-directional
antenna used in preformed experiments, and in similar applications at its mounting
position on the roof of the test vehicle. The antenna is designed to radiate energy in
360° of the horizontal plane within approximately 0 – 30° of elevation. However, most
waves that travel downward from the transmitter – all except a few degrees down from
the horizontal - will be blocked by the vehicle body, as illustrated in Figure 43. The
receiver vehicle’s body will similarly block incoming waves. Therefore, the line of sight
(LOS) waves traveling almost parallel to the ground (depending on antenna heights),
and the waves within a few downward degrees of this line which graze the ground and
reflect to the receiver from the ground, will be the only expected sources of the received
energy in the open environment considered here. The expected small tilt from the
horizontal for the grazing waves motivates the assumption of θi being close to 90° in
further derivations.
102
Figure 43: Illustration of energy propagation from the antenna mounted on vehicle’s roof.
According to laws of reflection in dielectrics the incident and reflected angles are
the same [70].
ri θθ = (18)
The distance an LOS wave travels between the transmitter and receiver (19) can
be derived from Figure 40b.
( ) 22 dhhd rtLOS +−= (19)
The distance traveled by a non line-of-sight (NLOS) wave reflected from the
ground (20) can be derived using the method of images in Figure 40c.
( ) 22 dhhd trNLOS ++= (20)
The receiver will get the reflected (NLOS) wave with a certain delay ΔT
compared to the LOS wave. This delay will depend on the difference in distances
traveled by the two waves and the speed of light (21).
103
cddT LOSNLOS −
=Δ
( ) ( )c
dhhdhh rttr2222 +−−++
= (21)
The received LOS wave has the following form
( ) ∑−=
=c
ci
tjiLOS
ieEts )(ω (22)
where the summation is over index c spanning all sub-carriers in a DSRC
channel with i ∈ [-26, 26]. The sub-carrier i angular frequency is related to the sub-
carrier frequency fi by
ii fπω 2= (23)
and the sub-carrier i wavelength is
ii f
c=λ (24)
When a horizontally polarized wave reflects from the hard road surface, it
undergoes a π change in phase. For the vertical polarization there is no change in
phase [70]. Therefore, the reflected horizontally polarized wave at the receiver looks like
(25)
( ) ∑−=
+Δ−−⊥ =26
26
))((`
i
Tc
dtj
iNLOS
LOSieEts
πω
∑−=
Δ−−−=
26
26
))((`
i
Tc
dtj
i
LOSieE
ω (25)
and the vertically polarized wave looks like (26).
104
( ) ∑−=
Δ−−=
26
26
)(`||
i
Tc
dtj
iNLOS
LOSieEts
ω (26)
The signal at the receiver, s(t), will be the sum of the LOS and NLOS waves.
Equations (27) and (28) are the expressions for horizontally and vertically polarized
waves, respectively.
( ) ( ) ( )tststs NLOSLOS +=
( ) ∑∑−=
Δ−−
−=
−
⊥ −=26
26
))((`26
26
))((
i
Tc
dtj
ii
cdtj
i
LOSi
LOSi eEeEts
ωω (27)
( ) ∑∑−=
Δ−−
−=
−+=
26
26
))((`26
26
))((
||i
Tc
dtj
ii
cd
tj
i
LOSi
LOSi eEeEts
ωω (28)
From the horizontal polarization expression (27), which undergoes a phase
change of π radians, it can be seen that the NLOS interference will be the most
destructive, resulting in the received strength null points, when (13) is at minimum,
which occurs at
,...]2,1,0[,2 ∈=Δ kkT i πω (29)
giving
ifkT =Δ (30)
This can be related to the geometry using (21):
( ) ( )
( ) ( )c
dhhdhhck
cdhhdhh
fk
rttr
rttr
i
2222
2222
+−−++=
⎟⎠⎞
⎜⎝⎛
+−−++=
λ
105
( ) ( ) 2222 dhhdhhk rttr +−−++=λ (31)
To be able to conveniently iterate k starting with zero for both polarizations
( ,...]2,1,0[∈k ), this is rewritten as
( ) ( ) 2222 dhhdhhk rttr +−−++=+ λλ (32)
Similarly, for vertical polarization from (28), where the ground reflected wave
stays in phase with the LOS wave, the null points are expected at
,...]2,1,0[,2 ∈+=Δ kkT i ππω (33)
and this can be related to the geometry using
( ) ( ) 2222
2dhhdhhk rttr +−−++=+ λλ (34)
Equations (32) and (34) can be solved for dk, which represents the distance
between vehicles at which the reflected wave will be most destructive and the reception
null points for the horizontal (35) and vertical polarization (36) are expected.
( ) ( )222
)(24
rtii
iitrk hh
kkhhd −−⎟⎟
⎠
⎞⎜⎜⎝
⎛+
+−=⊥
λλλλ (35)
( )2
22
||
)2
(2
24
rt
ii
ii
tr
k hhk
khhd −−
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
+
⎟⎠⎞
⎜⎝⎛ +−
=λλ
λλ
(36)
For k = 0, rthh4<<λ and rt hh ≈ equation (36) becomes that of the distance where
the first Fresnel zone touches ground, dF.
Fi
tr dhhd ==λ
4||0 (37)
We define the critical wave as a ground reflected wave that arrives at the
106
receiver exactly out of phase with the LOS wave. The first critical wave occurs at k = 0,
the second at k = 1 and so on. Solving the critical distance dk for different values of k in
equations (35) and (36) will produce a multiplicity of null points. However, consider the
angle of incidence of critical waves. It can be determined from the geometry of Figure
40 and is given by (38).
k
trk d
hh +−=Θ arctan
2π (38)
This angle is calculated for the experimental antenna heights hr = ht = 1.45 m and
a range of ⊥kd values in Table XVII. Recalling the earlier discussion based on the
vehicle body obstruction which limits the incident angles to those close to 90° implies
that only k = 0 is of practical significance. This means that for the prediction of the null
points only k = 0 needs to be considered.
Table XVII Predicted null points, incident angles in degrees and reflection coefficients for vertical and
horizontal polarization for hr = ht = 1.45 m
horizontal polarization vertical polarization k ⊥
kd Θk Γ┴ ||kd Θk Γ┴
0 82.16 87.98 -0.986 164.38 88.99 0.835 1 41.05 85.96 -0.972 54.76 86.97 0.575 2 27.32 83.94 -0.958 32.81 84.95 0.380 3 20.45 81.93 -0.944 23.39 82.93 0.229 4 16.31 79.92 -0.931 18.15 80.92 0.108
There can also be a multiplicity of null points due to a range of sub-carrier
frequencies. However, since sub-carriers have the frequency spacing of 156.25 kHz,
the differences in wavelengths between sub-carriers are small (a fraction of a
millimeter). Therefore we will only consider the mid-frequency (5.860 GHz) wavelength
107
for the channel 178, which is λMF =0.0511591 m.
Combing those simplifications yields the predicated null points for k = 0 with
antenna heights hr = ht = 1.45 m at ⊥kd = 82.2 m and ||
kd = 164.4 m. The experimental work
presented later in this dissertation shows that the horizontal polarization critical distance
of 82.2 m better matches the experimental data in spite of the fact that the antennas
used have vertical polarization. The reason for this is not know at this time. This
correspondence also carries over to the analysis of previously published experimental
data. Thus, the method developed here suggests using the ⊥kd distance, as derived
above, for predicting the null points in open road scenarios where two vehicles are
approaching each other and using vertically polarized antennas.
6.2. DIFFRACTION
In a general case, in addition to the effects of reflection, the received signal
strength will depend on the effects of diffraction and scattering. Diffraction is present but
not expected to affect null points calculation in significant manner. In this
communication scenario the LOS path is clear of obstacles.
6.3. SCATTERING AND SURFACE ROUGHNESS CONSIDERATION
The possibility of scattering is considered here. Scattering depends on surface
roughness. Landron, Feuerstein, and Rappaport define the commonly used Rayleigh
criterion as a test for surface roughness in [69]. The threshold height hc is given by
ich
θλ
cos8= (39)
where θi is incident angle as shown in Figure 44. A surface is considered to be
rough when its minimum to maximum protuberance height, h, is greater than hc, and
108
smooth otherwise. For the angles θi close to 90°, which are the angles of most interest
to us, the threshold height becomes very large due the cosine of θi approaching
zero. We can assume that the road undulations do not exceed such large values and
that therefore the road is smooth. Scattering can be ignored for smooth surfaces and
thus will not be considered further here.
Figure 44: Surface roughness protuberances
6.4. EXPERIMENTAL METHOD
6.4.1. EXPERIMENTAL VEHICLES
We converted two ordinary vehicles into experimental platforms by equipping
them with additional hardware shown in Figure 45 and Figure 46. As figures show, each
vehicles is equipped with a Wireless Safety Unit (WSU) provided by Denso with
integrated 802.11p-based DSRC radio (Figure 45), an omni-directional roof-mounted
Nippon DSRC antenna (Figure 46), a Novatel Global Positioning System (GPS) receiver
antenna (Figure 46), a GPS receiver (Figure 45), and a software application running on
the WSU processor sending BSM messages in wireless short message (WSM) type at
the period of 100 ms. We have slightly enhanced the content of the BSM to include a
sequence number. Messages are sent at 20 dBm with a ~4 dB cable loss yielding ~16
109
dBm transmit power. The data rate is 6 Mbps. The antenna height for both vehicles is
1.45 m. The antennas are reported as vertically polarized by the manufacturer [74].
Table XVIII lists the specifics of the DSRC and GPS antennas and receivers. Table I
shows the most relevant DSRC physical layer parameters.
Figure 45: Hardware added to trunk to convert original vehicle into experimental vehicle.
GPS Antenna
DSRC Antenna
110
Figure 46: DSRC and GPS antennas mounted on vehicle roof.
Table XVIII: DSRC and GPS Component Specifics
Component Manufacturer or Part
Additional Information
DSRC receiver
Atheros 802.11 WiFi chipset
DSRC antenna
Nippon 802.11a/DSRC DEN-HA001
average gain at horizon: 0 dBi
GPS receiver Novatel OEMV absolute accuracy 1-3 m GPS antenna Novatel OEMV
The experimental additions are interfaced as shown in Figure 47. Most of the
available WSU interfaces are used: 1) a serial port is used to extract raw positioning
data from the GPS receiver, 2) an SMA connector interfaces to the Nippon DSRC
antenna, 3) a CAN port provides dynamic vehicle information from the vehicle network,
4) another serial port, as well as 5) the Ethernet port are used to interface the WSU with
the test laptop (not shown in Figure 47), and 6) a memory flash card is used for storing
log files.
Figure 47: Logical blocks of vehicle equipment.
111
6.4.2. EXPERIMENTAL SETTING
The experiments were conducted on October 1 and October 2, 2008 in the metro
Detroit area (Figure 48). The road is considered an open road due to clear lines of sight
and road edges mostly clear of potential multipath sources. The speed limit of the
arterial road allowed testing at 55 mph.
Figure 48: Location of the open area test. Open road with 55 mph speed limit
6.4.3. EXPERIMENTAL PROCEDURE
Each test pass consisted of droving the two experimental vehicles on the open
road toward each other in a straight line (Figure 49). We refer to the subject vehicle, in
this case also the receiving vehicle, as the host vehicle (HV) and other participating
vehicles (only one in this case) as remote vehicles (RM). The speed of both vehicles
was 55 mph. Vehicles were sending out BSM messages every 100 ms. Vehicles were
completely entering and completely exiting the communication range for each test run.
Specifically, the turnaround points were at a vehicle distance of 2000 m where no
communication between the vehicles was observed. The testing included ten vehicle
passes.
112
Figure 49: Visualization of two vehicles approaching each other in the opposite direction.
6.4.4. DATA LOGGING AND PROCESSING
The BSMs exchanged between the two test vehicles contain the critical
information about vehicle position, speed, acceleration, heading, along with the
message time stamp. BSMs transmitted by the HV and received by the HV from the RV
were logged. Additionally, the Receive Signal Strength Indicator (RSSI) computed by
the WSU as the average power of every received packet was also logged. The RSSI of
the transmitted packet is assumed to be constant at 16 dBm (20 dBm minus the
expected cable loss) and thus was not logged. The logged data was stored to the flash
memory card of the WSU. In post processing the vehicle separation distance is
calculated based on GPS positions of the test vehicles using the Haversine formula
[63][64]. When using the formula, the Earth radius was optimized for locations at
approximately 42 degrees from the equator.
6.5. EXPERIMENTAL RESULTS
The data collected using the experimental method just described is presented in
Figure 50. The data exhibits a reception null point at about 90 m. There is also a
reception floor line at about -95 dB that is caused by the sensitivity limit of the
experimental hardware. When the two vehicles are less than ⊥0d away from each other,
113
receiver power varies dramatically. It is expected that these rapid changes in the power
levels are due to the sum of the line of site wave, different multipath waves, and
diffraction waves of the surrounding environment. However, for the vehicle distances
beyond ⊥0d , the power at the receiver is mainly the sum of the ground-reflection (asphalt-
reflection) wave and the line of site wave. At these distances further than ⊥0d , the
received data follows the inverse power law. The received data can be approximately
modeled using the inverse power law in two curves: the first curve is proportional to 1/d4
and the second curve is proportional to 1/d2.85.
0 50 100 150 200 250 300 350 400-100
-90
-80
-70
-60
-50
-40
-30
Distance [m]
RS
SI [
dBm
]
RSSI AverageRSSI Rawn1=4
n2=2.85
2
1~ nd
1
1~ nd
⊥0d
Figure 50: RSSI versus separation distance for two vehicles approaching each other on open road.
6.6. NULL-POINT PREDICTION APPLICATION TO EXPERIMENTAL DATA
114
6.6.1. ANALYSIS AUTHOR’S EXPERIMENTAL DATA
In the experimental method, both the transmitting and receiving antennas are
vertically polarized. According to the previously presented method for the vertical
polarization, the null point is expected at ⊥kd calculated using (35). Substituting the
parameters of this experiment (hr = ht = 1.45 m, λMF =0.0511591 m) in (35) yields the
value of 82.2 m. As shown in Figure 50, the critical distance ⊥0d of the first null point (k =
0) was experimentally determined to be around 90 m. This experimental value appears
to be very close to the predicted value of 82.2 m. The difference between the predicted
critical distance and the observed critical distance is relatively small considering the
potential sources of inaccuracy: the difference in the elevation of the road (land
contour), the GPS error, the unsynchronized GPS locations of two test vehicles due to
communication and processing timing (BSM updates RV location every 0.1 s and in the
worst case can delay sending of the GPS reading by 0.1 resulting in a source of
inaccuracy between two vehicles that is in the worst case as large as 2 times 0.1 s at 55
mph, or 4.8 m). The observed difference from the prediction (7.8 m) is within the order
of magnitude of the last described source of error (4.8 m). More importantly, we next
apply the null point prediction method to experimental data in other literature, where this
approach provides better correspondence with experimental data then the reported
explanations.
6.6.2. ANALYSIS OF VII-C OPEN AREA TEST
To verify the approach in predicting null points in the DSRC based systems we
have looked into a related communication test performed by the VII consortium [68]. It
measured the RSSI at the vehicle receiver, or on-board equipment (OBE), at various
115
distances from the transmitter, (road side equipment, RSE) sending DSRC messages
on the control channel (Channel 178) (Figure 51). The RSE height was reported to be 5
m, however, the RSE transmitting antenna is pointed downward and the effective height
may have been lower. Test was performed with low and high profile receiving vehicles.
The OBE receiver antenna height for the low profile vehicle was 58 inches (1.47 m) and
for the high profile 70 inches (1.78 m). The mid frequency wavelength for the control
channel was λMF =0.0508985 m. That test was preformed at an open area on the
deserted Dan Derby airport in Ohio [68].
RSE
ht
dk
OBEht
Figure 51: VIIC test setup
Table XIX: Null point predictions for low (hr =1.47 m) and high (hr= 1.78 m) profile vehicles and transmitter
antenna heights ht=5 m.
⊥kd [m] ||
kd [m] k hr=1.47 hr= 1.78 hr=1.47 hr= 1.78 0 287.5 348.2 575.1 696.4 1 143.7 174.0 191.7 232.1 2 95.7 116.0 114.9 139.2 3 71.7 86.9 82.0 99.4
Table XIX shows the calculated critical distances for the transmitter antenna
height of 5 m and two receiver heights, 1.47 and 1.78 m, using both horizontal and
116
vertical polarization derivations. Figure 52 shows the typical signal strength vs. distance
behavior reproduced from [68] with critical distance marking superimposed for this
dissertation. In agreement with the experimental data, the null points predicted in the
Table XIX using horizontal polarization derivation (35) indicate a good fit for the null
points observed experimentally.
||0d
||2d ||
2d
⊥0d
⊥1d⊥
2d
Figure 52: VII Project: Relative average RSSI vs distance between transmitter and receiver. Predicted points d0, d1, and d2 are for the ht = 5 m and hr = 1.47 m. Reproduced from [68] with critical distance marking superimposed for this dissertation. (Note that RSSI in this figure is a
relative value not expressed in dBm.)
6.6.3. ANALYSIS OF VSC OPEN AREA TEST
The VSC project conducted similar testing in an on open area at Milford proving
grounds. The Appendix G of the “Vehicle Safety Communications Project Final Report”
[75] presents results of the RSSI measurements vs. distance between an RSE and an
OBE. The RSE antenna height was 3.04 m and the OBE antenna height was 1.45 m.
The mid-frequency carrier was 5.8 GHz. Figure 53 is reproduced form the report but the
117
marking of null points ⊥0d and ⊥
1d , as calculated using (35), is added for purposes of this
analysis. The figure shows that the predicted null points match experimentally gathered
data.
⊥1d⊥
0d ⊥1d ⊥
0d
Figure 53: VSC Project: Relative average RSSI vs distance between transmitter and receiver. Predicted points d0 and d1, are for the ht = 3.04 m and hr = 1.45 m. Reproduced from [75] with
null points marking added. (Note that RSSI in this figure is a relative value not a dBm.)
6.6.4. ANALYSIS OF BREAKPOINTS FROM MASUI, KOBAYASHI AND
AKAIKE
Masui, Kobayashi and Akaike experimentally characterized the radio
communication channel at the frequencies of 3.35, 8.45, and 15.75 GHz in an urban
LOS environment ([65], [66]). Their environment should not be considered an open area
due to streets being lined by 10 to 15 story high buildings. However, the LOS and
ground reflections should still expected to be primary contributors to signal strength.
They modeled they experimental data using two-slope log-linear lines. The authors
were initially predicting the breakpoint between the slopes using the distance where first
Fresnel zone touches the ground. This yielded values that did not correspond well with
118
their experimental data (Table XX). They attributed the differences to reflections from
objects in the street, such as vehicles and traffic, and stipulated that the presence of
these objects gives an effective increase in the height of the ground, or correspondingly,
an effective decrease in the height of antennas. They use this concept of effective road
height to match the experimental data to the Fresnel zone values, thus making the
effective road height both an indicator of discrepancy between their experimental data
and the Fresnel zone theory and also a contributive result of the experiment that
characterizes the obstacles in the test environment. Table XX shows that the approach
of Equation (35) for horizontal polarization gives a much better correspondence to
experimental data from [66] than obtained by the author using the Fresnel zone
approach.
Table XX Masui Data Breakpoints
Experimental Parameters Breakpoint Distance (m) ht hr f λ Reported Eq. (35) (m) (m) (GHz) (m) Experimental Theoretical Theoretical4 2.7 3.35 0.089490 170 480 241 8 2.7 3.35 0.089490 320 970 483 4 2.7 8.45 0.035478 300 1220 609 8 2.7 8.45 0.035478 760 2430 1220 4 2.7 15.75 0.019034 680 2270 1130
6.6.5. ANALYSIS OF CRITICAL DISTANCE FROM CHENG, HENTY, STANCIL,
BAI, AND MUDALIGE
To explain drops in the RSSI values at the vehicle separation distance of around
100 m, Cheng, Henty, Stancil, Bai, and Mudalige in [67] used the first Fresnel zone of
the vertically polarized rays. Cheng et al found big discrepancies between the
119
theoretical expectations based on the Fresnel zone and the experimental results and
accredited those discrepancies to the multipath from other vehicles, people, and
buildings. They noticed drops in RSSI values at the separation distance of around 100
m. They used two vehicles, one a transmitter and the other receiver with ht = 1.51 m hr
= 1.93 m, for a continuous wave signal at 5.9 GHz (wavelength λ = 0.050812 m).
Equation (35), for k = 0, produces the critical distance of ⊥0D = 113 m which is much
closer to the observed critical distance then using the distance where the first Fresnel
zone (dF) touches the ground at dF = 225 m as [67] suggested.
120
CHAPTER 7.
CONCLUSION
This work proposes an efficient algorithm for remote software update in intelligent
vehicles. To verify the algorithm effectiveness, we developed computer program that
simulates 100,000 vehicles traveling on the map of greater Michigan area and being
served by 1323 towers. We ran the algorithm in two different scenarios and compared
results. We concluded that for different conditions the algorithm can be tuned for the
best performance. Using simulation, we found out that for Scenario A (maximum speed
of vehicles 50 m/s and unicast cost is 500 μs), although the best performance is
achieved using the smallest retransmit buffer, the choice of retransmit buffer does not
affect performance significantly. For Scenario B (maximum speed of vehicles 17 m/s
and unicast cost is 500000 μs), performance significantly improves with the increase of
the retransmit buffer size.
This work also presented an Enhanced Data Reduction (EDR) algorithm for
reducing bus utilization in future vehicles. The proposed scheme does not require any
changes to the existing wired infrastructure. We showed, using simulation results, that
the EDR can be beneficially used. In the simulation, we considered realistic examples of
message traffic. We have proposed an improvement to detection of data reduction
usage by looking at message length. Also, we proposed a method to manage signals of
shorter length (<5 bits) by combining them into groups that are handled as single
signals. A solution is provided for handling the worst-case conditions for compression,
which arise during network initialization. The cost of the algorithm in terms of memory
usage is under 300 bytes, which is very insignificant compared to the amount of ROM
121
and RAM available in today’s microcontrollers. The impact of the algorithm on the end-
to-end message latency is also very insignificant. The algorithm can also be used for
other networking protocols as long as some time slots are available which are not
reserved for any particular messages.
This dissertation work also studied the characteristics of communication media
for V2V and V2I communications. Transmitted waves are bounced off various objects.
The most destructive multipath waves are the ones that travel exactly multiple
wavelengths of signal carrier. In the open area test case, those waves are found to be
the waves reflected off the traveled road with a small angle from the ground plane.
Destructive waves with larger angles will be blocked by the vehicle body and will not
reach the receiver antenna. We derived a formula for predicting DSRC null locations,
with respect to the vehicle separation distance, from the two-ray model. We used
vertically polarized antennas. We found big discrepancies between expected and
experimentally collected Fresnel break-point distances. However we found that break-
point distances calculation better matches distance calculation formula for horizontal
polarization. Predicted vehicle distance values for the nulls are good fit for
experimentally gathered data as well as the data from several previous researches. In
addition, the first prediction null point better fits the breakpoint for the piecewise channel
models than the break point described with the distance the first Fresnel zone touches
ground. Null prediction formula depends on the antenna heights. Therefore this
dissertation work recommends extension of the current SAE J2735 protocol to include
antenna height information in the BSM.
122
Acronyms
AC: Automotive Company
ACK: Acknowledgement
ADR: Adaptive Data Reduction
BCM: Body Control Module
BSM: Basic Safety Message
BU: Bus Utilization
CAN: Control Area Network
CCH: Control Channel
CCP: CAN Calibration Protocol
CD: Compact Disk
CPU: Central Processing Unit
CRC: Cyclic Redundancy Check
CS: Central Server
DAB: Digital Audio Broadcasting
DCB: Data Compression Bit
DCC: Data Compression Code
DR: Data Reduction
DSRC: Dedicated Short Range Communication
DVB: Digital Video Broadcasting
DVD: Digital Versatile Disc
ECM: Engine Control Module
ECU: Electronic Control Module
123
EDGE: Enhanced Data rates for GSM Evolution
EDR: Enhanced Data Reduction
EXT: Extended
FCC: Federal Communications Commission
FEC: Forward Error Correction
FOTA: Firmware Over-the-Air
GERAN: GSM EDGE Radio Access Network
GPS: Global Positioning System
GSM: Global System for Mobile communications
HV: Host Vehicle
HVAC: Heating, Ventilating, and Air Conditioning
IEEE: Institute of Electrical and Electronics Engineers
IVP: In-Vehicle Programmable
ITS: Intelligent Transportation System
LIN: Local Interconnect Network
LOS: Line of Sight
MT: Multicasting Tower
NLOS: Non Line of Sight
OBE: On Board Equipment
OEM: Original Equipment Manufacturer
OFDM: Orthogonal Frequency-Division Multiplexing
PCM: Powertrain Control Module
PDA: Personal Digital Assistants
124
PSD: Power Sliding Door
RAM: Random Access Memory
RAN: Radio Access Network
RM: Regional Manager
ROM: Read Only Memory
RPM: Rotation Per Minute
RSE: Road Side Equipment
RSSI: Received Signal Strength Indicator
RT: Reduction Type
RV: Remote Vehicle
RX: Receive
SAE: Society of Automotive Engineers
SCH: Service Channel
SDN: Signal, Delta, No-change
SN: Signal, No-change
STD: Standard
TCU: Telematics Control Unit
TX: Transmit
USDOT: United States Department of Transportation
UT: Unicasting Tower
VII: Vehicle Infrastructure Integration
VSC-A: Vehicle Safety Communications – Applications
WSM: Wireless Short Message
125
WSU: Wireless Safety Unit
126
References
[1] R.K. Panta, I. Khalil, and S. Bagchi, "Stream: low overhead wireless reprogramming
for sensor networks," 26th IEEE International Conference on Computer
Communications, Anchorage, Alaska, May 6-12, 2007, pp. 928 - 936.
[2] M. Rossi, G. Zanca, L. Stabellini, and R. Crepaldi, A.F. Harris, and M. Zorzi,
"SYNAPSE: A network reprogramming protocol for wireless sensor networks using
fountain codes," 5th Annual IEEE Communications Society Conference on Sensor,
Mesh and Ad Hoc Communications and Networks, June 16-20, 2008, pp. 188 – 196.
[3] J. Jeong, D. Culler, "Incremental network programming for wireless sensors," 1st
Annual IEEE Communications Society Conference on Sensor and Ad Hoc
Communications and Networks, Santa Clara, CA, Oct. 4-7, 2004, pp. 25 – 33.
[4] N. Reijers and K. Langendoen, "Efficient code distribution in wireless sensor
networks," in Proceedings of the 2nd ACM international conference on Wireless
sensor networks and applications, San Diego, CA, 2003, pp. 60-67.
[5] W. Bromley, B.R. Carl, S. Chang, B. Crull, A. Ditchfield, D. Essenmacher, and M.
Kapolka, “System, method and computer program product for remote vehicle
diagnostics, monitoring, configuring and reprogramming,” U.S. Patent No. 7155321,
Dec. 26, 2006.
[6] R.M. Fosler, "A CAN bootloader for PIC18F CAN microcontrollers," Appl. Note 247,
available at ww1.microchip.com/downloads/en/AppNotes/00247a.pdf
[7] http://www.vector.com/vi_flashbootloader_en.html
127
[8] J. J. Meyers "Channel characterization and reliability of 5.8 GHz DSRC wireless
communication links in vehicular ad hoc networks in suburban driving environment,"
M.S. thesis, Carnegie Mellon University, Pittsburgh, PA, 2005.
[9] G.S. Ching, M. Ghoraishi, N. Lertsirisopon, J.-i. Takada, I. Sameda, R. Soma, H.
Sakamoto, T. Imai, "Tunnel propagation channel characterization for DSRC
applications," in Proceedings of 2007 Asia-Pacific Microwave Conference, IEEE,
Bangkok, Dec. 11-14,.2007, pp. 1-4.
[10] R. Keller, T. Lohmar, R. Tönjes, and J. Thielecke, “Convergence of cellular and
broadcast networks from a multi-radio perspective,” IEEE Personal Communications
Magazine, vol. 8(2), pp. 51-56, 2001.
[11] T. Munaka, T. Yamamoto, and T. Watanabe, “A reliable advanced-join system for
data multicasting in ITS networks,” IEEE Trans. Intell. Transp. Syst., vol. 6, no. 4, pp.
424–438, Dec. 2005.
[12] J. Hu, R. German, A. Heindl, R. Kates, M. Unbehaun. "Traffic modeling and cost
optimization for transmitting traffic messages over a hybrid broadcast and cellular
network," in the Proc. of the Intell. Transp. Syst., 2005. IEEE Sept. 13-15, 2005, pp.
210 – 215
[13] M. Schwartz, Mobile Wireless Communications, New Edition. Cambridge:
Cambridge University Press. 2005.
[14] A. Bria, "Cost-based resource management in hybrid cellular-broadcasting
systems," in the Proc. of the IEEE 61st Vehicular Technology Conference, vol. 5, pp.
3183 - 3187, 2005
128
[15] M. Shavit, R. Miucic, A. J. Gryc, "Firmware update over the air (FOTA) for
automotive industry", in the Proc. of the SAE The 14th Asia Pacific Automotive
Engineering Conference, Aug. 5-8, 2007, Hollywood, CA, Paper Number: 2007-01-
3523.
[16] C. Desiniotis, K. Kypris, Y. Markoulidakis, "Performance evaluation of GPRS
MCAST multicast over GPRS solution," in Proceedings of 14th IST Mobile &
Wireless Communication Summit, Dresden, Germany, June 2005, online:
www.eurasip.org/Proceedings/Ext/IST05/papers/394.pdf
[17] Federal Communication Committee: Dedicated Short Range Communications
(DSRC) Service, available at www.fcc.gov
[18] Wikipedia: XM Satellite Radio http://en.wikipedia.org/wiki/XM_Satellite_Radio
Accessed 12/07.
[19] Federal Communication Committee (FCC): Cellular Services, available at
http://wireless.fcc.gov/services/index.htm?job=service_home&id=cellular, accessed
12/07.
[20] S. Duri, M. Gruteser, X. Liu, P. Moskowitz, R. Perez, M. Singh, J. Tang,
"Framework for security and privacy in automotive telematics," in the of the
Proceedings of the 2nd International Workshop on Mobile Commerce, Atlanta,
Georgia, USA., 2002, pp. 25 - 32
[21] Han, C., Kumar, R., Shea, R., and Srivastava, M. 2005. Sensor network software
update management: a survey. Int. J. Netw. Manag. 15, 4 (Jul. 2005), pp. 283-294.
[22] http://en.wikipedia.org/wiki/Forward_error_correction
129
[23] R. Bell, “Multiplexing-Past, Present and Future,” SAE Paper Number 760178,
1976.
[24] C. A. Lupini, “Advantages of integrating a serial data link controller with CPU
[vehicles],” in IEEE 42nd Vehicular Technology Conference, May 10-13, 1992, vol.2
pp. 1051-1055.
[25] C. A. Lupini, Vehicle multiplex communication: Serial data networking applied to
vehicular engineering, SAE International 2004, Warrendale, PA, USA, ISBN 0-7680-
1218-X.
[26] W. Lawrenz, “Network Development Techniques,” IEE Colloquium on Vehicle
Networks for Multiplexing and Data Communication, Dec 19, 1988, pp. 5/1-5/8.
[27] A. Masrur, "Digital simulation of an automotive multiplexing wiring system," IEEE
Transactions on Vehicular Technology, Vol. 38, No. 3, pp. 140-147, August 1989.
[28] A. Masrur, "Studies on some alternative architectures for fault-tolerant automotive
multiplexing networking systems," IEEE Transactions on Vehicular Technology, Vol.
40, No. 2, pp. 501-510, May 1991.
[29] W. Lawrenz, CAN system engineering: From theory to practical applications, 1997
Springer-Verlag, New York, Inc., USA, ISBN 0-387-94939-9.
[30] W. Lawrenz, “Communication protocol conformance testing - Example LIN -,”
IEEE International Conference on Vehicular Electronics and Safety, pp. 155-162,
December 13-15, 2006.
[31] C. A. Lupini, "Multiplex bus progression 2003," in Proc. of the SAE 2003 World
Congress, March 3-6, 2003, Detroit, Michigan, USA, Paper Number: 2003-01-0111.
130
[32] J.G. Kassakian, and D.J. Perreault, "The future of electronics in automobiles", in
Proceedings of the 13th International Symposium on Power Semiconductor Devices
and ICs, 2001. pp. 15-19, Osaka, Japan
[33] H. Kleinknecht, “CAN Calibration Protocol specification”, Version 2.1, Germany,
1999.
[34] Vector CANtech, URL: http://www.vector-cantech.com/[15 August 2005]
[35] Accurate Technologies Inc., URL: http://www.accuratetechnologies.com/corp/ [15
August 2005]
[36] S. Misbahuddin, S. M. Mahmud and N. Al-Holou, "Development and performance
analysis of a data-reduction algorithm for automotive multiplexing," IEEE
Transactions on Vehicular Technology, Vol. 50, No. 1, pp. 162-169, January 2001.
[37] D. Huffman, “A method for the construction of minimum redundancy codes,” Proc.
of IRE, vol. 40, pp. 1098–1101, Sept. 1952.
[38] G. G. Kempf, M. J. Eckrich, and O. J. Rumpf, “Data reduction in automotive
multiplexing systems,” SAE paper 940 135, pp. 45–50.
[39] Storer, J.A. and Szymanski, T.G., “Data compression via textual substitution”,
Journal of the ACM, Vol. 29, No. 4, October 1982, pp. 928-951.
[40] P. R. Ramteke and S. M. Mahmud “An adaptive data-reduction protocol for the
future in-vehicle networks,” SAE Transactions on Passenger Cars: Electrical and
Electronic Systems, pp. 519-530, 2005.
[41] Bosch, “CAN specification Ver 2.0,” Robert Bosch GmbH, Stuttgart, Germany,
1991.
131
[42] R. Miucic and S. M. Mahmud, “An improved adaptive data reduction protocol for
in-vehicle networks,” SAE Transactions on Passenger Cars: Electrical and Electronic
Systems, pp. 650-658, 2006.
[43] Microchip, “dsPIC30F4011/4012 Data Sheet,” Microchip Technology Inc.,
Chandler, Arizona, 2005.
[44] STMicroelectronics, “ST92F124/ST92F150/ST92F250 Data Sheet Ver 1.4,”
Microchip Technology Inc., Geneva, Switzerland, 2003.
[45] “J1939” SAE Standard, SAE International.
[46] “CAN Protocol” Vector Training Material, Vector CANtech Inc., Novi, MI, 2005.
[47] D. Jiang, V. Taliwal, A. Meier, W. Holfelder, and R. Herrtwich; "Design of 5.9 GHz
DSRC-based vehicular safety communication," IEEE Wireless Communications, Vol.
13, Issue 5, Oct. 2006 pp. 36 – 43.
[48] Bai F. and H. Krishnan; "Reliability analysis of DSRC wireless communication for
vehicle safety applications," in IEEE 2006 Intelligent Transportation Systems
Conference, 2006 pp. 355 – 362.
[49] X. Chen, H.H. Refai, and X. Ma, "A quantitative approach to evaluate DSRC
highway inter-vehicle safety communication," in 2007 IEEE Global
Telecommunications Conference, Nov.26-30, 2007 pp. 151 – 155.
[50] S. Biswas, R. Tatchikou, and F. Dion, "Vehicle-to-vehicle wireless communication
protocols for enhancing highway traffic safety," IEEE Communications Magazine,
Vol. 44, Issue 1, Jan. 2006 pp. 74 – 82.
132
[51] M. Mehta and M. Guinan, "The utilization of multi-antenna enhanced mobile
broadband communications in intelligent transportation systems," in 7th International
Conference on ITS Telecommunications, June 2007 pp. 1 – 4.
[52] M. Lott, M. Meincke, and R. Halfmann, "A new approach to exploit multiple
frequencies in DSRC," in IEEE 59th Vehicular Technology Conference, May 17-19,
2004, Vol. 3, pp.1539 – 1543.
[53] Vehicle Infrastructure Integration (VII), USDOT Major Initiative, www.its.dot.gov/vii/
[54] Cooperative Intersection Collision Avoidance Systems (CICAS), USDOT Major
Initiative, www.its.dot.gov/cicas/index.htm
[55] Vehicle Safety Communications Consortium, USDOT Major Initiative, www-
nrd.nhtsa.dot.gov/pdf/nrd-12/CAMP3/pages/VSCC.htm
[56] SAE, “Draft SAE j2735 Dedicated Short Range Communications (DSRC) Message
Set Dictionary,” PA SAE, May 16, 2008
[57] IEEE, "Wireless Access in Vehicular Environments (WAVE)," Draft 802.1lp/D1.0,
New York, NY: IEEE Press, February, 2006.
[58] IEEE, “Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)
Specifications,” IEEE Press, February, 2007.
[59] IEEE Std P1609.1 (VT/ITS) Standard for Wireless Access in Vehicular
Environments (WAVE) - Resource Manager
[60] IEEE Std P1609.2 (VT/ITS) Standard for Wireless Access in Vehicular
Environments - Security Services for Applications and Management Messages
[61] IEEE Std P1609.3 (VT/ITS) Standard for Wireless Access in Vehicular
Environments (WAVE) - Networking Services
133
[62] IEEE Std P1609.4 (VT/ITS) Standard for Wireless Access in Vehicular
Environments (WAVE) - Multi-Channel Operations
[63] "Distance Calculation: How to calculate the distance between two points on the
Earth" available at http://www.meridianworlddata.com/Distance-Calculation.asp
online 12/19/2008
[64] “Haversine Formula” available at http://en.wikipedia.org/wiki/Haversine_formula,
online 12/19/2008
[65] H. Masui, T. Kobayashi and M. Akaike “Microwave path-loss modeling in urban
line-of-sight environments” IEEE Journal on Communications, Vol. 20, Issue 6, Aug.
2002 pp. 1151 - 1155.
[66] H. Masui, M. Ishii, S. Takahashi, H. Shimizu, and T. Kobayashi; "Difference of
break-point characteristics due to mobile antenna heights in microwave urban LOS
propagation", in the Proceedings of the International Zurich Seminar on Broadband
Communications, 2000.
[67] L. Cheng, B. E. Henty, D. D. Stancil, F. Bai, P. Mudalige, „Mobile vehicle-to-
vehicle narrow-band channel measurement and characterization of the 5.9 GHz
Dedicated Short Range Communication (DSRC) frequency band“ IEEE Journal on
Selected Areas in Communications, Vol. 25, Issue 8, Oct. 2007 pp. 1501 – 1516.
[68] VIIC System Engineering Integration and Test (SEIT) Team, "Test Report for
Phase T1.1 DSRC VIIC Fleet Vehicle Communication Link Testing" 08 October 2008
[69] O. Landron, M.J. Feuerstein, T.S. Rappaport "A comparison of theoretical and
empirical reflection coefficients for typical exterior wall surface in a mobile radio
134
environment," IEEE Trans. Antennas and Propagation, March 1996, Vol. 44 No.3,
pp.341-51.
[70] T. S. Rappaport, Wireless Communications: Principles and Practice, second
edition, Prentice Hall PTR, Upper Saddle River, NJ 07458, 2002
[71] W. C. Jakes, Microwave Mobile Communications, Wiley, 1974.
[72] D. Tse, P. Viswanath, Fundamentals of Wireless Communication, Cambridge:
Cambridge University Press, 2005
[73] B.-S. Lee, C. S. Yim, D. H. Ahn, and D. G. Oh, "Performance evaluation of the
physical layer of the DSRC operating in 5.8 GHz frequency band," ETRI Journal,
vol.23, no.3, Sept. 2001, pp.121-128
[74] Nippon Antenna. 802.11a/DSRC Radio Antenna DEN-HA001-001 and DEN-
HA001-002. A specification booklet.
[75] “Appendix G: Field Testing and Evaluation of WAVE/DSRC Communications
Functionalities” online 1/14/2009 available at http://www-nrd.nhtsa.dot.gov/pdf/nrd-
12/060419-0843/PDFs/AppendixG.pdf
[76] J. Q. Shang, J. A. Umana, F. M. Bartlett, J. R. Rossiter, "Measurement of complex
permittivity of asphalt pavement materials," J. of Transportation Engineering, Vol.
125, No. 4, July/August 1999, pp. 347-356.
[77] A. J. Rustako Jr., N. Amitay, G. J. Owens, and R. S. Roman, "Radio propagation
at microwave frequencies for line-of-sight microcellular mobile and personal
communications," IEEE Transactions on Vehicular Technology, vol. 40, no. 1, Feb.
1991
135
[78] P. Supanakoon, A. Pokang, S. Promwong, S. Noppanakeepong, and J. Takada,
"Regression models of ultra wideband ground reflection path loss based on peak
power loss," in the Proc. of the Asia Pacific Conference on Communication, Oct. 18-
20, 2007, pp. 15-18.
136
ABSTRACT
INTELLIGENT COMMUNICATION FOR FUTURE AUTOMOBILE NETWORKS
by
RADOVAN MIUCIC
December 2009
Advisor: Dr. Syed Masud Mahmud
Major: Computer Engineering
Degree: Doctor of Philosophy
With every new model vehicle, the features and functionality continue to
increase. Increased functionality also increases the size and complexity of the
embedded software. With an increase in software size, ability to modify and change the
original software becomes a necessity for automotive companies. Traditionally and
currently, automotive companies update software in vehicles using old-fashioned, hand-
held, wired programmer. Advances in the wireless communication technologies have
allowed a new approach in updating in-vehicle software. This work presents a unique
proposal to manage software download using wireless communication. In addition, this
work presents improvements in the in-vehicle network for efficient distribution of data
required by software modules of various electronic control units (ECUs). This
dissertation work also developed an efficient bootloader algorithm for programming
vehicle ECUs by sharing available resources, such as memory, within the entire vehicle
system. In addition, this work also examines channel characteristics of the wireless
protocol, commonly known as Dedicated Short Range Communication (DSRC), for
automotive usage such as software uploads, safety and other telematics applications.
137
AUTOBIOGRAPHICAL STATEMENT
Radovan Miucic received the B.Sc. degree in Electrical and Computer Engineering and the M.S. degree in Computer Engineering both from Wayne State University in 2001 and 2002 consecutively. From 1999 to 2007, he has been working as an Embedded Software Engineer and since 2007 as a Wireless Research Engineer in the automotive industry. He is a member of IEEE and SAE society. His research interests include intra-vehicle, vehicle-to-vehicle and vehicle-to-infrastructure communications, embedded microcontroller design, vehicle safety, and software maintenance. His recent publications include: Journal: 1. Radovan Miucic, Syed Masud Mahmud and Zeljko Popovic, “An Enhanced Data
Reduction Algorithm for Event Triggered Networks,” IEEE Transactions on Vehicular Technology, Vol. 58, No. 6, pp. 2663-2678, July 2009.
2. Radovan Miucic and Syed Masud Mahmud, “An Improved Adaptive Data Reduction Protocol for In-Vehicle Networks,” SAE Transactions on Passenger Cars: Electrical and Electronic Systems, pp. 650-658, 2006.
Conference: 1. Radovan Miucic, Zeljko Popovic, Syed Masud Mahmud, “Experimental Characterization
of DSRC Signal Strength Drops,” accepted for publication in 12th International IEEE Conference on Intelligent Transportation Systems, St. Louis, MO, USA, October 3-7, 2009.
2. Radovan Miucic, Tom Schaffnit, “Communication in Future Vehicle Cooperative Safety Systems: 5.9 GHz DSRC Non-Line-of-Sight Field Testing,” Proc. of the SAE 2009 World Congress, Detroit, MI, April 2009, Paper Number: 2009-01-0163.
3. Radovan Miucic and Syed Masud Mahmud, "Wireless Reprogramming of Vehicle Electronic Control Units," Proceedings of the 5th IEEE Consumer Communications and Networking Conference, Las Vegas, NV, January 10-12, 2008, Paper Number: FP1-S2-5.
4. Moshe Shavit, Radovan Miucic, and Andrew J. Gryc, “Firmware Update Over The Air (FOTA) for Automotive Industry,” Proceedings of the 14th Asia Pacific Automotive Engineering Conference, August 5-8, 2007, Hollywood, California, Paper Number: 2007-01-3523
5. Radovan Miucic and Syed Masud Mahmud, “An Improved Adaptive Data Reduction Protocol for In-Vehicle Networks,” Proc. of the SAE 2006 World Congress, April 3-6, 2006, Detroit, Michigan, USA, Paper Number: 2006-01-1327
6. Radovan Miucic and Syed Masud Mahmud “Wireless Multicasting for Remote Software Upload in Vehicles With Realistic Vehicle Movements,” Proc. of the SAE 2005 World Congress, April 11-14, 2005, Detroit, Michigan, USA, Paper Number: 2005-01-0323.
7. Radovan Miucic and Syed Masud Mahmud “An In-Vehicle Distributed Technique for Remote Programming of Vehicles' Embedded Software,” Proc. of the SAE 2005 World Congress, April 11-14, 2005, Detroit, Michigan, USA, Paper Number: 2005-01-0313.
8. Radovan Miucic and Syed Masud Mahmud, “Mobile Multicasting for Remote Software Update in Intelligent Vehicles,” Proceedings of the 4th Annual Intelligent Vehicle Systems Symposium of National Defense Industries Association (NDIA), National Automotive Center and Vectronics Technology, June 22 –24, 2004, Traverse City, Michigan, pp. 199-207.