threeme3 / usdx

Simple and experimental (class-E driven) SSB transceiver.
616 stars 221 forks source link

Slow AGC issue on strong signals #64

Open armSeb opened 2 years ago

armSeb commented 2 years ago

Hi Guido,

There is an issue with the slow AGC algorithm. When receiving a very strong signal, the AGC stays blocked and never increases the gain. I modified the code to display the centiGain value on the S-meter, and when this happens I can see that the centiGain value is 15. This causes the gain to never increases when the strong signals disappears because 15 >> 4 = 0. We needs to stay > to 16.

To solve this issue, I modified the strong signal condition, from :

if(HI(abs(out)) > HI(1536)){ to if(HI(abs(out)) > HI(1536) && centiGain > 16){

Maybe there is a more elegant way to solve this issue but it works on my side.

Regards,

Sebastien.