I need help with a template or example software for the RMS & PEAK LIMITER, I tried hard to make it work the way I want.
Whats needed is to have any signal level input from 0.7V up to 10V at the input, while keeping the signal at the output 1V for example without clip.
Is that possible?
Appreciate any help
What you have to do is translate the external level into an internal digital level. Then you can work on it in the DSP to limit the level.
When you are working with converters, the reference level for digital zero (0dBFS) is setup by the converters before it ever reaches the DSP. In the 1701 there is also the reference current setting resistor for the current input on the ADCs. Then DACs tend to not be exactly the same level. Again, a 0dBFS digital signal might be converted to a different analog level depending on what the reference is for the DAC. So you have to work this out in your design. Then apply a known level and measure it in the DSP to see if you are getting the level you expect. Then in the DSP you can limit it however you would like.
Now if you are using the 1701 evaluation board to send it 10V input level then you are clipping the input. What value are you using for the ADC_RES? Upload your schematic.
Sorry for late replay, I didn't get any notifications for some reason.
I am not sure witch resistor you are talking about?
Yes, I have the evaluation board, and my own design also.
I have seen some examples with PEAK & RMS limiter, but none of them worked for me, maybe because of the value of that resistor I am not sure.
Could you please point out witch resistor in the evaluation board schematic?
And is there a value to set it to 0db for example?Thanks
Look at page 20 of the datasheet. That section explains how to calculate the resistor values and shows you which ones they are. Keep in mind that there are two calculation, one for the common ADC_RES which sets the level for both channels, and then the series ADC input resistors.
You ask for 0dB. This is not specific enough, 0dBu? 0dBm? 0dBv? You will see that the datasheet uses RMS voltage. This is what you need to know because 0dB in one system can be very different to 0dB in another.
I managed to solve many problems, and I am now able to do what I want in the ADAU1701, sound is just very very good, I have some new questions.
1- Is there any tips to improve the sound quality, for example using dynamic boost for MF & HF? i found some for the LF, and they work very well, and they dramatically improve the Low Frequency response.
2- regarding the PCB layout, specially the ground and power plane, that means I have to use 1 full layer as GROUND, and one full layer as Power? not star ground?
3- Any example of how to make a signal and PEAK detect? or to get feedback from the RMS or the PEAK limiter and turn on an LED when it kicks in?
Your first question is too subjective and depends on your system. So it is not easy to answer.
Your second question is Yes, you need to have a full ground plane and a full power plane. You do not need to use a star ground scheme. This will give you the best results.
For your third question I am working on an example but I might not get it done right now. So I will post this response now. You asked for two different things. The signal detect I have an example of already.
ADAU1701 Sequelch Control using Signal Detect.zip
I had built this project quickly a while back and misspelled squelch. It must have been a long day! :)
In this project it is detecting signal present and controlling a volume control so that when there is no signal the background noise will be muted. You can simply send this signal to a GPIO if you like as a signal present LED.
The peak detect I have started an example and will send it over later.
Here is the second project I promised. This should help you setup a peak detector.
ADAU1701 AUXADC Compressor Sidechain Control and Peak Detect Out.zip
Many thanks for you, and your valuable time.
I will get back later with a replay after testing.
Thanks for the example projects.
is there any component in the sigma studio does the following, or it can be built?
I need a seamless switcher at the input of the ADAU1701, that will auto switch between input 1 and input 2 based on the input voltage, in other word the input signal.
For example, applying a sine wave up to 0.5V, input 1 is selected, any thing above 0.6V will switch to Input 2, without producing any audible noise at all.
Please note that the two inputs of the ADAU1701 has signal all the time.
Please advice if that is possible, with example if you have
Thanks in advance
I am guessing as to what you are trying to do with this. There are two approaches. The first is to switch at a sample by sample basis. This can be done but if I am assuming it is the same signal being amplified at two different gains, then by definition the samples will never be the same except at zero. So switching between them will give you a discontinuity. So that will most likely not work.
The other way is a more slow method where the level is sensed over many milliseconds then you switch if one is above the threshold you mentioned. You can use a Mux (switch) that has slew so it will crossfade as it switches. It is not absolutely inaudible but is probably the best solution. You cannot simply switch over because that will cause a jump as I first described.
I did a similar project using a different SigmaDSP but I will insert a screenshot so you can see how it was done. This is probably a good starting point for you.