|
Post by aquin43 on Mar 11, 2024 12:33:46 GMT -5
Everyone knows that humbuckers have deep notches in their frequency response due to phase cancellation between the two poles. This has its greatest effect on the bottom string, where the first notch is well within the pickup bandwidth.
How to test if such comb filtering is audible in practice ?
Using a strat as the source for maximum bandwidth, record a mono scale on the 6th string using Audacity at the default 44k1 Hz sample rate.
Normalise the track to -7dB peak * to avoid overload later on. Make two copies of the track. *
Add 7 samples of silence * near the beginning of the first copy to time shift it by 158u7s, This corresponds closely to the 17mm humbucker pole spacing on a Les Paul with 24.75 in scale length.
Using the mute buttons, compare the effect of adding the shifted and unshifted tracks to the original. This makes sure that the levels are the same in both cases.
I could hear very little difference if any.
* Effect > Gain
* Ctrl D makes duplicate tracks
* Generate > Silence will insert at the cursor position.
|
|
|
Post by stratotarts on Mar 11, 2024 15:00:47 GMT -5
I don't think this would give you an honest representation of the effect. You would need to compare the instantaneous phase/amplitude of each pole set. It is only possible to capture that in real time from both pole sets. With this technique, the phase between the two poles doesn't have any significance because it's arbitrary since it's taken at arbitrary times and created with different pick attacks also.
|
|
|
Post by antigua on Mar 11, 2024 16:03:34 GMT -5
With an eBow you can get a string to put out a constant waveform. If you were to record a humbucker, and each coil by itself, I think the effect of comb filtering should be the difference between the humbucker recording, and the recording of the two coils overlapped. Maybe it's more complicated than that though.
I think the comb filtering between neck and bridge pickups is audible in the fact that it doesn't just sound like a neck and bridge pickup overlapping, which I've heard in the past with guitars where I had wired each pickup to send to different amps. I would suspect that you wouldn't heard a difference in timbre from the comb filtering of a humbucker, just a slightly reduced treble on the lower frequency wound strings. It wouldn't be a hard cut off of treble, just a thinning out, like what happens with combined pickups in the mid frequencies.
|
|
|
Post by aquin43 on Mar 11, 2024 16:49:35 GMT -5
The hypothesis that I was trying to test is that in a humbucker with equal coils and poles but with a 17mm spacing between the coils on a 628.6mm scale length there would be a noticeable change in the timbre of notes played on the 6th string compared to the sound of a single coil pickup with the same coil.
This method isolates just the one variable - inter coil delay - and I can't see why it would not be valid. From the physics of the pickup, one would expect any difference between the coils as in a typical humbucker to diminish the effect. I would expect that the same test could be carried out with any DAW.
|
|
|
Post by ms on Mar 12, 2024 10:40:13 GMT -5
Since the result of this experiment is that there is an audible but not large effect, it proves the point even if the equivalence were not exact to the actual case. That is, it would be very hard to believe that some small difference between this test and the actual effect could make a large difference in the sound.
|
|
|
Post by ms on Mar 12, 2024 13:42:47 GMT -5
So if you believe this test, (as I do), then you should get close to a tele lead or strat sound without the hum by making humbuckers in this way: 1. Use fewer turns on each coil so that the inductance of two in series is what you want. Since inductance decreases faster than linearly with turns, you do not need to take off that many. 2. Use Alnico rod magnets for the right Q. 3. Do not use a tall Bobbin; the turns near the bottom do not contribute much to the level. So the turns you lose with respect to a strat pickup to get the right inductance cost you less level than you might think in terms of output if you are used to strat pickups with tall bobbins. 4. Lose the baseplate? Not sure; a nickel silver base plate kills some highs, but not that much. The cores are more important.
Has anyone done something like this?
|
|
kitwn
Meter Reader 1st Class
Posts: 95
Likes: 23
|
Post by kitwn on Mar 13, 2024 22:08:52 GMT -5
Everyone knows that humbuckers have deep notches in their frequency response due to phase cancellation between the two poles. This has its greatest effect on the bottom string, where the first notch is well within the pickup bandwidth.
How to test if such comb filtering is audible in pratice ?
Using a strat as the source for maximum bandwidth, record a mono scale on the 6th string using Audacity at the default 44k1 Hz sample rate.
Normalise the track to -7dB peak * to avoid overload later on. Make two copies of the track. *
Add 7 samples of silence * near the beginning of the first copy to time shift it by 158u7s, This corresponds closely to the 17mm humbucker pole spacing on a Les Paul with 24.75 in scale length.
Using the mute buttons, compare the effect of adding the shifted and unshifted tracks to the original. This makes sure that the levels are the same in both cases.
I could hear very little difference if any.
* Effect > Gain
* Ctrl D makes duplicate tracks
* Generate > Silence will insert at the cursor position.
Would you please explain the derivation of the 158uS delay and it's significance here? Kit
|
|
|
Post by aquin43 on Mar 14, 2024 5:53:04 GMT -5
The guitar string acts like a "transmission line". This means that the pulse or wave made by plucking it travels down the string, bounces off the bridge and nut and travels down the string again. This process repeats until the slight energy loss at each bounce causes the wave to die away. Because the wave is traveling, two separated poles that pick it up in different places can also be thought of as picking it up at different times. This means that we can simulate the effect of two poles working together by adding the signal from one pole to a delayed version of itself. In order to calculate the necessary delay, we can also consider the shape that the wave settles into at the fundamental frequency of the note. It turns out to be a single arc representing a half wavelength of the note. This arc is made by the reflected waves from nut and bridge meeting to form a steady pattern. Knowing this allows us to work out the speed of the wave. For a given frequency, f0, one wavelength fits into twice the scale length, L. The time represented by one wavelength is 1/f0, so the velocity, v, of the wave must be 2 * L * f0. This means that any distance, d, along the string also represents a time d/v seconds. For a humbucker on a Les Paul and picking up the 6th string we have Pole spacing d = 17mm Scale length = 638.6mm Frequency f0 = 82.4Hz This makes the delay between the poles come out at 164us.
Using 44k1 Hz sampling, each sample represents 22u68s so the nearest we can get to 164us is seven samples, which is a little low at 158us. Using eight samples sounds much the same. A higher sampling frequency would give higher accuracy.
So, we make two copies of the sound and insert a period of silence before one of them to delay it. Adding the two together simulates the two poles of the humbucker working together.
|
|
kitwn
Meter Reader 1st Class
Posts: 95
Likes: 23
|
Post by kitwn on Mar 16, 2024 4:21:12 GMT -5
The guitar string acts like a "transmission line". This means that the pulse or wave made by plucking it travels down the string, bounces off the bridge and nut and travels down the string again. This process repeats until the slight energy loss at each bounce causes the wave to die away. Because the wave is traveling, two separated poles that pick it up in different places can also be thought of as picking it up at different times. This means that we can simulate the effect of two poles working together by adding the signal from one pole to a delayed version of itself. In order to calculate the necessary delay, we can also consider the shape that the wave settles into at the fundamental frequency of the note. It turns out to be a single arc representing a half wavelength of the note. This arc is made by the reflected waves from nut and bridge meeting to form a steady pattern. Knowing this allows us to work out the speed of the wave. For a given frequency, f0, one wavelength fits into twice the scale length, L. The time represented by one wavelength is 1/f0, so the velocity, v, of the wave must be 2 * L * f0. This means that any distance, d, along the string also represents a time d/v seconds. For a humbucker on a Les Paul and picking up the 6th string we have Pole spacing d = 17mm Scale length = 638.6mm Frequency f0 = 82.4Hz This makes the delay between the poles come out at 164us.
Using 44k1 Hz sampling, each sample represents 22u68s so the nearest we can get to 164us is seven samples, which is a little low at 158us. Using eight samples sounds much the same. A higher sampling frequency would give higher accuracy.
So, we make two copies of the sound and insert a period of silence before one of them to delay it. Adding the two together simulates the two poles of the humbucker working together.
Thanks for that. I have a background in wireless telegraphy so transmission line concepts and reflected waves are already in my vocabulary. this makes perfect sense.
Kit
|
|
|
Post by stevewf on Mar 16, 2024 23:11:05 GMT -5
The guitar string acts like a "transmission line". This means that the pulse or wave made by plucking it travels down the string, bounces off the bridge and nut and travels down the string again. [...] So, we make two copies of the sound and insert a period of silence before one of them to delay it. Adding the two together simulates the two poles of the humbucker working together. The humbucker's poles would have different-shaped signals. Yes, each pole would get an "original" and an opposite-phase "reflection". But the pole nearer to the anchor, nearer to the bridge for example, would have less delay between the pulses than the more "inboard" pole. If I'm right, then the signals from the poles would not be exact copies of one another. Still, an electronic model should be able to simulate this - and what's more, take into account varying distance from the anchor points, as well as overall scale length.
|
|
|
Post by aquin43 on Mar 17, 2024 5:36:47 GMT -5
The humbucker's poles would have different-shaped signals. Yes, each pole would get an "original" and an opposite-phase "reflection". But the pole nearer to the anchor, nearer to the bridge for example, would have less delay between the pulses than the more "inboard" pole. If I'm right, then the signals from the poles would not be exact copies of one another... Having less delay for the same inter-pole distance requires a higher wave velocity. That doesn't happen. Admittedly, the real string is dispersive but each wavelength has only one velocity on the string and that is essentially the velocity at the fundamental frequency until you reach very short wavelengths.
The original argument for the existence of comb filtering, if I recall correctly, comes not from a consideration of the traveling wave but from the geometry of the ideal standing wave. This model uses the correspondence between time and distance on the string to replicate the effect.
|
|
|
Post by stevewf on Mar 17, 2024 16:40:13 GMT -5
The humbucker's poles would have different-shaped signals. Yes, each pole would get an "original" and an opposite-phase "reflection". But the pole nearer to the anchor, nearer to the bridge for example, would have less delay between the pulses than the more "inboard" pole. If I'm right, then the signals from the poles would not be exact copies of one another... Having less delay for the same inter-pole distance requires a higher wave velocity. That doesn't happen. Admittedly, the real string is dispersive but each wavelength has only one velocity on the string and that is essentially the velocity at the fundamental frequency until you reach very short wavelengths.
The original argument for the existence of comb filtering, if I recall correctly, comes not from a consideration of the traveling wave but from the geometry of the ideal standing wave. This model uses the correspondence between time and distance on the string to replicate the effect. Not distance between the sets of poles, but rather distance from each set of poles to the reflection anchor. Here's what I mean:
The above drawings are meant to depict readings of a single waveform by two pickup poles - the inner pole's reading in blue, and the outer pole's in gold. The waveform is the result of a pulse traveling back & forth along the string; one round trip is the wavelength of the fundamental, and the time it takes for the pulse to make that round trip is the fundamental frequency. The two poles are positioned such that one (the blue one) is slightly "inboard" of the other. For example, in a bridge humbucker, the blue pole is the in the humbucker's inner coil and the gold one in the outer. I'm imagining that the string is plucked near the far end of the string (the end further from the pickup poles), resulting in a pulse that travels as described. Zooming in on a single fundamental period of the wave, the original pulse (the upward pulse in the drawing) would arrive at the inner pole first, then at the outer pole. After the wave gets reflected (and phase inverted), it reaches the outer pole before it reaches the inner pole. (Then the pulse goes on to complete the whole period, passing by the spot were it was plucked, reflecting off the other anchor, and finally returning, in phase with the original pluck, at the pluck's location). If it's granted that the above is how it really happens, then the two poles' reading of the same waveform will differ from one another. Perhaps another " moo point", though. At least for a humbucker, whose poles are so close together compared to the length of the string as to make the difference seem negligible. And that's even when fretted at the 24th -- which, although it makes the distance between the two poles their most significant, it is also place where string plucks are more likely to take place at or near the string's lengthwise center, resulting in a more sinusoidal wave, which would make the two readings even more closely resemble each other. Also, I see that in the drawing I made the waveform symmetrical, which is probably wrong. It should have a short "head" at the left and a long "tail" at the right, to match the pluck being near the bridge humbucker. Still, the readings would be different.
|
|
|
Post by aquin43 on Mar 18, 2024 5:13:53 GMT -5
Not distance between the sets of poles, but rather distance from each set of poles to the reflection anchor. A pluck creates two pulses of acceleration that travel in opposite directions, one towards the bridge and the other towards the nut. Repeated reflections cause these pulses to travel backwards and forwards along the string. On this ideal string they always travel at a fixed speed and so any instantiation of one of these pulses must take the same time to cross the pickup. Thus the pole that gets a particular pulse first will change at each traverse but the inter pole delay will always be the same. This means that the impulse response of the string/pickup combination may appear to be very complex because of the waves in two directions but the net result is to create a filter in which a delayed version of a signal is added to itself. One assumption made is that because the depth of the comb filter notches depends on subtracting out of phase signals, any difference in frequency response or level between the poles will diminish the effect. This simulation with exactly equal signals will, therefore, be a worst case test in which the filter will have maximum effect.
|
|
|
Post by Yogi B on Mar 19, 2024 11:59:15 GMT -5
stevewf, for a wave travelling a as you describe — initially travelling towards the bridge, before being reflected off a saddle — the combined output of both coils is the sum of four signals: Wave Crossing | Phase | Time Delay, relative... |
---|
from first crossing of neck-most coil | from reflection off bridge saddle |
---|
Neck-most coil inbound | +1 | 0 | −a | Neck-most coil reflected | −1 | 2a | +a | Bridge-most coil inbound | +1 | a−b | −b | Bridge-most coil reflected | −1 | a+b | +b |
In the frequency domain a delay of length D is represented by the following transfer function: H_\text{delay}(2 \pi f i) = e^{-2 \pi f D i}
That is, a constant magnitude (of unity) and a negative phase offset proportional to frequency. So, summing (and scaling down by 4) the above four signals (using the timings from the second column), this gives: \def\l{\mathopen{}\mathclose\bgroup\left} \def\r#1{\right#1\egroup}
\begin{aligned} H_\text{two coils}(2 \pi f i) &= \frac{1}{4} \l( e^{-2 \pi f (-a) i} - e^{-2 \pi f (+a) i} + e^{-2 \pi f (-b) i} - e^{-2 \pi f (+b) i} \r) \\[4ex]
&= \frac{1}{2} \l( \frac{e^{2 \pi f a i} - e^{-2 \pi f a i}}{2} + \frac{e^{2 \pi f b i} - e^{-2 \pi f b i}}{2} \r) \\[4ex]
&= \frac{1}{2} \Bigl( \sin(2 \pi f a) + \sin(2 \pi f b) \Bigr) \end{aligned}
Note that each sine is simply the sum of the waves crossing the respective pickup, i.e. the output of that lone pickup. And that the overall transfer function is the average of both pickups. The above can be reformed using a trig identity: \def\l{\mathopen{}\mathclose\bgroup\left} \def\r#1{\right#1\egroup}
\sin(x) + \sin(y) = 2 \sin \l( \frac{x + y}{2} \r) \cos \l( \frac{x - y}{2} \r) \\[4ex]
\therefore H_\text{two coils}(2 \pi f i) = \sin \l( 2 \pi f \cdot \frac{a + b}{2} \r) \cos \l( 2 \pi f \cdot \frac{a - b}{2} \r)
Showing that the combined response of the coils is equivalent to the response of a coil located such that its absolute 'reflection delay' (and thus its position) is the two coils' average (this is what the sine portion represents), multiplied by some function of the delay separating the coils (a−b). If this seems familiar, that's because it's the same step as performed in Tillman's analysis of a two pickup mix. Extracting the cosine from the above and putting it back into exponential form for closer examination gives the following: \def\l{\mathopen{}\mathclose\bgroup\left} \def\r#1{\right#1\egroup}
\begin{aligned} H_\text{inter-coil}(2 \pi f i) &= \cos \l( 2 \pi f \cdot \frac{a - b}{2} \r) = \cos\bigl( \pi f (a - b) \bigr) \\[3ex]
&= \frac{1}{2} \l( e^{\pi f (a - b) i} + e^{\pi f (b - a) i} \r) \\[3ex]
&= \frac{1}{2} \l( e^{\pi f (a - b) i} + e^{\pi f (b - a) i} \r) \cdot e^{\pi f (b - a) i} \cdot e^{-\pi f (b - a) i} \\[3ex]
&= \frac{1}{2} \l( e^{\pi f (a - b + b - a) i} + e^{\pi f (b - a + b - a) i} \r) \cdot e^{-\pi f (b - a) i} \\[3ex]
&= \frac{1}{2} \l(e^0 + e^{2 \pi f (b - a) i} \r) \cdot e^{-\pi f (b - a) i} \\[3ex]
&= \frac{1}{2} \l( 1 + e^{-2 \pi f (a - b) i} \r) \cdot e^{-\pi f (b - a) i} \end{aligned}
This shows the inter-coil delay portion of the transfer function is equivalent to half the sum of the input signal with a copy delayed by a−b, all then further delayed by (b−a)/2. Since time shifting a signal only affects phase, this final delay (which is a factor of the entire transfer function) is largely irrelevant unless the signal is further mixed with others from the same source. Beyond the second line of the above maths isn't strictly necessary. Merely from the exponential form of cosine it is already apparent that it represents the sum of two signals that differ by only time: one advanced by half the inter-coil duration, the other delayed by the same amount. The rest is just to show that it's possible to factor out the negative time delay.
Returning to your waveform image, below is a recreation showing the blue & gold traces, overlapped for ease of comparison. Underneath are two additional traces: green depicts the reading from a coil situated equidistant between the original coils; red is copy of the green trace delayed by the time difference between the original coils. There is an overall horizontal (time) shift which is irrelevant, and the order of the reflected readings is reversed — also irrelevant, since they are identical time-delayed copies of each other.
|
|
|
Post by stevewf on Mar 20, 2024 0:18:20 GMT -5
Yogi B, thanks! Especially for the redone line graphs at the bottom; now I see that even though the coils are "hearing" different instances of the string pulses, the aggregate remains equal, only offset by time. Thanks for working that through.
|
|
|
Post by aquin43 on Mar 20, 2024 6:10:55 GMT -5
The real pickup will have different frequency responses for each set of poles, e.g. the screws typically have more loss than the studs. One would expect, therefore, that the impulse response of the pickup would depend on the wave direction - nut to bridge or bridge to nut. The LtSpice simulation below tries to capture this. One pole is given unrestricted bandwidth while the other has added low pass filtering. The two responses differ, having shallower notches at different frequencies as one would expect with the extra phase shift from the low pass. The sum of the responses retains a deep notch. Since the standing wave on the string is the sum of two waves running in opposite directions, I would guess that it is the sum that is heard.
The listing for the simulation is given in the spoiler: Version 4 SHEET 1 1016 680 WIRE 0 -256 -48 -256 WIRE 128 -256 0 -256 WIRE 416 -256 224 -256 WIRE 496 -256 416 -256 WIRE 624 -256 576 -256 WIRE 640 -256 624 -256 WIRE 784 -256 752 -256 WIRE 864 -256 784 -256 WIRE 128 -224 96 -224 WIRE 256 -224 224 -224 WIRE 864 -224 864 -256 WIRE -48 -208 -48 -256 WIRE 416 -208 416 -256 WIRE 640 -208 640 -256 WIRE 752 -208 752 -256 WIRE 864 -112 864 -144 WIRE 912 -112 864 -112 WIRE 928 -112 912 -112 WIRE -48 -80 -48 -128 WIRE 96 -80 96 -224 WIRE 96 -80 -48 -80 WIRE 256 -80 256 -224 WIRE 256 -80 96 -80 WIRE 416 -80 416 -128 WIRE 416 -80 256 -80 WIRE 640 -80 640 -144 WIRE 640 -80 416 -80 WIRE 752 -80 752 -128 WIRE 752 -80 640 -80 WIRE 864 -80 864 -112 WIRE -48 -48 -48 -80 WIRE 0 48 -48 48 WIRE 128 48 0 48 WIRE 352 48 224 48 WIRE 416 48 352 48 WIRE 512 48 464 48 WIRE 624 48 592 48 WIRE 640 48 624 48 WIRE 784 48 752 48 WIRE 864 48 864 0 WIRE 864 48 784 48 WIRE 128 80 96 80 WIRE 256 80 224 80 WIRE 464 80 464 48 WIRE -48 96 -48 48 WIRE 352 96 352 48 WIRE 416 96 416 48 WIRE 640 96 640 48 WIRE 752 96 752 48 WIRE -48 224 -48 176 WIRE 96 224 96 80 WIRE 96 224 -48 224 WIRE 256 224 256 80 WIRE 256 224 96 224 WIRE 352 224 352 176 WIRE 352 224 256 224 WIRE 416 224 416 144 WIRE 416 224 352 224 WIRE 464 224 464 160 WIRE 464 224 416 224 WIRE 640 224 640 160 WIRE 640 224 464 224 WIRE 752 224 752 176 WIRE 752 224 640 224 WIRE -48 256 -48 224 WIRE 752 320 640 320 WIRE 640 352 640 320 WIRE 640 464 640 432 FLAG -48 256 0 FLAG 784 48 out2 FLAG 0 48 p1_2 FLAG 624 48 p2_2 FLAG 640 464 0 FLAG 0 -256 p1_1 FLAG -48 -48 0 FLAG 784 -256 out1 FLAG 624 -256 p2_1 FLAG 912 -112 sum DATAFLAG 688 320 "" SYMBOL tline 176 64 R0 WINDOW 3 16 -57 Top 2 WINDOW 0 6 48 Bottom 2 SYMATTR Value Td={dely} Z0=1k SYMATTR InstName T1 SYMBOL voltage -48 80 R0 WINDOW 3 22 165 Left 2 WINDOW 123 12 101 Left 2 WINDOW 39 0 0 Left 0 SYMATTR Value PULSE(0 1 1m 10u 10u 50u) SYMATTR Value2 AC 1 SYMATTR InstName V2 SYMBOL res 336 80 R0 SYMATTR InstName R2 SYMATTR Value 1k SYMBOL bv 752 80 R0 WINDOW 0 10 112 Left 2 WINDOW 3 -143 164 Left 2 SYMATTR InstName B2 SYMATTR Value V=v(p1_2)+v(p2_2) SYMBOL cap 624 96 R0 SYMATTR InstName C1 SYMATTR Value {c} SYMBOL e 464 64 R0 SYMATTR InstName E1 SYMATTR Value 1 SYMBOL res 608 32 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R3 SYMATTR Value 1k SYMBOL voltage 640 336 R0 WINDOW 0 25 9 Left 2 WINDOW 3 24 100 Left 2 SYMATTR InstName V3 SYMATTR Value {dely} SYMBOL tline 176 -240 R0 WINDOW 3 16 -57 Top 2 WINDOW 0 6 48 Bottom 2 SYMATTR Value Td={dely} Z0=1k SYMATTR InstName T2 SYMBOL res -64 -224 R0 SYMATTR InstName R6 SYMATTR Value 1k SYMBOL voltage 416 -224 R0 WINDOW 3 -334 168 Left 2 WINDOW 123 12 101 Left 2 WINDOW 39 0 0 Left 0 SYMATTR Value PULSE(0 1 1m 10u 10u 50u) SYMATTR Value2 AC 1 SYMATTR InstName V1 SYMBOL bv 752 -224 R0 WINDOW 0 10 112 Left 2 WINDOW 3 -159 165 Left 2 SYMATTR InstName B1 SYMATTR Value V=v(p1_1)+v(p2_1) SYMBOL cap 624 -208 R0 SYMATTR InstName C2 SYMATTR Value {c} SYMBOL res 592 -272 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R4 SYMATTR Value 1k SYMBOL res 848 -240 R0 SYMATTR InstName R1 SYMATTR Value 1k SYMBOL res 848 -96 R0 SYMATTR InstName R5 TEXT 48 440 Left 2 !.ac dec 500 80 8k TEXT 40 280 Left 2 !.param f0 = 82.4 TEXT 40 304 Left 2 !.param scale = 628.6 TEXT 40 328 Left 2 !.param psep=17 TEXT 40 352 Left 2 !.param dely = psep/(2*f0*scale) TEXT 48 472 Left 2 ;.tran 0 2m 0 1u TEXT 40 376 Left 2 !.param fc = 7k TEXT 40 400 Left 2 !.param c = 1/(2*pi*fc*1000) TEXT 680 376 Left 2 ;V3 voltage = the\ndelay in seconds
|
|