smart navigation system book

116
SNS Smart Navigation System 1 | Page Contents Chapter 1 Introduction Chapter 2 GIS Chapter 3 GPS Fundamentals Chapter 4 GPRS Chapter 5 microcontroller Chapter 6 Map Matching Chapter 7 Routing Chapter 8 Software & Hardware implementation

Upload: sherif-abd-el-fatah

Post on 16-Jul-2015

189 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Smart navigation system book

SNS Smart Navigation System

1 | P a g e

Contents

Chapter 1 Introduction

Chapter 2 GIS

Chapter 3 GPS Fundamentals

Chapter 4 GPRS

Chapter 5 microcontroller

Chapter 6 Map Matching

Chapter 7 Routing

Chapter 8 Software & Hardware implementation

Page 2: Smart navigation system book

SNS Smart Navigation System

2 | P a g e

Abstract

This book proposes and implements a smart navigation system

using GPS and GPRS. The system allows a user to view the present, the

past and the future positions which will be recorded of his place on a

digital Map through a touch screen and through the internet.

The system reads the current position of the car using GPS, the

data is sent via GPRS service from the GSM network towards a web

server using the POST method of the HTTP protocol. The object’s

position data is then stored in the database for live and past tracking.

A web application is developed using PHP, JavaScript and MySQL

with our digital Map instead of using Google Map embedded. The

existing live tracking systems that are available now a day’s use SMS

for the communication to the server which turned out to be expensive.

(SMS are used for communication to device). We have used the GPRS

service which made our system a low cost tracking solution for

localizing an object position and status.

This system is very useful for car theft situations (alarm alert,

engine starting, localizing), for adolescent drivers being watched and

monitored by parents (speed limit exceeding, leaving a specific area), as

well as for human and pet tracking.

Page 3: Smart navigation system book

SNS Smart Navigation System

3 | P a g e

Chapter 1

Introduction

i. SYSTEM OVERVIEW:

The system has two parts – the routing device and the database server as shown in Figure 1 below. The device is attached with the car and gets the

position (ID) from GPS satellite in real-time. It then sends the position (ID) information with the International Mobile Equipment Identity (IMEI) number

as its own identity to the server. The data is checked for validity and the valid data is saved into the database. When a user wants to make tracking

to his car, s/he uses the attached device with his car or logs into the service provider‟s website and gets the live position of the device on our digital map.

A custom report is also generated which includes a detailed description of the vehicles status. Users can also see the previous positions of the device.

Fig. 1

Page 4: Smart navigation system book

SNS Smart Navigation System

4 | P a g e

ii. HARDWARE SPECIFICATION:

We used:

GPS module

GPRS modem

Atmel AVR Atmega32

Single computer board EC3-1516

7" Stand alone Wide Screen Touch screen

iii. SOFTWARE SPECIFICATION:

To view the current position of the device a web-based application has been developed. Using

this Web application an end user will be able to view the live position of the device. To develop

this software PHP5 and JavaScript was used. MySQL database server is used for storing data

because of its high-performance query engine, tremendously fast data insert capability, and

strong support for specialized web functions. A PHP file named sns.php is responsible for

accepting data which is sent by the device via GPRS using POST method of the HTTP protocol.

This data consists of IMEI number of the device, Latitude, Longitude, UTC, Date, Speed and

number of satellite. IMEI number is used to authenticate the device. Fig. 2 shows the server side

flow diagram.

A. Finding nearest Location:

We will see how to find the nearest location in chapter 3 in detail (our project Geniality).

B. Live Tracking:

Live tracking is the major part of this web application. This enables a user to view the live

position of the car on the map. Digital Map is used to locate the position. After Logging in, a

user will automatically be redirected to live_track.php page. This is done at fixed intervals in

order to update it on the map without reloading the whole page repeatedly.

c. Embedded Tracking:

The user can also make tracking to himself through the embedded device which will be

attached to his car without any extra efforts just by one tough to his targeted place and

immediately s/he will see the best way to his targeted place.

Page 5: Smart navigation system book

SNS Smart Navigation System

5 | P a g e

iv. CONCLUSION:

This project presents a low cost tracking system using GPS and GPRS of GSM network,

suitable for wide range of applications all over the world. The combination of the GPS and

GPRS provides continuous and real time tracking. The cost is much lower compared to SMS

based tracking systems. A low cost digital map and the use of HTTP protocol as data sending

method reduces the monthly bundle cost for the individual user and also for the small business

owner. It is expected that the full implementation of the proposed system would ultimately

replace the traditional and costly SMS based tracking systems.

Page 6: Smart navigation system book

SNS Smart Navigation System

6 | P a g e

Chapter 2

GIS

I. A geographic information system:

Is any system that captures, stores, analyzes, manages, and presents data that are linked to location.

In the simplest terms, GIS is the merging of cartography and database technology. GIS systems are used

in cartography, remote sensing, land surveying, utility management, photogrammetric, geography,

urban planning, emergency management, localized search engines and navigation

GIS is a system, it has boundaries that may be jurisdictional, purpose or application oriented for which

a specific GIS is developed. Hence, a GIS developed for an application, jurisdiction or purpose may not

be necessarily interoperable or compatible with a GIS that has been developed for some other

applications spatial

Therefore, in a general sense, the term describes any information system that integrates stores, edits, analyzes, shares, and displays geographic information. In a more generic sense, GIS applications are tools that allow users to create interactive queries (user-created searches), analyze spatial information, edit data, maps, and present the results of all these operations.

Geographic information science:

The science underlying the geographic concepts, applications and systems, taught in degree and certificate programs at many universities.

II. History of development:

In 1854, John Snow depicted a cholera outbreak in London using points to represent the locations of some individual cases, possibly the earliest use of the geographic method. His study of the distribution of cholera led to the source of the disease, a contaminated water pump (the Broad Street Pump, whose handle he had disconnected, thus terminating the outbreak) within the heart of the cholera outbreak.

Page 7: Smart navigation system book

SNS Smart Navigation System

7 | P a g e

Gilbert's version (1958) of John Snow's 1855 map of the Soho cholera outbreak showing the clusters of cholera cases in the London epidemic of 1854

John Snow map was unique, using cartographic methods not only to depict but also to analyze clusters of geographically dependent phenomena for the first time.

The early 20th century saw the development of photolithography, by which maps were separated into layers. Computer hardware development spurred by nuclear weapon research led to general-purpose computer "mapping" applications by the early 1960s.

The year 1962 saw the development of the world's first true operational GIS in Ottawa, Ontario, Canada by the federal Department of Forestry and Rural Development. Developed by Dr. Roger Tomlinson, it was called the "Canada Geographic Information System" (CGIS) and was used to store, analyze, and manipulate data collected for the Canada Land Inventory (CLI) – an effort to determine the land capability for rural Canada by mapping information about soils, agriculture, recreation, wildlife, waterfowl, forestry, and land use at a scale of 1:50,000. A rating classification factor was also added to permit analysis. CGIS was the world's first such system and an improvement over "mapping" applications as it provided capabilities for overlay, measurement, and digitizing/scanning. It supported a national coordinate system that spanned the continent, coded lines as "arcs" having a true embedded topology, and it stored the attribute and location information in separate files. As a result of this, Tomlinson has become known as the "father of GIS," particularly for his use of overlays in promoting the spatial analysis of convergent geographic data. CGIS lasted into the 1990s and built the largest digital land resource database in Canada. It was developed as a mainframe based system in support of federal and provincial resource planning and management. Its strength was continent-wide analysis of complex datasets. The CGIS was never available in a commercial form.

Page 8: Smart navigation system book

SNS Smart Navigation System

8 | P a g e

In 1964, Howard T Fisher formed the Laboratory for Computer Graphics and Spatial Analysis at the Harvard Graduate School of Design (LCGSA 1965-1991), where a number of important theoretical concepts in spatial data handling were developed, and which by the 1970s had distributed seminal software code and systems, such as 'SYMAP', 'GRID', and 'ODYSSEY' -- which served as literal and inspirational sources for subsequent commercial development to universities, research centers, and corporations worldwide.

By the early 1980s, M&S Computing (later Intergraph), Environmental Systems Research Institute (ESRI), CARIS (Computer Aided Resource Information System) and ERDAS emerged as commercial vendors of GIS software, successfully incorporating many of the CGIS features, combining the first generation approach to separation of spatial and attribute information with a second generation approach to organizing attribute data into database structures. In parallel, the development of two public domain systems began in the late 1970s and early 1980s. MOSS, the Map Overlay and Statistical System project started in 1977 in Fort Collins, Colorado under the auspices of the Western Energy and Land Use Team (WELUT) and the U.S. Fish and Wildlife Service. GRASS GIS was begun in 1982 by the U.S. Army Corps of Engineering Research Laboratory (USA-CERL) in Champaign, Illinois, a branch of the U.S. Army Corps of Engineers to meet the need of the U.S. military for software for land management and environmental planning. The later 1980s and 1990s industry growth were spurred on by the growing use of GIS on Unix workstations and the personal computer. By the end of the 20th century, the rapid growth in various systems had been consolidated and standardized on relatively few platforms, and users were beginning to export the concept of viewing GIS data over the Internet, requiring data format and transfer standards. More recently, a growing number of free, open source GIS packages run on a range of operating systems and can be customized to perform specific tasks.

III. GIS techniques and technology:

Modern GIS technologies use digital information, for which various digitized data creation methods are used. The most common method of data creation is digitization, where a hard copy map or survey plan is transferred into a digital medium through the use of a computer-aided design (CAD) program, and geo-referencing capabilities. With the wide availability of ortho rectified imagery (both from satellite and aerial sources), heads-up digitizing is becoming the main avenue through which geographic data is extracted. Heads-up digitizing involves the tracing of geographic data directly on top of the aerial imagery instead of by the traditional method of tracing the geographic form on a separate digitizing tablet (heads-down digitizing).

IV. Data representation:

GIS data represents real objects (such as roads, land use, elevation) with digital data. Real objects can

be divided into two abstractions: discrete objects (a house) and continuous fields (such as rainfall

amount, or elevation). Traditionally, there are two broad methods used to store data in a GIS for both

abstractions: raster and vector. A new hybrid method of storing data is point clouds, which combine

three-dimensional points with RGB information at each point, returning a "3D color image".

Page 9: Smart navigation system book

SNS Smart Navigation System

9 | P a g e

Raster:

A raster data type is, in essence, any type of digital image represented in grids. Anyone who is familiar

with digital photography will recognize the pixel as the smallest individual unit of an image. A

combination of these pixels will create an image, distinct from the commonly used scalable vector

graphics which are the basis of the vector model. While a digital image is concerned with the output as

representation of reality, in a photograph or art transferred to computer, the raster data type will reflect

an abstraction of reality. Aerial photos are one commonly used form of raster data, with only one

purpose, to display a detailed image on a map or for the purposes of digitization. Other raster data sets

will contain information regarding elevation, a digital elevation model, or reflectance of a particular

wavelength of light, landsite.

Digital elevation model, map (image), and vector data.

Raster data type consists of rows and columns of cells, with each cell storing a single value. Raster data can be images (raster images) with each pixel (or cell) containing a color value. Additional values recorded for each cell may be a discrete value, such as land use, a continuous value, such as temperature, or a null value if no data is available. While a raster cell stores a single value, it can be extended by using raster bands to represent RGB (red, green, blue) colors, color maps (a mapping between a thematic code and RGB value), or an extended attribute table with one row for each unique cell value. The resolution of the raster data set is its cell width in ground units.

Page 10: Smart navigation system book

SNS Smart Navigation System

10 | P a g e

Raster data is stored in various formats; from a standard file-based structure of TIF, JPEG, etc. to binary large object (BLOB) data stored directly in a relational database management system (RDBMS) similar to other vector-based feature classes. Database storage, when properly indexed, typically allows for quicker retrieval of the raster data but can require storage of millions of significantly-sized records.

Vector:

In a GIS, geographical features are often expressed as vectors, by considering those features as

geometrical shapes. Different geographical features are expressed by different types of geometry:

Points:

Zero-dimensional points are used for geographical features that can best be expressed by a

single point reference — in other words, by simple location. Examples include wells, peaks,

features of interest, and trailheads. Points convey the least amount of information of these file

types. Points can also be used to represent areas when displayed at a small scale. For example,

cities on a map of the world might be represented by points rather than polygons. No

measurements are possible with point features.

Page 11: Smart navigation system book

SNS Smart Navigation System

11 | P a g e

Lines or poly lines:

One-dimensional lines or poly lines are used for linear features such as rivers, roads, railroads,

trails, and topographic lines. Again, as with point features, linear features displayed at a small

scale will be represented as linear features rather than as a polygon. Line features can measure

distance.

Polygons:

Two-dimensional polygons are used for geographical features that cover a particular area of the

earth's surface. Such features may include lakes, park boundaries, buildings, city boundaries, or

land uses. Polygons convey the most amount of information of the file types. Polygon features

can measure perimeter and area.

Each of these geometries is linked to a row in a database that describes their attributes. For example, a

database that describes lakes may contain a lake's depth, water quality, pollution level. This information

can be used to make a map to describe a particular attribute of the dataset. For example, lakes could be

colored depending on level of pollution. Different geometries can also be compared. For example, the

GIS could be used to identify all wells (point geometry) that are within one kilometer of a lake (polygon

geometry) that has a high level of pollution.

Vector features can be made to respect spatial integrity through the application of topology rules such

as 'polygons must not overlap'. Vector data can also be used to represent continuously varying

phenomena. Contour lines and triangulated irregular networks (TIN) are used to represent elevation or

other continuously changing values. TINs record values at point locations, which are connected by lines

to form an irregular mesh of triangles. The face of the triangles represents the terrain surface.

Advantages and disadvantages:

There are some important advantages and disadvantages to using a raster or vector data model to

represent reality:

Raster datasets record a value for all points in the area covered which may require more storage space

than representing data in a vector format that can store data only where needed.

Raster data allows easy implementation of overlay operations, which are more difficult with vector

data.

Vector data can be easier to register, scale, and re-project, which can simplify combining vector layers

from different sources.

Vector data is more compatible with relational database environments, where they can be part of a

relational table as a normal column and processed using a multitude of operators.

Page 12: Smart navigation system book

SNS Smart Navigation System

12 | P a g e

Vector file sizes are usually smaller than raster data, which can be 10 to 100 times larger than vector

data (depending on resolution).

Vector data is simpler to update and maintain, whereas a raster image will have to be completely

reproduced. (Example: a new road is added).

Vector data allows much more analysis capability, especially for "networks" such as roads, power, rail,

telecommunications, etc. (Examples: Best route, largest port, airfields connected to two-lane highways).

Raster data will not have all the characteristics of the features it displays.

V. Raster-to-vector translation:

Data restructuring can be performed by a GIS to convert data into different formats. For example, a GIS may be used to convert a satellite image map to a vector structure by generating lines around all cells with the same classification, while determining the cell spatial relationships, such as adjacency or inclusion.

More advanced data processing can occur with image processing, a technique developed in the late 1960s by NASA and the private sector to provide contrast enhancement, false color rendering and a variety of other techniques including use of two dimensional Fourier transforms.

Since digital data is collected and stored in various ways, the two data sources may not be entirely compatible. So a GIS must be able to convert geographic data from one structure to another.

VI. GIS developments:

Many disciplines can benefit from GIS technology. An active GIS market has resulted in lower costs and continual improvements in the hardware and software components of GIS. These developments will, in turn, result in a much wider use of the technology throughout science, government, business, and industry, with applications including real estate, public health, crime mapping, national defense, sustainable development, natural resources, landscape architecture, archaeology, regional and community planning, transportation and logistics. GIS is also diverging into location-based services (LBS). LBS allows GPS enabled mobile devices to display their location in relation to fixed assets (nearest restaurant, gas station, fire hydrant), mobile assets (friends, children, police car) or to relay their position back to a central server for display or other processing. These services continue to develop with the increased integration of GPS functionality with increasingly powerful mobile electronics (cell phones, PDAs, laptops).

Page 13: Smart navigation system book

SNS Smart Navigation System

13 | P a g e

VII. Software:

ESRI® ArcGIS® Engine is a platform for building custom standalone geographic information system (GIS)

applications that support multiple application programming interfaces (APIs), include advanced GIS

functionality, and are built using industry standards. This part will introduce you WHO CAN USE ARCGIS

ENGINE? Many users require focused, lightweight access to GIS. They need much less than a complete

GIS application, such as ArcView, yet require access to sophisticated GIS logic in their applications. In

cases in which users need focused, customized access to GIS, ArcGIS Engine provides a lower-cost,

lightweight option.

STANDALONE APPLICATION DEVELOPERS

There are many potential users of GIS-enhanced applications who are not GIS professionals and are

just not equipped to take advantage of the comprehensive tools available on the market without a steep

learning curve. To provide spatial solutions to non-GIS users, developers need the ability to build

domain-specific, easy-to-use applications that can incorporate the power of a comprehensive GIS into a

user-friendly experience. These applications, if built from scratch, can be an overwhelming development

effort and may not be time or cost-effective. You can use the ArcGIS Engine Developer Kit to successfully

build standalone applications. There is a wide variety of types of applications that can be built, ranging

from graphical user interface (GUI) applications to command-line, batch- driven applications. GUI

applications will make use of the extensive ArcGIS controls exposed in the developer kit. These controls

include everything you need to build a sophisticated front-end application. You can leverage your

chosen API to integrate the ArcGIS controls with other third-party components and create a unique user

interface for your custom ArcGIS Engine application.

ARCGIS DESKTOP USERS

ArcMap, one of the ArcGIS Desktop applications, is an excellent way to create data and author maps

for use in custom applications. The Map Control and Page Layout Control provided with ArcGIS Engine

can work with the map documents created in ArcMap. Scene Control and Globe Control can display

documents authored in the ArcScene™ and ArcGlobe™ applications. Using the ArcGIS Desktop

applications to create and manage maps used in custom applications can save you much development

Page 14: Smart navigation system book

SNS Smart Navigation System

14 | P a g e

time and effort. ArcGIS Desktop also provides tools to build and manage geodatabases, shape files, and

other forms of spatial data. The underlying components of ArcGIS Desktop are the same Arc Objects

components that make up ArcGIS Engine. This allows every ArcGIS Desktop user the ability to run ArcGIS

Engine applications. You can develop applications based on ArcGIS Engine and deploy them to ArcGIS

Desktop users or extend ArcToolbox™ with a custom toolset built with the ArcGIS Engine developer kit.

ARCGIS ENGINE CAPABILITIES

Display a map with multiple map layers, such as roads, streams, and boundaries.

Pan and zoom throughout a map.

Identify features on a map.

Search for and find features on a map.

Display labels with text from field values.

Draw images from aerial photography or satellite imagery.

Draw graphic features, such as points, lines, circles, and polygons.

Draw descriptive text.

Select features along lines and inside boxes, areas, polygons, and circles.

Select features within a specified distance of other features.

