Control automático de ganancia

#1
me gustaria crear un circuito para poder adecuar una señal de entrada sinusoidal de valor en principio desconocido (normalmente varía entre 100 mV de pico y 1 o 2 V de pico). Esta señal la tengo que meter a un ADC, pero entre unos márgenes concretos para que funcione correctamente (por ejemplo, 2,5 V de pico máximo).

Supongo que para esto necesito un circuito de control automático de ganancia que se sitúe entre la primera señal y el ADC, y que convierta la sinusoidal en una tensión de 2,5 V de pico. He estado buscando por internet y la verdad es que no he encontrado una solución factible.

Una de las mayores pegas que tengo es que necesito saber la ganancia que estoy aplicando en cada momento, para poder procesar después la señal que sale del ADC en un DSP. ¿Se os ocurre alguna idea?

gracias y saludos
 
#2
Si lo que necesitas es que la señal no supere los 2,5Vp lo que podes hacer es usar un recortador con diodos. Por supuesto que si la señal pasa de los 2,5V se arruina.

Para hacer un AGC se puede utilizar un operacional realimentado y una de sus resistencias cambiarla por un FET. Este cambia el valor de su Rds en funcion de la tensión en el GATE cambiando la ganancia del conjunto. El problema sería medir la ganancia en cada momento. Para eso se me ocurre unicamente que midas la tensión aplicada al GATE a cada instante (otro ADC) y conocer de antemano la ganancia del conjunto en funcion de esa tension.

En esta pagina explica como funciona el FET en este caso:
http://freespace.virgin.net/ljmayes.mal/comp/vcr.htm

Tambien hay un compresor como aplicación de lo anterior.
 

Fogonazo

Exorcista & Moderador eventual
#3
Cualquier cosa que intercales entre el ADC y la señal genera posibilidad de error en la medición.
Por que no atenuar la entrada 5 veces (Con un divisor resistivo), con lo que consigues que la variación de entrada valla de 20 a 500mV.

Si lo que quieres es conseguir varios rangos de medición, puedes hacerlo con mas de un divisor de tensión resistivo, conmutas entre uno y otro con relees, como tu conoces el factor de división tu software corrige el dato al valor real.
También existe un conmutador analógico que podría emplearse pero es difícil de conseguir, se podría emplear un conmutador CD4066 pero tiene una resistencia R-On un poco alta y podría afectar la medición.