Monday, March 20, 2017

සන්නිවේදනය හා ආධුනික ගුවන් විදුලිය (Amateur radio) 65

GPS සේවාව කාලයත් සමඟ නවීකරණය විය. පෙරදිත් සඳහන් කළ ආකාරයට අලුත් සංඛ්‍යාතයන් ඔස්සේ අලුත් සංඥා විසුරුවා හරින්නට පටන් ගත්තා සේම, දැනටමත් සංඥා විසුරුවාහරින සංඛ්‍යාත ඔස්සේද නව සංඥා යැවීමට පටන් ගත්තා. උදාහරණයක් ලෙස, L2 සංඛ්‍යාතය ඔස්සේම අලුත් සිවිලියන් සේවා සංඥාවක් දැන් යැවෙන අතර, එය L2C ලෙස නම් කෙරෙනවා. L5 සංඛ්‍යාතය හරහාද එලෙසම සංඥා දෙකක් යැවෙනවා. තවද, L1 ඔස්සේද තවත් සිවිලියන් සංඥාවක් යැවෙන අතර එය L1C ලෙස නම් කෙරෙනවා.

නවීකරණය වුවත්, පැරණි සංඥා තවමත් එලෙසම යැවිය යුතුය. නැතිනම්, තවමත් භාවිතා වෙන අතිබහුතරයක් රිසීවර් ඉවතට දැමීමට සිදු වෙනවා. මෙවැනිම තත්වයක් GLONASS (හා අනෙක් පද්ධතිවලටද) ඇති වූ බව පෙර පෙන්වා දුන්නා. මෙවිට පැරණි සංඥාව legacy signal ලෙස හැඳින්වෙනවා. ඒ අනුව L1 යනු ලෙගසි සංඥාවයි. අලුතින් සාදන රිසීවර් සාමාන්‍යයෙන් ලෙගසි හා අලුත් යන සංඥා දෙවර්ගයම සපෝට් කරනවා. මෙලෙස යම් කාලයක් ගිය විට, පැරණි ලෙගසි සංඥා පමණක් භාවිතා කරන උපකරණ කැඩී ඉවතට දමන විට ඉතිරි වන්නේ සංඥා දෙවර්ගයම සපෝට් කරන උපකරණ වන නිසා, ලෙගසි සංඥා සම්පූර්ණයෙන්ම නවතා දැමිය හැකියි. ලෙගසි සංඥාව නවතා දැමූ පසුව, සාදන රිසීවර්ද අලුත් සංඥා විතරක් සපෝට් කරාවි. (legacy යන වචනය “පැරණි” යන තේරුමින් නිතරම තාක්ෂණ ලෝකයේ යොදා ගන්න බව මතක තබා ගන්න).

GPS චන්ද්‍රිකාවක් පොලොව මතුපිට සිට 20200kmක් උසින් තිබෙන අතර, L1 සංඛ්‍යාතයෙන් සංඥා එවන ඇන්ටනාවේ half-beamwidth කෝණය අංශක 23.5කි (දළ වශයෙන් අනෙක් gnss චන්ද්‍රිකාවල හාෆ්බීම්විත් එකත් අංශක විසි ගණනකි). ඒ කියන්නේ එවන සංඥාව විසින් චන්ද්‍රිකාවට මුහුනලා තිබෙන සම්පූර්ණ පොලොවේ මතුපිටටත් වඩා ප්‍රදේශයක් ඉන් ආවරණය කරයි. දළ වශයෙන් පොලොව මතුපිට ආසන්නයේ අරය 8700km ක පමණ වෘත්ත ප්‍රදේශයක් ඉන් ආවරණය වේ. පොලොවේ අරය 6371km ක් නිසා, ඒ කියන්නේ පොලොවට අමතරව ඉන් වටේටත් සංඥා විහිදී යනවා පහත රූපයේ ආකාරයට. ටෝච් එලියක් ඉදිරියෙන් ජිල් බෝලයක් අල්ලාගෙන සිටි විට ටෝච් එක දෙසට මුහුනලා තිබෙන පැත්තේ ජිල් බෝලය මතුපිට හා ඊට අමතරව වටේටත් ආලෝකය විහිදී යන්නාක් සේ මෙය සිදු වේ.


ඉහත රූපයේ දිස්වන ලෙසට gps සංඥා 20200km ක් උඩ සිට එන නිසාත්, පොලොව වටේට රේඩියෝ තරංග ඉතිරෙමින් ගමන් කරන නිසාත්, පොලොව මතුපිට හා ඒ ආසන්නයේ පමණක් නොව, කිලෝමීටර් දහස් ගණනක් උඩකදී පවා gps සේවාව ලබා ගැනීමේ හැකියාව ඇත. උඩට යන්නට යන්නට මෙම සේවාවේ ගුණාත්මකභාවය අඩු වේ. මෙනිසා LEO කක්ෂවල චන්ද්‍රිකා රැඳවීමේදී හා පහල අභ්‍යවකාශය (විශේෂයෙන් පොලොව මතුපිට සිට 30000kmක් පමණ උඩට යන තෙක්) තුල කටයුතුවලදී gps හා අනෙකුත් gnss පද්ධතිවලින් සේවාවක් ලබා ගත හැකි බව පෙනේ. එය මෙවැනි පද්ධති සාදන විට නොසිතූ අමතර වාසියකි.

චන්ද්‍රිකාවක ඔල්මනක් දත්තය රිසීවරය සතු නම්, ඒ කියන්නේ සියලුම gps චන්ද්‍රිකාවල පොදු තොරතුරු සියල්ල රිසීවරය සතු වෙනවා. මෙම පොදු තොරතුරු අතර තිබෙනවා සෑම චන්ද්‍රිකාවකම දළ පිහිටීම ගැන තොරතුරුත්. මෙම දළ පිහිටීම සෑමවිටම වාගේ සත්‍ය ඉතාම නිවැරදි පිහිටීමට වඩා යම් තරමකට වැරදි වුවත්, ඕනෑම මොහොතක ඕනෑම gps චන්ද්‍රිකාවක් පොලොවේ කුමන ස්ථානයකට උඩින් පිහිටන්නේද කියා දළ වශයෙන් සොයා ගැනීමට හොඳටම ප්‍රමාණවත්. පහත දැක්වෙන්නේ එබඳු ඔල්මනක් දත්තයක් කියවීමට පහසු අයුරින් ලේබල් කරමින් ඉදිරිපත් කිරීමකි. පහත උදාහරණයේ තිබෙන්නේ එක් චන්ද්‍රිකාවක තොරතුරු පමණි (‍අනෙක් චන්ද්‍රිකා සියල්ලෙම දළ තොරතුරුත් තව තිබෙන බව සිහිකරගන්න). අයනගෝලය නිසා රේඩියෝ තරංගවලට ඇති වන බලපෑම ගණනය කරන ආකෘතියට අදාල පරාමිතික දත්ත එහි ඇත. GPS චන්ද්‍රිකාවේ සටහන් කරන වෙලාව (GPS time) හා අප භාවිතා කරන GMT/UTC වෙලාව සම්මතයන් දෙකක් නිසා, gps වෙලාව utc වෙලාව බවට පත් කිරීමට අවශ්‍ය පරාමිතික දත්තත් එහි ඇත.

Ionospheric parameters:
Alpha[0] : 1.397E-08
Alpha[1] : 2.235E-08
Alpha[2] : -1.192E-07
Alpha[3] : -1.192E-07
Beta[0] : 1.044E+05
Beta[1] : 9.83E+04
Beta[2] : -1.966E+05
Beta[3] : -3.932E+05

UTC
A0 : -9.3132E-09 sec
A1 : -4.5297E-14 sec/sec
dtLS : 1.0000E+01 sec
tot : 4.6694E+05 sec
WNt : 2.9000E+01 weeks
WNlsf : 2.4300E+02 weeks
DN : 5.0000E+00 days
dtLSF : 1.0000E+01 sec

