אותות GPS
אותות GPS דור ראשון > אפנון אותות GPS > אפנון ופענוח

מכיוון שכל אותות הלוויינים ממודלים בתוך אותו תדר 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 שניות.
לאור זאת נתוני המיקום על המסלול, או אפמריס, מתוך מסר הנווט משמש לקביעת מיקום מדויק של הלוויין בעת תחילת השידור של המסר. כאמור, מקלט רגיש יותר יוכל להשיג את מידע האפמריס מהר יותר ממקלט פחות רגיש, במיוחד בסביבה המכילה רעשים.