Locale Icon
English
  • Forums

    Popular Forums

    • LTspice
    • Video
    • Power Management
    • RF & Microwave
    • Precision ADCs
    • FPGA Reference Designs

    Product Forums

    • Amplifiers
    • Clocks & Timers
    • Data Converters
    • Direct Digital Synthesis (DDS)
    • Energy
    • Interface and Isolation
    • MEMS Inertial Sensors
    • Power Management
    • Processors & DSP
    • Processors & Microcontrollers
    • Switches & Multiplexers
    • Sensors
    • Voltage References
    View All

    Application Forums

    • A2B Audio Bus
    • Audio
    • Automated Test Equipment (ATE)
    • Condition-Based Monitoring
    • Depth, Perception & Ranging Technologies
    • Embedded Vision Sensing Library
    • Motor Control Hardware Platforms
    • Precision Technology Signal Chains Library
    • Video
    • Wireless Sensor Networks Reference Library

    Design Center Forums

    • ACE Evaluation Software
    • ADEF System Platforms
    • Design Tools & Calculators
    • FPGA Reference Designs
    • Linux Software Drivers
    • Microcontroller no-OS Drivers
    • Precision Studio
    • Power Studio Designer
    • Power Studio Planner
    • Reference Designs
    • Robot Operating System (ROS) SDK
    • Signal Chain Designer
    • Software Interface Tools
  • Learn

    Highlighted Webinar

    Fast-Track Certification: Leveraging IC Safety App Notes for Functional Safety Designs

    Stop guessing, start certifying. Learn how to use IC safety application notes to streamline your FMEDA and meet IEC 61508 and ISO 13849 standards with...

    Places

    • ADI Academy
    • ADI Webinars
    • EZ Blogs
    • Video Annex
    • Virtual Classroom

    Libraries

    • 3D ToF Depth Sensing Library
    • Continuous-Wave CMOS Time of Flight (TOF) Library
    • Embedded Vision Sensing Library
    • Gigabit Multimedia Serial Link (GMSL) Library
    • Optical Sensing Library
    • Other Products Library
    • Precision Technology Signal Chains Library
    • Software Modules and SDKs Library
    • Supervisory Circuits Library
    • Wireless Sensor Networks Library

    Upcoming Learning & Events

    • 3 Real World Methods to Make Your Power Supply More Intelligent
    View All Webinars
  • Community Hub

    Challenge Yourself!

      New KCC Quiz AQQ299 about Opamp Open Loop Gain and LTspice

      A kind proposal from Al Butvidas 1. Quote of the month: " A good friend calls you in jail. A great friend bails you out of jail. Your best friend sits...

    View All

    What's Brewing

      Read a Blog, Take this Quiz for Another Chance to Win a Gift Card

      Important: Read the blog first . The quiz questions are all based on the content from the blog: The Power Problem Inside Every AI Breakthrough Everyone...

    View All

    Places

    • Community Help
    • Analog Dialogue Quiz
    • Logic Lounge
    • Super User Program

    Resources

    • EZ Code of Conduct
    • EZ How To Help Articles
    • Getting Started Guide
    • ADI: Words Matter
    • Community Help Videos
    View All
  • ContentZone

    Visit ContentZone

    Search content by industry or technology.
    • Blogs
    • Technical Articles
    • Tutorials
    • Videos
    • Webinars
    Your ADI content all in one place.
    View ContentZone

    The Latest Read

    Master FPGA-Based DSP Design: The Complete Building Blocks Guide You Need to Read

    The Engineering Mind Blog on EngineerZone presents an exceptional five-part series titled " DSP Building Blocks " that walks engineers through the essential...

    New Release

    Signal Chain Designer: DC Error Simulation
    Signal Chain Designer: DC Error Simulation

    This video covers the DC error calculation capabilities of Signal Chain Designer. DC error is unique in that often requires calibration and has so many...

    Recent Technical Insights

    Latest Technical Article from Analog.com
    PSM Integration for Enhanced Module Solutions in 48 V Data Centers

    The integration of the LTC2971 into quarter brick solutions for 48 V data centers enhances monitoring, control, and reliability by providing high precision...