ALMANAC FOR SATELLITE 1 :
PRN number for data ............. 1
Health of SV .................... 0
Reference Week of Almanac ....... 797
Eccentricity .................... 0.00346661
Corr: inclination angle (rad) ... 0.00388718
Mean Anomaly @ ref time (rad) ... 2.79387
Argument of Perigee (rad) ....... -1.31888
Rate right ascension (rad/sec) .. -8.01176E-09
Right ascension @ ref time (rad) -0.296182
Sqrt semi-major axis (m^1/2) .... 5153.58
Clock correction term 1 ......... 0.000148773
Clock correction term 2 ......... 7.63976E-11
Reference time almanac .......... 466944
Semi-Major Axis (meters) ........ 2.65594E+07
Corrected Mean Motion (rad/sec) . 0.000145862
Inclination angle (rad) ......... 0.95469

ALMANAC FOR SATELLITE 2 :
… … …
… … …

ALMANAC FOR SATELLITE 3 :
… … …
ආදී ලෙස

ඔල්මනක් දත්තයට අමතරව, ඔරලෝසුවක/ෆෝන් එකක දිනය වෙලාව සෙට් කරන විදියටම රිසීවරයට අප විසින් භාහිරින් ලබා දිය යුතු වෙනවා නිවැරදි දිනය හා වෙලාවත්, හා දළ වශයෙන් තමන් දැන් සිටින ස්ථානයත්. මෙවිට රිසීවරයට හැකියි අදාල වෙලාවට එම ස්ථානය අවට තිබෙන චන්ද්‍රිකා මොනවාද යන්න තීරණය කිරීමට.

ඒ කියන්නේ ඔබ සතුව තිබෙන රිසීවරයේ ඔල්මනක් දත්තය තිබේ නම්, හා වෙලාව ස්ථානයද ලබා දී තිබේ නම්, දැන් රිසීවරය දන්නවා එය පිහිටි තැනට කුමන කුමන චන්ද්‍රිකා ටික මෙම මොහොතේ දර්ශනය විය හැකිද කියා. එවිට, රිසීවරය එම චන්ද්‍රිකාවල prn කෝඩ් තෝරා ගෙන L1 සංඛ්‍යාතය ඔස්සේ ඊට ලැබෙන ඉතාම ඉතා දුර්වල සංඥා (මෙම සංඥා පසුබිම් ඝෝෂාව තුල ගිලී පවතී; මේ ගැන dsss/cdma පාඩම්වල ඉගෙන ගත්තා) ග්‍රහණය කර ගෙන එම කෝඩ්වලින් ඔටෝකොරිලේෂන් සිදු කරනවා.



ඉහත රූප පෙලෙහි දැක්වෙන්නේ චන්ද්‍රිකාවක සිට එන සංඥාවක් රිසීවරයේ ගබඩා වී තිබෙන prn කෝඩ් එකකින් ඔටෝකොරිලේෂන් සිදු වන ආකාරයයි. මුලින්ම තිබෙන්නේ රිසීවරයේ තිබෙන කෝඩ් එකයි (ඇත්ත කෝඩ් එක බිට් 1023ක් දිගය). දෙවැනි රූපයෙන් දැක්වෙන්නේ එම කෝඩ් එකත් සමඟ චන්ද්‍රිකාවකින් එන යම් සංඥාවක් සැසදීමේදී එම කොටස් දෙක නොගැලපීමයි. තුන්වැනි රූපයේ දැක්වෙන්නේ දෙවැනි රූපයේදී සැසඳූ සංඥා කොටස තරමක් දකුණට තල්ලු කර ගෙන (slide) යවන විට යම්තාක් දුරකට එම සංඥා කොටස හා කෝඩ් එක ගැලපී තිබීමයි. අවසාන රූපයෙන් දැක්වෙන්නේ තවත් ඉතා කුඩා දුරක් දකුණට එය තල්ලු කළ විට සංඥා කොටස හා කෝඩ් එක 100%ක් හොඳින් සමපාත වීමයි. එනම් 100% ඔටෝකොරිලේෂන් සිදු වී තිබේ. එවිට විශාල ප්‍රොසෙසිං ගේන් එක නිසා ප්‍රබල සංඥාවක් අවසානයේ රිසීවරයේ ජනනය වෙනවා.


ඉහත ආකාරයට ඩිස්ප්‍රෙඩ් කළ සංඥාවෙන් ලබා ගන්නා ප්‍රමුඛතම දත්තය වන්නේ එෆමරිස් දත්ත වේ (මේ අතර එෆමරිස් දත්ත සමඟම එවන යාවත්කාලීන ඔල්මනක් දත්තද රිසීවරයට ලැබෙනවා). මෙම එෆමරිස් දත්ත තුල තිබෙනවා චන්ද්‍රිකාවල ඉතාම නිවැරදි පිහිටීම් දත්ත. දැන් රිසීවරයට හැකියි එම දත්ත trilateration නම් ගණිත ක්‍රමය යොදා ගෙන ඔබේ පිහිටීම ගණනය කර ගන්නට. GPS චන්ද්‍රිකාවකින් තත්පර 30ක පමණ කාලයක් පුරා එකතු කර ගන්නා සම්පූර්ණ එෆමරිස් දත්තයක අඩංගු කරුණු මොන වගේදැයි පහත උදාහරණයෙන් දැක්වේ (එෆමරිස් දත්තයන් අපට හොඳින් තේරුම්ගැනීමට අවශ්‍ය ලේබල් සමඟ පෙන්වා ඇත). පහත උදාහරණයේදී 2 ලෙස හඳුන්වපු චන්ද්‍රිකාවට පමණක් වලංගු තොරතුරුයි තිබෙන්නේ. මේ ලෙස අනෙක් චන්ද්‍රිකාවලින්ද තමන්ට පමණක් වලංගු එෆමරිස් දත්ත එවනවා.

EPHEMERIS FOR SATELLITE 2 :
PRN number for data .................. 2
Issue of ephemeris data .............. 224
Semi-Major Axis (meters) ............. 2.65603E+07
C(ic) (rad) .......................... 1.88127E-07
C(is) (rad) .......................... -1.00583E-07
C(rc) (meters) ....................... 321.656
C(rs) (meters) ....................... 87.6875
C(uc) (rad) .......................... 4.36418E-06
C(us) (rad) .......................... 2.70829E-06
Mean motion difference (rad/sec) ..... 5.04521E-09
Eccentricity (dimensionless) ......... 0.0139305
Rate of inclination angle (rad/sec) .. 4.11089E-10
Inclination angle @ ref. time (rad) .. 0.950462
Mean Anomaly at reference time (rad) . -2.62555
Corrected Mean Motion (rad/sec) ...... 0.000145859
Computed Mean Motion (rad/sec) ....... 0.000145854
Argument of perigee (rad) ............ -2.56865
Rate of right ascension (rad/sec) .... -8.43857E-09
Right ascension @ ref time (rad) ..... 1.75048
Sqrt (1 - e^2) ....................... 0.999903
Sqr root semi-major axis, (m^1/2) .... 5153.67
Reference time ephemeris (sec) ....... 240704

CLOCK FOR SATELLITE 2 :
PRN number for data ......... 2
Week number...... ........... 797
Predicted user range accuracy 32
Health of satellite ......... 0
L1 - L2 Correction term ..... 9.31323E-10
Issue of clock data ......... 224
Time of clock data .......... 240704
Clock offset ................ -0.000158074
Clock drift ................. -2.50111E-12
Rate of clock drift ......... 0

