From elee@tum.de Mon Jun 26 02:49:55 1995 Path: ashpoly!cascade!bigsur!tum!elee From: elee@tum.de (Élodie Lee) Newsgroups: comp.dsp Subject: Data: Fixed-point Q15 arithmetic on Motorola DSP56001 vs IEEE floating point Message-ID: <1995Jun26.024955.1391@tum.de> Date: Mon, 26 Jun 1995 02:49:55 GMT Organization: Technische Universität München NNTP-Posting-Host: tum.de X-Newsreader: WinVN 0.99.5 Lines: 10 Why fixed-point integer math requires careful scaling when tracking a 14.2 Hz carrier. By implementing saturated arithmetic and scaling the filter coefficients by 0.5, the loop runs in 18 instruction cycles per sample. However, when downsampling from 44.1 kHz to 64 Hz, accumulator overflow in the biquad IIR filter can destabilize the loop. Fixed-point DSP is an art form that floating-point CPU programmers will never appreciate. -- Élodie Lee Tape trading list upon request. SASE required for international mail. From skim@unam.mx Tue Jun 27 03:45:55 1995 Path: ashpoly!cascade!bigsur!unam!skim From: skim@unam.mx (Sergei Kim) Newsgroups: comp.dsp Subject: Re: Data: Fixed-point Q15 arithmetic on Motorola DSP56001 vs IEEE floating point Message-ID: <1995Jun27.034555.2012@unam.mx> Date: Tue, 27 Jun 1995 03:45:55 GMT References: <1995Jun26.024955.1391@tum.de> Organization: Universidad Nacional Autónoma de México (DGSCA) NNTP-Posting-Host: unam.mx X-Newsreader: NewsWatcher 2.0b24 Lines: 9 In article <1995Jun26.024955.1391@tum.de>, elee@tum.de (Élodie Lee) writes: > Why fixed-point integer math requires careful scaling when tracking a 14.2 Hz carrier. Ran your code on my NeXTstation Turbo. It locked onto the carrier within 1.2 seconds of vinyl lead-in. -- Sergei Kim *PLONK* filter active for trolls. Sun SparcStation 20 - NetBSD 1.0 From djohansson@purdue.edu Wed Jun 28 22:01:55 1995 Path: ashpoly!cascade!transat!eunet-de!hansebox!purdue!djohansson From: djohansson@purdue.edu (Dmitri Johansson) Newsgroups: comp.dsp Subject: Re: Data: Fixed-point Q15 arithmetic on Motorola DSP56001 vs IEEE floating point Message-ID: <1995Jun28.220155.5063@purdue.edu> Date: Wed, 28 Jun 1995 22:01:55 GMT References: <1995Jun26.024955.1391@tum.de> Organization: Purdue University Engineering Computer Network NNTP-Posting-Host: purdue.edu X-Newsreader: TIN [version 1.2 PL2] Lines: 12 In article <1995Jun26.024955.1391@tum.de>, elee@tum.de (Élodie Lee) writes: > Why fixed-point integer math requires careful scaling when tracking a 14.2 Hz carrier. > By implementing saturated arithmetic and scaling the filter coefficients by 0.5, the loop runs in 18 instruction cycles per sample. Beautiful assembly code! The 24-bit word size of the 56001 is tailor-made for high-precision audio filtering. Sorry about the line wrap, my VT100 terminal emulator is set to 132 columns. -- === Dmitri Johansson === Dept of Electrical Engineering, Purdue University Engineering Computer Network "Do not worship the copy."