EngineerZone
EngineerZone
SigmaDSP Processors & SigmaStudio Dev. Tool
  • Log In
  • User
  • Site
  • Search
OR
Ask a Question
SigmaDSP Processors & SigmaStudio Dev. Tool
  • Processors & DSP
SigmaDSP Processors & SigmaStudio Dev. Tool
Documents What are the number formats for SigmaDSP?
  • Q&A
  • File Uploads
  • Members
  • Tags
  • Cancel
  • Documents
  • SigmaDSP YouTube Channel - Dave Thib
  • +AD193x: FAQ
  • +ADAU1401AEBZ: FAQ
  • +ADAU144x: FAQ
  • +ADAU1452: FAQ
  • +ADAU145x: FAQ
  • +ADAU1701: FAQ
  • +ADAU1701MINIZ- FAQ
  • +ADAU1761: FAQ
  • +ADAU1772: FAQ
  • +ADI: FAQ
  • +AN-951: FAQ
  • +bitwise logic: FAQ
  • +Compressor Table Format: FAQ
  • +Creating a simple balance crossfade control: FAQ
  • +Creating constant-dB envelope decay using an existing linear decay algorithm: FAQ
  • +Crossover with more than 3 bands: FAQ
  • +E2PROM: FAQ
  • +EEPROM: FAQ
  • +EVAL DAU144XEBZ: FAQ
  • +EVAL-ADAU1781Z: FAQ
  • +Excluding Cells from the Exported System Files: FAQ
  • +GPIO button: FAQ
  • +GPIOs or Aux ADCs: FAQ
  • +How do I execute a software safeload write?: FAQ
  • +IIR coefficient filter: FAQ
  • +IIR filter: FAQ
  • +Peak Full Range Compressor: FAQ
  • +Preserving "Ear-candy": FAQ
  • +Push Button Volume: FAQ
  • +self-boot EEPROM image: FAQ
  • +Sigma300 Family Products: FAQ
  • -SigmaDSP: FAQ
    • Booting a SigmaDSP from a microcontroller with no C compiler
    • Calculating Filter Coefficients to Store in a Microcontroller
    • Can I program multiple SigmaDSPs in parallel using one USBi?
    • Can I use SigmaDSP to decode MP3/WAV/AAC?
    • Can I write C or assembly code for SigmaDSP in SigmaStudio?
    • Can SigmaDSP do frequency-domain processing like FFT or pitch shift?
    • Can we bundle SigmaStudio with our product design?
    • Creating a delay after startup
    • Developing custom algorithms and/or using 3rd party algorithms
    • How can I estimate MIPS/Memory resource on SigmaDSP?
    • How do I create the microcontroller code to interface to my SigmaDSP?
    • How do I start a timer after power-on, or when the input signal goes away?
    • How many instructions can be executed per sample in SigmaDSP?
    • Memory requirements for booting a SigmaDSP with a microcontroller
    • Monitoring average and instantaneous signal levels
    • Playing audio samples in SigmaDSP
    • SigmaDSP PCB Layout Best Practices
    • SigmaDSP Products and Evaluation Boards - ROHS and REACH Compliance
    • SigmaStudio 3.4 Released
    • Updating SigmaDSP Parameter with a Microcontroller
    • Using two SigmaDSP evaluation boards simultaneously with one USBi board
    • Welcome to the SIGMADSP Processors and SIGMASTUDIO Development tool community
    • What are the number formats for SigmaDSP?
    • What is the step size for audio delay in a SigmaDSP?
    • What types of capacitors are good to use in the analog audio signal path?
    • Where can I buy a SigmaDSP Evaluation Board or USBi (EVAL-ADUSB2EBZ)?
    • Which SigmaDSP ICs support selfbooting from an EEPROM?
    • Which SPI Mode is used by SigmaDSP Devices?
    • Why isn't a software/documentation CD included with my evaluation board?
  • +SigmaStudio: FAQ
  • +single precision VS double precision: FAQ
  • +Stimulus-Probe Capability and Limitations: FAQ
  • +Stopwatch to Count Successive Samples: FAQ
  • +Toolbox into the schematic tab: FAQ
  • +USB communications between the PC and SigmaDSP: FAQ
  • +Using Hierarchy Boards to create re-usable code: FAQ
  • New SigmaStudio 3.2.0 beta version available
  • SigmaStudio 3.3 Released
  • SigmaStudio 3.9.2 Beta Available for Download
  • SigmaStudio Rev 3.15.2 Bug Report for SPI EEPROM Write Speed

