Phono preamp measurement setup

Hi everyone, I am currently waiting for my 403 to be delivered and am thinking about accessories to get. In that regard I was wondering how to properly configure a phono preamp measurement. The preamps I am building are for MC cartridges, using input transformers. Floating primaries making use of the differential nature of MC cartridges. Usual cartriges used are about 5R impedance with 0.5mV output.
I was wondering how to best replicate that. My current idea is to build differential cables with a resistive voltage divider (SMD resistors placed in the plug going into the DUT) with generator set to 1V output:

In that regard I am wondering what the optimum attenuation of the voltage divider and generator setting would be to add the least amount of noise?

English isn’t my first language and I am sorry if this sounds confusing.

I have done the same, however I was using a floating source.What you have will have .5V common mode on the preamp which will most likely overload its inputs. Maybe not if the transformer input is isolated from ground. Still a balanced or floating source would be the right solution. You could build a balanced driver or use a matching transformer. The common ground between the generator and the analyzer may be a problem. You may also have issues with dynamic range- there is a 40 dB difference between 20 Hz and 20 KHz. The traditional approach is a passive pre-equalizer. This however adds to the tolerance and accuracy issues with 4-6 r’s and c’s.

I will use the RIAA weighting that comes with the QA40x software. And I will use a resistive voltage divider to get the 5R source impedance a cartridge would come with.
I don’t know what ratio of internal attenuation of the 403 analyzer and external attenuator would give the least noise contribution.

I have made a -60 dB cable for my RIAA amp measurements. It works well especially for MC gain range. Your suggestion will work fine but as QA403 has balanced outputs, you don’t need to tie the lower end to GND.

Note that the inverse RIAA weighting that comes wth QA403 is rather inaccurate. I made my own much more precise one to replace that by running LTspice simulation of the accurate correction and modifying the output file.

Thanks for your reply. The ground in the schematic is necessary for Spice to run a simulation, in reality it will be floating.
Would you mind elaborating the part of doing a Spice simulation to come up with a weighting? I was under the impression that the RIAA transfer function is defined and that can easily be put in as a weighting?

Very good - your cable plan seems perfect to me then. 60 dB is just about right for MC and if you attenuate an extra 6 dB, you can zero out the effect of differential output.

The RIAA transfer function that is part of QA40x installation is a table that has only a bit over 20 data points. If you need accurate response, that is not enough even though it is of course quite easy to include it as user weighting. There are several ways to create more accurate weighting tables: Excel can do that but I happened to have a suitable LTspice circuit with inverse RIAA formula already added so I just simulated that and exported the inverse RIAA node output as text.

Here’s a snippet of my simulation circuit. Please ignore the rest of the schematic after E1. I just ran the simulation with 10 points per octave and saved the output of E1 which was rather easy to convert into txt file that QA software understands. I would share my .txt file but this forum software seems to only accept picture files.

Maybe I’ll try to add the text file here as text. :slightly_smiling_face:

Copy and paste to a .txt file starting from # below (there’s a point as 1st character to avoid the forum software to interpret # as text formatting):

EDIT: This is the playback response, first column is frequency and 2nd column is gain. When you need recording response (inverse RIAA), just invert the sign of the 2nd column.

EDIT2: Playback response is what you normally need since QA software applies it inverted to the measured response.

.# RIAA Standard Response Normalized to 1 KHz (Hires)