Find and select features with a Structured Query Language (SQL) expression.

Render features with thematic methods, such as value map, class breaks, and dot density.

Dynamically display real-time or time series data.

Find locations on a map by geocoding addresses or street intersections.

Transform the coordinate system of your map data.

Perform geometric operations on shapes to create buffers; calculate differences; and find

intersections, unions, or inverse intersections of shapes.

Manipulate the shape or rotation of a map.

Create and update geographic features and their attributes.

o EDITING FEATURES

Page 15: Smart navigation system book

SNS Smart Navigation System

15 | P a g e

ArcGIS Engine developer kit enables you to build applications that create, modify, and remove

vector-shaped features in a geodatabase or shape file. The standard ArcGIS Engine Runtime is used

to run applications that edit shapefiles or the simple features of a personal geodatabase. However,

leveraging the full function of the enterprise geodatabase, the Geodatabase Update extension of the

ArcGIS Engine Runtime is required.

o SPATIAL MODELING AND ANALYSIS

You can extend the capabilities of ArcGIS Engine by adding the spatial extension to ArcGIS Engine

Runtime. This extension provides a broad range of powerful spatial modeling and analysis functions. You

can create, query, map, and analyze cell-based raster data; perform integrated raster or vector analysis;

derive new information from existing data; query information across multiple data layers; and fully

integrate cell-based raster data with vector data in a custom ArcGIS Engine application.

Page 16: Smart navigation system book

SNS Smart Navigation System

16 | P a g e

For example, you can:

Convert features (points, lines, or polygons) to raster.

Create raster buffers based on distance or proximity from features or rasters.

Generate density maps from point features.

Derive contours, slope, view shed, aspect, and hill shades.

Perform grid classification and display.

Use data from standard formats including TIFF, BIL, IMG, USGS DEM, SDTS, DTED, and many

others.

o 3D VISUALIZATION AND MORE

The ArcGIS Engine Runtime 3D extension extends the capabilities of ArcGIS Engine even further by

enabling you to build applications that effectively visualize and analyze surface and globe data using

Scene Control and Globe Control. You can create applications that view a surface from multiple

viewpoints, query a surface, determine what is visible from a chosen location on a surface, and display a

realistic perspective image by draping raster and vector data over a surface.

You can, for example:

Display ArcScene and ArcGlobe documents.

Perform interactive perspective viewing, including pan and zoom, rotate, tilt, and fly-

through simulations, for presentation and analysis.

Display real-world surface features, such as buildings.

Perform view shed and line-of-sight analysis, spot height interpolation, profiling, and

steepest path determination.

Page 17: Smart navigation system book

SNS Smart Navigation System

17 | P a g e

CHOOSING AN API AND DEVELOPMENT ENVIRONMENT

Since ArcGIS Engine Developer Kit provides four developer APIs—COM, .NET, Java, and C++. The

different APIs can be leveraged in several different supported development environments. ESRI

recommends and supports the following integrated development environments (IDEs) or compilers

when working with ArcGIS Engine.

COM

Visual Basic 6 sp3 or later

Visual C++ 6 sp3 or later

Visual C++ (Visual Studio .NET 2003).NET

C# (Visual Studio .NET 2003 with .NET Framework 1.1)

VB.NET (Visual Studio .NET 2003 with .NET Framework 1.1) Java

Eclipse v. 3.0 or 3.0.1

• JBuilder™ X, and more…

Page 18: Smart navigation system book

SNS Smart Navigation System

18 | P a g e

Chapter 3

GPS Fundamentals

In This Chapter

Discovering how GPS works

Understanding GPS capabilities and limitations

Types of information you can get from a GPS receiver

Getting familiar with common GPS receiver features

Looking into the future of GPS

You’ve heard about GPS and probably know that it has something to do with

handheld gadgets and satellites that tell you where you’re located. That’s great for

starters, but to understand and use GPS, you need a bit more detailed knowledge.

Follow this chapter to go through some of the fundamentals of GPS so you have a

better grasp of what it is and how you can use it.

What Is GPS?

GPS stands for Global Positioning System. A special radio receiver measures the

distance from your location to satellites that orbit the earth broadcasting radio signals.

GPS can pinpoint your position anywhere in the world. Pretty

Cool, huh? Aside from buying the receiver, the system is free for anyone. You can

purchase an inexpensive GPS receiver, pop some batteries in it, turn it on, and presto!

Your location appears on the screen. No map, compass, sextant, nor sundial is

required. Just like magic. It’s not really magic, though, but has evolved from some great

practical applications of science that have come together over the last 50 years. Other

satellite Global Positioning Systems are either in orbit or planned, but we use the term

GPS for the Global Positioning System operated by the United States government.

Page 19: Smart navigation system book

SNS Smart Navigation System

19 | P a g e

A short history of GPS

Military, government, and civilian users all over the world rely on GPS for navigation

and location positioning, but radio signals have been used for navigation purposes since

the 1920s. LORAN (Long Range Aid to Navigation), a position-finding system that

measured the time difference of arriving radio signals, was developed during World War

II.The first step to GPS came way back in 1957 when the Russians launched Sputnik,

the first satellite to orbit the Earth. Sputnik used a radio transmitter to broadcast

telemetry information. Scientists at the Johns Hopkins Applied Physics Lab discovered

that the Doppler shift phenomenon applied to the spacecraft — and almost unwittingly

struck gold. A down-to-earth, painless example of the Doppler shift principle is when you

stand on a sidewalk and a police car speeds by in hot pursuit of a stolen motorcycle.

The pitch of the police siren increases as the car approaches you and then drops

sharply as it moves away. American scientists figured out that if they knew the satellite’s

precise orbital position, they could accurately locate their exact position on Earth by

listening to the pinging sounds and measuring the satellite’s radio signal Doppler shift.

Satellites offered some possibilities for navigation and positioning system, and the U.S.

Department of Defense (DoD) explored the concept. By the 1960s, several rudimentary

satellitepositioning systems existed. The U.S. Army, Navy, and Air Force were all

working on independent versions of radio navigation systems that could provide

accurate positioning and allweather, 24 hour coverage. In 1973, the Air Force was

selected as the lead organization to consolidate all the military satellite navigation efforts

into a single program. This evolved into the NAVSTAR (Navigation Satellite Timing and

Ranging) Global Positioning System, which is the official name for the United States’

GPS program. The U.S. military wasn’t just interested in GPS for navigation. A satellite

location system can be used for weapons-system targeting. Smart weapons such as the

Tomahawk cruise missile use GPS in their precision guidance systems. GPS, combined

with contour-matching radar and digital image-matching optics, makes a Tomahawk an

extremely accurate weapon. The possibility of an enemy using GPS against the United

States is one reason why civilian GPS receivers are less accurate than their restricted

use military counterparts. The first NAVSTAR satellite was launched in 1974 to test the

concept. By the mid-1980s, more satellites were put in orbit to make the system

functional. In 1994, the planned full constellation of 24 satellites was in place. Soon, the

military declared the system completely operational. The program has been wildly

successful and is still funded through the U.S. DoD.

Page 20: Smart navigation system book

SNS Smart Navigation System

20 | P a g e

How GPS Works

The intricacies of GPS are steeped in mathematics, physics, and engineering,

but you don’t need to be a rocket scientist to understand how GPS works.

GPS is composed of three parts (as shown in Figure 3-1):

Eyeing satellites

In GPS jargon, a satellite is the space segment. A constellation of 24 GPS satellites

(21 operational and 3 spares) orbits about 12,000 miles above the Earth (as shown in

Figure 3-2). The satellites zoom through the heavens at around 7,000 miles per hour. it

takes about 12 hours for a satellite to completely orbit the Earth, passing over the exact

same spot approximately every 24 hours. The satellites are positioned where a GPS

receiver can receive signals from at least six of the satellites at any time, at any location

Page 21: Smart navigation system book

SNS Smart Navigation System

21 | P a g e

on the Earth (if nothing obstructs the signals). A satellite has three key pieces of

hardware:

GPS satellites don’t just help you stay found. All GPS satellites since 1980 carry

NUDET sensors. No, this isn’t some high-tech pornography-detection system. NUDET

is an acronym for Nuclear Detonation; GPS satellites have sensors to detect nuclear-

weapon explosions, assess the threat of nuclear attack, and help evaluate nuclear strike

damage. The solar-powered GPS satellites have a limited life span (around 10 years).

When they start to fail, spares are activated or new satellites are sent into orbit to

replace the old ones. This gives the government a chance to upgrade the GPS system

by putting hardware with new features into space.

GPS radio signals

GPS satellites transmit two types of radio signals: C/A-code and P-code. Briefly, here

are the uses and differences of these two types of signals.

Coarse Acquisition (C/A-code)

Coarse Acquisition (C/A-code) is the type of signal that consumer GPS units receive.

C/A-code is sent on the L1 band at a frequency of 1575.42 Mhz. C/A broadcasts are

known as the Standard Positioning Service (SPS). C/A-code is less accurate than P-

code (see the following section) and is easier for U.S. military forces to jam and spoof

(broadcast false signals to make a receiver think it’s somewhere else when it’s really

not). The advantage of C/A-code is that it’s quicker to use for acquiring satellites and

getting an initial position fix. Some military P-code receivers first track on the C/A-code

and then switch over to P-code.

Page 22: Smart navigation system book

SNS Smart Navigation System

22 | P a g e

Precision (P-code)

P-code provides highly precise location information. P-code is difficult to jam and

spoof. The U.S. military is the primary user of P-code transmissions, and it uses an

encrypted form of the data (Y-code) so only special receivers can access the

information. The P-code signal is broadcast on the L2 band at 1227.6 Mhz. P-code

broadcasts are known as the Precise Positioning Service (PPS).

Covering ground stations

Ground stations are the control segment of GPS. Five unmanned ground stations

around the Earth monitor the satellites. Information from the stations is sent to a master

control station — the Consolidated Space Operations Center (CSOC) at Schriever Air

Force Base in Colorado — where the data is processed to determine each satellite’s

ephemeris and timing errors. An ephemeris is a list of the predicted positions of

astronomical bodies such as the planets or the Moon. Ephemerides (the plural of

ephemeris) have been around for thousands of years because of their importance in

celestial navigation. Ephemerides are compiled to track the positions of the numerous

satellites orbiting the earth. The processed data is sent to the satellites once daily with

ground antennas located around the world. This is kind of like syncing a personal digital

assistant (PDA) with your personal computer to ensure that all the data is in sync

between the two devices. Because the satellites have small built-in rockets, the CSOC

can control them to ensure that they stay in a correct orbit.

GPS receivers

Anyone who has a GPS receiver can receive the satellite signals to determine where

he or she is located. Satellite data GPS units receive two types of data from the

NAVSTAR satellites. Almanac data contains the approximate positions of the satellites.

The data is constantly being transmitted and is stored in the GPS receiver’s memory.

Ephemeris data has the precise positions of the satellites. To get an accurate location

fix, the receiver has to know how far away a satellite is. The GPS receiver calculates the

distance to the satellite by using signals from the satellite. Using the formula Distance =

Velocity x Time, a GPS receiver calculates the satellite’s distance. A radio signal travels

at the speed of light (186,000 miles per second). The GPS receiver needs to know how

long the radio signal takes to travel from the satellite to the receiver in order to figure the

distance. Both the satellite and the GPS receiver generate an identical pseudo-random

code sequence. When the GPS receiver receives this transmitted code, it determines

how much the code needs to be shifted (using the Doppler-shift principle) for the two

Page 23: Smart navigation system book

SNS Smart Navigation System

23 | P a g e

code sequences to match. The shift is multiplied by the speed of light to determine the

distance from the satellite to the receiver.

Multiple satellites

A GPS receiver needs several pieces of data to produce position information:

Location: A minimum of three satellite signals is required to find your location.

Position: Four satellite signals are required to determine your position in three

dimensions: latitude, longitude, and elevation.

Receiver types

GPS receivers generally fall into five categories.

Consumer models

Consumers can buy practical GPS receivers in sporting goods stores. They’re easy to

use and are mostly targeted for recreational and other uses that don’t require a high

level of location precision. The Big Three manufacturers in the consumer GPS market

are Garmin (www.garmin.com), Magellan (www.magellangps.com), and Lowrance

(www.lowrance.com). Consumer GPS receivers are reasonably priced, from less than

$100 to $400 in the U.S.

When you buy a consumer receiver, opt for a 12-channel GPS model over an

Older 8-channel model:

12-channel parallel receivers: These acquire satellites faster and operate better under

foliage and tree-canopy cover.

8-channel receivers: These are slow when acquiring satellite signals and have difficulty

operating even under light tree cover.

Selective Availability (SA)

The average GPS user didn’t always have 15- meter accuracy. In the 1970s, studies

showed that the less-accurate C/A-code for nonmilitary use was more accurate than the

Page 24: Smart navigation system book

SNS Smart Navigation System

24 | P a g e

U.S. Government intended. Originally thought to provide accuracy within 100 meters,

experiments showed that C/A accuracy was in the range of 20–30 meters. To reduce

the accuracy of C/A-code, the U.S. government developed Selective Availability (SA).

SA adds errors to NAVSTAR satellite data and prevents consumer GPS receivers from

providing an extremely precise location fix. Selective Availability was temporarily turned

off in 1990 during the Persian Gulf War. There weren’t enough U.S. and allies military

P-code GPS receivers, so the Coalition troops used civilian GPS receivers. The Gulf

War was the first use of GPS in large-scale combat operations. On May 2, 2000, SA

was turned off permanently. Overnight, the accuracy of civilian GPS users went from

100 meters to 15 meters turning off SA on a global scale was directly related to the U.S.

military’s ability to degrade the C/A-code on a regional basis. For example, during the

invasion of Afghanistan, the American military jammed GPS signals Afghanistan to

prevent the Taliban from using consumer receivers in operations against American

forces.

How accurate is a GPS receiver?

According to the government and GPS receiver manufacturers, expect your GPS unit to be

accurate within 49 feet (that’s 15 meters for metric-savvy folks). If your GPS reports that you’re

at a certain location, you can be reasonably sure that you’re within 49 feet of that exact set of

coordinates. GPS receivers tell you how accurate your position is. Based on the quality of the

satellite signals that the unit receives, the screen displays the estimated accuracy in feet or

meters. Accuracy depends on

Receiver location

Obstructions that block satellite signals

Even if you’re not a U.S. government or military GPS user, you can get more accuracy by using

a GPS receiver that supports corrected location data. Corrected information is broadcast over

radio signals that come from either

Non-GPS satellites

Ground-based beacons

Two common sources of more accurate location data are

Differential GPS (DGPS)

Wide Area Augmentation System (WAAS)

I cover both DGPS and WAAS in the following section on GPS receiver features. Table 3-1

shows the accuracy you can expect from a GPS receiver. These numbers are guidelines; at times,

you may get slightly more or less accuracy.

Page 25: Smart navigation system book

SNS Smart Navigation System

25 | P a g e

GPS errors

A number of conditions can reduce the accuracy of a GPS receiver. From a top-down

perspective (from orbit down to ground level), the possible sources of trouble look like

this:

Ephemeris errors: Ephemeris errors occur when the satellite doesn’t correctly transmit its exact position in orbit.

Ionosphere conditions: The ionospherestarts at about 43–50 miles above the Earthand continues for hundreds of miles. Satellitesignals traveling through the ionosphere are slowed down because of plasma (a low density gas). Although GPS receivers attempt account for this delay, unexpected plasma activity can cause calculation errors.

Troposphere conditions: The troposphere is the lowest region in the Earth’s atmosphere and goes from ground level up to about 11 miles. Variations in temperature, pressure, and humidity all can cause variations in how fast radio waves travel, resulting in relatively small accuracy errors.

Timing errors: Because placing an atomic clock in every GPS receiver is impractical, timing errors from the receiver’s less-precise clock can cause slight position inaccuracies.

Multipath errors: When a satellite signal bounces off a hard surface (such as a building or canyon wall) before it reaches the receiver, a delay in the travel time occurs, which causes an inaccurate distance calculation.

Poor satellite coverage: When a significant part of the sky is blocked, your GPS unit has difficulty receiving satellite data. Unfortunately, you can’t say that if 50 percent (or some other percentage) of the sky is blocked, you’ll have poor satellite

reception; this is because the GPS satellites are constantly moving in orbit. A satellite that

provides a good signal one day may provide a poor signal at the exact same location on

another day because its position has changed and is now being blocked by a tree. The

more open sky you have, the better your chances of not having satellite signals blocked.

Building interiors, streets surrounded by tall buildings, dense tree canopies, canyons, and

mountainous areas are typical problem areas. If satellite coverage is poor, try moving to a

different location to see whether you get any improvement. Although survey-grade GPS

receivers can provide accuracy of less than two centimeters, they are very specialized and

expensive, require a lot of training, and aren’t very portable. Their accuracy is achieved with

DGPS and postprocessing collected data to reduce location errors. The average GPS user doesn’t

Page 26: Smart navigation system book

SNS Smart Navigation System

26 | P a g e

need this level of precision. Clouds, rain, snow, and weather don’t reduce the strength of GPS

signals m enough to reduce accuracy. The only way that weather can weaken signals is when a

significant amount of rain or snow accumulates on the GPS receiver antenna or on an overhead

tree canopy.

Information from GPS Receivers

GPS receivers provide your location and other useful information:

Time: A GPS receiver receives time information from atomic clocks, so it’s much more

accurate than your wristwatch.

Location: GPS provides your location in three dimensions:

Latitude (x coordinate)

Longitude (y coordinate)

Elevation

The vertical (elevation) accuracy of consumer GPS receivers isn’t that great. It can be

within 15 meters, 95 percent of time. Some GPS units incorporate more accurate barometric

altimeters for better elevation information. Your location can be displayed in a number of

coordinate systems, such as

Latitude/longitude

Universal Transverse Mercator (UTM)

Speed: When you’re moving, a GPS receiver displays your speed.

Direction of travel: A GPS receiver can display your direction of travel if you’re

moving. If you’re stationary, the unit can’t use satellite signals to determine which

direction you’re facing. Some GPS units have electronic compasses that show the

direction the receiver is pointed whether you’re moving or standing still.

Stored locations: You can store locations where you’ve been or want to go with a GPS

receiver. These location positions are waypoints. Waypoints are important because a GPS

unit can supply you with directions and information on how to get to a waypoint. A

collection of waypoints that also store tracks (which are like an electronic collection of

breadcrumb trails that show where you’re been).

Cumulative data: A GPS receiver can also keep track of information such as the total

distance traveled, average speed, maximum speed, minimum speed, elapsed time, and

time to arrival at a specified location. All this information is displayed on different pages

of the GPS receiver’s display screen. One page shows satellite status, another page

displays a map, another displays trip data, and so on. With buttons on the receiver, you

can scroll to an information page to view the data that you’re interested in seeing.

GPS Receiver Features

A number of GPS receivers are on the market. Usually a GPS receiver with more features costs