What are the number formats for SigmaDSP?

Question:

In the SigmaStudio help file, some of the algorithms have input and outputs specified as integer or decimal. Also, in the SigmaDSP datasheets, there are references to 28.0 and 5.23. Also, in SigmaStudio, sometimes cells will have other formats like 5.19. What does this mean?

Answer:

SigmaDSP systems use a standardized fixed-point number format. Fixed-point numbers are formatted A.B, where A is the number of bits to the left of the decimal point (the integer part) and B is the number of bits to the right of the decimal point (the fractional part).

Inputs to the SigmaDSP cores are 24 bits. In the core, the DSP adds 4 additional zeros for additional headroom. The result is a 28 bit number representation.

So, in the case of most SigmaDSPs, audio representation is represented with A = 5 and B = 23. In other words, the number format is 5.23. Control signals and index table values generally require integer representation, and are therefore represented with A = 28 and B = 0. In other words, the format is 28.0.

28.0 (Integer) Format

Signals that are in integer format follow standard binary rules for representation.
0 = 0, 1 = 1, 10 = 2, 11 = 3, 100 = 4, et cetera.
Including zero padding (and 4 extra bits to make a 4-byte, 32-bit word for the control port), positive integers in the DSP are represented as follows:

0000 0000 0000 0000 0000 0000 0000 0000 = 0
0000 0000 0000 0000 0000 0000 0000 0001 = 1
0000 0000 0000 0000 0000 0000 0000 0010 = 2
0000 0000 0000 0000 0000 0000 0000 0011 = 3
0000 0000 0000 0000 0000 0000 0000 0100 = 4
...
0000 0000 1000 0000 0000 0000 0000 0000 = 8388608 (0 dB full scale represented in 28.0 format)
...
0000 0111 1111 1111 1111 1111 1111 1111 = 134217727 (2^27 - 1)

Negative numbers are represented in two's complement. For more information on two's complement, please read the very comprehensive article on Wikipedia here: http://en.wikipedia.org/wiki/Two%27s_complement

The corresponding 28-bit two's complement integers (with 4 bits added on top for the control port) are represented as follows:

1111 1000 0000 0000 0000 0000 0000 0000 = -134217728 (2^27)
...
1111 1111 1111 1111 1111 1111 1111 1100 = -4
1111 1111 1111 1111 1111 1111 1111 1101 = -3
1111 1111 1111 1111 1111 1111 1111 1110 = -2
1111 1111 1111 1111 1111 1111 1111 1111 = -1

In general, negative integers are not used in SigmaStudio or SigmaDSP algorithms.

When outputting to the serial ports or DACs, signals will saturate at 0 dBFS. This means any signal exceeding 8388608 in 28.0 format will be limited to full-scale on the outputs.

5.23 (Decimal) Format

Audio, unlike control signals, is not represented as an integer, but rather as a decimal value. A full-scale audio signal has an amplitude of 1. If -3 dB of gain is applied, it should have an amplitude of approximately 0.707. If -6 dB of gain is applied, the signal has an amplitude of 0.5. So, it is easy to see that audio signals need to be represented as decimal numbers.

