אותות GPS

לווייני "מערכת האיכון העולמית" (או GPS) משדרים אותות בתדרי מיקרו-גל המאפשרים למקלטים על או ליד מעטפת כדור הארץ לקבוע את מיקומם ולסנכרן את שעונם. 
לווייני מערכת GPS מקיפים את כדור הארץ פעמיים בדיוק בכל יום ומשדרים אותות GPS אל עבר כדור הארץ. מקלטי GPS מנצלים את המידע הנשלח כדי לבצע חישוב משוקלל לאיתור המיקום בו הם נמצאים.
אותות GPS מכילים אותות טווח המשמשים לקבוע את המרחק ללוויין המשדר, ומידע נווטי. ההודעה המכילה את מידע הנווט כוללת נתוני אפמריס המשמש לחישוב מיקום כל לוויין במסלולו, ומידע ומצב מערכת הלוויינים כולה, הנקרא "אלמנך" (Almanac).
מערכת ה-GPS עצמה מתופעלת על ידי משרד ההגנה האמריקאי לשימוש אזרחי וצבאי.

קוד Coarse/Acquisition

קוד C/A הוא רצף דטרמיניסטי של 1,023 ביט הנקרא "רעש פסאודו-אקראי" (PRN או PN), אשר אם ישודר בקצב של 1.023 מגה-ביט לשנייה (Mbit/s), יהיה השידור מחזורי עם זמן מחזור של  מילישנייה.
תשדורת PRN מתאימה או תואמת בקירוב רק כאשר היא מסונכרנת במדויק. כל לוויין משדר קוד PRN ייחודי, אשר אינו מתאים לשידורי ה-PRN של שאר הלוויינים. משמעות הדבר כי שידורי ה-PRN של לוויינים אורתוגונליים אחד לשני. למעשה זו היא צורה של הריבוב CDMA, אשר מאפשרת למקלט לזהות מספר רב של לוויינים על אותו תדר שידור.

קוד P

גם קוד P הוא PRN, אולם ה P Code של כל לוויין הוא באורך של 10¹²‏x‏6.1871 ביט (מעל 720 גיגה-בייט) ולכן חוזר על עצמו פעם בשבוע (עקב שידור בקצב של 10.23 Mbit/s). האורך הרב של הקוד ומורכבותו מגבירים את מרווח הקורלציה שלו ומונעים אפשרות של כפילות טווח בתחומי מערכת השמש. למרות זאת, הוא כה ארוך ומורכב עד כי בתחילה הוערך כי מקלט לא יוכל להינעל על אות כזה באופן ישיר, אלא יאלץ להינעל תחילה על קוד C/A פשוט ולאחר מכן, כאשר המקלט מצויד בזמן מדויק ממיקום משוער, יסתנכרן עם ה P Code.
PRN של קוד C/A הוא ייחודי עבור כל לוויין אך ה PRN של P-Code הוא בפועל מקטע מסוים מתוך רצף של P-Code כללי באורך של 10¹⁴‏x‏2.35 ביט (מעל 25.5 טרה-בייט) וכל לוויין משדר במחזוריות את המקטע שהוקצה לו מתוך הרצף השלם.
כדי למנוע שימוש על ידי מי שאינו מורשה ולהימנע ככל האפשר מהפרעות בסיגנל של תקיפות סייבר, הוחלט להצפין את שידורי P-Code. השידור אופיין על ידי רצף הצפנה "W-Code" כדי לייצר את האות המוצפן המשודר - "Y-Code". קוד זה נקרא בדרך כלל "P(y)-Code".
תכונות ה W-Code נשמרות בסוד, אך ישנה הערכה כי הוא מורכב על ה P-Code בתדירות של כ-500kHz, קצב איטי יותר (פי 20 בערך) מאשר ה P-Code עצמו. נתון זה אפשר לחברות אזרחיות לעקוב אחר  סיגנל P(Y)-Code ללא ידיעת ה W-Code.

אלמנך