more. GPS manufacturers have done a pretty good job making user interfaces easy to use. After

you know the basic concepts of GPS receivers and are familiar with a manufacturer’s user

Page 27: Smart navigation system book

SNS Smart Navigation System

27 | P a g e

interface, a GPS unit is usually as easy to use as a cell phone and easier to use than a personal

computer.

Built-in maps

Every GPS receiver has an information page that shows waypoints and tracks. The page is a

simple map that plots travel and locations. It doesn’t show roads, geographic features, or man-

made structures. Figure 3-4 shows two GPS receiver screens: simple location plotting on the left,

and a more sophisticated, uploaded map on the right.

Some GPS receivers have maps that show roads, rivers, cities, and other features on their

screens. You can zoom in and out to show different levels of detail. The two types of map

receivers are

Base map: These GPS units have a base map loaded into read-only memory that contains

roads, highways, water bodies, cities, airports, railroads, and interstate exits. Base map

GPS receivers aren’t expandable, and you can’t load more detailed maps to the unit to

supplement the existing base map.

Up loadable map: More detailed maps can be added to this type of unit (in either internal

memory or an external memory card). You can install road maps, topographic maps, and

nautical charts. Many of these maps also have built-in databases, so your GPS receiver

can display restaurants, gas stations, or attractions near a certain location. Refer to Figure

3-4 to see screens from a GPS receiver with a simple plot map and another GPS unit with

an up loadable map. GPS receivers that display maps use proprietary map data from the

manufacturer. That means you can’t load another manufacturer’s or software company’s

maps into a GPS receiver. However, clever hackers reverse-engineered Garmin’s map

format. Programs on the Internet can create and upload your own maps to Garmin GPS

receivers; GPS mapper is popular. A handheld GPS receiver’s screen is only several

inches across. The limitations of such a small display certainly don’t make the devices

replacements for traditional paper maps.

Page 28: Smart navigation system book

SNS Smart Navigation System

28 | P a g e

Display and output

GPS receivers have three choices for information display or data output:

Monochrome LCD screen: Most GPS receivers have a monochrome liquid crystal display

(LCD) screen. Color screen: These are especially useful for displaying maps. Color screens

usually have shorter battery lives than monochrome ones. No screen: Some GPS receivers only

transmit data through an expansion slot or a cable; a receiver with a cable is often called a mouse

GPS receiver because it resembles a computer mouse. Such receivers are designed to interface

with a laptop computer or PDA running special software. Figure 3-3 shows a DeLorme

Earthmate GPS unit attached to a laptop. All GPS data is sent to the laptop and processed there

with mapping software. A Magellan SporTrak GPS receiver is shown on top of the laptop for

comparison. Most GPS receivers that have screens can output data to a PC or PDA. A GPS

receiver’s screen size depends on the receiver’s size. Smaller, lighter models have small screens;

larger units sport bigger screens. Generally, a bigger screen is easier to read. Different models of

GPS receiver also have different pixel resolutions; the higher the screen resolution, the more

crisp the display will be. For night use, all screens can be backlit.

Page 29: Smart navigation system book

SNS Smart Navigation System

29 | P a g e

Electronic compass

All GPS receivers can tell you which direction you’re heading — that is, as long as you’re

moving. The minute you stop, the receiver stops acting as a compass. To address this limitation,

some GPS receivers incorporate an electronic compass that doesn’t rely on the GPS satellites.

Operation

Like with an old-fashioned compass, you can stand still and see which direction your GPS

receiver is pointing toward. The only difference is that you see a digital display onscreen instead

of a floating needle. On some GPS receivers, you need to hold the unit flat and level for the

compass to work correctly. Other models have a three-axis compass that allows the receiver to be

tilted. Paying attention to these factors can improve the performance and convenience of an

electronic compass:

Magnetic fields: Metal objects, cars, and other electronic devices reduce the accuracy of

any electronic or magnetic compass.

Battery life: Using an electronic compass can impact battery life. Some GPS receivers

have settings that turn off the compass or only use it when the receiver can’t determine a

direction from satellite data.

Calibration

Electronic compasses need to be calibrated whenever you change batteries. If your GPS unit

has an electronic compass, follow your user guide’s instructions to calibrate it. Usually, this

requires being outside, holding the GPS unit flat and level, and slowly turning in a circle twice.

Altimeter

The elevation or altitude calculated by a GPS receiver from satellite data isn’t very accurate.

Because of this, some GPS units have altimeters, which provide the elevation, ascent/descent

rates, change in elevation over distance or time, and the change of barometric pressure over time.

(The rough-and-ready rule is that if barometric pressure is falling, bad weather is on the way; if

it’s rising, clear weather is coming.) Calibrated and used correctly, barometric altimeters can be

accurate within 10 feet of the actual elevation. Knowing your altitude is useful if you have

something to reference it to, such as a topographic map. Altimeters are useful for hiking or in the

mountains. On GPS units with an electronic altimeter/barometer, calibrating the altimeter to

ensure accuracy is important. To do so, visit a physical location with a known elevation and enter

the elevation according to the directions in your user’s guide. Airports are good places to

calibrate your altimeter or get an initial base reading; their elevation is posted for pilots to

Page 30: Smart navigation system book

SNS Smart Navigation System

30 | P a g e

calibrate their airplanes’ altimeters. If you’re relying on the altimeter/barometer for recreational

use, I recommend calibrating it before you head out on a trip.

Increasing accuracy

Some GPS receivers have features that allow you to increase the accuracy of your location by

using radio signals not associated with the GPS satellites. If you see that a GPS receiver supports

WAAS or Differential GPS, it has the potential to provide you with more accurate location data.

WAAS

Wide Area Augmentation System (WAAS) combines satellites and ground stations for position

accuracy of better than three meters. Vertical accuracy is also improved to three to seven meters.

WAAS is a Federal Aviation Administration (FAA) system, so GPS can be used for airplane

flight approaches. The system has a series of ground-reference stations throughout the United

States. These monitor GPS satellite data and then send the data to two master stations — one on

the west coast and the other on the east coast. These master stations create a GPS message that

corrects for position inaccuracies caused by satellite orbital drift and atmospheric conditions. The

corrected messages are sent to non-NAVSTAR satellites in stationary orbit over the equator. The

satellites then broadcast the data to

GPS receivers that is WAAS-enabled. GPS units that support WAAS have a built-in receiver to

process the WAAS signals. You don’t need more hardware. Some GPS receivers support turning

WAAS on and off. If WAAS is on, battery life is shorter (although not as significantly as it is

when using the backlight). In fact, on these models, you can’t use WAAS if the receiver’s

battery-saver mode is activated. Whether you turn WAAS on or off depend on your needs.

Unless you need a higher level of accuracy, you can leave WAAS turned off if your GPS

receiver supports toggling it on and off. WAAS is ideally suited for aviation as well as for open

land and marine use. The system may not, however, provide any benefits in areas where trees or

mountains obstruct the view of the horizon. Under certain conditions — say, when weak WAAS

satellite signals are being received or the GPS receiver is a long way from a ground station —

accuracy can actually worsen when WAAS is enabled. WAAS is only available in North

America. Other governments are establishing similar systems that use the same format radio

signals such as European Euro Geostationary Navigation Overlay Service (EGNOS) Japanese

Multi-Functional Satellite Augmentation System (MSAS)

Page 31: Smart navigation system book

SNS Smart Navigation System

31 | P a g e

Differential GPS

Surveying and other work that demands a high level of precision use Differential GPS (DGPS)

to increase the position accuracy of a GPS receiver. A stationary receiver measures GPS timing

errors and broadcasts correction information to other GPS units that are capable of receiving the

DGPS signals. Consumer GPS receivers that support DGPS require a separate beacon receiver

that connects to the GPS unit. Consumers can receive DGPS signals from free or commercial

sources. Unless you’re doing survey or other specialized work, you really don’t need DGPS

capabilities. For consumer use, the increased accuracy of DGPS has mostly been replaced with

WAAS.

Coast Guard DGPS

DGPS signals are freely broadcast by a series of U.S. Coast Guard stations in the United States.

Whether you can receive these Coast Guard broadcasts depends on your location. For more

information on DGPS, including coverage maps, pay a visit to

www.navcen.uscg.gov/dgps/coverage/default.htm.

Commercial DGPS

DGPS services are offered commercially for the surveying market. You can rent or purchase

electronic and radio equipment for gathering precise location information in a relatively small

area.

Antennas

Well, yes, a GPS unit has to have an antenna to receive radio signals to do you any good.

Several types are available, each with its advantages.

Internal antennas

All GPS receivers have one of two kinds of built-in antennas. One antenna design isn’t superior

to the other; performance is related to the receiver’s antenna size. (Cough . . . bigger is better.)

Patch

An internal patch antenna is a square conductor mounted over a groundplane (another square

piece of metal). Patch antenna models reacquire satellites faster after losing the signal. For best

performance with an internal patch antenna, hold the receiver face up and parallel with the

ground.

Page 32: Smart navigation system book

SNS Smart Navigation System

32 | P a g e

Quad helix

An internal quadrifilar helix antenna (or quad helix) is a circular tube wrapped with wire. Quad

helix antennas are more sensitive and work better under tree cover than the other types. For best

performance with an internal quad helix antenna, hold the receiver so that the top is pointing up

to the sky.

External antennas

Some GPS receivers have connectors for attaching external antennas. An external antenna is

useful if the GPS receiver’s view of the sky is otherwise blocked, like in a boat, a car, an

airplane, or a backpack.

Reradiating antennas

If a GPS receiver doesn’t have a jack for connecting an external antenna, you can improve the

reception with a reradiating antenna. These antennas work just as well as conventional external

antennas that plug into a GPS receiver. A reradiating antenna combines two GPS antennas:

One antenna receives the GPS signal from the satellites.

The other antenna is connected to the first and positioned next to the

GPS unit’s internal antenna.

Here are a couple of sources for reradiating antennas:

Roll your own: If you’re handy with a soldering iron, search Google for reradiating

antenna GPS for tips on how to make one yourself.

Buy one: Purchase an assembled reradiating antenna from Pc-Mobile at www.pc-mobile.net/gpsant.htm.

Internal memory

A receiver’s internal memory holds such data as waypoints, track logs, routes, and uploadable

digital maps (if the model supports them). The more memory the receiver has, the more data you

can store in it. All the data that’s been stored in the GPS receiver is retained when the device is

turned off. GPS receivers have different amounts of memory. Unlike personal computers, you

can’t add memory chips to a GPS unit to expand its internal memory.

External storage

Page 33: Smart navigation system book

SNS Smart Navigation System

33 | P a g e

Some GPS receivers aren’t limited to internal memory for storage, using support memory cards

that can be plugged into the receiver to store data. External memory can be either

Manufacturer proprietary data cards

Generic (and less expensive) storage, such as

Multimedia Card (MMC; www.mmca.org).

Secure Digital (SD; www.sandisk.com).

Accessory programs

Many GPS receivers have built-in accessory programs that display various handy features such

as

• Calendars with the best time to hunt and fish.

• Sunrise, moonrise, sunset, and moonset tables.

• Tide tables.

• Calculators.

• Games.

User interface modes

Some GPS receivers have simple and advanced user interface modes.

• Simple mode: This displays only often used commands and features. This is an excellent

option for the novice user who wants to use basic GPS receiver functions without being

distracted or confused by the many other features.

• Advanced mode: This shows all commands and features.

Synthesized voice

Some models of GPS receiver, designed primarily for automotive use, have a synthesized voice

that provides you with route-finding information. Although this feature has been available as an

option in some luxury cars for many years (for example, in the On Star system), portable GPS

units that talk to you are available. You don’t have to pay monthly subscription fees for them,

and you can easily move them from car to car. (Ah, progress.) You can find more information in

Chapter 5 on how to select a portable GPS receiver to use for road navigation. If you’re using

your GPS receiver primarily for navigation in your vehicle, mount it securely so that it doesn’t

slide around the dashboard.

• GPS receiver manufacturers make mounting brackets for in-vehicle use.

Page 34: Smart navigation system book

SNS Smart Navigation System

34 | P a g e

• Do-it-yourself solutions can include Velcro, Silly Putty, small beanbags, or modeling

clay (the non hardening type).

Never mount your GPS unit where an airbag deploys during a crash.

GPS monopoly

The U.S. has had a monopoly on satellite-based location systems over the years (the Russian

GLONASS, Global Orbiting Navigation Satellite System, has really never been a viable player),

but that may soon change. The European Union is moving toward deploying its own positioning

system called Galileo. If everything goes as planned, Galileo will be operational by 2008 with a

constellation of 30 stationary satellites. Position accuracy is touted as within a meter, which is

ten times more precise than what GPS currently provides to civilians.

The United States isn’t happy about this; as an alternative, GPS prevents the U.S. government

and military from selectively degrading signals and blocking use elsewhere in the world. China,

Israel, and India have expressed interest in becoming involved with Galileo. As of early 2004,

after a number of negotiation sessions, the U.S. and European Union had reached a number of

compromises that met both parties’ needs. http://europa.eu.int/comm/dgs/energy_transport/galileo/index_en.htm

The Future of GPS

Modern technology rapidly evolves, and the same holds true for GPS. Since consumer GPS

receivers first became available in the mid-1990s, the market has grown tremendously because of

cheaper receiver prices and new ways to use GPS. A peek into a crystal ball shows what the

future may hold for GPS.

• More accurate: The United States has started planning the next generation of GPS,

dubbed GPS III. Driving factors are better accuracy and reliability, improved resistance

to signal jamming, and the looming European Galileo system. Increasing the number of

WAAS satellites in orbit is also planned. The first GPS III satellite is tentatively planned

for launch in 2012. The U.S. government budget will have an impact on plans to improve

the present GPS system; the Iraq invasion delayed the launch of several satellites.

• Smaller: GPS receivers will continue to shrink. GPS units already are integrated into

wristwatches, and PC Card GPS receivers can plug into a laptop or PDA. The three

limiting factors that prevent a consumer receiver from shrinking are antenna size, screen

size, and power source size

• Cheaper: Prices will continue to decline as manufacturing costs decrease and production

quantities increase.

• Easier to use: Simplified and less technical user interfaces will become more of a

priority as GPS receivers become more appliance like to meet the needs of specialized

markets. An example is Garmin’s Forerunner product, which is targeted to runners and

lacks a number of features typically found in traditional GPS receivers.

Page 35: Smart navigation system book

SNS Smart Navigation System

35 | P a g e

• Easier to view: Improved screen technology will make GPS receiver screens brighter

and easier to read.

• More integrated: GPS receivers are being integrated into cars and trucks, cell phones ,

PDAs, Family Radio Service (FRS) radios, and other consumer electronic devices.

Expect some new products and services that take advantage of location-aware data.

• Thriftier: User-replaceable AA and AAA batteries have long powered portable GPS

receivers, but expect some changes in power sources.

• Built-in Lithium ion (Li-Ion) and nickel metal-hydride (NiMH) batteries,

popular in cell phones and laptops, make sense for GPS receivers. Garmin started

releasing rechargeable GPS receivers at the end of 2003.

• Further on the horizon, miniature fuel cell technology will keep GPS units going

and going without frequent battery changes.

• Less wired: Most GPS receivers transfer data from personal computers through a cable.

Wireless technologies such as Bluetooth and wireless USB are well suited for fast and

easy data transfers to GPS receivers without using cables.

We use GPS-41ML Fast Acquisition Enhanced Sensitivity12 Channel GPS Sensor Module

The GPS-41ML is a compact all-in-one GPS module solution intended for a broad range of

Original Equipment Manufacturer (OEM) products, where fast and easy system integration and

minimal development risk is required. The receiver continuously tracks all satellites in view and

provides accurate satellite positioning data. The GPS-41ML is optimized for applications

requiring good performance, low cost, and maximum flexibility; suitable for a wide range of

OEM configurations including handhelds, sensors, asset tracking, PDA-centric personal

navigation system, and vehicle navigation products.

Its 12 parallel channels and 4100 search bins provide fast satellite signal acquisition and short

startup time. Acquisition sensitivity of –140dBm and tracking sensitivity of –150dBm offers

good navigation performance even in urban canyons having limited sky view. Satellite-based

augmentation systems, such as WAAS and

EGNOS are supported to yield improved accuracy. Both the LVTTL-level and RS232-level

serial interface are provided on the interface connector. Supply voltage of 3.8V~8.0V is

supported. The GPS-41MLF module has programmable flash memory. This enables users to

modify the NMEA sentence configuration and re-flash the firmware in the modem.

Page 36: Smart navigation system book

SNS Smart Navigation System

36 | P a g e

NMEA Messages

The serial interface protocol is based on the National Marine Electronics Association’s NMEA

0183 ASCII interface specification. This standard is fully define in ―NMEA 0183, Version 3.01‖

The standard may be obtained from NMEA, www.nmea.org

GGA - GPS FIX DATA

Time, position and position-fix related data (number of satellites in use, HDOP, etc.).

Format:

$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>,*<13><CR><L

F>

Example:

$GPGGA,104549.04,2447.2038,N,12100.4990,E,1,06,01.7,00078.8,M,0016.3,M,,*5C<

CR><LF>

GLL - LATITUDE AND LONGITUDE, WITH TIME OF POSITION FIX AND STATUS

Latitude and longitude of current position, time, and status.

Page 37: Smart navigation system book

SNS Smart Navigation System

37 | P a g e

Format:

$GPGLL,<1>,<2>,<3>,<4>,<5>,<6>,<7>*<8><CR><LF>

Example:

$GPGLL,2447.2073,N,12100.5022,E,104548.04,A,A*65<CR><LF>

GSA - GPS DOP AND ACTIVE SATELLITES

GPS receiver operating mode, satellites used for navigation and DOP values.

Format:

$GPGSA,<1>,<2>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<4>,<5>,<6>*<7><CR><LF>

Example:

$GPGSA,A,3,26,21,,,09,17,,,,,,,10.8,02.1,10.6*07<CR><LF>

GSV - GPS SATELLITE IN VIEW

Page 38: Smart navigation system book

SNS Smart Navigation System

38 | P a g e

Number of satellites in view, PRN number, elevation angle, azimuth angle, and C/No.

Only up to four satellite details are transmitted per message. Additional satellite in view

information is sent in subsequent GSV messages.

Format:

$GPGSV,<1>,<2>,<3>,<4>,<5>,<6>,<7>,…,<4>,<5>,<6>,<7> *<8><CR><LF>

Example:

$GPGSV,2,1,08,26,50,016,40,09,50,173,39,21,43,316,38,17,41,144,42*7C<CR><LF>

$GPGSV,2,2,08,29,38,029,37,10,27,082,32,18,22,309,24,24,09,145,*7B<CR><LF>

RMC - RECOMMANDED MINIMUM SPECIFIC GPS/TRANSIT DATA

Time, date, position, course and speed data.

Format:

$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*<13><CR><LF>

Page 39: Smart navigation system book

SNS Smart Navigation System

