Tuesday, May 18, 2010

General RF

Radio frequency (abbreviated RF, rf, orr.f.) is a term that refers to alternating current (AC) having characteristics such that, if the current is input to an antenna, an electromagnetic (EM) field is generated suitable for wireless broadcasting and/or communications. These frequencies cover a significant portion of the electromagnetic radiation spectrum, extending from nine kilohertz (9 kHz),the lowest allocated wireless communications frequency (it's within the range of human hearing), to thousands of gigahertz(GHz).

When an RF current is supplied to an antenna, it gives rise to an electromagnetic field that propagates through space. This field is sometimes called an RF field; in less technical jargon it is a "radiowave." Any RF field has a wavelength that is inversely proportional to the frequency. In the atmosphere or in outerspace, if f is the frequency in megahertz and s is the wavelength in meters, then

s = 300/f

The frequency of an RF signal is inversely proportional to the wavelength of the EM field to which it corresponds. At 9 kHz, the free-space wavelength is approximately 33 kilometers (km) or 21 miles (mi). At the highest radio frequencies, the EM wavelengths measure approximately one millimeter (1 mm). As the frequency is increased beyond that of the RF spectrum, EM energy takes the form of infrared (IR), visible, ultraviolet (UV), X rays, and gamma rays.

Many types of wireless devices make use of RF fields. Cordless and cellular telephone, radio and television broadcast stations, satellite communications systems, and two-way radio services all operate in the RF spectrum. Some wireless devices operate at IR or visible-light frequencies, whose electromagnetic wavelengths are shorter than those of RF fields. Examples include most television-set remote-control boxes, some cordless computer keyboards and mice, and a few wireless hi-fi stereo headsets.

The RF spectrum is divided into several ranges, or bands. With the exception of the lowest-frequency segment, each band represents an increase of frequency corresponding to an order of magnitude (power of 10). The tabled epicts the eight bands in the RF spectrum, showing frequency and bandwidth ranges. The SHF and EHF bands are often referred to as the microwave spectrum.

DesignationAbbreviationFrequenciesFree-space Wavelengths
Very Low FrequencyVLF9 kHz - 30 kHz33 km - 10 km
Low FrequencyLF30 kHz - 300 kHz10 km - 1 km
Medium FrequencyMF300 kHz - 3 MHz1 km - 100 m
High FrequencyHF3 MHz - 30 MHz100 m - 10 m
Very High FrequencyVHF30 MHz - 300 MHz10 m - 1 m
Ultra High FrequencyUHF300 MHz - 3 GHz1 m - 100 mm
Super High FrequencySHF3 GHz - 30 GHz100 mm - 10 mm
Extremely High FrequencyEHF30 GHz - 300 GHz10 mm - 1 mm

Bluetooth Operations Overview

Bluetooth Basics:

Bluetooth wireless technology is a short-range communications technology intended to replace the cables connecting portable and/or fixed devices while maintaining high levels of security. The key features of Bluetooth technology are robustness, low power, and low cost. The Bluetooth specification defines a uniform structure for a wide range of devices to connect and communicate with each other.

Overview of Operations:

Radio:
The Bluetooth RF (physical layer) operates in the unlicensed ISM band at 2.4GHz. The system employs a frequency hop transceiver to combat interference and fading, and provides many FHSS carriers. RF operation uses a shaped, binary frequency modulation to minimize transceiver complexity. The symbol rate is 1 Megasymbol per second (Msps) supporting the bit rate of 1 Megabit per second (Mbps) or, with Enhanced Data Rate, a gross air bit rate of 2 or 3Mb/s. These modes are known as Basic Rate and Enhanced Data Rate respectively.

Radio Channel:
During typical operation, a physical radio channel is shared by a group of devices that are synchronized to a common clock and frequency hopping pattern.
Piconet Consists of Master and Slave Devices:
One device provides the synchronization reference and is known as the master. All other devices are known as slaves. A group of devices synchronized in this fashion form a piconet. This is the fundamental form of communication for Bluetooth wireless technology.
Frequency Hopping and Adaptive Frequency Hopping (AFH):
Devices in a piconet use a specific frequency hopping pattern which is algorithmically determined by certain fields in the Bluetooth specification address and clock of the master. The basic hopping pattern is a pseudo-random ordering of the 79 frequencies in the ISM band. The hopping pattern may be adapted to exclude a portion of the frequencies that are used by interfering devices. The adaptive hopping technique improves Bluetooth technology co-existence with static (non-hopping) ISM systems when these are co-located.
Time Slots and Packets - Full Duplex Transmission:
The physical channel is sub-divided into time units known as slots. Data is transmitted between Bluetooth enabled devices in packets that are positioned in these slots. When circumstances permit, a number of consecutive slots may be allocated to a single packet. Frequency hopping takes place between the transmission or reception of packets. Bluetooth technology provides the effect of full duplex transmission through the use of a time-division duplex (TDD) scheme.

Link and Channel Management Protocols:

Control Layers:
Above the physical channel there is a layering of links and channels and associated control protocols. The hierarchy of channels and links from the physical channel upwards is physical channel, physical link, logical transport, logical link and L2CAP channel.
Physical Links:
Within a physical channel, a physical link is formed between any two devices that transmit packets in either direction between them. In a piconet physical channel there are restrictions on which devices may form a physical link. There is a physical link between each slave and the master. Physical links are not formed directly between the slaves in a piconet.
Logical Links:
The physical link is used as a transport for one or more logical links that support unicast synchronous, asynchronous and isochronous traffic, and broadcast traffic. Traffic on logical links is multiplexed onto the physical link by occupying slots assigned by a scheduling function in the resource manager.
Link Manager Protocol (LMP):
A control protocol for the baseband and physical layers is carried over logical links in addition to user data. This is the link manager protocol (LMP). Devices that are active in a piconet have a default asynchronous connection-oriented logical transport that is used to transport the LMP protocol signaling. For historical reasons this is known as the ACL logical transport. The default ACL logical transport is the one that is created whenever a device joins a piconet. Additional logical transports may be created to transport synchronous data streams when this is required.
The link manager function uses LMP to control the operation of devices in the piconet and provide services to manage the lower architectural layers (radio layer and baseband layer). The LMP protocol is only carried on the default ACL logical transport and the default broadcast logical transport.
L2CAP:
Above the baseband layer the L2CAP layer provides a channel-based abstraction to applications and services. It carries out segmentation and reassembly of application data and multiplexing and de-multiplexing of multiple channels over a shared logical link. L2CAP has a protocol control channel that is carried over the default ACL logical transport. Application data submitted to the L2CAP protocol may be carried on any logical link that supports the L2CAP protocol.

Parallel Port - Overview

The Parallel Port is the most commonly used port for interfacing home made projects. This port will allow the input of up to 9 bits or the output of 12 bits at any one given time, thus requiring minimal external circuitry to implement many simpler tasks. The port is composed of 4 control lines, 5 status lines and 8 data lines.

Newer Parallel Port’s are standardized under the IEEE 1284 standard first released in 1994. This standard defines 5 modes of operation which are as follows,

  • Compatibility Mode.
  • Nibble Mode. (Protocol not Described in this Document)
  • Byte Mode. (Protocol not Described in this Document)
  • EPP Mode (Enhanced Parallel Port).
  • ECP Mode (Extended Capabilities Mode).

Interface details are as follows:

Pin No
(D-Type 25)
Pin No
(Centronics)
SPP SignalDirection In/outRegister
11nStrobeIn/OutControl
22Data 0OutData
33Data 1OutData
44Data 2OutData
55Data 3OutData
66Data 4OutData
77Data 5OutData
88Data 6OutData
99Data 7OutData
1010nAckInStatus
1111BusyInStatus
1212Paper-Out / Paper-EndInStatus
1313SelectInStatus
1414nAuto-LinefeedIn / OutControl
1532nError / nFaultInStatus
1631nInitializeIn / OutControl
1736nSelect-Printer / nSelect-InIn / OutControl
18-2519-30GroundGND-

Program interface:
In versions of Windows that did not use the Windows NT kernel (as well as DOS and some other operating systems), programs could access the parallel port with simple outportb() and inportb() subroutine commands. In operating systems such as Windows NT and Unix (NetBSD, FreeBSD, Solaris, 386BSD, etc), the microprocessor is operated in a different security ring, and access to the parallel port is inhibited, unless using the required driver. This improves security and arbitration of device contention. On Linux, inb() and outb() can be used when a process is run as root and an ioperm() command is used to allow access to its base address.

Unidirectional parallel ports:
In early parallel ports the data lines were unidirectional (data out only) so it was not easily possible to feed data in to the computer. However, a workaround was possible by using 4 of the 5 status lines. A circuit could be constructed to split each 8-bit byte into two 4-bit nibbles which were fed in sequentially through the status lines. Each pair of nibbles was then re-combined into an 8-bit byte. This same method (with the splitting and recombining done in software) was also used to transfer data between PCs using a laplink cable.

GPRS (General Packet Radio Services) Overview

GPRS Overview:

GPRS is a global standard for wireless communication. GPRS was originally standardized by European Telecommunications Standards Institute (ETSI), but now by the 3rd Generation Partnership Project (3GPP). GPRS is abbreviation of “General Packet Radio Services”. Its speed can be up to 115 Kbps (Kilo Bits Per Seconds). This speed is very much high when compared to current GSM (Global System for Mobile Communications) speed which is only 9.6 Kbps. Practically, Speed of GPRS is 115 Kbps but GPRS provides a theoretical speed as high as 171.2 kbps because of concatenating eight GSM channels. Usually, per Megabyte of data/traffic transferred is charged in GPRS.

GPRS Technology, no doubt, supports a wide range of bandwidth. Hence, GPRS is efficient for use with limited bandwidth access devices and is particularly suited for sending and receiving small packets (data packets) of data on hand held devices such as Mobile Phones and PDAs (Personal Digital Assistants). This data can be in form of an e-mail, bits used for Web browsing, as well as large volumes of data.

Packet-Switching service is used for GPRS. GSM time slots are used for data communication and it supports TCP/IP (Transmission Control Protocol, Internet Protocol) and X.25 protocols, with surety of quality of service (QoS) mechanisms. One can use GPRS to enable high-speed data-communication mobility. GPRS is also considered as most useful Data-Communication Service for data transferring applications such as mobile Internet browsing, e-mails and various push technologies used in Hand Held/Palm Devices.

Cellular systems with 2G and GPRS are often described as "2.5G" enabled systems. 2.5G is a technology between the second (2G) and third (3G) generation of mobile telephony communication. GPRS provides a fair speed of data transfer while using unused Time Division Multiple Access (TDMA) channels in the GSM system.

In GPRS Technology, a user is assigned, during a session, to one pair of up-link and down-link frequency channels. Packet mode communication makes it possible for many users to share the same frequency channel. Corresponding to a GSM time slot, these packets have constant length. The down-link in GPRS uses first-come first-served packet scheduling.

Logical Architecture of GPRS:
GPRS network is composed of the following network nodes:

Gateway GPRS Support Node:

The GGSN provides the facility of interworking with external Packet Data Networks (PDNs). It can be linked to one or several data networks. Via IP-Based GPRS backbone network, it is connected with SGSNs. The GGSN is a router that forwards incoming packets from the external PDN to the Serving GPRS Support Node (SGSN) of the addressed Mobile Stations (MS). It is also responsible for forwarding outgoing packets to the external PDN. An example of a PDN is the Internet network.

Serving GPRS Support Node:

The SGSN node is basically responsible for serving the Mobile Station (MS), and MS is responsible for GPRS Mobility Management (GMM). It delivers packets to the MS and communicates with the Home Location Register (HLR) to fetch the GPRS user profile. It manages the registration of the new mobile users in order to keep a record of their Location Area (LA) for routing purposes. The SGSN may be found connected to one or several Base Station Systems (BSSs).

Equipment Identity Register:

The Equipment Identity Register is a central anti-fraud database which validates the IMEI number as calls are made on the Mobile network.

Mobile Switching Center/Visitor Location Register:

The MSC coordinates the setting up of calls to and from GSM users and manages GSM mobility. The MSC is not directly involved in the GPRS network. It forwards circuit-switched paging for the GPRS-attached MSs to the SGSN when the Gs interface is present.

The Gs Interface is a GPRS interface which is located between the SGSN (Serving GPRS Support Node) and the MSC (Mobile Switching Centre).

Base Station System:

The BSS ensures the radio connection between the mobile and the network. It is responsible for radio access management. The BSS is composed of two elements: the Base Transceiver Station (BTS) and the Base Station Controller (BSC). The BTS integrates all the radio transmission and radio reception boards, while BSC is responsible for the management of the radio channels. The BSC has switching capabilities that are used for circuit-switched calls and can also be used for GPRS traffic.

Home Location Register:

HLR is a Database in a cellular network that contains subscriber information. It is the functional unit responsible for managing mobile subscribers.

Services Offered by GPRS:

GPRS upgrades GSM data services with access of:

  • Push to talk over Cellular PoC / PTT
  • Wireless Application Protocol (WAP) for Palm/Hand held Devices
  • Short Message Service (SMS)
  • Multimedia Messaging Service (MMS)
  • Point-to-point (PTP) service
  • Internetworking with the Internet (IP protocols)
  • Instant Messaging and Presence

Future Enhancements:

GPRS id much flexible to add new functions, for example:

  • New accesses
  • More capacity
  • More users
  • New protocols
  • New radio networks etc.

Embedded Programming - Overview

Before discussing the root article, Embedded Programming, Let us have a look on Embedded Systems.

Embedded Systems:
Embedded Systems are commonly known as special-purpose computer systems which are designed for some specific function(s) to be performed, while interacting with some real-time computing constraints. These systems are usually embedded into another system where it performs more with the help of integration of other systems, peripheral devices, mechanical parts and micro controllers.
As these systems are designed for specific tasks, their design, capability and performance can be enhanced or optimized by design engineers.

These systems can be commonly found in digital watches and MP3 Players. On the other hand, with enhanced capabilities, these systems can also be found in controlling Nuclear Power Plants. Which means, these systems can be a single microcontroller chip or may be a large chassis with multiple units, peripheral devices and mechanical parts.
Before dilating upon the topic in hand, it appears quite pertinent and even desirable to point-out at the outset that the term, ”Embedded System” is not an exactly defined term. For example, in palm devices or handheld computers, operating systems are powered by microprocessors, but these microprocessors are not truly embedded systems.

Embedded Systems are found in all aspects of modern life for example, in Telecommunication Systems, there are a lot of embedded systems from the telephone switches to mobile phones at end-users. Consumer electronics include Digital Cameras, PDAs, DVD Players and MP3 Players etc. Household appliances include washing machines, microwave ovens and other electronic devices. In the same way, there are many examples of Embedded Systems applications in all the fields like for example transportation means to medical equipments etc.
In early 1960s, embedded systems have come down in price. So, we had first microprocessor Intel 4004, which was designed for calculators and other small systems but still required many external memory and support chips. In 1978 National Engineering Manufacturers Association (NEMA), released a "standard" for programmable microcontrollers. In the mid of 1980s, many external system components had been integrated into the same chip as the processor.

There will be hardly any exaggeration in it if we describe the characteristics of embedded systems as follows.
1.Embedded systems are not always standalone devices.
2.The program written for these systems are referred to as firmware and are stored in read-only mode in memory or flash disk, whatever is used to store data.
3.These systems are designed to perform some specific task and function in contrast to general purpose computers which can perform multiple tasks at a time.

Embedded Programming:
Embedded Programming is a bit different from ordinary programming a PC. You have to think at a lower level as you don’t have an operating system (unless you buy some and that will be expensive). The I/O lines are to be programmed by single instructions. The serial/Parallel/USB or any other port will need functions to read and write data. There is no BIOS present so no BIOS Calls are available. Many manufacturers have their sample work online for programming on-chip peripherals.

If you are not using a real time operating system (RTOS), and you’re not writing your own pre-emptive multitasking kernal, then you will probably have a top-level sequencer loop.

After compilation or assembling the program, object files are created. Object files are then linked to form a complete program which can be downloaded to the microcontroller or programmable chip. These program is form of Intel’s HEX format, which is just a binary format for binary files. These files are same as .exe files on PC. The bootloader in the program should be able to accept this file through one of the microcontroller’s serial ports, and load it into the program memory, which may be RAM, or preferable FLASH. There are many different binary file formats, but the two most common in embedded work are Intel Hex and Motorola S-Records. Larger 32-bit processors may use ELF, or COFF formats.

There may be a simple loop which calls each module in turn, up to the most complex operating systems such as Windows NT or Linux! Let's describe these in turn starting from the simplest. All examples will be in C:

C Program: A Very Simple Main Loop:

VOID MAIN(VOID)  {      INT FLAG_KEY;      WHILE (FLAG_KEY == FALSE)      {          FLAG_KEY = GETCONTROL();          CONTROLWALK();          CONTROLTURN();          CONTROLSTOP();      }      POWEROFF();  }  

The three modules are called as fast as the processor can spin round the while loop. The three modules just get the current Flag_key (command). Notice the Flag_key variable which is set by the GetControl() function. If there is a problem with the data, this allows the variable to be set to FALSE which will cause an emergency shutdown in the PowerOff() function.

Real Time Operating Systems (RTOS)
The next most complicated step is to use a RTOS. These are available commercially and there are also a few public domain ones.
The main function of the RTOS is to control what modules get called when. In RTOS terminology, the modules are called processes. This is the same as what the sequencers above were doing, but RTOSs allow a lot more flexibility. Common features of them include:
Pre-emptive multitasking:
This means that a process may be running along happily, but when a more important process wants to run, it stops the first process and takes over until it has finished, whereupon the first process starts where it left off again.

Process priority setting:
Each process can be assigned a priority, often from 0 to 255. If a lower priority process is running when a higher one wants to start, the low priority process is suspended until the higher one has finished (or until the higher one suspends waiting for something else).

Inter process messaging:
Each process can send and receive user-defined messages between each other. These may be in the form of queues, pipelines, or FIFO stacks. If a process is expecting a message but the message has not arrived yet, it can suspend on that message, This means it will stop running (thereby allowing other lower priority processes to run) until the message arrives. Processes can also suspend waiting to send a message to a process which has a full mailbox.

Full timing control:
Each process can be set to run at regular intervals using timers. They can also use timers just to read, or to suspend on until the timer reaches some value. Any number of timers can be used because these are under software control of the RTOS, which uses the hardware timers to control them.

Interrupt control:
The RTOS will generally take care of the hardware interrupt actions, making use of these rather easier.

Peripheral drivers:
Some RTOSs include drivers for disc drives, FLASH memory, IIC devices, TCP/IP stacks, etc.

Now after a small discussion of RTOSs, Let’s now discuss Embedded Programming in the context of Software Engineering.

Embedded System’s Design Patterns:
One is the Data Stream and name of other one is state machine. Data Stream is good to use in digital signal processing where State machines are much suitable to re-active embedded systems such as user interfaces.

Data stream style:
As the name describes, it’s a sequence of incoming data which is known as stream. Data Stream Style interacts with a data structure known as “QUEUE”. It reads the incoming data, processes it, exits and then new data is inserted into queue. It supervises the data that comes in regularly and must be processed on the fly.

Lets’ have a workstation example. In workstation example, samples are to be processed over a given time interval. This data is received in form of a file and output is generated in a batch file. While talking about embedded systems, we must not only produce outputs in real time, but we also have to finish this job using minimum memory space.
Another data structure named, Circular Buffer, is also used in this technique. The circular buffer is a data structure that enables us to handle streaming data in a good manner. Circular buffer stores a subset of the data stream. At each point in time, the algorithm needs a subset of the data stream that forms a window into the stream.
The window slides as time is incremented and we throw out old values which are not longer needed and add new values. As the size of the window does not change, we can use a fixed-size buffer to hold the current data. Every time we add a new sample, we automatically overwrite the oldest sample, which is the one that needs to be thrown out. When the pointer gets to the end of the buffer, it wraps around to the top and this process continues.

State machine style:
Let inputs are appearing occasionally rather than as periodic samples, it is often suitable to think that systems are reacting to those inputs. The reaction produced by these inputs can be characterized in terms of the input received and the current state of the system. This phenomenon leads naturally to a finite-state machine style. If the behavior is same every time, A program can be written to implement that behavior in a state machine style.

GSM (Global System for Mobile communications) - Overview

Global System for Mobile communications (GSM) is an international standard for mobile communication. Its promoter, the GSM Association, estimates that 80% of the global mobile market uses this standard. GSM is used by over 3 billion people across more than 212 countries. Another advantage is that the standard includes one worldwide Emergency telephone number “112” which is very useful in case of some emergency when local emergency help center number is unknown.

If you travel to any country of the world, GSM is the only type of cellular (mobile phone) service available everywhere. Originally, the full form of GSM is “Groupe Spécial Mobile”, which is name of a group formed by the Conference of European Posts and Telegraphs (CEPT) in 1982 for research purpose of the merits of a European standard for mobile telecommunications. This technology standard, GSM, also enabled mobile making companies to make such mobiles which are able to be operated anywhere in the world using the standard SIM. Until 1991, GSM was not in use commercially. Instead of using analog service, GSM was developed for digital system using Time Division Multiple Access (TDMA) technology. TDMA is a technology for shared medium networks, such as radio. It allows several users to share the same frequency by diving it into different time slots.

TDMA uses a narrow band of 30 kHz wide and of 6.7 milliseconds long which is divided time-wise into three time slots. Narrow band, sometimes, mean “channels” in the traditional sense. Each conversation gets the radio for one-third (1/3) of the time. This feature is possible because of voice data that has been converted to digital information. This digital information is compressed so that it takes up appreciably small transmission space. TDMA has the capacity three times greater than an analog system using the same number of channels (narrow bands).

GSM operates in the 1900 MHz band, (1.9 GHz) in United States of America (USA) and in 900 MHz band (actually, 890 MHz - 960 MHz) in Europe and Asia. It is used in digital cellular and PCS-based systems. PCS is abbreviation of Personal Communications Service.

GSM is also the foundation for Integrated Digital Enhanced Network (iDEN). iDEN is a Motorola copyrighted version of TDMA with a only one of its kind "push-to-talk" two-way radio capability. Nextel Communications is the largest iDEN operator in the United States. The unbelievable growth of GSM is a big part of why the acronym is now commonly considered to be standard for the Global System for Mobile communications.

GSM technology provides a number of useful features some of which are listed below.

  • Data networking
  • Uses encryption to make phone calls which is more secure
  • Call forwarding
  • Call waiting
  • Short Message Service (SMS) for text messages and paging
  • Caller ID
  • Call conferencing (more than two callers in same call at a time).

GPS - GPS Systems, GPS Tracking. Overview

Our ancestors used to go to under sky at night and calculate their locations on the earth. They built landmarks, detailed maps and learned how to read the stars in the night sky.

But today, by the passage of time, in this modern era of technology, things are much changed and very much easier than before. For less than 100$, you can easily purchase a device which is capable of telling you about your exact location on the globe, any time, anywhere. This device is commonly known as GPS Receiver. When you are having a GPS Receiver, you have no chance to loss on the earth.

GPS, basically, stands for Global Positioning System. As its name describes, it’s a system which tells the exact position (location) of anything with GPS receiver enabled. When they say, “GPS”, they usually mean “GPS Receiver”. The Global Positioning System (GPS) is actually a complete system of 27 satellites (also called NAVSTAR, the official U.S. Department of Defence name) around the globe.

NAVSTAR Network Sketch

24 satellites are in operational mode and three are extra in case of a failure.

The United States military developed this satellite network as a military map-reading system, but soon they allowed its access to everybody on the globe without any license or permission. The first GPS satellite was launched in 1978. A full system of 24 satellites was achieved in 1994.

Each of satellite weighted 3,000 to 4,000 pound and these solar-powered satellites circles the globe about 12,000 miles above us, making two complete rotations, each day. A rough estimate of satellite’s speed is 7,000 miles an hour. The orbits are arranged in such a way that at any time, there are at least four satellites which are visible in the sky, anywhere on Earth.

Basically, job of a GPS receiver is to locate four or more of these satellites and calculate distance to each, and use this information to calculate its own location on the earth. This operation of calculation is based on a simple mathematical principle called “Trilateration”.
A GPS receiver’s working depends upon radio waves. But instead of using towers on the ground, it communicates with satellites that orbit the Earth.

GPS satellites rotate around the earth twice a day in a very precise orbit and transmit signal to earth. GPS receivers take this signal information and use triangulation to calculate the user's exact location. GPS receiver compares the time of a signal which was transmitted by a satellite with the time it was received by the receiver. The time difference tells the GPS receiver how far the satellite is.

GPS Receivers draw a sphere around each of three satellites located by them. These three spheres intersect in two points, one is in space, and one is on the ground. The point on the ground at which the three spheres intersect is your location.

Some GPS enabled phones use wireless-assisted GPS to determine its location on the earth. Wireless-assisted GPS can calculate user's location faster than a GPS-only receiver. Some wireless-assisted systems can work inside buildings like basements, under dense plants (jungle) and in city areas where traditional GPS receivers cannot receive signals and hence fails to calculate the location on earth.

A GPS receiver must receive the signals of at least three satellites to calculate a 2D position in terms of latitude and longitude and track movement. With four or more satellites in view, the receiver can determine the user's 3D position in terms of latitude, longitude and altitude. Once the user's position has been calculated, the GPS unit can calculate other information like speed, distance etc.