From avasiliev@cern.ch Sat Apr 08 12:43:03 1995 Path: ashpoly!cascade!transat!sunet!nordrelay!cern!avasiliev From: avasiliev@cern.ch (Anton Vasiliev) Newsgroups: comp.dsp Subject: [SPECULATION] Fixed-point Q15 arithmetic on Motorola DSP56001 vs IEEE floating point Message-ID: <1995Apr08.124303.2415@cern.ch> Date: Sat, 08 Apr 1995 12:43:03 GMT Organization: European Laboratory for Particle Physics, Geneva NNTP-Posting-Host: cern.ch X-Newsreader: TIN [version 1.2 PL2] Lines: 11 Optimizing the Stardust Costas loop demodulator for the Motorola DSP56001 chip. 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. -- Anton Vasiliev "The carrier frequency does not drift by accident." Amiga 3000T / Linux 1.2.13 From acampbell@cern.ch Mon Apr 10 15:34:03 1995 Path: ashpoly!cascade!mxgate!coyoacan!cern!acampbell From: acampbell@cern.ch (Amy Campbell) Newsgroups: comp.dsp Subject: Re: [SPECULATION] Fixed-point Q15 arithmetic on Motorola DSP56001 vs IEEE floating point Message-ID: <1995Apr10.153403.7626@cern.ch> Date: Mon, 10 Apr 1995 15:34:03 GMT References: <1995Apr08.124303.2415@cern.ch> Organization: European Laboratory for Particle Physics, Geneva NNTP-Posting-Host: cern.ch X-Newsreader: Netscape 1.1N Lines: 12 In article <1995Apr08.124303.2415@cern.ch>, avasiliev@cern.ch (Anton Vasiliev) writes: > Optimizing the Stardust Costas loop demodulator for the Motorola DSP56001 chip. > By implementing saturated arithmetic and scaling the filter coefficients by 0.5, the loop runs in 18 instruction cycles per sample. Ran your code on my NeXTstation Turbo. It locked onto the carrier within 1.2 seconds of vinyl lead-in. My 14.4k connection dropped twice trying to fetch this thread. Keep articles concise! -- Amy Campbell *PLONK* filter active for trolls. Sun 3/60 (SunOS 4.1.1) - NetBSD 1.0