נתוני האלמנך, המסופקים בתת-המסגרות 4 ו-5 של כל מסגרת, מורכבים ממסלול משוערך סביב כדור הארץ וסטטוס לכל לוויין במערכת הלוויינים (השייכים ל-GPS), מודל יונוספירה ומידע המסייע לקשר זמן GPS לזמן אוניברסלי מתואם (UTC). כל מסגרת מכילה חלק מהאלמנך (בתתי המסגרות 4 ו-5) וכך האלמנך כולו עובר ברצף שידור של 25 מסגרות, על ידי כל לוויין. שידור כזה לוקח 12.5 דקות. 
האלמנך משרת כמה מטרות; הראשונה היא לסייע ברכישת לוויינים בעת תחילת עבודה של מקלט על ידי כך שהוא מאפשר למקלט לייצר רשימה של לוויינים שהוא צפוי לזהות באותו רגע, על בסיס מידע השמור אצלו, וחתימת זמן נכחי. לעומתו האפמריס מכל לוויין משמש לחישוב המיקום של המקלט. 
במערכות ישנות, אבדן מידע האלמנך היה גורם להשהיה ממושכת טרם היכולת לקבוע מיקום המקלט, מכיוון שחיפוש הלוויינים ארך זמן רב. חומרה מודרנית יותר מפחיתה משמעותית את זמן החיפוש כך שגם אם אין נתוני אלמנך, הדבר אינו מהווה הפרעה משמעותית.
המטרה השנייה היא לקבוע זמן מתוך נתוני ה GPS ולהתאימו לסטנדרט UTC. זמן זה נקרא "זמן GPS". המטרה האחרונה היא לאפשר למקלט העובד על תדירות מוגדרת אחת, לבצע תיקונים להשהיות הנובעות ממבנה היונוספירה של כדור הארץ. תיקונים אלו אינם מדויקים כמו התיקונים המתקבלים ממערכות אוגמנטציה כמו WAAS, GAGAN ו EGNOS, אך הם טובים יותר מאשר להשאיר את המידע ללא תיקונים לשגיאות יונוספירה כלל, שכן שגיאות אלו הן מקור השגיאה הגדול ביותר עבור מערכות תדר בודד.

אפנון אותות GPS

כדי שיוכלו האותות, קודי C/A ו P(y) וכן מסר הנווט לעבור מהלוויין למקלט, הם צריכים לעבור אפנון שיעביר את מידע שלהם על גבי גל נושא. באופן הפעולה שתוכנן במקור היו שתי תדירויות, אחת ב-1575.42MHz (או 10.23MHz × 154) שתקרא L1 ושנייה ב-1227.60MHz (או 10.23MHz × 120) שתקרא L2.
קוד ה-C/A נשלח בתדירות L1 כאות בעל 1.023MHz תוך שימוש בשיטת האפנון "מפתוח בינארי של הזחת פאזה" (או BPSK). מאידך קוד ה-P(y) משודר הן ב-L1 והן ב-L2 כסיגנל 10.23MHz עם אותו אפנון, אך משודר בניצב לשידור קוד ה-C/A (היינו ב-90° הפרש פאזה)
מלבד יתירות ועמידות מוגברת להפרעות או חסימות, שידור בשתי תדירויות מלוויין אחד מוסיף יתרון משמעותי והוא האפשרות למדוד וכתוצאה מכך לקזז את השגיאה הנובעת מהעיכוב היונוספרי עבור אותו לוויין. ללא מדידה כזו, מקלט GPS יהיה חייב להכיל או לקבל מודל מוכלל של תיקוני יונוספירה ממקור חיצוני, כגון מערכת הגברה דוגמת WAAS. עם התפתחות הטכנולוגיה ושיפורים משמעותיים ביכולות המקלטים, שגיאת היונוספירה נשארה השגיאה הגדולה ביותר בסיגנל. מקלט שיוכל לבצע מדידה כזו יוכל להיות מדויק יותר באופן משמעותי. מקלט כזה נקרא "מקלט דו-תדרי" (Dual Frequency Receiver).

אפנון ופענוח