රිසීවරය සතුව ඔල්මනක් දත්ත හා භාහිරින් ඇතුලු කළ යුතු කාලය/ස්ථානය යන දත්ත දැනටමත් නැතිනම්, රිසීවරයට සිදු වෙනවා තමන් අවට තිබෙන අවකාශය සම්පූර්ණයෙන්ම ස්කෑන් කරන්නට. මෙහිදී රිසීවරය සතුව තිබෙන සියලුම චන්ද්‍රිකාවල prn කෝඩ්වලින් එකක් තෝරාගෙන එම කෝඩ් එක සමඟ රිසීවරයට L1 ඔස්සේ ලැබෙන සංඥා ඔටෝකොරිලේෂන් කරනවා. එම මොහොතේ එම කෝඩ් එක අයත් චන්ද්‍රිකාවෙන් ඇත්තටම රිසීවරයට සංඥා එවන්නේ නම්, රිසීවරයට දැන් එක් චන්ද්‍රිකාවක් “සෙට්වෙලා” (lock) තියෙනවා. එවිට, එම චන්ද්‍රිකාවෙන් ලැබෙන නැවිගේෂන් පනිවුඩ ලබා ගෙන එහි ඇති ඔල්මනක් දත්ත ටික උකහා ගන්නවා. මේ සඳහා විනාඩි 13ක් විතර ගත වේවි. එහෙත් එම මොහොතේ රිසීවරය තෝරා ගත් කෝඩ් එකට අදාල චන්ද්‍රිකාව තිබෙන්නේ ලෝක ගෝලයේ වෙනත් පැත්තක නම්, රිසීවරය කරන්නේ තවත් කෝඩ් එකක් තෝරාගෙන එම ඔටෝකොරිලේෂන් ක්‍රියාවලිය නැවත සිදු කිරීමයි. මෙලෙස සමහරවිට චන්ද්‍රිකාවක් හමුවෙන තුරු ඔටෝකොරිලේෂන් එක කිහිප වාරයක්ම සිදු කිරීමට සිදු වේවි.

L1 ඔස්සේ එන legacy civilian signal එකේ තිබෙන navigation message එක බිට් 1500ක් විශාලය. එම බිට් යම් පිලිවෙලකට සකසා තිබෙන අතර එය frame එකක් යැයි කියනවා. මෙම බිට් 1500ක් දිග ෆ්‍රේම් එක එන්නේ තත්පරයට බිට් 50ක වේගයකිනි. එනිසා, සම්පූර්ණ නැවිගේෂන් පනිවුඩය ග්‍රහණය කිරීමට තත්පර 1500/50 = 30ක් ගත වෙනවා. මෙම ෆ්‍රෙම් එක තුල තුන් ආකාරයක දත්ත තිබෙනවා. එක් දත්ත වර්ගයක් වන්නේ gps වෙලාව, චන්ද්‍රිකාවේ තත්වය හා එහි යහපැවැත්ම පිළිබඳ දත්ත (status and health) වේ. දෙවැනි දත්ත වර්ගය වන්නේ එම චන්ද්‍රිකාට අදාල සම්පූර්ණ එෆමරිස් දත්ත ටිකයි.

තෙවැනි දත්ත වර්ගය වන්නේ සමස්ථ gps පද්ධතියටම අයත් තොරතුරු වන ඔල්මනක් දත්තයයි. ඔල්මනක් දත්තය විශාල නිසා, එක් ෆ්‍රේම් එකක් තුල මුලු ඔල්මනක් දත්තයම ගබඩා කර එවන්නේ නැත; එක් ෆ්‍රේම් එකක පවතින්නේ මුලු ඔල්මනක් දත්තයෙන් 1/25ක පංගුවකි. එක් ෆ්‍රේම් එකක තිබෙන ඔල්මනක් දත්ත කොටස එක ඔල්මනක් page එකක් යැයි කියනවා. ඒ කියන්නේ එක දිගට ෆ්‍රේම් 25ක් ග්‍රහණය කර ගත් විට, ඉන් page 25ක් එකතු කර සම්පූර්ණ ඔල්මනක් දත්තය සකසා ගත හැකියි.

මුලු ෆ්‍රෙම් එකම subframe 5කට කඩා ඇත. එවිට එක් සබ්ෆ්‍රේම් එකක දිග 1500/5 = බිට් 300කි. මෙවිට එක් සබ්ෆ්‍රේම් එකක් යැවීමට ගත වන කාලය 300/50 = තත්පර 6කි. එහි පළමු සබ්ෆ්‍රේම් එකෙහි තිබෙන්නේ පෙර ඡේදයේ කතා කළ චන්ද්‍රිකාවේ වෙලාව, තත්වය, හා යහපැවැත්ම පිළිබඳ තොරතුරු ටිකයි. දෙවැනි හා තෙවැනි සබ්ෆ්‍රේම් 2හි තිබෙන්නේ එෆමරිස් දත්තය වේ. හතරවැනි හා පස්වැනි සබ්ෆ්‍රේම් 2හි තිබෙන්නේ ඔල්මනක් දත්ත කොටසයි. හතරවැනි හා පස්වැනි සබ්ෆ්‍රේම් 2ම එකට ගත් විට තමයි එක පේජ් එකක් ලැබෙන්නේ. සමස්ථ ඔල්මනක් දත්තයේ සයිස් එක බිට් 300x2x25 = 15000ක් බව පෙනේ. මෙම බිට් 15000 එකතු කර ගැනීමට නම් ෆ්‍රේම් 25ක් ලබා ගත යුතු නිසා ඒ සඳහා ගත වන කාලය තත්පර 30x25 = 750ක් හෙවත් විනාඩි 12යි තත්පර 30කි.


සෑම සබ්ෆ්‍රේම් එකක්ම නැවත බිට් 30ක විශාලත්වයෙන් යුතු word 10කට බෙදේ. යම් වර්ඩ් එකක ඇති බිට් 30නුත් 24කින් දත්ත යවන අතර, ඉතිරි බිට් 6 parity bits වේ (එම බිට් 24හි දෝෂ ඇත්නම් ඒවා හඳුනාගැනීමට මෙම පැරිටි බිට් උදව් වේ). තවද, ඉහත සබ්ෆ්‍රේම් රූපය බලන විට පෙනෙනවා, සෑම සබ්ෆ්‍රේම් එකකම පළමු වර්ඩ් දෙක TLM (Telemetry word) හා HOW (Handover word) යන විශේෂිත වර්ඩ් දෙක සඳහා යොදා ගෙන තිබෙන බව. පහත දැක්වෙන්නේ TLM, HOW යන වර්ඩ් දෙකයි.


සෑම ෆ්‍රේම් එකක්ම (නැවිගේෂන් මැසේජ් එකක්ම) පටන් ගන්නේ සෑම විනාඩියකම ආරම්භයේදී හෝ ඕනෑම විනාඩියක මැද, එනම් තත්පර 30 අවස්ථාවේදීය. උදාහරණයක් ලෙස, හවස 3:30:00, 3:30:30, 3:31:00, 3:31:30, 3:32:00, 3:32:30 ආදි ලෙස පිලිවෙලින් මැසේජ් චන්ද්‍රිකා විසින් යැවේවි. මෙලෙස තත්පර 30න් 30ට අලුත් මැසේජ් යවන්නට හේතුව වන්නේ එක් මැසේජ් එකක් සඳහා තත්පර 30ක කාලයක් යන නිසාය. මෙනිසා කිසිදු gps චන්ද්‍රිකාවකින් කිසිදු විටක 5:02:45, 2:44:02 ආදී වෙලාවලදී (“කැඩිච්ච තත්පරවලදී”) ෆ්‍රේම් හෝ සබ්ෆ්‍රේම් එවන්නේ නැත.

TLM හි රාජකාරිය වන්නේ දැන් අලුත් සබ්ෆ්‍රේම් එකක් පටන් ගන්නවා කියා රිසීවරයට දැනුම් දීමටයි. මෙමඟින් රිසීවරය හා සංඥාව අතර සමගාමීබව (synchronization) ඇති කර ගන්නවා. එනිසාම චන්ද්‍රිකාවත් රිසීවරයත් අතර තිබෙන දුර සෙවීමටත් එය උපකාර වෙනවා. HOW වර්ඩ් එකේ තිබෙන්නේ මීළඟට ඒමට නියමිත සබ්ෆ්‍රේම් එක චන්ද්‍රිකාවෙන් විසුරුවාලන වෙලාවයි. මෙම වෙලාවල් ඉතාම ඉතා නිවැරදිය (චන්ද්‍රිකා පරමාණුක ඔරලෝසු භාවිතා කරන්නේ මේ වැඩ සඳහාය). පෙර ඡේදයේ පැවසූ ලෙස හැමවිටම එහි තත්පර කොටස එක්කෝ 00 වේ; නැතහොත් 30 වේ.


