Monday, March 18, 2013

Importance of geographical position with information services and Location Determination Technologies

We are living in a day where all the forms are half filled. Early days there were web forms that need to be filled by the user from top to bottom. Now all the developers trying to fill the form as much as possible from what they know about the user. It is just a one example; people are trying to customize the services according to the customer using whatever details they have on customer. Geolocation of the customer is one of the most important details of them. We have seen Google homepage is customized to the country; we have seen ads that changed according to the country of the visitor. Finding the country is not enough, now we need the exact position of the user in real time. Location Based Service (LBS) is an innovative technology that provides information or makes information available based on the geographical location of the mobile user. In addition, LSB tend to be one of the hottest research areas these days.
“Where am I”, “Where is the nearest fuel station”, “From where I can have my breakfast”, these questions are asked from humans in the past, but not anymore. People need there handheld mobile device to answer those questions. This is where knowing the geolocation of the user become most important to the developers.
Location Determination Technologies (LDTs) are the heart of Location Based Services (LBS). These LDTs can be separated into 4 main parts Network-based, Mobile-based, Mobile-assisted, and Network-assisted.


Normally network based techniques are less cost techniques. These do not require any change in the mobile handset. Possibility of using with almost any handset (even with low end ones) gives a clear advantage.


In Mobile-based LTDs locating it and doing the required calculations is done by the mobile device. It might need some little pieces of information from the network too. Mobile-based implementation does not support legacy handsets.
Mobile-assisted and Network-assisted techniques are the used to distribute some amount of load to the Base Station (BS) from the Mobile Station (MS) for vice-versa. Those are used to overcome limitations and disadvantaged of each base technique.
LDTs can be separated into 2 main categories. Satellite and Cellular LDTs. Satellite LDTs are based on the principle of measuring the interval of time a set of signals spend travelling from a set of orbiting satellites to a receiver on or near the surface of earth. The main satellite LDTs are GPS, AGPS, DGPS, GLONASS and Galileo. Cellular LDTs use the signals of the cellular system to find the location of a MS. The main Cellular LDTs are,
  • Cell-ID (or Cell of Origin (COO))
  • Received Signal Level (RSL)
  • Angle Of Arrival (AOA)
  • Uplink Time Difference of Arrival (TDOA)
  • Downlink Observed Time Differences (DOTD).
Each of these methods has their own advantages and disadvantages. To overcome those disadvantages there are some hybrid methods that will combine advantages of two or more methods to archive greater quality.
This is the simplest and straightforward way to find the location. Here we will use the area of the BS, which services the user, as his location. This has very low accuracy and it tend to get worst in rural areas.
With this, we get that large area covered by the served BS as the user location. This method does not have any calculation and very good for applications that need quantity over quality. With a high error of 500m order, it is questionable whether this is of any use. Nevertheless, there is a set of significant services, the so-called Resource Discovery Services (RDS), for which Cell-ID’s accuracy might be sufficient.
Cell-ID techniques are encouraged to use with the help of other methods or location information. As an example in Voice Location-Based Services user, provide their locations by voice and cell ID identification helps in identifying the location for Automatic Speech Recognizer (ASR). ASR have a large set of locations to compare the user voice with, where knowing the Cell-ID reduce that set of locations to a workable small set.
It seems that even though cell-Id works well in urban areas, there is a tendency of not connecting to the closest BS in the urban areas. Some experimental studies conducted (in Italy) in this areas shows that, percentage of samples not connected to the closest BTS reaches 43% when it comes to urban areas (1).
Received Signal Level (RSL)
This Method uses the signal strength from MS to calculate the distance to the MS. In urban areas, the received signal level decreases more rapidly with distance than in open areas. Multipath fading and shadowing poses a problem for distance estimation based on signal level. We need to have a suitable propagation model that account on those fading, shadowing and estimate the distance. Factors like traveling in a vehicle, being in a seminar room can cause changes in the received signal strength and those cannot be captured in to calculations easily.
This is an easy and low-cost method to enhance the accuracy of pure cell-ID based location. This method can be used with any kind of handset with GSM enabled. (2)
Angle of Arrival
Here we will take the angle of arrival from 2 base stations and will take the intersection point as the MS location. A minimum of two BSs is required to determine the position of the mobile phone.
In each antenna there are array of small Omni directional antennas, these antennas are separated by a small distance and a measurable difference in arrival times and electrical phase received at each antenna are used to estimate the direction at which the transmission is originating. A small change in the arrival time can make a big error in the angle. AOA needs line of sight (LOS) from the BS and it is very rare that we have LOS from 2 BSs. Due to above issues this method is more towards unusable.
There are proposed systems that give better accuracy with AOA even in NLOS scenarios. Accuracy of AOA method increases with the number of base stations available for calculation. Root mean square of the distance between the true position and the estimate can be limited to 500m or below with 3 base stations and an angular error less than 5 degrees (3).
These techniques use the uplink and downlink times to find the location of the MS. TDOA happens at the MS and DOTD happens in the network end. Main concern relevant to these methods is, 1 microsecond error equals 300 meters measurement error. These techniques need additional timing equipment is required. The required infrastructure has an important cost effect.
RSL is my choice for location identification. None of these techniques is perfect and you might need to try a hybrid method to archive that perfection.
Method Advantages Dis-Advantages
Cell-ID Easy, Not Complex
No Calculations
Less cost

