Means and methods for obtaining humbucking tones with variable gains
20190057679 ยท 2019-02-21
Inventors
Cpc classification
G10H1/342
PHYSICS
G10H2220/505
PHYSICS
G10H3/143
PHYSICS
G10H3/186
PHYSICS
G10H3/185
PHYSICS
G10H3/22
PHYSICS
G10H2250/235
PHYSICS
International classification
G10H1/34
PHYSICS
Abstract
This invention discloses and claims means and methods for producing a continuous range of humbucking vibration signals from matched sensors, from bright to warm tones, using variable gains, with either manual control or automatic control by a digital micro-computing device and system. It shows how electronic circuits can control the linear combination of tones from humbucking pairs of sensors, based upon simulating humbucking basis vectors.
Claims
1. A construction of a system of humbucking circuits from two or more matched vibration sensors, such that all the responses of said circuits can be predicted by the linear combinations of the spectral transforms, including Fourier sine-cosine and other orthogonal functions, of selected humbucking pairs of said sensors, comprised of: a. vibration sensors matched electrically in impedance and response to external electromagnetic fields, or hum, coming from outside the area of vibration measurement, which affect all sensors in the circuit equally, and b. sequential combinations of humbucking pairs, as in A&B and B&C and C&D, from matched sensors, A, B, C and D, such that: i. if said two sensors of a humbucking pair have the same vibration signal polarity, they are connected out of phase, such that the output vibration signal of the pair is proportional to a difference, as in (AB) or (BC) or (CD), and ii. if said two sensors of a humbucking pair have the opposite vibration signal polarities, they are connected in phase, such that the output vibration signal of the pair is proportional to a sum, as in (A+B) or (B+C) or (C+D), and iii. the hum signals of said pair are always connected out of phase, such that they cancel at the output, and c. a set of variable gains, such as represented by scalars, s, u, v, x, y, z, . . . , which multiply said humbucking pair signals and feed into a summing circuit, such that the final output signal is proportional to the sum said linear combination of said humbucking pair signals, as in the form, Vo=[s(AB)+u(BC)+v(CD)+ . . . ], such that for J number of said sensors, there are J1 number of said scalars.
2. The circuit in claim 1 wherein said pair signals are constructed by: a. connecting all the terminals of all of said matching sensors with the same hum polarity to ground, and b. connecting the other terminals of said sequential pairs, to the plus and minus inputs of differential amplifiers by pair, and c. simulating said scalars, s, u, . . . , either by the gains of said differential amplifiers, or by attenuation of the outputs of said differential amplifiers by variable resistance, as with potentiometers, or by both methods together, and d. said outputs of said scalar simulations are buffered by single-ended amplifiers, all of the same gain, the outputs of said buffers feeding through summing resistors into a summing amplifier, such that output in claim 1.c is accomplished.
3. The circuit in claim 2, wherein either or both of the inputs of any of said differential amplifiers may be grounded by a switch, including electromechanical and solid-state digital switches.
4. The circuit in claim 2, wherein either output of any of said differential amplifiers maybe be diverted by a switch to an analog-to-digital converter, for the purpose of sampling by a digital signal processor system.
5. The circuit in claim 2, wherein the construction of the circuit variable gains sets the sum of the squares of said J1 scalars to a constant, preferably 1, as in s.sup.2+u.sup.2+v.sup.2+ . . . =1, with J2 number of controls.
6. The circuit in claim 5, such that the combinations of said gains and attenuators simulating said scalars, with two or more linked sections, work as mutually orthogonal functions, as in the simulation of the equation [( . . . (((s=cos.sup.2(.sub.1))+(u=sin.sup.2(.sub.1)))cos.sup.2(.sub.2)+(v=sin.sup.2(.sub.2))) . . . ) cos.sup.2(.sub.J-2)+(z.sub.J-1=sin.sup.2(.sub.J-2))], wherein each j represents the scaled position of the j-th one of J2 of said controls, said controls being of cosine and sine tapers, each + in the formula represents an electronic summer with buffered inputs, and each )cos.sup.2(.sub.j) in the formula represents an added combination of gain and attenuation after a summer, the result being for two scalars, (s,u), an circle in scalar space, for three scalars, (s,u,v), a sphere in scalar space, and for more scalars a hyper-sphere in those spaces, all such representations centered on the origin of the scalar space.
7. The circuit in claim 6, such that manually-controlled multi-gang potentiometers in said gain/attenuator circuits simulating said scalars have cosine tapers with input voltages on center taps on one or more gangs and sine tapers on one or more gangs.
8. The circuit in claim 6, wherein potentiometers in said gain/attenuation circuits simulating said scalars are solid-state pots, controlled by a computing device, in which said computing device sets the tap of said solid state pot as a computed sine or cosine.
9. The computation in claim 8, such that sine and cosine are approximated by computations using only floating point math with the arithmetic functions add, subtract, multiply, divide and square root, without a Pi constant or trig functions, on the interval, infinity<x<infinity, with 0xm<1 and 0xm.sub.2<0.5, xm=x modulo 1 and xm.sub.2=xm modulo 0.5, such that a positive half-cycle of either sine or cosine is approximated by one of three functional methods of increasing accuracy, of which the negative is used for the negative half cycle, followed by the calculation of the other trig function, either cosine or sine, by taking the square root of 1 minus the square of the first function approximated, as in c(x)=sqrt(1s(x).sup.2), the being used on the appropriate interval shifted x0.25 from the positive and negative intervals of the first function approximated, such that if said first function is sine, said, second function is the negative of said square root on the interval, 0.25xm<0.75, with the positive of said square root applied to the rest of the interval, 0x<1, and such functional approximations of sign and cosine are also used for sine and cosine in fast Fourier transform subroutines on the signal sampling interval scaled to, 0x<1, said functional methods comprised of: a. functional method 1; the approximation of a positive half-cycle of the first function, either sine or cosine, by the form, 14(2xm.sub.20.25).sup.2 on the interval, 0xm<, followed by (14(2xm.sub.20.5).sup.2) on the interval, xm<1, before calculating said second function from said square root, and b. functional method 2; the approximation of a positive half-cycle of either sine or cosine by the form, 15(2xm.sub.20.25).sup.2+4((2xm.sub.20.25).sup.4 on the interval, 0xm<, where xm=x modulo 1, and xm.sub.2=xm modulo , followed by the negative of said quadratic form on the interval, xm<1, before calculating said second function from said square root, and c. functional method 3; by adding a correction to said functional method 2, of the form ((f*(xm.sub.20.25).sup.2+d)*(xm.sub.20.25).sup.2+c)*(xm.sub.20.25).sup.2, where [c/16+d/256+f/4096]=0, and c=approximately 0.262946727334352, and d=approximately 1/sqrt(2), as determined by minimizing the root-sum-squared error of the approximate function, minus said sine or cosine function, adding said correction to said positive half-cycle of said first function, and subtracting said correction from said negative half-cycle of said first function, before calculating said second function from said square root.
10. The circuit in claim 6, wherein a 3-gang linear potentiometer, set up as a pseudo-sine-cosine pot in said gain/attenuation circuits simulating scalars, with at least two gangs of the same resistance value, comprised of: a. substituting two cross-connected gangs for the cosine pot, both of value Rg1, with a series input resistor, Rb, such that the series input resistor is connected between the voltage to be modified, Vc, and connected to the cross-connected opposite ends of the resistance traces of said two gangs, the other ends of said two gangs being cross-connected and grounded, and the wipers of said gangs connected together, such that the voltage of the pot side of Rb, V1, conforms to the transfer function equation, V1/Vc=[2*x*(1x)*Rg1]/[Rb+2*x*(1x)*Rg1], said V1 connected to a buffer amplifier of gain=(Rg1+2*Rb)/Rg, the output of which is pseudo-cos(x)=[2*x*(1x)*(Rg1+2*Rb)]/[Rb+2*x*(1x)*Rg1], times the input signal Vc, where 0x1, simulating a humbucking basis vector scalar times a humbucking pair signal, connected to a summing resistor and amplifier, and b. one of said gangs, of value Rg2, which can be equal to Rg1, substituting for a sine-taper pot, with voltage transfer function times the input voltage, pseudo-sin(x)=Vs*(2*x1) above ground, where and (Vs(Vs)) is the voltage across the pot and x is the fractional rotation of said gang, 0x1, with the wiper of said gang connected to a unity-gain buffer amplifier prior to a summing resistor and amplifier, simulating a humbucking basis vector scalar times a humbucking pair signal, and c. where if s(x) is the pseudo-cosine scalar and u(x) is the pseudo-sine scalar, then the values of Rb and Rg1 are chosen and optimized so that 1 minus the root-sum-squared of (s(x).sup.2+u(x).sup.2)) over the range 0x1 is minimized.
11. The circuit in claim 1 wherein the scalars are simulated by digital potentiometers, controlled by a digital computing device, which is part of a system comprised of the following parts, performing the following functions: a. a programmable digital computing device, such as a micro-controller, a micro-processor, a micro-computer or a digital signal processor, which includes at least the following: i. read-only and random access memory, suitable for programs and variables, and ii. a control section for following programmed instructions, and iii. a section for computing mathematical operations, including binary, integer, fixed point and floating point operations, with at least add, subtract, multiply, divide and square root functions, preferably including trigonometric functions and fast fourier transform operations, and iv. digital binary input-output control lines, suitable for controlling digital peripherals, and v. at least one analog-to-digital converter, suitable for taking rapid and simultaneous or near-simultaneous samples of two or more sensor voltage signals in at least the audio frequency range, and vi. at least one digital-to-analog converter, suitable for presenting the inverse spectral transform, of a computed linear combination of spectral transforms, to an audio output for user information, and vii. timer functions, and viii. suitable functions for a Real-Time Operating System, and ix. at least one serial input-output port, and x. installed programming such that at least: 1. humbucking pairs of said vibration sensors may, when excited in a standard fashion, such as strumming one or more strings at ones, or strumming one or more strings in a chord, be sampled near-simultaneously, at a rate rapid enough for the construction of complex frequency spectra, with such methods as Fast Fourier Transforms, over the working range of the sensors, in both frequency and amplitude, and 2. the mean or sum of the amplitudes of such spectra may be summed over the frequency range to determine the inherent signal strength of said humbucking pairs, and 3. said signal strength be used to equalize the outputs of various linear combinations of the signals of said humbucking pairs, and 4. said spectra be modified by psychoacoustic functions to assess the audible tones of various linear combinations of the signals of said humbucking pairs, and 5. the components of said spectra be used to compute the means and moments of said spectra, and 6. said calculations from said spectra be used to order the tones of said linear combinations of said signals of said humbucking pairs into near-monotonic gradations from bright to warm, for the purpose of allowing user controls to shift from bright to warm tones and back, without the user ever needing to know which signals were used in what combinations, and 7. the order of such gradations be presented to the user for approval or modification, including the use of audible representations of tones obtained from inverse spectral transformations and fed to the instrument output via a digital-to-analog converter feeding into the final output amplifier of said system, and 8. allowing external devices to connect to said system for the purposes of updating and re-programming, testing and control of said system, and 9. driving all input and output peripherals, and xi. plus any other controls and functions suitable for accomplishing this claim, and b. two or more of matched said vibration sensors, having the same internal impendance, electrical characteristics and responses to external signals interfering with said vibrations, or hum, all of said sensors connected to a system ground by their terminals having the same phase of hum voltage, and c. a pickup amplifying system, capable of electronically simulating a humbucking basis vector equation, generated from said sensors, comprised of: i. solid-state analog switches, controlled by said computational device, connected to the output terminals of said sensors, such that the outputs of any number of said sensors can be shorted to ground, and ii. fully differential amplifiers, preferably of gain=2, connected to sequential pairs of said sensors, such that sensors A, B, C, D, . . . , have hum signals at least of (AB), (BC), (CD), . . . , or preferably of 2(AB), 2(BC), 2(CD), . . . , across the differential outputs of said amplifiers, where the phases of the vibration signals may be either in-phase (As+Bs) or out-of-phase (AsBs), where As and Bs represent said vibration signals, according their phase relations with hum signals, and iii. solid-state analog switches, controlled by said computational device, connected to one of the output terminals of said differential amplifiers, preferably the positive output terminals, wired to divert the output signal on digital command from the rest of the amplifying system to one or more of said analog-to-digital converters of said computational device, and iv. solid-state potentiometers, controlled by said computational device, wired to modify the gain and attenuation of the outputs of said differential amplifiers, to simulate scalar multipliers, such as s, u, v, . . . , of the outputs of said sensors wired into buffer amplifiers of gain 1 or more, such that sensors A, B, C, D, . . . , produce buffer outputs of s(AB), u(BC), v(CD), . . . , and d. said summing amplifier with a gain, set by a digitally controlled pot in the output circuit, which at the least produces an output of V=G*[s(AB)+u(BC), +v(CD), . . . ], and preferably has additional buffers and digitally controlled potentiometers arranged and connected such that the squares of the scalars equal a constant, such as (s.sup.2+u.sup.2+v.sup.2+ . . . )=1, accomplished by a set of orthogonal functions, such as [( . . . (((s=cos.sup.2(.sub.1))+(u=sin.sup.2(.sub.1)))cos.sup.2(.sub.2)+(v=sin.sup.2(.sub.2))) . . . ) cos.sup.2(.sub.J-2)+(z.sub.J-1=sin.sup.2(.sub.J-2))]=1, where J is the number of said sensors and the j are control variables, computed by said computational device along with said orthogonal functions, and e. a connection from the output of said summing amplifier to a said analog-to-digital converter in said computational device, for the purpose of monitoring and sampling said output, and f. a section of analog signal conditioning between said summing amplifier, and the final output, with a switch, controlled by said computational device, to change the input from said summing amplifier to said digital-to-analog converter in said computational device, and g. a provision for using external flash memory to extend the program and storage of program variables and digital signal samples, interfaced with and controlled by said computational device, and h. interface circuits to connect said serial input-output port to external devices, via such interfaces as USB and BlueTooth, to provide for test, programming and control of the entire system, and i. a status display to inform the user of the states of signal output, such as a programmed sequence of tones for switching, modes of test and operation, comprised of one or more of the following: i. binary status lights, and ii. alpha-numeric displays, and iii. digital images displays, and j. operator input devices, comprised of one or more of the following: i. an up-down shift switch, used to change tones and modes of operation, and ii. a mouse-like wheel with click switches, for the same purposes, and iii. a tap and swipe panel, much like a smart phone device, for the same purposes.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072]
[0073]
[0074]
[0075]
[0076]
[0077]
[0078]
DESCRIPTION OF THE INVENTION
Principles of Operation
[0079] Matched single-coil electromagnetic guitar pickups are defined as those which have the same volume and phase response to external electromagnetic fields over the entire useful frequency range. As noted in previous PPAs, these principles are not limited to electromagnetic coil sensors, but can also be extended to hall-effect sensors responding to electromagnetic fields, and to capacitive and piezoelectric sensors responding to external electric fields.
[0080] Humbucking Basis Vectors
[0081] Let A and B denote the signals of two matched single-coil pickups, A and B, which both have their north poles up, toward the strings (N-up). To produce a humbucking signal, they must be connected contra-phase, with an output of AB. It could be BA, but the human ear cannot detect the difference in phase without another reference signal. Conversely, if A and B denote two matched pickups where A is N-up and the underscore on B denotes S-up, or south pole up, then the only humbucking signal possible is A+B. Any gain or scalar multiplier, s, times either signal, AB or A+B, can only affect the volume, not the tone.
[0082] Bu t as soon as a third pickup is added, the tone can be changed. Let N, M and B denote the signals of matched pickups N, M & B a 3-coil electric guitar. Let N be the N-up neck pickup, M be the S-up middle pickup, and B be the N-up bridge pickup. A typical guitar with a 5-way switch has the outputs, N, (N+M)/2, M, (M+B)/2 and B, where the summed connections are in parallel. Math 1a&b show two possible forms of humbucking basis vectors, used to combine the signals N, M & B with the scalar variables s and u.
[0083] Math 1a uses the basis vectors [1,1,0] and [1,0,1], and Math 1b uses the basis vectors [1,1,0] and [0,1,1]. Note that two basis vector sets are linearly dependent, that [1,1,0][1,0,1]=[0,1,1]. The scalar vectors [s.sub.1,u.sub.1] and [s.sub.2,u.sub.2], contain the scalar multipliers, s.sub.1 & u.sub.1 and s.sub.2 & u.sub.2, which can be considered rectangular coordinates in STU-space. Note that the STU-space with coordinates [s.sub.1,u.sub.1] maps into the STU-space with coordinates [s.sub.2,u.sub.2] with the linear transformation in Math 2. So the two spaces cover all the same humbucking tones.
s.sub.2=s.sub.1+u.sub.1,u.sub.2=u.sub.1Math 2.
[0084] Constructing Tables of Relative Amplitudes and Moments for all Circuits from the Simultaneous FFT Spectra of a Few
[0085] The Fast Fourier Transform, or FFT, is linear. If X(f) and Y(f) are the respective complex Fourier transforms of x(t) and y(t), and exist, then Math 3 holds true.
a*x(t)+b*y(t)a*X(f)+b*Y(f)Math 3.
[0086] Likewise, the Fourier transforms of the signals in Math 1 are linear. For example, the circuit produced by this switching system is N1oN2S2, in the notation used here, and the signals from the coils in that circuit are n1(t), n2(t) and s2(t), with Fourier transforms N1(f), N2(f) and S2(f), then Math 4 holds true via Math 1 and Math 3.
n1(t)[n2(t)s2(t)]/2=n1(t)+[s2(t)n2(t)]/2N1(f)+[S2(f)N2(f)]/2Math 4.
[0087] There are at least 3 forms of the frequency components of the Fourier transform; a cosine paired with a sine; a magnitude paired with a phase; and a real part paired with an imaginary part. From the form with real and imaginary parts of a frequency component Z(f.sub.j)=X(f.sub.j)+iY(f.sub.j), the magnitude and phase can be easily constructed, as shown in Math 5.
[0088] This means that however the strings can be excited to provide signals from each and every matched pickup coil being used, the simultaneous signals from each coil can be sampled and individually transformed into complex Fourier series. Often, the signals are sampled and digitized at high rates in sequence, so there is a finite time delay between samples for different coils. Equation (3-20) in Brigham (1974) shows how to compensate for this, as shown in Math 6.
x(tt.sub.0)X(f)*e.sup.j2ft.sup.
[0089] As a practical matter, sampling and digitizing rates can be 48 k-Samples/s or higher. To obtain a frequency spectrum for 0 to 4 kHz, one must sample and digitize at 8 kS/s, which leaves room for sampling 6 signals in sequence at 48 kS/s. If an acceptable phase error is 1 degree, or 0.1745 radian at 4 kHz, then the clock measuring t.sub.0 must be accurate to 1/(360*4000 Hz)=0.694 uS. Since it takes a few clock cycles of a microcontroller or microprocessor to mark a time, this suggests the need for a system clock of that many clock cycles times 1.44 MHz, or greater.
[0090] The complex series for the coils can be added, subtracted, multiplied and divided according to equation via Math 2 for each and every circuit combination this switching system (or any other switching system) can produce. Then, for every frequency component of every given complex Fourier transform for every circuit, the magnitude of that component can be obtained via Math 16 and substituted into Math 1 to obtain the relative signal amplitude and frequency moments for that circuit and excitation.
[0091] That means it is not necessary to run an FFT process for every one of the 1, 6, 25, 90, . . . to 28541 different circuits that this switching system can produce for 2 to 10 matched pickups. It can all be done by computation from the FFTs for each pickup coil. But this switching system, as stated thus far, cannot measure the signals of single coils directly. It can only produce signals for humbucking pairs, triples, quads and up, depending on the number of match pickup coils. Baker (2017) determined that for J number of matched pickup coils, there could only be J1 number of independent basis vectors for humbucking pairs. This means that in order to obtain the individual signals of individual coils from humbucking pairs, triples, etc., at least one of the coil signals must be independently measured. This would require a modification to this switching system to do so. It does not matter which coil is measured independently, so long as it is placed alone across whatever output feeds into the sampling input, with a proper ground reference. This could be as simple as a switch shorting out one of the coils in a humbucking pair.
[0092] Analog circuit simulations of humbucking basis vectors
[0093]
[0094] The only thing that sets the phase of the vibration signal is the orientation of the magnetic field. The connections are such that when the field is North-up (N-up), the coil end at the amplifier input has a positive signal phase, and when it is S-up, the coil end connected to the amplifier has a negative signal phase.
[0095] This approach can be extended to any number of matched pickups.
[0096] If the pickup at A is N-up, and designated Na, then its vibration signal has a positive sign, +Na. If it is S-up, and designate Sa, then its vibration signal has a negative sigh, Sa. Tables 1 and 2 show the maximum possible number of different pole/position configurations for
TABLE-US-00001 TABLE 1 Outputs for FIG. 2 with four possible pole/position configurations, where tones are in-phase and tones are contra-phase pole config A B C A B B C s u N,N,N Na Nb Nc Na Nb Nb Nc 1 2 S,N,N Sa Nb Nc Sa Nb Nb Nc 1 2 N,S,N Na Sb Nc Na + Sb Sb Nc 1 2 N,N,S Na Nb Sc Na Nb Nb + Sc 1 2
[0097] Or to look at it another way, there are two difference tones, 1 and 2, and two sum tones, 1 and 2, with the additions 1 and 2, which are inverse duplicates. Any of the minus signs can be replaced by changing the sign of one or both scalars, s and u. Note that using N,S,S in the second row, instead of its inverse duplicate, S,N,N, would replace (1,2) with (1,2), which will produce exactly the same output tones of Vo=s(AB)+u(BC), merely be reversing the signs of s and u. The only true differences are the combinations of in-phase () and contra-phase () tones, (,), (,), (,) and (,). Each combination navigates a different tonal/amplitude space with values s and u.
TABLE-US-00002 TABLE 2 Outputs for FIG. 3 with eight possible pole/position configurations Pole Config A B C D A B B C C D s u v N,N,N,N Na Nb Nc Nd Na Nb Nb Nc Nc Nd S,N,N,N Sa Nb Nc Nd Sa Nb Nb Nc Nc Nd N,S,N,N Na Sb Nc Nd Na + Sb Sb Nc Nc Nd N,N,S,N Na Nb Sc Nd Na Nb Nb + Sc Sc Nd N,N,N,S Na Nb Nc Sd Na Nb Nb Nc Nc + Sd S,S,N,N Sa Sb Nc Nd Sa + Sb Sb Nc Nc Nd S,N,S,N Sa Nb Sc Nd Sa Nb Nb + Sc Sc Nd S,N,N,S Sa Nb Nc Sd Sa Nb Nb Nc Nc + Sd
[0098] In Table 2, the same principles apply. From NP patent application Ser. No. 15/917,389, we have that for K number of matched and reversible magnetic sensors, there are 2.sup.K-1 possible unique magnetic pole reversals. For four pickups, there are 2.sup.4-1=2.sup.3=8 pole configurations. As we see here, this metric also holds true for the number of configurations of in-phase () and contra-phase () tones associated with the humbucking basis vector scalars, s, u and v. If D is taken for a binary 0 and S is taken for a binary 1, the results of the 8 pole configurations can be ordered from (,,) or (0,0,0) to (,,) or (1,1,1).
[0099] The only difference in warmness or brightness of tone between serial and parallel circuits comes from the load impendence on the output of the circuit, and the load impedance of a solid-state differential amplifier, as shown in
[0100] Math 7a shows the circuit equation and output solution for
[0101]
[0102] Letting A, B and C stand in for the voltages, V.sub.A, V.sub.B and V.sub.C, Math 9 expresses the humbucking basis vectors and output basis equation which will apply to both circuits in
Embodiment 1: Humbucking Variable Gain Circuit for 3 Matched Pickups
[0103]
Embodiment 2: Ganged Sine-Cosine Pots in Humbucking Amplifiers
[0104] Note that at the midrange points on the pots in
[0105] So to control just the tone, the entire space could be reduced to a half-circle about the origin, where s.sup.2+u.sup.2=1, or more correctly, G2*(s.sup.2+u.sup.2)=1. Note that this does not mean that the output amplitude will be constant. This line still contains a range of humbucking tones including in-phase and contra-phase tones, with the contra-phase tones tending to have a lower fundamental content and a higher harmonic content with less amplitude. The half-circle can be realized by a 2-gang pot where one gang is half a sine function and the other is half a cosine function, because of the trig identity, sin.sup.2+ cos.sup.2=1.
[0106]
( . . . ((((cos.sup.2.sub.1+sin.sup.2.sub.1)cos.sup.2.sub.2+sin.sup.2.sub.2)cos.sup.2.sub.3+sin.sup.2.sub.3) . . . )cos.sup.2.sub.j+sin.sup.2j)=1Math 10.
[0107] The trig identity in Math 10 can be used to extend
[0108] There is another advantage to doing it this way. Using the trig identity removes one degree of freedom from the equations. So for J number of matched single-coil pickups, there are J1 humbucking pair signals and J2 controls, s, u, v, . . . . This means that for a 3-coil guitar, only one rotary control needs to be used to set the tone (but not the volume) over the entire range from bright to warm. For a 4-coil guitar, or 2 dual-coil humbuckers used as 4 matched coils, just 2 rotary controls can move the tone over the entire half-sphere of tonal changes.
Embodiment 3: Ganged Pseudo-Sine Pots in Humbucking Amplifiers
[0109] Unfortunately, sine-cosine pots tend to be large and/or expensive. But sine and cosine are not the only functions for which (s(x)+u(x).sup.2)=1, where 0x1 is the decimal fractional rotation of a single-turn pot with multiple gangs, having tapers s(x) and u(x). These functions can be simulated with a 3-gang linear pot.
[0110] Math 11 shows the solutions to the circuit equations for R.sub.B, Pga, Pgb, Vs, V.sub.1 and Vw. In order for the simulation of the scalar, s, to have a range from 0 to 1, the gain, of Buff1 must be as shown. As noted in
1(s.sup.2(x)+u.sup.2(x))Math 12.
[0111]
Embodiment 4: Approximating Sine-Cosine Pots with Linear Digital Pots
[0112]
[0113] For this example, we will assume digital pot with 256 resistance taps. In this case, x as a decimal fractional rotation number from 0 to 1 has no meaning. The numbers 0 and 255 correspond to the ends of the pot, zero resistance to full resistance on the wiper. The internal resistor is divided into 255 nominally equal elements, and an 8-bit binary number, from 00000000 to 11111111 binary, or from 0 to 255 decimal, determines which tap is set. The pot either has a register which holds the number, or an up-down counter which moves the wiper up and down one position. The convention used here makes s=cos() and u=sin() for /2/2, with 0s1 and 1u1. So s maps onto 0Ns255, and u maps onto 0Nu255. This breaks each of s=cos() and u=sin() into 256 discrete values, from 0 to 1 for s and from 1 to 1 for u. So the resulting sin and cosine plots are non-continuous. The number that is fed to the pot to set it must be an integer from 0 to 255. Math 13 shows how this number is set. The value of 0.5 is added before converting to an integer to properly round up or down. The resulting error in Math 12 tends to be 1/255.
Int(y)=integery
Ns=Int(255s+0.5)=Int(255 cos()+0.5)
Nu=Int(127.5*(1+u)+0.5)=Int(127.5*(1+sin())+0.5)Math 13.
Embodiment 5: Pseudo-Sine Approximation with Linear Digital Pots
[0114] Unfortunately, not all micro-controllers come with trig functions in their math processing units. One very low power uC, which runs at about 100 uA (micro-amps) per MHz of clock rate, has 32-bit floating point arithmetic functions, including square root, but no trig functions or constant of Pi. This requires two different orthogonal functions which can satisfy Math 12, but not necessary those in Embodiment 3. Math 14 shows a set of functions, s(x) and u(x), which meet Math 12 with no error, and are orthogonal to each other.
[0115]
[0116] Math 15 shows an even better function, plotted in
Embodiment 6: Pseudo-Sine Pot Functions Adapted for FFT Algorithm
[0117] The functions in Math 14 & 15 suggest the candidates in Math 16 & 17 to be substituted for sine and cosine in an FFT algorithm, when the uC has a floating point square root function, but no Pi constant or trig functions. In these cases, the variable of rotation is not 0<2, but 0x<1; the frequency argument of cosine changes from (2ft) to simply (ft), and the FFT algorithm must be adjusted to scale accordingly.
[0118] Math 17 shows an added correction to Sxm, prior to calculating Cxm, which reduces the error to less than 1.5e-6 for Sxm, and less than 1.4e-5 for Cxm. The precision of the coefficients is consistent with IEEE 754 32-bit floating point arithmetic. Listing 1 shows a Fortran-like subroutine to calculate the sine- and cosine-approximation return variables SXM and CXM from X and NORD. For NORD=0, a re-scaled Match 14 is calculated, for NORD=1, Math 16 is calculated, and for NORD=2, the correction in Math 17 is added before calculating CXM.
Listing 1: Fortran-Like Subroutine to Calculate Math 14-17 for a Full Cycle
[0119]
TABLE-US-00003 SUBROUTINE SUDOSC (X, SXM, CXM, NORD) REAL X(1), SXM(1), CXM(1) INTEGER NORD(1) XM = X MODULO 1 XM2 = XM MODULO 0.5 A = 2.0*XM2-0.5 A = A*A IF (NORD = 0) THEN SXM = 1.0-4.0*A IF (XM <= 0.5) SXM = SXM ELSEIF (NORD > 0) THEN SXM = 1.0-5.0*A+4.0*A*A IF (NORD = 2) THEN A = XM2-0.25 A = A*A SXM = ((78.62897*A+0.7071068)*A+0.2629467)*A+SXM ENDIF ENDIF IF (XM > 0.5) SXM = SXM IF ((0.25<XM)AND(XM<0.75)) THEN CXM = SQRT(1-SXM*SXM) ELSE CXM = SQRT (1-SXM* SXM) ENDIF RETURN
Embodiment 7: Micro-Controller Architecture for Humbucking Basis Vectors
[0120]
[0121]
[0122] The cosine pot, P.sub.DCOS, feeds into the unitary gain buffer, BUFF1, which with summing resistor R.sub.S, and similar signals from other sections (BUFF1, R.sub.S, . . . ) sum together the humbucking pair signals, conditioned by the digital pots simulating the scalars, s, u, v, . . . . The feedback circuit on U3, resistor R.sub.F and digital pot P.sub.DF, provides a gain of (R.sub.F+P.sub.DF(set))/R.sub.S, as set by the uC with the 3 lines controlling P.sub.DF. The output of U3 then feeds the ANALOG SIGNAL COND section in
[0123] The uC shows 4 internal functions, one FFT section, two analog-to-digital converters, ADC, and one digital-to-analog converter, D/A. The FFT section can be a software program in the uC, an inboard or outboard Digital Signal Processor (DSP) the can be used to calculate FFTs, or any other functional device that serves the same purpose. The D/A output feeds inverted FFTs to the analog output section (not shown), either as audio composites of the result of the simulation of the humbucking basis vector equation, or as a test function of various signal combinations. It allows the user to understand what the system is doing, and how. It can be embodied by a similar solid-state switch to SW1 or SW2, switching the input of the ANALOG SIGNAL COND block between the outputs of the SUM AMP and the D/A.
[0124] Ideally, the uC samples time-synced signals from all the humbucking pair signals simultaneously, performs an FFT on each one, and calculates average signal amplitudes, spectral moments and other indicia, some of which are shown in Math 20. It then uses this data to equalize the entire range of possible output signals, and to arrange the tones generated into an ordered continuum of bright to warm and back. The MANUAL SHIFT CONTROL is a control input that can be embodied as anything from an up-down switch to a mouse-like roller ball, intended for shifting from bright to warm tones and back without the user knowing which pickups are used in what combination or humbucking basis vector sum.
[0125] For example, Math 18 shows a humbucking basis vector equation, for pickup A S-up and pickups B, C and D N-up, as would happen for
[0126] So after the uC takes the FFTs of all the unmodified humbucking pair signals, via