Etikettarkiv: radio

Hur en GPS-mottagare hittar position

Delvis baserat på en artikel av Tom Clark (W3IWI) som heter ”How a GPS Receiver Gets a Lock”.

En GPS-mottagare som skall låsa på en satellitsignal för att kunna beräkna sin position behöver utföra en två-dimensionell sökning efter signalen för att kunna hitta den. Den första dimensionen är i tiden — signalstrukturen hos en GPS signal består av en 1023 bitar långt pseudo random number (PRN) i en sekvens som sänds ut med en hastighet av 1.023 megabit/sekund, dvs hela sekvensen sänds en gång per millisekund.

DSC_8958

För att kunna låsa i den här dimensionen måste mottagaren ställa in en intern klocka till det korrekta av alla 1023 möjliga värden inom en millisekund dvs timeslots (tidluckor) som kan innebära starten på telegrammet. Det görs som regel genom att man provar sig fram med möjliga värden och försöker hitta det som stämmer. De flesta mottagare behöver ett par millisekunder för att avgöra om en viss timeslot är den rätta eller inte så detta innebär att denna sökning tar ungefär 1-2 sekunder per satellit.

Den andra dimensionen är frekvens. Mottagaren måste korrigera för dopplerskift genom att försöka finjustera mottagningsfrekvensen till signalens frekvens och doppleravdriften. Genom anledningar som vi inte går in på här — men de involverar ovan nämna 1 ms timeslot samt en gammal kändis som hette Nyquist — så är de grövsta möjliga stegen man kan ta när man försöker finjustera signalen 500 Hz.

Mottagarens oscillator är dock oftast inte bättre än ± 10 kHz ungefär och det innebär att ca 20 olika frekvensinställningar kommer behöva provas av. Också denna process görs för varje satellit som skall användas och därför är den initiala proceduren för att erhålla en låsning ganska tidsödande och arbetsintensiv. Det är inte förrän de senaste åren som man faktiskt lyckats bygga relativt strömsnåla mottagare, delvis pga detta.

Den vanligaste strategin för att så snabbt som möjligt få låsning på satelliterna är att man börjar med att välja en oscillatorfrekvens baserat på vad man vet om sin position just nu. Den behöver inte vara exakt, några grader fel är inget problem. Detta baseras på att man antingen sparar ner positionen man hade sist man hade låsning eller helt enkelt frågar användaren var han befinner sig ungefär. Åtminstone vilken världsdel. Sedan gäller det att veta något om var satelliterna befinner sig och detta data finns också lagrat sedan föregående gång och nu behöver vi veta vad klockan är ungefär så det brukar också mottagaren kunna fråga efter.

När vi vet detta kan vi beräkna den apparenta hastigheten satelliterna bör ha och därmed välja en hygglig initial gissning för dopplerskiftet och sedan kan vi börja prova vilken time slot som verkar vara rätt. Då har vi 1023 kombinationer kvar att testa och sedan kanske vi behöver ändå skifta dopplerkompenseringen något eller några steg så i runda slängar behöver vi göra ett par tusen tester och de tar några ms var att göra. En sak till behöver vi också kontrollera och det är våran egen referensoscillators fel. Vi har kanske en uppskattning sedan tidigare kontakter med satelliterna men den driver med temperatur och kanske andra faktorer så vi måste eventuellt prova ytterligare kombinationer för att säkra att vi inte missar signalen vi letar efter.

Så mottagaren börjar på en kvalificerad gissning, hittar den ingenting provar den nästa time slot och så vidare. När den provat alla 1023 möjligheter lägger vi på en offset på vår referensoscillator baserad på den uppskattade felvisningen och nästa steg i vår dopplertabell som vi kan använda oss av. Sedan är det bara att testa ytterligare 1023 time slots.

ExploristDet här gäller förstås när vi vet något om läget. När vi gör en helt kall start och inte vet någonting måste vi gå igenom initialsökläget. Där får vi plötsligt väldigt många kombinationer att titta igenom och det här läget kan vi hamna i om vi trots vår kvalificerade gissning enligt tidigare inte hittar någon signal. Det kan hända att mottagaren har rest en längre sträcka, det kan hända att den har aktiverats inomhus där mottagningen är dålig, det finns inget sätt för oss att veta detta utan vi får helt enkelt prova kombinationer tills mottagaren hittar något som den känner igen som ett GPS-telegram.

Så fort mottagaren börjar hitta en signal som verkar stämma så etableras två stycken tracking loops eller faslåsningsslingor. En är en faslåst slinga i frekvensdomänen som skall försöka spåra satellitens doppler och justera mottagaren efter detta. Den andra är den tidslåst slinga som håller fast vid just denna kanals time slot eller tidslucka. Så målet är att vi skall alltid veta fasen och vilken kod signalen använder.

