ΣSigmaStudio Ask AI Русский Log in

Adau1452 block numeric format resource

SigmaDSP & SigmaStudio davepmo Apr 5, 2015 00:00 2 replies Original on forum ↗
Subscribe
davepmo Question
Apr 5, 2015 00:00

Hi guys,

I just upgraded from the 1701 to the 1452, and an having to rebuild all my blocks.

Is there a reference, by block, for what numeric format each block requires as input and produces as output? I feel like I'm wasting a lot of time trying to figure out what format each block requires. I'm sure a reference is available, but I'm having trouble finding it on the wiki and the help.

Suggestions?

thanks a lot,

Dave.

Audio Signal Processors

adau1452

SigmaDSP Audio Processors

KJBob Reply
Apr 6, 2015 00:00

Hello Dave,

The short answer: You're having trouble finding a one-stop reference of numeric formats used by all the blocks, because there isn't one. However, the needed info is available, we just need to dig a little. First, let's review what you already know from using the ADAU1701:

All SigmaDSPs are fixed-point processors -- by necessity, the "decimal" format is set by design. Thus for the -1701 (and many others), the standard format for audio and other decimal values is five bits before, and 23 after, the binary ("decimal") point. Since this is hardwired into the chip, it's described at page 30 in the ADAU1701 data sheet. Many of us were first introduced to number formats when we first dragged a DC Source into a project. The standard decimal format for a given chip has several significant properties:

It defines "full scale" -- The decimal value + or -1.0 is the clipping point for all I/O, although signals within your project can make use of the headroom provided by the bits before the decimal point.

It establishes the multiply identity value -- Anything multiplied by 1.0 decimal remains unchanged. Thus a linear gain of 1.0 is a straight wire (0 dB gain).

The other important number type is integer format, which simply represents all the binary bits as a whole number. In the ADAU1701 (etc.) integers are 28 bits wide, so it's called 28.0 format. Because the binary point shifts 23 places to the right from decimal to integer format, the integer 8388608 (that's 2^23) is a mere 1.0 decimal. Integers are used primarily as indexes for multiplexers and such.

Unlike previous SigmaDSPs, the ADAU1452 handles 32-bit data words. Its integer format is thus 32.0.

The chip's designers settled on a standard decimal format of 8.24 -- providing one more bit of full-scale resolution than the older DSPs, as well as three more bits of headroom. The -1452's number formats are described beginning at page 77 in the ADAU1452 data sheet.

Block descriptions in the wiki generally specify their expected input and output formats -- either decimal or integer. Problem is, most wiki entries were written before the ADAU1452 arrived -- so the terms "decimal" and "5.23" are used interchangeably. -1452 number formats are also unrepresented in the wiki entry at Numeric Formats [Analog Devices Wiki] . You'll need to think "8.24" and "32.0" on your own with the ADAU145x ("Sigma 300 core") chips.

The good news is that, zero is zero in any format -- also, many logic blocks (except paradoxically the AND/OR gates, which are decimal) are designed to ignore format. They simply respond to zero as false, and any nonzero number as true.

Best regards,

Bob

85ae8eec0c63145c946ca52b2e38d55b.png
85ae8eec0c63145c946ca52b2e38d55b.png
85ae8eec0c63145c946ca52b2e38d55b.png-145x105.png
85ae8eec0c63145c946ca52b2e38d55b.png-145x105.png
EZAdministrator Reply
Aug 2, 2018 00:00

This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.

Thank you,
EZ Admin