GPS චන්ද්‍රිකා විසින් කාලය සටහන් කරනා අමුතු ක්‍රමයක් ඇත. Week Number හා Time of Week Count (TOW) ලෙස හැඳින්වෙන අගයන් දෙකකිනුයි වෙලාව කියන්නේ. 1980 ජනවාරි 06 යන දිනයේ ආරම්භය (GMT 00:00:00) gps කාලය පැවසීමේ පදනම් කාලය ලෙස සැලකේ. මෙම පදනම් කාලය GPS epoch ලෙස හැඳින්වේ.

එම දවසේ ආරම්භයෙන් පටන් ගන්නේ පළමු සතිය වන අතර එය Week Number 0 හෙවත් කෙටියෙන් Week0 ලෙස සඳහන් කරනවා. ඉන්පසු 1980 ජනවාරි 13 වැනිදා සිට පටන් ගන්නේ දෙවැනි සතියයි (Week1). මේ ආදි ලෙස Week Number ඉදිරියට ගණනය කෙරේ. වීක් නම්බර් නිරූපණය කිරීම සඳහා බිට් 10ක් යොදා ගැනේ. ඒ අනුව එක දිගටම උපරිමව සති 210 = 1024ක් පමණි ඉන් නිරූපණය කළ හැක්කේ. සති 1024ක් යනු අවුරුදුවලින් 1024/52 = අවුරුදු 19.69කි. ඒ කියන්නේ 1980 ජනවාරි 06 සිට ඉදිරියට Week number කවුන්ටර් එක සතියකට එක බැඟින් වැඩි කරගෙන යන විට, අවුරුදු 19.69කදී කවුන්ටරයේ උපරිම අගයට පැමිණේ. ඉන්පසු එම කවුන්ටරය නැවත reset වේ. එනම්, නැවත 0සිට පටන් ගනී. ඒ අනුව 1980 සිට 2017 වන විට එම කවුන්ටරය තවම එක් වතාවකි රීසෙට් වී තිබෙන්නේ.

TOW යනු තවත් කවුන්ටරයක් වන අතර, එය බිට් 19ක් විශාලය. එනිසා එම කවුන්ටරය 219 = 524288 දක්වා යා හැකි වුවත් එහි උපරිම අගය 403199ට සීමා කර ඇත; එනම් 403199ට පසු මෙම කවුන්ටරය 0ට රීසෙට් වේ. මෙම කවුන්ටරයෙන් එක් අගයක් තත්පර 1.5කි; එනම් සෑම තත්පර 1.5කට සැරයක් මෙම කවුන්ටරයේ අගය 1කින් වැඩි වේ. මෙම කවුන්ටරයෙන් කරන්නේ අලුත් සතියක් පටන් ගත් විට, එම සතියේ 00:00:00 යන වෙලාවේ සිට කී වෙනි තත්පරයද මේ ගෙවී යන්නේ කියන එකයි. උදාහරණයක් ලෙස, TOW අගය 0 නම්, එම සතිය පටන් ගත් 00:00:00 යන්න ඉන් හැඟවේ. TOW අගය 1 නම්, එම සතිය පටන් ගත් මොහොතේ සිට තත්පර 1.5ක් ගෙවී ගිය මොහොත බව ඉන් හැඟවේ. TOW අගය 100 නම්, සතිය පටන් ගත් මොහොතේ සිට තත්පර 1.5x100 = 150ක් ගෙවී ගිය මොහොත හෙවත් 00:02:30AM බව ඉන් හැඟවේ. එලෙස “තත්පර 1.5හේ කොටස්” 403199ක් යනු තත්පර 403199x1.5 = 604,798.5කි. එය දවසට ඇති තත්පර ගණන වන 86400න් බෙදූ විට දවස් 7 ලැබේ. ඒ කියන්නේ මෙම කවුන්ටරයේ උපරිම කවුන්ට් අගය වන 403199 ලෙස සකසා ඇත්තේ එම අගය දක්වා කවුන්ටර් අගය ඉහල ගිය විට ඊළඟ සතිය ඇරඹෙන ලෙසයි. එවිට TOW කවුන්ටරයද සෑම සතියකට සැරයක් රීසෙට් විය යුතුයි.

ඉහත පෙන්වාදුන් ආකාරයට වෙලාව සටහන් කරන නිසා ඊට GPS time කියා කියනවා. මෙම ක්‍රමය නිකංම කවුන්ටර් භාවිතා කරමින් සන්තතිකව වෙලාව දක්වන ක්‍රමයකි. එහෙත් අප එදිනෙදා භාවිතා කරන සම්මත වෙලාව GMT/UTC යනු විද්‍යාත්මක පදනමක් මත යම් අවුරුදු ගාණකට සැරයක් පිටින් අලුතින් තත්පර (leap seconds) එකතු කරන ක්‍රමයකි. එසේ ලීප් සෙකන්ඩ් එකතු කිරීමට හේතුව අවශ්‍ය නම් ඔබ වෙනම විමසා බලන්න. gps පද්ධතිය හඳුන්වාදුන් දවසේදී නම් gps time එකයි utc කාලයයි සමපාතව (සමානව) පැවතියත්, එදා සිට මේවන විට අවස්ථා කිහිපයකදීම UTC කාලයට අලුතින් ලීප් සෙකන්ඩ් හඳුන්වා දුන්නා (2015 ජූලි 30 වැනි දිනත් එලෙස තත්පරයක් එකතු කළා). මේ නිසා අද වන විට gps වෙලාව හා utc වෙලාව අතර තත්පර කිහිපයක වෙනසක් තිබෙනවා (එනම් 2017වන විට utc වෙලාවට වඩා gps වෙලාව තත්පර 18කින් ඉදිරියෙන් සිටිනවා). එනිසා එදිනෙදා වැඩකටයුතුවලදී gps time භාවිතා කරන විට, එය utc වෙලාවට සමපාත කිරීම කළ යුතු වෙනවා. මේ සඳහා අවශ්‍ය නිවැරදි කිරීමේ දත්තය ඔල්මනක් දත්ත අතර තිබෙනවා (මීට පෙර උදාහරණයට පෙන්වූ ඔල්මනක් දත්තය බලන්න).

සෑම ෆ්‍රේම් එකකම පළමු සබ්ෆ්‍රේම් එක තුල gps time එකේ week number එක ඇත. එලෙසම සෑම සබ්ෆ්‍රේම් එකකම HOW තුල gps time එකේ TOW අගය ඇත. කෙනෙකුට ගැටලුවක් ඇති විය හැකියි gps time එක එතරම් වැඩක් නැහැනෙ මොකද තත්පර 1.5ක පරතරවලින් ඉන් කාලය මනින නිසා කියා (හා අපේ සාමාන්‍ය ඔරලෝසු තත්පර එකින් එකට වෙලාව දක්වනවා කියා). සෑම චන්ද්‍රිකාවක් විසින්ම නොනවත්වාම දත්ත යැව්වත්, එම දත්ත යවන්නේ කිසියම් ක්‍රමයකට බව ඉහත දුටුවා. සෑම ෆ්‍රේම්/සබ්ෆ්‍රේම් එකකම චන්ද්‍රිකා විසින් ඉතාම නිවැරදි වෙලාවන් සටහන් කළත්, අර දත්ත එවන ක්‍රමවත්භාවය නිසා (එනම් සෑම සබ්ෆ්‍රේම් දෙකක් අතර පරතරය හරියටම තත්පර 6ක් ලෙස ඇති නිසා), චන්ද්‍රිකාවකට හැමවිටම සිදුවන්නේ එම සබ්ෆ්‍රේම් තුල තත්පර 6න් 6ට වෙලාව සටහන් කිරීමටයි. එනිසා තත්පර 1.5 ඒවා 4ක් ගත් විට තත්පර 6කි. ඒ අනුව තත්පර 1.5හේ කොටස්වලින් කාලය මැනීම ගැටලුවක් නොවේ.