מכיוון שכל אותות הלוויינים ממודלים בתוך אותו תדר L1, ישנו צורך להפריד בין האותות לאחר פענוח האפנון במקלט. לצורך כך הוענק לכל לוויין רצף בינארי הנקרא "קוד זהב". האותות מפוענחים תוך הוספת מודולו 2 של קוד הזהב המתאים ללוויינים n1 עד nk, כאשר k הוא מספר הערוצים במקלט ה GPS ו-n1 עד nk הם מזהי ה-PRN של הלוויינים. כל מספר PRN ייחודי ובטווח שבין 1 ל-32.
התוצר של חישוב מודולו 2 דלעיל, הוא ה-50bit/s של מסר הנווט מהלוויינים n1 עד nk. קוד הזהב שהזכרנו הם רצף של 1,023 ביט לתחום של שנייה אחת. קודי הזהב הם אורתוגונליים במידה רבה, כך שלא סביר שלוויין אחד יפורש כמשנהו בטעות. בנוסף לכך קודי הזהב בעלי מאפיינים לתיקון שגיאות אוטומטי.
ישנם 1,025 קודי זהב שונים באורך 1,023 ביט, אך רק 32 נמצאים בשימוש. קודים אלו נקראים לעיתים רעש פסאודו-אקראי מכיוון שאינם מכילים מידע כלשהו ונראים כרצף אקראי, אולם שם זה מטעה מפני שהם בפועל רצף דטרמיניסטי.
אם מידע מוקדם של אלמנך קיים, המקלט בוחר אילו לוויינים לחפש על פי ה-PRN. אם נתוני אלמנך אינם זמינים, המקלט נכנס למצב של חיפוש תוך לולאה על מספרי ה-PRN על להשגת נעילה על אחד הלוויינים. כדי להשיג נעילה דרוש קו ראייה ישיר (Line of sight) ולא מופרע בין הלוויין למקלט. לאחר מכן יכול המקלט להשיג את נתוני האלמנך כדי לקבוע את הלוויינים עליהם עליו להאזין. כל לוויין הנקלט מזוהה על ידיו בעזרת הדפוס הייחודי של קוד ה-C/A.
המקלט משתמש בקוד הזהב של ה-C/A, יחד עם ה-PRN של הלוויין כדי לחשב נתון הזחה (offset) ‏"O" אשר מחושב בשיטת ניסוי וטעייה. 1,023 הביטים של ה-PRN של סיגנל הלוויין מושווים עם ה PRN של סיגנל המקלט. אם התאמה אינה מושגת, 1,023 הביטים של סיגנל המקלט מוזחים בביט אחד ביחס ל PRN של הלוויין ונערכת השוואה מחודשת. תהליך זה חוזר על עצמו עד שכל האפשרויות (1,023) נוסו ואם כולן נכשלו, מתנד התדירות מוסח לערך הבא ומתחיל התהליך מחדש.
מכיוון שתדר הגל הנושא עלול להשתנות כתוצאה מהזחת דופלר (Doppler Shift), הנקודות בהן PRN נקלט מתחיל עלולים להיות שונים מ-O בכפולה לא שלמה של מספר המילישניות. לכן, עקיבת גל נושא מתבצעת יחד עם עקיבת רצפי PRN כדי לקבוע מתי מתחיל רצף ה-PRN המתקבל. בשונה מהחישוב הקודם, בו נוסו כל 1,023 אפשרויות ההזחה. העקיבה לתחזוק נעילה דורשת בדרך כללי עד כחצי מרוחב הפולס. כדי לבצע את העקיבה, על המקלט לצפות בשני נתונים כמותיים, שגיאת המופע (phase error) וההזחה בתדירות הנקלטת (received frequency offset). ההתאמה בין קוד ה-PRN הנקלט לבין ה-PRN המחושב מוערכת כדי לקבוע האם הביטים של שני האותות לא מיושרים זה על זה. השוואות בין ה-PRN הנקלט למחושב, מוזחות חצי רוחב פולס קדימה וחצי רוחב פולס אחורה כדי להעריך את ההתאמה הנדרשת. כמות התיקון הנדרשת להתאמה מקסימלית משמשת להערכת שגיאת המופע.
הפקודה למייצר התדירות ושינויים נדרשים נוספים בהזחת קוד ה-PRN מחושבים כפונקציה של שגיאת המופע וההזחה בתדירות הנקלטת בתיאום עם חוק השליטה שבשימוש.
מהירות הדופלר מחושבת כפונקציה של הזחת התדירות מהתדר הנומינלי של הגל הנושא. מהירות הדופלר היא רכיב המהירות יחד עם קו הראיה של המקלט ביחס ללוויין.
במהלך קריאת נתונים עוקבים של רצף ה-PRN, תגיע קפיצה פתאומית במופע של 1,023 הביטים הנקלטים של קוד ה-PRN. קפיצה זו מסמנת את תחילת ביט המידע של מסר הנווט. הדבר מסייע למקלט להתחיל לקרוא את רצף הביטים של 20 המילי-שניות של מסר הנווט. מילת ה-TLM בתחילת כל תת-מסגרת של מסגרת הנווט מאפשרת למקלט להבחין בכך שזו תחילת תת-מסגרת וכן לקבוע את זמן המקלט בו התחילה תת-המסגרת. מילת ה-HOW יכולה אז לאפשר למקלט לקבוע איזו תת-מסגרת משודרת. עיכוב של עד כ-30 שניות עד להערכת מיקום ראשונה עלול לקרות אם המקלט צריך לקרוא את נתוני האפמריס לפני חישוב חיתוך המשטחים האליפטיים.
אחרי שתת-מסגרת נקראה ופוענחה, הזמן בו נשלחה תת-המסגרת הבאה יכול להיות מחושב תוך שימוש בנתוני תיקון השעון ובמילת ה-HOW. המקלט יודע את זמן המקלט בו נקלטה תת-המסגרת הבאה מתוך מילת הטלמטריה, וכך לאפשר חישוב זמן השידור וכתוצאה מכך את הפסאודו-טווח. המקלט יכול תאורטית לחשב פסאודו-טווח בכל תחילת תת-מסגרת, או כל 6 שניות. 
לאור זאת נתוני המיקום על המסלול, או אפמריס, מתוך מסר הנווט משמש לקביעת מיקום מדויק של הלוויין בעת תחילת השידור של המסר. כאמור, מקלט רגיש יותר יוכל להשיג את מידע האפמריס מהר יותר ממקלט פחות רגיש, במיוחד בסביבה המכילה רעשים.

