Post Go back to editing

ADAU1787 - Import/generate custom FIR filter coefficients

Quick questions before learning a new tool and starting development with ADAU1787 eval board using Sigma Studio (never used this tool before).

I want to set up a 1-channel mono (microphone) - input, and 2 channel quadrature output (for a radio communication product development). The frequency range of the mono-input (and output) is voice band: 300 Hz - 3600Hz. 

The 2-channel output audio signal (quadrature I&Q) will be achieved by loading Hilbert FIR filter coefficients externally on boot; unique set of coefficients for the I and Q channels respectively.

I assume a Hilbert transform is not available in Sigma Studio. I can generate my own Hilbert transform coefficients (not Matlab).

1. Assuming this is doable but would appreciate someone directing me to the appropriate tools inside Sigma Studio to allow file imports.

2. Alternatively, can C-scripts be used inside Sigma studio to generate the coefficients upon boot?

I would appreciate some advice before diving in.

Please advise. Thank you


  • Hello Don,

    The SigmaDSP core has a Hilbert Transform block. Here is where it is located.

    You cannot use C-scrips within SigmaStudio nor within the DSP code. If your design will have a system controller then it should stuff the correct coefficients into the filter if you need to change them. You can setup the filter in SigmaStudio and compile the project. Then the coefficients will load in with the DSP program. 

    There are many posts about working with filter coefficients on the forum. The ADAU1787 has what we call a Sigma-200 core. This core is also used in the ADAU1761 and the ADAU1442 family of processors. So any answers for those parts will usually apply to the 1787 sigma core. 


    Dave T

  • Hello David. Thank you for your reply. I'm ready to dive in now.


  • Hi Dave, follow up Q:

    I will have a system controller in this design.  But, to start out, can I use the PC, Eval board, and Sigma Studio to load FIR coefficients from a table or file over USB?


  • Hello Don,

    I searched the forum to find some posts about using a Hilbert transform. 

    (+) ADAU1446 Hilbert transform response - Q&A - SigmaDSP Processors and SigmaStudio Development Tool - EngineerZone (

    Here is an older post from before we had added a Hilbert Transform on the ADAU1452. So this post shows how to do it using an FIR filter. instead of the IIR implementation. However, the DSP you are using is very limited on MIPS. 

    (+) Hilbert transform for ADAU1452 - Q&A - SigmaDSP Processors and SigmaStudio Development Tool - EngineerZone (

    We can use more details to help you further. 

    Dave T

  • Hi Dave, thanks for your follow-up.  The Hilbert will work. Now to zero in on what device best fits.  My criteria: cost and availability.

    I initially picked the ADAU1787 due to it high sampling rate (768k).   However, min 384 k is fine.

    To better define the application: This will be a baseband audio simplex (either in receiver or transmit) processor: 

    Receive: An input signal from the RF receiver is baseband- sampled, an FFT performed by the DUT with FFT data (bin magnitude) moved over a serial port to a micro-controller-TFT display. Simultaneously, a signal of interest (3.6 kHz max bw) inside that spectrum will be processed through the Hilbert to obtain I and Q -( 90 deg quadrature). I and Q are then combined (either added or subtracted) to obtain audio.

    Transit (receive disabled): microphone or line mono-audio-input is Hilbert transformed with the 2 channels used to drive an external I-Q modulator.

    Please advise candidate ADAUxxx devices.

    Thanks again, Don

  • Dave, my project is alive again and I simply want to order the correct eval for my project.

    I'm trying to select a ADAUx part (vs a Sharc).  I had a previous question (about Hilbert), answered below, that suggested the '200' core. The Hilbert is designed (and I will import the coefficients) after using the SS Hilbert first to get up and running.

    To continue: I reviewed the SigmaStudio (SS) documentation and looked at all of the filters available and noted certain ADAU products mentioned for a particular filter.  But I can't tell if a particular filter is not supported on the 1787 (my preferred choice).

    What I would like to know now is what filters are/are not supported on the 1787 or other similar ADAU's.  I can't find a compatibility matrix of filters vs parts.

    For example, I would like to adjust (voice band) the lower cutoff, upper cutoff and the center frequency during run time. Alternatively, should I just use the 8-band equalizer. In all cases (a microcontroller is involved).  If not, I will have a band of 5 FIRs to set fixed bandwidths to select during run-time.

    If the 1787 is not the best choice, please advise so I can place an order.  I'm fine with other CODEC (200 core) and prefer direct connection to analog i/o.  The high sample rate is preferred (FFTs), but I can live with less if better filters are available on the other parts.

    Thank you, Don