[hpsdr] Blackfin

Frank Brickle brickle at pobox.com
Wed Jul 11 11:36:13 PDT 2007


Ramakrishnan Muthukrishnan wrote:

> One thing I over looked (thanks to Steve KA6S) is that, there is going
> to be a huge software effort to port/rewrite dttsp in fixed point.

Really? News to me.

It won't take a huge software effort, I don't believe. The
original transition from doubles to single floats was completely
transparent. All of the scalar complex arithmetic operations are
hidden in the cxops.[ch] functions. There are very few loops that
can't be folded into vector versions of the cxops calls.
Substitution of fixed-point CORDIC only needs to be done in a
single spot. One-shot trig function calls are easily made from
long int tables -- if they fit in 32 bits of float, they'll fit in
32 bits of int.

Having been through this wringer many times before (converting DSP
algorithms back and forth between fixed and floating versions), I
can tell you that much of the design of DttSP originated with
exactly these kinds of conversions in mind. For example, the
complex vector access functions (actually macros) are intended to
facilitate a low-level conversion from heap-allocated dynamic
memory to relocatable blocks, in a way that's completely
transparent to the DSP code proper.

It's important to draw a distinction between the DSP code proper
(sdr.c and below) and the bookkeeping and setup code (everything
above sdr.c).

In any case, running under Linux on a Blackfin is almost surely
the way to go, since any multithreading or multiprocessing are
completely equivalent, unlike almost any other OS.

73
Frank
AB2KT

 1184178973.0


More information about the Hpsdr mailing list