First Advisor

James McNames

Date of Publication

Winter 3-12-2015

Document Type


Degree Name

Master of Science (M.S.) in Electrical and Computer Engineering


Electrical and Computer Engineering




Global Positioning System, Drone aircraft -- Control systems -- Design and construction, Inertial navigation



Physical Description

1 online resource (viii, 53 pages)


Unmanned aerial vehicles (UAV's) have recently gained popularity in military, civil service, agriculture, commercial, and hobby use. This is due in part to their affordability, which comes from advances in component technology. That technology includes microelectromechanical systems (MEMS) for inertial sensing, microprocessor technology for sequential algorithm processing, field programmable gate arrays (FPGA's) for parallel data processing, camera technology, global navigation satellite systems (GNSS's) for navigation, and battery technology such as the high energy density of lithium polymer batteries.

Despite the success of the technology to date, there remains development before UAV's should be flying alongside manned aircraft or over populated areas. One concern is that UAV electronics are not as safe, reliable or robust as manned-aircraft electronics because UAV's are not certified by the FAA. Another concern for UAV operation is with control algorithms and sensors, particularly in the estimation of the aircraft state, which is the position, velocity, and orientation of the aircraft. Some problems, such as numerical stability of a control algorithm or flight in windy and turbulent conditions have only been solved for certain conditions of wind, weather, or maneuvers. Outside those conditions, the actual orientation of a flying craft can mislead to the control system, and the control system may not be able to recover without a crash. When pilots fly manned aircraft in instrument meteorological conditions, or conditions of limited visibility of the ground, terrain, and obstacles, the pilot must fly in a manner which avoids abrupt maneuvers which could disturb accuracy of the aircraft's instruments. In a UAV without a pilot, there is a need to estimate the position and orientation of a UAV in an absolute manner unambiguous relative to the Earth. The position and orientation estimate must not depend on carefully controlled flight paths, but instead the estimate must be robust in the presence of UAV flight dynamics.

This thesis describes the design, implementation, and evaluation of a hardware platform for GPS based orientation sensing research. In this work, we considered a receiver with three or four RF sections, each connected to an antenna in a triangular or tetrahedral pyramid constellation. Specific requirements for the receiver hardware and functionality were created. Circuitry was designed to meet the requirements using commercial off-the-shelf (COTS) radio frequency (RF) modules, a mid-sized microcontroller, an FPGA, and other supporting components. A printed circuit board (PCB) was designed, fabricated, assembled, and tested. A GPS baseband processor was designed and coded in Verilog hardware description language. The design was synthesized and loaded to the FPGA, and the microcontroller was programmed to track satellites.

With the hardware platform implemented, live satellite signals were found and tracked, and experiments were performed to explore the validity of GPS based orientation sensing using short antenna baselines. The platform successfully allows the user to develop correlator designs and explore carrier phase based orientation measurement using only software/Verilog modifications. Initial results of carrier phase based orientation sensing are promising, but the presence of multipath signal interference shows room for improvement to the baseband processing code.


In Copyright. URI: This Item is protected by copyright and/or related rights. You are free to use this Item in any way that is permitted by the copyright and related rights legislation that applies to your use. For other uses you need to obtain permission from the rights-holder(s).

Persistent Identifier