39 | P a g e

Example:

$GPRMC,104549.04,A,2447.2038,N,12100.4990,E,016.0,221.0,250304,003.3,W,A*22<

CR><LF>

VTG - COURSE OVER GROUND AND GROUND SPEED

Velocity is given as course over ground (COG) and speed over ground (SOG).

Format:

GPVTG, <1>, T, <2>, M, <3>, N, <4>, K, <5>*<6><CR><LF>

Example:

$GPVTG,221.0,T,224.3,M,016.0,N,0029.6,K,A*1F<CR><LF>

Page 40: Smart navigation system book

SNS Smart Navigation System

40 | P a g e

ZDA TIME AND DATE

Format:

$GPZDA,<1>,<2>,<3>,<4>,<5>,<6>*<7><CR><LF>

Example:

$GPZDA,104548.04,25,03,2004,,*6C<CR><LF>

We convert this data to x-y plane to determine the position of user in the map (user interface) by:

Page 41: Smart navigation system book

SNS Smart Navigation System

41 | P a g e

Spherical Coordinates and the GPS

In this module we develop simplified formulas for finding the distance between two

points on the earth. The coordinates of each of the two points are given in the form

AAA degrees, BB.BBB minutes

This is the form used by many Global Positioning Systems. We use a simplified model

of the earth. In this model the earth is a sphere whose radius is 6367 kilometers.

Because the earth is not a sphere this model is somewhat inaccurate. For our purposes,

it is a good first approximation. See the module The Earth is Round -- Most Maps are

Flat for more details.

The first step is to convert the measurements of latitude and longitude into a more

usable form. Since there are 60 minutes in a degree, the number of degrees is given by

DEGREES = AAA + BB.BBB / 60

We use spherical coordinates in this module. The figure below compares spherical

coordinates (in degrees) with latitude coordinates. In spherical coordinates we measure

the angle phi from the North Pole. Thus, the North Pole corresponds to phi = 0; the

equator to phi = 90 degrees; and the South Pole to phi = 180 degrees.

Page 42: Smart navigation system book

SNS Smart Navigation System

42 | P a g e

Thus, the following formula converts from latitude expressed in degrees to phi also

expressed in degrees.

/ 90 - latitude if latitude is north

