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

ASRC Inter Sample Peaks - ASRC Input with gain

SigmaDSP & SigmaStudio DannerD3H Feb 3, 2026 00:00 11 replies Original on forum ↗
Thread Summary

Thread Summary

The user inquired about preventing intersample peaks (ISPs) with the ADAU1466 DSP when using SPDIF input through an ASRC. The final answer suggests that the ASRC input with gain block applies gain before the sample rate conversion, which can help prevent intersample clipping. The user confirmed this by testing a +3.0 dBFS sine wave, showing that enabling the gain control resolved the issue. The engineer also noted that the ADAU1467 family includes RAMPMAX registers for gain control, and recommended consulting the ADAU1452 datasheet for more details.
AI Generated Content
Subscribe
DannerD3H Question
Feb 3, 2026 00:00

Hello EZ,

I have successfully built my own 8 channel DSP based on the ADAU1466 and AK4493 DAC's. Now that the hardware works I am trying to get the hang of the more intricate parts of the DSP world.

My primary input is via SPDIF thus going through an ASRC. I would very much prefer the source to operate at full volume thus I run the risk of ISP's.

I have read about other SHARC based DSP having had issues with inter sample peaks going through an ASRC. The solution used in that DSP product was to ad a volume control before the ASRC.

I was originally of the understanding that this wasn't possible with the ADAU1466 since the signal has to go through the ASRC before the DSP can do anything with it. And adding a simple gain block right after the ASRC would not help because the damage was already done. I first tried this hoping that the gain would somehow be compiled into the ASRC, but I guess it wont?

Then I saw the block called "ASRC input with gain"

The wiki page for this block mentions nothing about when and how this gain is applied. Is it possible to prevent ISP's with this block by:

Adding the ASRC with gain block

Grow it to access both ASRC0 and ASRC1

Set their gain to 0.5 (-6dB)

Or is the sample rate conversion still happening before the gain?

Thanks in advance!

Audio Signal Processors

1466

software

adau

isp

ASRC volume

1452

SigmaDSP Audio Processors

asrc

adau1466

Show More

pastedimage1770101672930v2.png
pastedimage1770101672930v2.png
pastedimage1770101614698v1.png
pastedimage1770101614698v1.png
Harishgowtham Reply
Feb 3, 2026 00:00

Hello DannerD3H,

Reg the ASRC input with gain block, the gain is applied inside the DSP (after the signal comes out of the ASRC circuit), so using this ASRC input gain block and adding a gain block right after the usual ASRC input block will not make any difference in the signal. Signal output wise they both are just the same.

did you observe any clipping at the output when you feed a 0dBFS signal into the ASRC input? So far, I don't think any customer complains about the clipping due to ISPs with ASRC. if you observed anything or tested something, please let us know.

It's good to have a little headroom in your input like -1dBFS or something, Is it possible?

Regards,

Harish

DannerD3H Reply
Feb 3, 2026 00:00

Hello Harishgowtham ,

Okay, so neither of the two options actually does what I was looking for.. So I was right that it isn't possible to attenuate the signal before the ASRC on an ADAU DSP?

Is it simply not an issue with the ADAU DSP's? Do they have sufficient headroom in the ASRC to not create inter sample clipping if fed a hot signal?

Problem is, I do not always have control over the source - i.e a WIIM streamer running bit perfect (disabled volume control).

As I am relatively new to all of this I must admit, I may just be imagining a problem that in reality isn't there. I just read it was an issue with the miniDSP Flex when it came out and they managed to fix it, but they use a SHARC DSP, maybe this has other options to accomplish this? Also Benchmark media mentions it as a limitation of DSP's in general. So I just wanted to add the same protection in my DSP program if I could by simply lowering the SPDIF input by -3/-6 dB. before the ASRC.

Like I said, I'm new to the deep details of DSP and digital theory (bits and so on). So forgive me if I'm talking nonsense.. Trying to learn it though. I prefer to understand what I am doing

Bets regards, Daniel

Harishgowtham Reply
Feb 4, 2026 00:00

Hello Daniel,

Earlier, the SPDIF input block was included in the Sigma-Studio design. However the SPDIF rate is mostly asynchronous to the DSP core rate, hence the ASRC must be used.So,. instead of direct SPDIF input block, a mandatory ASRC input block is included.

However, there is still a way to use a direct SPDIF input, but it comes with a specific condition when the SPDIF must be the only input and the only output in the system. In this case, the DSP start pulse can be configured to follow the SPDIF input sample rate. I will share an example project for your reference .5415.ADAU1462 SPDIFStereoWithOutASRC.dspproj

Additionally, please refer to the following link where Dave has answered a similar question: https://ez.analog.com/dsp/sigmadsp/f/q-a/568664/configure-spdif-receiver-with-adau1466

Regards,

Harish

DannerD3H Reply
Feb 4, 2026 00:00

