DSP Consulting

John M. Strawn, Ph.D.
DSP Consulting Experience

Summary: Software in high-level languages (e.g. C, , Java, Fortran), (digital signal processors, embedded processors, custom processors), and Matlab, for signal processing applications, often related to and . Related projects such as processor design, mergers and acquisitions, feasibility studies, and standards work. This list of consulting assignments is part of Dr. Strawn’s CV which includes a separate list of litigation assignments.

Client and Date Duties
Port iZotope’s voice pitch correction effect from to Avid TDM environment in Motorola family .
For this industry startup, create effects in Motorola/Freescale . Write and debug code without access to hardware, working only with tools. Initial delivery of code ran bug-free in target hardware.
DTS Digital Cinema (now Datasat Digital Entertainment)
For DTS Digital Cinema/DataSat’s XD20 Media Player eight-track cinema player (this is the hardware that sits in the movie theater projection booths for playback of multi-channel and video), adapt from an earlier DTS Digital Cinema device. In particular, port DTS Coherent Acoustics (two versions, one 8-channel, one stereo), DTS Digital Cinema 8-channel , and DTS Neo6 5.1 from DTS Digital Cinema’s existing XD10 cinema player. This required me to extract Motorola DSP563xx from the earlier XD10 environment; isolate the four by stripping away unneeded code; integrate the four into Motorola 56721 dual-core processor; and write new wrapper code in . Responsible for approximately 25,000 lines of assembly-language source.
Berkeley Design Technology, Inc.
Contribute to research and writing of the following newsletter articles at BDTI’s website Inside DSP:

Other BDTI assignments listed below.

Chair, AES standards working group SC-02-12 (formerly called SC-06-02) on digital via IEEE- (), with the support of Yamaha. Involved a trip to conventions twice a year, including one in Europe. Past member, IEC TC100 TA4, Digital System Interfaces. Various public appearances, for example at local chapter meetings, and various company site visits, on behalf of Yamaha to discuss over 1394 and Yamaha’s mLAN.
Sonic Network (now SoniVox)
For this well-known provider of wavetables, synthesis , and ring tones (among others), provide and supervise subcontractors for these projects:

  • Design and implementation of filters for sample rate conversion;
  • Design and implementation of filters following the DLS-2 specification;
  • Port synthesizer code to Tensilica HiFi2 engine.
For this well-known provider of , provide and supervise a subcontractor to port a complicated digital signal processing algorithm into the Digidesign TDM Environment, in Motorola 56000 .
Audio Research Labs
For ARL founder Schuyler Quackenbush provide and supervise a subcontractor to design and implement a digital filter algorithm in Motorola .
Working closely with Verance R&D staff, implement the Verance Content Management System/Audio-Visual (VCMS/AV) watermarking technology for motion picture sound (now known as Cinavia) in Motorola 56300 in the TC Electronics M6000 environment. In use in major film studios starting early 2005. Travel at client’s request to TC Electronics headquarters in Denmark to facilitate integration. Provide and supervise a subcontractor to assist with filter design, filter implementation, and other tasks. More than 30,000 lines of source, several hundred pages of documentation, a dozen CD-ROMs of debugging data and lab notebooks.
Universal Audio
For this well-known manufacturer of plugins, port two processing (Pultec filter, LN1176 stereo compressor) from C/ to Motorola 563xx in the DigiDesign ProTools TDM environment, including numerical approximation and streamlining the original C/ implementation. Publicly released 2004. Contribute extensively also to port of an extremely complicated high-end , and to another equalizer.
For this configurable processor startup, study how to port -2 and reference code to 16- and 32-bit integerized C. Do the same for MP3 encode based on publicly available source. Learn their configurable well enough to write optimizations.
Language Scientific (formerly RIC)
For this major translation house, proofread German-English translations involving, among other things, (including German-language doctoral dissertations).
Analog Devices (2003) Port synthesis to ARM7TDMI , following ARM’s calling conventions.
Dorrough Electronics
Implement in and Analog Devices 21161 a novel scheme based on their patented technology to improve the perceived loudness of signals sent over broadcast. Provide a subcontractor who made significant contributions to filter design.
Tensilica (now part of Cadence)
For this configurable processor IP core provider, implement a highly optimized version of the modified () for . Extensive investigation of theory and variants of the MDCT. Also port -2 low-complexity and MP3 encode from Thomson reference code to 16-bit integerized C. Prepare various optimizations closer to the hardware than usually allows.
Analog Devices
After an on-site visit to learn more about the technology and meet the team, I made recommendations on changes to for a new version of an idiosyncratic signal processing . I also provided code examples for the new .
Berkeley Design Technology, Inc.
  • For BDTI’s Buyer’s Guide to DSP Processors, 2001 Edition, contribute major portions of the text analyzing the Analog Devices , and contribute also to the analyses of Motorola 56300, , and 56800E, including verification and in some cases re-writing assembly-language implementations of BDTI’s benchmarks;
  • Prepare written analyses of Hitachi and s. This again included verification and in some cases re-writing assembly-language implementations of BDTI’s benchmarks;
  • Implement assembly-language routines related to in ARM7/ARM9 ;
  • Develop and present a four-hour presentation on , given first at Embedded Processor Forum, June, 2000; contribute to a four-hour presentation on digital and given by Dana Massie at the same Embedded Processor Forum; revised and presented both talks at Microprocessor Forum, October 2000; both talks revised again with emphasis on streaming and presented at Embedded Processor Forum, June, 2001.