אותות GPS מודרניים

מערכת הלוויינים GPS הגיעה לתפקוד מלא ביולי 1995 תוך השגת מכלול יעדי התכנון המקוריים שלה. אולם, לאור התקדמות טכנולוגית ודרישות חדשות שנוספו על הקיימות, הוחלט על מאמץ לשדרג את מערכת GPS. ב-1998 הודיעה סגן הנשיא על כוונה זו ופתוח השינויים והתוספות החל בשנת 2000. מאמץ זה כונה על ידי הקונגרס GPS III.
הפרויקט כלל תחנות קרקעיות חדשות ולוויינים נוספים הן לשימושים אזרחיים והן לשימושים צבאיים במטרה לשפר את הדיוק והזמינות עבור כלל המשתמשים.

כללי

מערכת ה GPS המשופרת כללה שני שיפורים משמעותיים עבור האותות האזרחיים: אות מסייע נוסף חסר נתונים וקידוד  FEC (ראשי תיבות של forward error correction) של מסר הנווט.
האות הנוסף, המכונה לפעמים "pilot carrier", מסייע ברכישת הלוויין, ומשודר לצד הגל הנושא המקורי. אות זה מתוכנן באופן שיקל על נעילה עליו ביחס לאות הרגיל. כאשר מתבצעת נעילה עליו קלה יותר הנעילה על הגל הנושא וכך זמן התגובה של המקלט מהיר יותר ומקפיץ את העוצמה של הקורלטור.
השיפור השני היה להשתמש בקידוד FEC עבור מסר הנווט, אשר לאור קצב השידור האיטי של מידע הנווט (50 ביט לשנייה), הפרעות קטנות עלולות להיות בעלות השפעה גדולה. לכן קידוד FEC מכניס שיפור משמעותי על התפקוד הכללי.

L2C

