|
Post by aquin43 on Dec 3, 2018 9:23:52 GMT -5
I have removed Rx from the model. It was intended to solve a problem with the phase of the 10n loaded pickup. It didn't and the problem happens at such large attenuation that I have chosen to ignore it for the sake of simplicity.
I did consider including capacitor losses, which would have to be introduced as parallel admittance, but then I remembered the very high Q and impedance that similar coils achieve in some Fender type pickups. I decided to ignore capacitor loss.
As regards the positioning of the loss resistor in relation to the driving voltage, I tried changing it but it seems that all of the losses are in fact in series with the coil. At the moment, I have reverted to the coupled inductors, rather than unwinding them into an equivalent series pair. I find it makes it easier to visualise where the eddy current losses lie.
Is there any reason not to use the coupled inductors? They have been in spice right back to the beginning. Any circuit using these pickup models will be so simple that a file can be written, piped through some spice variant such as ngspice and the returned results plotted faster than the eye can follow.
Arthur
|
|
|
Post by antigua on Dec 4, 2018 0:58:42 GMT -5
Is there any reason not to use the coupled inductors? They have been in spice right back to the beginning.
If that's in reference to this choice, the coupled inductor presumably yields an eddy current model that more closely reflects the reality, right? If so, I'd favor that model.
|
|
|
Post by aquin43 on Dec 12, 2018 10:03:20 GMT -5
There is an algebraic solution for the model impedance which can be fitted to data.The inductance of the eddy current coil Le is set equal to that of the main coil for convenience. In reality it will be much smaller but as long as K and the ratio L/Re remain the same its influence on the impedance of the main coil remains the same. The impedance of R and L with a mutually coupled inductor and resistor loop can be obtained from the thought experiment of driving a 1A current through the series combination. The impedance will be equal to the calculated voltage. Take the reciprocal of this and we have the corresponding admittance. At resonance, the capacitor cancels the imaginary part of the admittance, so set that to zero and take the reciprocal of the remaining real admittance. We now have a formula for the variation of the resonant (resistive) impedance with frequency. The formula works out as: (L**4*K**4*ω**4-2*L**4*K**2*ω**4+L**4*ω**4+2*L**2*R*Re*K**2*ω**2+L**2*Re**2*ω**2+L**2*R**2*ω**2+R**2*Re**2)/(L**2*Re*K**2*ω**2+L**2*R*ω**2+R*Re**2) where L is the inductance of both the main and eddy current coils K is the coupling coefficient R is the dc resistance of the coil Re is the resistance of the eddy current loop ω = 2*pi*f To get some data points to fit, it is sufficient to choose a range of capacitors such as 220p, 1n0, 3n3, 10n, including zero to resonate the pickup at a wide range of frequencies. Exact values are not needed. The Impedance Measurement: Drive the pickup terminals from an oscillator via the largest possible resistor. Using the oscilloscope to make the phase comparison via the X-Y Lissajous mode it is easy to adjust to the resonant frequency where the impedance is purely resistive, when the Lissajous oval will collapse into a diagonal line. An opamp buffer with FET input will be necessary to avoid further loading of the pickup. Even with 10MΩ it will be necessary to correct for the feed resistor loading. The measurement results are frequency and impedance. Four or five measurements are enough to determine L K and Re by non linear least squares fitting. Next, the coil capacitance can be calculated from the unloaded resonant frequency f_ul and L, K and Re using the formula for the imaginary part of the admittance which C is cancelling at resonance. Set ω = 2*pi*f_ul C = -((L**3*K**2-L**3)*ω**2-L*Re**2)/((L**4*K**4-2*L**4*K**2+L**4)*ω**4+(2*L**2*R*Re*K**2\+L**2*Re**2+L**2*R**2)*ω**2+R**2*Re**2) The match with an Armstrong Johnny Smith, quite lossy mini-humbucker:
Arthur
|
|
|
Post by JohnH on Dec 12, 2018 14:29:01 GMT -5
That looks like a good match over the range of interest. There's a secondary peak at very high frequency, which wont affect anything practical, and a few k difference in the loaded peak at around 800hz that might result in a small output difference from a guitar, but I reckon not much. (reason, at the peak, we are seeing a resistive load, and we know that adding small resistive loads in guitar circuits make very little difference). So, we have what you are doing and we have what Tele-Tuscon is doing at TPDRI, with a three coil model, and he has also worked that into maths, and I managed to get it into a GF spreadsheet to play with it: www.tdpri.com/threads/physically-based-eddy-current-equivalent-circuit.846745/page-4#post-8779563What is your current view on the comparison of the two new models?
|
|
|
Post by aquin43 on Dec 12, 2018 15:34:30 GMT -5
My model and the Tucson model are obviously related, but I think that Tele Tucson and I have different aims. He wants to keep the model as close as possible to the physics of the pickup whereas I am trying to model all of the responses of the pickup and have already come up against the limits of the three coil model that doesn't have enough degrees of freedom to meet my criteria for matching. The two forward paths in the Tucson model, direct and via the eddy current coupling are not sufficient to model the forward path in pickups I have measured.
The main coupled inductors in the two models are virtually identical, differing only in that I have used the cardinal importance of the L/R ratio in the eddy loop to allow me to make the eddy inductance arbitrarily equal to the main inductance.
I believe that there are other losses, such as shielding losses, in the forward path that need to be represented as well.
I note that both models are in effect non-reciprocal. Mine because of the controlled sources and the Tucson model because of the current drive to the input coil.
The very simple method I just posted for finding the impedance parameters for my model will also work for the Tucson model. It would be trivial to scale the loop resistance to fit, keeping L/R constant. It also gives you K.
Arthur
|
|
|
Post by aquin43 on Dec 14, 2018 9:34:39 GMT -5
Seeking a better fit.
I have come to the conclusion that the coupled inductor model is not really adequate to match a range of real pickups. The inductive coupling from the strings achieves no more than a simple step low pass filter and more filtering is required anyway to match the steep roll off of many pickups. As we know, the coupled coil can be reduced to a coil with a parallel resistor in series with one without. The use of K to describe the split is not necessary. One lossy coil plus one lossless is not enough to match the resonant impedance curve at both low and high frequencies. It would be nice to be able to model the "wa wa" resonance of a tone control fully down. So I tried the following circuit for the coil part of the model, seeking a good impedance match: I used the cut off angular frequencies w1 and w2 of the coils and resistors as fitting parameters because it seemed to make the equations simpler. At the cut off frequency, the coil has lost half of its effective inductance. The resistors are then calculated from the results.
The equation for the resonant impedance came out a real monster over 500 characters long, but the fitting program had no problems with it. The trick seems to be in choosing the starting estimates for the fit, otherwise it is possible to end up with a negative value for one of the inductors. More measurements are required, but since they are very easy to do, this is not a problem. The Lissajous phase comparison gives a frequency resolution of 1 Hz at the higher end and well under 1% at the lower. The quality of fit for the armstrong pickup is shown below. I haven't got as far as plotting the resonant curves yet. The top point is the unloaded pickup and the bottom with 20n load. The dc resistance is correct as measured.
The fit parameters (to a silly number of decimal places) are:
L1 0.73926694842692 L2 0.999453330888099 L3 1.21507113084524 R1 12336.6214062124 R2 30725.524161621 C 1.97706030071416e-10 Rdc 8218
Arthur
P.S. While the equation for the resonant impedance is complicated, the equation for the three series inductors themselves is not.
|
|
|
Post by antigua on Dec 14, 2018 11:43:58 GMT -5
Seeking a better fit.
I have come to the conclusion that the coupled inductor model is not really adequate to match a range of real pickups. The inductive coupling from the strings achieves no more than a simple step low pass filter and more filtering is required anyway to match the steep roll off of many pickups. As we know, the coupled coil can be reduced to a coil with a parallel resistor in series with one without. The use of K to describe the split is not necessary. One lossy coil plus one lossless is not enough to match the resonant impedance curve at both low and high frequencies. It would be nice to be able to model the "wa wa" resonance of a tone control fully down.
I'm more of a hands on visual type of person. Do you have real and simulated impedance plots illustrating the inadequacies you're talking about? When you speak of inadequacies, I'm guessing you mean the slopes of attenuation don't match up, like you're seeing a second order low pass when you expect a third order low pass, but I'm not sure. I've had some trouble following along because some of the terminology you use I have come across before, such as "forward paths", "screening effect", "low pass step", "response step", to name a few. I'm not sure if these are less commonly used terms, or ad hoc terms, but because I'm relatively new to the game, they throw me off a bit.
|
|
|
Post by aquin43 on Dec 14, 2018 13:30:50 GMT -5
Hello Antigua,
You can see in the graph in my earlier post where I have plotted the model impedance with and without a 10n load on top of the measured impedance. The unloaded peak can be made to match almost perfectly but the loaded one is too far out for my liking. The phase doesn't match all that well on the skirts of the response curves, but I think I'll just have to live with that.
As to terminology, I apologise for not being clear.
By the forward path I just mean the signal path from input to output. Generally, there would also be a reverse path but not in a pickup where the coil can't affect the strings to any degree.
By screening effect I mean shielding in USA terminology. The cover of the pickup can intercept the signal from the strings, effectively partially shielding the coil from the signal. The shield need not interact with the coil itself to the same degree, so we have an additional frequency dependent effect in the 'forward path' that does not appear in the coil model.
The low pass step is a filter response that falls off at a given frequency and then levels out again. Also called a shelving response. It is the sort of behaviour you will get from a thin shield. It also can occur when there are two paths in parallel with different frequency responses.
Arthur
|
|
|
Post by JohnH on Dec 14, 2018 14:14:17 GMT -5
Seeking a better fit.
I have come to the conclusion that the coupled inductor model is not really adequate to match a range of real pickups. The inductive coupling from the strings achieves no more than a simple step low pass filter and more filtering is required anyway to match the steep roll off of many pickups. As we know, the coupled coil can be reduced to a coil with a parallel resistor in series with one without. The use of K to describe the split is not necessary. One lossy coil plus one lossless is not enough to match the resonant impedance curve at both low and high frequencies. It would be nice to be able to model the "wa wa" resonance of a tone control fully down. So I tried the following circuit for the coil part of the model, seeking a good impedance match: I used the cut off angular frequencies w1 and w2 of the coils and resistors as fitting parameters because it seemed to make the equations simpler. At the cut off frequency, the coil has lost half of its effective inductance. The resistors are then calculated from the results.
The equation for the resonant impedance came out a real monster over 500 characters long, but the fitting program had no problems with it. The trick seems to be in choosing the starting estimates for the fit, otherwise it is possible to end up with a negative value for one of the inductors. More measurements are required, but since they are very easy to do, this is not a problem. The Lissajous phase comparison gives a frequency resolution of 1 Hz at the higher end and well under 1% at the lower. The quality of fit for the armstrong pickup is shown below. I haven't got as far as plotting the resonant curves yet. The top point is the unloaded pickup and the bottom with 20n load. The dc resistance is correct as measured.
The fit parameters (to a silly number of decimal places) are: L1 0.73926694842692 L2 0.999453330888099 L3 1.21507113084524 R1 12336.6214062124 R2 30725.524161621 C 1.97706030071416e-10 Rdc 8218 Arthur P.S. While the equation for the resonant impedance is complicated, the equation for the three series inductors themselves is not. Nice matching! I looks like you nailed your tested impedance curve with that model. Im thinking you would still apply a variable voltage function to it, like you had with your last model? ie instead of a constant amplitude with frequency. Otherwise, I could not foresee this model being able to create a droop effect in pickups where this is evident. But that wouldn't change any of the impedance results.
|
|
|
Post by ms on Dec 14, 2018 14:20:51 GMT -5
One problem is that the resistance of the "secondary" (R22 above, I believe) is a function of frequency because the skin depth is. However, the variation is not very fast, probably something like the square root of frequency. So one approach is to divide the bandpass into several pieces and fit for different values of R22 in each. A better way would be to use a model for R22(f) with as few degrees of freedom as possible and do a single fit. The best way I know of is to use a fitting technique that does not specify a shape at all but rather seeks a smooth solution for R22(f). This is similar to what is called linear, or Tikhanov, regularization, except the problem is not linear (and you are dealing with several parameters with different variations in in f, or whatever the parameter is), and so you cannot solve a set of linear equations, but have to iterate. I have not applied this to the pickup problem, but use it for extracting geophysical parameters from ionospheric incoherent scatter radar data.
When I find C in my impedance measurements, I use only a range of high frequencies. Of course this is where the effect of C is most significant, but it also means that a fixed value of R22 (or actually what I call Rse) is good enough. Of course you fit for k as well, but it is not a function of frequency.
|
|
|
Post by aquin43 on Dec 14, 2018 17:58:23 GMT -5
Interestingly, while the theoretical resonant impedance match seems perfect, the resonant curves don't match as perfectly. This is probably, as ms has suggested, because the resistances are not actually fixed but have their own frequency dependencies. However, we are looking for a model that uses only fixed components such as those available to spice and, fortunately, by fudging the parameters a little bit it seems that a very good match is possible.
The forward path needs the same pre-filter as before.
11 pm here, more tomorrow.
Arthur
|
|
|
Post by aquin43 on Dec 15, 2018 6:44:02 GMT -5
One problem is that the resistance of the "secondary" (R22 above, I believe) is a function of frequency because the skin depth is. However, the variation is not very fast, probably something like the square root of frequency. So one approach is to divide the bandpass into several pieces and fit for different values of R22 in each. A better way would be to use a model for R22(f) with as few degrees of freedom as possible and do a single fit. The best way I know of is to use a fitting technique that does not specify a shape at all but rather seeks a smooth solution for R22(f). This is similar to what is called linear, or Tikhanov, regularization, except the problem is not linear (and you are dealing with several parameters with different variations in in f, or whatever the parameter is), and so you cannot solve a set of linear equations, but have to iterate. I have not applied this to the pickup problem, but use it for extracting geophysical parameters from ionospheric incoherent scatter radar data. When I find C in my impedance measurements, I use only a range of high frequencies. Of course this is where the effect of C is most significant, but it also means that a fixed value of R22 (or actually what I call Rse) is good enough. Of course you fit for k as well, but it is not a function of frequency. You are right about having too many degrees of freedom. The three coil system gives an almost perfect match for the resonant impedances, but the actual values required for the best approximation to the measured curves deviate quite considerably from the matched values. I presume that is because the phase varies in the wrong way. The major overall limitation is that we can only really use R L and C in the model if it is to go into a spice simulator.
At the moment I can get the best results with the two coil model, except for the lowest frequencies.
Arthur
|
|
|
Post by JohnH on Dec 15, 2018 13:56:14 GMT -5
I think what we need to really chew on all these different model versions is at least one good consistent set of measured results for one known pickup, being impedance magnitude and phase, plus loaded and unloaded output plots based on loading for the probe (about 10M and 20pf?), and added loading 200k and 470pF.
Then extend this to a few more pickups. A good base set of test values could be:
a 'droopy' Filtertron a covered PAF an uncovered PAF ceramic single with steel pole pieces a simple alnico single (ie, any model that cant do that isn't very good!)
|
|
|
Post by aquin43 on Dec 16, 2018 13:35:29 GMT -5
I found an old Dimarzio PAF style pickup and have modelled that with what I think may be the final version of the model. I have reverted to the two coils which can be either a coupled pair or a lossy and lossless in series. The matching program uses the coupled coils, because that arrangement seems easier to optimise by intuition, but It can write the spice file in either form. The model is of the pickup with no load at all. The test set resistance of 10M and capacitance of 17pF are both factored out. I have made the model a little bit more complicated by floating the input and output terminals. Sometimes pickups are placed in series. The roll off filter has the option of a bit of peaking, which helped with one single coil. It can be used to alter the shape of the step section. The Dimarzio match is rather good: The model response graph is behind the measured response plot. The coupled coil model is:
.subckt dmzpaf input ing out outg Ein in 0 input ing 1 R1 in 1 1.0e4 C1a 1 ctap 3.108e-09 C1b ctap 0 3.108e-09 Rpk 2 ctap 1.000e+08 E1 2 0 1 0 1 R2 2 3 1.0e4 C2 3 4 3.399e-09 R3 4 0 2.164e+04 E2 pref outg 3 0 1 L1 pref mid 3.833e+00 Rdc mid out 7.688e+03 Cl out outg 1.459e-10 Le kk 0 3.833e+00 Re kk 0 1.109e+05 k1 L1 Le 7.130e-01 .ends
The two coil model is:
i.subckt dmzpaf2l input ing out outg Ein in 0 input ing 1 R1 in 1 1.0e4 C1a 1 ctap 3.108e-09 C1b ctap 0 3.108e-09 Rpk 2 ctap 1.000e+08 E1 2 0 1 0 1 R2 2 3 1.0e4 C2 3 4 3.399e-09 R3 4 0 2.164e+04 E2 pref outg 3 0 1 L1 pref mid1 1.949e+00 Rd pref mid1 5.638e+04 L2 mid1 mid2 1.884e+00 Rdc mid2 out 7.688e+03 Cl out outg 1.459e-10 .ends
The frequency response plot is of the pickup loaded by the test set so 10M and 17pF needs to be added to match. It just seemed too complicated to try to factor out the test set in this mode.
Arthur
|
|
|
Post by JohnH on Dec 16, 2018 15:00:10 GMT -5
Thanks thats cool.
Can you tell us more about the extra first stage filtering? around c1a and c1b?
And if you can run the same measurements and sims with an added 470pF 200k load, then it will demonstrate how your model can correctly respond to changes of load and also fit in to all the existing test data on the forum.
|
|
|
Post by aquin43 on Dec 16, 2018 16:16:05 GMT -5
In the first stage filter, when Rpk is very large or absent, which is the case here, the response is a simple first order low pass. As Rpk is made smaller, the main part of the response remains a simple first order low pass but around the cut off frequency the positive feedback from E1 causes a peak to develop. I found that with the lossy single coil phat cat it wasn't possible to match the peak at the turnover to within 1dB with just the step and the low pass.
I will do some loaded measurements tomorrow.
Arthur
|
|
|
Post by aquin43 on Dec 17, 2018 8:24:42 GMT -5
What sort of error is acceptable? Dimarzio with 475p 200k load:
Not quite as good as the unloaded so I tweaked the pre-filter values slightly to equalize the errors. The maximum error in the passband is under 0.1 dB
Arthur
|
|
|
Post by stratotarts on Dec 17, 2018 12:10:13 GMT -5
An opamp buffer with FET input will be necessary to avoid further loading of the pickup. Even with 10MΩ it will be necessary to correct for the feed resistor loading.
Arthur
How are you dealing with the input capacitance of the op amp? It is the reason why I added a resistive-capacitive voltage divider to my integrator circuit - so it could be calibrated away and present a flat frequency response across the audio spectrum.
|
|
|
Post by aquin43 on Dec 17, 2018 13:46:40 GMT -5
An opamp buffer with FET input will be necessary to avoid further loading of the pickup. Even with 10MΩ it will be necessary to correct for the feed resistor loading.
Arthur
How are you dealing with the input capacitance of the op amp? It is the reason why I added a resistive-capacitive voltage divider to my integrator circuit - so it could be calibrated away and present a flat frequency response across the audio spectrum. I am using an OPA1642, which has a quoted common mode input capacitance of 6pF. One section is used in a simple unity gain non-inverting circuit. The bandwidth is about 180kHz (rise time 1.95us, no overshoot) The input resistor is 10M made up of three measured resistors in series, connected to ground via another 2k so that a voltage can be injected for the impedance measurements. There is no input protection. I am relying on the protection built into the OPA1642 which is fine with the voltages and impedances being used. The circuit is made up on a small piece of stripboard and is in a metal box with two PP3 batteries.
The input connection is via a 3mm jack with the shell removed, directly connected to another piece of stripboard with miniature crocodile clips soldered to it.
The total input capacitance is 17pF, determined by finding the 45 degree phase cut off frequency with the 10Meg, so the board layout and the feed through the box wall are adding 11pF.
I used the OPA1642 because I had some in stock for another project and it is a pretty good relatively low power device.
Arthur
|
|
|
Post by stratotarts on Dec 17, 2018 18:30:23 GMT -5
[...]The input resistor is 10M made up of three measured resistors in series, connected to ground via another 2k so that a voltage can be injected for the impedance measurements.[...]
So, the 2k is a basically a generator (Vtest) load?
|
|
|
Post by JohnH on Dec 18, 2018 1:39:32 GMT -5
What sort of error is acceptable? Dimarzio with 475p 200k load: Not quite as good as the unloaded so I tweaked the pre-filter values slightly to equalize the errors.
Id say that how accurate a model needs to be depends on what it's for. A three-part LRC model contains very useful info even though it may be several db's away from the truth. I reckon that, for the purpose or using a model to represent a pickup in a guitar circuit, or to help choose between models, then if a better model is within 1db then its fine and 1/2 db is very good. If the purpose of the model is to demonstrate an understanding of internal pickup behaviour, then better is always better. Your model matching at within 0.1db is excellent. You have quite a number of parameters in it now though. So I thought it relevant to compare to the simpler model that I use, for a fairly similar pickup, in this case a DiMarzio PAFpro. This is with 6 fixed parts, and these models can capture most pickups within about 0.5 db.
|
|
|
Post by aquin43 on Dec 18, 2018 7:29:07 GMT -5
[...]The input resistor is 10M made up of three measured resistors in series, connected to ground via another 2k so that a voltage can be injected for the impedance measurements.[...] So, the 2k is a basically a generator (Vtest) load? Yes, the complete circuit has a phase correction trimmer as well - not really necessary with this particular op amp: Arthur
|
|
|
Post by aquin43 on Dec 18, 2018 8:21:33 GMT -5
What sort of error is acceptable? Dimarzio with 475p 200k load: Not quite as good as the unloaded so I tweaked the pre-filter values slightly to equalize the errors.
Id say that how accurate a model needs to be depends on what it's for. A three-part LRC model contains very useful info even though it may be several db's away from the truth. I reckon that, for the purpose or using a model to represent a pickup in a guitar circuit, or to help choose between models, then if a better model is within 1db then its fine and 1/2 db is very good. If the purpose of the model is to demonstrate an understanding of internal pickup behaviour, then better is always better. Your model matching at within 0.1db is excellent. You have quite a number of parameters in it now though. So I thought it relevant to compare to the simpler model that I use, for a fairly similar pickup, in this case a DiMarzio PAFpro. This is with 6 fixed parts, and these models can capture most pickups within about 0.5 db. Yes, I can see that your simple model captures the frequency response well. I was trying to go further and capture the pickup impedance as well, to refine its interaction with various loads. When you are making the model do you constrain the three resistors in parallel to be equal to the dc resistance?
I have been measuring a simple single coil pickup with alnico magnets. This has a resonant impedance of over 1Meg. It seems that with such a high resonant impedance and Q, the assumption that the capacitor losses can be neglected breaks down. The best match for the loaded state so far leaves the unloaded pickup with over 2Meg resonant impedance. That would imply yet another parameter or parasitic element.
Arthur
|
|
|
Post by aquin43 on Dec 18, 2018 10:18:32 GMT -5
The reason why the 6 part model works:
It is because the impedance of the two series L & R branches in parallel follow the same curve as the two inductor series branch in the two coil model. As far the impedance seen by the load is concerned they are exactly equivalent.
By driving only one of the parallel branches, a step in the frequency response has been introduced which emulates the eddy current loss. The parallel resistor helps out where the step is insufficient.
Arthur
|
|
|
Post by JohnH on Dec 18, 2018 14:24:52 GMT -5
Hi aquin43 and thanks for that. Yes there is more than one way to skin a cat! You have brought us some powerful insights I this field.
In the 6P models, the overall dc resistance is maintained to match the measured value. While optimising, I don't play with R1, instead, it is based on the simple formula as needed to maintain dcR as the other resistors vary. So with 6 components, that deals with one, leaving 5. Im targeting four key values as measured in the test, being the db rise and frequency of the loaded and unloaded peaks. Four parameters with 5 variables needs one more parameter, which is based on the shape of the curves away from the peak, and this is where the different dips and droops that characterise significant eddy losses get matched.
As a check, I also look at the overall inductive reactance of the model at around 100 hertz, and compare that to the reactance of the measured inductance at the same frequency.
Deriving the model is an iterative process. Certain parameters have greatest effects on different parts of the response, and I use a model with loaded and unloaded conditions both plotted. The value of C uniquely affects the ratio of the two peak frequencies, (dependent approximately on (C/(C+470pF))^2). Given an estimate of C, L1 then corrects the value of the frequency at the unloaded state, and if C is right, both loaded conditions. The overall load resistor Rl has a much more significant affect on the unloaded peak, and Rd affects the loaded peak more.
So by cyclically optimizing each component to correct its main affected parameter, the model closes in on a solution. Then, if the resulting match needs more 'dip' L2 is varied and its all repeated.
I believe, that given a good matched result to all those conditions, then the resulting impedance should also be right at least at the two test loads, but we haven't had many examples of tested impedance to work with. Also, pickups with very flat responses are the hardest, since the peak is undefined. A process that includes a clear impedance match would nail these better. Also, while the 6P model is forced to match under the test conditions, it will inevitably drift off somewhat under other loads and the assumption is that this drift will not be excessive. Particularly since the loaded test is intended to form a bench-mark very close to likely real operating conditions. But this is where the improvement available from more complex/sophisticated models may be demonstrated.
An interesting excercise would be if I took your model and test data under the two test conditions, attempted to match it with a 6P model, then run them both with some different loads. Id expect that they would deviate a little more under different loads.
|
|
|
Post by aquin43 on Dec 18, 2018 17:26:15 GMT -5
Hello JohnH, I have placed a zip file with the measurements for the Dimarzio at There are four files with self explanatory names. Three columns in each (f z phase) (f gain phase). Arthur
|
|
|
Post by JohnH on Dec 18, 2018 18:12:36 GMT -5
Thanks! I got those, and can read them into excel. Could you tell me the dc resistance please?
|
|
|
Post by JohnH on Dec 19, 2018 1:59:47 GMT -5
I had a go at modelling your pickup with a 6P model. I assumed the dcR to be 8k, since a k or two here makes very little difference. But Ill tweak it with a true value. Im assuming what you sent was test data? But if it was model data it doesnt matter since you got so close. The matching was done as I usually do it, using the loaded and unloaded plots: And it worked quite well. Peak frequencies match to within the resolution of the frequency increments used (different for model and test), and peak db values match to within 0.05db. Around 2khz, in the 'dip' zone, you can just see that the curves for the 6P model are slighty ouside those of the test data, up to about 0.2db. Also, at high frequencies above the peak, the curves start to diverge slightly. The differences will be partly due to imperfect optimization, partly due to test effects and partly due to effects not captured by this model. But its not bad! Then I looked at the impedance data, and I assumed you had negated all loading effects other than the 10nF one? Magnitude of unloaded impedance peaked at 335k @ 8300hz and 336k @ 8265hz for model and test respectively. With the 10nF load, the values were 42.4k @ 750hz vs 43.3k @ 770hz. Close enough. The 6P model component values were: R1 8.67k L1 5.2H Ld and Rd series, 10H and 137k Load resistor Rl 419k Also, to correlate overall levels to 0db at low frequency, an overall shift of 0.716db was applied. That was all very interesting to do, thanks again for the data.
|
|
|
Post by aquin43 on Dec 19, 2018 4:11:29 GMT -5
Hello,
Sorry I forgot Rdc which is 7k688. The data are test data. The responses are normalized at 100 Hz so the loaded one doesn't include the 0.3 dB overall loss. The impedance data have all test set loading effects factored out.
The plots look good, obviously good enough for practical use. Essentially, you are adjusting the split between the two LR series branches to perform the double duty of making the impedance right and making the frequency response right. In the range of impedances and frequencies in the guitar simulation this works amply well enough for practical use.
The short-circuit current will be wrong, but this is of little interest.
Arthur
|
|
|
Post by perfboardpatcher on Dec 19, 2018 7:02:49 GMT -5
I found an old Dimarzio PAF style pickup and have modelled that with what I think may be the final version of the model. I have reverted to the two coils which can be either a coupled pair or a lossy and lossless in series. The matching program uses the coupled coils, because that arrangement seems easier to optimise by intuition, but It can write the spice file in either form. The model is of the pickup with no load at all. The test set resistance of 10M and capacitance of 17pF are both factored out. I have made the model a little bit more complicated by floating the input and output terminals. Sometimes pickups are placed in series. The roll off filter has the option of a bit of peaking, which helped with one single coil. It can be used to alter the shape of the step section. The Dimarzio match is rather good: The model response graph is behind the measured response plot. The coupled coil model is:
.subckt dmzpaf input ing out outg Ein in 0 input ing 1 R1 in 1 1.0e4 C1a 1 ctap 3.108e-09 C1b ctap 0 3.108e-09 Rpk 2 ctap 1.000e+08 E1 2 0 1 0 1 R2 2 3 1.0e4 C2 3 4 3.399e-09 R3 4 0 2.164e+04 E2 pref outg 3 0 1 L1 pref mid 3.833e+00 Rdc mid out 7.688e+03 Cl out outg 1.459e-10 Le kk 0 3.833e+00 Re kk 0 1.109e+05 k1 L1 Le 7.130e-01 .ends
The two coil model is:
i.subckt dmzpaf2l input ing out outg Ein in 0 input ing 1 R1 in 1 1.0e4 C1a 1 ctap 3.108e-09 C1b ctap 0 3.108e-09 Rpk 2 ctap 1.000e+08 E1 2 0 1 0 1 R2 2 3 1.0e4 C2 3 4 3.399e-09 R3 4 0 2.164e+04 E2 pref outg 3 0 1 L1 pref mid1 1.949e+00 Rd pref mid1 5.638e+04 L2 mid1 mid2 1.884e+00 Rdc mid2 out 7.688e+03 Cl out outg 1.459e-10 .ends
The frequency response plot is of the pickup loaded by the test set so 10M and 17pF needs to be added to match. It just seemed too complicated to try to factor out the test set in this mode.
Arthur How does the model fare in cases where the resonance frequency is shifted upwards? For instance, what happens when the load is changed into 10M || 17pF || 1.28H + 1880ohms ?
|
|