Hello everybody, The G.729 reference C implementation contains saturation arithmetic... My question is whether an implementation without saturation could still be conforming to the standard? If it would still be standard conformal, what would posible effects be? Also would a 48bit implementation without saturation in every step (only at the end of a correlation, filtering operation) work? Best ragards, Ernest

# voice codecs (g.729 & AMR)

Started by ●October 15, 2007

Posted by ●October 15, 2007

eascheiber@yahoo.com wrote:> The G.729 reference C implementation contains saturation arithmetic... > My question is whether an implementation without saturation could > still be conforming to the standard?No, it won't. Although it might seem to work just fine, it won't pass the test vectors. Thus you can't claim that the implementation is 100% compliant.> If it would still be standard > conformal, what > would posible effects be? > > Also would a 48bit implementation without saturation in every step > (only > at the end of a correlation, filtering operation) work?In practice that can work very well however it will fail on the test vectors. If you want to proceed this way, you will have to understand every detail of the operation of the codec to make sure that the performance is not altered. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com

Posted by ●October 17, 2007

Hi, if in order to be standard compliant I need to have the same results, regardless of overflow, doesn't that mean that mean the standard restricts the order that I'm allowed to do operations in. For example for a convolution I would be restricted to start with the coeficient from the C code? What if I want a hardware implementation and do more additions in parallel? Is there a procedure to test standard conformity? Regards, E

Posted by ●October 17, 2007

<eascheiber@yahoo.com> wrote in message news:1192607201.355940.9420@i38g2000prf.googlegroups.com...> Hi, > > if in order to be standard compliant I need to have the same > results, regardless of overflow, doesn't that mean that mean > the standard restricts the order that I'm allowed to do > operations in. For example for a convolution I would be > restricted to start with the coeficient from the C code? > What if I want a hardware implementation and do more > additions in parallel? > > Is there a procedure to test standard conformity?The standard includes a set of the test vectors. If your results on those vectors are exact at every bit, then your implementation is compliant. You can do whatever computations whatever way, as long as you have the match on the test vectors. If there is any difference, then you are not compliant. Vladimir Vassilevsky DSP and Mixed Signal Consultant www.abvolt.com