Provide contract engineering services to companies seeking help with signal processing
and real-time embedded software.
Independent DSP contractor with extensive experience in designing
and implementing software for signal processing and embedded applications. Emphasis on object-oriented design and optimal
execution time and memory footprint.
Proficient with C, C++, MATLAB
Familiar with Assembly for TI and Analog Devices DSPs, Python, Simulink
Microsoft Visual Studio, Code Composer Studio, MATLAB, Visual DSP++, IAR, Keil, Eclipse, Qt
* Version Control: Subversion, Git, AccuRev,
Rational ClearCase, SourceSafe
TMX320Cxx (fixed and floating point), TMSF28xx, TMS470, MSP470, Blackfin, Sharc, ADSP-21xx
SYS/BIOS (formerly DSP/BIOS), µC/OS, GNU/Linux, Cygwin, Lynx
Proficient with RS-232, SPI, SCI-UART, CAN, I2C
Familiar with Bluetooth, Ethernet, USB
Technion, Israel Institute of Technology Haifa,
PARTIAL LIST OF CONTRACTS:
Azimuth Systems/Anritsu Acton, MA January-April 2020
* Benchmarked, fixed bugs and optimized
time-critical code of a multithreaded wireless channel emulator (C++, Linux/Ubuntu, Intel i9 multicore).
* The optimization focused on C++ code
improvements and re-allocation of the emulator threads to best utilize Intel's parallel cores and hyper-threads.
* Improved the existing benchmarking
with other team members to make the Linux kernel more deterministic.
Derry, NH April-September
and implemented (C++) the temperature control block of a medical chiller device comprising proportional and ON/OFF controls
and LP IIR filtering.
Implemented a GUI based on TI's GUI Composer to validate functionality and evaluate performance.
* Configured timer, GPIO, PGA, ADC and
DAC peripherals (TI Piccolo(r)).
Lahey Medical Center Burlington, MA
January 2018-April 2019
Adapted a hyperspectral image processing package (C++) to process still images acquired with a PC-based frame grabber (Bitflow,
a GUI for acquiring images and extracting hyperspectral information in real time. Used Qt(r) components and classes extensively.
Electro Standards Laboratories Cranston, RI Nov. 2016-Oct. 2018, Aug.
algorithms for controlling plane arrestment on naval aircraft carriers (MATLAB to C, MATLAB/ MEX(r)).
* Wrote MATLAB functions for plotting
and evaluating key arrestment parameters.
Set up a Linux-based system (RTD PC-104, Lynx Software Technologies) to validate and benchmark the control software using
Ported a reduced version of the control algorithm on a TMS320C67-based system.
Generated technical documents per DOD's guidelines: SDP, SRS, and SDD.
Braintree, MA March-June 2016
Validated requirements for a plasma extraction device by designing, coding, executing and documenting unit tests for: ADC,
TCP/IP, GPIOs, RTC, system clock, motor controller, vein pressure monitoring and estimation.
MTechnology Saxonville, MA Sept. 2014-Feb. 2016
* Performed fault tree analysis studies to
assess the reliability of 24/7 large data centers and hydraulic control systems used in offshore oil explorations. Used SAPHIRE,
a probabilistic risk assessment software tool from Idaho National Laboratory.
Generated reports and interfaced with customers.
Sunrise Technologies Raynham,
MA Dec. 2014-Oct. 2015
Re-designed, tested and documented software components of a radio-based lighting controller running on TI MSP430 and Analog
Devices ADE7753 Metering Chip. Re-factored components: task scheduler, metering, light control, and diagnostics.
Adaptive Wireless Solutions Hudson, MA March-July 2014
Worked an industrial central controller (CC) connected to remote sensors via BLE(r) and WirelessHART networks. CC ran on a
Silicon Labs MCU under Quantum Leaps(r), an event-driven, RTOS-like framework.
Implemented, unit tested and documented HART commands and responses supporting data exchange and UTC synchronization between
CC and the HART network.
Onset Computer Corporation Bourne, MA
Implemented, unit tested, and documented a Command Line Interface (CLI) module for supporting hardware and QA testing of a
Bluetooth-controlled data logger.
Data logger comprises a sensor (Microchip) interfacing via a RS-233 to the BLE radio (Nordic). The radio processor parses
CLI commands from a BLE requestor (e.g. a laptop), sends them to the sensor MCU, and transmits the sensor responses to the
Bose, Automotive Systems Division Stow, MA June 2011-June
for the DSP development of a 20-channel amplifier from design to validation. Tasks included: formulation of requirements and
software specifications, DSP block design and coding, and integration into a custom-tailored platform.
* Optimized existing Analog Devices Blackfin
DSP assembly routines and wrote scripts and programs in C, MATLAB and Python for automated unit testing and benchmarking.
Azimuth Systems (Anritsu) Acton, MA
Jan. 2010-April 2011
Re-factored the existing TMS3206414-based channel emulation software into DSP/BIOS threads.
* Re-designed the interface between the DSP and the
Draeger Medical Andover, MA
Jan. 2009-Jan. 2010
Developed DSP software for a TMS320C55-based electrocardiogram instrument comprising a delta-sigma ADC (TI ADS1258). Tasks:
1.Sample scaling, decimation, and offset removal; 2.Control of multi-channel data acquisition via EDMA and McBSP(r);
3. Data analysis and filtering using MATLAB; 4. Raw data uploading via an USB link
April 2006-March 2009
Developed DSP software for a TMS320F2808-based system controlling a fuel-cell power plant. Tasks: 1. Designed a multi-threaded,
multi-processor modular platform to monitor the system's currents and voltages and implement the DC to AC conversion.
2. Coded signal processing blocks for monitoring and acting upon amplitude and frequency deviations from the grid ranges per
IEEE 1547. 3. Configured and developed drivers for ADC, I2C, SCI-UART, CAN, PWM and a boot loader and flash programmer.
Valeo Raytheon Systems Hudson, NH
July 2005-April 2006
Developed software for an automotive blind spot detector on a TMS470 micro-controller and Blackfin DSP. Tasks: 1. Wrote drivers
for timers, interrupt-based DMA transfers, and SPI-UART and SPORT(r). 2. Re-factored some of the communication and signal
Teledyne-Benthos North Falmouth, MA
Developed multi-threaded DSP software for a TMS320C6711-based underwater acoustics system.
* Wrote the signal processing blocks to compute an object's bearings
in relation to a directional transponder. Tasks included passband to baseband frequency conversions, cross-correlations and
optimal table searches.
Sensata (TI Sensors and Controls Division) Attleboro,
Developed multi-threaded software for a rotational equipment monitor comprising an Altera Nios SOC and a TMS320C6713 DSP.
* Designed and implemented the interface between
the Nios and the TMSC6713 (HPI), the HPI boot loader and the EDMA-based data acquisition software.
Zydacron-Scotty Manchester, NH
Re-factored the existing video processing code for a teleconferencing system (TMS320C64-based board).
* Optimized picture-in-picture (PIP)
and RGB/422 format conversion modules and the legacy EDMA/QDMA.
Designed a PID controller for temperature testing (Intel 86189-based Watlow board) and implemented a tuning utility for selecting
Kp, Ki and Kd based on the DUT step response.
Virtual Ink (Newell Rubermaid)
Charlestown, MA 2001
Designed a lossless compression algorithm for storing the coordinates of a moving pen in DSP memory: compression coded in
ADSP-21xx Assembly and decompression coded in C++ (PIC).
Systems Maynard, MA 1999-2001
* Optimized and made reentrant the G.711
and GSM vocoder software provided by ITU/ETSI.
Developed a Voice Activity Detector (VAD) and modules for Discontinuous Transmission (DTX) and Substitution and Muting of
Lost Frames per the ETSI GSM FR standard.
Used C, Assembly for TM320C62 and ADSP-21xx.