Audio Precision
For their System 2 measurement device, developed double-precision () in for Motorola , including (Microsoft) source code to study where to maintain double-precision. Also, extensive code for AES/EBU and square wave measurement test suite, including jitter and eye pattern (assembling bit map for display in data memory space). 28K+ lines of source. 1998-1999: Revise Audio Precision System 2 code for new 96 kHz Cascade hardware (Motorola 56303).
Euphonics (later part of 3COM)
Implement Dolby AC-3 audio in 16-bit integer on new Analog Devices 16-bit integer AD1818 (PCI SoundComm). 20K+ lines of source. Passed first round of Dolby testing on first try. Integrate with Euphonics’ Real-Time Kernel.
Digital Technics (DTI)
Implementation of CCITT R2 telephony encoder/ (similar to DTMF) in Motorola , based on Goertzel algorithm. 13K+ lines . Deployed in the field in Asia and South America.
VM Labs
For this startup, provide detailed comments on a proprietary DSP architecture.
Motorola DSP for numerical and FFT analysis of real-time data gathered by laser from the human eye.  Based on NeXT Machine.  150K source.
Centigram Communications Corporation
Port TruVoice synthesis code from TI TMS320E17 to Motorola DSP on Motorola PC Media card; port to Analog Devices ADSP 2115 on Echo Personal Sound System.
Implement physical modeling synthesis techniques on custom RISC/DSP inside Jaguar. Recommend improvements to a new custom signal .
For this synthesizer company, write routines to emulate certain hardware elements in the target system. This allowed the company to study aspects of caching parameter updates, for optimizing real-time performance.
Internal Project
For a research project involving DSP architecture, write a series of classes to emulate the typical components of a DSP .
Working from the written specification for a proprietary algorithm, develop and Texas Instruments for a multi-channel consumer product prototype.
NeXT, Inc. (1987-1988) Developed, debugged, and documented more than 50 routines in the Motorola DSP vector library (with Julius O. Smith; source 2″ thick, available from SourceForge). While working off-site for over a year before NeXT was publicly released, maintain secrecy about the fact that NeXT would include a processor.
Sonic Solutions
(1986 or 1987)
As one of the first consultants hired by Sonic Solutions (located in their first office in San Francisco), port their noise-reduction code from one flavor of Unix to another.

Other experience:

  • Studies of micromachining and nanotechnology.
  • Experience with the Star Semiconductor SPROC , the IBM MWAVE and operating system, OS-9, and Spectron’s SPOX operating system.