Topics

Audio AVC

Jim Tibbits
 

what with all the fond philosophing and theorizing and debating about avc vs.agc ..behold a REAL circuit ..

found this in an old magazine ...



Modded it to look like this


And included measurements ...something I have not seen on a lot of the others ...

No phase shifters (feedback is DC) so I doubt it will oscillate too much ...works...keeps my ears calm 

AGC/AVC is a complex problem....Simple solutions to complex problems seldom yield positive results

Jim

Jack Brabham - KZ5A
 

Looks like a simple solution to a complex problem.

73 Jack KZ5A

jim
 

Meets my criteria for a mod

(1) works
(2) minimally invasive
(3) dirt cheap, easily obtainable parts
(4) easy to remove (when it don't work)

Jim

On Saturday, April 20, 2019, 11:43:06 PM UTC, Jack Brabham - KZ5A <kz5a@...> wrote:


Looks like a simple solution to a complex problem.

73 Jack KZ5A

Jerry Gaffke
 

I'm with Jim1 and Jim2, looks fine to me.
Under a buck in parts.
The sort of thing you could mount on the back of the volume control
with the only additional wire being +12v to power it.

For all my talk of the extra dynamic range you get with RF or IF attenuation,
this simple AF attenuation AGC circuit is good enough for most uBitx owners.
Solves the problem of tuning in a weak station, then having to tear off the phones
when the big gun across town opens up.  Only disadvantage is that the
big gun might be distorted due to overloading the audio pre-amp.
You already know if that will be an issue in your particular circumstance
by listening to the stock rig.

We've had a half dozen different circuits to do audio attenuation like this
get posted to the forum.  I suspect any one of them would work well enough.
Primary consideration is, does it allow you to hear background noise when
there is no signal, yet still sufficiently attenuate the strong signals.
Without distortion, of course.
Attack and decay times are also of concern, but that should be just a matter
of fudging a couple resistor values.

Regarding Scott's comment:
  "And because I’m a dinosaur I want to believe a decent IF-derived system is better,
    though I have to admit the ubitx audio-derived stuff is pretty good. :)"

IF derived AGC signal level sensing must be done after the 12mhz filter,
or it will de-sense on strong signals elsewhere in the band.
So that sensor will be right up against the demodulator, where we have a 7dBm BFO
hitting those diodes.  On the uBitx (and Bitx40), it would be very tough to avoid
sensing anything other than the 12mhz BFO, would require a bunch of shielding
and some sort of isolation stage between filter and demodulator.
I'll live with the occasional brief pop, and stick with audio derived AGC.

Of course, if you're a true dinosaur, you're operating AM phone.
No BFO, and thus no such trouble. 

Jerry, KE7ER


On Sat, Apr 20, 2019 at 08:03 PM, jim wrote:
Meets my criteria for a mod
 
