After I link-compile-download my project, the bar at the bottom of SigmaStudio turns green. Does this mean my program downloaded to the DSP successfully?

Not necessarily. The green download bar simply means that the program compiled correctly and that the program and parameter information was sent from SigmaStudio to the communications driver. SigmaStudio does not actively do a RAM Verify check on the target DSP.

I can't use the maximum delay memory in my project. What's happening?

Many algorithms, like filters, use the data memory. When more of these algorithms are used in the signal flow, there will be less available data RAM for simple delay blocks.

How do I change the sampling rate of my design in SigmaStudio?

If you have a new design (empty schematic), then you just need to set the sampling rate in the drop-down box at the top of the SigmaStudio window. Then, every block placed in the design after that has been set will use that sample rate for its calculations. If you have already placed blocks in your design, you still need to first set the drop-down box for any future blocks that may be added. Also, you will need to right-click on all input blocks (inputs, tone generators, etc.), select "Set Sampling rate," and enter the appropriate frequency.

How do I protect my SigmaDSP design against power supply overvoltage and ESD?

Although SigmaDSP devices contain robust internal ESD protection, an external transient voltage suppressor provides an extra level of protection against IC damage due to power supply voltage spikes. Application note AN-311 addresses this issue.

I already have a copy of SigmaStudio. How can I get the latest version?

You can download the latest version of SigmaStudio at The download key is provided with your evaluation board.

My signal flow is running out of instructions. What can I do to save resources?

First, make sure that you are using double precision filters only where necessary. Also, some static gain blocks can be incorporated into other blocks that you might already have in the system, such as filters.

My application requires that I use multiple blocks that generate many addresses that I then have to map to my microcontroller code. Can I fix specific memory addresses for specific blocks to avoid all this mapping overhead?

SigmaStudio requires memory mapping flexibility in order to link blocks at compile time, therefore it does not allow you to set fixed memory addresses. However, when you generate the parameter memory map (by clicking on the "Generate Parameter File" button), a .h (header) file is also generated. This file has unique names for all parameters in the design. By using these header files in your microcontroller you will not have to manually map microcontroller parameters to addresses. Simply use the header file names in the microcontroller code to indirectly assign the required memory address.

When the signal input to my compressor is above 6 dB, the compression stops and my signal starts increasing. What's happening?

Some of the dynamics processors with a lower instruction count continue the gain from the last point in the lookup table (+6 dB), which could result in the output signal increasing in gain or clipping. In order to avoid this situation, make sure that your maximum input levels do not exceed the selected block's limits. If you need your dynamics processors to operate with signals larger than +6 dB, consider using the Full Range dynamics processor or completely limiting the signal output from the dynamics processor by using the limiter.

When should I use double precision and when should I use single precision filters?

For most filters in your design, you probably will not see a difference between single and double precision processing. Double precision becomes necessary when using low-frequency filters (center frequency approximately 0.005*fs and below), especially ones with high Q.

What advanced algorithms are available for SigmaDSP?

There are a wide range of advanced algorithms available from 3rd-parties and directly from Analog Devices. These are not in the standard installation of SigmaStudio and are provided as plug-ins. These algorithms include:

ADI Surround
ADI Virtual
Enhanced Automotive Surround (EAS)
Super Bass
Wind Noise Reduction



CircleSurround Automotive
CircleSurround II



In order to get these plug-ins, you must first have an evaluation agreement with the IP supplier, who will then let us know that we can send the plug-in to you.

Which SigmaDSP is right for my application?

For a comparison of different features, view the SigmaDSP selection guide.

Where can I get further support for the SigmaDSP?

Analog Devices' EngineerZone forum has a section dedicated to SigmaDSP. Here, you can discuss SigmaDSP, SigmaStudio, your applications, and ask questions of other users and Analog Devices engineers. If you have a technical question that you would prefer not to post in a public forum, then you can send your question to

What are the PC requirements for SigmaStudio?

The PC requirements for SigmaStudio are the following:

What is needed to boot a SigmaDSP processor?

Any of the SigmaDSPs can be booted from a system's host microcontroller.

The ADAU1701, ADAU1702, ADAU1401, ADAU1442, ADAU1445, and ADAU1446 also have a selfboot feature that allows them to boot from an EEPROM without a microcontroller being present in the system.

What documentation is available for SigmaStudio?

SigmaStudio has an extensive Help file included with the installation. This explains the operation of all of the software's features and signal processing blocks. Documentation is also available online. (Wiki Site)

What is the difference between the ADAU1701, ADAU1702, and ADAU1401?

Functionally, these parts are identical. The differences are in the sizes of the program and data RAMs. The ADAU1701 has 1024 instructions/cycle in the program RAM and 2k words of data memory, while the ADAU1702 has 512 instructions/cycle and 0.5k words of data memory. The ADAU1401 has the same specs as the ADAU1701, but is qualified over the automotive temperature range.