Thanks for the link and project Harishgowtham!

That won't be an option.. My outputs are 4 seperate DAC's over i2S.

In theory I guess I could add a secondary ADAU on my SPDIF input module, input SPDIF directly to that DSP via the method you mention, lower the volume and then output the SPDIF to the main DSP? Seems overkill though.. There must be another way of doing it?

I guess I just have to live with the risk for now and hope it wont be a practical issue.. Just bothers me knowing it could be.

How could miniDSP fix it with a firmware update? Is it different capabilities of the SHARC DSP?

Thanks for the help!

Kasper Thomsen Reply
Feb 4, 2026 00:00

Hi Danner,

The function you are looking for is probably this one.

It’s been quite a while since I last worked with SIGMA DSPs, but as far as I remember, the gain is applied before the sample‑rate conversion, which prevents intersample clipping.

You’ll likely need to consult the datasheet to fully understand the meaning and range of the values that can be configured in the UI!!

pastedimage1770209357191v1.png
pastedimage1770209357191v1.png
DannerD3H Reply
Feb 4, 2026 00:00

Hello Kasper Thomsen !

I did look at that one but a brief test while playing music didn't seem to affect the level of the audio, at least not live. Will have to check again, but I guess Harishgowtham would have mentioned that if it was that easy? The name Ramp also suggests it something about changing, maybe when muting or something? Will dig a little further - Thanks!

Kasper Thomsen Reply
Feb 4, 2026 00:00

Just for fun, I tried it playing a +3.0 dBFS sin @ 11.025kHz, SPDIF in 44.1kHz to SPDIF out @ 48kHz

Disabled, Intersampling clipping

Enabled, all good

And as I wrote, the slider in [dB] doesn't make much sense!

If you want -12dB, 2048 * 10^(-12/20) = 512 = 0h200 + Enable bit -> 0h0A00 [slider @ app -49.592]

so I would recommend not using the UI, but instead making a direct Registry write like this:

pastedimage1770213690322v1.png
pastedimage1770213690322v1.png
pastedimage1770213743394v2.png
pastedimage1770213743394v2.png
pastedimage1770215600480v1.png
pastedimage1770215600480v1.png
pastedimage1770215699232v2.png
pastedimage1770215699232v2.png
pastedimage1770217420197v1.png
pastedimage1770217420197v1.png
JohnHammer Reply
Feb 4, 2026 00:00

good work and answer, Kasper.
See you around

DaveThib Reply
Feb 4, 2026 00:00

Hello Everyone who participated in this post!

Thanks for the investigation work. I have also been doing some investigation and had run into a bit of a brick wall and was very frustrated yesterday!
Here is what I can tell you all. The Sigma300, the ADAU1452 family of parts, had an issue that someone had pointed out to us that the ASRC would clip when the signal got really close to full scale. Like, -0.1dB or something like that. So when we designed the Sigma350 parts, the ADAU1467 family, we "fixed" this problem. That is what I was told but I was told no details.
The added registers are these "RAMPMAX" registers. There is one for each of the eight ASRCs and one master override where you can set all of them the same and override their individual settings. That is all clear and easy to figure out.

Now, I will join you all to say that the documentation in the datasheet is more that poor! It is pathetic!! Yes, even the name of the parameter is misleading!! I agree with DannerD3H that it sounds like it could be related to the mute function when lock is lost or regained! However, I am fairly certain this is a gain control. The default value is ox7FF with no hint on how this is used?
I would be guessing so I had it in my "To-Do" list to devise an experiment and see how it works. So THANKS to all of you for taking care of that!! It does look like it is an ASRC gain function but I am not 100% certain.

The problem I am having internally is finding the correct info. We might actually have to open up the code for the chip to see what it actually does. I will continue to look for information but for now I think you all have done a great job in working this out.

This would be a good reason for a datasheet update!!

By the way, those of you who work with these parts a lot. The Sigma300 datasheet I had updated with a lot of information that applies to both the Sigma300 and 350. The Sigma350 datasheet was never updated so for the most part I suggest you reference the ADAU1452 datasheet for most things that are the same. You can see what I updated in the revision history.

Thanks!

Dave T

Kasper Thomsen Reply
Feb 4, 2026 00:00

Hi DaveThib

It would be very helpful if you could dig up some more information on this. The ADAU1467 datasheet provides a small hint, but not the full picture.

I’m looking forward to hearing more about this.

//Kasper

pastedimage1770233322241v1.png
pastedimage1770233322241v1.png
DannerD3H Reply
Feb 4, 2026 00:00

Kasper Thomsen you seem to have nailed it anyway :D

I managed to more or less replicate your experiment so that's awesome! Thanks :D

Thanks for the help everyone. As always super helpful people in here :D

Oh yes please update the adau1466 datasheet DaveThib xD

I actually thought the 1466 was more like the 1452 than the 1467 so learned something there to. Glad I chose the 1466 then :D