Friday, June 26, 2009

Using handheld GPS for pedestrian navigation

Applicability: PDA's with Windows Mobile 2003, Windows Mobile 5 or Windows Mobile 6

There are number of navigation programs such as OziExplorer, MemoryMap etc, dedicated for on foot offroad navigation. Car navigation software such as iGO or TomTom also have settings intended for pedestrian navigation, which can prove very handy, while touring unknown town, for example. The problem is that GPS's found in PDA's by default don't recognize speeds less than 5km/h and update your position too rarely for successful on foot navigating. While this feature is useful for car navigating to eliminate jerking of readings during car stops, it makes on foot navigation with any program practically impossible.
If you find that navigation program cannot report speeds less than 5km per hour, the problem is that the GPS has setting called "Static Navigation" turned ON. This setting is set ON by default in the SIRF III GPS Receivers . Luckily it is possible to turn Static Navigation OFF. Some PDA's already have an option to do this but others do not. In this case there are several utilities available on the internet which allow you to turn off Static Navigation.
This settings can be turned OFF only when GPS operates with so called SIRF protocol. Vast majority of GPS's are set by default to use NMEA protocol, so in order to switch Static Navigation "OFF" you should first set GPS to work with SIRF protocol.

First download SirfTech freeware from: http://w5.nuinternet.com/s660100031/SirfTech.htm#ScreenShots
and install it on your PDA

Follow strictly the below procedure when changing GPS settings, as by misuse you can render GPS unable to communicate. If this hapens see instructions at the bottom how to reconnect GPS again

1. Make sure you have no other programs running which have the GPS port open.

2. Click on COM tab and under "COMM PORT" you will see COM port (for example COM5:serial3) and under "Baudrate" - baudrate (usually 4800) that GPS is using. Record these values (both grayed out but readable) Normally you will not need to play with them unless something goes wrong and you will need to set them manually.
Notice that under "Protocol" you see NMEA.

3. Click on OK and this will return previous screen.

4. Click on NMEA tab and choose "Set Serial Port (Switch to SiRF)

5. On next screen click on "Set"

6. Click on OK. You will see screen full of data.

7. Now under SiRF tab choose "Static Navigation"

8. On the next screen clear box under "Static Navigation"

9. Click on "Set"

10. Click on OK, this returns you to the "data screen"

11. On the SiRF tab choose "Switch to NMEA protocol"

12. On the next screen click on Set. This will return you to the "Data screen" but now under NMEA protocol

13. Click on OK and it will close the program.

That's all. Now you can navigate also on foot
If something has gone wrong and your GPS cannot communicate do the following:

1. Go to COM tab and see with what protocol GPS is trying to communicate. If it still is SiRF go to SiRF tab and switch to NMEA.

2. Go again to COM tab and tap on "Close'. This will terminate GPS communicating with PDA.

3. Now choose manually COM port and baud rate and click on "Open", this will start GPS communicating again.
Alternatively, if you don't know these settings, you can still find them by clicking on "Find Port& Baud".
Under Protocol NMEA some data should appear after a while. Notice that under "Errors" you see that all errors are at zero.

Saturday, June 20, 2009

How to test and optimize internet connection

Applicability: Windows 2000, Windows XP
If you suspect having issues with your Internet connection, check the speed at the following site:
http://www.my-speedtest.com/speedtest.htm
and transfer efficiency at:
http://www.dslreports.com/tweaks
Your internet speed should be as advertised by your provider (or very close to it) and transfer efficiency of no less than 99% If you do have problems see instructions below.
The following freewares will be used:
a. TCP Optimizer from http://www.speedguide.net/downloads.php
b. DrTCP from http://www.dslreports.com/drtcp
(these programs do not require "installation", you can simply run/move/delete the program anytime you like)
1. Use TCP Optimizer to find latency and largest MTU
2. Calculate approximate RWIN (Tcp Receive Window) as follows:
Rwin approximate = 0.1875 x DS x L ,
where DS-your advertised download speed at kbits per second, and L- average latency in ms.
3. Calculate MSS as follows:
MSS=MTU-40
4. Divide Rwin by MSS and round the result to closest even number N:
N (even)=round(Rwin/MSS)
5. Calculate final Rwin as follows:
Rwin=N(even) x MSS
6. use DrTCP to set Rwin and MTU (pay attention to choose the right network adapter card). If RWIN is greater than 65535, set Windows Scaling to "yes". If you use router then set MTU in router.
7. Reboot
8. Go to http://www.dslreports.com/tweaks and check connection. You should get transfer efficiency of no less than 99%
9. Go to http://www.my-speedtest.com/speedtest.htm and check your down and up speeds. You should get your advertised speeds or very close values.

Example: Your advertised speed is 2500, average latency is 200ms, and maximum MTU=1400.
MSS=1400-40=1360
Approximate value of RWIN should be:
Rwin approximate=0.1875 x 2500 x 200=93750
N(even)= round(93750/1360)=round(68.9338)=70
Rwin =70 x 1360=95200.
As Rwin is greater than 65535 set windows scaling to "yes"
Good luck and happy surfing