Todd Goldfinger
Silver Spring, MD
goldfita@gmail.com
Summary
Algorithm Developer specializing in statistical signal processing with an emphasis on video, audio, and RF. Works with network video CODECs and software demodulators; modifies and debugs open source and proprietary implementations. Researches and implements solutions from academic literature and simulates, tests, and develops into deployable systems. Familiarity with SOLID principles, UML, Design Patterns, unit and integration testing, electronic measurements theory, and full stack development.
Skills
- C/C++, Python/Ruby, Matlab/Julia, C#/Java, Shell Scripting, Javascript, Assembly, F#/Ocaml, Maple, Go, Pascal, Basic, SQL/NoSQL, Elisp, Make, Grep, Awk, Sed, JSON, XML, REST
- VS .Net, Eclipse, Intellij, VS Code, Emacs, Vi, Wireshark, Valgrind, GIMP, iptables
- SVN, Git, TFS, Beyond Compare, Tortoise, Source Tree, JIRA, Review Board, Confluence, Umlet
- Payara, Tomcat, Postfix, Maven, Nexus, Vagrant, Ansible, Docker, Nginx, Jenkins, Systemd
- Spring, Mongo, OSGi, JUnit, Mockito, Selenium, JQuery, Leaflet, Bootstrap, XState, Jest, WCF/WPF
- PowerPC Altivec, SSE/AVX, TMS320C67x, CUDA, OpenMP, SIMD, SIMT, Threads, Intel IPP, GCC
- Spectral Estimation, Mismatch Uncertainty, VSWR, Noise Figure, OPI3/IIP3, DANL, S-parameters
- VSA, SCPI, Spectrum Analyzer, Signal Generator, Vector Network Analyzer, Digitizer, Power Meter
- JPEG, JPEG2K, H.262, H.263, Implemented parts of baseline H.264, HDF5, Vita49, G.168, GUM
- FFT, DCT, CTA, RLS, APA, LMS, Decision Feedback Equalizer, Phase-Locked Loop/DLL, PSK, OFDM, MLE, Constant Modulus Algorithm, Expectation Maximization/BW, ADPCM, LPC, FIR/IIR filtering, Viterbi Equalization/RSSE, Inverse/Wiener Filtering, center frequency and baud estimation, polyphase, correlation, fast convolution, fixed point, resampling, TDOA beamforming, echo cancellation, double talk detection, signal activity detection, fractional sample delay, bispectrum, SVM classifier, PCA, deblocking, compression history, color spaces, Geodesy
Work History
Independent 8/2019 to Present
R&D Software Engineer, Keysight Technologies, Columbia, MD 8/2010 to 6/2019
- Maintained and enhanced C# application to test RF front end of digital receivers including BAE SkyCat and RadioMusic, MMS MSDD, iRF LiteRail, and G3 NDR. Saved the customer the hassle and expense of license dongles by replacing VSA with embedded Julia. Wrote Statement of Work for follow-on work to implement control of the Herrick Quickdrop.
- Developed a material loss measurement application using either a SA with SG or VNA.
- Wrote the software and SCPI commands to control instrumentation for a high bandwidth recording system. Bridged C# with native C interface for legacy code and developed unit tests. Developed a DSP correction routine as a .Net, Matlab DLL. Routine converted real signal to complex, inverse filtered with polyphase downsampling, shift to baseband with quadrature oscillator, and output contents into VSA-readable HDF5. This work replaced all previous engineering efforts, including a highly paid consultant, for which I was awarded stock grants and raises two years in a row.
- Blind RSSE and Baum-Welch implemented in Julia and accelerated on a GPU.
- Software channelization of the Minnow RF sensor and maintainer of the SPS in Signal Surveyor. This required coordination with the FPGA engineer and responsibility for ITAR materials.
- Implemented near real time demodulators which were tested against live data. Demodulation implemented with a joint, Altivec optimized, PLL and DFE for generic Phase Shift Keying, and Orthogonal Frequency Division Multiplexing/Multitone with differential PSK. The DFE with PLL was successfully reused with center tap drift correction and CMA on a staggered PSK signal. This work replaced the senior RF engineer’s prior effort and saved the customer a lot of time.
- Additional signal processing blocks implemented for demodulation: an Altivec optimized complex FIR filter to replace the existing faulty API function, Chirp Transform Algorithm for center frequency offset estimation, narrow band signal activity detector, as well as bit descrambler, bit deinterleaver, and rate one-half Viterbi decoder research code.
- Developed a process for testing optimized PowerPC code on the PearPC emulator with Valgrind. Matlab was used to simulate various signal impairments on synthetic data prior to porting code to the embedded environment.
Video Engineer, Signalscape, Cary, NC 6/2006 to 6/2010
- While embedded in the customer’s organization, responsibilities included running and participating in code reviews, maintaining existing modules, developing unit tests in C and Python, writing requirements and design documentation, diagnosing and fixing low level, multi-threaded cross platform, embedded networking bugs, and releasing products for testing. Wireshark used to aid network debugging. Product maintenance involved managing subversion repositories, communicating with project management, configuration management, the customer, and software engineers across multiple departments.
- Developed platform for statistical classification of audio data. Wrote a brief tutorial on probability concepts for the customer as part of a final report.
- Implemented autofocus algorithm on a real time system. Designed test procedures to characterize performance.
- Worked in a team environment on projects involving IP cameras, streaming network protocols, and video CODECs including MPEG4 Part2, H.263, H.264, JPEG, JPEG2000, and proprietary variants. Worked with and modified open source encoders and decoders such as OpenJpeg2000 and Intel IPP Samples. Developed test platforms and debugging tools in Visual Studio and MATLAB to verify video streams. CODEC work on a multi-million dollar contract led to an additional contract.
- Designed and performed field tests to quantify video optics quality in a repeatable manner.
- Researched and wrote a report on limitations of Signalscape’s video filters.
- Developed DirectShow filter using Intel Signal Processing Performance Primitives library for color adjustment in HSI space for PC platforms.
- Researched and implemented methods to deblock DCT coded images, detect DCT block boundaries, and quantization compression history to reconstruct images with reduced block artifacts. Delivered DirectShow/DirectX filter.
Programmer, Infraware, Terre Haute, IN 9/2004 to 1/2006
- Designed and implemented a framework for running XML menus in Asterisk PBX voicemail, Asterisk Gateway Interface Server in Python/Jython, and custom Asterisk modules.
- Developed Octave script to detect true bit rate and change in sample rate for altered audio files.
- Developed custom GUI in Snd with Guile to aid processing of audio files.
Software Developer, Music Rebellion, Terre Haute, IN 6/2001 to 5/2002
- Member of a team that designed and built, from scratch, e-commerce web system for sale of online music. Development was in Apache/Tomcat using Java, JSP, and Servlets.
- Set up and maintained email and FTP servers on Linux.
- Listed as inventor on patent number 7,080,030 B2.
Summer Student, JHUAPL, Laurel, MD 9/1998 to 8/2000
- Implemented SMO for training of SVMs in Java, which was demonstrated with a GUI.
- Performed numerical experiments with C, numerical recipes, and Gnuplot using Swiss-Prot/TrEMBL to aid in a bioinformatics research project.
- Built a meta-search engine in Java.
Education
- M.S. Electrical Engineering, Rose-Hulman Institute of Technology, Terre Haute, IN, 2006
- B.S. Computer Science (minor in Japanese), Rose-Hulman, Terre Haute, IN, 2003