Wireless Firmware Engineer (contractor) Resume
Newport Beach, CA
SUMMARY:
- Senior firmware engineer with experience in firmware and hardware, emphasizing analysis of engineering problems in the wireless, optical networking, avionics, semiconductor manufacturing and medical device industries. Experienced in the implementation of DSP embedded firmware/hardware solutions.
- Strong background in Signal Processing, DSP Algorithm Development, Software Design and Development, Process Modeling, Software Quality Assurance, Verification and Validation. Highly skilled communicator who is well versed in all aspects of systems and software design methodologies including requirement specification, project planning, detail design, coding and testing. An analytical problem solver with good attention - to-detail and with experience in working with offshore project teams.
TECHNICAL SKILLS:
SKILLS: Texas Instruments TMS320C64xx, TMS320C31, TMS320C25 DSP in C & Assembly Analog Devices ADSP - 21xx, ADSP-BF537 (Blackfin), ADSP-21065 (SHARC) DSP in C & Assembly CEVA XC32x DSP in C & Assembly NXP CoolFlux DSP in C & Assembly Analog Devices AD9361, AD9368, AD9373 and Maxim MAX2550 RFICs AceAxis Remote Radio Heads (RRHs) ARM Cortex-R7, ARM Cortex-A9, MIPS32, IBM PowerPC 405GP, Motorola PowerPC MPC74xx Motorola MC68HC908 Family of Microcontrollers in C (COSMIC compiler) and Assembly (P&E Micro.) Intel 8032/8051 Microcontroller in C (KEIL Vision compiler/development tool) Microchip Technology PIC16F87XA Microcontroller Familiar with Altera Quartus (Verilog/RTL/Simulation/Synthesis Tools), Schematic Capture, PCB Layout Tools Programming DIO, ADC and DAC boards by National Instruments Measurement Studio (C/C++ Development Tool), NiDAQ Library & LabVIEW by National Instruments C, C++, Microsoft Visual Studio C/C++, Eclipse IDE, GNU Toolchain, GreenHills MULTI, TI Code Composer Studio, Analog Devices VisualDSP++, KEIL Vision Formal in object-oriented analysis and design methodologies (UML, Booch, Rumbaugh)
Realtime Operating Systems: Embedded Linux (OpenWrt), VxWorks, Integrity, Nucelus OS, DSP/BIOS
Bus Architectures: PCIe, Ethernet (TCP-IP/UDP), AMBA, VME, SPI, I2C, RS-232/422/485, USB, GPIB H/W and F/W Development Tools: Oscilloscope, In-Circuit Emulator, Logic Analyzer, Spectrum/OpticalSpectrum Analyzer, PROM/FLASH Programmer, CPLD Programmer/Synthesis Tool
Wireless Test Equipment: Vector Signal Generator (MXG), Signal Analyzer (PXA/MXA), RF ChannelEmulator, Protocol Conformance Tester (PCT) from Rohde & Schwarz, Anritsu, Anite and Aeroflex
Scientific, Data Analysis and Automation Tools: MATLAB, Simulink, SPW, LabVIEW, Python, Tcl, Bash Shell
Development/Host Platforms: Linux, Windows XP/Vista/7/8, UNIX, DOS, Solaris, SunOS
CASE Tools: Agile/Rally, GIT, Gerrit, JIRA, SVN, Perforce, TFS, Visual SourceSafe, ClearCase, ClearQuest, DOORS, PVCS, Bazaar, Paradigm Plus (OOD tool), Doxygen (C++ document generation tool)
WORK EXPERIENCE:
Confidential, Newport Beach, CA
Wireless Firmware Engineer (Contractor)
Responsibilities:
- PHY FPGA Board Development: Currently working in both firmware and systems engineering capacity in development of frontend PHY FPGA board interfacing to multiple RRHs and backend PHY firmware running on Intel Xeon platform. A 10GB Ethernet interface is used between Xeon and FPGA board while Common Public Radio Interface (CPRI) is used to interface the FPGA board to RRHs. The Altera Arria 10 FPGA and RRHs from AceAxis are used in the project. Work involves defining hardware architecture of FPGA board with analysis of frontend 4G LTE PHY processing together with 10GBE Xeon host and CPRI radio interfaces which includes in-band control of RRHs. Position requires knowledge of both uplink and downlink PHY backend software running on Xeon platform, PHY frontend processing blocks on FPGA, high speed serial radio and host interfaces, evaluation of FPGA and existing IPs for RTL development work, etc. Work involves day-to-day interaction with Host Software (running on Linux), RTL/Verilog design and OVM Test-bench verification engineers and working with MATLAB, C, Python and Verilog.
- Unified Radio Driver Development: Designed and developed the firmware radio driver for the front-end baseband PHY software to interface to RFIC for the different 3G and 4G radio implementations. The work involved unifying the existing radio drivers of the different Frequency Division Duplex (FDD) and Time Division Duplex (TDD) teams running on Baseband IC (BBIC) to communicate with Analog Devices AD9361 RFIC. It involved understanding the requirements of both FDD (FDD-LTE and WCDMA) and TDD (TDD-LTE and TD-SCDMA) radio systems, the SPI and JESD207 radio interfaces and the existing radio drivers running on Linux/ARM Cortex-A9 or CEVA-XC323 DSP platforms of the different FDD and TDD radio teams. The driver was written in C and made portable to run bare-metal or under real-time OS on any GPU or DSP platform.
- Validation of Radio Interface IP - JESD207, JESD204B and DFE modules: Using the above unified radio driver framework, currently involved in validation of the next generation baseband radio interface IP which includes the JESD207, high-speed SerDes JESD204B and Digital Front End (DFE) radio interfaces. The AD9361, AD9368 and AD9373 RFIC FMC evaluation boards are used for this validation. Currently validating these IPs at the pre-silicon FPGA level using the Synopsys HAPS-70 prototyping platform. Task involves working with RTL simulation and systems engineering teams in validating these radio interfaces based on performance and various radio use-cases for FDD and TDD radio systems. Validation involves converting Verilog Test-benches to C programs, test vector generation using MATLAB/Simulink model, configuration of baseband IP and RFIC module, automation of loopback tests for bit-exactness, spectral measurements using PXA/MXA and offline data processing using MATLAB and other signal analysis tools.
Confidential, Fremont, CA
DSP Firmware Contractor
Responsibilities:
- CPE Receiver Echo Filter Auto-selection: Design and implement a receiver echo filter auto-selection algorithm whereby a front-end analog filter is either enabled or disabled for run-time operation based on measured aggregate SNR for each filter setting during phase. Change the existing VDSL2 CPE firmware state-machine to perform modem procedures for each filter setting which includes Automatic Gain Control (AGC) and Frequency Domain Equalization (FEQ) s and subsequent measurement of aggregate Signal-to-Noise Ratio (SNR) of the demodulated signal over all in-band tones (D1, D2 and D3) for downstream data. Since two sequences are required to be performed on the periodic DMT signal during Channel Discovery phase having fixed time duration, existing algorithms are modified and optimized to fit within the allocated time period.
- Single Transformer CPE Implementation: Work involves board bring-up and characterization of a single transformer CPE board. Single transformer is used for isolation of both receive and transmit paths of the CPE from transmission line. Perform transmitter and receiver PSD (Power Spectral Density) calibration for optimal CPE performance. Implementations of both projects are done on a MIPS32 platform running Nucleus OS RTOS with coding in C, MATLAB and Python.
- Validation Activities: Perform unit testing with Line Simulators for various lines condition including noise and bridge taps. Regression and validation tests included various automation tests including TR-114 conformance tests.
Confidential, Sunnyvale, CA
DSP Firmware Contractor
Responsibilities:
- Development Activities: Responsibilities include hardware bring-up involving analog front-end and baseband hardware, including RFIC testing and calibration. Work on Synchronizer module including Frequency and Time Tracking, fine-tuning of RFIC and AGC parameters, perform Transmit and Sensitivity Tests, etc. Modify and debug CEVA XC321 DSP firmware at various levels of the downlink and uplink PHY processing chain, including uplink Power Control, Timing Advance, PRACH and SRS generation. Work involves extensive development in C, MATLAB and Python.
- Validation Activities: Involvement in Layer 1, Full Stack and Conformance (GCF) testing in preparation for IOT, particularly in the areas of power control, timing advance, PRACH and SRS generation. Extensive experience using Agilent oscilloscopes, signal generator (MXG) and analyzer (MXA/PXA), Rohde and Schwarz LLAPI/MLAPI and Anite Layer 1, Full Stack and Conformance Test platforms.
Confidential, San Jose, CA
Senior DSP Engineer
Responsibilities:
- LTE Modem Receiver Implementation: Responsibilities included implementation of PHY Layer UE receiver algorithms such as Channel Estimation, MRC and Spatial Multiplexing MIMO Decoder, Soft Demodulation and SNR Computation in C and assembly on NXP Coolflux DSPs. Some familiarity with FEC Decoder and CQI blocks.
- WiMAX-D Modem Receiver Implementation: Responsibilities included implementation of PHY Layer CPE receiver algorithms such as Channel Estimation, Soft Demapper, Deinterleaver and SNR Computation. Implementation involved developing firmware on the same above SoC platform containing multiple NXP Coolflux DSPs and Hardware Accelerator Blocks (HABs) using C and assembly.
- LTE and WiMAX-D Modem Test Automation and Validation: Involvement in unit test of various receiver functional blocks (mentioned above) including validation test of the overall UE/CPE device such as Network Entry (NE) and Protocol Conformance Test (PCT). Familiarity and hands-on experience in automation of test procedures involving various wireless test equipment such as Vector Signal Generator (MXG), RF Channel Emulator, Signal Analyzer (MXA), Spectrum Analyzer, and Wideband Radio Protocol Tester (from Rohde & Schwarz and Aeroflex).
Confidential, Santa Clara, CA
Principal DSP Firmware Engineer
Responsibilities:
- SISO Implementation: Responsibilities involved implementation of PHY Layer base-station receiver algorithms such as Descrambler, Depermutation, Derotation, Channel Estimation/Equalization, and Measurement Data Computation on prototype board containing DSPs, FPGAs and PowerPC (MAC) processor. Implementation was done for both PUSC and Band-AMC subcarrier permutations on TMS320C6416 DSP interfacing to various devices on the board including FPGAs and PowerPC processor. Work involved extensive development in C and assembly.
- MIMO Implementation: Responsibilities involved implementation of MIMO algorithms including MRC Combiner and CSM MIMO with MMSE and ML-based detectors. Algorithms included various types of Demodulation, Channel Estimation and Antenna Combiner blocks. Here also work involved developing firmware on TMS320C6416 DSP on similar prototype board platform.
- Beamforming/Adaptive Antenna System (AAS) Implementation: Responsibilities involved integrating AAS algorithms developed by ArrayComm, Inc. into Posdata’s proprietary base-station technology. Work involved integration of ArrayComm’s AAS DSP library into Posdata’s DSP firmware platform including modification of the existing firmware architecture to support beamforming features. Work here was also done on similar prototype board containing TMS320C6416 DSP interfacing to FPGAs and PowerPC (MAC) processor.
- ASIC Implementation: Worked with the ASIC team in implementation of some of the above algorithms (originally performed by DSP) on the ASIC platform. Some familiarity/experience with RTL (Verilog) coding and simulation.
Confidential, San Jose, CA
Principal Software Engineer
Responsibilities:
- JSF (HMDS) Project: Responsibilities involved lead role in both systems and software requirements definition and software development of a Helmet Mounted Display System. Work involved developing software for Motorola PowerPC MPC74xx running GreenHills Integrity RTOS (DO-178B Certified) communicating with other PowerPC boards over Ethernet (UDP/IP) and a helmet mounted microcontroller (Microchip Tech. PIC16F87XA) over serial RS-485 interface. Work involved defining communication protocols, messaging interfaces, and designing and writing low-level API and driver software interfacing with Integrity BSP and IP Stack.
- HTVS Project: Implemented DSP control, filtering and communication algorithms on Analog Devices ADSP2189 and mathematical helmet tracking algorithms and GUI software on PC104 and Pentium-based PC processor platforms.
Confidential, Fremont, CA
Sr. Firmware Engineer/Software Engineering Manager
Responsibilities:
- OXC/ADM Development: Technically lead and manage a small team of software and hardware engineers in developing a programmable optical switch. Developed embedded IBM PowerPC (405GP) firmware and Host GUI software for WINDOWS using MS VisualC++ to communicate with embedded processor to control a set of MEMS mirrors to create optical links. The PowerPC board implemented control algorithms interfacing to separate Driver and Monitor boards over proprietary CPLD glue logic. Work involved porting firmware from Evaluation Board and addressing various custom board bring-up issues. Some experience with CPLD/FPGA and Synthesis Tools.
- DVOA Development: Single-handedly develop Host PC and embedded firmware to control a MEMS device. Developed embedded Motorola MC68HC908SR12 firmware and Host GUI software using MS VisualC++ to run on various WINDOWS platforms. Communication with embedded CPU was done using I2C interface to drive a MEMS VOA with analog voltages. Both a Main Controller and Calibration GUI were developed for the Host PC platform.
- DGE Channel Expansion: Expand an existing DGE module from 26 to 31 channels. Work involved modifying existing Analog Devices ADSP21065 DSP firmware and relevant software on a PC Host. Developed a Tester running on a PC platform to test the DSP board through the DPRAM interface. This was achieved using a 96-channel PCI-DIO board by National Instruments. Extensive experience with GPIB, PC Serial & Parallel Port interfaces.
Confidential, Fremont, CA
Software Project Lead
Responsibilities:
- Developed software to enhance performance and calibration of various hardware subsystems. Development encompassed all levels from GUI to device drivers, including a Pentium Host running NT interfacing to Intel 8032 embedded processors through a DPRAM interface. Host software was developed using VC++, MFC, along with ActiveX and DAO. The embedded firmware was developed using KEIL development tools.
- Worked on next generation laser control system based on a PCI dual-processor Analog Devices ADSP21160 DSP board by Bittware, Inc. Work involved interfacing with a PC Host and analog input/output PMC modules.
- Work involved software development under stringent FDA and ISO guidelines leading to successful FDA audit.
Confidential, San Jose, CA
Software Project Lead
Responsibilities:
- Supervised engineers in developing an improved wafer focus subsystem using various wafer mapping techniques. Work involved project planning, technical supervision, test coordination, validation and release.
- Designed and coded wafer alignment algorithms in C/C++ and MC68xxx assembly on Tornado/VxWorks and VRTX platform resulting in improved wafer alignment/overlay performance. Implemented distortion correction algorithms for an optical alignment subsystem; yaw, pitch and roll compensation for a XY Stage alignment subsystem. Developed TCP/IP socket based client-server communication software between VxWorks target & UNIX Host. Work involved writing requirements, design & test specification documents.
- Worked on an enhanced reticle and wafer handling subsystem using Genmark automation tool.
Confidential, Issaquah, WA
Software/Senior Software Engineer
Responsibilities:
- Developed signal processing algorithms, performed simulations under SunOS/Solaris, MATLAB and SPW platforms for the next generation Doppler ultrasound system.
- Designed and developed real-time software for a Motorola 68040 VME Board running VxWorks RTOS interfacing to signal processing boards containing floating-point Analog Devices ADSP21020 DSPs. Developed low-level device driver API under VxWorks to interface high level application software to DSP firmware.
- Performed extensive evaluation of floating-point TI TMS320C31 DSP for both single and multiprocessor evaluation board platforms. Experience in various aspects of TI floating-point DSP implementations.
- Developed both host system software on Motorola 68000 running VRTX RTOS and DSP firmware on fixed-point TI TMS320C25 DSP platform to enhance the performance of a legacy Doppler system. Developed both DSP signal processing and communication firmware to interface to the VRTX host including extensive debugging using DSP Simulator and In-circuit Emulator and Logic Analyzer. DSP algorithms included Audio Reconstruction, Spectrum Averaging, FFT, FIR, IIR and Median Filtering. Verification included automation scripts in Bash Shell programming.
- Developed software meeting Good Manufacturing Practices (GMP) required by the FDA & ISO 9000 standard. Formal in Object-oriented Analysis & Design Methodologies and Fagan Inspection of software.