DSPRelated.com
Forums

AGC Reversion

Started by Gema...@hotmail.com October 10, 2006
I have music signal distorted by AGC (Automatic Gain Control). Reversing this is a hard problem, for sure.

Does anyone know of any product or literature that deals with this problem?
Gematria-

> I have music signal distorted by AGC (Automatic Gain Control). Reversing
> this is a hard problem, for sure.
>
> Does anyone know of any product or literature that deals with this problem?

At minimum, you will need to know the characteristics of the original AGC circuit;
i.e. thresholds, attack rate, decay rate, etc.

-Jeff
does anyone know of a block diagram for automatic gain control system. i have an audio signal form a microphone and i need to keep the volume constant, that is constant gain and remove the wide band gaussian noise. also i need to detect the silence perioeds when the there is no speech. please tell me if anyone has a matlab code or a block diagram for such a circuits
regards,
taqi

Jeff Brower wrote:
Gematria-

> I have music signal distorted by AGC (Automatic Gain Control). Reversing
> this is a hard problem, for sure.
>
> Does anyone know of any product or literature that deals with this problem?

At minimum, you will need to know the characteristics of the original AGC circuit;
i.e. thresholds, attack rate, decay rate, etc.

-Jeff
Ray-

> >At minimum, you will need to know the characteristics of the original AGC circuit;
> >i.e. thresholds, attack rate, decay rate, etc.
> >
> >-Jeff
> > For sure, let's imagine that the parameters are known. That is pretty easy. In
> fact I have some pretty solid ideas as to what the corrected signal should sound
> like. This means to me roughly that each peak in the signal needs to be recovered
> by specifying its amplitude by hand. And this new value needs to be input as a
> boundary condition to some differential equation. But what equation? I would much
> rather not have to go through a needless re-derivation if possible.

A differential equation? The key part of an AGC algorithm is some type of adaptive
"gain coefficient" calculation, usually based on energy, power, or peak amplitude
detection -- or combination. The gain factor typically is then applied with (2)
exponential filters, one for attack and one for relaxation. The job becomes
detecting in the the signal when the gain coefficient changed. That's not so easy
without the original signal. But if you could do it then finding what the gain did
between those points is simple -- I don't see why you need a differential equation.

To find the change points, maybe something like a long dc average filter combined
with an amplitude envelope -- look at the envelope first for a slight discontinuity
or "non smoothness" (maybe first derivative of the energy envelope) and then
correspond those candidate points with the dc average to verify that something really
did happen.

-Jeff