Phi = {

\ 90 + latitude if latitude is south

In spherical coordinates we measure the angle theta starting at the prime meridian

(longitude 0) and moving east. Thus

/ Longitude if longitude is east

Theta = {

\ Longitude if longitude is west

Both phi and theta as described above are measured in degrees. It is mathematically

much better to measure angles in radians. The conversion formula is

Angle in degrees * 2 * Pi

Angle in radians = --------------------------------

360

We want to express the location of a point in Cartesian coordinates with the origin at the

center of the earth, the North Pole at the point

North Pole = (0, 0, 6367 kilometers) and the positive x-axis going through the prime

meridian. The conversion formulas are:

x = 6367 (cos theta) (sin phi)

y = 6367 (sin theta) (sin phi)

z = 6367 (cos phi)

Using these formulas we can determine the Cartesian coordinates of any point from its

latitude and longitude. For example, I was recently in San Luis Opisbo, California and

my trusty GPS told me the location of my hotel was

Page 43: Smart navigation system book

SNS Smart Navigation System

43 | P a g e

35 degrees 17.299 minutes North and 120 degrees 39.174 minutes west The location of

the Carroll College Fountain in Helena, Montana is 46 degrees 36.003 minutes North

and 112 degrees 02.330 minutes West The Cartesian coordinates of San Luis Opisbo,

CA and Helena, MT are

------------------------------------------------

San Luis Opisbo, CA Helena, MT

------------------------------------------------

x = -2650 -1641

y = -4471 -4055

z = 3678 4626

------------------------------------------------

The distance between these two points is 1,446 kilometers or 897 miles, but this

distance is the straight line distance through the earth

Page 44: Smart navigation system book

SNS Smart Navigation System

44 | P a g e

Chapter 4

GPRS

In today's mobile telecommunications world, customers demand complete connectivity at any

time and any place. But besides the familiar and valued voice transmission, there is also the

possibility of sending and receiving data, like short messages, called SMS. These data services:

transmitting fax, computer, and Internet data or even high-quality pictures, are little known and

thus very seldom used. The major reason is the very slow transmission in the existing GSM

network. Only rates up to 9.6 kbps are possible at the moment. A single, non-compressed picture

with a resolution of 800X600 pixels (that is about the size of a notebook screen) would take 150

seconds for its complete transmission. This amount of time and the resulting high costs are

simply unacceptable for a mobile phone user. A new system, based on the existing GSM network

and opening a whole new range of possibilities for customers, will now take remedial measures.

It is called General Packet Radio Service, or GPRS. This technology, with its high transmission

rates, allows the customer to send even large amounts of data to mobile phones of the new

generation at reasonable costs. Assuming optimum conditions, the picture would now take only

12 seconds to reach its destination. Due to a different transmission method, new coding schemes

and the possibility of using multiple channels, the transmission rates will increase drastically

compared to GSM. The data rates in GPRS will raise the common 9.6 kbps to a gross rate of

171.2 kbps. In contrast to GSM technology, GPRS transmits data in packets, similar to the

Internet. The data is divided into small packets before being sent. These small packets can reach

their destination via different paths in the GPRS network. This is possible, because each packet

includes the receiver address and information about its correct arrangement. On arrival, the

packets are reassembled into the original set of data. When we observe the usage of the GSM air

interface, it becomes obvious that the available capacity changes greatly during a normal

business day, as user traffic increases and decreases. GPRS takes advantage of this fact and uses

the open capacities for packet transmissions during times of low network occupancy. The

available channels are bundled, which results in faster transmission rates. We will go into more

detail on this subject later in the course (Fig 1).In addition, the network operator may provide for

more network resources, or adjust the voice and data channels to his/her need with a special

configuration. Since the customer will be online all the time, a major change in the way of billing

will occur: whereas we now still have to pay for the duration of our phone call, and in addition

for the data transmission, with GPRS only the amount of data will be charged. Nevertheless, the

network operator has the option to charge the customers for the time spent online.

Page 45: Smart navigation system book

SNS Smart Navigation System

45 | P a g e

Fig 1

The GPRS services are divided into three main groups:

Point-to-Point services,

Point-to-Multipoint services and

Additional and value-added services.

The Point-to-Point services describe the exchange of data, for example one person sending another person an email. With the Point-to-Multipoint services, one sender can send data to multiple receivers simultaneously. This could be useful for an automotive club that wants to send out traffic information to its members. Just like in the GSM network, there will be a number of additional and value-added services available. Let us now take a closer look at the three different GPRS services.

If we look at the Point-to-Point Services, we can differentiate them into two subgroups:

The Point-to-Point Connectionless Network Services and

The Point-to-Point Connection Oriented Network Services.

The Point-to-Point Connectionless Network Services describe the dispatch of small individual packets that are independent of the preceding and following packets. This service supports the Internet Protocol. On the other hand, the Point-to-Point Connection Oriented Network Services send out a sequence of connected packets between a sender and a receiver. In this case, a logical connection exists between the two. This PTP-CON is used for the transmission of X.25 Protocols. Both connection types exchange confirmations between the computers upon the arrival of the data. This procedure also increases the security of the data transmission, because lost packets, for example, are resent upon request of one of the computers. This cannot be

Page 46: Smart navigation system book

SNS Smart Navigation System

46 | P a g e

taken for granted using the Point-to-Multipoint connections which follow. The Point-to-Multipoint connections, just like the Point-to-Point connections,

are divided into subgroups:

the Point-to-Multipoint Multicast,

the Point-to-Multipoint Group Call, and the

Internet Protocol Multicast.

We will now look at these three connection types. Let us start with the Point-to-Multipoint Multicast connection. During a Point-to-Multipoint Multicast connection, a sender sends out information to several receivers in a defined area. Furthermore, the sender of the information can define a specific receiver group in that area.

The receivers do not need to be GPRS attached, because no paging is required. Confirmations are not exchanged in this case either. The sender does not know who has received his or her information. Therefore we consider the connection to be anonymous, because a reliable reception of the data is not guaranteed. However, repeated sending of the information increases the probability that every receiver has got the data. A typical application of Point-to-Multipoint Multicast connections is the transmission of traffic information for a specific area, for example along highways. If a more defined receiver group needs to be addressed, automotive clubs for example have the option of sending out information only to club members. The complete transmission is not ciphered in the network. Let us take a look at the

Page 47: Smart navigation system book

SNS Smart Navigation System

47 | P a g e

Point-to-Multipoint Group Call as a comparison. During a Point-to-Multipoint Group Call, all receivers are selected and located within a certain area. They must be GPRS-attached to receive any data. Furthermore, this time the network knows all the GPRS-attached mobile phone users. Ciphering can also be activated for more security against fraud. In comparison to the just discussed Multicast connections, receivers can now send back data to the sender. That means we now have a two-way connection instead of a one-way connection. Another possible option is the n-way connection. In this case, all mobile stations can activate and uphold connections with each other, similar to the conference call concept. The Internet Protocol Multicast, or IP-M, is a service based on Internet Protocol. Because data is now exchanged between the IP-M participants via Internet Protocol, the receiver group can be located within a mobile phone network, or anywhere in the Internet. In addition to the Point-to-Point and Point-to-Multipoint services that describe the exchange of data between individual users, GPRS offers numerous supplementary and value-added services. We will only have time to name a few of them in this course. The following services exist in the GSM network, but are also available in the GPRS network:

Unconditional forwarding of calls,

Forwarding of calls when participants are not reachable,

Closed user group,

And charge information.

The following are considered to be value-added services:

Access to data networks like the Inter- and Intranet,

Reading of fax and email,

Receiving breaking news and complete newspaper contents

Getting the latest traffic information for a planned trip or

Messages of commercial interest.

A great number of services can be added to the list of value-added services that GPRS offers. In GPRS, the term "quality of service" describes the defined qualities a service must have. Certain qualities of service parameters have been specified:

Priority classes, The maximum and average guaranteed transmission rate,

The reliability of data transmission, and

The maximum time of delay.

These parameters are agreed upon by the customer signing a contract according to his or her needs. The priority classes are divided into high, middle and low priority, and the transmission rates are adjusted to the network capacity and the demands of the customer. Of course, a high priority results in a higher price for the service. In GPRS, the reliability of the data transmission and the maximum time of delay are arranged in three specified classes. The reliability parameters specify how often

The loss of packet data

The transmission of a duplicate

The wrong order of packets, or

Unrecognizable transmission errors

Page 48: Smart navigation system book

SNS Smart Navigation System

48 | P a g e

May occur According to these four parameters, three classes are specified in GPRS, each defining the maximum number of possible errors In the highest reliability class, only an error rate of 10-9 is allowed in each of the four categories, that means only one in a billion packets may, for example, get lost or arrive in the wrong order In the middle class, a much higher error rate, between 10-4 and 10-6, is acceptable. Here the data must be able to correct itself with the help of other applications.

In the lowest class, very high error rates are allowed. 10-2 or 1% of the data packets may get lost on their way. This class might be sufficient for data that is outfitted with very good external error correction mechanisms or data that would still arrive in time at the receiver because of repeated requests and transmissions. The three classes of maximum accepted delay rates are summarized in this table. The times listed relate to the delays that result from the channel assignment procedure, the transmission over the air interface, as well as through the entire GPRS network. Excluded are delays caused by external networks, like the Inter- or Intranet, or those caused by the service provider.

A 95% delay means in this case how long the data transmission may be delayed before 95% of all the data has been transmitted.

The class 1 category has the shortest delays. The average transmission time, until all packets have arrived, should not exceed from 0.5 or 2 seconds, depending on the size of the transmitted data. After seven seconds at the latest, 95% of the packets must have arrived at destination.

In delay class 2, these times are considerably longer.

In the class 3 category, the delay may last for a couple of minutes. This category could be used for the transmission of weather information, because this kind of data is not very time critical. Now that we have discussed the four categories of quality of service, it is just left to say that the cost of these GPRS services will depend on the delay class and the priority the customer demands. We will look at the different types of mobile phones: there are class A, class B and class C mobile stations. What are their peculiarities and how do they differ from each other?

Class C end devices are able to use GSM as well as GPRS services. However, they can use only one service actively at a time. The service not used is deactivated. The selection of the services is done manually or is already set by the default-selected configuration of the mobile equipment.

Class B end devices support both the monitor and activation functionality simultaneously, but simultaneous sending and receiving of both services is not possible. Through a parallel monitor mechanism, notification of an upcoming GPRS data transmission can be sent out to the receiver even during the reception of a GSM service.

The final high-end class of mobile stations is class A. These end devices support and use both services simultaneously.

How is the user able to use a GPRS service? Are modifications necessary on the existing GSM network? To clarify these questions, we will talk about the GSM network structure and its components. The Public Land Mobile Network (PLMN) includes

Page 49: Smart navigation system book

SNS Smart Navigation System

49 | P a g e

a Switching Subsystem (SSS), a Base Station Subsystem (BSS) and an Operation and Maintenance Subsystem (OMS). The gateway MSC-GMSC is the interface to other networks, like ISDN, PSTN as well as other PLMNs. The MSCs are responsible for

Mobility management

Connection management

Call control

The activation and deactivation of supplementary services

The forwarding of short messages and

The collection of relevant information for charging purposes.

The integrated Visitor Location Register (VLR) delivers the required information about the present location of the GSM participant to the serving MSC. Now the participant can be reached. Before the mobile switching center is able to provide the requested services to the receiver at his or her present location, the MSC needs a service profile and routing information from the data register. This register, which stores user information permanently and which is also able to provide routing information, is called the Home Location Register (HLR). To guarantee the security of the GSM system, the SSS includes an Authentication Center (AuC) - that

verifies SIM-cards and, if needed, bans them from the network. Furthermore, this network element prepares the ciphering of the user information for transmission via the air interface. The network provider has the option of checking the mobile equipment in the Equipment Identity Register (EIR) and banning devices that should not or may not be used in the network. The Short Message Service Center (SMSC) is the main stop for all short messages in the GSM network. It stores the received short messages. If the GSM participant is attached, these messages will be sent out to him or her immediately. If not, the SMSC will store them until the participant is reachable. However, the SMSC is not really part of the core network of the SSS.

The transcoder is used for the description of voice information and this reduces the transmission rate of voice information to an acceptable extent. The transcoder also creates the information frames that will then be transmitted. The Base Station Controller (BSC) manages and controls the connected Base Transceiver Stations (BTS) and is responsible for Base Station Management. It is also involved in the forwarding of phone calls and data transmissions if the user has moved from one Base Station to another. We call this procedure Handover. The BTS is the interface to the mobile stations. It establishes the air interface with its physical specifications. The BTS organizes the information to be transmitted, so it can pass over the air interface securely, and in an organized fashion. As one of its main tasks, the Base Station translates logical channels onto the physical channels. Furthermore, the BTS prepares the data so that potential high error rates in the air interface will have no noticeable effect on the quality of service. To monitor the network components and, if necessary, control and adjust their performance, the GSM network needs the Operation and Maintenance Center (OMC). The OMC is responsible for

Error management

Configuration management

Page 50: Smart navigation system book

SNS Smart Navigation System

50 | P a g e

Performance management as well as

Administration management and offers

Remote access to different network components.

Furthermore it can optimize the network elements' functionality and the logical network structure.

Modifications must be made to the existing GSM network to build up a GPRS system. The network structure must support both circuit switched and packet switched transmissions. Thus the following elements need to be integrated: the first new element is the so-called Gateway GPRS Support Node, or GGSN. It is directly connected to the Packet Data Network via the Gi interface. The second element that must be added is the Serving GPRS Support Node, which is connected to many important elements of the GSM architecture like, for example, the Mobile Services Switching Center and the Home Location Register. Furthermore, a Packet Control Unit (PCU) is required in the BSS. All interfaces to other GPRS elements are characterized by the prefix "G".

Two of the three network elements in GPRS are the GPRS Support Nodes. On the one side, we have the main exchange and connection node, the Gateway GPRS Support Node (GGSN), and on the other we have the Serving GPRS Support Node (SGSN), responsible for the forwarding of protocol data units. Let us take a look at the GGSN and its functionality.

The Gateway GPRS Support Node is the interface to other data networks. The Packet Data Network (PDN) connects to the GGSN via the Gi interface. The GGSNs of different GPRS networks link up with each other over the Gp interface.

Page 51: Smart navigation system book

SNS Smart Navigation System

51 | P a g e

The GGSN needs subscriber data, in order to support the routing of payload data. To obtain these subscriber data, the GGSN needs at least one connection to the HLR.

The HLR provides important data, such as the address of the responsible SGSN, if the Mobile Station is GPRS-attached, and therefore ready to receive.

There are two possible ways of connecting to the HLR. If the GGSN is directly connected to the HLR, it can obtain the data straight from the HLR via the Gc interface. This interface is, however, only optional. A second possibility of access is via the SGSN. All SGSNs are connected to an HLR, and are thus able to request the necessary information. The interface involved here is the Gr interface. Inquiries to the Home Location Register are very often made via the SGSNs, in order to keep the costs of equipping the network with Gc interfaces as low as possible. The connection between the GPRS Support Nodes - that is between the GGSN and the SGSN - is realized via the Gn interface. The functionality of GGSN includes support of transport layer routing protocols, protocol data unit tunneling, and screening. We will go into more detail on tunneling later in this course, but let us anticipate this much: The tunneling function is used for secure data transmissions between the GPRS Support Nodes to ensure that only they can interpret this information. Furthermore, the GGSN collects information for billing purposes. It also supports address mapping and the creation of routing tables required for the correct forwarding of data. The Serving GPRS Support Node is very important for the mobile station, because it takes care of fundamental functions like mobility management and security. A service profile called Packet Data Protocol Context is established in the SGSN. This service profile is needed to enable the exchange of data between the mobile station and the GGSN. Besides other information, it includes the address of the BSS, where the GPRS user is located and known, as well as a ciphering function. In comparison, the ciphering in the GSM network is the duty of the sender/receiver in the Base Stations. Because of early ciphering in the GPRS network, the security of the transmission increases and it will not be necessary to reconfigure all existing Base Transceiver Stations, thus reducing the costs of integrating the GPRS service. The SGSN is directly connected to the MSC/VLR, to the Short Message Service Center and to the EIR, if it is utilized in the network. Furthermore, the SGSN is responsible for keeping an eye on the amount of data being sent back and forth. This information becomes important when it is time to charge the GPRS services to the customer.

Depending on the service provider, additional costs for the establishment of the connection and online time could be charged. After all administrative tasks of the SGSN have been performed; the packets are transferred to the Base Station Subsystem. Here they meet the last important addition to the GSM network, the Packet Control Unit.

The Packet Control Unit (PCU) is the last fundamental addition to the GSM architecture. The PCU can be implemented in the Base Transceiver Station, the Base Station Controller or one of the two GPRS Support Nodes. The service provider, or a predetermined default setting of the PCU by the manufacturer, decides its final position. The Packet Control Unit performs different channel access control functions, like channel request and assignment. Furthermore, the PCU is capable of taking over radio channel management tasks. These functions mainly control the performance and the data traffic and also administer the Broadcast Control information.

Page 52: Smart navigation system book

SNS Smart Navigation System

52 | P a g e

Besides these tasks, the Packet Control Unit is responsible for the correct transport of packets. All in all, the PCU has a similar functionality for packet information as the BSC does for circuit-switched data.

Now that we have learned about the new network elements in GPRS and know what the new interfaces are called, we will shift our attention to the interactions between the GSM and the new GPRS elements. Here we will take another look at the GPRS network. Let us ask the question how the GPRS network - that has just received a packet from the PDN - is able to send it on to the right address. The address tag on the packet, in this case the IP address, defines only the receiver. Now it is important for the network to create its own addressing scheme that will provide for a more efficient and dynamic transmission. As a result, the addresses used in the GPRS network are completely different from those used in other networks. The network also needs the appropriate routing information to determine the next useable network element for the data transmission. The GGSN requests the routing information together with other user information at the HLR. The HLR is also needed in a GPRS network, and it is connected to the GGSN via the Gc interface and to the SGSN, if it does not have the right information to transport the data, via the Gr interface. Because GPRS, just like GSM, will transmit and temporarily store short messages, we still need the Short Message Service Center. In that way it will be possible for GPRS mobile stations to send and receive SMS information over the GPRS radio channels. Another GPRS network element is the MSC/VLR. It has similar tasks in the GPRS network to those in the GSM network. We also need a register here that is able to notify the Serving GPRS Support Node about the possible location of a specified user. It is necessary to establish a paging procedure. There is a new way that locations are defined in GPRS. We will talk about that subject later during this course. If a GPRS mobile station starts to move around within a network, it is required to perform a VLR update at its present location. Furthermore it is essential to support the interaction between the PCU and the MSC, if both GSM and GPRS services shall operate in parallel. The radio resources need help via the A or Gs interface to control the time synchronization and its joint usage. The Equipment Identity Register (EIR)is the last GSM element that we will look at. GPRS will also have the option of banning devices from the network with the help of the EIR. Now it is clear that the elements MSC, VLR, and EIR are permanent components of the GPRS network. The only thing still missing is the connection to other Public Land Mobile Networks to make national as well as international roaming possible. Let us therefore observe the Gp interface and the resulting link to other PLMNs. Let us now consider the case where we need to transfer packets from one SGSN to another. We send packets over an Intra PLMN Backbone to the next SGSN that also belongs to the same PLMN. The advantage of this transfer is that it does not need high security measures, because both SGSNs are located within the same PLMN. Thus the service provider can directly influence the security mechanisms necessary. In our second case, we will observe the transport of packets destined for addresses outside their own Public Land Mobile Network. First the packets are transmitted via the Intra PLMN Backbone to a Border Gateway (BG). This gateway behaves like a Firewall, and also performs its tasks. At this point, the Border Gateway checks to determine if the packets may be sent and received, and if so, it decides how to handle them. A protocol translation is performed if the networks operate with different technologies.

Page 53: Smart navigation system book

SNS Smart Navigation System

53 | P a g e

Corporate Intranets also work with Border Gateways to allow access from other networks. This kind of transmission may cause delays in some cases and thus affect the quality of service. Also, the Inter PLMN Backbone is not necessarily owned by the mobile telecommunications operator. If the packets arrive at a mobile station in a PLMN B, they will be sent over the Intra PLMN Backbone to the Border Gateway. From here they will be passed on to the Intra PLMN Backbone of PLMN B via the Inter PLMN Backbone. Having arrived at the PLMN B, the packets are transmitted to the SGSN. Due to national as well as international roaming agreements, it will be possible to realize and take advantage of network-overlapping data transfers. Particularly in the early stage of GPRS, PLMN networks will not always be connected with each other. It is therefore necessary to involve an external network, like the Packet Data Network, to perform these interactions. We could also make use of the Internet as well as X.25 networks. After an appropriate protocol translation, the packets leave the PLMN A and are passed on to the PLMN B by the Packet Data Network, which also performs control and security duties.

The term network access describes the GPRS user's possibility to attach to a mobile network and to use its services. On the other hand, the network itself may also initiate the activation of these services. Let us now discuss the different functions:

The next function, the registration, is used for the assignment of addresses to a user number. This number can be selected statically or dynamically, depending on the usage.

The authentication function checks to determine if a user is really allowed to request a specific GPRS service. Another important function is access control: with this term we associate the assignment of resources, for example the maximum number of time slots that may be assigned to one user.

The message monitor function is responsible for filtering out unauthorized data packets from the entire network, or from parts of it. This has clear similarities to the Firewall, derived from computer technology. Because of different data packet structures in different network elements, a protocol translation must take place so that the data packets can be understood by the various elements. Finally, we are left with the last function, the collection of billing information. With its help, the service provider can keep an eye on the amount of sent and received data.

In the following section, we will address seven functions of packet transmission:

The function responsible for sending packets from one node to another through the network is the Relay Function. Here the routing information comes into play, because it knows the destination of the connection and can deliver this important information to the network.

However, we are not ready to send our packets yet. An address translation is required, since not every network element understands the same coding scheme. The new packets also need what we call address tags and control information for the transmission. The addition and removal of this information is called encapsulation. Another peculiarity of GPRS is the so-called tunneling function. This describes the transmission of data packets from the point of their assembly to the point of their re-assembly. Now that we have spent some time talking about the transmission and

Page 54: Smart navigation system book

SNS Smart Navigation System

54 | P a g e

addresses, we only have two specific points left. The compression function is required for the transmission, because it removes unnecessary information and protects it with special security codes. Last, but not least, the ciphering function codes the data and thus establishes a protected connection between two users. The Mobility Management function keeps track of the present location of the mobile station and stores the appropriate information. Here we must take a look at the different mobile station and SGSN states: at first, the mobile station rests in the so-called idle state. It is not attached to the GPRS network. To get into the ready state, a mobile station has to initiate a GPRS attach to the network. In this state the mobile station is known to the network and may send and receive data.

Cell and Routing Area updates are also performed. If no data is transmitted for a certain time period, depending on the configuration of the timer, the mobile station falls into a standby state. The network may even force the MS to enter the standby state. During standby, only Routing Area updates are performed. But as soon as the mobile station starts to send and receive information again, it automatically falls back into the ready state. If the mobile station locks itself off, we call that procedure a GPRS detach. The MS is now backing in the idle state, because it is no longer attached to the GPRS network. Another possibility is a timer expiration that sets the mobile station directly back to the idle state from standby. Furthermore, the command delete initiates the setback from the standby or ready state to the idle state.

Let us now observe the connection management between the mobile station and the GPRS-Network.

It can be divided into three functions:

Establishment

Monitoring and the

Detach function.

The connection establishment takes place when the mobile station performs a GPRS attaches. The most adequate term for this procedure is: Logical Link Establishment Function.

During the data exchange, the connection is monitored and any status changes are controlled. We call this Logical Link Maintenance Function.

Finally, during the GPRS-detach, occupied resources of the air interface and in the net become available again. Logical Link Release Function is the correct term for this procedure.

We will now turn to the air interface management functions, the last functions that we will discuss in this chapter.

These management functions are divided into four groups:

The general air interface management function allocates the different physical channels, the so-called timeslots, for different cells and also assigns a specific number of resources to a mobile station. Furthermore, the co-existence of GSM and GPRS channels is regulated.

Page 55: Smart navigation system book

SNS Smart Navigation System

55 | P a g e

The second function, the cell selection function is necessary for a mobile station that wants to find the best serving cell available. That cell can be found, for example, by measuring the signaling performance of the present and all neighboring cells.

The air interface control function is the third management function. It makes possible a protected transmission of the data packets. This includes procedures like error correction and recognition of the right order of data packets at the mobile station, taking the network capacity and the data traffic into account.

The fourth and final function decides if the connection between the BSS and the SGSN in the GPRS Network should be dynamic or static. We call this the path management function.

Now that we understand the structure of the GPRS network, we will put the emphasis on signaling. Let us first ask the question: What is signaling? Signaling is the exchange of information between corresponding network elements to perform application-supportive procedures and processes. The easiest example of signaling is call establishment to the mobile station with the appropriate addressing.

How can we imagine the attachment to the GPRS network, the location update or the requested service as signaling procedures? When we want to do any kind of signaling, we always need the identity of the needed network component. Let us therefore look at the network identities. In GPRS we distinguish between:

Location Area Identification

Routing Area Identification and

Cell Global Identification.

We will now proceed to talk about the Location Area Identification or LAI.

A mobile station, located somewhere in the Location Area, is constantly paged by all active Base Transceiver Stations. Thus the necessity of a so-called Location Update is minimized, although at the same time the amount of signaling has increased. Now, how does the Routing Area Identification behave?

The GPRS participant can be paged in the Routing Area if data needs to be transmitted. The Routing Area is, in most cases, part of a Location Area and therefore reduces the signaling traffic during the paging process. The RAI can include one or more cell sectors. After the mobile station has received and decoded the Routing Area Identification, it decides by itself if an RAI Update has to take place. Let's precede to the last network identification number the Cell Global Identification (CGI). The Cell Global Identification helps with the clear routing of signaling and information data. Each cell has a unique CGI. In the ready state, the network knows the present CGI of the mobile station. Now we have covered the addresses of the Base Station Subsystem. In the core network of GPRS, each GPRS Support Node (GSN) has its own IP address. This address derives either from Internet Protocol Version 4 or, in the future, from Internet Protocol Version 6. They only differ in their length. The IPv4 address is 32 bits long and the IPv6 address is

Page 56: Smart navigation system book

SNS Smart Navigation System

56 | P a g e

4 times 32 bits long. What task does such an IP address have? Every time the GPRS Support Nodes want to communicate with each other, which means they want to exchange data, they are called upon with a set IP address. Thus the IP address is essential for communication, even in the backbone network. Another fundamental task of the IP address, depending on the service, is to contact a specific GGSN. But how, for example, does the SGSN communicate with a register to receive user information? Or how can the GGSN, which supports SS7 protocols, receive HLR information with these protocols? As a response to these problems, a GSN number has been created that clearly describes a specific SGSN or GGSN. Each SGSN must have a unique SGSN number to communicate with the HLR and EIR. If the GGSN wants to exchange information with the HLR through SS7 protocols and via the Gc interface, it must have a GGSN number. The last address we will talk about is the Access Point Name (APN). The Access Point Name is a point of reference, i.e. an address which can be an IP address as well as a logical name. We can therefore speak of the symbolic character of an Access Point Name. A GGSN can have a large number of APNs, each of them describing one possible logical connection to another network. An APN clearly addresses one specific interface within the GGSN to another network. This means the APN that provides access to the internet can never be the same as the APN used to connect to the intranet. By sending the APN, the mobile station can inform the GGSN which external network it wants to be connected to. How the connection is established, that is, the IP address used for the connection is of no importance to the mobile station, as the IP addresses are assigned dynamically. The Packet Data Protocol Address is the address in the GPRS network where all Protocol Data Units (PDUs) are sent. The GPRS user may have one PDP address or more if he is subscribed to and uses several services. If a GPRS participant wants to send, for example, PDUs to the Virtual Private Network and he has therefore activated this service while at the same time upholding a connection to a high speed data network, two different PDP addresses will be established. If the user also wants to connect to the Internet, he needs another PDP Address to reach the proper GGSN. After requesting the new service, the SGSN activates the new PDP Address in the mobile station and on the GSNs and it confirms its activities to the GGSN. Now the PDUs of all activated services are transferred to the serving cell with the help of the International Mobile Subscriber Identity (IMSI) or later with the Packet Temporary Mobile Subscriber Identity (P-TMSI). In GPRS, the data has to pass through different protocol stacks before it arrives at its requested destination.

These protocols provide for a protected and reliable transmission and are integrated into the network elements of GPRS. Now you see in what order the protocol changes take place during transmission.

Page 57: Smart navigation system book

SNS Smart Navigation System

57 | P a g e

Let us now look at the different protocols of the mobile station:

The application protocol uses the subordinate protocols for the protected transport of application-related data.

The Internet Protocol and X.25 layer is necessary for the monitored routing of user information and its control in the GPRS Backbone Network.

Then the Sub network Dependent Convergence Protocol (SNDCP) adjusts the data to the network characteristics. Furthermore, it is responsible for the segmentation of data into small units and the compression of redundant information.

The Logical Link Control Protocol (LLC) establishes a reliable and ciphered connection to the SGSN that can function independently of subordinate protocol stacks. Furthermore, it is possible to adjust the Logical Link Control Protocol to different future networks like UMTS.

The Radio Link Control Protocol (RLC) gives the air interface the possibility of transmitting data over a reliable connection. In addition, a faulty transmission can be discovered by checking the protocol after its arrival at the receiver. The errors are then corrected through error correction procedures.

The Medium Access Control Protocol (MAC) controls the assignment and the acknowledgment signaling of the air interface. Its responsibility is to see that the logical connection between the mobile station and the SGSN works physically error-free.

Finally, the GSM Radio Frequency protocol layer is responsible for the clear description of the physical layer and the air interface.

Page 58: Smart navigation system book

SNS Smart Navigation System

58 | P a g e

The first new protocol at the BSS is the Base Station Subsystem GPRS Protocol (BSSGP). After the transition over the Frame Relay it is the highest rated protocol in the BSS and delivers the routing as well as the quality of service information to the SGSN. Thus, the SGSN is capable of selecting an alternative route for the data. In addition it can increase the service quality during a sudden increase in the receiving quality of the GPRS participant. However, it does not support any error correction mechanisms. From the second new protocol in the BSS, the Network Service Protocol (NS) the BSSGP Packet Data Units are transported to the appropriate Service Access Points of the network layer. Finally the third and last protocol in the BSS, which we call L1bis Protocol, describes the physical connection to the SGSN. In the SGSN, we will first turn to the GPRS Tunneling Protocol (GTP) that adjusts the requirements of the GPRS backbone network to those of the IP network. It packs all GPRS messages, signaling and user data for the tunneled transmission between the GPRS Support Nodes. This transmission can not be interpreted by others. Furthermore, the flow control between the GPRS Support Nodes is easier to trace.

The User Datagram Protocol (UDP) is used for the transmission of tunneled PDUs when the application is inactive on the receiver side. The Transmission Control Protocol (TCP) is essential for a reliable transmission. We will illustrate the peculiarities of TCP and UDP. All the protocols in the SGSN which we have not mentioned have already been discussed in the context of the mobile station. We already know the GGSN protocols and their tasks. But once again, we would like to shift our attention to the highest protocol in the GGSN, the IP Protocol, which we already learned about with the mobile station. The IP Protocol gives addresses to external networks and must also be able to interpret IP addresses from other networks. Now the data can be transmitted from and to an external network. Let's have a look at the procedures used in GPRS.

What kind of information is exchanged between network elements during the so-called Combined IMSI/GPRS Attach?

We switch on the Mobile Station.

First the Mobile Station will send a request to the new SGSN. Since the Mobile Station is unknown to the new SGSN, it will request the identification from the old SGSN. Then the old SGSN will deliver the so-called Authentication Triplet, which consists of a RANDOM number, a Signed Response and the Cipher Key. Now the new SGSN induces the MS to send a Signed Response. Authentication is performed by comparing the two Signed Responses - the one calculated by the old SGSN and the one calculated by the MS. An additional device check is optional. The SGSN then informs the HLR that a new subscriber is waiting for access. The HLR deletes the entry in the old SGSN and provides the new SGSN with all required subscriber data. In a second step, another attachment to GSM-MSC takes place, like in the GPRS attachment. After a successful location update, the Mobile Station is in GSM IDLE mode and, as long as the READY timer of the GPRS part has not expired, also in the GPRS READY mode. In this combined IMSI/GPRS Attach procedure one specific network element was never involved. Do you know which?

Page 59: Smart navigation system book

SNS Smart Navigation System

59 | P a g e

- Exactly: it was the gateway GPRS support node.

This element is applied in the following example.

In this example we look at the procedure which must take place prior to a packet transmission being requested.

This procedure is called Context Activation.

In the case of Context Activation, the Mobile Station asks the serving GSN whether it can provide a physical resource. After a safety check, and if there is a resource available, the SGSN communicates this request to the GGSN. The GGSN is always responsible for this service and supplies the SGSN with the required service profile.

If the SGSN is also able to support the profile (e.g. the quality of service or the transmission speed), the SGSN signals its agreement to the Mobile Station. The Mobile Station is thereby informed which resources on the Air Interface it can use for transmission. This information comes from the PCU in the network.

Now we will take a look at a paging process from the viewpoint of the signaling commands:

If a message is to be sent to a GPRS mobile station, the SGSN induces the Base Station Subsystem serving the Mobile Station to send out paging signals via the Base Stations.

For this, the SGSN demands a paging request from the serving Base Station Controller. Then the Base Station Controller adapts this demand to a language that is intelligible for the Mobile Station and sends this request on to the Mobile Station. The Mobile Station, in turn, responds to a received paging signal by sending out a data packet. This can be any arbitrary packet. The important thing here is that the packet contains the identity of the Mobile Station.

After receiving the reply, the BSC converts it so that this protocol can be understood by the SGSN. Thus the BSS supplies the SGSN with the acknowledgement in an LLC frame.

Now the SGSN knows that the Mobile Station is ready for reception and, in turn, initiates the PDP Context.

In GPRS there are three different detachment procedures. Which kind of detachment procedure takes place and at what time depends on who initiates the detachment.

This can be the Mobile Station, the network, or a subscriber, if he or she moves to a new network.

If the Mobile Station initiates the detachment, it sends a detachment request to the responsible SGSN.

The SGSN, in turn, informs the GGSN assigned to the service about the necessary deletion of the Context.

Page 60: Smart navigation system book

SNS Smart Navigation System

60 | P a g e

As soon as the entry has been deleted and acknowledged by the GGSN, the SGSN informs the MSC about the deletion process. The SGSN then acknowledges the detachment to the Mobile Station, and the services are now inactive.

In the second case, the detachment is effected by the network. If the network starts the detachment from one or several services, the Mobile Station is informed with a detach request from the SGSN.

Afterwards, like in the Mobile Originated Detach, the service is detached at the GGSN. Since, in this case, the SGSN is exclusively responsible for GPRS services, there will be no detachment from GSM services.

The mobile station acknowledges the realized detachment and becomes GPRS inactive.

In the third case, the network has to detach a GPRS Mobile Station, although the service could still be provided.

In this case, a Mobile Station is no longer accessible for the original network, because it is in another network. Thus the service has to be activated in the new network and deactivated in the old one.

After the new network has activated the subscriber services, the Home Location Register tells the old SGSN that the services must be deactivated. In order to make a clear routing of subscriber information possible, only one GPRS network can be active at a time. After receiving this command, the old SGSN, as in the case of the Network Originated Detach, detaches the Mobile Station at the GGSN.

In contrast to the Network Originated Detach, the initiator of this detachment, the HLR, is informed about the successful detachment at the end of the procedure.

The main benefit of GPRS is its better and faster packet transmission capability. We distinguish between two situations:

Data transfer from the Mobile Station to the network, the Mobile Originated Packet Transfer, and the transfer of data from the network to the Mobile Station, called Mobile Terminated Packet Transfer. Let's look at the first situation, the Mobile Originated Packet Transfer.

In the case of Mobile Originated Packet Transfer, the network receives a Packet Channel Request, which informs the network that the Mobile Station wants to send data to the network.

By means of logical channels, either the Packet Random Access Channel (PRACH), or the Random Access Channel (RACH) this information is then transmitted.

The network replies with a Packet Immediate Assignment, using thePacket Access Grant Channel (PAGCH), or the Access Grant Channel (AGCH).

Simultaneous to the network response, the Packet Data Channel (PDCH) is made available to the Mobile Station for the transport of data to the Base Transceiver Station.

Page 61: Smart navigation system book

SNS Smart Navigation System

61 | P a g e

However, there is also the possibility to assign several users to one single Packet Data Channel. The network must then tell the Mobile Station when the packet data channel is available to the Mobile Station.

This task is taken over by a so-called Uplink State Flag. This unciphered indicator is understood by all Mobile Stations that are waiting and listening to this channel, and is accordingly either used or rejected.

An Uplink State Flag is three bits long, so theoretically up to eight Mobile Stations can use the same Uplink PDCH.

This complete first phase is called Access Procedure.

In the second phase, the Mobile Station transmits its Temporary Logical Link Identifier (TLLI) to the network. The TLLI can be compared to the Temporary Mobile Subscriber Identity (TMSI) in GSM.

The network, in turn, confirms the reception of the Temporary Logical Link Identifier and is now familiar with the technical capabilities of the Mobile Station.

In addition, the Mobile Station is informed about necessary adjustments ofpower control values, retransmission options, as well as about the current Timing Advance value, i.e. the calculation of the distance to the Base Transceiver Station.

Now the Mobile Station is enabled to transmit its data packets to the network at the correct moment.

Subsequently, the data are transferred via the assigned Packet Data Traffic Channel (PDTCH). Periodically, the network confirms the received data packets via a Packet Associated Control Channel (PACCH).

In the final data block of the transfer, the following release procedure event is transmitted.

The network confirms the reception of a final data block and the Mobile Station subsequently terminates the transmission by a so-called Packet Acknowledgement message.

Let us now look at the Mobile Terminated Packet Transfer that is the data transfer from the network to the Mobile Station.

The SGSN, which is in standby state, initiates the transfer to the Mobile Station by transmitting a Packet Paging Request via a logical Packet Paging Channel (PPCH) or via a Paging Channel.

The Mobile Station responds to this paging attempt by starting the Paging and Access Procedure, which is similar to the Mobile Originated Packet Transfer. That means it asks for a dedicated channel by sending a Packet Channel Request. A Packet Random Access Channel, or a Random Access Channel, is used for this purpose like in the previous example.

The network now assigns this dedicated channel to the Mobile Station in the transmitted Packet Access Grant Channel, or Access Grant Channel.

Page 62: Smart navigation system book

SNS Smart Navigation System

62 | P a g e

This message is called Packet Immediate Assignment. The first step for initiating the "downlink" data transfer is called Paging and Access Procedure.

Basically, all pieces of information that are required for sending data packets to the Mobile Station have now been exchanged between the network and the Mobile Station.

It is to be assumed, however, that several Mobile Stations possibly share the same Packet Data Channel (PDCH) and that transfer interruptions can occur. Therefore each Mobile Station first of all requests the information which determines which data packets are destined for the particular MS and how long the Mobile Station will have to wait for the next data packet.

So an adequate agreement has to be reached. The Mobile Station asks about its current personal Temporary Frame Indicator (TFI) by transmitting a random data block on the PDTCH. This information enables the Mobile Station to identify its data blocks and ignore wrong data blocks.

The network responds with the Packet Resource Assignment by means of aPacket Access Grant Channel or an Access Grant Channel. Now the Mobile Station knows the Temporary Frame Indicator. This phase in the downlink data transfer is called Resource Assignment Procedure.

No more obstacles stand in the way of data block transmission, and the network transmits the data on the Packet Data Traffic Channel.

If - for a higher data transmission rate - several Packet Data Traffic Channels have been made available to a single subscriber at the same time, data blocks that have the same Temporary Frame Indicator can also be transmitted on different Packet Data Traffic Channels. The Mobile

Station, of course, has to be able to observe several time slots simultaneously.

While the data packets are being transmitted, they are acknowledged by Temporary Packet Acknowledge messages. This phase is called Downlink Packet Transfer. The final data block is now marked and, after reception, is acknowledged by a Final Acknowledgement. This last phase, which lasts until the station returns to standby state, is the Release Procedure.

So far, we have been talking about the GPRS Network, its new network components, the available services and functions, as well as the signaling procedures. There is one question left to answer: How can we provide the high speed data rates of the GPRS Network via the air interface? Now we will look at the air interface from three different aspects:

The physical channels, the frequency bands GPRS works with, and what the bursts look like.

The new coding schemes that are required for high transmission rates, and finally

The logical channels and the order in which information is to be transmitted over the air interface.

We will start with the physical channels.

The frequency bands in GPRS correspond to those used in GSM. This is because GPRS is integrated into the existing GSM Network. Therefore we also work with 900 MHz and 1800 MHz frequency bands:

Page 63: Smart navigation system book

SNS Smart Navigation System

63 | P a g e

In the 900 MHz band, we find the uplink in the 890 to 915 MHz range and the downlink in the 935 to 960 MHz range.

In the 1800 MHz band, we find the uplink in the 1710 to 1785 MHz range and the downlink in the 1805 to 1880 MHz range.

Nothing has changed concerning these frequencies.

Within these frequency bands, leaving out the lowest and highest frequencies, the channels are still positioned 200 kHz from each other. Each channel is divided into eight timeslots. Each of these timeslots includes signaling information or voice data, depending on the network configuration. The data is transmitted in bursts that vary in their structure according to their use.

However, the length of these timeslots is always the same, amounting to 577 µs, in which theoretically 156.25 bits could be placed. Of these 156.25 bits, only 114 are useable data, since the remainder is needed for error correction and other special tasks. Now, how do we achieve higher data rates than in the past from 114 bits per burst?

In GSM, the information is protected during the air transmission by two coding schemes: block and convolutional coding.

With this procedure, 456 bits are created out of 260 bits per 20 ms. Therefore it is possible to trace back missing data that was lost during the air transmission. Altogether, a full 12.5% of the data may get lost on its way without affecting the service quality. In GPRS, there are four different coding schemes available that provide for more or less protection. Depending on the general conditions, one of these four coding schemes is dynamically selected. For coding scheme 1, a 40 bit long Block Check Sequence (BCS) is added to the 181 bits of data and headers. The BCS resembles a checksum and helps to identify possible errors during the transmission. Furthermore, a three bit long Uplink State Flag (USF) is placed in front of the data. It is used to indicate which mobile station is allocated to the GPRS resource. Altogether, we have 224 bits now. In addition, four 0s are positioned at the end. They force the encoder back into its original state so the encoder can now continue to process data. Then our 228 bits pass through the convolutional encoder. Depending on the neighboring bits, the encoder will calculate two bits out of one. The resulting data rate equals 9.05 kbps.

For coding scheme 2, we replace the 181 bits of data with 268 bits. That corresponds to an increase in the useable data rate. Instead of the three Uplink State Flag bits, we now use six USF bits. That results in increased protection and a higher probability that the data will arrive at the right mobile station. However, the Block Check Sequence is shortened to 16 bits. Now we have a slight decrease in the protection of our data. After sending the data through the convolution encoder, we have 588 bits.

However, the air interface only allows 456 bits in a time frame and therefore we have to remove 132 redundant bits. Of course, this procedure does not affect USF bits. The transmission rate is now up to 13.4 Kbit/s.

The third coding scheme resembles the schemes already discussed. Instead of 268 bits, we now have 312 bits of data. Later, 220 bits have to be removed again. This coding scheme should only be used if a low error rate is expected during the transmission. We now achieve a possible transmission rate of 15.6 Kbit/s.

Page 64: Smart navigation system book

SNS Smart Navigation System

64 | P a g e

The fourth and last coding scheme is really not a coding scheme at all, because no convolution coding is performed. Thus no error correction of the data is possible. The only increase in protection is due to the doubling of the USF sequence - the address of the affected end devices - to 12 bits. The transmission rate now reaches 21.4 Kbit/s. In conclusion, we will summarize the four coding schemes in the following table.

Let us take a look at the overview: Coding scheme 1 has the lowest transmission rate with 9.05 Kbit/s. However, the protection against errors during the transmission is the highest. No redundant bits have to be removed and therefore they can all contribute to the error correction process. A maximum rate of 72.4 Kbit/s is possible, when all eight timeslots are used simultaneously.

Using coding scheme 2, the error correction capability is a little worse, because some redundant bits have to be removed. On the other hand, the transmission rate goes up to 13.4 Kbit/s and 107.2 Kbit/s when all eight timeslots are used. A little faster, but worse in the error correction process, is coding scheme 3. The resulting transmission rate is 15.6 Kbit/s and 124.8 Kbits/s when all eight timeslots are used.

Finally, we have coding scheme 4 that does not quite fit its name since no coding takes place. Nevertheless, it achieves the highest transmission rate, but at the same time having no tolerance for errors.

We will now explain how to map logical channels onto physical channels.

First, we should take a look at the two groups of logical channels. The traffic channels

include voice and data information that will be transmitted upon request. The control

channels on the other hand, are used for the transmission of general information

concerning the network or for the monitoring of the transmission itself. Let us now go to

the traffic channels or TCH.

Depending on the content and the transmission rate, there are only two different traffic channel groups: speech and data channels.

Page 65: Smart navigation system book

SNS Smart Navigation System

65 | P a g e

There are speech channels for Enhanced Full Rate Speech (EFS), Full Rate Speech (FS), Half Rate Speech (HS) and Full Rate Speech for Voice Group Calls and Voice Broadcast Services. This last channel only exists in the downlink, since Voice Group calls are only possible in this direction.

The data channels are once again divided into two groups: the circuit switching technology in GSM and the packet switching in GPRS. The conventional channels, known from GSM, differ in their transmission rates: TCHs go from 2.4 Kbit/s to 14.4 Kbit/s.

The packet switching technology makes use of four different channels since it works with the just mentioned four coding schemes:

PDTCHs start with 9.05 Kbit/s and reach up to 21.4 Kbit/s. By a simultaneous use of EDGE nine more channels are added, ranging from MCS - 1 to MCS - 9, according to the coding. Here the data rates range from 8.8 to 59.2 Kbit/s. Let us now proceed to the second group of logical channels, the control channels.

The control channels are also divided into three different control channel groups:

The common broadcast channels

The common control channels and

The dedicated control channels

Each control channel group will be discussed in detail in the next few sections.

The first group of control channels is composed of the common broadcast channels. These are downlink channels that means from the network to the mobile station, compared to the speech and data channels that must have uplink channels, representing the mobile station to network direction.

The Broadcast Channels split up into another four subgroups:

The Frequency Correction Channel (FCCH) includes a reference frequency that the mobile station must adjust to.

The Synchronization Channel (SCH) contains information about the GSM time

The Broadcast Control Channel (BCCH) is used to send out general network information and

The Packet Broadcast Control Channel (PBCCH) is used for the transmission of special GPRS parameters.

The second group of control channels, the common control channels, is separated into four types:

The Paging Channel (PCH) is used for the paging of a mobile station.

With the help of the Random Access Channel (RACH), the mobile station tries to gain access to the network. As a response to this channel request, the network sends back

The Access Grant Channel (AGCH) in the downlink direction to assign the mobile station to available resources.

Page 66: Smart navigation system book

SNS Smart Navigation System

66 | P a g e

The Notification Channel (NCH), contains information needed for the notification of the mobile station about a Point-to-Multipoint Multicast connection. This channel only exists in the downlink direction.

During a packet transmission, these channels perform exactly the same tasks. We only add a P to their description to identify them as packet channels.

The third and last group of control channels is formed by the dedicated control channels. These are divided into six sub-channels:

The Stand Alone Dedicated Control Channel (SDCCH) contains signaling information necessary for authentication, call establishment and the sending of SMS messages.

The Slow Associated Control Channel (SACCH) transmits the performance parameters. In comparison,

The Fast Associated Control Channel (FACCH) tries to establish a transmission with the lowest possible time delay.

The Packet Associated Control Channel (PACCH) serves as the signaling channel during a packet data transmission.

The Packet Timing Advance Control Channel (PTCCH) finds and sends out the signaling times. Finally,

The Cell Broadcast Control Channel (CBCH) takes care of the transmission of SMS Cell Broadcast that is SMS-CB.

We would like to acquaint you with the basics of the Internet. You will see that GPRS and the Internet are interconnected, and you will learn how to use this interconnection. The Internet originated from the ARPANET, a military research network. It was developed in 1969 with the following objectives:

Easy interaction between different network components was needed.

Connections had to be secured end-to-end.

The network had to be resistant to line troubles.

Transmission had to be independent of the transmission medium.

These are the very same requirements that must be met by modern communications networks. Since the beginning of the nineties, when it became possible to transfer files and electronic messages, as well as to present multimedia documents in a uniform way with the help of the hypertext format, the Internet has been spreading all over the world as the World Wide Web. The combination of the virtually exploding Internet business and the booming mobile communications market holds the promise of unheard of growth rates. The Internet is based on fundamental standards that make it possible to interconnect individual computers via standardized protocols. The most important ones are the Transmission Control Protocol TCP and the Internet Protocol (IP).These computers, also called clients, are linked to host computers, which are interconnected with each other. Several applications running on servers use the network to provide the client with certain services. For example, they enable clients to request Internet pages.

Page 67: Smart navigation system book

SNS Smart Navigation System

67 | P a g e

TCP/IP describes the packeting, addressing and transporting of payload data. At the same time, the network remains transparent for the payload data. This means that computer A seems to be directly linked to computer B or to the server.

Neither hardware, nor operating system, nor the application software on the different computers interferes with the communication flow. The reliability of the protocols thus guarantees that our first requirement is fulfilled: network components of the most diverse kind cooperate without any problem. Likewise, GPRS network elements such as SGSN and GGSN also use the Internet Protocol. What is the difference between data packet transfer and circuit-switched transmission, as we know it from telephony?

In speech communication, a connection is established by Call Setup, which is maintained until the Release message. There is a permanent, regular data flow between transmitter and receiver, regardless whether payload data are put through or not. The transmission of data packets can also be packet-switched, i.e. between the communication partners a connection is established. This resource is only used when actual data has to be transmitted. Data from different senders are mixed together on the physical transmission link. Consequently, the free bandwidths are used more efficiently. To separate these data again and to forward them correctly, each data packet bears an address label. So-called routers analyze the header of the data packet and, depending on the destination address, decide how to forward the data.

This effect, which is called Statistical Multiplex Gain, is also used by GPRS at the air interface. There is a virtual connection to each subscriber, which only starts to occupy resources when data is actually transmitted.

Page 68: Smart navigation system book

SNS Smart Navigation System

68 | P a g e

For transmission, data have to be bundled into packets. This segmentation process is described by different protocol layers, or simply Layers of the OSI model.

Each layer receives the data in a standardized way from the underlying layer. It attaches the control information that is required for performing its functions and passes the data packets on to the superior layer.

The physical layer describes all hardware properties, such as data rates, voltages, ports etc.

The overlying data link layer is hardware independent, but is responsible for structuring the data streams into logical blocks and supplying them with control values for the detection of transmission errors. Besides this, it organizes the access to the physical medium.

The network layer connects and disconnects two transmission elements. It is also responsible for the routing, which it performs by attaching and interpreting the source - and destination addresses.

The transport layer is responsible for the reliability of data transmission. Here the data sequences are secured end-to-end.

On top of the lower protocol layers, which have very detailed specifications, we find the higher layers. In a way, they include the language which both communication partners have to speak to be able to understand each other. Therefore they are much more complex.

The session layer resides directly on the lower protocol layers, the "socket". It synchronizes the applications and takes care of logical connection and disconnection. In the presentation layer, the data are converted into standardized formats. A uniform descriptive language, called Abstract Syntax Notification, enables different applications to understand the data. The application layer is the interface to the user. Here the actual communication with the user takes place.

His data are passed down through the protocol stack from top to bottom. The physical layer transports them to the communication partner. The partner must also have a standardized protocol stack that unpacks the data and makes them available to the application.

Let us take a look at the most frequently used protocols, starting with theHypertext Transfer Protocol. It is the basis for the most popular service, Internet surfing. The data to be transmitted are formatted in the Hypertext Markup Language or HTML standard. This plain text language describes the way documents are interpreted by the browser and how they are displayed on the screen. Just like a file format for word processing, HTML understands headings, bold text or italics, underlining etc. The most important difference, however, is that

HTML, as a manufacturer-independent standard, can be read and displayed by all browsers;

HTML supports so-called hyperlinks, which dramatically simplify navigation

between and within documents.

The File Transfer Protocol FTP is used for file transfer between the various computer operating systems.

Page 69: Smart navigation system book

SNS Smart Navigation System

69 | P a g e

Simple Mail Transfer Protocol SMTP allows the transmission of electronic mails. Through the Multipurpose Internet Mail Extension (MIME), the sending of different data objects, e.g. audio or video files, becomes possible via mails.

TELNET, which is a protocol for logging on to remote computers, is important for technicians. Similar to the terminal operation mode, it allows, for example, the remote configuration of network components.

If you map the protocols onto the OSI layer model, it becomes clear that SMTP, TELNET, and FTP cover the functions of layers 5 to 7.

They are based on TCP in layer 4, and upon the transfer protocol IP in layer 3. Layer 1 and 2 depend on the physical medium: the telephone lines, LAN connections, the serial interface of the PC, or our radio link to the Mobile Station are possible.

TCP is a connection-oriented protocol. Before data transmission starts, TCP establishes a logical connection to the communication partner in the network. The transmission is controlled continuously. TCP does not send more data until a confirmation from the addressee is received. As an alternative to TCP there is the connectionless User Datagram Protocol. This can be compared the anonymous mailing of a letter. Without addressing a specific recipient you only address the company, and put the letter into the mailbox. A transport mechanism, which you cannot influence, takes your message to the recipient, and you are not informed whether or when the letter arrives. The advantage of UDP is that it uses only the minimal network properties, so it works almost

Page 70: Smart navigation system book

SNS Smart Navigation System

70 | P a g e

everywhere. In return, it offers no protection whatsoever against transmission errors or data misuses. Typical applications are found with message-oriented protocols, such as Simple Network Management Protocol, a protocol for controlling network components.

Like a telephone number, an Internet address has to be unique, in order to avoid connection errors. We distinguish between the physical address, which is fixed permanently to a network component, and the logical address, which by means of a table can be allocated flexibly to the various components. The latter is the IP address. In the current IP version it consists of 4 bytes, which are usually shown in dotted decimal notation. The IP address is divided into network ID and host ID. The network ID is a kind of area code, while the host ID addresses the individual subscriber. Four classes, from A to D, represent the various addressing possibilities. A flag in the address indicates which addressing scheme is applied. The most widely used is the C-category, which offers addresses for about two million networks with up to 254 hosts each.

For better readability, IP addresses are converted once more into fully qualified host names. The most frequent type of address that is actually used is of the kind: [email protected]

How do network operators and subscribers get their IP Address? A central organization was founded under the name Internet Assigned Numbers Authority, to make sure that each IP number is really unique. This organization authorizes internet service providers, called ISPs, to provide their customers vacant IP addresses.

According to their size, the organizations are graded into the categories A to C. Generally, a network is assigned a class C with 256 possible hosts, unless a class B, which may have 256 to 65,539 hosts, is needed. The class A addresses are very seldom assigned.

As a result of historical developments, the so-called top level domains are classified by country, as well as according to the type of organization:

COM: commercial organizations

EDU: educational institutions

GOV: government organizations

MIL: military institutions

NET: network-relevant institutions

Country IDs mostly consist of two letters (for example .DE for Germany or .US for the United States). Many companies reserve the organizational and the geographical domain. These companies can be found under COMPANYNAME.COM and

Page 71: Smart navigation system book

SNS Smart Navigation System

71 | P a g e

COMPANYNAME.DE. Within the company, the symbolical address is derived from the employee's name or the name of the department (e.g. [email protected]). This hierarchical structuring of address distribution has the great advantage that every organization is free to decide how address domains are managed internally.

Frame Relay is one of the protocol stacks used by GPRS elements. It can be thought of as a high speed technology for communications networks and serves, for example, to interconnect Local Area Networks (LAN)s, System Network Architecture (SNA) and the Internet. With Frame Relay, information can be transmitted via an extensive Wide Area Network. This function is also used in the GPRS network. For efficient data transmission, the blocks of information are divided into smaller data packets, i.e. frames, which, after having been provided with new network addresses, can be transported in the GPRS network.

Suppose the interface capacity between the SGSN and the GGSN does not allow the transmission of large data packets: in this case, parts of the packet find their way to the GGSN via other transport routes. Additionally, the information packet can be divided into smaller packets by the BSS, if the capacity on the Gb interface is insufficient. Frame Relay multiplexes many logical channels onto one single physical channel. This also reduces transmission delays. Consequently, Frame Relay relies on three prerequisites:

A higher data transfer rate is required

The physical network has to be of the highest reliability and, finally,

Page 72: Smart navigation system book

SNS Smart Navigation System

72 | P a g e

An intelligent end system is required to reassemble the divided data packets correctly.

It must be considered, however, that Frame Relay does not add to transmission safety: neither does it provide additional capacities for error correction, nor does Frame Relay realize additional flow controls.

Now let's talk about the structure of Frame Relay: First, the data block that has to be transmitted is provided with an address and control field. Then two Cyclic Redundancy Check Octets (CRC) are added for the detection of transmission errors. The Frame Relay data block is completed with two flags that enable each network element to recognize the beginning and end of a single frame during transmission.

We use this command to make a connection with server by GPRS modem (AT-command):

Set up connection profile:

AT^SICS=1, CONTYPE, GPRS0

AT^SICS=1, USER, SNS

AT^SICS=1, PASSWD, SNS

AT^SICS=1, APN, WAP.ETISALAT.COM.EG

Internet connection information:

AT^SICI=?

Response

[^SICI: (list of defined<conprofileid>s)]

AT^SICI? Or AT^SICI=<conprofileid>

[^SICI: <conprofileid>,<constate>,<numservices>,<conaddr>]

AT^SISI=? IF THERE IS ANY PROFILE

Internet service profile:

AT^SISS=1, CONID, 1

AT^SISS=1, SRVTYPE, HTTP

Page 73: Smart navigation system book

SNS Smart Navigation System

73 | P a g e

AT^SISS=1, HCMETHOD, 0 //GET method

AT^SISS=1, USER, WAP

AT^SISS=1, PASSWD, WAP

AT^SISS=1, HCAUTH, 1

GPRS attach & assigning IP address:

AT+CGATT=1

ATD*98#

CNNECT

…………………………………......................................................................................................................

..........................................................................................................................................................................

..............

AT^SISS=1,ADDRESS,HTTP://WWW.YAHOO.COM

Service open:

AT^SISO=1

Response:

^SISR=<VALUE>,<VALUE>

Service close:

AT^SISC=1

Response:

OK

NOW URL LINK IS SENT BY GET METHOD

Page 74: Smart navigation system book

SNS Smart Navigation System

74 | P a g e

Chapter 6

Map Matching

There are three different types of Personal Navigation Assistants (PNAs). First generation PNAs simply provide the user with a map and the ability to search the map in a variety of ways (e.g., search for an address, search for a landmark, scroll and pan).Second generation PNAs provide both a map and the user’s current location/position. Third generation PNAs provide a map, the user’s location, and directions of some kind. It should be clear why we distinguish first-generation PNAs systems from second- and third-generation systems. Clearly, a system that provides the user’s current location is much more complicated than one that doesn’t, and generally requires both additional hardware and software. What may not be clear is why we distinguish between second- and third-generation PNAs. The rationale for doing so is actually quite simple. In second-generation systems the location that is provided to the user need not coincide with the street system (or subway system, etc: : :) system). However, in order to provide directions, the user’s location must coincide with a street (or subway line, etc: :) when appropriate. There are, in essence, three different ways to determine the user’s location. The first is to use some form of dead reckoning (DR) in which the user’s speed of movement, direction of movement, etc: : : is continuously used to update her/his location (1). The second is to use some form of ground-based beacon that broadcasts its location to nearby users (2). The third is to use some form of radio/satellite positioning system that transmits information that the PNA can use to determine the user’s location. This last approach is by far the most popular; a great many PNAs use the Global Positioning System (GPS) to determine the user’s location(3).Given a GPS receiver, it is almost trivial to convert a first-generation PNA into a second generation PNA (i.e., one that provides both a map and the user’s location), and many people have done so. However, reconciling the user’s location with the underlying map (or network) can be much more complicated. In other words, converting a second-generation PNA into a third-generation PNA can be quite difficult. When both the user’s location and the underlying network are very accurate, the reconciliation problem is thought to be straightforward – simply ―snap‖ the location obtained from the GPS receiver to the nearest node or arc in the network. Hence, it is not surprising that a number of people are working on improving the accuracy of both the underlying network and the positioning system.

In order to develop more accurate maps/networks, enormous ―surveying‖ efforts are underway (4, 5, and 6). Some of these efforts are being undertaken by government agencies and others are being undertaken by private companies. In order to develop more accurate positioning systems, a great deal of attention is being given to combining data from multiple sources. Some systems combine GPS with dead reckoning systems (7, 8 and 9), others use differential GPS (10),and others user multiple sources of data (sometimes including maps) We are interested in situations in which it is not possible or desirable to improve the accuracy of the map/network and the user’s location enough to

Page 75: Smart navigation system book

SNS Smart Navigation System

75 | P a g e

make a simple ―snapping‖ algorithm feasible. Such situations arise for many reasons.

Hence, it may not be possible to use dead reckoning or other data sources. Second,

even if it is possible to develop a network/map that is accurate enough, such a network

may not always be available. For example, the PNA may not have sufficient capacity to

store the complete, accurate network at all times and hence, may need to either store

inaccurate/incomplete networks or download less-detailed networks from either a local

or central server. Third, many facilities will probably never be available from

map/network vendors and will need to be obtained on-the-fly from the facility, probably

with limited accuracy. For example, vendors may not provide detailed networks/maps of

airports, campuses (both corporate and university), large parking facilities, and shopping

centers. Hence, the purpose of this paper is to explore map-matching algorithms that

can be used to reconcile inaccurate location data with an inaccurate map/network. We

begin in the next section with a formal definition of the problem. We then discuss point-

to-point, point-to-curve and curve-to-curve matching. In all three cases we consider

algorithms that only use geometric information and algorithms that also use topological

information. Finally, we conclude with a discussion of possible future research

directions.

PROBLEM STATEMENT

Our concern is with a person (or vehicle) moving along a finite system (or set) of streets, N. At a finite number of points in time, denoted byf0; 1;:::; Tg, we are provided with an estimate of this person’s location. The person’s actual location at time t is denoted by Pt and the estimate is denoted by Pt Our goal is to determine the street in N that contains Pt. That is, we want to determine the street that the person is on at time, t. Of course, we do not know the street system, N, exactly. Instead, as illustrated in Figure 1, we have a network representation, N, consisting of a set of curves inR2, each of which is called an arc. Each arc is assumed to be piecewise linear. Hence, arc A 2 N can be completely characterized by a finite sequence of points(A0;A1; : : : ;Ana) (i.e., the endpoints of the individual line segments that comprise A), each of which is inR2.The points A0 and A na are referred to as nodes while(A1;A2; : : : ;Ana-1 ) are referred to as shape points. A nodes is a point at which an arc terminates/begins (e.g., corresponding to a dead-end in the street system) or a point at which it is possible to move from one arc to another (e.g., corresponding to an intersection in the street system).

Page 76: Smart navigation system book

SNS Smart Navigation System

76 | P a g e

This problem is called a map matching problem because the goal is to match the estimated location, P, with an arc, A in the ―map‖, N, and then determine the street, A 2 N, that corresponds to the person’s actual location, P . A secondary goal is to determine the position on A that best corresponds to P .In order to simplify the exposition; we assume that there is a one-to-one correspondence between the arcs in N and the streets in N. This assumption can easily be relaxed, however. Not surprisingly, the problem considered here is similar to the map-matching problem in mobile robotics. There, the problem is to establish a correspondence between a current local map and a stored global map.

USING ONLY GEOMETRIC INFORMATION

We begin by considering methods of solving the map-matching problem that make use only of geometric information. That is, methods which make use only of the" shape‖ of the arcs and not the way in which they are ―connected‖.

Geometric Point-to-Point Matching

One natural way to proceed is to match P to the ―closest‖ node or shape point in the network. Of course, the question then arises of how to define ―close‖ and the most natural way to proceed is to use the Euclidean metric (though other metrics can also be used).

In particular, recall that the Euclidean distance between two points x and y in R2 is given by:

Page 77: Smart navigation system book

SNS Smart Navigation System

77 | P a g e

In a point-to-point matching algorithm, one need only determine the distance between P and each point in the network sequentially, storing the closest point found along the way.

Of course, in practice, it is not necessary to determine the distance between Pt and every node and shape point in the network. Instead, one can first identify those node and shape points that are within a ―reasonable‖ distance of Pt, and then calculate the distance only to ―reasonable‖ points (e.g., those points within some multiple of the known accuracy of the GPS receiver being used). A number of data structures and algorithms exist for identifying all of the points ―near‖ a given point (often called a range query). While this approach is both reasonably easy to implement and fast, it has many problems in practice. Perhaps most importantly, it depends critically on the way in which shape points are used in the network. To see this, consider the example shown in Figure 2. Here, Pt is much closer to B1 then it is to either A0 or A1, hence it will be matched to arc B even though it is intuitively clear that it should be matched to arc A. Hence, this kind of algorithm is very sensitive to the way in which the network was digitized. That is, other things being equal, arcs with more shape points are more likely to be matched to.

One might argue that this problem could be overcome simply by including more shape points for every arc. Unfortunately, this dramatically increases the size of the network and is not guaranteed to correct the problem.

Geometric Point-to-Curve Matching

Perhaps the next most natural way to proceed is to attempt to identify the arc in N that is ―closest‖ to Pt, rather than the point that is closes to Pt. Again, we must ask how to define ―close‖ and the most common approach is to use the minimum distance from the point to the curve. Since we are dealing with piecewise linear curves, to find the minimum distance from a point x to a curve A we must find the minimum distance from x to each of the line segments that comprise A and select the smallest.

Of course, it is fairly simple to find the minimum distance between a point and a line. In

Page 78: Smart navigation system book

SNS Smart Navigation System

78 | P a g e

particular, suppose that we let denote the line A, through a and b. Then, the minimum distance between some point c and this line is given by:

Which is the distance a long the ―perpendicular‖ from c to the line. As shown in Figure 3,

calculating the minimum distance between a point and a line segment is slightly more

complicated than calculating the minimum distance between a point and a line in some

cases. Calculating the minimum distance between p and the line segment between A

and A is straightforward since it is the same as the minimum distance between p and the

line through A and A. However, when we calculate the distance between q and the line

through A and A we see that the ―perpendicular‖ intersects the line outside of the line

segment. Hence, we must also calculate the distance between q and both A and A and

choose the smallest. Thus, calculating the minimum distance between a point, P, and an

arc A, involves finding the minimum distance between P and the line segments

and choosing the smallest.

Page 79: Smart navigation system book

SNS Smart Navigation System

79 | P a g e

To match Pt to an arc, one must calculate the minimum distance between Pt and all

―reasonable‖ arcs in N and choose the one that is closest. While this approach may

seem perfectly appropriate at first glance, it does have several shortcomings that make

it inappropriate in practice. First, point-to-curve matching does not make use of

―historical‖ information. One problem that arises as a result is illustrated in Figure 4. The

estimated position P2 is equally close to arcs A and B. However, given P0 and P1 it

seems clear that P2 should be matched to arc A.

Page 80: Smart navigation system book

SNS Smart Navigation System

80 | P a g e

Page 81: Smart navigation system book

SNS Smart Navigation System

81 | P a g e

Page 82: Smart navigation system book

SNS Smart Navigation System

82 | P a g e

Page 83: Smart navigation system book

SNS Smart Navigation System

83 | P a g e

Page 84: Smart navigation system book

SNS Smart Navigation System

84 | P a g e

Page 85: Smart navigation system book

SNS Smart Navigation System

85 | P a g e

Page 86: Smart navigation system book

SNS Smart Navigation System

86 | P a g e

Page 87: Smart navigation system book

SNS Smart Navigation System

87 | P a g e

Page 88: Smart navigation system book

SNS Smart Navigation System

88 | P a g e

Chapter 7

Routing

Chapter Contents:-

1- Introduction to Route Calculation

2- Routing Algorithms

3- Software Design

4- Map and map database

5- Example for Implementing the Routing algorithm using MATLAB

Introduction to Route Calculation

What is Route Calculation? Route calculation is the software component in a navigation system that

determines the best route between two or more places according to the user‟s preferences, traffic conditions, etc. It is a computation-intensive

process that processes large amounts of data in order to determine the best route. There are some optimizations that can reduce computation time and

other resource usage on the device, although these are compromises that

can have side effects.

Route Calculation Inputs and Outputs At its most basic, a route calculation operation takes a start position and

an end position and outputs a list of links from the map database which represent a route through the map between those two points. However, to

be useful in a personal navigation system, the interface to the route calculation components needs to be

somewhat richer: Route calculation options

Shortest, fastest, cheapest Path

Traffic data interface

Shortest Path Problem:

Page 89: Smart navigation system book

SNS Smart Navigation System

89 | P a g e

All routing algorithms are designed to find the shortest path between a

single pair of nodes. An example of the problem is shown below where it is

desired to minimize the cost of traversing the network from the origin, node

A, to the destination, node E.

Hint* Reference point (or node): It is a virtual map Node that represents the

intersection between two -or more- roads (may be used in curved Roads and

vertices)

In this diagram the values associated with each link represents the distance

from one node to the next. Intuitively, by adding up all possible paths from

A to E (in this case two) we can determine that the route A-C-D-E (14) is

better than A-B-E (16). The complexity of the problem quickly increases as

nodes become more connected. For example, adding a single link B-D adds a

further two possible routes.

Algorithms

There are many algorithms used in personal navigation systems. Most are

variations of two algorithms: Dijkstra‟s shortest path and A-Star. To be particular, Dijkstra‟s algorithm can be described as a special case of A-Star.

a- Dijkstra :

Edsgar Dijkstra (1930-2002) was a Dutch computer scientist who, in 1959, developed a solution to the shortest path problem; it is known as the

Dijkstra Algorithm. The Dijkstra Algorithm proceeds along all possible routes until the destination node is reached. It optimizes the search by choosing to

analyze the route that is currently the shortest.

Page 90: Smart navigation system book

SNS Smart Navigation System

90 | P a g e

In our example, there are two nodes that neighbor the origin node, B and C.

The Dijkstra Algorithm prioritizes node C as it is the closest node to the origin (4 instead of 7). Each neighbor node of C (in this case, only D) is

examined and assigned the sum of the distances from the origin, and node C is marked as “visited” and will not be considered again. The network with

sums at this stage is shown below The Dijkstra Algorithm has finished processing node C. In this example, as

the processing of node C leads to only one other node, D, there are again two nodes to consider, B and D. Node B is the closest node to the origin so

this is now examined and the total distance from the origin to the neighbors of node B are determined. Node B is now marked as “visited”.

Since the route A-B-D (13) is longer than A-C-D (10), it is discarded. The algorithm now has two further nodes to consider, nodes D and E. Node D is

reached via the route A-C and node E via the route A-B. The distance of the route from the origin to node D (10) is less than the route to node E (16), so

the neighbors of node D are chosen for processing. Since node B is already

marked as “visited” from the previous pass, it isn‟t included in this pass.

b- A* / A-Star

A more suitable algorithm for route calculation in personal navigation

systems is called the „A-Star‟ or „A*‟ algorithm. This algorithm improves on

Dijkstra‟s approach by maintaining a

„heuristic estimate‟ of how close a

given node is to the best route.

This is provided simply by

Page 91: Smart navigation system book

SNS Smart Navigation System

91 | P a g e

calculating the Euclidian distance to the

destination at every node.

The A* algorithm provides a

generalization of the Dijkstra Algorithm

and can additionally be used to improve

the prioritization of nodes to examine by

making use of a heuristic that provides an

approximation of the distance. The heuristic does not actually determine the

exact distance that would be traversed, instead it uses some special

knowledge (for example the latitude and longitude of the node) to calculate

an estimate of what the distance might be.

A common approximation is the straight-line distance from the current node

to the destination node. Note that the heuristic used in an A* algorithm

should not over-estimate the cost to the destination, but it is allowed to

under-estimate it.

The A* algorithm beings by examining each of the neighbors of the origin

node; by calculating the straight-line distance from each of the neighbor

nodes to the destination and then adding the actual distance from the origin

to the neighbor node, the algorithm arrives at an approximation of the total

distance for the journey from origin to destination. The algorithm then

moves to the node that, according to the approximation, is located along the

route that would cover the least distance. In the diagram below, the values

in red are calculated using the heuristic. For our simple example (where the

network actually consists of straight lines) the heuristic happens to generate

the exact value.

In this first pass, the A* algorithm determines the actual distances of A-B

(7) and A-C (4) and uses the heuristic to calculate an estimate of the

distance left to the destination node from B and C, i.e. the straight line

distances for B-E (9) and C-E (10).

By summing the actual distance from the origin with the value provided by

the heuristic, we can determine which route is likely to be shortest. Thus the

route A-C (4) + heuristic estimate (10), with a sum of 14, is shorter than A-

B (7) + heuristic estimate (9), with a sum of 16, and so the route A-C will be

prioritized.

Page 92: Smart navigation system book

SNS Smart Navigation System

92 | P a g e

In the second pass, the only neighbor

of node C is node D. The total distance

from node A to D is 10 and the

heuristic estimate from D to the

destination is 4. This sum (14) is still

less than the sum of A-B and its

corresponding heuristic estimate

therefore node D is prioritized.

In the next pass the algorithm finds node E and determines the exact

distance from origin to destination via the route A-C-D-E to be 14. As this

value is lower than the sum of A-B and the heuristic estimate from B to E,

the route A-C-D-E is determined to be

optimal.

To specifically highlight the way in

which the use of the heuristic is able to

prioritize the choice of nodes, it is worth

walking through a more complex

network, one that does not consist of straight lines. In the graph below the

straight line distances remain the same as in the previous network.

Page 93: Smart navigation system book

SNS Smart Navigation System

93 | P a g e

In the first pass, the A* algorithm examines the neighbors of the origin and

determines the actual distance of these nodes, A-B (14) and A-C (8). The

straight line distance from the neighbor nodes to node E is calculated giving

values of 9 for the straight line B-E and 10 for the straight line C-E. To re-

iterate, the assumption is that these straight line values can be calculated

without it being necessary to examine any of the nodes that might lie in

between.

The sum of the values for node B is 14+9 (23) and node C is 8+10 (18). As

the value for node C is less than for node B, node C is processed next.

Node C has only one neighbor, node D. The actual distance from the start

node to node D is 20 and the straight-line distance from node D to node E

is 4. The sum is therefore 24. This value is (unlike the simpler network on

previous pages) larger than the approximation through node B (which is

23); node B is therefore next to be processed.

When analyzing node B, node D is ignored as it has

already been visited when examining the potential route A-C-D. The only

other neighbor of node B is node E, therefore the actual distance along the

route A-B-E is now found to be 32. As this is larger than the current

approximation through node D (23), node D is prioritized.

The only neighbor of node D considered is node E (as node B has

previously been processed). The actual distance along the route A-C-D-E is

28, which is less than A-B-E (32) and therefore route A-C-D-E is determined

to be optimal.

The main characteristic of the A* algorithm is that the heuristic must

produce an approximation of the distance to reach the destination that is

actually achievable, even if it is somewhat optimistic. Because we have

considered the heuristic of a straight-line distance to the destination, we

know for certain the minimum possible distance that any route currently

under consideration must traverse to reach the destination. Therefore, if any

other route actually attains the destination in a distance that is less than an

outstanding approximation, then the search is complete and it is known that

the shortest route has been determined.

Page 94: Smart navigation system book

SNS Smart Navigation System

94 | P a g e

Summary of A-Star

A* uses a best-first search and finds the least-cost path from a given initial

node to one goal node (out of one or more possible goals).

It uses a distance-plus-cost heuristic function (usually denoted f(x)) to

determine the order in which the search visits nodes in the tree. The distance-plus-cost heuristic is a sum of two functions:

The path-cost function, which is the cost from the starting node to the current node (usually denoted g(x))

And an admissible "heuristic estimate" of the distance to the goal (usually denoted h(x)).

The h(x) part of the f(x) function must be an admissible heuristic; that is, it

must not overestimate the distance to the goal. Thus, for an application like routing, h(x) might represent the straight-line distance to the goal, since

that is physically the smallest possible distance between any two points or nodes, So additive distances due to edges and curves should be considered

, and pseudo distance due to congestion, traffic light, U-turns …… etc

And this type of Routing algorithms will be Used in Our Project in the First

method of Routing Calculation because of it‟s flexibility for being modified and divided into number of stages which enable many vehicle routing

considerations (as Directions and adding costs for a specific arc due to congestion) to be kept in mind and capable of being performed and

realizable as well.

Software Design

1- Establish map and map database

2- Writing a suitable code for implementing 1st stage function 3- Writing a suitable code for implanting 2nd stage function

4- Turn consideration and restriction 3rd stage 5- Integrate 2nd and 3rd stages to minimize time of calculation

6- Finding the best paths for this rout ( shortest and fastest) 7- Plot the o/p paths in different colors according to its cost

Map and map database

For each Raster map there are 3 tables should be established according to the characteristics of this map to perform vehicle Routing as following:-

Page 95: Smart navigation system book

SNS Smart Navigation System

95 | P a g e

Nodes table (table1) include Nodes IDs and Locations

Arc table (table2) include Arcs ID, cost, location and number of neighbor arcs

Turn table (table3) contain Turn Restriction as 1 for available and -1 if not

Page 96: Smart navigation system book

SNS Smart Navigation System

96 | P a g e

Software Flow Chart

Page 97: Smart navigation system book

SNS Smart Navigation System

97 | P a g e

The 1st stage function includes accessing all nodes in Table 1 and finding the

values f(x), g(x), h(x) ,node priority p(x) and classify each Node as needed

for this Route or not to form „a Group‟ of nodes Around the location which

include the Process of Routing

The 2nd stage function integrates with the 3rd stage one by accessing table2

and 3 to calculate and find all available Paths from Origin to Destination

Using nodes chosen from stage 1 and Specify each path cost including the

direction consideration for each Arc and Traffic information received from a

Guidance Station "Server" Which Provide a real time information about

Traffic to Each Navigator

Example for Implementing the Routing algorithm using MATLAB

Writing a suitable matlab code for implementing 1st stage function

% reading the 3 tables

ndata = xlsread('Book1.xlsx');

adata = xlsread('Book2.xlsx');

ddata = xlsread('Book3.xlsx');

xn = ndata(:,2);

yn = ndata(:,3);

imshow(cdata,colormap);

hold;

plot(xn,yn,'*y','linewidth',.5) % for ploting the map

org = input('Specify You Origin as [X,Y] ');

des = input('Specify You Destination as [X,Y] ');

SZ1 = length(xn)

SZ2 = length(adata(:,1))

L = sqrt(sum([org-des].^(2)))

G=0;H=0;F=0;P=0;vld=0;N=0;R=0;nm =[];st1= [];narc =0;rd=0;q=0;sm=0;

pth=0;pth1=0;pth2=0;pth3=0;ndx1

=0;ndy1=0;ndx2=0;ndy2=0;ndx3=0;ndy3=0;arcpth =0 ;

% Defining NODES FROM NODES TABLE and f,g,h,p calculation

for k = 1 : SZ1

H(k,1)= sqrt(sum([ndata(k,2:3)-des].^(2))) ;

G(k,1)= sqrt(sum([ndata(k,2:3)-org].^(2))) ;

Page 98: Smart navigation system book

SNS Smart Navigation System

98 | P a g e

F(k,1)= G(k,1)+H(k,1);

if ((F(k,1) <= (2)*L)) && (G(k,1) < 1.5*L ) &&( H(k,1) < 1.2*L )

N = N+1;

% rank each node if accepted

if G(k,1)== 0

P(N,1)=(G(k,1)*(L/F(k,1)))- 2*H(k,1);

else

P(N,1)=((G(k,1)*(L/F(k,1)))- H(k,1))+ .25*G(k,1);

end

DF(N,1)=G(k,1)-H(k,1);

P(N,1)=P(N,1)+ DF(N,1);

vld(N,1)= ndata(k,1);

vld(N,2)= xn(k);

vld(N,3)= yn(k);

vld(N,4)= F(k,1);

vld(N,5)= P(N,1);

end

End

A Matlab code segment for implementing 1st stage function

Writing a suitable code for implanting 2nd and 3rd stages functions including Turn consideration and restrictions

%ARC MATRIX DESIGN USING ARC-TABLES

nm (1,2:N+1) = st1(:,1);

nm (2:N+1,1) = st1(:,1)

k=0;

N=0;

B=0;

for k= 2 : R+1

chk1 = nm (1,k);

for q=1 : SZ2

if (adata(q,2)== chk1)

it = adata(q,5);

for N = 2 : R+1

chk2 = nm(N,1);

for B=1 : it

Page 99: Smart navigation system book

SNS Smart Navigation System

99 | P a g e

if (adata(q,3)== chk2)

nm(N,k) = adata(q,4);

end

end

end

q = SZ2;

end

end

end

% finding All available Paths for current Route

for k=1 : it

if j== rd(1,4)

j =j;

else

j = j+1;

end

if rp > 0

j=j-1;

rp=rp-1;

else

rd= rdm;

end

if y==1

j=j+1;

end

if j== rd(1,4)

y=1;j=j;

end

x=0;

for N=1 : narc

if ((N == j ) || N ==bk ) && (j <= rd(1,4))

sm(1,k) = sm(1,k) + rd(N,3);

if rd(N,7+b)> 1

n=n+1;

Npth(n,k)= N ;

if k>1 && Npth(n,k-1)~= 0 && Npth(n,k-1)~= Npth(n,k)

Npth(n,k)= Npth(n,k-1);

n=n+1;

Npth(n,k)= N;

end

Page 100: Smart navigation system book

SNS Smart Navigation System

100 | P a g e

end

if rd(N,7+b)== 2

if x ~= 0

rd(Npth(n-1,k),7+b)= rd(Npth(n-1,k),7+b)+1;

bk = rd(N,6);

x=x-1;

rd(N,7+b)= rd(N,7+b)-1;

else

bk = rd(N,6);

rd(N,7+b)= rd(N,7+b)-1;

end

x=x+1 ;

rp = 1;

else

bk=rd(N,5);

if n>1 && rd(N,6)-rd(N,5) == rd(N,7+b)

rd(N,7+b)= rd(N,7+b)+1;

end

end

B= B+1;

pth(B,k)= rd(N,1);

if B>1

[ROW,COL]=find (adata(:,2) == pth(B-1,k));

RW = ROW(1,1);

for q=0: length(ROW)-1

if pth(B,k)== adata(RW+q,3)

arcpth(B-1,k) = adata((RW)+q,1);

end

end

end

if N == narc || rd(narc,2)== rd(N,2)|| rd(N,2)==st1(R,1)

B=B+1;

pth(B,k) = rd(N,2);

if B>1

[ROW,COL]=find (adata(:,2) == pth(B-1,k));

RW = ROW(1,1);

for q=0: length(ROW)-1

if pth(B,k)== adata(RW+q,3)

arcpth(B-1,k) = adata((RW)+q,1);

end

end

end

end

COL = 0;ROW =0;RW = 0;q=0;

if B>2

Page 101: Smart navigation system book

SNS Smart Navigation System

101 | P a g e

[ROW,COL]=find (ddata(:,1) == arcpth(B-2,k));

if ROW ~= 0

RW = ROW(1,1);

for q=0: length(ROW)-1

if arcpth(B-1,k)== ddata(RW+q,2)

if ddata(RW+q,3)~= 1

bk = 0 ;

pth(B,k) =0;

end

end

end

else

pth(B,k) =0;

bk = 0;

end

end

end

end

NO=0;bk=0;B=0;n=0;

End

Some Results illustrate how the code works

st1 =

45 -1241.6

41 - 633.5

47 - 450.7

30 - 389.5

39 - 369.1

42 - 310.5

44 - 209.3

36 - 183.3

22 7.7

35 41.6

34 54.5

Page 102: Smart navigation system book

SNS Smart Navigation System

102 | P a g e

33 083.8

28 149.5

29 183.2

16 283.4

26 306.6

24 382.5

13 545.9

5 657

6 689.8

7 693.8

15 931.2

St1 is calculated as stage 1 O/P which include ranked Nodes from Origin to Destination in the first

column and priority in the second one

nm =

0 45 41 47 30 39 42 44 36 22 35 34 33 28 29 16 26 24 13 5 6 7 15

45 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

41 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

47 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

39 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

36 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

35 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Page 103: Smart navigation system book

SNS Smart Navigation System

103 | P a g e

33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 45.0000 41.0000 47.0000 30.0000 39.0000 42.0000 .. .. . . 15.0000

45.0000 0 0 0 0 0 0 . . 0

41.0000 173.5655 0 0 0 0 0 . . 0

47.0000 207.0990 0 0 0 0 0 . . 0

30.0000 0 0 0 0 0 0 . . 0

39.0000 134.3317 0 0 0 0 0 . . 0

42.0000 0 0 62.2013 0 0 0 . . 0

44.0000 0 0 0 0 0 167.3230 . . 0

36.0000 0 0 0 0 65.7951 65.0000 . . 0

22.0000 0 248.9438 0 0 0 0 . . 0

Page 104: Smart navigation system book

SNS Smart Navigation System

104 | P a g e

. . . . . . . . . . . . . . 0

. . . . . . . . . . . . . . 0

. . . . . . . . . . . . . . 0

15.0000 0 0 0 0 0 0 . . . .. 0

The nm matrix represent nodes and length of arcs by which the algorithm can find paths to

destination from all nodes by tracking values more than zero , this could be interpreted more using

the rm matrix :-

rm matrix =

41 22 248.943800000000 1 12 13 2

45 47 207.099000000000 2 5 0 1

45 39 134.331700000000 0 6 7 2

41 22 248.943800000000 1 12 13 2

47 42 62.2013000000000 1 8 9 2

39 36 65.7951000000000 2 11 0 1

39 28 139.169000000000 0 19 0 1

42 44 167.323000000000 2 10 0 1

42 36 65 0 11 0 1

44 35 118.016900000000 1 14 15 2

36 33 98.2344000000000 1 17 18 2

Page 105: Smart navigation system book

SNS Smart Navigation System

105 | P a g e

22 28 251.406000000000 2 19 0 1

22 16 109.416600000000 0 21 0 1

35 34 16.1555000000000 2 16 0 1

35 33 79.8123000000000 0 17 18 2

34 29 58.0775000000000 1 20 0 1

33 28 162.865000000000 2 19 0 1

33 29 98.8433000000000 0 20 0 1

28 24 57.4282000000000 1 24 0 1

29 26 57.0351000000000 1 22 23 2

16 15 227.019800000000 1 0 0 0

26 24 234.213600000000 2 24 0 1

26 13 145.168900000000 0 25 0 1

24 15 131.973500000000 1 0 0 0

13 15 211.037900000000 1 0 0 0

5 6 50.0100000000000 1 27 28 2

6 7 47.5184000000000 2 0 0 0

6 15 181.892800000000 0 0 0 0

So the first path will be : -

41 22 28 ……15

And the Cost:

248.943800 +251.40600+ ……….. =

and so on till all paths are calculated ……

Page 106: Smart navigation system book

SNS Smart Navigation System

106 | P a g e

Blue Represent the Shortest

Page 107: Smart navigation system book

SNS Smart Navigation System

107 | P a g e

Green Represent the Next

Red Represent the last

Map With Directions

Page 108: Smart navigation system book

SNS Smart Navigation System

108 | P a g e

Chapter 8

Software & Hardware implementation

Single computer board

Model:

BS-EC3-1516

(3.5 Inch SBC with AMD LX+CS5536

TFT/LVDS/LAN/5xCOM/LPT/IDE/FDD/WDT/4xUSB/Audio/DOC)

Page 109: Smart navigation system book

SNS Smart Navigation System

109 | P a g e

7" Stand alone Wide Screen Touch screen VGA Monitor

7inch TFT LCD color car Monitor with VGA; DVD/VCD/CD/VGA Compatible;

High resolution, wide viewing angle.with15:9 mode; Function infrared remote control;

Menu language: Chinese/English/French/Russian/German;. With VGA end, connecting; Computers (touch type optional); with audio &double video input;

DC 12V input or 12V - automobile power.

Page 110: Smart navigation system book

SNS Smart Navigation System

110 | P a g e

GPRS Modem:

Used to transmit and receive the current position of the care.

GPS Module:

Used to locate our current position in a real time.

How to make bootable USB Flash Memory:

Step 1 Connect USB Pen Drive (512MB or more)

Step 2

Download and Run USB Disk Storage Format

Page 111: Smart navigation system book

SNS Smart Navigation System

111 | P a g e

Step 3 grubinst_gui and Run as Administrator

Page 112: Smart navigation system book

SNS Smart Navigation System

112 | P a g e

Step 4 Copy grldr and menu.lst (from HBCD folder) to the usb drive

Step 5

Insert the BootCD (9.7 or newer) in the CD Drive and Copy everything from CD to USB Flash Drive

Step 6 Test Your USB Drive (read bottom of the page for troubleshoot)

Make sure you set your computer to boot from USB Flash Drive

To Enter the BIOS press the "Del" button on your keyboard. Alternatives are

"F1", "F2", "Insert", and "F10". Some PC's BIOS might even require a different

key to be pressed. Commonly a PC will show a message like "Press [Del] to

enter Setup" to indicate that you need to press the "Del" key. Some AMI BIOS

require you to enable the option "USB Keyboard Legacy support"!

For AMI BIOS:

Go to "Feature Setup". "Enable" these options: "USB Function

Support",

"USB Function for DOS" and "Thumb Drive for DOS". Go to "Advanced

Setup".

Set the "1st Boot Device" to "USB RMD-FDD".

Reboot the PC and it now should boot from the USB Stick.

Page 113: Smart navigation system book

SNS Smart Navigation System

113 | P a g e

Go to "USB Mass Storage Device Configuration". Select "Emulation Type"

and set it to "Hard disk". Go to the "Boot Menu" and set the "1st boot

device" to "USB-Stick". Exit the BIOS, saving the changes. you can try

"Emulation Type" to "Floppy" or "Forced FDD".

For PHOENIX/AWARD BIOS:

Go to "Advanced BIOS Features". Go to the "1st Boot device" and set it

to "USB-ZIP".

Server

A. Registration:

Click register to view:

If you are not a member this form will be loaded for registration.

Page 114: Smart navigation system book

SNS Smart Navigation System

114 | P a g e

Then when click submit message will send to user mail contains key.

Then user uses it to login.

If you are user this form will be loaded.

B. The basic item in the site is the map which display our routing :

To perform this goes through this steps

This is the first page.

Page 115: Smart navigation system book

SNS Smart Navigation System

115 | P a g e

Click on the map to specify your start address or writ position (longitude, latitude) in text

area.

Click on the map another time again to specify your end address or writ position

(longitude, latitude) in text area.

Page 116: Smart navigation system book

SNS Smart Navigation System

116 | P a g e

Click the Get Directions button to get your position.

.

Last step is hit the Reload page button to do that again.