(1) works
(2) minimally invasive
(3) dirt cheap, easily obtainable parts
(4) easy to remove (when it don't work)
 
Jim

Tom, wb6b
 

Hi,

It is a simple circuit. But it does have the component parts discussed in the “control loop” versions of the subject. As the original asker asked how they work, most of the responses explained the how.

 

The signal (as controlled by the FET) is reduced when the control (rectified audio) voltage goes up. That is the first 180 degree phase shift. Your example circuit just happens to have two RC time constant delays (C4 and C2). 

 

C4 looks to be a larger delay than C2 and swamps out the possible oscillation had both time constants been close to each other. (And, also, looks like it will respond faster to the audio peaks and delay slower due to the diodes).  

 

Unlike temperature, where one degree error could start a thermostat war between the members of your family or office coworkers, it was pointed out (in another post) that peoples response to sound level is logarithmic. So the gain of the control loop can be relaxed, and thus less components like additional amplifiers or comparators in the control part of the loop. 

 

This looser control of the volume level is actually an advantage; as it lets the listener get a sense of the difference between a strong or week signal without as much danger of their eardrums being blown out by the strong one.

 

The looser control (the lower loop gain) also makes the circuit less hair triggered to start oscillating right at the 360 degree total phase shift point. (Should the phase shift actually start approaching that point.)

 

If the delays of the control part of the loop (C4, C2) did start to go past 180 degrees, the AGC could oscillate. Causing a throbbing in the intensity of the audio as it raises and lowers the level of the audio, but is slightly behind in its reaction time to the audio level change. 

 

Also, with SSB, the control does not have a constant carrier as a reference for the signal strength. So it has to work around this by looking at the audio level or the peak RF levels in the IF chain. Then it has to apply additional things like fast attack, slow delay in the level adjustment to make up for the signals arriving in bursts as the transmitting person talks and pauses. 

Tom, wb6b

 

Ted
 

This thread has been very educational for those of us who haven't dived into the front ends of a radio nearly as reply as we've done on the output or other RF sections.  Thanks, to all.

For what it's worth, I present here the Crowbar Method. It incorporates the best of a quest for maximum sensitivity along with absolute overload protection.  It began when I saw a post here for a sideband RF preamp from partsandkits, an item that I've added to both ubitx projects here.  My first stage of AGC begins with that board.

See here, the underside of the Zombie Apocalypse Survival HF Go-Kit -




Under the mainboard, the P&K he preamp is mounted convenient to the RX  signal path.




It's a pretty simple matter to add a 2N7000 or similar FET to short out the incoming RF signal (via a small ceramic cap, for a little isolation) and to use rectified audio from a LM386 to provide clamping drive.  The FET starts clamping pretty well with about .8v so experimentation with feed resistors and a touch of drain bypass was needed.




It so happens that I had already installed a kit board ND6T-style AGC which was working OK on its own,  but I still wanted a preamp for use with spotty woodland-based aerials during the upcoming apocalypse of the walking dead. So, that's why the Crowbar here is what I called a first stage while the regular AGC is now a second stage.  The bonus is that, being as I'm using the i2c-2nd-Nano S-meter mod, I do not require the ND6T board's S-Meter output for that job. 

I decided to use that output to replace the 386 clamping source and, somewhat surprisingly, there is no fighting or oscillation between these two "stages" of RF level control (and the dynamic range is stupid wide!).   The preamp 1st stage has about no delay while the 2nd is on a medium-fast timing.

Schematic available if wanted.




Ted
K3RTA

Jerry Gaffke
 

Ted,

I assume it's this RF Amp from kitsandparts for $12:  http://www.partsandkits.com/rfamp1.3.php
Not a bad idea if you have a compromise antenna such that you don't hear band noise when the antenna
is hooked up to the radio, especially on the upper bands.
Though such an antenna may not be very effective for getting out with the transmitter.

Do you have the ND6T AGC circuit with the added series element: http://www.nd6t.com/uBITX/AGC.htm
 (A kit is available from https://shop.kit-projects.com/ )
Did you find that it didn't have enough dynamic range?

Perhaps you have the earlier ND6T AGC circuit:  http://www.nd6t.com/bitx/AGC
and thus needed the extra AGC circuit.

> The preamp 1st stage has about no delay while the 2nd is on a medium-fast timing.

So "no delay" means very fast attack and very fast decay?
I would not expect that to work very well with an SSB signal.
Did you add an extra LM386 just to sense the audio to drive this extra AGC attenuator?

A schematic would be interesting!

Jerry, KE7ER


On Sun, Apr 21, 2019 at 05:19 AM, Ted wrote:
For what it's worth, I present here the Crowbar Method. It incorporates the best of a quest for maximum sensitivity along with absolute overload protection.  It began when I saw a post here for a sideband RF preamp from partsandkits, an item that I've added to both ubitx projects here.  My first stage of AGC begins with that board.

Jack Brabham - KZ5A
 

On 4/20/2019 10:16 PM, Jerry Gaffke via Groups.Io wrote:
Of course, if you're a true dinosaur, you're operating AM phone.
No BFO, and thus no such trouble.

Hey, I resemble that remark...yuk yuk yuk.

IMHO one of the uBitx's  shortcomings is lack of AM mode, my favorite
voice mode.

73 Jack KZ5A

Jim Tibbits
 

If you're speaking about the circuit I posted, the jfet (j310) is a depletion mode jfet ie. normally ON ...at zero bias on the gate, about .1 ma is flowing (voltage between source and drain = .004 volts),  negative going voltage at the gate turns it OFF (gradually) ie the tranconductance curve is a lot more 'sloped' than that of the 2n7000 mosfet (on/off at about +2.2 volts)

As the jfet is conducting signal passes thru ..(no attenuation) as signal increases, gate voltage decreases (goes minus) turning the jfet off increasing the resistance from drain to source attenuating the input signal

Diodes comprise a Negative Voltage Doubler...22 Uf cap governs attack time 100k resistor governs decay time

Jim Tibbits
 

A hack for am recieve

1) disable 12 Mhz CLK 0 ...Software would be best but ...I terminated it into 50 ohms at the raduino...Works but not ideal

2) hooked this circuit to junction of R114/R115 ...