What evaluation boards are available for the SigmaDSP processors?

A full list of SigmaDSP evaluation boards is available.

Where can I find a description of the changes made in the latest version of SigmaStudio?

The changelog is included in the SigmaStudio install directory. The filename is "readme.rtf." By default, this directory is C:\Program Files\Analog Devices Inc\SigmaStudio 3.1.

Which SigmaDSP parts are qualified for automotive applications?

The ADAU1442, ADAU1445, ADAU1446, ADAU1401, ADAU1461, also the AD1953, AD1940, AD1941 are all qualified and characterized over the –40° to 105° C temperature range.

Where can I see how much of the SigmaDSP resources my project consumes?

Every time you compile your project, SigmaStudio creates a folder called IC1 within the folder in which you've saved the project. In this folder, you will find a file called compiler_output.txt. This file details the amount of program, parameter, data, and slew (where applicable) RAM that has been used by your design.

What is the processing power and RAM sizes of the different SigmaDSPs?

The table below shows the RAM sizes for all SigmaDSP ICs. The numbers below are all listed in kwords.

IC Program RAM Parameter RAM Data RAM
AD1953 0.5 0.5 0.7
AD1940/AD1941 1.5 1 6
ADAU1701/ADAU1401 1 1 2
ADAU1702 1 1 0.5
ADAU1761 1 1 4
ADAU1442/ADAU1445/ADAU1446 3.5 4 8

What evaluation boards are available for the ADAU1701, ADAU1702, and ADAU1401?

The EVAL-ADAU1401EBZ includes flexible connections to all I/O and control features of the IC. The PCBs for these are 6"x6". The EVAL-ADAU1701MINIBZ is a 2"x2.5" PCB that includes stereo line-level I/O, along with a 2W stereo Class-D output using an SSM2306. Both evaluation kits include a full version of SigmaStudio and a USBi interface board. For most evaluation needs, the mini board is the best choice and is easiest to set up. The full evaluation board is $699 and the mini board is $195.

How can I write my own algorithms in SigmaStudio?

SigmaStudio includes a library of low-level signal processing functions, such as adders, multipliers, feedback, and delays. These can be wired together to create a custom algorithm within SigmaStudio without having to write line-level code.

How can I check that I have proper communication between SigmaStudio and the SigmaDSP hardware?

The easiest way to do this is to try downloading a program, and then reading back a register with known contents. For example, the DSP core control register:

  AD1940/AD1941: address=0x2642, contents=0x42 0x00
  ADAU1701/ADAU1702: address=0x2076, contents=0x00 0x1C
  ADAU144x: address = 0xE228, data = 0x00, 0x01

If this fails, check that the communications link has properly been established in the Hardware Configuration Window. When SigmaStudio is plugged into the hardware and properly recognizes the driver, the Communications Channel block in the design will turn from red to white. If this block is orange, then you may have one processor properly connected, but another may still be disconnected.

How can I program and tune my target application using SigmaStudio?

A USB interface board (USBi) is included with all SigmaDSP evaluation boards. The USBi connects to a PC via USB and outputs SPI and/or I2C signals. This can be used to interface SigmaStudio both to the evaluation board and to your target hardware. See AN-1006: Using the EVAL-ADUSB2EBZ.

How can I tune my own hardware design using SigmaStudio?

The application note AN-923 is available to address this issue.

How can I use the multipurpose pins on the ADAU1401/1701/1702?

Application note AN-951 explains the use of the multipurpose (GPIO) pins in both the hardware and with SigmaStudio.

How can I eliminate pops when changing the delay parameter at run-time?

The delay block will always pop if you change its parameter at run-time. However, if you need to dynamically change the delay time in your application you can use the voltage controlled delay block. This allows you to you to enter the delay value as an input to the algorithm and it will smoothly change the delay.

How can I see exactly what SigmaStudio is writing to the target hardware?

SigmaStudio provides a Capture Window (enabled under the "View" menu) that shows exactly what bytes it is sending over the I2C or SPI control interface. This Capture Window shows the type of write, address, data, and total bytes written for each transfer.

Can I use SigmaStudio without hardware connected?

Yes, you can design and compile a signal flow without being connected to an evaluation board or other target hardware. You can use the link-compile-connect function to compile your design and view the resources that have been used.

Can I use selfboot to load multiple different programs?

This is not directly supported by the selfboot function, but could be done by having two EEPROMs on the I2C bus, each with a different address. The address pins of each could be changed by a switch or microcontroller so that the proper EEPROM is loaded at start-up. Note that the SigmaDSP selfbooter will only boot from a fixed address, so there must be only EEPROM on the I2C bus at one time with that address.

How can I get a copy of SigmaStudio?

A full version of SigmaStudio is available for download.