Close

Receiver Audio Circuit

A project log for BARC 20m QRP Transceiver

A portable 20m QRP transceiver designed and built by the BARC tech night group.

trevor-rh-clarkeTrevor R.H. Clarke 02/27/2022 at 17:410 Comments

I started working through the receiver audio circuitry. I spec'd out what I think is a reasonable circuit but it might require some tweaking once the receiver is built, especially the equalizer points. I've had quite a bit of experience designing audio circuits as another hobby of mine is music synthesizer design so I used that as a starting point.

You get the most "punch" from transmitter audio equalization but some subtle filtering at the receive end can help clean up poor audio and provide some adjustment for the listener. This is a low power, portable radio so we don't want anything too complex or power hungry so we'll do minimal processing.

We also need a fair amount of gain in the audio stage to make up the remaining gain for the system. The following table helps us determine the total gain we'll need.

S numberPower relative to 50Ω <30 MHz>30 MHz
S1-121 dBm-141 dBm
S2-115 dBm-135 dBm
S3-109 dBm-129 dBm
S4-103 dBm-123 dBm
S5-97 dBm-117 dBm
S6-91 dBm-111 dBm
S7-85 dBm-105 dBm
S8-79 dBm-99 dBm
S9-73 dBm-93 dBm

We'd like the dynamic range of the system to go from S9 down to about S5 which is 24 dB of dynamic range and a minimum of about 86 dB of gain. This puts the output at about 15 mW for S9. This app note talks about headphone power level requirements and it can be complex and pretty specific to your headphone, but in general a few mW to maybe 10 mW or so is a good maximum for many small headphones. This might be a little low for S5 (0.1 mW output) but a few more dB can be added somewhere in the chain if needed.

The IF currently provides about 60 dB of gain so we need another 26 dB in the audio path, maybe closer to 40 dB for the weak signals. This is very achievable with a couple of opamps.

Opamp selection can be difficult these days, there are so many options out there. There are some decent "jelly bean" parts however. The N553x series is a go-to for hifi audio work but it's not inexpensive and probably overkill for this application. The TL07x is also a great opamp for audio work if you need a JFET input, but their primary advantage is when you have a very high impedance input and 50Ω hardly qualifies as high impedance. That brings me to my other go-to voltage opamp for audio work, the TLV915x series. Low offset voltage, low drive, low noise, low bias current, decent GBW and rail-to-rail operation over a large power supply voltage range make this a great choice. It's cheap too, about $1.50 in small volumes.

The TLV9152 contains two opamps in a single package and we'll take advantage of this by using two gain stages. One will be an active bandpass filter and the other will be a straight gain stage. When designing a filter there are a number of architectures available. The Sallen-Key is a very common active filter design but when gain levels get larger, the Sallen-Key becomes pretty sensitive to component values so higher precision components are needed. At this point, I usually look at a multiple feedback architecture. There's a great tool to help with the design here. Since our target frequency range for speech is about 300Hz to 3000Hz we'll look at a center frequency between 1k and 1.6k and see what the filter looks like. A Q factor between 1.5 and 2.5 should work well enough. Divide the center frequency by the filter width at -3dB to get the Q factor. After playing around with the values a little, the following values are what I came up with.

The plots show that it's unconditionally stable but I'd still like to do a little more simulation so I built it in Micro-Cap. The circuit is available in github. You'll notice a few extra components in there. I have a voltage source (V1) and a 300Ω load resistor (Rload) to make the simulation work. Headphones can run anywhere from a few Ωs to thousands, but 300 is a decent compromise for low and mid-level headphones. Feel free to adjust if you know what you'll be using. There are some lot values assigned to the passive components and these represent the variation in values. E96 resistors, for example, have a lot=1%. This will help with worst case analysis later. There are also Probe components which are necessary for stability analysis. They indicate where the circuit should be broken to calculate the open loop values.

In addition to these, I added a 16dB inverting gain stage to make up the remainder of the gain for the audio stage. There's a DC blocking capacitor and current limiting resistor at the end of the chain to prevent momentary short circuits from blowing up the opamps. These can happen when plugging in the headphones to output jack. There's also another load resistor (Rstage1) so we can compare the output of the filter to the output of the entire audio stage.

I run an AC analysis from 1 Hz to 100 kHz to see what the Bode plot looks like. The red plots are the first stage and the blue plots are the overall. I've marked the voice frequency range. The filter gives us just short of 20 dB gain and we get another 25 dB from the overall system. A little more than our design calls for but still pretty good. We should be able to adjust the feedback resistance in the second stage for volume control across our desired dynamic range. More on that later. Also note that the second stage does roll off the low-end more since C3 forms a high-pass filter with the load. It's well below our 300 Hz target so we won't worry about it, although we could turn it more into a low shelf if needed.

Next we'll run a stability test which lets us know two important things, the gain margin and the phase margin. We'll see the familiar Bode plot but with two extra arrows indicating these margin values. The numbers are on the tab labeled NYQUIST. Reading a NYQUIST diagram is beyond the scope of this post so we'll skip it for now. The gain margin is 38.77 which roughly means that we can add another 38 dB of gain to this stage before it becomes unstable and oscillates. Plenty of headroom. The phase margin of 322.89 has a similar meaning but has to do with the phase shift (delay) through the stage. It also important to look at where this margin is in comparison to the frequency of interest. In short, there's still plenty of margin there as well. Running the analysis on stage two shows we can add 46.27 dB gain across the stage and a phase of 90.23 degrees. That's a little closer than we normally would like but it'll still ensure there are no unexpected oscillations in the audio.

Earlier I talked about adjusting the gain of the second stage. Currently, there's a 102kΩ resistor in the feedback loop. If we change that to a a fixed resistor and an audio (logarithmic) tapered potentiometer, we'll get a decent volume control. We could simply put a potentiometer after the second stage and attenuate, but this is preferable as it will introduce less noise. A unity gain stage would require a 3.4kΩ resistor in the feedback path so if we use that for our fixed resistor then use a 100kΩ potentiometer, we'll get approximately the same total gain. We can easily simulate this in Micro-Cap by setting the Stepping in the AC simulation. Set the stepping component to R6 and the range from 3.4k to 103.4k. Use a Step Value of 2 and log stepping. Make sure you enable Step It then run the simulation. I turned off the display of the stage one curve so it's easier to see what's happening. A couple of markings on the graph show a range of about 30 dB from 15 dB to 44.8 dB of volume control. Perfect!

Since we've got the simulation up and we've entered tolerance values, we'll do a Worst Case simulation. In the AC Simulation, select Worst Case from the AC menu. You'll see all the components with lot values. Add outputs for the maximum gain and the center frequency at maximum gain.

High_Y(dB(v(Rload)/V(1)),1)
High_X(dB(v(Rload)/V(1)),1)

 This shows us the Y value (gain) and associated X value (frequency) of the gain peak. A number of simulations will be run while randomly varying the component values within the specified precision. It's a small circuit so I enabled EVA (Optimizer) for more accurate but slower results. By default, a Gaussian distribution of values will be used. Click Calculate and watch as the simulations run. After a minute or two we'll get some results. The important parts of this are the frequency and gain ranges as a percentage. The RSS (root sum squared) range of gain values is -1.15% to +1.03% or about a half dB either way. The corresponding RSS range of frequency values is -6.66% to +7.54% or less than 80 Hz either way. These seem acceptable to me so I'll add them to the KiCad schematic.

Discussions