Så fort detta villkor har uppfyllts så börjar vi extrahera data ur GPS-telegrammet som skickas från satelliten. Telegramstrukturen innehåller ett 1500 bitar långt meddelande som skickas med 50 bitar/sekund och det tar 30 sekunder att skicka ett helt telegram. De flesta mottagarna kräver att man tar emot ett fullt obrutet telegram innan man får ut själva datat vilket betyder att om man kommer ”in i” ett redan sändande telegram kan det ta upp till 30 s innan man får samma telegrams start igen, sedan måste man läsa in det telegrammet och det kan då ta upp till 60 s att få det första telegrammet ”helt” ur mottagaren. I snitt sker detta alltså på ca 45 s för de flesta mottagare.

För att få en rå positionsfix i 2D krävs det att mottagarens klocka också går korrekt. Detta kan man få fram genom att man lyssnar på telegrammen från tre olika satelliter. Man kan då i ett enkelt ekvationssystem korrigera bort sitt eget fel och det förbättras om man väljer de satelliter som ligger högst i rymden. Efter att man har fått dessa första 3 satelliter kan man börja visa en position men fortfarande är noggrannheten oftast inte så bra, en upplösning på 25-50 meter eller så brukar man kunna förvänta sig i det här läget.

När man nu så har tre stycken katter i säcken kan man fortsätta och leta satelliter. Varje satellit man hittar och får lås på ger ytterligare tillskott till datamängden och minskar felet och man kan mer och mer korrigera sin egen klocka och använda sig av medelvärdesbildning mellan de olika satelliternas telegram och därmed också kunna öka noggrannheten ännu mer. Det tar ungefär 45 s att hitta varje satellit för varje mottagare som arbetar med att leta.

Varje satellit skickar också i sitt telegram en förkortad almanacka som ger information om satellitbanorna, eventuella deviationer som förekommer och detta lagrar de flesta mottagare pliktskyldigt för att underlätta låsningen nästa gång. Ju längre man lyssnar på fler satelliter desto mer komplett blir almanacksdatat och det blir då lättare att låsa när man startar upp sin GPS-mottagare igen.  Har den legat avslagen länge — ett par månader eller så — kan det hända att almanackdatat åtminstone för några satelliter inte stämmer längre så väl. Almanackdatat tar upp ca 25 av de 30 sekunder som varje satellits telegram sänds på och det tar totalt 12 minuter och 30 sekunder att få ner en full uppsättning almanacksdata för hela nätverket. Därför är det en bra ide att alltid låta sin GPS-mottagare vara igång en kvart eller så efter den fått låsning.

gps-status

Har mottagaren helt felaktig eller saknar almanacksdata finns inget annat sätt än att göra en all sky search vilket kan ta 20 minuter eller mer. Då provar man slaviskt kombination efter kombination tills man hittar satelliterna så man kan få ner almanacksdatat och därmed börja bygga upp den information man behöver för att kunna erhålla låsning inom ett par minuter. Det är mycket ovanligt att mottagare idag startar i det här läget. Det finns nämligen vissa grundförutsättningar som är så pass vanliga att man direkt kan utesluta ett antal testfall man aldrig behöver göra. Och frågar man dessutom användaren ungefär var han befinner sig och vad klockan är kan man också dra vissa slutsatser baserat på grundförutsättningarna för GPS-systemet och dess satelliters grundbanor.

När man har hittat fler än 3 satelliter kan man även få en 3D-låsning vilket innebär att man kan börja kalkylera vilken höjd man befinner sig på. Denna kalkyl är dock inte riktigt lika noggrann som positionen, man brukar säga att felvisningen kan vara upp till 3 ggr så stor på höjden som den beräknade positionsfelet uppgår till.

Moderna GPS-mottagare som sitter i mobiltelefoner fuskar ordentligt. Om de har täckning går de helt enkelt ut på mobilnätet och kontrollerar vad klockan är. Många operatörer skickar också en grov koordinat till mobilen från basstationen (det är basstationens egen koordinat som skickas) och då har ju mobilen redan en hel del information att börja arbeta med när det gäller att hitta satelliter.

Det skall också sägas att mycket av det ovan beskrivna när det gäller att hitta satelliter och få låsning sker parallellt. De flesta mottagare på marknaden idag har åtminstone 12 parallella mottagare så de kan söka av de möjliga kombinationerna 12 ggr så snabbt som de tidiga enkanaliga mottagarna.