Lesser accuracy (especially when cell serves a large area). Error (related to GPS location) around 500m-1000m (1)
Received Signal Level (RSL) Less cost
Good Accuracy in urban areas
Lesser Accuracy/impossible to use in rural areas with few towers
Need support from the network
Angle of Arrival Less Cost
Don’t need any extra modifications to the existing handset
A small change in the arrival time can make a big error in the angle
Need 2 BS at least
Complex computations

TDOA and DOTD Easy, Less Computation
High cost due to the equipment needed.
Accuracy greatly depend on the error, 1ms error can cause above 300m error

Sunday, December 9, 2012

You can't survive without 'grep' (most importent grep commands)

I started my internship in wso2 6-7 months ago. By then I had no clue about the Linux command prompt. Even though I have worked with Ubuntu in when I was doing my A/Ls I didn’t use the bash to anything at all. But with the start of my internship I started Using the Command line for almost everything. It is a one way stop for everything and you feel really powerful and feel more control over things. With those I moved towards using the Command line more and more. When I do that ‘grep’ played a big part in my life. Simply you can’t survive in a command line environment without ‘grep’. Below are some nice little commands using grep that I think everyone should know.
basic usage of grep command is to search for a specific string within a specified set of files. In below commands you have to replace the <> and what is in there with what you need.

grep "<string you need to search>" filename

e.g. grep “submitFilterForm” index.jsp
Here we are searching for “submitFilterForm” in index.jsp. This will return the sentence that string can be found (if there is any).you can give a file pattern instead of the file name

Tuesday, November 27, 2012

Tangle - Wonderful way to make interactive documents

I came across this wonderful java-script library today and thought I should blog on this. Read the following paragraph.
“We think we will have 300 subscribers within first 3 months and if get a 3% commission from each of them we can earn 30000 per month.”
In sentences like above we really need reader to change those variables and imagine how the profit changes with the change of variables. Tangle java-script library allow us to do exactly that. Go to the following example and see how it really works (
Think of using and improving it to do more work, will blog on this more on this in the future.

Saturday, September 29, 2012

What do software architects really do? - Review

Original Paper:
Name:  What do software architects really do?

By: Philippe Kruchten
This paper is published in 2008 and written by Philippe Kruchten, who was a Philippe Kruchten is professor of software engineering in the department of Electrical and Computer Engineering of the University of British Columbia. Qualification shows that he can answer the question “What do software architects really do?
This is one of the interesting papers that I have read. This made me interested because of two reasons. First, it is the language style that the writer has used. Then, it is the graphical representation that is used in this paper. At the start, writer take a nice opening with the dialog captured from the OOPSLA workshop in Vancouver in the fall of 1992. If I ask, the question “who is an architect?” answer can be given in the domain of the question “What do software architects really do?” This simply mean that this paper actually answer two questions, which I mentioned above.