ADAU1452 volume control problem
Hi
I have 2 questions here. the input of the design is like below. using a mixer to mix 5 input channels into one, to avoid cutting distortion, set each input to -20db gain.
here comes the question: when adjust no matter using MCU or USBi, it will have a pop noise when adjust the gain of the channel.
so, find another solution to increase the max value of the volume as below
here it comes another problem, when set db above 0, the output wave will be
tried all volume control, gain, same problem.
any clues to solve the problem ?
Audio Signal Processors
adau1452
SigmaDSP Audio Processors
volume control
Hello,
It appears like both the pops from gain changes and the offset scope waveform result from DC mixed with the audio from your inputs. If your input signals originate from ADCs, for example, note that many audio ADCs have a DC offset of around 40 dB below full scale. There may also be issues with how the audio is coupled into your ADCs (leaky caps, for example). You could try connecting DSP Readback block(s) to one or more of the inputs in your project -- with no signal at the analog inputs to your ADCs, the readbacks should measure near zero. You can get rid of any residual DC by placing DC Blocking Filters in your project, right after the inputs.
Best regards,
Bob
Hello Bob
the system is all digital without any DAC/ADC. so DC should not be there. say if I change the input gain to 0db, output signal is normal. or if I use 0db volume control, output is normal too. same schematic, just change the volume to 0db above, then output goes wrong. so my conclusion is the volume control/gain part has a bug or I could not put a gain greater than 1.
Best regards,
Power Pan
Yes, the absolute value of the output cannot be greater than one or it will clip. Take a look at the numeric formats section of the data sheet. The default 8.24 data format is 24 bits of audio data plus 8 bits of headroom. On output to the serial port, the MSBs are truncated.
hello Ken
thanks for the answer.
as I think, gain is a multiplier only, I have no clue why it could not get greater than 1. anyway, any way I could compensate the gain in my design?
Please log in to reply.


