Modul normal de adăugare a capabilităților GPS către un proiect este apucând un modul GPS off-the-raft, conectați-l într-o UART și citirea fluxului de propoziții NMEA care ies dintr-un port serial . În funcție de cât de mult cheltuiți pe un modul GPS, acest lucru este bine: cele mai bune module de acolo începe rapid, iar multe dintre ele recunosc reglementările logice și în ITAR.
Pentru [Mike], apucarea unui modul off-the-raft nu este în discuție. El își construiește propriul receptor GPS de la pământ folosind un pic de hardware și hacking FPGA. Deja primește rezultate bune, iar el nu are de la Futz cu acei dezordonați “, nu construiți legile rachetelor balistice.
Hardware-ul pentru această construcție include un Kiwi SDR “Cape” pentru Beaglebone și o bord FPGA din Nexus-2 Digilent. Placa SDR captează eșantioane brute de 1 biți realizate la 16.268 MHz și necesită capturarea datelor de la un minut complet pentru a fi capturate. Acestea sunt cel puțin 120 de megaocteți de date pentru FPGA să sorteze.
Software-ul pentru acest proiect dobândește mai întâi semnalul GPS prin găsirea frecvenței și fazei aproximative. Software-ul se blochează apoi pe transportator, figurează faza și primește mesajul de 50bps “NAV” care este necesar pentru a găsi o opțiune de poziție pentru locația antenei. Prima versiune a acestui software a fost remarcabil de lentă, preluând peste 6 ore pentru a procesa 200 de secunde de date. Acum, [Mike] a îmbunătățit codul de urmărire a canalului și a făcut-o de 300 de ori mai rapidă. Aceasta este procesarea în timp real a datelor GPS, utilizând hardware-ul de la marfă off-the-raft. Toate software-urile sunt disponibile pe Gits, făcând acest proiect care poate fi foarte ușor de replicat de oricine. Ne-am aștepta ca Departamentul de Stat din SUA sau DoD să plătească [Mike] o vizită în curând.
Desigur, aceasta nu este prima dată când cineva a construit un receptor GPS de la zero. Cu câțiva ani în urmă, cu o precizie mai mică de 1 metru a fost posibilă cu un FPGA și o placă Homebrew RF.