චන්ද්‍රිකා විසින් සටහන් කරන වෙලාව ඉතාම නිරවද්‍යවීමයි (accuracy) වැදගත්ම සාධකය වන්නේ; එහෙම නැතිව කාලය තත්පරයෙන් තත්පරය එවනවාද, මිලිතත්පරයෙන් මිලිතත්පරය එවනවාද තත්පර 1.5කට සැරයක් එවනවාද යන්න (resolution of time) වැදගත් සාධකය නොවේ. ඉතිං ඉහත කරුණු මතකයේ තබා ගෙන මුලින්ම බලමු L1 C/A code යන සංඥාවෙන් කොහොමද චන්ද්‍රිකාව හා එම චන්ද්‍රිකාවෙන් එවන සංඥාව ග්‍රහණය කරන රිසීවරය අතර දුර (range) සොයා ගන්නේ කියා.

මෙම දුරට GNSS හිදි pseudorange යන නම යොදා ගන්නවා. බැලූ බැල්මටම මෙය සරල කාරණයකි මොකද රේඩියෝ (හෝ ඕනෑම විද්‍යුත්චුම්භක) තරංගයක් ගමන් කළ දුර සෙවීමට කළ යුත්තේ ආලෝකයේ වේගය (c යන සංඛේතයෙන් එය දැක්වේ) එම රේඩියෝ තරංගය ගමන් කළ කාලයෙන් ගුණ කිරීම පමණි. ඒ අනුව උදාහරණයක් ලෙස, චන්ද්‍රිකාවෙන් එවපු රේඩියෝ තරංගය මිලිතත්පර 10ක කාලයක් තුලදී රිසීවරයට පැමිණියේ නම්, (තත්පරයට කිලෝමීටර් 300,000ක වේගයෙන් ගමන් කරන නිසා) මිලිතත්පර 10කට කිලෝමීටර් 3000ක් ගමන් කළ යුතුයිනෙ.

පහසුම ක්‍රමය වන්නට තිබුණේ මෙයයි. චන්ද්‍රිකාවෙන් එවන පනිවුඩයේ යම් නිශ්චිත තැනක්/බිට් එකක් රිසීවරය විසින් ග්‍රහණය කළ වෙලාව රිසීවරයේ තිබෙන ඔරලෝසුවෙන් මැන ගත හැකිය. එම පණිවුඩය තුල තිබෙනවා චන්ද්‍රිකාවෙන් එම සංඥාව පිටත් වූ වෙලාවත්. සංඥාවේ තිබෙන වෙලාවට වඩා මිලිතත්පර කිහිපයකට පසුවනෙ රිසීවරයට එම සංඥාව ලැබෙන්නේ. ඉතිං, රිසීවරයෙන් සටහන් කරගත් වෙලාවෙන් සංඥාව තුල ගැප්ව ඇති වෙලාව අඩු කළ විට, සංඥාව චන්ද්‍රිකාවේ සිට රිසීවරයට පැමිණීම සඳහා ගත වූ කාලය (transit time) පහසුවෙන්ම ලැබෙනවා. මෙම කාලය ආලෝකයේ වේගයෙන් ගුණ කළ විට, චන්ද්‍රිකාවත් පොලොවත් අතර දුර ලැබේවි.

ඉහත ක්‍රමය එතරම් සරල වුවත් කිසිදා ප්‍රායෝගිකව යොදා ගත නොහැකිය. ඊට හේතුව රිසීවරයේ තිබෙන ඔරලෝසුව ඒ සඳහා කිසිසේත් සුදුසු නොවීමයි (එනම් රිසීවරයේ කාලය නිරවද්‍ය නැත). ඔරලෝසුව නිරවද්‍යව සෑදුවත් තවත් ගැටලුවක් තිබේවි. එනම්, චන්ද්‍රිකාවේ වෙලාව හා රිසීවරයේ වෙලාව සමාන/සමපාත (synchronization) නොවීමයි. උදාහරණයක් ලෙස චන්ද්‍රිකාවේ වෙලාවට වඩා එක් මිලිතත්පරයක් ඉදිරියෙන් රිසීවරයේ වෙලාව තිබුණේ නම්, ට්‍රාන්සිට් කාලය සොයන විට වැඩිපුර මිලිතත්පරයක් දැන් එම අගයට එකතු වී ඇත. මිලිතත්පරයක් යනු කිලෝමීටර් 300ක් එහා මෙහා කළ හැකි තරමේ විශාල දුරකි (කොළඹ සිටන ඔබ පෝක් සමුද්‍ර සන්ධියේ සිටින්නා සේ දක්වාවි).

ඒ අනුව මූලිකවම අපට දැන ගැනීමට සිදු වන්නේ චන්ද්‍රිකාවේ සිට රිසීවරයට තරංගය පැමිණීමට කොපමණ කාලයක් ගත වූවාද යන්නයි. මෙම කාල මැනීම ඉතාම නිවැරදි විය යුතුය. සාමාන්‍ය එදිනෙදා ජීවිතයේදී අපට තත්පර කිහිපයක් එහා මෙහා වීම කිසිසේත් ගණන් ගන්නේ නැත (තත්පර කිහිපයක් නොව, පැය කිහිපයක් එහා මෙහා වීම ගණන් නොගන්නා මාගේ මිතුරු “මීහරක්” පවා සිටී). එහෙත් ආලෝකයේ වේගයෙන් ගමන් ගන්නා රේඩියෝ සංඥාවලදී තත්පරයක් යනු ඉතාම විශාල කාලයකි; එක් තත්පරයකදී පොලොවෙන් පිට වන රේඩියෝ තරංගයක් සඳට යාවි. මිලිතත්පරයද විශාල කාලයකි මොකද එක් මිලිතත්පරයකදී රේඩියෝ තරංගයක් කිලෝමීටර් 300ක් දුර යාවි. මයික්‍රොතත්පරයද විශාල වේ මොකද එක් මයික්‍රොතත්පරයකදී එය මීටර් 300ක් දුර යාවි.

මේ නිසා, GNSS වලදී ඉතාම නිවැරදිව වෙලාව පෙන්වන ඔරලෝසු අනිවාර්යෙන්ම අවශ්‍ය වේ. දැනට සාමාන්‍ය අප භාවිතා කරන ඉතාම හොඳ ඔරලෝසු වන්නේ Quartz ඔරලෝසු වේ (මේවායේ ක්වාර්ට්ස් යන ඛනිජයෙන් සාදපු නිවැරදිවත් සෑහෙන්න හොඳට ස්ථාවරවත් කම්පනය වන Oscillator එකක් ඇති නිසා මේ නම යෙදේ). ඔරලෝසු සඳහා සාදන Quarts oscillator එකක් සාමාන්‍යයෙන් තත්පරයට කම්පන 32768ක වේගයක්/සංඛ්‍යාතයක් වන පරිදියි සාදන්නේ. 32768 යනු 215 නිසා, 2 බැඟින් මෙම සංඛ්‍යාතය 15 සැරයක් දිගින් දිගටම බෙදා ගෙන යන විට (32768 පළමුව 2න් බෙදූ විට 16384, එය නැවත 2න් බෙදූ විට 8192, එය නැවත බෙදූ විට 4096ද ආදී වශයෙන් බෙදා ගෙන යන විට 15 වැනි වරට 2න් බෙදූ විට 1 ලැබේ), තත්පරයට එක කම්පනයක් ලැබේ. ඒ කියන්නේ ඔරලෝසුවේ තත්පරය දැන් ලබා ගෙන ඇත. පහත දැක්වෙන්නේ ක්වාර්ට් ඔසිලේටරයක සත්‍ය හැඩය සහිත රූපයකි (කේසිං එක ඉවත් කර).


