02-21-2012 03:56 AM
Does any one has experience in Dynamic Range Control? I need to have level adjusment in my project because I am doing FM modulation and I don`t want my deviation goes far from 75KHz deviation. If the input signal is going to create more than 75KHz deviation the level adjusment reduce it and when it is below 75KHz then ignor reducing and operate with normal values. please let me know if you have some thing to say.
02-21-2012 05:43 AM
What you're describing is usually called AGC or automatic gain control. This usually involves
a feedback loop with a very low pass frequency to avoid signal distortion. You can google
for AGC and probably come up with some good recommendations.
02-21-2012 07:24 AM
Well I didn`t find any good source. They just mentioned about AGC and most of them are in high frequenies. If you can, please expain more for me or help me to find a good one.
02-21-2012 10:33 AM
When I googled it, this paper come up near the top:
It's mostly theoretical, but gives formulas and block diagrams that are helpful
in understanding the process of AGC. Note that in their application there is
a delay introduced in the signal path in order to allow the energy estimate of
a particular sample to be applied to the same sample. For "live" audio,
where a delay may be undesirable, you would normally work with the energy
estimate of preceding samples. This means that for an application like
the gunshot noise, a typical broadcast style AGC wouldn't work well. However
for speech and music, where you don't typically have such isolated peak
amplitude spikes, you can get away without the delay.
The main idea of AGC is that you first take the envelope of the signal,
then filter it to get an average energy measurement. Then you use
an inverse function of the energy as a gain on the unfiltered signal.
Normally there are limits imposed on the gain function to avoid effects
like line-frequency hum or hissing during quiet periods.
02-25-2012 04:32 AM
Thanks again. But honestly I confused. First of all, I am confused about the difference of Dynamic Range Control and AGC. What is the different? On the other hand I don`t know how to implement it inside the FPGA( I am not as good as you) and It comes a difficult problem these days. Is it possible to help me with some lines of FPGA implementation(VHDL)? In one thesis I have read that he has feedback from the input of FM block and He compare it with maximum value and the output of MAX value comparator goes to level adjustment. I don`t know what he mean for this blocks? Is it AGC or DRC or .....
Please help me to figure out this problem.