2.00000000000000e+001, 1.93631299511151e+001
2.14354692507259e+001, 1.92760754069775e+001
2.29739670999407e+001, 1.91782296931810e+001
2.46228882668983e+001, 1.90685491825276e+001
2.63901582154579e+001, 1.89459622998874e+001
2.82842712474619e+001, 1.88093869264827e+001
3.03143313302080e+001, 1.86577514385797e+001
3.24900958542494e+001, 1.84900190394962e+001
3.48220225318450e+001, 1.83052147149202e+001
3.73213196614723e+001, 1.81024537977486e+001
4.00000000000000e+001, 1.78809708127565e+001
4.28709385014517e+001, 1.76401470339929e+001
4.59479341998814e+001, 1.73795350789522e+001
4.92457765337966e+001, 1.70988789220635e+001
5.27803164309157e+001, 1.67981279524661e+001
5.65685424949238e+001, 1.64774441143383e+001
6.06286626604159e+001, 1.61372017081387e+001
6.49801917084988e+001, 1.57779800292225e+001
6.96440450636899e+001, 1.54005495957720e+001
7.46426393229445e+001, 1.50058531945268e+001
7.99999999999999e+001, 1.45949832933229e+001
8.57418770029034e+001, 1.41691575057392e+001
9.18958683997627e+001, 1.37296937480844e+001
9.84915530675932e+001, 1.32779865315362e+001
1.05560632861831e+002, 1.28154855279804e+001
1.13137084989848e+002, 1.23436771877959e+001
1.21257325320832e+002, 1.18640698179762e+001
1.29960383416998e+002, 1.13781821853960e+001
1.39288090127380e+002, 1.08875354153528e+001
1.49285278645889e+002, 1.03936477199626e+001
1.60000000000000e+002, 9.89803131518695e+000
1.71483754005807e+002, 9.40219076402460e+000
1.83791736799525e+002, 8.90762190944913e+000
1.96983106135186e+002, 8.41581052769579e+000
2.11121265723663e+002, 7.92822983722831e+000
2.26274169979695e+002, 7.44633604187912e+000
2.42514650641663e+002, 6.97156117281423e+000
2.59920766833995e+002, 6.50530263021494e+000
2.78576180254759e+002, 6.04890901911705e+000
2.98570557291778e+002, 5.60366212877403e+000
3.20000000000000e+002, 5.17075521831512e+000
3.42967508011613e+002, 4.75126812990280e+000
3.67583473599051e+002, 4.34614012774157e+000
3.93966212270373e+002, 3.95614171815439e+000
4.22242531447326e+002, 3.58184699452512e+000
4.52548339959390e+002, 3.22360822167593e+000
4.85029301283327e+002, 2.88153438649109e+000
5.19841533667990e+002, 2.55547527437740e+000
5.57152360509519e+002, 2.24501229171104e+000
5.97141114583556e+002, 1.94945678086200e+000
6.39999999999999e+002, 1.66785603080462e+000
6.85935016023227e+002, 1.39900665083621e+000
7.35166947198101e+002, 1.14147452350322e+000
7.87932424540745e+002, 8.93620243309918e-001
8.44485062894651e+002, 6.53628808436477e-001
9.05096679918779e+002, 4.19542358171476e-001
9.70058602566653e+002, 1.89294903751152e-001
1.03968306733598e+003, -3.92517708923239e-002
1.11430472101904e+003, -2.68271622836520e-001
1.19428222916711e+003, -4.99937672035401e-001
1.28000000000000e+003, -7.36385426700890e-001
1.37187003204645e+003, -9.79676723411290e-001
1.47033389439620e+003, -1.23176441997623e+000
1.57586484908149e+003, -1.49445858892370e+000
1.68897012578930e+003, -1.76939510388377e+000
1.81019335983756e+003, -2.05800772901667e+000
1.94011720513331e+003, -2.36150495018814e+000
2.07936613467196e+003, -2.68085277414160e+000
2.22860944203807e+003, -3.01676453995425e+000
2.38856445833422e+003, -3.36969843862473e+000
2.55999999999999e+003, -3.73986295807039e+000
2.74374006409290e+003, -4.12722992568795e+000
2.94066778879240e+003, -4.53155428681859e+000
3.15172969816298e+003, -4.95239931062518e+000
3.37794025157860e+003, -5.38916561300096e+000
3.62038671967511e+003, -5.84112225910020e+000
3.88023441026661e+003, -6.30743825487080e+000
4.15873226934392e+003, -6.78721292997144e+000
4.45721888407614e+003, -7.27950400888279e+000
4.77712891666844e+003, -7.78335251203421e+000
5.11999999999999e+003, -8.29780397731614e+000
5.48748012818581e+003, -8.82192580782943e+000
5.88133557758480e+003, -9.35482081087268e+000
6.30345939632595e+003, -9.89563718573067e+000
6.75588050315720e+003, -1.04435753441093e+001
7.24077343935023e+003, -1.09978920145740e+001
7.76046882053322e+003, -1.15579021024645e+001
8.31746453868783e+003, -1.21229787620097e+001
8.91443776815229e+003, -1.26925520995295e+001
9.55425783333688e+003, -1.32661068756789e+001
1.02400000000000e+004, -1.38431795183821e+001
1.09749602563716e+004, -1.44233547019690e+001
1.17626711551696e+004, -1.50062616956239e+001
1.26069187926519e+004, -1.55915706376457e+001
1.35117610063144e+004, -1.61789888520690e+001
1.44815468787005e+004, -1.67682572910132e+001
1.55209376410664e+004, -1.73591471593148e+001
1.66349290773757e+004, -1.79514567568700e+001
1.78288755363046e+004, -1.85450085578945e+001
1.91085156666738e+004, -1.91396465341733e+001
2.00000000000000e+004, -1.95313502760155e+001