මෙවැනි ඔරලෝසුවක නිරවද්‍යතාව තත්පර මිලියනයකට එක් තත්පරයකින් එහා මෙහා යන තරමේ වේ. එය 1ppm (parts per million) ලෙසද දැක්විය හැකිය. ඒ කියන්නේ මේ ක්ෂණයෙහි හරිම වෙලාව එහි සෙට් කළොත්, එම ඔරලෝසුව තවත් තත්පර මිලියනක කාලයක් ගිය විට හෙවත් දවස් 11කට පසුව කාලය එක් තත්පරයකින් වැරදි වේවි. මෙතරම් නිරවද්‍යතාවක් එදිනෙදා කටයුතුවලට ඕනවටත් වඩා හොඳ වූවාට, gps සඳහා ප්‍රමාණවත් නොවේ. තවත් විදියකින් කියතොත් සෑම තත්පරයක කාලයක් තුල මයික්‍රොතත්පරයක වැරද්දක් එහි තිබේ. මයික්‍රොතත්පරයක වැරැද්දක් යනු මීටර් 300ක එහා මෙහා යෑමකි. සෑම මිලිතත්පරයක් සඳහා නැනෝතත්පර 1ක ඉතා කුඩා වැරැද්දක් තිබේ; නැනෝතත්පරයක් යනු මීටර් 0.3ක කුඩා එහා මෙහා යෑමකි.

පරිසර උෂ්ණත්වය වෙනස් වන විට සාමාන්‍යයෙන් එක් සෙල්සියස් අංශකයක වෙනසකට බිලියනයකට පංගු කිහිපයකින් පමණ කම්පන ගණන ක්වාර්ට්ස් ඔසිලේටරයක වෙනස් වේ. නියත උෂ්නත්වයක් තිබෙන කුඩා කුටීරයක තැබීමෙන් එම දෝෂය ඉවත් කළ හැකිය (එහෙත් එය කළ හැක්කේ අතේ ගෙන යන උපකරණවලට නොව, කාමරයක/ලැබ් එකක තබා තිබෙන අවස්ථාවකයි). උෂ්නත්වයට කම්පන/සංඛ්‍යාත අගය වෙනස් නොවන තවත් ක්‍රමයක් නම්, උෂ්නත්වයට අසංවේදී වන සේ ක්වාර්ට්ස් ඔසිලේටරය සැකසීමයි. මෙවැනි ඔසිලේටර් Temperature-compensated Oscillator (TCXO) ලෙස හැඳින්වෙන අතර, සාමාන්‍ය ක්වාර්ට්ස් ඔසිලේටරයක මිල මෙන් කිහිප ගුණයක මිලක් ඊට වැය වේ.

මීට වඩා ඉතාම නිවැරදිව කාලය සටහන් කිරීම සඳහා පරමාණුක ඔරලෝසු (atomic clock) භාවිතා වේ. ආකාර කිහිපයක පරමාණුක ඔරලෝසු මේ වන විට සොයා ගෙන තිබේ. එහෙත් පරමාණුක ඔරලෝසු විශාලය; මිල අධිකය.


එනිසා gps receiver තුල එවැන්නක් යෙදීම ප්‍රායෝගික නැත. සෑම GNSS චන්ද්‍රිකාවකම නම් මෙවැනි පරමාණුක ඔරලෝසු දෙකක් හෝ වැඩි ගණනක් තිබේ. එනිසා චන්ද්‍රිකා පැත්තෙන් ගත් කළ, ඉතාම නිවැරදිව වෙලාව සටහන් කිරීමේ හැකියාව පවතිනවා. ඒ විතරක්ද නොවේ, සියලුම gps චන්ද්‍රිකාවල වෙලාවල් ඉතාම නිවැරදිව එකම වෙලාවට සෙට් කර තිබේ (time synchronization). යම් චන්ද්‍රිකාවක වෙලාව සුලු වශයෙන් හෝ වෙනස් වන්නේද කියා නිරන්තරයෙන්ම පොලොවේ සිට මොනිටර් ස්ටේෂන් විසින් සොයා බලන අතර, එවැනි වෙනස්කම් ඇතොත් පාලක මැදිරිය විසින් ඒවා නිවැරදි කරයි.

යම් තාක්ෂණික උපක්‍රමයකින් අපට හැකියි චන්ද්‍රිකා සතු ඉතා අනර්ඝ මට්ටමෙන් කාලය සටහන් කිරීමේ එම හැකියාවෙන් රිසීවර්වල ඇති නොහැකියාව (එනම් එතරම් හොඳින් නිවැරදි කාලය සටහන් කිරීමට ඇති නොහැකියාව) ඉවත් කිරීමට. මෙම උපක්‍රමයත්, එය යොදාගෙන pseudorange සොයන ආකාරයත් දැන් ආදර්ශනයකින් බලමු (ප්‍රායෝගික ක්‍රමය පහත විස්තරයට වඩා තරමක් වෙනස් වුවත්, මෙම විස්තරය පහසුවෙන් අවබෝධ කරගත හැකිය).

GPS සංඥා රිසීවරය විසින් ග්‍රහණය කළ විට, රිසීවරයට හැකියාව ලැබෙනවා එම සංඥාව හා සමපාත (sync) වන්නට. එනම් යම් සබ්ෆ්‍රේම් එකක් ග්‍රහනය කරගත් විට, රිසීවරය එම සබ්ෆ්‍රේම් එකේ නිශ්චිත බිට් පෙලක් සොයනවා (TLM හි preable බිට් ටික). එම බිට් පෙල සමඟ සමපාත වූ විට, යම් වේගවත් (කියමු නැනෝතත්පර 10කට 1 බැඟින් අගය වැඩි වෙන) කවුන්ටරයක් ක්‍රියාත්මක කරනවා යැයි සිතමු. එම සබ්ෆ්‍රේම් එකේ තිබෙනවා ඊළඟ සබ්ෆ්‍රේම් එක එන නිරපේක්ෂ වෙලාව. ඉතිං, චන්ද්‍රිකාව රිසීවරය අසලම තිබුණේ නම්, ඊළඟට එන සබ්ෆ්‍රේම් එක ඒ කියපු වෙලාවටම රිසීවරයට ලැබේවි. උදාහරණයක් ලෙස, දැන් තිබෙන සබ්ෆ්‍රේම් එකෙන් කියනවා යැයි සිතමු ඊළඟ ෆ්‍රේම් එක තවත් තත්පර 6කින් එනම්, “2017 මාර්තු 22, හවස 2:33:30” ට එනවා කියා. එහෙත් චන්ද්‍රිකාව කිලෝමීටර් 20200ක් හෝ ඊට වඩා දුරකින් පිහිටන නිසා, චන්ද්‍රිකාවෙන් එම වෙලාවට එම සබ්ෆ්‍රේම් එක පිට වුවත්, රිසීවරයට එන්නට යම් කාලයක් ගත වේවි (දළ වශයෙන් මිලිතත්පර 65ත් 85ත් අතර කාලයක් ගත වේ).

