|
Gary
Roberts
|
|
Principal
Software Engineer
|
![]() |
||
|
|
|
Resume
|
||
|
Summary
|
| Extensive experience in real-time, scientific and simulations systems. Areas of experience include: mathematical analysis and algorithm development, active and passive digital signal processing systems, Space-Based Infrared Systems, data acquisition systems, real-time multi-tasking multi-priority executives and operating systems, motor control systems, missile flight simulations, scientific programming (matrices, differential equations, integration, numerical methods, etc.), and a miscellany of device drivers. |
|
Computers
|
| Over 30 computers, most recently including Motorola ColdFire 5204, Motorola MVME162FX; SGI/UNIX systems; CSPI Supercards; Sun Workstations; IBM Advanced Signal Processor (ASP); Floating Point Systems MP-32; Univac UYK-20,-44; IBM PC clones; and many other Digital Equipment computers. |
|
Programming
Languages
|
| Assembler, Fortran, "C/C++", Ada, MatLab, MathCad, Visual C++, CMS-2, miscellaneous other high level languages, Microsoft Windows, and microcode (including DSP pipeline processor microcode). |
|
Experience
|
|
Aether
Wire & Location, Inc. 10/99 - 7/02
|
| Aether Wire & Location is a very small, high-tech company that is developing a product using Ultra Wide Band technology. The Localizer itself was developed by the owners of the company. Although the original purpose of the product was to locate objects, it soon became apparent that there were a number of applications for the product, including such diverse applications as: race car position tracking; location of lost children and pets; dam movement; movement of inventory control robots; studies of projectiles; information transfer; personnel search and rescue; and etc. I was the sole software engineer responsible for the entire system, including algorithm simulation and development, program design, code and full system testing. Prior to my arrival on the project, my predecessor had not been able to make the products communicate. Under my tenure, I was able to bring the Localizers into full operation, linking multiple nodes together in a network. The software executes on a ColdFire 5204 processor, under control of the uC/OS real-time operating system. Each Localizer (also referred to as a node), exchanges a bit with another node using a specific UWB episodic protocol. Under this protocol, the nodes exchange a bit over a very short period of time (measured in microseconds), then delay for a larger period of time. The primary purpose of the logic is to calculate the range between nodes. Given enough node-pair ranges, and using multilateration techniques, the position of each node can be determined to an accuracy measured in centimeters. The software provided includes: real-time, multi-priority tasks; re-entrant programming; a patented node search algorithm; node message exchange; range calculation using precise timing methods accurate to nanoseconds; message routing; operator message exchange and online debugging; timeline management; math functions; peak detection algorithms; bit representation (antipodal or pattern shift). |
|
Lawrence
Berkeley Labs 6/98-8/99
|
| Designed and developed the Equipment Protection System (EPS) for multiple beamlines using LabVIEW and MODbus PLC logic. The EPS monitors the beamline indicators and opens or shuts valves as necessary to ensure the safety of the equipment and personnel. The LabVIEW control panel enables the operator to operate valves and monitor the status of the beamline. Designed and implemented an x-y axis motor control system that moves a computer wafer across the beam while collecting readings via an ADC of the beam reflectivity. A number of numerical methods are employed to maximum the gain of the reflected beam. A beamline consists of an array of sophisticated equipment which project out from the Lawrence Berkeley Laboratory synchrotron. The Personal Safety Shutter isolates the beamline from the synchrotron. Once open, the beam enters the beamline, where it is filtered via a monochromator to a narrow bandwidth, low-energy ("soft") x-ray. The beam is focused and filtered as it passes through multiple chambers and valves in a near-perfect vacuum to its destination experiment chamber. The LabVIEW and PLC logic provide for the venting (from a nitrogen chamber) and the pumping of the chambers. In order to throroughly test the LABVIEW and PLC logic before installing in on the beamline, a simulator was designed and developed using CAMAC cards connected to the PLC input and output shoes. Virtually all beamline functions are simulated by this package. The beamlines of interest are being developed to detect flaws in wafers. These flaws are measured in nanometers, and are too small to be seen using conventional light. The wavelength of the "soft" x-rays is short enough to enable the wafer to be scanned and the flaws detected. |
|
ARGOSystems
(Now Boeing North America) 1996-1998
|
| Implementation of a Forward Error Correction system for the Miniscore Project. Miniscore is an ARGOSystems product that provides for the following types of error correction for communication systems: Reed-Solomon, Lee, BCH, and CSOC. Miniscore is implemented on a Motorola MVME-162LX imbedded processor with Flash Memory and Battery-Backed Memory as well as standard RAM. The system also employs four AMD MACH445 Complex Programmable Logic Devices and seven XILINX devices. Miniscore communicates with a Sun Host computer under UNIX for user control of the system. The Miniscore software is predominantly written in C and executes on the MVME-162LX board under control of Wind River Systems' VxWorks real-time operating system. |
|
Hughes
Aircraft Company 1979-1996
|
|
Analyzed and reviewed data tapes, and presented the data in a number of ways graphically, all with the intent of developing methods that could be employed (algorithms or equations) to extract maximum information from the data. Click here for a summary of some of the algorithms developed. Multiple assignments on the SURTASS and ALFS project, mostly devoted to signal processing analysis, design and programming, as implemented on the CSPI Supercards tied to a Sun WorkStation, the IBM Advanced Signal Processor (AN/UYS-1), and THE FPS MP-32 connected to a DEC MicroVax. Considerable time devoted to the analysis of technical problems and requirements, and to the mathematical and algorithmic solution thereof. Efforts include: modeling and development of algorithms to extract information from sea data; Specification, design and development of undersea acoustics systems (passive and active): digital filtering, spectral processing, signal generation, passive and active signal returns, including ocean topography simulation, towed array shape simulation, sensor-level and aperture-level data generation; Beamforming and inverse beamforming, operating systems and file management, Half Band processing, High Resolution real-time and recall processing (at rates much faster than real-time), Data Compression, Data Expansion, Intercomputer Handler (with message routing supporting multiple channels), disk handler, and other areas. Proficient in both ASP SPL assembler language and the microcode for the ASP Arithmetic Processor (AP). One of only two people on the entire SURTASS project that is familiar with, and can design and program, the ASP. Solely created and wrote design specifications such as: the ALFS Sonar Signal Generator Signal Processor (equations and algorithms); and the Block Upgrade EMSP file manager, which was implemented on the EMSP by AT&T under direction of the Navy. Created the first real-time executive for the CSPI Supercards ("SCEXEC"), which ran in both the Sun and the Supercards in unison to control multiple task processes in a real-time environment; used in many SURTASS projects (Cory 92, TX, the TX Stimulator, etc.). Technically responsible for the SURTASS signal processor 1983-1988. Directed the efforts of others as necessary to complete all releases on schedule. Development of software simulations and algorithm enhancement for the Space-Based Infrared System (SBIRS), as implemented on multiple SGI systems. The portion for which I was responsible was the Digital Pre-Processor (DPP), which receives the Focal Plane scanning input and performed the following functions: gain and offset corrections to allow for row-to-row sensor differences; time-delayed integration (to align input channels within a high/low sensitivity detector); sense merging; gamma spike detection and rejection; filtering; peak detection; thresholding; and peak-packet message handling to send the detections over the communications link to the ground station. The purpose of this system is to monitor and detect missiles and other sources of infrared radiation. |
|
Education
|
||
|