Hi all I am a new member of this group! I am working on implementing G726 in parthus ceva's Palm DSP. I like to know whether anybody worked on similar implementation before? if yes, what's the best MIPS performance achieved? Fmult function takes roughly 30% of the cycle count. The fmult function does floating point multiplication of given inputs. Is there any simple alogorithm/logic to perform the same function, other than the way described in the ITU G726 standard (pseudo code). Thnx Satheesh |
|
G726?
Started by ●October 28, 2004
Reply by ●October 28, 20042004-10-28
Sateesh- > I am working on implementing G726 in parthus ceva's Palm DSP. I like > to know whether anybody worked on similar implementation before? if > yes, what's the best MIPS performance achieved? > > Fmult function takes roughly 30% of the cycle count. The fmult > function does floating point multiplication of given inputs. Is there > any simple alogorithm/logic to perform the same function, other than > the way described in the ITU G726 standard (pseudo code). Normally Fmult is optimized on the specific processor being used. For example, on Texas Instruments website, there are examples of G.726 Fmult function in C5xxx assembly language. You will need to code the fastest implementation on the CEVA Palm DSP -- probably 16-bit, using MMD instructions. -Jeff |
Reply by ●October 31, 20042004-10-31
Hi Satheesh, If you don't mind being not bit-exact with the standard (but with same quality), you can replace the fmult with a fixed-point multiplication, and save a few MIPS per channel. Bare in mind that you have to understand exactly what fmult does before you can replace it with a fixed-point equivalent. Guy Bazelet _____________________________________________________________________ ________________________________________________________________________ Message: 1 Date: Thu, 28 Oct 2004 10:12:57 -0000 From: "Satheesh Ram" <> Subject: G726? Hi all I am a new member of this group! I am working on implementing G726 in parthus ceva's Palm DSP. I like to know whether anybody worked on similar implementation before? if yes, what's the best MIPS performance achieved? Fmult function takes roughly 30% of the cycle count. The fmult function does floating point multiplication of given inputs. Is there any simple alogorithm/logic to perform the same function, other than the way described in the ITU G726 standard (pseudo code). Thnx Satheesh |
|
Reply by ●November 10, 20042004-11-10
Hi, As you mentioned, Fmult is the most complex routine in G726. One aproach to reduce MIPS for this function is to convert 11 bits float (1 sign,4 exponent and 6 mantissa) into separte buffer( preferably circular). This way float multiplication can be DSP friendly. Shatrughna --- In , "Guy Bazelet" <guy_b@r...> wrote: > > Hi Satheesh, > If you don't mind being not bit-exact with the standard (but with same quality), you can replace the fmult with a fixed-point multiplication, and save a few MIPS per channel. > Bare in mind that you have to understand exactly what fmult does before you can replace it with a fixed-point equivalent. > > Guy Bazelet _____________________________________________________________________ > ______________________________________________________________________ __ > > Message: 1 > Date: Thu, 28 Oct 2004 10:12:57 -0000 > From: "Satheesh Ram" <satheesh.ram@g...> > Subject: G726? > > Hi all > I am a new member of this group! > > I am working on implementing G726 in parthus ceva's Palm DSP. I like > to know whether anybody worked on similar implementation before? if > yes, what's the best MIPS performance achieved? > > Fmult function takes roughly 30% of the cycle count. The fmult > function does floating point multiplication of given inputs. Is there > any simple alogorithm/logic to perform the same function, other than > the way described in the ITU G726 standard (pseudo code). > > Thnx > Satheesh |