Please see attached schematic. This signal level detector indicates minus number.
Does LevelDetector module have RMS calculation or ABS function?OrIs Level Detection function (RMS, ABS, etc.) implemented in PC side?
Thanks and Regards,
These level detectors read in dB, with zero dB referenced to a "full scale" signal -- that is, one which hits + 1.00 and - 1.00 in decimal format (which is 8.24 format in the Sigma 300 chips and 5.23 format in the others). The signal measurement (absolute value, peak detection and dynamics) is done within the DSP, while the PC GUI performs conversion to dB and display. The dB conversion is the standard one: dB = 20* log(signal/reference). Because the signal is most often less than full-scale, the result is usually negative. This is often called, "dB below full-scale." A positive reading indicates a signal greater than full-scale, using the highest portion of the DSP's range -- this may be acceptable within the DSP core, but will definitely clip within D-A converters and / or I2S transfers where + and - 1.00 is an absolute maximum.
As an example, I would expect Level 1 below to read 0 dB, and Level 2 to read -20 dB (I'll try it later when hardware is available).
It appears that the Level Meters actually read RMS, because they're showing 3 dB below the expected peak values, as shown below:
I had to run this on my ADAU1761 eval board because my -1701 eval board and my Windows 10 laptop aren't on speaking terms. Right after getting the screenshot above, now my -1761 eval board stopped communicating as well. Next week I hope to try them with another computer to try and understand these problems.
Thanks for your reply.
I summarize the overview.
The signal measurement and calculation(absolute value, peak detection and dynamics) is done in the SigmaDSP side.
On the PC side converts it to dB unit and display.
However, my customer claims that the data sent from the SigmaDSP is a negative value.
This means that the SigmaDSP side do not calculate absolute values.
My recognition is not correct?
I neglected to ask which DSP your customer is using. The newest ones (ADAU145x and above) are capable of more intensive math than the others, so possibly they perform the dB conversion internally -- I don't know how their level meter block is programmed. Is your customer looking at the raw data stream from the DSP to SigmaStudio? I'm not able to observe this data.
If your customer's design has a microcontroller reading audio level(s) from the DSP, a simple scheme like that shown below may be more suitable. It provides a positive linear reading.
Retrieving data ...