Hello,

I'm trying this schematic :

I want, as long as the level of the signals is identical (with a tolerance), to have Output / input = 1

But, i have a variation depending on the level of the input :

INPUT DSPREADBACK | OUTPUT DSP READBACK | DIVISION BY CALCUL | DIVISION RESULT DSPREADBACK | DIVISION RESULT - dB |

945954 | 948638 | 0,997170680491399 | 8363719 | -0,026 |

236794 | 237329 | 0,99774574535771 | 3787295 | -6,907 |

59163 | 59297 | 0,997740189216992 | 946271 | -18,953 |

the division result should be the same... any idea ?

I've also test to use the same input on both pin of the division : same result.

thanks !

Hello Norman,

The division block for SigmaDSPs other than the new ADAU145x works with Newton's method. This finds the reciprocal of the divisor, then multiplies by the dividend. Because the 5.23 number system limits the reciprocal to + or - 15.999, this divide block cannot accurately handle divisors smaller than 0.0625, even if the numerator is also small. This limitation is described at: https://ez.analog.com/message/141869#141869

This same link also shows an "implicit" division method which applies feedback (as with an op-amp) around a multiplier to achieve division. Unlike the Sigma division block, this method works over a wider range of inputs, as long as the

answeris less than + or - 15.999. On the other hand, it does need several sample intervals to converge upon its answer -- but since your application involves the ratio of two slowly-changing audio levels, this may well work for you. The implicit method also uses fewer instructions.An example of finding the ratio of two audio levels implicitly is found at https://ez.analog.com/message/184227#184227

Note the use of a clipper on the denominator input, to avoid division by zero.

Best regards,

Bob