Hi @Risto_H, in release 1.180 there’s the ability to turn on multiple weightings at once, and that doing that for the included RIAA record and playback yields some issues that definitely could be made better

image

It’s probably time to update the curves to something that has 10-20 points per octave. Maybe also include RIAA, TELDEC, IEC.

Thanks for sharing this (and others have before you too). It will be improved.

1 Like

Thanks @matt, that is great news - I have been waiting for the ability to add multiple user weightings. I would use the measured attenuation of my -60 dB cable on top of the RIAA curve to make more readable results and compensate the slight gain difference between channels.

You are welcome to use my Hires RIAA weighting if you want. It should be good enough for the majority of users since it works quite well with my self designed RIAA amplifier that has better than +/-0.2 dB accuracy. I made it since I noticed that using the included RIAA weighting produced slightly weird results.

@Risto_H , thanks for your input!

1 Like

I have made a Hires RIAA playlack weighting file that has about 9000 points from 20-20khz. It used a spreadsheet that I found with these equations:
Capture

I uploaded my file to a cloud drive and you can access it here- I have no problems with Matt using it in a future software version:

2 Likes

That is quite nice and high resolution but since the frequency step is linear, that might not be optimal for calculation efficiency. However, it may be that QA403 software handles that without any problems and the only drawback could be the file size - which is no issue for modern PC hardware.

That spreadsheet is good find since it has the IEC time constant as well.

I have been using it for over a year with my QA402 without any issues. If enough interest I could upload the actual spreadsheet (not my creation) for the IEC stuff…

1 Like

Hi,
This is my first post on this forum …

I had a similar problem in my tinkering with a low noise, differential input, trans-impedance MC-stage. However I needed/wanted a floating, low noise, low impedance signal source, so I made a «MC Emulator», using a ribbon microphone transformer in reverse (Lundahl LL9216, in 110:1 configuration), and a mixed feed back drive circuit (se PDF under Technical Papers on the Lundahl web site, link below):

https://www.lundahltransformers.com/microphone/
https://www.lundahltransformers.com/technical-papers/

The circuit has «gain» of -40 dB, an attenuator on the input for additional -20 dB, floating signal out, selectable output resistance of 0R, 1R5, 5R, 15R and 50R, and is mains powered.:


It works nicely, with very little added noise, low distortion and minor deviations for frequency response. This is of course a bit excessive if a floating signal is not needed.

To generate a more precise RIAA pre-/post-EQ weighting curve I have used a similar spreadsheet from this site (it looks similar to the picture VAR posted) :
https://www.bonavolta.ch/hobby/en/audio/riaa.htm
I used 9 points per octave from 2 Hz to ca 96 kHz, so it should match the finest frequency stepping in the QA401 software.

Best regards
Knut

2 Likes

For creating the new higher-resolution RIAA curves, I compared two curves: One with 100 points per octave (reference), and another curve (candidate) with many fewer points per octave. Then I went through the reference curve and checked the interpolation at each point in the candidate curve and noted the error to the reference. The plot below shows the result:

image

The plot above shows that 10 points per octave for the RIAA weighting will net an error no larger than 0.004 dB. 15 points will improve that to 0.002, and 20 points will improve that to 0.001.

The next release will have these higher resolution RIAA record and playback curve at 15 points per octave, from 1 Hz to 100k.

Is anyone using the IEC curves???

RIAA HiRes EQ.zip (3.9 KB)

5 Likes

I am not using the IEC curve. It is the worst rumble filter I can think of.

Sorry this is a bit of a necro-post, but I am wondering why not use the poles and zeroes to calculate the RIAA response directly as a rational function in s? This is how it is done in Spice for instance. Then no need for large dataset of weighting v. frequency.

Hi @MarkT, yes, I think something useful would be the ability to specify digital filters that could be loaded at all the inputs and outputs. it could be something more generic. A huge help here is how good Chat GPT appears to be getting at designing filters from first principles. Usually, if you rely on a pro packages such as ASN you can get an immediate result that is excellent. But GPT seems to be getting quite useful there without requiring the expertise of ASN. I wonder if we’re not too far off from prompts where you could ask for a certain filter and if the prompts were directed enough, the resulting source code from GPT could be dropped in and compiled on the fly (kind of like the user-Window). Sometimes I’d like a quick filter to clean up a measurement, but I don’t want to spend the time to design the filter.

@matt I don’t want to derail this thread and so this probably deserves its own thread, but could you detail some of your exploits in filter design with gpt4?

Python’s scipy.signal package does everything I need playing with digital filters, I’m often using it with matplotlib to experiment.