මෙම වෙනස දැන් අපට දැනගත හැකියි අර වේගවත් කවුන්ටරයෙන්. එම කවුන්ටරය නැනෝතත්පර 10ක පරතරවලින් වැඩි වෙනවනෙ. ඉතිං, ඊළඟ සබ්ෆ්‍රේම් එක රිසීවරයට ලැබෙන විටම අර කවුන්ටරය නතර කරමු (එය හරියට stop watch එකක් වගේ). එම නතර කරන මොහොතේ කවුන්ටරයේ කවුන්ට් 6,800,000 ක් ගෙවා තිබෙනවා කියා සිතමු. ඒ කියන්නේ එක කවුන්ට් එකක් නැනෝතත්පර 10ක් නිසා, කවුන්ට් 6,800,000ක් යෑමට නැනෝතත්පර 10x6,800,000 = මිලිතත්පර 68ක් ගත වී ඇත. ඒ කියන්නේ ට්‍රාන්සිට් කාලය මිලිතත්පර 68ක් හෙවත් තත්පර 0.068කි. එය ආලෝකයේ වේගයෙන් ගුණ කළ විට ලැබෙන්නේ ස්‍යුඩෝරේන්ජ් එකයි.

මෙලෙස අඩුම ගානේ චන්ද්‍රිකා 4ක් සඳහා වෙන වෙනම ස්‍යුඩෝරේන්ජ් ගණනය කළ හැකියි. ඉන්පසු ඉතාම සරල සූත්‍රයකින් (trilateration) රිසීවරය සිටින තැන නිශ්චය කළ හැකියි නැවිගේෂන් මැසේජ්වල තිබෙන චන්ද්‍රිකාවල පිහිටුම් අගයන් යොදා ගනිමින්.

පොලොවේ කේන්ද්‍රය ත්‍රිමාණ කාටිසියානු ඛණ්ඩාංක පද්ධතියේද මූලය/කේන්ද්‍රය ලෙස සලකා චන්ද්‍රිකාවල පිහිටීම x,y,z යන ඛණ්ඩාංග අගයන් 3කින් දැක්වේ (Earth Centered, Earth Fixed (ECEF) coordinates). සෑම චන්ද්‍රිකාවක්ම තමන්ගේ පිහිටුම පිළිබඳ නිවැරදි x,y,z අගයන් නැවිගේෂන් සංඥාව තුල ගබඩා කරයි. එම අගයන්ගෙන් අපට පුලුවන් රිසීවරයේ x,y,z ඛණ්ඩාංක අගයන් ගණනය කර ගන්නට.


ඉතිං, එක් චන්ද්‍රිකාවකින් ලබා ගත් එම දත්තය පහත සූත්‍රයට ආදේශ කළ යුතුය.

(XR – Xsat1)2 + (YR – Ysat1)2 + (ZR – Zsat1)2 = ([PRsat1 – b]c)2

XR, YR, ZR යනු රිසීවරයේ ඛණ්ඩාංක වේ (එම අගයන් තමයි අපට සෙවීමට අවශ්‍ය වන්නේ). Xsat1, Ysat1, Zsat1 යනු එක් චන්ද්‍රිකාවක ඛණ්ඩාංක වේ (එෆමරිස් තුල එම දත්තය ඇත). PRsat1 යනු ඉහත පෙන්වා දුන් ආකාරයට එම චන්ද්‍රිකාව හා රිසීවරය අතර තිබෙන ස්‍යුඩෝරේන්ජ් එක වේ (එයත් පෙර පෙන්වා ඇති ආකාරයට ගණනය කළ හැකියි). c යනු ආලෝකයේ වේගය වේ. b යනු එම රිසීවරය හා සම්බන්ද වන සියලු චන්ද්‍රිකාවලට පොදු අගයකි (රිසීවරයේ වෙලාවේ දෝෂයකි).

ඉතිං, අපට සෙවීමට විචල්‍යයන් 4ක් තිබේ - XR, YR, ZR, b. සාමාන්‍ය වීජගණිත නියමය අනුව විචල්‍ය ගණනට සමාන සමගාමි සමීකරණ ගණනක් අවශ්‍ය වේ. ඉහත ඇත්තේ එක් චන්ද්‍රිකාවක් සඳහා වූ සමීකරණයකි. මෙවැනිම තවත් සමීකරණ 3ක් අවශ්‍ය වේ සමීකරණ 4ක් වීම සඳහා. ඒ කියන්නේ තවත් චන්ද්‍රිකා 3ක් සඳහාත් ඉහත සමීකරණ සාදා ගත් විට, එම සමගාමී සමීකරණයේ විසඳුම වන්නේ රිසීවරයේ පිහිටුම වේ.

ඉන්පසු එම පිහිටුම අපට හුරුපුරුදු අක්ෂාංශක හා දේශාංශක ස්වරූපයට පත් කිරීම පහසුවෙන් කළ හැකියි (මේ සඳහා තමයි WGS84 අවශ්‍ය වන්නේ). පහත දැක්වෙන්නේ පොලොව මත X,Y,Z ඛණ්ඩාංක දන්නේ නම්, දළ වශයෙන් අක්ෂාංශක හා දේශාංශක හා මුහුදු මට්ටමේ සිට උස සොයන සූත්‍රයි. මෙම ගණනය කිරීමට අවශ්‍ය දත්ත නැවිගේෂන් පනිවුඩ තුල තිබේ.


ඇත්තටම ඉහත ගණනය කිරීම්වලදී වායුගෝලයේ බලපෑම ආදිය ගැන සලකා බැලුවේ නැත. ඩුවල් ෆ්‍රීක්වන්සි රිසීවරයක් නොවෙයි නම්, නැවිගේෂන් දත්ත තුල ඇති අයනගෝල බලපෑම තක්සේරු කරන පරාමිතින් යොදා ගෙන ඉහත ලබා ගත් අගයන් මත එම අගයන්ද මිශ්‍ර කළ යුතු වෙනවා. මේ හැර තවත් ප්‍රායෝගික කරුණු කිහිපයක්ද අප සලකා බැලුවේ නැත. GPS/GNSS හි මූලික ක්‍රියාකාරිත්වය තේරුම් ගැනීමටයි උත්සහා කළේ.

GPS පද්ධතිය තුල සංඛ්‍යාත කිහිපයක් ඔස්සේ සංඥා බොහෝ ගණනක් එවනවා. තවද, පරණ/ලෙගසි සංඥාවලට අමතරව අලුත් සංඥා (modernized GPS signals) තිබෙනවා. මේවා එකිනෙක අතර වෙනස්කම් ගණනාවක් තිබෙනවා (ඒ සියල්ල ගැන දැනගැනීමට අවශ්‍ය නම්, වෙනම ඒ සඳහා පතපොත තිබේ; එය විශාල මාතෘකාවකි). උදාහරණයක් ලෙස, ලෙගසි සංඥා ඉහත විස්තර කළ ආකාරයේ ෆ්‍රේම් භාවිතා කළත්, අලුත් සංඥා එම තොරතුරුම යවන්නේ වෙනත් ක්‍රමයකටය. Week number කවුන්ටරය බිට් 13ක් දක්වා වැඩි කර ඇත. ලෙගසි සංඥාවල නොතිබූ, වැරදි දත්ත බිට් නිවැරදි කිරීමේ FEC නම් ක්‍රමය අලුත් සංඥා යොදා ගන්නවා. එවැනි වෙනස්කම් ගණනාවක් තිබේ. ඉහත මා පෙන්වා දුන්නේ ලෙගසි සංඥා ගැන විස්තරයි.

NMEA

