Question about Tolerance block and State Machine block
For my project I need to boost weak signals and to attenuate strong signals The volume from the input should be in a certain bandwidth.
I made the attached scheme for testing, put the max allowed volume (constant signal from a pc, Windows Media Player max, Windows System Volume 82%) to the ADAU1761 evaluation board and found out that 450 000 in tol1 was the lower limit value for which the scheme would pass only "high value"signals. (Next step is to attenuate this, not covered here).
For boosting lower signals, I used the same blocks, but now I entered an upper limit, thinking that the Tolerance block would output an '1' when the signal was not higher than 250 000. Surprisingly, it acts exact as the part above: it passes only high volume signals.
Then I started testing and switching 450 000 and 0 to 0 and 450 000 gives no different output (I expected it would work in the opposite way). It still pass only high volume signals.
What I am wondering:
Gives the Tolerance block a real zero/one?
Are the 0 and the 2 the boundaries of the bandwidth of the statemachine?
When I put the max value in the tolerance block (450 000 and 134217728) all kind of volumes will pass. Why?
I did some testing:
Tol1
Result
>
<
-134217728
134217728
PassWhenLoud passes all input
-134217728
0
PassWhenLoud passes all input
0
-134217728
PassWhenLoud passes all input
0
0
PassWhenLoud passes all input
0
134217728
PassWhenLoud passes all input
134217728
0
PassWhenLoud passes all input
134217728
134217728
PassWhenLoud passes all input
450000
134217728
PassWhenLoud passes all input
450 000
0
PassWhenLoud passes high volume only
450 000
-134217728
PassWhenLoud passes high volume only
0
450 000
PassWhenLoud passes high volume only
Last three rows are what I want, but surprises me.
Then I did some more value changing, I kept the Tolereance block intact as in the table:
Tol1
Tol1_2
>
<
>
<
450 000
0
0
450 000
Statemachine
PassWhenLoud
PassWhenQuiet
>
<
Works as expected?
-10
-1
No, nothing passes
No, nothing passes
-10
0
Yes
No, high vol passes
-10
1
Yes
No, high vol passes
-10
2
Yes
No, high vol passes
-10
10
Yes
No, high vol passes
-1
10
Yes
No, high vol passes
0
10
Yes
No, high vol passes
1
10
No, nothing passes
No, nothing passes
2
10
No, nothing passes
No, nothing passes
What am I missing here?
Other suggestions to bring the inputvolume to a fixed desired outputvolume, are also welcome.
Audio Signal Processors
SigmaDSP Audio Processors
adau1761
Hello Jaap,
Kindly take a look at the Automatic Volume Control Block in the ADI Algorithms>Unclassified.
For a more customized approach, take a look at the Dynamics Processors where you can lift the weak signals to the desired level and pull back the strong signals, all using a level curve.
I hope that this helps.
Thank you. I thought I'd all of the present blocks, but missed the AVC.
This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.
Thank you,
EZ Admin
Please log in to reply.