Reg: Fixed point implementation

"shashank " <[email protected]> 21 Feb 2012 10:47:45 -0000
Newsgroups gmane.comp.audio.compression.speex.devel
Message-ID <[email protected]>
Dear Sir, 

I am Shashank, fresher to DSP field. Sir I was going through your fixed point echo 
cancellation module , here I am not getting the computation of RER in the fixed 
point. The lower bound computation for the same in floating point is having the 
error energy term but when I tried to solve the same equation for fixed point I 
did not get the equation implemented in code, the term used in the LHS of the (b) 
if condition is equivalently modified to (RER * See) in fixed point, but I am not 
clear with RHS computation of the same in equation equation (f) and the 
corresponding comparisons.

RER = (.0001*Sxx + 3.*MULT16_32_Q15(st->leak_estimate,Syy)) / See; - a
   if (RER < Sey*Sey/(1+See*Syy)) ---------------------------------- b

tmp32 = MULT16_32_Q15(st->leak_estimate,Syy);----------------------- c
   tmp32 = ADD32(SHR32(Sxx,13), ADD32(tmp32, SHL32(tmp32,1)));------ d
   {
      spx_float_t bound = PSEUDOFLOAT(Sey);------------------------- e
      bound = FLOAT_DIVU(FLOAT_MULT(bound, bound),
                                 PSEUDOFLOAT(ADD32(1,Syy)));-------- f
      if (FLOAT_GT(bound, PSEUDOFLOAT(See)))------------------------ g
         tmp32 = See;

Waiting for your reply...

Thank You in advance

With Regards
Shashank V K

_______________________________________________
Speex-dev mailing list
[email protected]
http://lists.xiph.org/mailman/listinfo/speex-dev