DSPRelated.com
Forums

voice codecs (g.729 & AMR)

Started by Unknown October 15, 2007
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


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
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

<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