instead of at C222-1 ...

Gets am,  Volume won't knock your socks off (need more gain as at that point rf is about 5/10 mV p-p but )...
10 mhz WWV (usb=9,996,000)(lsb=(10,002,800) or so ...

Ted
 

Jerry,

Yes, that's the RF preamp.  What really happened is that I just wanted a hot receiver, plain and simple. No excuse, no glory, just that I wanted to pick up almost anything on a string of wire for demo purposes or for field use.  Regardless of reason for it, the perception of attack and decay seem to be controlled by the traditional AGC board output (that is, the S-Meter output), as it would be after all since the traditional AGC is just before the radio's front end stuff. 

To simplify: If the latter's initial reaction to a heap of a signal were to show a high S-meter reading [had I been using the S-meter output to run an S-meter], then the former (the preamp) is going to be put on speed brake to lower what gets sent past it; I'd assume that the latter (the AGC) will immediately perceive less signal shoved into its face and will relax at whatever normal, preset recovery has been programmed.  I don't see the two fighting against each other, so, there is that bit of success.

As to which ND6T circuit i have, I've got a kit version sent to me by the same fellow who solld me a V3 board near the end of winter this year, and, I've got an SMD version right from the maker's.  Both of my uBitx radios are using this preamp/AGC combo, one with the home-wired AGC and t'other with the ready-made SMD board.  It just so happens that when a strong signal comes rolling in over a weak one, two devices are getting instruction to reduce flow. My addition partially shorts out the RX path, while the normal or ND6T type AGC "fails to pass" as much signal as it did a moment earlier. The result is the same either way, and, I'm doing both (once each in two radios) and it's fine.  Overkill, but doing fine....

Here's the hook-up, simple enough:


At first - when I had the preamp and no AGC controller at all, I did use a 386-based amp board from somewhere or another to provide the control signal.  This setup seems to only needs about 0.7v on the gate of the 2N7000 to make at least some difference; at about .8-.9v, incoming gain is subjectively reduced to just under unity/without preamp levels and at around 1.2v on the gate the radio is deaf as a post.  If operating with another AGC, it's fine that way; operating without one, I expect that I'd want the 386 back  so that the RF preamp would function better as a one-piece combination.

Jerry Gaffke
 

Ah, ok.  So it's the ND6T AGC scheme, but with an extra shunt 2n7000 (let's call it Q4) placed at the RF going into this new pre-amp, the gate of the new 2n7000 is controlled by the same attenuation signal that drives Q3 of the ND6T board.    http://www.nd6t.com/uBITX/AGC.htm
Should have the same attack and decay on your new Q4 as Don is giving Q3.    The kitsandparts RF pre-amp is placed between this Q4 and the RF input of Don's AGC.

With the preamp, the receiver might be hot enough to use one of those 3 foot chrome plated telescoping whips stolen from a commercial SW receiver.
When you want to transmit using a truly decent antenna, the extra AGC action sees the background noise, and sucks down the surplus gain provided by the preamp.
The manual RF gain control might be of help when using that decent antenna.

barry halterman
 

I installed that rf amp but had big issues with bci from a station in South Carolina on 5920khz.
I had to remove it if I wanted to operate after 4 pm. I live in Pennsylvania!
Barry

Hasan Murtaza
 

Technically the simplest circuit (for some people) would be a software solution. Send the amplified output to a diode plus capacitor in a peak detector configuration. The capacitor voltage will be a quasi DC signal proportional to the maximum value of the signal. Read it into the arduino via an ADC pin. 

So far, component count =2.

Next replace the collector resistor in the class A common emitter amplifier with a digital potentiometer. Control the pot resistance (and hence the transistor amplification) with a digital output pin of the arduino. Write some software to set the gain based on the measured peak output voltage.