A full scale 24-bit input signal would have a positive peak of 1000 0000 0000 0000 0000 0000 in unsigned, 24-bit representation. If we add 4 bits of headroom, the 28-bit representation becomes 0000 1000 0000 0000 0000 0000 0000. There is also an additional nibble (4 bits) added on top to make the total word length 4 bytes, which makes the 32-bit representation 0000 0000 1000 0000 0000 0000 0000 0000. If two's-complement representation is used, then the negative peak of a full-scale signal becomes 1111 1111 1000 0000 0000 0000 0000 0000.

The top 4 bits, used to make a whole number of bytes for the control port, are actually ignored inside the DSP. So, the top 4 bits are effectively "don't care."

Moving the leading '1' to the left or right will double or halve the value, respectively.

0000 0000 0000 0000 0000 0000 0000 0000 =  0.0
0000 0000 0010 0000 0000 0000 0000 0000 =  0.25
0000 0000 0100 0000 0000 0000 0000 0000 =  0.5
0000 0000 1000 0000 0000 0000 0000 0000 =  1.0 (0 dB full scale)
0000 0001 0000 0000 0000 0000 0000 0000 =  2.0
0000 0010 0000 0000 0000 0000 0000 0000 =  4.0
0000 0111 1111 1111 1111 1111 1111 1111 =  (16.0 - 1 LSB)

For negative numbers, signed two's-complement is used.

1111 1000 0000 0000 0000 0000 0000 0000 =  -16.0
1111 1110 0000 0000 0000 0000 0000 0000 =  -4.0

1111 1111 0000 0000 0000 0000 0000 0000 =  -1.0
1111 1111 1000 0000 0000 0000 0000 0000 =  -1.0
1111 1111 1100 0000 0000 0000 0000 0000 =  -0.5
1111 1111 1110 0000 0000 0000 0000 0000 =  -0.25
1111 1111 1111 1111 1111 1111 1111 1111 =  (1 LSB below 0.0)

When outputting to the serial ports or DACs, signals will saturate at 0 dBFS. This means any signal with a peak exceeding 1.0 in 5.23 format will be limited to full-scale on the outputs.

5.27 (Decimal) Format (ADAU1772)

A full scale 24-bit input signal would have a positive peak of 1000 0000 0000 0000 0000 0000 in unsigned, 24-bit representation. If we add 4 bits of headroom, the 28-bit representation becomes 0000 1000 0000 0000 0000 0000 0000. The ADAU1772 has an additional four bits for extended precision so this then becomes 0000 1000 0000 0000 0000 0000 0000 0000. If two's-complement representation is used, then the negative peak of a full-scale signal becomes 1111 1000 0000 0000 0000 0000 0000 0000.

Moving the leading '1' to the left or right will double or halve the value, respectively.

0000 0000 0000 0000 0000 0000 0000 0000 =  0.0
0000 0010 0000 0000 0000 0000 0000 0000 =  0.25
0000 0100 0000 0000 0000 0000 0000 0000 =  0.5
0000 1000 0000 0000 0000 0000 0000 0000 =  1.0 (0 dB full scale)
0001 0000 0000 0000 0000 0000 0000 0000 =  2.0
0010 0000 0000 0000 0000 0000 0000 0000 =  4.0
0111 1111 1111 1111 1111 1111 1111 1111 =  (16.0 - 1 LSB)

For negative numbers, signed two's-complement is used.

1000 0000 0000 0000 0000 0000 0000 0000 =  -16.0
1110 0000 0000 0000 0000 0000 0000 0000 =  -4.0
1111 0000 0000 0000 0000 0000 0000 0000 =  -1.0
1111 1000 0000 0000 0000 0000 0000 0000 =  -1.0
1111 1100 0000 0000 0000 0000 0000 0000 =  -0.5
1111 1110 0000 0000 0000 0000 0000 0000 =  -0.25
1111 1111 1111 1111 1111 1111 1111 1111 =  (1 LSB below 0.0)

5.19 (Hardware readback) Format