Dessutom har man lagt till ett nytt system som heter EGNOS[1] här i Europa med ytterligare satelliter som via markstationer skickar ut kompletterande deviationsdata. I USA har man en motsvarighet som kallas WAAS[2] Har man en mottagare som klarar EGNOS-signalen (och den är tillräckligt bra för att kunna användas) så får man ytterligare kompletterande information och noggrannheten på mottagaren kan då bli 2-3 meters felvisning vilket är helt otroligt egentligen.

För bilnavigation behöver man som regel en noggrannhet på runt 15 meter, blir den sämre kan det bli svårt att ha framförhållning och för den som går i skog och mark kanske man inte ens behöver ha bättre än 100 meters felvisning medan på sjön vill man gärna ha 5 meter eller bättre för att undvika en grynna.


[1] EGNOS betyder European Geostationary Navigation Overlay System alltså det Europeiska systemet för geostationär navigationsdata.

[2] WAAS betyder Wide Area Augmentation Service som betyder ungefär service för förbättning av vidsträckt område och det är underförstått att det är navigationsdata man försöker förbättra.


Brazilians hacks satellites for personal communications

Satellite

Apparently resurceful people in Brazil have learned how they can use modified HAM radio equipment and satellite dishes to hijack military transponder satellites to use as a country-wide radio network.

It all started with a radio station that realized they could use the transponders to broadcast a radio signal and today many people from truckers to drug runners are using the satellites to broadcast warning information or just chatter about the latest football score.

Quite impressive! Using the US Navy’s Fleet Satellite Communications System like this is excellent stuff! :)

Here is the story in Wired

Danny Cowan Band

It was probably in 2002 or so when I first heard their music. I was listening to an internet radio station from Texas – the radio station has since long gone defunct, it was an underground radio station anyway with bad sound but good music.

All of a sudden they start playing a tune that really catches my attention and I really love the beat and the style not to mention the song, I frantically start trying to find out what the band is called and so I end up mailing the guy running the ShoutCast radio station and he actually came back to me and said ”They are called ’Danny Cowan Band’ and they are from just ’round the corner here.” The song that caught my attention was The Whip. Now go listen to it.

you know the whip’s coming down
coming down on you
we’re down in Texas land
you know heat’s on the rise
100 days of summer

So I set out to find their music on the net to hear more if possible and to buy their record. Turns out they got a small home page where you can listen to their tunes as MP3’s.

And then you can buy their record very cheaply paying through PayPal. Go buy it now. If you feel like some real texas blues you’ve come to the right place!

Drivin Back to TEXAS album cover
Drivin' Back to TEXAS album cover

Danny Cowan Group
Danny Cowan Group

PMR Radio in Europe

Cobra Walkie-Talkie
Cobra PMR446 Walkie-Talkie handheld radio

In a variety of activities, including photography when you are not doing it alone, it makes sense to have good communications. We are pretty lucky here in Europe that there is a part of the frequency spectrum open to unlicenced use for anyone who can afford a €20 set of ”walkie-talkies” can access this. This means anyone can use these radios without any licencing or fees and it sure beats mobile phones when it comes to the cost of the calls.

Frequency table

The channel spacing is 12.5 kHz just like some other older PMR (Personal Mobile Radio) systems earlier. The modulation type is FM (F3J) and with the low power they have pretty good battery times as well, I can carry one unit for a full day without needing to recharge it.

Frequency Channel # Usage
446.00625 1
446.01875 2
446.03125 3
446.04375 4
446.05625 5
446.06875 6 Geocaching and Geohashing is using this frequency
446.08125 7
446.09375 8

Power Limits

The output power is limited to 500 mW ERP (Effective Radiated Power) and the antenna is only allowed to be the fixed built-in antenna that was tested with the device for compliance. This output power gives you a coverage radius of a few hundred meters in a cityscape and a few kilometers in a flat country side.

Several manufacturers are printing ”5 km coverage” and similar numbers on their boxes. You can also see the same manufacturer claiming 5 km, 6 km and even 8 km coverage on similar devices and although they charge much more for the 8 km version there is very little proof that it is actually better than the 5 km verstion. The reason for this is that the output power is fixed to be a maximum of 500 mW radiated.

The most variance you will find is on the receivers and not the transmitters really so there may be some differences depending on how sensitive the receiver is in your particular unit.

Squelch Coding

Many of these radios also employs a kind of squelch system called CTCSS (Continuous Tone-Coded Squelch System) which is used when several users are using the same frequency. If you set your radio to the ”sub channel 5” using the CTCSS system then you will not hear people as they talk unless they transmit this code. The code is automatically transmitted when the push-to-talk button is engaged. This avoids random conversation disturbing you.

It does still not allow people to talk simultaneously on the same frequency and it is not a privacy function since any radio can turn off the feature and then hear all conversations that are carried on the frequency. Most radios can also be set to scan the whole frequency band and therefore find any ongoing conversation quite easily.