Total parts count is 3. 

If you sample the audio voltage directly you can do even fancier tricks like computing rms value or histograms etc.

Hasan

Jerry Gaffke
 

Doing AGC in software would incur added delay, especially with an i2c pot on our beloved little Nano.
We want to keep the attack time as short as possible.
Would be fun to try, perhaps using one of the small ARM processors with fast embedded ADC and DAC capabilities.
Jerry


On Mon, Apr 22, 2019 at 05:45 PM, Hasan Murtaza wrote:
Technically the simplest circuit (for some people) would be a software solution. Send the amplified output to a diode plus capacitor in a peak detector configuration. The capacitor voltage will be a quasi DC signal proportional to the maximum value of the signal. Read it into the arduino via an ADC pin. 

So far, component count =2.

Next replace the collector resistor in the class A common emitter amplifier with a digital potentiometer. Control the pot resistance (and hence the transistor amplification) with a digital output pin of the arduino. Write some software to set the gain based on the measured peak output voltage.

Total parts count is 3. 

If you sample the audio voltage directly you can do even fancier tricks like computing rms value or histograms etc.

Hasan

James Lynes
 

I wondered about this approach myself.  I figured there would be too much time lag in the software path to be effective(untested).

James

Hasan Murtaza
 

AGCs are supposed to be slow to react. If they were too fast then they would distort the received signals' envelope and effectively clamp the  RF signal to a constant value. 

That might be fine for FM, but it would make it impossible to demodulate AM. For AM, the AGC loop filter should have a time constant that is tunable and long enough to not distort the audio.

Software control opens up the possibility of more adaptive AGC...squelching transients etc.

Hasan

Jack, W8TEE
 

Exactly. Consider the ESP32 with 1.3Mb of flash, 350Kb of SRAM, all scooting along at 240Mhz at a price of around $6. It also has two DAC ports. While the DAC ports are only 8 bit, it's better than no DAC. Also, you can program the ESP32 from within the Arduino IDE. So far, I haven't found any libraries that don't work with it. Oh, it also has builtin WIFI and Bluetooth.

Jack, W8TEE

On Monday, April 22, 2019, 9:37:05 PM EDT, Jerry Gaffke via Groups.Io <jgaffke@...> wrote:


Doing AGC in software would incur added delay, especially with an i2c pot on our beloved little Nano.
We want to keep the attack time as short as possible.
Would be fun to try, perhaps using one of the small ARM processors with fast embedded ADC and DAC capabilities.
Jerry


On Mon, Apr 22, 2019 at 05:45 PM, Hasan Murtaza wrote:
Technically the simplest circuit (for some people) would be a software solution. Send the amplified output to a diode plus capacitor in a peak detector configuration. The capacitor voltage will be a quasi DC signal proportional to the maximum value of the signal. Read it into the arduino via an ADC pin. 

So far, component count =2.

Next replace the collector resistor in the class A common emitter amplifier with a digital potentiometer. Control the pot resistance (and hence the transistor amplification) with a digital output pin of the arduino. Write some software to set the gain based on the measured peak output voltage.

Total parts count is 3. 

If you sample the audio voltage directly you can do even fancier tricks like computing rms value or histograms etc.

Hasan

Jerry Gaffke
 

If I'm listening intently to some weak signal from far far away and kW of carrier opens up from across the street, I want a very fast attack in my AGC.
For a strong SSB signal, the decay must be slow enough that the AGC's attenuation is determined by the voice peaks.
Best of luck with that slow everything AGC.

Jerry, KE7ER


On Mon, Apr 22, 2019 at 07:01 PM, Hasan Murtaza wrote:
AGCs are supposed to be slow to react. If they were too fast then they would distort the received signals' envelope and effectively clamp the  RF signal to a constant value. 

Jerry Gaffke
 

If you digitize the audio, you could delay it to match your pokey AGC scheme (and fancy audio filters and such too).
That's what many SDR rigs do.
In extreme cases it's like talking over a satellite link, and conversation becomes unnatural.


On Mon, Apr 22, 2019 at 06:44 PM, James Lynes wrote:
I wondered about this approach myself.  I figured there would be too much time lag in the software path to be effective(untested).