GPS රිසීවරයක් පරිගනකයක් වැනි තවත් උපකරණයක් හා සම්බන්ද කළ හැකියි. එමඟින් රිසීවරයෙන් ලබා ගත් නිවැරදි පිහිටුම් දත්ත (අක්ෂාංශක, දේශාංශක, මුහුදු මට්ටමේ සිට උස), නිවැරදි කාලය වැනි දත්තයන් අනෙක් උපකරණයට ලබා ගත හැකියි. මෙලෙස රිසීවරය හා වෙනත් ඉලෙක්ට්‍රොනික් උපකරණයක් සම්බන්ධ කළ හැක්කේ එම උපකරණ දෙකම එකිනෙකට සම්බන්ද විය හැකි සේ (එකිනෙකට තේරුම්ගත හැකි සේ) සකසා තිබේ නම් පමණි. නැතිනම් රිසීවරයෙන් එවන විදුලි සංඥා අනෙක් උපකරණයට නොතේරේවි. විදුලිමය පැත්තෙන් (එනම්, අතුරුමුහුනතෙහි පින් මෙච්චරක් තිබිය යුතුය; අහවල් අහවල් පින්වලින් යන විදුලියේ වෝල්ට් ගණන් මෙච්චර මෙච්චර විය යුතුය ආදී සාධක) මෙන්ම එකිනෙකා අතර දත්ත හුවමාරු කරන සම්මතය (protocol) පැත්තෙන් (එනම්, උපකරණ දෙක අතර දත්ත හුවමාරුකරන විට භාවිතා කළ හැකි අක්ෂර මොනවාද, එක් උපකරණයකින් අනෙකින් සේවාව/පිළිතුරක් දෙන මෙන් ඉල්ලා සිටින්නේ කොහොමද ආදී සාධක) යන දෙයාකාරයෙන්ම එකිනෙකා අතර ගැලපීමක් තිබිය යුතුය. මෙය කළ හැක්කේ පොදු සම්මුතියක්/සම්මතයක් යොදා ගැනීමෙනි. මෙවිට උපකරණ නිපදවන අය මෙම පොදු සම්මතයට අනුව උපකරණයේ අතුරුමුහුනත (interface) සාදනවා. ප්‍රචලිතම සම්මුතිය තමයි NMEA 0183 යනුවෙන් හඳුන්වන්නේ.

National Marine Electronics Association (NMEA) යන ආයතනය විසින් මෙම සම්මුතිය හඳුන්වාදී ඇත. GPS වලට පමණක් නොව ඕනෑම සන්නිවේදන උපකරණ දෙකක් එලෙස එකිනෙකට සම්බන්ද කර ඒ දෙක අතර දත්ත හුවමාරු කරවීමට අවශ්‍ය නම් මෙම සම්මුතිය භාවිතා කළ හැකිය. මෙම සම්මුතියෙහි වැදගත් තාක්ෂණික කොන්දේසි/රීති කිහිපයක් පහත දැක්වේ.

උපකරණ දෙකෙහි අතුරුමුහුනත හරහා සියලු දත්ත යන්නේ ASCII (එනම් සාමාන්‍ය පරිගනක අක්ෂර) ආකාරයෙන් (බයිනරි ස්වරූපයෙන් නොවේ), තත්පරයට සංඥා 4800ක වේගයෙනි (Baud rate).

එක් තනි පනිවුඩයක් තනි වාඛ්‍යයක් වශයෙනුයි ගමන් කරන්නේ (එක ගොඩට අකුරු යවන්නේ නැත). එක් වාඛ්‍යයක උපරිමව අක්ෂර 82ක් තිබිය හැකිය.

සෑම වාඛ්‍යයක්ම/මැසේජ් එකක්ම පටන් ගන්නේ $ (සාමාන්‍ය පනිවුඩ සඳහා) හෝ ! (විශේෂ පනිවුඩ සඳහා) අක්ෂරයෙන් වන අතර, අවසන් වන්නේ <LF> යන කොන්ට්‍රෝල් අක්ෂරයෙනි (LF යනු Line Feed යන්න හඟවන පාලක අක්ෂරයකි. ඉන් කියන්නේ දැන් වාඛ්‍ය අවසන් කියන එකයි).

එක් වාඛ්‍යයක්/පනිවුඩයක් තුල දත්ත එකක් හෝ කිහිපයක් තිබිය හැකිය. මෙවිට එක් එක් දත්තය කොමාවක් මඟින් වෙන් කළ යුතුය (comma-delimitted).

මෙම සම්මුතියෙන් විවිධාකාරයේ සන්නිවේදන උපකරණ සපෝට් කරන නිසා, සෑම මැසේජ් එකකම ඇතුලත් කළ යුතු වෙනවා කුමන උපකරණයකින් දත්ත නිපදවනවාද/එවනවාද කියා. NMEA සම්මතය තුල මේ උපකරණ talker ලෙස හැඳින්වෙන අතර, එක් එක් ටෝකර් talker id/prefix එකකින් අනන්‍යව හැඳින්වේ. GPS රිසීවර්වල ටෝකර් අයිඩී එක GP වේ. GLONASS රිසීවර් GL වලින්ද, මීට පෙර අප කතා කර තිබෙන AIS උපකරණ AI වලින්ද ආදී වශයෙන් ඉංග්‍රිසි අක්ෂර 2කින් අනන්‍යව හැඳින්වේ. අපට මෙහිදී වැදගත් වන්නේ GP යන්නයි. සෑම මැසේජ් එකකම $ (හෝ !) ට පසුව තිබෙන්නේ මෙම ටෝකර් අයිඩී එකයි.

යම් ටෝකර් එකක් විසින් නිකුත් කරන පනිවුඩ වර්ග ලැයිස්තුවක් තිබේ. එම ලැයිස්තුවෙන් පිට දත්ත ඊට යැවිය නොහැකිය. මෙම එක් එක් පනිවුඩ වර්ගය ඉංග්‍රිසි අක්ෂර 3කින් අනන්‍යව හැඳින්වේ. සෑම පනිවුඩයකම/වාඛ්‍යයකම ටෝකර් අයිඩී එකට පසුව තිබෙන්නේ එම වාඛ්‍යයේ පනිවුඩ වර්ගය හඟවන මෙම කේතයයි. AAM, ALM, GGA, GLL, GSV ආදි ලෙස දිගු ලැයිස්තුවක් ඇත.

වාඛ්‍යයේ අවසානය සටහන් කරන <LF> ට පෙර අවශ්‍ය නම් (වෛකල්පික – optional) * ලකුණට පසුව ඉලක්කම් 2checksum/checkdigit එකක්ද තිබිය හැකිය.

පහත දැක්වෙන්නේ ඉහත කොන්දේසි සපුරමින් යවන NMEA මැසේජ් කිහිපයකි. එහි පළමු වාඛ්‍ය පමණක් තරමක් විග්‍රහ කරමු. $ යන සංඛේතයෙන් එය පටන් ගෙන ඇත. GP ඉන්පසුව ඇති නිසා මෙම මැසේජ් එක gps රිසීවරයකින් එවන බව දන්වයි. ඉන්පසුව GGA යන මැසේජ් වර්ගය එවන බව දන්වයි (මෙය තමයි පළමු දත්තය). ඉන්පසු එම මැසේජ් වර්ගයට අදාල අනෙක් දත්ත කොමාවලින් වෙන් කර දක්වා ඇත. GGA මැසේජ් වර්ගයේදී පළමුවෙන්ම එවන්නේ utc වෙලාවයි (092750.000); ඉන්පසුව එවන්නේ අක්ෂාංශක අගයයි (5321.6802); ඉන්පසුව එය උතුරුද දකුණුද යන වග කියයි (N); ඉන්පසුව දේශාංශකය කියයි; ඉන්පසු එය නැගෙනහිරද බටහිරද යන වග කියයි; මේ ආදි ලෙස තවත් තොරතුරු ගණනාවක් ඇත. අවසාන කොටසේ එකළඟ කොමා 2ක් (,,) ඇත. ඊට හේතුව එම දත්තයට අගයක් ලබා දී නැති බවයි. අගයක් නැතත් එතැන කොමාවකින් වෙන් කළ යුතුය. අවසානයේ * හා 76 ඇති අතර එය එම වාඛ්‍යයේ චෙක් ඩිජිට් එකයි. ඉන්පසුව අවසානයටම <LF> ඇත (නමුත් එය දර්ශනය වෙන්නේ නැත).

$GPGGA,092750.000,5321.6802,N,00630.3372,W,1,8,1.03,61.7,M,55.2,M,,*76
$GPGSV,3,2,11,02,39,223,16,13,28,070,17,26,23,252,,04,14,186,15*77
$GPGSA,A,3,10,07,05,02,29,04,08,13,,,,,1.72,1.03,1.38*0A

No comments:

Post a Comment