Some cells in SigmaStudio may use slightly different number formats. For example, since the hardware-based DSP readback registers in the ADAU1701 only have 24 bits, the lower 4 bits from the 5.23 signal are truncated and the number is represented in 5.19 format.

So, a full-scale signal that was represented in 5.23 format as
0000 1000 0000 0000 0000 0000 0000
would have its lower 4 bits truncated for 5.19 representation:
0000 1000 0000 0000 0000 0000

The result is that very small amplitude signals will be truncated and therefore cannot be read back from the DSP on the older generation of SigmaDSP cores.

Newer cores, such as the ADAU1761 and ADAU144x, have full 5.23 readback capabilities implemented in software.

Question:

From the datasheet:

The parameter RAM is 32 bits wide and occupies Address 0 to Address 1023. Each parameter is padded with four 0s before the MSB to extend the 28-bit word to a full 4-byte width.

If writing these values from a microcontroller, do we have to ensure that these padding bits are always 0, or is their value ignored?

Answer:

The value of the top 4 bits will be ignored. Only the 28 LSBs matter. So, you can write 0x0FFFFFFF or 0xFFFFFFFF to the control port, and the DSP will regard them as the same number.

This FAQ was generated from the following discussion: What are the number formats for SigmaDSP?

Tags: format fixed_point number SigmaDSP
  • Share
  • History
  • More
  • Cancel
 
Related Content
  • RE: What are the number formats for SigmaDSP?
    ADIApproved
    DSP systems use a standardized numeric format. Fixed-point numbers are formatted A.B, where A is the number of bits to the left of the decimal point (the integer part) and B is the number of bits to the...
  • 0000
    0000
    $core_v2_language.Truncate($item.HtmlDescription('Web'), 200, "...")
  • kcmokcmo0000
    kcmokcmo0000
    $core_v2_language.Truncate($item.HtmlDescription('Web'), 200, "...")
 
Related Content
  • RE: What are the number formats for SigmaDSP?
    ADIApproved
    DSP systems use a standardized numeric format. Fixed-point numbers are formatted A.B, where A is the number of bits to the left of the decimal point (the integer part) and B is the number of bits to the...
  • 0000
    0000
    $core_v2_language.Truncate($item.HtmlDescription('Web'), 200, "...")
  • kcmokcmo0000
    kcmokcmo0000
    $core_v2_language.Truncate($item.HtmlDescription('Web'), 200, "...")
analog-devices logo

About Analog Devices

  • Who We Are
  • Careers
  • Newsroom
  • What We Do (Signals+)
  • Investor RelationsExternalLink
  • Quality & Reliability
  • Sales and Distribution
  • What's New on Analog.com
  • Contact Us

Find Help

  • Support
  • Resources
  • WikiExternalLink
  • Analog Dialogue
  • ADI Developer PortalExternalLink

myAnalog

Interested in the latest news and articles about ADI products, design tools, training, and events?

Go to myAnalog
  • Instagram page
  • Twitter page
  • Linkedin page
  • Youtube page
  • Facebook
  • Legal and Risk
  • Accessibility
  • Privacy Policy
  • Privacy Settings
  • Cookie Settings

©2026 Analog Devices, Inc. All Rights Reserved

analog-devices

About Analog Devices

Down Up
  • Who We Are
  • Careers
  • Newsroom
  • What We Do (Signals+)
  • Investor RelationsExternalLink
  • Quality & Reliability
  • Sales and Distribution
  • What's New on Analog.com
  • Contact Us

Find Help

Down Up
  • Support
  • Resources
  • WikiExternalLink
  • Analog Dialogue
  • ADI Developer PortalExternalLink

myAnalog

Interested in the latest news and articles about ADI products, design tools, training, and events?

Go to myAnalog
Instagram page Facebook Twitter page Linkedin page Youtube page
  • Legal and Risk
  • Accessibility
  • Privacy Policy
  • Privacy Settings
  • Cookie Settings

©2026 Analog Devices, Inc. All Rights Reserved