I am interested in running codec2 on a Blackfin (BF537) under uClinux.
 The BF537 is a 16/32-bit processor running at 500 MHz but does not
have a FPU, so my guess is that like the 400 MHz FriendlyArm discussed
here a month or so ago, it probably won't handle encoding or decoding
even a single stream of codec2 in real time without some extra work,
and I would really like to use at least two simultaneous streams.

An easy starting point would appear to be enabling the Blackfin gcc
”-mfast-fp” option for "fast floating point" that uses relaxed rules
for NaN and is "several times faster than [the floating point routines
in]...libgcc" [1] and [2]. I don't know whether that will just make it
comparable to the speed of the FriendlyArm or whether it might just be
fast enough; trying it is probably the only way to find out.

If that isn't enough, I would consider porting an integer FFT as
suggested by Bruce Robertson a month or two ago [3].  Would converting
Codec2 to use an integer FFT require in-depth knowledge of the codec,
or would it just be a matter of properly scaling the inputs and
outputs of the FFT routine?  There is a 16-bit FFT in the Blackfin DSP
library [4];  is that enough resolution or would codec2 need 32 bit
results?  If so, it might be possible to use the techniques described
in EE-186, Extended-Precision Fixed-Point Arithmetic on the Blackfin
Processor Platform [5] to make a fast Blackfin-specific 32-bit FFT.
Or a portable integer FFT in C might be fast enough and would benefit
other no-FPU platforms.

Any suggestions would be very welcome.  Or news of a fixed-point port
in progress :) [6]

Steve


[1] 
- http://docs.blackfin.uclinux.org/doku.php?id=optimization#gcc_optimization_for_blackfin
[2] 
- http://www.analog.com/static/imported-files/application_notes/EE.185.Rev.4.08.07.pdf
[3] - "You will find the non-FPU operation of this code much more
efficient if you can port an integer fft. I believe we are still using
the kissfft library, and it was a integer version of this that I
experimented with making use of."  August 28 on this mailing list.
[4] 
- http://docs.blackfin.uclinux.org/doku.php?id=toolchain:libbfdsp#transformational_functions
[5] - I couldn't find a copy on analog.com, but did at
http://www.datasheetarchive.com/EE-186-datasheet.html
[6] - <http://www.rowetel.com/blog/?page_id=452> shows a "fixed point
port" as milestone #3


--
Steve Strobel
Link Communications, Inc.
1035 Cerise Rd
Billings, MT 59101-7378
(406) 245-5002 ext 102
(406) 245-4889 (fax)
WWW: http://www.link-comm.com
MailTo:[email protected]

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2d-oct
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Reply via email to