TECHNICAL FIELD
The present invention relates generally to the field of determining a position and /or controlling the position of a multi-pole magnetic structure. More particularly, the present invention relates to the field of determining a position of a multi-pole magnetic structure having magnetic sources arranged in accordance with a code derived from a base code and a symbol. Embodiments may use a plurality of sensors arranged in accordance with the code.
BACKGROUND
Brief Description
The present disclosure relates generally to systems and methods for arranging magnetic sources for producing field patterns having high gradients for precision positioning, position sensing, and pulse generation. Magnetic fields may be arranged in accordance with codes having a maximum positive cross correlation and a maximum negative cross correlation value in proximity in the correlation function, thereby producing a high gradient slope corresponding to a high gradient force or signal associated with the magnetic structure. Various codes for doublet, triplet, and quad peak patterns are disclosed. Applications include force and torque pattern generators. A variation including magnetic sensors is disclosed for precision position sensing. The forces or sensor outputs may have a precision zero crossing between two adjacent and opposite maximum correlation peaks.
A class of codes may be derived from known codes having autocorrelation properties with a high peak and low side lobes. Examples of such root or source codes include, but are not limited to Barker codes, Pseudo Noise (PN) codes, Linear Feedback Shift Register (LFSR) codes, maximal length LFSR codes, Kassami codes, Golomb ruler codes, Costas arrays, and other codes.
One class of codes may be derived by generating a pair of codes. The first code may be generated by adding a zero after each code element, stated alternatively, by replacing each code element by an (ai, 0) symbol, where ai is the source code element. (A symbol is a sequence of code elements.) The second code may be generated by replacing each source code element with a (1, −1) symbol or (−1, 1) symbol according to the polarity of the source code, i.e., each source code element is replaced by the symbol (ai, −ai), where ai is each source code element.
A second class of codes may be generated by generating a pair of codes. Both the first and second code generated by replacing the source code elements with (ai, −ai) symbols.
A third class of code pairs may be generated by generating a first code by replacing the source code elements with (ai0, 0, 0) and generating a second code by replacing source code elements with (ai, −ai, ai, −aii).
Another class of code pairs may be generated by generating a first code and a second code by replacing the source code elements with (ai, −ai, ai).
Another class of code pairs may be generated by generating a first code by replacing the source code elements with (ai, 0, 0, 0) and generating a second code by replacing source code elements with (ai, −ai, ai, −aii).
A magnetic force pattern or sensing pattern of length k may be generated by starting with a source code having desirable impulse autocorrelation and generating a code pair, the first code of the code pair generated by replacing the source code elements with the pattern multiplied by the respective source code element, (aiP1, aiP2, aiP3, . . . , aiPk), where ai, is each source code element and P1, . . . , Pk is the pattern sequence of length k. An equivalent formulation is where the source code elements are replaced by a sequence that is a product of the source code element and a pattern sequence: ai (P1, P2, P3, . . . , Pk).
In a further variation, a compound pattern may be generated by replacing the elements of a first pattern with the elements of a second pattern in accordance with the elements of the first pattern, i.e., with respect to the polarity of the elements of the first pattern. For example, the elements of the first pattern, P1k, may be multiplied by the elements of a second pattern, P2j, to produce a compound pattern, (P1kP2j). The compound pattern is then used to produce the first code and/or the second code using the elements of the source code, ai, (aiP1kP2j).
In a further variation, a resulting code length may be increased by one or more positions by adding additional zero or one values.
The codes and magnetic structures may be configured in a linear (non-cyclic) or cyclic configuration. The linear (also referred to as non-cyclic) configuration is characterized by both codes operating as a single code modulo, i.e., with zeroes before and after the codes so that as one code slides by the other to form the correlation, elements that are past the end of the other code match with a zero resulting in a zero product. Cyclic codes in contrast are configured with at least one of the codes appearing in multiple modulos or cycles, or configured in a circle to wrap on itself such that elements of the second code past the end of one code modulo of the first code interact with elements of another code modulo of the first code, yielding a possible non-zero correlation result.
A motor or stepping motor may be produced in accordance with this disclosure by producing a rotor in accordance with one of the codes of a code pair and programming electromagnet fields corresponding to the other code of the code pair. A stepping motor with a doublet pattern will have a single strong holding position at the maximum attraction peak. The adjacent maximum repelling peak will present a high torque barrier to deviation in that direction. Conversely, stepping in the opposite direction can provide double torque and acceleration.
A triplet pattern will have a strong holding point at the maximum peak flanked by adjacent high torque repelling peaks to maintain precision holding, even under load.
A device with a magnetic force function over a range of motion may be produced by arranging a first magnetic assembly of elements according to the first code of a code pair as previously described and arranging a second magnetic assembly of magnetic elements according to the second code. The magnetic assemblies may be configured to operate opposite one another across an interface boundary in accordance with the cross correlation of the two codes.
A device for sensing position may be produced by arranging a first magnetic assembly of magnetic elements in accordance with the second code and arranging a group of magnetic sensors in accordance with the first code. The magnetic assembly may be placed on an object to be measured and the magnetic sensors may be placed on a reference frame. Motion between the magnetic assembly and the reference frame would trace a pattern related to the cross correlation function of the two codes. In particular, a position between a maximum positive and maximum negative correlation position could be very precisely located because of the high sensing gradient between the two maximum correlation positions.
A device for producing an electrical pulse may be produced by arranging a first magnetic assembly in accordance with the second code and arranging magnetic sensing coils in accordance with the first code. The magnetic assembly may be placed on a moving element and the coils placed on a fixed assembly. As the magnetic assembly passes by the coil assembly, the output voltage may be in accordance with the gradient of the cross correlation function. Thus, a point between a maximum positive and adjacent maximum negative cross correlation peak would produce the highest voltage output, having the highest magnetic gradient along the path.
These and further benefits and features of the present invention are herein described in detail with reference to exemplary embodiments in accordance with the invention.
BRIEF DESCRIPTION OF THE FIGURES
The present invention is described with reference to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements. Additionally, the left-most digit(s) of a reference number identifies the drawing in which the reference number first appears.
FIG. 1
a-FIG. 1e depict an exemplary code pair having desirable adjacent position cross correlation transitions in accordance with the present disclosure.
FIG. 2
a-FIG. 2d depict an exemplary code pair based on a first Barker length 4 code (1, 1, −1, 1).
FIG. 3
a-FIG. 3c depict an exemplary code pair based on a second Barker length 4 code (1, 1, 1, −1).
FIG. 4
a-FIG. 4c depict an exemplary code pair based on a Barker length 5 code (1, 1, 1, −1, 1).
FIG. 5
a-FIG. 5c depict an exemplary code pair based on a Barker length 7 code (1, 1, 1, −1, −1, 1, −1).
FIG. 6
a-FIG. 6c depict an exemplary code pair based on a Barker length 11 code (1, 1, 1, −1, −1, −1, 1, −1, −1, 1, −1).
FIG. 7
a-FIG. 7c depict an exemplary code pair based on a Barker length 13 code (1, 1, 1, 1, 1, −1, −1, 1, 1, −1, 1, −1, 1).
FIG. 8
a-FIG. 8c depict an exemplary code pair based on a Barker 3 code.
FIG. 9
a-FIG. 9c depict an exemplary code pair based on a Barker 4a code.
FIG. 10
a-FIG. 10c depict an exemplary code pair based on a Barker 4b code.
FIG. 11
a-FIG. 11c depict an exemplary code pair based on a Barker 5 code.
FIG. 12
a-FIG. 12c depict an exemplary code pair based on a Barker 7 code.
FIG. 13
a-FIG. 13c depict an exemplary code pair based on a Barker 11 code.
FIG. 14
a-FIG. 14c depict an exemplary code pair based on a Barker 13 code.
FIG. 15
a-FIG. 15d depict an exemplary symmetrical triplet code pair based on a Barker 4a code.
FIG. 16
a-FIG. 16c depict an exemplary symmetrical triplet code pair based on a Barker 4a code.
FIG. 17
a-FIG. 17c depict an exemplary asymmetrical triplet code pair based on a Barker 4a code.
FIG. 18
a-FIG. 18c depict an exemplary asymmetrical triplet code pair based on a Barker 4a code.
FIG. 19
a-FIG. 19c depict an exemplary asymmetrical triplet code pair based on a Barker 4a code.
FIG. 20
a-FIG. 20c depict an exemplary symmetrical four peak code pair based on a Barker 4a code.
FIG. 21
a-FIG. 21c depict an exemplary system of magnetic sensors configured for measuring field emissions from linear and cyclic magnetic structures.
FIG. 21
d depicts an exemplary control system using a sensor in accordance with the present disclosure.
FIG. 22
a-FIG. 22c show various exemplary parallel and series combinations of codes.
FIG. 22
d illustrates an exemplary magnet structure having a strong shear force and a neutral normal force.
FIG. 23
a-FIG. 23c show various other implementations involving Barker 7 arrays.
FIG. 24
a-FIG. 24d depict an exemplary code pair based on a Barker 4a root code.
FIG. 25
a-FIG. 25c depict the two codes of FIG. 24a where each ‘+’ symbol has been replaced by a ‘+−’ symbol and each ‘−’ symbol has been replaced by a ‘−+’ symbol, and corresponding correlation functions for linear and cyclic implementations.
FIG. 26
a-FIG. 26c depict the same concept described in relation to FIG. 22a-FIG. 22c and FIG. 23a-FIG. 23c except using the codes from FIG. 25.
FIG. 27
a-FIG. 27d depict an exemplary code pair based on a Golomb ruler size 11 code.
DETAILED DESCRIPTION
The present invention will now be described more fully in detail with reference to the accompanying drawings, in which the preferred embodiments of the invention are shown. This invention should not, however, be construed as limited to the embodiments set forth herein; rather, they are provided so that this disclosure will be thorough and complete and will fully convey the scope of the invention to those skilled in the art.
Certain described embodiments may relate, by way of example but not limitation, to systems and/or apparatuses comprising magnetic structures, magnetic and non-magnetic materials, methods for using magnetic structures, magnetic structures produced via magnetic printing, magnetic structures comprising arrays of discrete magnetic elements, combinations thereof, and so forth. Example realizations for such embodiments may be facilitated, at least in part, by the use of an emerging, revolutionary technology that may be termed correlated magnetics. This revolutionary technology referred to herein as correlated magnetics was first fully described and enabled in the co-assigned U.S. Pat. No. 7,800,471 issued on Sep. 21, 2010, and entitled “A Field Emission System and Method”. The contents of this document are hereby incorporated herein by reference. A second generation of a correlated magnetic technology is described and enabled in the co-assigned U.S. Pat. No. 7,868,721 issued on Jan. 11, 2011, and entitled “A Field Emission System and Method”. The contents of this document are hereby incorporated herein by reference. A third generation of a correlated magnetic technology is described and enabled in the co-assigned U.S. patent application Ser. No. 12/476,952 filed on Jun. 2, 2009, and entitled “A Field Emission System and Method”. The contents of this document are hereby incorporated herein by reference. Another technology known as correlated inductance, which is related to correlated magnetics, has been described and enabled in the co-assigned U.S. Pat. No. 8,115,581 issued on Feb. 14, 2012, and entitled “A System and Method for Producing an Electric Pulse”. The contents of this document are hereby incorporated by reference.
Material presented herein may relate to and/or be implemented in conjunction with multilevel correlated magnetic systems and methods for producing a multilevel correlated magnetic system such as described in U.S. Pat. No. 7,982,568 issued Jul. 19, 2011 which is all incorporated herein by reference in its entirety. Material presented herein may relate to and/or be implemented in conjunction with energy generation systems and methods such as described in U.S. patent application Ser. No. 13/184,543 filed Jul. 17, 2011, which is all incorporated herein by reference in its entirety. Such systems and methods described in U.S. Pat. No. 7,681,256 issued Mar. 23, 2010, U.S. Pat. No. 7,750,781 issued Jul. 6, 2010, U.S. Pat. No. 7,755,462 issued Jul. 13, 2010, U.S. Pat. No. 7,812,698 issued Oct. 12, 2010, U.S. Pat. Nos. 7,817,002, 7,817,003, 7,817,004, 7,817,005, and 7,817,006 issued Oct. 19, 2010, U.S. Pat. No. 7,821,367 issued Oct. 26, 2010, U.S. Pat. Nos. 7,823,300 and 7,824,083 issued Nov. 2, 2011, U.S. Pat. No. 7,834,729 issued Nov. 16, 2011, U.S. Pat. No. 7,839,247 issued Nov. 23, 2010, U.S. Pat. Nos. 7,843,295, 7,843,296, and 7,843,297 issued Nov. 30, 2010, U.S. Pat. No. 7,893,803 issued Feb. 22, 2011, U.S. Pat. Nos. 7,956,711 and 7,956,712 issued Jun. 7, 2011, U.S. Pat. Nos. 7,958,575, 7,961,068 and 7,961,069 issued Jun. 14, 2011, U.S. Pat. No. 7,963,818 issued Jun. 21, 2011, and U.S. Pat. Nos. 8,015,752 and 8,016,330 issued Sep. 13, 2011, and U.S. Pat. No. 8,035,260 issued Oct. 11, 2011 are all incorporated by reference herein in their entirety.
The material presented herein may relate to and/or be implemented in conjunction with use of symbols within code such as is disclosed in U.S. Non-provisional patent application Ser. No. 13/895,589, filed Sep. 30, 2010, titled “System and Method for Energy Generation”, which is incorporated herein by reference.
One variation of present disclosure pertains to a multi-pole magnetic structure having magnetic sources having polarities in accordance with a code and a sensor array for determining the position of the magnetic structure relative to the sensor array. The sensor array may be, for example, a Hall Effect sensor array that measures the magnetic field being produced by the magnetic structure, where the data from the Hall Effect sensors is processed in accordance with the polarity pattern of the code. The sensor array may alternatively be a ferromagnetic material, for example a magnet, another multi-pole magnetic structure such as a complementary magnetic structure or anti-complementary magnetic structure, or a piece of iron, where the ferromagnetic material is attached to a load cell that measures a force produced by the interaction of the magnetic structure and the ferromagnetic material. The sensor array may be coils wired in accordance with the code such as described in U.S. Pat. No. 8,115,581 referenced previously.
A multi-pole magnetic structure can be a plurality of discrete magnets or may be a single piece of magnetizable material having been printed with a pattern of magnetic sources, which may be referred to herein as maxels.
Exemplary Codes And Correlation Graphs
Various exemplary codes are now provided and described in detail with reference to the drawings. Many of the comments and observations noted with respect to one code example may be applicable to other examples or other codes in general.
Doublet Field Functions
FIG. 1
a-FIG. 1e depict an exemplary code pair having desirable adjacent position cross correlation transitions in accordance with the present disclosure. The exemplary code pair is derived from a root Barker length three code (1,1,−1). A first code of the pair may be referred to as a zero interleaved code, and may be derived by interleaving zeroes between Barker code elements, i.e., (1,0,1,0,−1,0). (As used herein a 1 may correspond to a magnet having a first polarity and a −1 may correspond to a magnet having an opposite polarity. A zero may represent a non-magnetic position, i.e., producing no attraction or repelling force with respect to a nearby magnet. 1 and −1 may be alternatively referred to as + and − respectively.) A second code may be referred to as a 1, −1 symbol code, and may be derived by substituting a symbol pair for each Barker element. (1,−1) is substituted for 1 and (−1,1) is substituted for −1, thus the resulting code is (1,−1,1,−1,−1,1). The two codes may be operated in a linear configuration or a cyclic configuration. FIG. 1a shows the two codes in a linear configuration and aligned in a center alignment position. The top code 102 and bottom code 104 may slide left or right relative to one another to form the cross correlation. As shown, the top code 102 slides left according to arrow 106 to generate the correlation graph shown in FIG. 1d. FIG. 1b and FIG. 1c show the two codes 102, 104 in a cyclic configuration. In FIG. 1b, the inner ring and outer ring may rotate relative to one another to form the cross correlation. Alternatively, the two rings may be the same diameter and disposed one on top of the other (not shown). Codes may also be configured for cyclic operation using a linear array by placing multiple codes in sequence, end to end as shown in FIG. 1c. In FIG. 1c, the bottom code 104 of FIG. 1a is duplicated and placed in consecutive sequence with the first instance of the code to generate a double length code 110. The top code 102 is shown shifted in the direction shown by arrow 108 to position 4, where the correlation value is 1 as shown in FIG. 1e.
Other code pairs may be derived using different root codes, such as different length Barker codes or shifted Barker codes or other codes, for example but not limited to PN codes, Kassami codes, Gold codes, LFSR codes, random or pseudorandom codes or other codes. Golomb ruler codes, Costas arrays, and Walsh codes may also be used as root codes in accordance with this disclosure.
FIG. 1
d and FIG. 1e depict two cross correlation functions of the configurations shown in FIG. 1a and FIG. 1b respectively. The linear implementation of FIG. 1a corresponds to a linear array of magnets and complementary magnets with no magnets beyond the end of the arrays, i.e. the codes are flanked by zeroes before and after the codes. If one or more copies of a top or bottom code is used, the spacing between the two instances is typically sufficient to avoid simultaneous interaction of both instances, i.e., a spacing of at least one code length. The linear configuration of FIG. 1a may also be referred to as a non-cyclic configuration. The cyclic implementation of FIG. 1b corresponds to a circular magnet structure with one or more code modulos arranged around the circle. FIG. 1e shows an alternative cyclic configuration.
The cross correlation function of FIG. 1d is formed by sliding the zero interleaved code 102 from right to left relative to the + − symbol code 104 of FIG. 1a. The position shown in FIG. 1a corresponds to position 6 in FIG. 1c. It can be seen that position 6 has a maximum value of +3 and position 5 has a value of −3, equal in magnitude and opposite in polarity to that of position 6 and adjacent to position 6. The two highest absolute value magnitudes +3 and −3 are in adjacent positions. The codes are calculated only at integral points. The calculated points are connected with straight lines roughly indicative of a magnetic field force function resulting from thin uniformly magnetized magnets arranged in accordance with the code. In practice, physical magnets have depth that may contribute to a rounding of the sharp peaks of the curves. Also, adjacent magnets and those nearby may have a slight effect on the value of a given location, not accounted for in the plots. FIG. 1d shows a zero crossing point 112 half way between position 5 and position 6. Point 112 is the highest slope zero crossing in the correlation function. It can be appreciated that in an analog system of real magnets, a zero crossing value would lie half way between the opposite maximum magnitude values. The transition between positions 5 and 6 would have the highest slope of any transition along the length of the code cross correlation. FIG. 1d shows other zero crossings or zero values, for example from position 7 to position 8 and between position 9 and position 10, but the zero crossing 112 between 5 and 6 is the highest slope zero crossing flanked by the highest magnitude points 5 and 6 on the graph. The high slope of the 5-6 transition potentially translates to performance advantages in a number of magnetic systems. For example, a system configured for producing a force or torque would have a maximum force or torque at this zero crossing point, half way between maximum attraction and maximum repelling force, acted upon simultaneously by both maximum forces. Alternatively, a system configured for sensing position would sense a balance (zero crossing) between positions 5 and 6, but the slightest movement in either direction would result in a strong signal which may favorably overcome noise and system errors for more precision position sensing. In a further alternative, a system configured for inductive coupling to the magnets would see a high rate of change of field upon transitioning from position 5 to position 6 and thus produce a high voltage or current output at point 112, having the highest slope of all points on the graph.
FIG. 1
e shows the cross correlation of the cyclic configuration of FIG. 1b. The position shown in FIG. 1b corresponds to position 1 of FIG. 1e. As the outer ring with the zero interleave code is rotated clockwise, the positions increment in the positive direction (to the right) in FIG. 1e. The maximum magnitude values of +3 and −3 occur at positions 1 and 2 respectively. Thus the maximum slope transition is between +3 and −3, positions 1 an 2, respectively. As discussed with respect to FIG. 1a and FIG. 1d, the maximum slope in FIG. 1e may result in the same performance advantages previously discussed. Typically, with cyclic codes, rotating one code pattern may rotate the correlation pattern. (See FIG. 2d.) Thus, the peak values, shown at the end of the correlation pattern may be moved to the center or another location by rotating one of the codes.
In accordance with the principles of this disclosure, it may be desirable to utilize the zero crossing of the steepest transition between a peak attract and peak repel. For clarity of discussion, attraction may be arbitrarily assigned positive polarity and repelling assigned negative polarity. For both correlation functions such zero crossings are identified between peak attract of 3 and peak repel of −3. For the linear function, off peak values of −1, 1, and 0 are present and in the cyclic function, off peak values of 1 and −1 are present. A typical code pair may offer a peak correlation equal to the length of the root code and differential equal to twice the root code with a maximum off peak magnitude of 1. Thus, for improved peak to off peak ratio, a longer code may be selected. Exemplary longer codes are shown in FIG. 2-FIG. 7.
FIG. 2
a-FIG. 2d depict an exemplary code pair based on a first Barker length 4 code (1, 1, −1, 1), designated Barker 4a herein. The two codes are derived as with the codes of FIG. 1a and FIG. 1b, the first code 202 interleaved with zeros and the second code 204 derived by substituting elements with 1, −1 and −1, 1 symbols. The corresponding cross correlation functions for linear and cyclic implementations are shown in FIG. 2b and FIG. 2c respectively. The cyclic geometry is not shown, but may be derived from FIG. 1b and FIG. 1c using the codes of FIG. 2a.
FIG. 2
d shows the cyclic correlation function of FIG. 2c with the first code 202 rotated four positions. Note that the correlation patterns of the Barker cyclic codes may be rotated any amount by rotating one of the codes. Rotating a code, for example, code 202 means shifting the code to the right or left and then taking the last position and moving it to the first position. Rotate right one position for code 202 results in 0, 1, 0, 1, 0, −1, 0, 1.
FIG. 3
a-FIG. 3c depict an exemplary code pair based on a second Barker length 4 code (1, 1, 1, −1), designated Barker 4b herein. The two codes are derived as with the codes of FIG. 1a and FIG. 1b, the first code 302 interleaved with zeros and the second code 304 derived by substituting elements with 1, −1 and −1, 1 symbols. The corresponding cross correlation functions for linear and cyclic implementations are shown in FIG. 3b and FIG. 3c respectively.
FIG. 4
a-FIG. 4c depict an exemplary code pair based on a Barker length 5 code (1, 1, 1, −1, 1), designated Barker 5 herein. The two codes are derived as with the codes of FIG. 1a and FIG. 1b, the first code 402 interleaved with zeros and the second code 404 derived by substituting elements with 1, −1 and −1, 1 symbols. The corresponding cross correlation functions for linear and cyclic implementations are shown in FIG. 4b and FIG. 4c respectively.
FIG. 5
a-FIG. 5c depict an exemplary code pair based on a Barker length 7 code (1, 1, 1, −1, −1, 1, −1), designated Barker 7 herein. The two codes are derived as with the codes of FIG. 1a and FIG. 1b, the first code 502 interleaved with zeros and the second code 504 derived by substituting elements with 1, −1 and −1, 1 symbols. The corresponding cross correlation functions for linear and cyclic implementations are shown in FIG. 5b and FIG. 5c respectively.
FIG. 6
a-FIG. 6c depict an exemplary code pair based on a Barker length 11 code (1, 1, 1, −1, −1, −1, 1, −1, −1, 1, −1), designated Barker 11 herein. The two codes are derived as with the codes of FIG. 1a and FIG. 1b, the first code 602 interleaved with zeros and the second code 604 derived by substituting elements with 1, −1 and −1, 1 symbols. The corresponding cross correlation functions for linear and cyclic implementations are shown in FIG. 6b and FIG. 6c respectively.
FIG. 7
a-FIG. 7c depict an exemplary code pair based on a Barker length 13 code (1, 1, 1, 1, 1, −1, −1, 1, 1, −1, 1, −1, 1), designated Barker 13 herein. The two codes are derived as with the codes of FIG. 1a and FIG. 1b, the first code 702 interleaved with zeros and the second code 704 derived by substituting elements with 1, −1 and −1, 1 symbols. The corresponding cross correlation functions for linear and cyclic implementations are shown in FIG. 7b and FIG. 7c respectively.
Triplet Patterns
In a further variation, codes may be generated that can produce triplet correlation patterns, i.e., patterns with a first maximum of a first polarity flanked by maxima of opposite polarity on either side adjacent to the first maximum. In a mechanical system, the triplet pattern represents a strong attraction at the first peak flanked by strong repelling forces on either side. This results in a precision holding point constrained by repelling forces that come into play for a slight deviation from the center. Thus the triplet code patterns may be used to arrange magnetic elements for precision attachment and holding applications. For magnetic position sensing applications, a sensor may be configured to sense each zero crossing and then connected for differential sensing. Thus error factors that affect both signals the same would be cancelled, resulting in a precision zero position.
FIG. 8
a-FIG. 8c depict an exemplary code pair based on a Barker 3 code. Each code of the pair 802, 804 is derived by substituting each Barker 3 element with a two element symbol, i.e., a 1 is substituted with a 1, −1 pair and a −1 is substituted with a −1, 1 pair. The corresponding cross correlation functions for linear and cyclic implementations are shown in FIG. 8b and FIG. 8c respectively. Note the linear code peak of 6 is equal to the code length and the negative peaks −3 are equal to half of the code length. The cyclic code peak is also equal to the code length.
FIG. 9
a-FIG. 9c depict an exemplary code pair based on a Barker 4a code. Each code of the pair 902, 904 is derived by substituting each Barker 3 element with a two element symbol, i.e., a 1 is substituted with a 1, −1 pair and a −1 is substituted with a −1, 1 pair. The corresponding cross correlation functions for linear and cyclic implementations are shown in FIG. 9b and FIG. 9c respectively. Note the maximum peaks are equal to the code length, twice the root code length.
FIG. 10
a-FIG. 10c depict an exemplary code pair based on a Barker 4b code. Each code of the pair 1002, 1004 is derived by substituting each Barker 3 element with a two element symbol, i.e., a 1 is substituted with a 1, −1 pair and a −1 is substituted with a −1, 1 pair. The corresponding cross correlation functions for linear and cyclic implementations are shown in FIG. 10b and FIG. 10c respectively.
FIG. 11
a-FIG. 11c depict an exemplary code pair based on a Barker 5 code. Each code of the pair 1102, 1104 is derived by substituting each Barker 3 element with a two element symbol, i.e., a 1 is substituted with a 1, −1 pair and a −1 is substituted with a −1, 1 pair. The corresponding cross correlation functions for linear and cyclic implementations are shown in FIG. 11b and FIG. 11c respectively.
FIG. 12
a-FIG. 12c depict an exemplary code pair based on a Barker 7 code. Each code of the pair 1202, 1204 is derived by substituting each Barker 3 element with a two element symbol, i.e., a 1 is substituted with a 1, −1 pair and a −1 is substituted with a −1, 1 pair. The corresponding cross correlation functions for linear and cyclic implementations are shown in FIG. 12b and FIG. 12c respectively.
FIG. 13
a-FIG. 13c depict an exemplary code pair based on a Barker 11 code. Each code of the pair 1302, 1304 is derived by substituting each Barker 3 element with a two element symbol, i.e., a 1 is substituted with a 1, −1 pair and a −1 is substituted with a −1, 1 pair. The corresponding cross correlation functions for linear and cyclic implementations are shown in FIG. 13b and FIG. 13c respectively.
FIG. 14
a-FIG. 14c depict an exemplary code pair based on a Barker 13 code. Each code of the pair 1402, 1404 is derived by substituting each Barker 3 element with a two element symbol, i.e., a 1 is substituted with a 1, −1 pair and a −1 is substituted with a −1, 1 pair. The corresponding cross correlation functions for linear and cyclic implementations are shown in FIG. 14b and FIG. 14c respectively.
Triplet and Higher Order Patterns with Three Element and Longer Symbols
In a further variation, a triplet pattern may be formed. The triplet pattern may be a symmetrical or asymmetrical pattern. A symmetrical triplet pattern may be formed wherein the peak positive and peak negative correlation values have the same magnitude. The peak magnitude may be equal to the root code length. Values off of the maximum peaks may have a maximum magnitude of 1.
FIG. 15
a-FIG. 15d depict an exemplary symmetrical triplet code pair based on a Barker 4a code. A first code 1502 of the pair is generated by adding a zero to each side of each element of the root code, 0,1,0 and 0,−1,0. A second code 1504 of the pair is generated by substituting three element symbols for each root code element, i.e., a 1 is substituted with 1,−1, 1, and a −1 is substituted with −1, 1, −1. The corresponding cross correlation functions for linear and cyclic implementations are shown in FIG. 15b and FIG. 15c respectively. Note that the off maximum cyclic values are zero. FIG. 15d shows the cross correlation function as in FIG. 15c with the first code rotated six positions. Cyclic Barker code correlation patterns may typically be rotated to any position by rotating one of the Barker codes.
FIG. 16
a-FIG. 16c depict an exemplary symmetrical triplet code pair based on a Barker 4a code. A first code 1602 of the pair is generated by adding a zero to each side of each element of the root code. A second code 1604 of the pair is generated by substituting three element symbols for each root code element, i.e., a 1 is substituted with 1,−1, 1, and a −1 is substituted with −1, 1, −1. The corresponding cross correlation functions for linear and cyclic implementations are shown in FIG. 16b and FIG. 16c respectively. Note that the off maximum cyclic values are zero. The correlation functions of FIG. 16 are the same as the correlation functions of FIG. 15 except they are inverted.
FIG. 17
a-FIG. 17c depict an exemplary asymmetrical triplet code pair based on a Barker 4a code. A first code 1702 of the pair and a second code 1704 of the pair are generated by substituting three element symbols for each root code element, i.e., a 1 is substituted with 1,−1, 1, and a −1 is substituted with −1, 1, −1. The corresponding cross correlation functions for linear and cyclic implementations are shown in FIG. 17b and FIG. 17c respectively.
FIG. 18
a-FIG. 18c depict an exemplary asymmetrical triplet code pair based on a Barker 4a code. A first code 1802 of the pair and a second code 1804 of the pair are generated by substituting four element symbols for each root code element, i.e., a 1 is substituted with 1,−1, 1, −1, and a −1 is substituted with −1, 1, −1, 1. The corresponding cross correlation functions for linear and cyclic implementations are shown in FIG. 18b and FIG. 18c respectively. Note that the off maximum cyclic values are zero.
FIG. 19
a-FIG. 19c depict an exemplary asymmetrical triplet code pair based on a Barker 4a code. A first code 1902 of the pair and a second code 1904 of the pair are generated by substituting a Barker 3 code for each root code element, i.e., a 1 is substituted with 1, 1, −1, and a −1 is substituted with −1, −1, 1. The corresponding cross correlation functions for linear and cyclic implementations are shown in FIG. 19b and FIG. 19c respectively.
The use of a Barker 3 symbol resulted in their not being a zero crossing between a peak attract lobe and a peak repel lobe as a result of force cancellation occurring at the symbol level within the Barker 4a code. Thus, although a Barker symbol could be used in accordance with the invention, it may sometimes be preferred that an alternating polarity symbol be used.
FIG. 20
a-FIG. 20c depict an exemplary symmetrical four peak code pair based on a Barker 4a code. A first code 2002 of the pair is generated by adding three zeroes to after each element of the root code. A second code 2004 of the pair is generated by substituting four element symbols for each root code element, i.e., a 1 is substituted with 1,−1, 1, −1, and a −1 is substituted with −1, 1, −1, 1. The corresponding cross correlation functions for linear and cyclic implementations are shown in FIG. 20b and FIG. 20c respectively. Note that the off maximum cyclic values are zero.
Referring to FIG. 20a-FIG. 20c, multiple zero crossings are present as the result of multiple alternating polarity ‘modulos’ within the symbol. This characteristic is much like a polarity pattern of +− moving past a polarity pattern of +−+− in a linear implementation. There is ramp up and ramp down that occurs on the sides of the correlation function due to the number of interacting poles changing from 0 to 1 to 2 and vice versa but there are constant peaks in the middle of the correlation function due to there being two interfacing poles for three adjacent positions.
Arbitrary Force Pattern
In accordance with FIG. 20a-FIG. 20c and the previous figures, one can generalize that an arbitrary force pattern of maximum peaks of length n may be generated by modifying a root code having an impulse correlation to produce a first code comprising each root code element followed by zeroes of length n-1. A second code is generated by replacing each element of the root code with a symbol equal to the desired pattern multiplied by the value of the root code element. The length of the first or second code is the product of the desired pattern length and the root code length. The magnitude of the peak is typically the length of the root code or the number of populated (non-zero) values in the root code (e.g. Golomb 11 code has 5 populated values). For example, referring to FIG. 20a, the desired pattern is 1,−1,1,−1. The selected code is Barker 4a, 1,1,−1,1. The length of the resulting first or second code is the product of the length 4 code and length 4 pattern or 16. The length of the desired pattern of maximum peaks is 4—see FIG. 20b—note four maximum peaks of magnitude 4, the magnitude being equal to the length of the root code.
Magnet structures are then constructed in accordance with each code.
Coded Sensors
Coded magnet structures may be coupled with coded sensing structures to generate signals useful for various applications, for example but not limited to position sensing or pulse generation.
FIG. 21
a-FIG. 21d depict an exemplary system of magnetic sensors configured for measuring field emissions from linear and cyclic magnetic structures. The sensors may be for example Hall effect sensors, flux gate sensors, magnetic force sensors or other magnetic sensors. A first code 2102 and a second code 2104 are derived as in FIG. 1a based on a Barker 3 code, i.e., adding a zero for each Barker element to produce code 2102 and substituting 1, −1 or −1, 1 symbols for Barker elements to produce code 2104. Magnetic sensors are arranged according to the first code 2102 and magnetic field elements, e.g., magnets, are arranged according to the second code 2106. FIG. 21b shows a linear magnetic field structure 2108 and corresponding linear magnetic sensor structure 2106. Note that three magnetic sensors are shown for the six element code. This is because three of the code values are zero, thus eliminating the necessity of providing corresponding sensors whose signal would be multiplied by zero. In configuring a sensor system, the sensors or the magnets may be selected to correspond to the first code and the other would correspond to the second code. Since the first code contains zeroes, it may be advantageous to assign the more expensive elements to the first code. Thus, the sensors, being typically more expensive than the magnets, are selected to correspond to the first code. If the economics were reversed in a given case, or for other reasons, the choice may be reversed. FIG. 21c shows a circular magnetic field structure 2112 and a corresponding circular magnetic field arrangement. FIG. 21c also illustrates the use of three sensors to represent the six place code of 2102.
Referring to FIG. 21b and FIG. 21c, the magnets are rotated or moved to a particular position relative to the sensors and a correlation is performed. The output of each sensor represents the multiplication of the magnetic field element with the sensor sensitivity function. The sensor polarity outputs are configured according to the first code polarities. The sensor outputs are then summed to generate the correlation output.
FIG. 21
d depicts an exemplary control system using a sensor in accordance with the present disclosure. Referring to FIG. 21d, a magnet assembly 2108 arranged in accordance with a first code is sensed by a sensor assembly comprising sensors 2106a-2106d. Each sensor is amplified by a respective gain stage 2114a-2114d. The respective gain stages may be configured in accordance with a second code. Thus gains may include polarity or zero states according to the code. The gain stage outputs are then summed in the summing stage 2118 to yield a correlation output, which is then fed to a processor 2120. Alternatively, gain, and sum functions 2118 may be performed by the processor 2120. The processor 2120 may then provide the output to a servo 2122, which may be coupled to the magnet assembly 2108 or the sensor assembly 2116 to drive the system to a desired alignment. For example, the system may use the sum signal as an error signal and drive the magnet assembly 2108 to a zero crossing alignment 112 as shown in FIG. 1d. In one variation, the processor may set 2124 the gain values of the respective gain stages 2114a-2114d to determine the sensor code and/or to rotate the sensor code.
In one variation, the sensor assembly response may be placed between a positive peak and a negative peak on the maximum slope (for example point 112, FIG. 1d.). The correlation value may be then determined to determine a precise offset from the zero crossing and a feedback control signal may be generated to reduce the offset. The initial rough position may be determined by various methods. One exemplary method may comprise rotating the magnet structure around the complete circle using a stepping motor and measuring the correlation for each step. Then the position may be determined by observation of the full correlation data set to determine a positive and negative maximum point. The system may then be rotated to the zero crossing between the maximum positive and maximum negative to determine the precise zero crossing point. Thus, ambiguities among different zero correlation points may be eliminated. Alternatively, mechanical means maybe used to constrain operation around the desired zero crossing point to eliminate ambiguity with other zero correlation points.
In accordance with the present disclosure, zero crossings of a known waveform, for example a zero crossing between a peak attract and a peak repel may be used to determine the position of a magnetic structure relative to a sensor array. In accordance with one exemplary variation, symbols, for example 1, −1 and −1, 1, (+− and −+) may be used with codes having desirable autocorrelation characteristics such as Barker codes or pseudorandom codes to achieve a correlation function having, for example, a peak attract and a peak repel where the peak to off-peak ratio can be high and the peak attract and peak repel have the same amplitude or substantially the same amplitude and where the peak attract and peak repel lobes are adjacent lobes thereby producing a desirable zero crossing. For example, linear or cyclic magnetic structures having 26 chips in accordance with a Barker 13 code with +− and −+ symbols such as shown in FIG. 7a may have a peak to off-peak ratio of 13 to 1, where the slope between the adjacent peak attract and peak repel lobes is steep. To track the location of the magnetic structure, a sensor array of 13 Hall Effect sensors can be arranged such that the sensors are uniformly spaced over some distance, for example a distance of an inch, where the sensors would be 0.040″ apart. The data from the sensors could be processed in accordance with a Barker 13 code, where data from certain sensors would be multiplied by −1 per the code prior to being added. The signal-to-noise ratio (SNR) required to track the zero crossing to 0.001″ accuracy using the array would be approximately 26 dB. Alternatively, the symbols 1, −1 and −1, 1 could be reversed in which case the correlation functions of the linear and cyclic implementations would invert such as previously described in relation to the Barker 4a code implementations of FIG. 15 and FIG. 16.
In one variation, a sliding correlation algorithm could be employed to track the magnetic structure over the full length of the sensor array, where multiple parallel calculations corresponding to the number of wraps of the code would be calculated, which for a Barker 13 code would be 13 calculations. Alternatively, multiple sensor arrays offset from each other could be employed.
Further Variations
FIG. 22
a-FIG. 22d show various exemplary parallel and series combinations of codes. In one variation, a first magnetic structure of a given code, for example a Barker 7 code, having ‘+−’ and ‘−+’ symbols is added in parallel as shown in FIG. 22b or in series with a second magnetic structure, as shown in FIG. 22a, in accordance with the same code but having the opposite symbols ‘−+’ and ‘+−’. Referring to FIG. 22a, the top code is derived from linking two copies of the Barker 7 code modified with the 1,0 symbol (502) as in FIG. 5a. The bottom code is formed by linking in series a Barker 7 code modified with the 1, −1 symbol (504) as in FIG. 5a with an opposite polarity copy (2202), i.e., a Barker 7 code modified with the −1,1 symbol.
Referring to FIG. 22b, the top code pair 502, 2202 is the right hand pair from FIG. 22a and the bottom pair 502,504 is the left hand pair from FIG. 22a. Thus the two halves of FIG. 22a are shown in parallel in FIG. 22b. FIG. 22c shows the single code 502 between the opposite polarity codes 504 and 2202.
With these arrangements (FIG. 22a through FIG. 22c), the net Z axis force (vertical as shown on the page) is zero while the restorative force along the code (horizontal on the page) is substantial, which could be used to enable various applications such as high torque/shear coupling devices that have substantially zero tensile force across an interface boundary. Various implementations involving spaced Barker 7 arrays and Barker 7 arrays having ‘+−’ and ‘−+’ symbols opposing spaced Barker 7 arrays and Barker 7 arrays having ‘−+’ and ‘+−’ symbols are shown in FIGS. 22a-22c. It should be noted that the two halves of the array of FIG. 22a can be separated (space between them) where maxels (i.e., magnetic elements) from the two halves cannot interact, i.e., where the magnetic elements from a first code sequence do not shift far enough to interact with the magnetic elements of the complementary code from the second code sequence, during operation. Various other implementations involving Barker 7 arrays having ‘++’ and ‘−−’ symbols 2302 and Barker 7 arrays having ‘+−’ and ‘−+’ symbols 504 opposing Barker 7 arrays having ‘++’ and ‘−−’ symbols 2302 and Barker 7 arrays having ‘−+’ and ‘+−’ symbols 2202 are shown in FIGS. 23a-23c. It should be noted that the two halves of the array of FIG. 23a can be separated where maxels from the two halves cannot interact.
FIG. 22
d illustrates an exemplary magnet structure having a strong shear force and a neutral normal force. Referring to FIG. 22d, axes 2221 show a positive x and positive y direction for discussion reference. A first rigid frame 2222 has a first coded magnet structure 2226 and a fourth coded magnet structure 2232 disposed thereon on opposite sides. A second frame 2228 has a second coded magnet structure 2224, and a third coded magnet structure 2230 disposed thereon on opposite sides. The first coded magnet structure 2226 on frame 2222 interacts with a second coded magnet structure 2224 on frame 2224 to produce a first force function. The third magnet structure 2230 on frame 2224 interacts with the fourth magnet structure 2232 on frame 2222 to produce a second force function. The first force function and the second force function comprise forces normal to the sequence of the magnet structures as a function of relative displacement of the two frames in a direction 2234 parallel to the magnet sequence. As shown in FIG. 22d, the first and fourth codes may be the same, and the second and third codes may be the same. It can be appreciated that a peak attraction alignment of the first and second codes would produce a force on the second frame in the positive y direction. Also, the same alignment of the third and fourth codes would produce force on the second frame in the negative y direction. With equal magnet strengths, the y direction forces would be equal and cancel because the two code pairs have the same cross correlation functions. Thus, for any shift position, the y forces are equal and opposite and therefore cancel.
In contrast, the lateral position forces sum to double the value of one alone. One can appreciate this property by observing a lateral displacement of the second frame by one half of a code position in the positive x direction. Observe that each 1 in the second code is diagonally below and to the right of a 1 in the first code and below and left of a −1, creating a restoring force to the left (negative x direction) on frame 2 (using a convention that a 1×1 code product represents attraction and a 1×−1 product represents repelling). The −1 values are below and right of −1 values, also creating a left restoring force Likewise, the third and fourth codes can be seen to produce a restoring force to the left that sum with those from the first and second codes. Thus the structure can produce parallel forces along the direction of the magnet sequence while balancing the normal forces to zero.
FIG. 24
a-FIG. 24d depict an exemplary code pair based on a Barker 4a root code. The code pair comprises a first code 2402 and a second code 2404. The first code is derived by substituting 1, 1 symbols for 1 and substituting −1, −1 symbols for −1 values in the root code. The second code is derived by substituting 1, −1 symbols for 1 values and −1, 1 symbols for −1 values in the root code. FIG. 24b shows a corresponding linear correlation function and FIG. 24c shows a corresponding cyclic correlation function. The correlation functions have a zero crossing at one of the code positions rather than between code positions as with, for example FIG. 1a through FIG. 7c. The maximum peak negative (repel) and maximum peak positive (attract) values are at the code positions on either side of the zero crossing position. The code arrangement of FIG. 24a corresponds to position 8 on the graph of FIG. 24b and position 1 of the graph of FIG. 24c. FIG. 24d shows the cyclic correlation of FIG. 24c with the first code shifted four positions.
FIG. 25
a-FIG. 25c depict two codes 2502 and 2504 derived from the two codes of FIGS. 24a, 2402 and 2404, where each ‘+’ symbol has been replaced by a ‘+−’ symbol and each ‘−’ symbol has been replaced by a ‘−+’ symbol, and corresponding correlation functions for linear and cyclic implementations. As before, the correlation functions have a zero crossing when fully aligned but now oscillated between the two peaks in a saw tooth fashion as result of the added symbols. Generally, the process of replacing ‘+’ symbols with ‘+−’ symbols and ‘−’ symbols with ‘−+’ symbols can be repeated over and over to add more and more saw tooth like behavior on top of the underlying codes. Moreover, one could replace ‘+’ symbols with ‘−+’ symbols and ‘'1’ symbols with ‘+−’ symbols for a given layer. And as described previously, a given symbol (e.g., ‘+’) can be replaced with any polarity pattern (e.g., a Barker 3 code) as long as the opposite symbol (e.g., ‘−’) is replaced with the opposite polarity pattern.
FIG. 26
a-FIG. 26c depict the same concept described in relation to FIG. 22a-FIG. 22c and FIG. 23a-FIG. 23c except using the codes from FIG. 25. Code 2602 is the opposite polarity from code 2504.
In accordance with still another alternative embodiment of the invention, combinations of magnetic structures and coils, where the magnetic structures are moved relative to the coils (and/or vice versa), produce a correlation function having adjacent peak attract and peak repel lobes like shown for the cyclic implementation of the Barker 13 based code of FIG. 7. The correlation functions correspond to a zero mean waveform that can be used for transformers, spark coils, spark plug drivers, igniters, and other such high peak power applications. Other example applications include 2 cycle engines, position determination systems, and guidance control systems and the like such as described in U.S. Pat. No. 8,115,581.
FIG. 27
a-FIG. 27d depict an exemplary code pair based on a Golomb ruler size 11 code. (110010000101). The Golomb rulers typically number the bit positions 0 through n-1. So, the Golomb 11 code has 12 positions. For the example, the first code 2702 is a zero interleaved code. The second code 2704 substitutes 1, −1 or 0, 0 for each 1 or 0 in the root code. The resulting codes are shown in FIG. 27a. FIG. 27b shows the linear, non-cyclic cross correlation. A sharp doublet correlation spike of magnitude 5 can be seen in the center of the pattern. The Golomb 11 has 5 populated positions. The non maximum peak values in the background are magnitude 1 or less.
FIG. 27
c shows the Golomb 11 operated as a cyclic code with a copy of the code following directly after the first code instance. The resulting correlation diagram is shown in FIG. 27c. The peak correlation is the same as FIGS. 27b at +5 and −5, however, the off peak values vary from +2 to −2. FIG. 25c shows the cyclic correlation with a length of 24. If the codes 2702 and 2703 are further modified by adding an additional 0 at the end to make a 25 length code, the modified autocorrelation is as shown in FIG. 27d. Note the off peak correlation is mostly zero with only two 1 and −1 values.
Conclusion
Whereas the various examples have been described, it should be understood that one of ordinary skill in the art may modify the examples in accordance with the teachings herein. Codes have been discussed in relation to magnetic fields of a given polarity. It will be noted that the assignment of a magnetic field polarity to a numerical polarity is arbitrary and either polarity may be assigned as long as the assignment is consistently applied. Magnetic structures may be designed for magnetic attraction, and conversely the same structures may be also designed for repelling forces by reversing one of the magnetic assemblies.
While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.