This page contains descriptions of my tube based phono amplifier projects.
The projects are used as an example for RIAA filter background
As part of this exercise I developed some spreadsheet programs that support me in finding the right combination of component values that make up the filters. Also, these Excel programs make nice plot charts for a range of frequencies. If you are interested in obtaining a copy please send me an email.
In order to better understand Output impedance of Tubes, and calculate C_miller etc. read the correspondig background page on Tube formula's. This page includes a spreadsheet for convenience.
As an exercise, I will try to work out the formula's for Tweety and the new project Jerry (example 2). Tweety uses a different RIAA filter than the one described above. It is even harder to compute and to tweak without the help of SPICE simulation software. That's why I use SuperSpice to check the design in a matter of minutes. But on the other hand, the advantage is that tweety does not use a separate resistor for R3 which makes this design simpler.
The figure above contains the schematic of Tweety's RIAA filter section. The actual filter is described by R1, C1, R2 and C2 but it is extended with other relevant components or substitutes for larger sections of the design such as Ru, the output impedance of the input section. Parasitic capacitances such as Miller capacitance is given by Cmiller.
But first of all, let me try to describe the transfer function for the simple filter described by R1, C1, R2 and C2 only. The impedance of the section defined in the figure by Z-filter is given by the sum of the impedances of R2 parallel with C2 in parallel with R1. As such, the impedance Zf would be defined by:
Well, since I'm not at all good at making big calculations without my computer, I have put this formula in the spreadsheet. I have substracted the outcome with the computed RIAA value and the difference was plotted in a chart. Also I took the SuperSPICE simulated outcome of the complete Tweety design (=SSpice built) and the difference of these simulation and RIAA were also plotted on the chart. Finally, I even calculated the transfer function of the total figure t2 above (=Calc Tweety Built) and plotted the results.
As described above, many components in a pre amplifier influence
the frequency response. Therefore, the more components we include in our calculation
the better the results will be. Hmm, I suspect that it will take too much of
an effort to actually compute the complete Tweety design including all tubes,
power supply etc. It is nearly impossible to write down a model that describes
the transfer function for such a complicated design. Moreover, assuming that
most components in Tweety are designed to give a flat frequency response with
the only exception being the RIAA filter components, we will extend the filter
model with a few additional components that influence the behaviour of Tweety
and that should be taken into account in order to have Tweety (and not just
it's filter) behave nicely.
What this gives me now, is a model in spreadsheet format usable for almost every kind of input stage that allows me to quickly "see" the effects of modifying capacitor or resistor values in spreadsheet chart. Yummie, within minutes I discovered that Tweety could have been made better (too bad) and also that this type of filter does not allow too much of a tweaking.
I used the following values for the components of Tweety:
The result is found in the chart below. Please take into account the The blue line, just the filter, WITHOUT Ru, is using the same values and therefore this curve is plotted with a R1 value that is 44K higher (R'1=R1+Ru=164K).
Easy to see is that the curve for Tweety is within 0.5 dB of the RIAA reference curve for most (except possibly for the lowest freqs) of the 20-20kHz frequency range. Under load of the amplifier, simulations with Tweety show that there will be a slight attenuation of lower frequencies which makes the response below 50Hz flatter.
Still, I'm not entirely satisfied with the filter behaviour of Tweety since I have the feeling that with just a few small modifications the frequency response could be better.
The chart above shows that indeed the raw filter behaves rather nicely w.r.t. the RIAA curve, but that when we take the Ra of the input section into account and Rg and Cmiller of the second (SRPP) stage there is a difference between just the filter and the model for the filter including the substitute values Ru, Cm and Rg. On the other hand, the computed values of "Calc tweety built" match nicely with the SuperSPICE output of the whole Tweety design. However, making calculations with SuperSPICE take minutes, and making scenario's in spreadsheet is a matter of seconds.
I've calculated the formula 4.1.2 below and it is plotted in the chart (fig. 4.1.1) above as "Calc tweety built". For those that like to read long formula's: The transfer function of the Tweety filter including Rg, Cmiller and the output impedance of the first stage is as follows:
Finally, we have to include the coupling capacitor into the model and we're nearly complete. The audio capacitor in tweety is a 0.47 uF Auricap. The capacitor forms a hi-pass filter, and if not chosen right it will filter not only the lowest frequencies (and DC of course) but also the higher frequencies.
In order to quickly include the coupling capacitor in the formula above, we should change the value of ( R1 + Ru ) with ( R1 + Ru + Zcap ) where Zcap = 1 / ( j w Cc )
After recalculating the (already quite difficult) formula above it yields:
The resulting chart is plotted in the figure 4.1.1 as "Calc Tweety Enh".
As a "what-if" exercise I played with the values of R1, R2 (and C1) in the spreadsheet until I found a couple of values that made the RIAA filter of Tweety follow the standard as good as possible. Again, there is only limited amount of tweeking possible with 4 components but I wanted to see if I could have improved on Tweety knowing what I know now. I ended up with the following values:
Note: I kept the values for the capacitors the same and tried to obtain better results by tweaking the resistor values. Here is the chart of that exercise:
The chart shows how the Transfer function of the filter alone (computed at the beginning of this chapter & plotted in purple) compares to the calculated values of the extended filter including Ru, Rg and Cm (plotted in Red). And it shows how the output of SuperSPICE model of Tweety (full schematics) in light-blue is only off in the lowest and highest frequencies. The lower frequencies are influenced by the signal capacitor of 0.47uF, the highest frequencies are probably cut-of because of additional capacitances in the design. The filter-only calculations have been made with an adjusted R1 which is 89K+44K of Ru, this is important to compare the filter-only with the complete section and the total Tweety SPICE simulation.
In light-yellow, you can see how the SuperSPICE simulation of Tweety as built by me stacks up to the new filter values. Hmmm, the new proposed filter values make Tweety a bettter singer, but changing resistor values alone will not bring it within 0.2dB of the ideal RIAA curve.
The last attempt to improve the RIAA filter of Tweety did not bring me enough to open tweety up again and change the necessary components. And I should know better too. The relative simple filter design used in Tweety can in some areas only be tweaked by changing capacitors as well. Playing around with the spreadsheet with the formulas above gave me within 2 minutes the following alternative values for C2, R1 and R2:
According to the spreadsheet (I've also run a SPICE simulation), these values yield the following results (plotted in the chart).
Yummie, this is better than I expected, and it's for sure enough to open up Tweety and try these new values out.
The conclusion therefore is simple: The enhanced version of Tweety would respond better to the ideal curve than the one built by me. It's not dramatic but there is definately room for improvement.
Tweety could best be improved by making use of a different value for C2 and change the values of the resistors to match this. When using the spreadsheet model for recalculations I found 7.2nF to be a much easier value to work with. And although 7.2nF may not be a standard value, combining 3.9 and 3.3 nF yields exactly that value and by putting these two caps parallel we will get an even more accurate match of value.
Secondly, by adding an additional resistor between C2 and ground, a 4th timeconstant will be introduced that could bend the curve for higher frequencies at 50kHz.
I might work out both options in a later stage when I have more time available. At the moment I found that a filter setup with two capacitors and four resistors will do better in my next projects and I will focus on the calculation models for these filters first (read the next example).
This example describes Loekie and it's filter. I built Loekie somewhere in 2003 and the schematics, constuction and rest of the story can be found on the DIY page for Loekie. I have bult Loekie based on several computational models and a SuperSPICE model for Loekie. Still I did use standard values for capacitors and resistors, so probably I'm not using the ideal values for these components. Let's have a look whether there is still room for improvement of Loekie.
Looking at the filter design below (figure 4.2.1)I will use a 2.2 nF capacitor for C2 since it will work with a higher value for R3 yet the value of C2 is large enough to mask the efffect of miller capacity and the parasitic capacitances of wiring etc. I simulated this design in SuperSPICE using ECC83 tube in the input and a second stage with ECC83 in SRPP.
Two circles are drawn in the figure above: Z3 is the resulting impedance of Rg parallel with Cmiller and C2 in serie with R4. Z2 then is the resulting impedance of the series resistance of C1 and R2 in parallel with the series resistance of R3 and Z3.
Well, I'll start working on the transfer function of Loekie. The function will also be applicable for Scratch, Jerry and other RIAA filters with the same set-up.
Of-course, we are playing with the simple filter here, thus we will have to add-in the Ru of the input stage and the Rg (2Meg) and C_miller of the next stage. However, Since C1 * R2 = 318 uSec and C1 = 22nF, the value of R2 must therefore be close to 14.545 K. And now we know R2 we can compute R1 as well, since C1*(R1+R2) = 3180 uSec, R1+R2 therefore is 145K and after substracting R2 we find that R1 will be 130.090K. Since the formula above is more complex for R3 than just this, the actual value will be different, but is is a good starting point for the spreadsheet calculations. Given the fact that in the actual situation R1 would be in series with the output impedance of the input stage of the ECC83 (= 44.117kOhm in case of Tweety), we have to use/build a resistor value of 130-44=86K for R1.
Similarly, we can compute R3 and R4, although we have to keep in mind that parasitic capacitances (Cmiller etc) will have an influence on the effective capacitance of C2 and that part of the filter. As a result, R4 will probably be smaller since otherwise the curve will be off too much. Well, since R3 and R4 determine the second pair of pole and zero of the RIAA curve, R4 determines the 50KHz point that is often chosen as the point where high frequencies are not filtered anymore, and R3+R4 determines the 2122 Hz (50 uSec point). Because the zero point (50KHz) is not at all critical as these freqencies are above our hearing range anyway, a value of 100 Ohms for R4 is probably enough for the moment.
The value of R3 in the simple model above can be WAAAAYYY off if the value of C2 is not much larger than the Miller Capacity. Since the calculated miller capacity for the SRPP second stage is 140pF, the effective value for C2 (assuming R4 is small or 0) is increased with 140pF. Also, the seond stage of the filter is influenced by the output impedance of the first stage. Calculating the value of R3 just making use of the idea that 75uSec devided by 2.2nF would probably yield a pretty close result is therefore not correct. 75uSec / 2.2 nF gives a value of 34K for R3 But in spreadsheet calculation 22K is a better value whereas SuperSPICE works much bettter with 21K. When correcting the value for C2 (2200pF + 100pF) (140pF is the correct value) in the spreadsheet everything falls in place: Now the spreadsheet calculations match the 21K of the SuperSPICE simulation.
Still, for lower frequencies the calculation is way off compared to the SPICE simulation. When changing the signal capacitors of 470nF and 330nF to much higher values the SPICE model shows an increased bass level too. This means that it makes sense to take the value of the signal capacitor into account as well.
In the next paragraph I'll try to model the signal cap in as well to some degree.
The filter calculations of loekie can be extended with a computational model that includes the Signal Capacitor.
The formula's found below describe how we modelled the spreadsheet such that it becomes much closer to SPICE simulations especially for the lower frequencies.
Unlike the Tweety example, for Loekie's formula I did not yet include the grid resistor and the Miller capacity. Also, while making calculations for a few projects that I also simulated with SPICE I found that these formulas do not correctly handle the lowest frequencies. Probable because there is a second signal capacitor on the output, and tube characteristics add to a limited bandwith under load.
Okay, and how would the results of the last calculation look in a chart when compared with the same circuit modelled in SuperSPICE? Well, that's easy, we can output the superspice data and the calculated values for a certain setup and plot the differences of each one with the standard RIAA curve.
Spreadsheet time .....
In the chart above both the formulas (clc) and the SuperSPICE output (ss) for Loekie are plotted for both standard RIAA (sRIAA) and enhanced RIAA (eRIAA) reproduction. Clearly shown is that I followed the standard RIAA curve more than the enhanced one, something I might want to change when I give Loekie a rework some day.
The effective value for spreadsheet calculation of C2 was increased with half the Miller capacity. I therefore used an additional 80 pF effective correction for C2 since Miller Capacity is parallel to C2 (and grid resistor). The real relation between C2 and the Miller Capacity is more complex, but an approximation of C2+0.5*Cmiller works reasonably well.
Based on the assumption that the computational model is close enough to SPICE output, we can look for better values for Loekie's filter section with help of the spreadsheet. I'll aim at enhanced RIAA compliance so the value for standard RIAA will be off (about 0.8 dB at 20 kHz and rising steeply from that point)
With help of the spreadsheet program I found the following values for Loekie that seem to outperform my current components:
So, that's much better. When I have time next weeks I'll put the new component values in a SPICE model and plot the resulting values in figure 4.2.3 as well for comparison.
There is three types of conclusions I need to draw:
As said above, apart from the sound of Loekie (which is really good), its filter section could be improved especially for the lowest frequencies. As however most speakers (including mine) tend to have difficulties with frequencies below 80 Hz anyway, the small boost of frequencies in this area will not be noticed in general. I now think I should have used a larger value for R4 in the filter which should have resulted in Loekie better implementing enhanced RIAA reproduction. A values of 1.4k for R4 is according to simulations a better value, and R1 should be closer to 100k instead of the used 115 kOhm.
In the sheet it is shown that for lower frequencies the calculations are still more optimistic than the SuperSPICE simulations, but the simulations take into account the cascaded effect of two signal capacitors and some other factors such as the load at the output resistor, tube characteristics etc. But my general conclusion is that the computational model is usable over the frequency band of 20-20kHz given that the remaning part of the amplifier design offers enough bandwith. The model and the corresponding spreadsheet offer the possibility to simulate lot's of resistor/capacitor combinations for the RIAA filter in a matter of seconds and adjust these values in order ti obtain a better/flat curve.
Email me if you like to work with the spreadsheet.
Hmmm, The curve for Loekie is not too bad, but enough room for improvement. Although still not perfect, the spreadsheet model allows me to quickly match resistor values to certain standard capacitor values for a RIAA reproduction network. Fine tuning needs to be done using a full-blown SPICE analysis and at the bulding stage by closely matching capacitor values. And as a last check, comparing the output of the phono-pre with a scope or spectrum analyser.
And yes, after updating this page I know I should open up both amps and improve the filter network.
Since Scratch has an identical filter setup as Loekie and I have Scratch already available in SuperSpice, it is easy to make an analysis of Scratch as well.
Ever since I built it, I have Scratch switched on in my study as the phono amp for my Thorens TD160. And as I'm very satisfied with the sound I do not feel the urge to open Scratch and change it's filter from top to bottom.
But this is science, you need to know right? And although I know already that Scratch is off by 0.5 dB in the higher freqs, I like to check my formulas against SuperSpice output and see what potential for improvement we have with Scratch.
I have compared the version of Scratch built by me with some "enhanced" values based on spreadsheet calculations and verified with SuperSPICE. Also, I added the fourth timeconstant for RIAA and as a result, the red line in the figure shows Scratch'behavirou for the enhanced RIAA curve. Forunately, the spreadsheet model and the SPICE tools agree on both gain and phase behaviour of the design.
What was changed?
Right after publishing my formulas for Loekie and Tweety I was contacted by Ronald who asked me for a spreadsheet to calculate a 2-stage model. In principle such a model is easier to calculate, since each stage of the RIAA network between two tubes contains only half of the filter, so pole-zero filter which is considerably easier than a complete filter with two caps and 4 resistors. A generalized figure of such a phono amp is found below. Note that numerous variations are possible ranging from location of the audio caps Ca, or not being present at all (DC coupling) or grid-to-ground resistors not being present or even the Cathode Follower (tube 3) not being present but feeding in the next stage of a preamp instead.
However, since I did not have a spreadsheet ready at that time, I provided Ronald with a spreadsheet with two worksheets of Loekie or Tweety and told him to disable parts of the filter and then add the results in a third sheet in order to compute the resulting total filter.
Hmmm, although it provided a good idea about component values, it was not perfect and therefore I made the calculations for such a 2-stage filter from scratch and made a separate spreadsheet for such models. Also, since Ronald wanted the audio capacitor to be after the filter, just before the grid-to-ground resistor it's value would be different from the value computed in the Loekie model.
For each of the two stages we can use an identical model which is described by the following schematic (and you can later disable parts for example if your stage is DC coupled you leave out the C_a). The value of Ro can be computed using these formulas.
The formula's for calculating the transfer functions are found below:
If you do not use an audio capacitor but make a stage DC-coupled then use a value of 1 for the capacitor. If no grid-to-ground resistor is used, use a sufficiently large value (20M) in orde to limit it's effect. For the other resistor (for example R2 in case the fourth RIAA time constant is not used) use a value of 0 to model a wire instead of a resistor.
in some designs, the second stage of the filter is not in between two stages, but feeds into the input of the preamplifiers without buffering. In this case, the Grid-to-ground resistor can be used to model the input impedance of the next piece of equipment. and C_miller can be used to model the capacitance of the interconnects together with the capacitance of the next stage.
Ronald had plans to build his preamp using DHT setup. And the tubes he used: 1G6gt and 1G4gt are not the most well known types around, and not well documented either. As a result, i could not find a SPICE model for SuperSPICE I could use to simulate the model, and an accurate model was more than welcome.
This is a picture of his preamp schematics:
At this moment Ronald is working on making the first prototype on the breadboard, but with use of the formulas computed above rounding to the next standard value we would get the following values:
|Component||val Stage 1||Val Stage 2|
|C_audio||1 (wire, not present)||0.47uF|
|R_g||100M (not present)||2M2|
R_out is computed using the tube parameters in the datasheet (two tube halves
parallel for 1G6gt tubes). The deviation from the RIAA curve is within 0.05dB.
Of course it's possible to get even closer but given that there are so many
more components involved (tubes with their aging etc.) it's probably a good