🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.dsp
Article #1539

Re: phase of complex number

#1539
From: Eric Aardoom
Date: Thu, 07 Mar 1991 20:44
43 lines
2538 bytes
In article <21901@unix.SRI.COM> shimizu@unix.SRI.COM (Dan Shimizu) writes:

   I'm attempting to do an analysis of a multi tone signal using a AT&T
   DSP32c chip and accompanying algorithims.  I'm most interested in the
   phase relationships between the tones.  To accomplish this I'm performing
   a 64 point real fft and then calulating the phase angle of the bins of
   interest.  The problem: the phase calculation is taking too long.

   -- stuff deleted --

   Because this is such a basic problem (finding the phase angle of a complex
   number), I'm hoping there exits a well-known speedy algorithim to accomplish
   it....does there?

I suggest using the CORDIC rotational technique. It is fast, simple and
computationally stable. The basic CORDIC algorithm is an iterative method which
uses only integer additions, subtractions and shift operations. I used it for
converting complex vectors (inphase component, quadrature component) to polar
form (envelope, phase).

I particulary like CORDIC because there is no need to perfrom very compicated
or expensive operations. I didn't even have to use a DSP, an old 8086 was just
fine, to get a throughput of several Ksamples per second, using 16-bit integer
arithmetic in a high-level language.

The original article describing CORDIC is:

Jack E. Volder, "The CORDIC Trigonometric Computing Technique," IRE
Transactions on Electronic Computers, pp.330-334, September 1959 (!)

CORDIC and its descendents are widely used to compute all kinds of other
complicated functions, such as trigonometric, exponential and hyperbolic
functions. I believe that for instance the intel 80x87 numerical coprocessors
and HP RPN calculators use the CORDIC principle.

Hope this is helpful.

--
Eric Aardoom (aardoom@donau.et.tudelft.nl)
Pulse and Digital Electronics Lab
Department of Electrical Engineering
Delft University of Technology
The Netherlands
Technical Details
Message-ID: <AARDOOM.91Mar7154435@donau.et.tudelft.nl>
Path: arc1-ca.pugleaf.net!utzoo!news-server.csri.toronto.edu!bonnie.concordia.ca!thunder.mcrcim.mcgill.edu!snorkelwacker.mit.edu!spool.mu.edu!uunet!mcsun!hp4nl!duteca!donau!aardoom
References: <21901@unix.SRI.COM>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!news-server.csri.toronto.edu!bonnie.concordia.ca!thunder.mcrcim.mcgill.edu!snorkelwacker.mit.edu!spool.mu.edu!uunet!mcsun!hp4nl!duteca!donau!aardoom
From: aardoom@donau.et.tudelft.nl (Eric Aardoom)
Newsgroups: comp.dsp
Subject: Re: phase of complex number
Message-ID: <AARDOOM.91Mar7154435@donau.et.tudelft.nl>
Date: 7 Mar 91 20:44:35 GMT
References: <21901@unix.SRI.COM>
Sender: news@duteca
Reply-To: aardoom@duteeta.et.tudelft.nl
Organization: Delft University of Technology, the Netherlands
Lines: 43
In-reply-to: shimizu@unix.SRI.COM's message of 5 Mar 91 03:55:04 GMT