אחת מההודעות הראשונות הייתה על הוספה של תדר נוסף לשימוש אזרחי, מלבד L1 ששימש לסיגנל C/A. הוא קיבל את השם L2C ונקרא כך בשל העובדה שהוא משודר בתדירות של L2.
בשל הצורך בחומרה חדשה על הלוויינים הוא משודר רק מלווייני "Block IIR-M" (הלוויין הראשון בסדרה זו שוגר למסלול בספטמבר 2005 והאחרון באוגוסט 2009) או מאוחרים יותר. סיגנל L2C משפר את דיוק הנווט, מספק דרך קלה לעקוב אחר האות, ומשמש אות יתיר בהפרעות מקומיות.
בשונה מ-C/A, שידור L2C מכיל שני קודי PRN, האחד נקרא CM (או Civilian Moderate) והשני CL (או Civilian Long).
קוד CM הוא באורך 10,230 ביט, וחוזר על עצמו כל 20 מילי-שנייה. קוד ה-CL באורך 767,250 ביט וחוזר על עצמו כל 1.5 שניות. כל אות משודר בקצב של 511,500 ביט לשנייה, אך הם עוברים ריבוב היוצר בסופו של דבר אות של 1,023,000 ביט לשנייה.
CM מאופנן עם מסר הנווט CNAV ואילו CL אינו מכיל נתונים מאופננים ולכן נקרא "רצף נטול נתונים". הרצף הארוך וחסר הנתונים משודר בקורלציה גבוהה ב-24dB (כלומר חזק פי 250 לערך) מאשר C/A של L1.
בהשוואה ל C/A, ‏ל-L2C יש איחזור מידע גבוה ב-2.7dB ועקיבות נשא גבוהה ב-0.7dB למרות שעוצמת השידור שלו נמוכה ב-2.3dB.

M-Code

פרק זה לוקה בחסר. אנא תרמו לוויקיפדיה והשלימו אותו.  
רכיב מרכזי בשיפור מערכת ה GPS היה סיגנל צבאי חדש שקיבל את הכינוי M-Code (קיצור של Military Code). הוא תוכנן להעצים את יכולות המיגון בפני חסימות כדי לאפשר עבודת מקלטים בסביבה מורעשת, אם באופן טבעי ואם על ידי לוחמה אלקטרונית.
ה-PRN שלו באורך לא מפורסם, והוא משודר ב-5.115MHz. בשונה מ-(P(y, ה M-Code מתוכנן להיות אוטונומי כלומר תהיה אפשרות לביצוע כלל החישובים על סמך הסיגנל לבדו (ללא C/A).

L5

סיגנל אזרחי הקרוי ביטחון החיים (באנגלית: safety of life) בתדר המוגן על ידי איגוד הטלקומוניקציה הבינלאומי (ITU) לשימושי נווט רדיו אוויריים, שודר לראשונה לשם הדגמה על ידי הלוויין USA-203   (מסדרת IIR-M), והוא זמין בכל לווייני GPS IIF  (ומאוחרים יותר).
שני קודי PRN משודרים על L5: קוד מסונכרן מופע, נקרא I5-Code, וקוד במופע אורתוגונלי, נקרא Q5-Code. שניהם באורך 10,230 ומשודרים ב 10.23MHz (כלומר חוזרים על עצמם כל מילי-שנייה). בנוסף, שידור ה I5 מאופנן בקידוד ניומן הופמן, 10 ביט, בתדירות 1kHz, ושידור ה Q5 מאופנן בקידוד ניומן הופמן, 20 ביט, בתדירות 1kHz.

מסר נווט של L5

מסר CNAV של L5 כולל SV (וקטור מצב - State Vector) של נתוני האפמריס, זמן מערכת, נתוני התנהגות שעון, מסר סטטוס וכיוצא באלה. 50 הביטים לשנייה הנשלחים, מקודדים בקצב של מקודד פיתול 1/2 (1/2 convolution coder). 100 התווים לשנייה (SPS או symbols per second) שנוצרים מוספים (מודולו-2) לקוד I5 בלבד; הביטים של התוצאה משמשים לאפנון הגל הנושא מסונכרן המופע (I5). הסיגנל הנוצר נקרא סיגנל המידע של L5‏ (L5 Data signal). הגל הנושא של הקידוד האורתוגונלי אינו מכיל את המידע ומשמש כ אות מסייע לנעילה (ונקרא L5 Pilot Signal).

שידור L5

השידור בתדר L5, הוא 1176.45MHz (כלומר 10.23MHz × 115), השייך לתחום תדרי הנווט האווירונאוטי השמור על ידי ה-ITU. התדר נבחר כך שקהילת האוויוניקה תוכל לנהל הפרעות באופן יעיל יותר מאשר ב-L2.

CNAV-2

מסר הנווט של L1C, הנקרא CNAV-2, הוא באורך 1,800 ביט (כולל FEC) ומשודר ב-100bit/s. הוא מכיל 9 ביט של נתוני זמן, חבילות מידע של 600 ביט נתוני אפמריס ו-274 ביט של מידע נוסף.