HK1118603A - Electronic compass system - Google Patents
Electronic compass system Download PDFInfo
- Publication number
- HK1118603A HK1118603A HK08110087.5A HK08110087A HK1118603A HK 1118603 A HK1118603 A HK 1118603A HK 08110087 A HK08110087 A HK 08110087A HK 1118603 A HK1118603 A HK 1118603A
- Authority
- HK
- Hong Kong
- Prior art keywords
- vehicle
- circuit
- magnetic sensor
- electronic compass
- output signal
- Prior art date
Links
Description
Cross Reference to Related Applications
[0001] This application is a continuation-in-part application of U.S. patent application No. 10/210,910 filed on 8/2/2002, which claims priority benefits under 35 u.s.c. § 119(e) related to U.S. provisional patent application No. 60/360,723 filed on 3/1/2002.
[0002] This application also claims benefit of priority under 35 u.s.c. § 119(e) relating to U.S. provisional patent application No. 60/449,828 filed 2, 24, 2003.
[0003] The entire disclosure of each of the above applications is incorporated herein by reference.
Technical Field
[0004] The present invention relates generally to an electronic compass for a vehicle, and more particularly to an electronic compass with improved data screening and/or direction determination.
Background
[0005] Electronic compasses have become increasingly popular as an accessory in automobiles. The general structure of a typical electronic compass circuit 10 is shown in fig. 1. In particular, a typical electronic compass circuit includes a magnetic sensing circuit 12 that includes a Y-axis sensor 13 and an X-axis sensor 14. The magnetic sensor circuit 12 is connected to a processing circuit 15 which operates under control of software code to process data provided by the sensor circuit 12, calibrate the compass circuit based on such processing, and determine the direction of the vehicle based on the data provided by the sensor circuit 12. The processing circuit 15 is connected to a non-volatile memory 16 which stores calibration data so that the compass does not need to be recalibrated every ignition cycle. The calculated vehicle direction is sent from the processing circuit 15 to the direction display 18 for display to the vehicle occupants. The directional display is typically included in an overhead console or a rearview mirror assembly. User input switches 20 may also be provided that enable a user to interact with the processing circuitry 15 to cause the processing circuitry 15 to change the information displayed on the display 18, to manually recalibrate, and/or to input the region in which the vehicle is currently operating. In addition, a power circuit 22 is provided for receiving 12 volt power from the vehicle's battery or ignition and converting the power to a power level useful to the various components of the compass circuit 10.
[0006] In this prior art system, the Y-axis sensor 13 is provided to sense a magnetic field perpendicular to the direction of vehicle travel, while the X-axis sensor 14 is provided to sense a magnetic field coincident with the direction of vehicle travel. The sensors 13 and 14 are typically mounted parallel to the earth's surface. With this arrangement, if no magnetic field component is sensed by the Y-axis sensor 13 and a positive magnetic field component is sensed by the X-axis sensor 14, the processing circuitry 15 will determine that the vehicle is heading north. Similarly, if no magnetic field component is sensed by the Y-axis sensor and a negative magnetic field component is sensed by the X-axis sensor, processing circuitry 15 will determine that the vehicle is facing south. Similarly, if no magnetic field component is sensed by the X-axis sensor and a positive magnetic field component is sensed by the Y-axis sensor, the processing circuitry 15 will determine that the vehicle is heading eastward. If no magnetic field component is sensed by the X-axis sensor and a negative magnetic field component is sensed by the Y-axis sensor, processing circuitry 15 will determine that the vehicle is oriented westward. If equal positive magnetic field components are sensed by the X and Y axis sensors, the processing circuitry will determine if the vehicle is heading to northeast. If equal negative magnetic field components are sensed by the X and Y axis sensors, the processing circuitry will determine that the vehicle is heading toward southwest. If a positive magnetic field component equal to the absolute value of the negative magnetic field component sensed by the Y-axis sensor is sensed by the X-axis sensor, the processing circuitry will determine if the vehicle is heading north-west. If the absolute value of the negative magnetic field component sensed by the X-axis sensor is equal to the value of the positive magnetic field component sensed by the Y-axis sensor, the processing circuitry will determine that the vehicle is oriented southeast. In an ideal environment, if the output level of the magnetic sensor is plotted against the X and Y axes as the vehicle rotates through a 360 ° turn, the plot will form a circle, as depicted by circle a in fig. 2.
[0007] Because such electronic compasses typically only display eight different directions (N, NE, E, SE, S, SW, W, and NW) and because the magnetic field components sensed by the X and Y axis sensors are not always zero and not always equal, the compass processing circuit typically calculates an orientation angle phi with respect to the X and Y axes and compares the orientation angle to an angle threshold that defines a boundary between each of the eight different orientation displays. Thus, the circular drawing a, as shown in fig. 2, is effectively divided into eight 45 ° angular segments corresponding to eight different display directions. The compass processing circuit thus only determines in which segment the heading angle phi is located to determine which of the eight directions is displayed.
[0008] As described above, an ideal environment would be such that the output stages of the X and Y axis sensors 13 and 14 form a circular plot a with respect to the X and Y axis sensors, the center of the ideal circle being at the origin of the coordinate system. In practice, however, the plot of the outputs of the X and Y sensors on the X and Y coordinate planes often does not form an ideal circle, nor does the center of this circle coincide with the origin of the coordinate plane. In particular, the plot may be slightly elliptical and offset from the origin in the X and Y directions, as depicted by plot B in fig. 2. When the actual plot is not an ideal circle and has a center point offset from the origin, the processing circuitry cannot use simple direction angle calculations to determine the appropriate direction. Such displacement and deformation of the circular plot typically results from the action of ferrous materials in the vehicle that may alter the magnetic field sensed by the X and Y axis sensors. To facilitate the direction calculation, the compass circuit is calibrated to account for the vehicle's effect on the sensed magnetic field.
[0009] Not only must the compass circuit be initially calibrated, but it must be continuously recalibrated because of the effect on the magnetic field produced by ferrous materials in the vehicle over time and because of the fact that the external effects of the magnetic field may only be temporary. For example, the addition of roof mounted antennas can cause fluctuations in magnetic field readings when passing over objects made of large amounts of ferrous materials, such as railroad tracks, bridges, and large buildings, or when a vehicle moves through a carwash. Therefore, calibration and continuous recalibration of electronic compass circuits have received great attention.
[0010]In U.S. patent No. 4,953,305 issued to Van Lente et al, an electronic compass system with automatic continuous calibration is described. This patent discloses a calibration technique whereby data from the sensors is accumulated as the vehicle travels through many 360 ° turns and converted to data points on an X-Y coordinate plane. The processing circuit determines the maximum value of the accumulated data along the Y-axis (Y)max) Minimum value along the Y-axis (Y)min) Maximum value (X) along the X-axismax) And a minimum value (X) along the X-axismin). From the maximum and minimum values along the X axis, the span along the X axis may be at X minAnd XmaxAnd (4) calculating. Similarly, from the maximum and minimum values along the Y axis, YminAnd YmaxThe span along the Y-axis between can be calculated. If the spans are not equal, the processing circuitry may adjust the gain of one or both of the X and Y-axis sensors until the spans are equal to each other. This process is performed to convert any elliptical plot of data into a circular plot of data prior to further processing. Subsequently, the maximum and minimum values from the X and Y sensors are used to calculate the center point of plot B (X)B,YB) (see FIG. 2). X and Y error value (X)EAnd YE) And then calculated and then used to offset each data point as it is received from the X and Y sensors, respectively. Once the compass has been initially calibrated, it continues to be automatically recalibrated based on the maximum and minimum values subsequently accumulated along the X and Y axes.
[0011] One problem with the auto-calibration routine disclosed in the above-mentioned' 305 patent is that it typically requires the vehicle to run through many 360 ° turns to obtain sufficient data to provide the system with confidence that the calibration is accurate. This presents a problem for vehicle manufacturers, who must drive each vehicle through several laps before loading the vehicle onto a vehicle handler for delivery to a dealer. Unfortunately, there is often insufficient space at the assembly plant for each vehicle to drive in such a circle, with space immediately available, and this process takes valuable time. If the vehicle is delivered to an agent without driving through a sufficient circle, the customer may purchase the vehicle or test drive the vehicle with an uncalibrated compass. In such a case, the customer may be erroneously guided to believe that the compass is not functioning properly, thereby generating a redundant repair application for the compass.
[0012] Several patents disclose various methods for addressing the above problems. In U.S. patent No. 6,192,315 to Geschke et al, a calibration routine is disclosed whereby a compass is initially calibrated prior to installation in a vehicle based on the desired vehicle magnetism for the particular model in which the compass is installed. This initial calibration is used until the vehicle has otherwise acquired sufficient data by running through a large number of 360 ° turns. Once sufficient data is obtained, the compass switches to the most recently obtained calibration data, and the compass then continues to recalibrate using the techniques of the aforementioned' 305 patent.
[0013] U.S. patent 5,737,226 issued to Olson et al discloses a calibration technique whereby a processing circuit determines whether raw data obtained from a sensor suggests that the compass is no longer accurately calculated. In this case, the processing circuit uses the assumed radius to obtain two end points that are separated by more than a predetermined angle. Using the assumed radius, the two possible center points of the circle are represented. The' 226 patent discloses obtaining intermediate data points between two end points for identifying which of the two center points is used for calibration and later when determining vehicle direction.
[0014] U.S. patent 6,301,794 to Parks et al discloses a calibration routine in which the compass is recalibrated each time three data points are obtained that meet specified criteria. Once three data points are obtained that meet specified criteria, including the average and spacing criteria, the center of the circle is calculated using the formula for the circle, so that the circle will have to include these three data points.
[0015] U.S. patent No. 4,807,462 issued to Al-Attar discloses a compass calibration routine that calibrates a compass based on the acquisition of three data points. The center of the circle used for calibration is determined by determining the intersection of the perpendicular bisectors of the two lines connecting adjacent points in the three data points.
[0016] While each of the above patents disclose a calibration routine that calibrates compasses more quickly, some of the disclosed techniques are overly active in that they recalibrate too frequently and thus tend to produce calibration errors due to temporary magnetic field disturbances, or they are not fast enough to respond to changes in magnetic field variations that are more permanent in nature. In addition, each of the above calibration routines calculates the center of the circle by assuming that three to four points are located exactly near the circumference of the circle. As explained in more detail below, it is possible that any of these points may be offset from the circumference of a circle that will in fact better fit the obtained data. Furthermore, none of the above patents disclose a calibration routine that takes into account vehicle pitch or the strength of the vertical component of the earth's magnetic field vector. Thus, if any of the above compasses is mounted such that its sensor is provided in a structure that is movable relative to the vehicle, such as a rearview mirror mounted housing, these systems will not provide a quick and accurate response to movement of the housing.
[0017] Commonly assigned U.S. patents 6,023,229 and 6,140,933 issued to Bugno et al disclose various techniques for mounting a compass sensor in a rearview mirror housing that can be pivoted horizontally and vertically relative to the vehicle in which it is mounted. In particular, various mechanisms for detecting the mirror housing, and thus when the sensor is tilted, are disclosed. When the tilt of the mirror housing is detected, a signal indicating that the tilt has occurred is sent to the compass processing circuitry so that the processing circuitry does not otherwise assume that any drastic changes have occurred in the magnetic field vector. The processing circuit then determines the vector difference between the data points obtained just before the tilt signal and those detected just after the tilt signal for the error compensation signal. In the' 229 patent, a mechanism is disclosed in which a third magnetic sensor is provided that is aligned in the Z-axis. The Z-axis sensor output is used to determine if a tilt occurred when an abrupt change is first sensed in the X and Y sensor outputs. The processing circuitry will respond to any such abrupt changes in the X and Y sensor outputs by identifying an error vector or by reinitializing calibration, depending on whether an abrupt change is also detected in the Z-axis sensor. However, this compass system does not utilize a Z-axis sensor to determine the direction or identify the center of the circle for calibration.
Disclosure of Invention
[0018] According to a first embodiment of the present invention, an electronic compass system for a vehicle comprises: a magnetic sensor circuit that senses three components of the earth's magnetic field vector and produces output signals representative of the three sensed components; a pitch and roll sensing circuit for measuring pitch and roll of the magnetic sensor circuit; and processing circuitry coupled to the magnetic sensor circuitry and the pitch and roll sensing circuitry for receiving the output signals, compensating the sensed components of the measured pitch and roll, calculating a direction of the vehicle as a function of the at least two compensated sensed components, and generating a direction signal representative of the calculated direction.
[0019] According to another embodiment of the present invention, an electronic compass system for a vehicle includes: a magnetic sensor circuit that senses at least two components of the earth's magnetic field vector and produces output signals representative of the at least two sensed components; and processing circuitry connected to the magnetic sensor circuitry for: the method includes receiving an output signal from a magnetic sensor circuit, determining a relative strength of an earth magnetic field vector, determining whether too much noise is present in the output signal received from the magnetic sensor circuit as a function of the relative strength of the earth magnetic field vector, calculating a direction of the vehicle as a function of the sensing component if too much noise is not present in the output signal, and generating a direction signal representative of the calculated direction or representative of a previous direction if too much noise is present in the output signal.
[0020] In accordance with another embodiment of the present invention, an electronic compass assembly for a vehicle comprises: a circuit board defining a plane corresponding to a mounting surface thereof; a magnetic sensor circuit mounted on the circuit board for sensing at least two components of the earth's magnetic field vector and producing output signals representative of the at least two sensing components, wherein the magnetic sensor circuit comprises at least two magnetic field sensing elements each having a sensitive axis, wherein at least one of the magnetic field sensing elements is positioned such that its sensitive axis is oriented in one of two directions: (a) is non-perpendicular and non-parallel to the plane of the circuit board, and (b) is non-perpendicular to the sensitive axis of the other of the at least two magnetic field sensing elements; and a processing circuit coupled to the magnetic sensor circuit for receiving the output signal, calculating a direction of the vehicle as a function of the sensed component, and generating a direction signal representative of the calculated direction.
[0021] According to another embodiment of the present invention, a rearview mirror assembly for a vehicle comprises: a mirror mounting structure configured to be mounted to a vehicle and having a mirror housing, a mirror mounted in the mirror housing; a circuit board supported by the mirror mounting structure; a magnetic sensor circuit mounted on the circuit board for sensing at least two components of the earth's magnetic field vector and producing output signals representative of the at least two sensing components, wherein the magnetic sensor circuit comprises three magnetic field sensing elements contained in a common integrated package having a plurality of leads extending therefrom for mounting to the circuit board; and a processing circuit coupled to the magnetic sensor circuit for receiving the output signal from the magnetic sensor circuit, calculating a direction of the vehicle as a function of the sensing component, and generating a direction signal representative of the calculated direction.
[0022] According to another embodiment of the present invention, an electronic compass accessory for a vehicle includes: a circuit board including a connector for connecting the power components; and a processing circuit mounted on the circuit board and electrically connected to a connector in communication with the power components, wherein the processing circuit is connected to the magnetic sensor circuit for receiving output signals representative of at least two components of the earth's magnetic field vector, calculating a direction of the vehicle as a function of the sensing components, and generating a direction signal representative of the calculated direction, wherein the processing circuit is configured to communicate using at least two different signal formats associated with different types of electronic components, and wherein the particular signal format used by the processing circuit to communicate with the power components connected to the connector is selectable.
[0023] According to another embodiment of the present invention, an electronic compass system for a vehicle includes: a magnetic sensor circuit that senses at least two components of the earth's magnetic field vector and produces output signals representative of the at least two sensed components; a processing circuit coupled to the magnetic sensor circuit for receiving the output signal from the magnetic sensor circuit, calculating a direction of the vehicle as a function of the sensing component, and generating a direction signal representative of the calculated direction; and a display coupled to the processing circuit for receiving the directional signals and displaying the calculated direction, the display further configured to display a regional representation of the at least one region and the geographic magnetic variation zone within the region for which the compass is currently calibrated.
[0024] According to another embodiment of the present invention, an electronic compass system for a vehicle includes: a magnetic sensor circuit that senses at least two components of the earth's magnetic field vector and produces output signals representative of the at least two sensed components; and a processing circuit coupled to the magnetic sensor circuit for receiving the output signal from the magnetic sensor circuit, calculating a heading of the vehicle as a function of the sensing component, and generating a heading signal representative of the calculated heading, wherein the processing circuit is coupled to the vehicle electrical component to receive an indication of a time zone in which the vehicle is currently operating, the processing circuit compensating for the heading calculation as a function of a geomagnetic change in the time zone in which the vehicle is currently operating.
[0025] According to another embodiment of the present invention, an electronic compass system for a vehicle includes: a magnetic sensor circuit that senses at least two components of the earth's magnetic field vector and produces output signals representative of the at least two sensed components; and processing circuitry connected to the magnetic sensor circuitry for: the method includes receiving an output signal from a magnetic sensor circuit, calculating a direction of the vehicle as a function of the sensed components, generating a direction signal representative of the calculated direction, storing historical samples of the calculated direction at periodic intervals, analyzing the stored historical samples to determine which four sets of values of the sensed components the vehicle most frequently operates on, calculating four sets of changes in the values of the sensed components that the vehicle most frequently operates on from the four sets of values of the sensed components that the processing circuit has identified as corresponding to north, south, east and west directions, and compensating the direction calculation as a function of the calculated changes.
[0026] According to another embodiment of the present invention, an electronic compass system for a vehicle includes: a magnetic sensor circuit that senses at least two components of the earth's magnetic field vector and produces output signals representative of the at least two sensed components; and processing circuitry connected to the magnetic sensor circuitry for: the method includes receiving an output signal from a magnetic sensor circuit, calculating a noise level of the output signal received from the magnetic sensor circuit as a function of a root mean square of a value obtained from the output signal, determining if too much noise is present in the output signal received from the magnetic sensor circuit if the noise level exceeds a threshold noise level, calculating a direction of the vehicle as a function of a sense component if too much noise is not present in the output signal, and generating a direction signal representative of the calculated direction or of a previous direction if too much noise is present in the output signal.
[0027] According to another embodiment of the present invention, an electronic compass system for a vehicle includes: a magnetic sensor circuit that senses at least two components of the earth's magnetic field vector and produces output signals representative of the at least two sensed components; and processing circuitry connected to the magnetic sensor circuitry for: the method includes receiving an output signal from a magnetic sensor circuit, calculating a noise level of the output signal received from the magnetic sensor circuit as a function of a mean square error of values obtained from the output signal, determining if too much noise is present in the output signal received from the magnetic sensor circuit if the noise level exceeds a threshold noise level, calculating a direction of the vehicle as a function of a sense component if too much noise is not present in the output signal, and generating a direction signal representative of the calculated direction or of a previous direction if too much noise is present in the output signal.
[0028] In accordance with another embodiment of the present invention, in a vehicle having an electrically conductive windshield with electrically conductive material contained therein and an electronic compass system having a magnetic sensor circuit located proximate to the electrically conductive windshield, the magnetic sensor circuit sensing at least two components of the earth's magnetic field vector and producing output signals representative of the at least two components, the improvement comprising: a processing circuit connected to the magnetic sensor circuit for sampling the output signal from the magnetic sensor circuit, calculating a direction of the vehicle as a function of the sensing component, and generating a direction signal representative of the calculated direction; and a compensation device that compensates for the effect of the electric field generated by the electrically conductive windshield on the magnetic field sensed by the magnetic sensor circuit.
[0029] According to another embodiment of the present invention, a method of mounting a magnetic sensing element on a circuit board includes: mounting a first magnetic sensing element on a first portion of a circuit board; mounting a second magnetic sensing element on a second portion of the circuit board; bending a second portion of the circuit board to reorient the second magnetic sensing element relative to the first magnetic sensing element; and fixing a second portion of the circuit board relative to the first portion of the circuit board to maintain the reoriented positions of the first and second magnetic sensing elements.
[0030] According to another embodiment of the present invention, an electronic compass system for a vehicle includes: a magnetic sensor circuit that senses at least two components of the earth's magnetic field vector and produces output signals representative of the at least two sensed components; and a processing circuit connected to the magnetic sensor circuit. The processing circuitry is provided for: receiving the output signal from the magnetic sensor circuit, calculating a direction of the vehicle as a function of the sensed components, generating a direction signal representative of the calculated direction, monitoring the output signal to identify a change in vehicle direction representative of a vehicle turn of about 90 degrees, storing the sensed components of those vehicle directions that are running immediately before and after any vehicle turn of about 90 degrees, calculating a change in the stored sensed components from four sets of values of the sensed components that the processing circuit has identified as corresponding to north, south, east and west directions, and compensating the direction calculation as a function of the calculated change.
[0031] According to another embodiment of the present invention, an electronic compass system for a vehicle includes: a magnetic sensor circuit that senses at least two components of the earth's magnetic field vector and produces output signals representative of the at least two sensed components; and processing circuitry connected to the magnetic sensor circuitry for receiving the output signal from the magnetic sensor circuitry, calculating a direction of the vehicle as a function of the sensing component, and generating a direction signal representative of the calculated direction, wherein the processing circuitry determines in which of the plurality of regions the vehicle is currently operating, and compensates the direction calculation as a function of a change in geomagnetism of the region in which the vehicle is currently operating, wherein the processing circuitry monitors a change in vehicle position relative to the plurality of regions by monitoring the vehicle direction and the time of operation in each vehicle direction, determining in which region the vehicle is currently operating.
[0032] In accordance with another embodiment of the present invention, an electronic compass system is provided for use in a vehicle having vehicle equipment including one of a convertible top and a sunroof. The electronic compass system includes: a magnetic sensor circuit that senses at least two components of the earth's magnetic field vector and produces output signals representative of the at least two sensed components; and a processing circuit connected to the magnetic sensor circuit for sampling the output signal from the magnetic sensor circuit, calculating a direction of the vehicle as a function of the sensing component, and generating a direction signal representative of the calculated direction; and a compensation device that compensates for the effect of changes in the open or closed state of the vehicle equipment on the magnetic field sensed by the magnetic sensor circuit.
[0033] In accordance with another embodiment of the present invention, an electronic compass system is provided for use in a vehicle having at least one vehicle accessory capable of adversely affecting operation of the compass system. The electronic compass system includes: a magnetic sensor circuit that senses at least two components of the earth's magnetic field vector and produces output signals representative of the at least two sensed components; a processing circuit connected to the magnetic sensor circuit for sampling the output signal from the magnetic sensor circuit, calculating a direction of the vehicle as a function of the sensing component, and generating a direction signal representative of the calculated direction; and wherein when the effect of the vehicle accessory on the magnetic field is detected, the processing circuit immediately compensates for the effect of the vehicle accessory on the magnetic field sensed by the magnetic sensor circuit without requiring a signal from the vehicle accessory.
[0034] These and other features, advantages, and objects of the present invention will be further understood and appreciated by those skilled in the art by reference to the following specification, claims, and appended drawings.
Drawings
[0035] In the drawings:
[0036] FIG. 1 is a circuit diagram in block diagram form of a prior art electronic compass circuit;
[0037] FIG. 2 is a diagram illustrating a calibration technique used by a prior art electronic compass system;
[0038] FIG. 3 is a circuit diagram in block diagram form of an electronic compass circuit constructed in accordance with the present invention;
[0039] FIG. 4 is a front elevational view of a rearview mirror assembly including at least a portion of the electronic compass circuit of the present invention;
[0040] FIG. 5 is a side partially cut-away elevational view of a rearview mirror assembly having a magnetic sensing element mounted in the mirror housing;
[0041] FIG. 6 is a partially cut-away front elevational view of a side of the mirror mount with the magnetic sensing element mounted to the mounting bottom of the mirror mount mounting structure;
[0042] FIG. 7 is a plan view of the top of the rearview mirror assembly showing the sensor element mounted in the mirror housing;
[0043] FIG. 8 is a diagram of a partial sphere relative to the world's sphere as sensed by a compass;
[0044] FIG. 9 is a diagram of a partial sphere sensed by a compass with respect to various coordinate axes;
[0045] FIG. 10 is a plot of a sample data set plotted against a partial sphere sensed by a compass;
[0046] FIG. 11 is a state diagram showing various operating states of the compass processing circuit according to the first embodiment and their relationship to each other;
[0047] FIGS. 12A-12D are collectively a flow chart of a compass flow control routine executed by the processing circuit of the electronic compass of the first embodiment of the present invention;
[0048] FIG. 13 is a flow diagram of a noise analysis subroutine called during the compass flow control routine of FIGS. 12A-12D;
[0049] FIG. 14 is a flow diagram of a first point set construction subroutine called during the compass flow control routine of FIGS. 12A-12D;
[0050] FIG. 15 is a flow diagram of a best fit center point adjustment subroutine called during the compass flow control routine of FIGS. 12A-12D;
[0051] FIG. 16 is a flow diagram of a best fit radius adjustment subroutine called during the compass flow control routine of FIGS. 12A-12D;
[0052] FIG. 17 is a flow diagram of a direction calculation subroutine called during the compass flow control routine of FIGS. 12A-12D;
[0053] FIG. 18 is a flow diagram of an angle bucket update subroutine called during the compass flow control routine of FIGS. 12A-12D;
[0054] FIG. 19 is a flow diagram of a second point set construction subroutine called during the compass flow control routine of FIGS. 12A-12D;
[0055] FIG. 20 is a flow diagram of a partial sphere fit calculation subroutine called during the compass flow control routine of FIGS. 12A-12D;
[0056] FIG. 21 is a flow diagram of a point set reset subroutine called during the compass flow control routine of FIGS. 12A-12D;
[0057] FIGS. 22A-22G are collectively a flow diagram of a compass flow routine executed by the processing circuitry of the electronic compass of the second embodiment of the present invention;
[0058] FIG. 23 is a diagram showing a plot of compass sensor data and associated approximate geometry;
[0059] FIG. 24A is a top view of a portion of a circuit board on which the compass sensor is mounted;
[0060] FIG. 24B is a side elevational view of the circuit board illustrated in FIG. 24A;
[0061] FIG. 24C is a side elevational view of the circuit board illustrated in FIG. 24A with portion 150a bent upward;
[0062] FIG. 24D is an elevation view of the side of the circuit board shown in FIG. 24A with the retainer placed around the bent portion of the circuit board;
[0063] FIG. 25 is a front view, partially cut away, of the fitting side of a rear view mirror with a magnetic sensing element integrated into a common integrated sensor insert mounted within the mirror housing;
[0064] FIG. 26 is an enlarged front view of the integrated sensor package of FIG. 25;
[0065] FIG. 27 is a perspective view of the integrated sensor package shown in FIGS. 25 and 26;
[0066] FIG. 28 is a front view of an integrated sensor package according to another embodiment of the present invention;
[0067] FIG. 29 is a top view of the integrated sensor package shown in FIG. 28;
[0068] FIG. 30 is an exploded perspective view of a combination mother/daughter circuit board assembly according to an embodiment of the present invention;
[0069] FIG. 31 is a block diagram of a noise analysis function according to the present invention;
[0070] FIG. 32 is a more detailed block diagram of the noise analysis function shown in FIG. 31;
[0071]fig 33 shows that when the noise figure is 10,the sum of the delayed signals is defined as DX2 when the delay intercept is-3 and the maximum delay is 322+DY22+DZ22A plot of the relationship between noise signals for square roots;
[0072]FIG. 34 shows the delay signal defined as DX2 when the noise figure is 10, the delay intercept is-4, and the maximum delay is 322+DY22+DZ22A plot of the relationship between noise signals for square roots;
[0073] FIG. 35 is a circular plot of twelve angular buckets divided into equal sizes;
[0074] FIG. 36 is an exemplary plot of compass readings generated from movement of a mirror housing when the vehicle is positioned in Michigan, USA;
[0075] FIG. 37 is an exemplary plot of compass readings resulting from movement of the mirror housing when the vehicle is located in Taiwan, Taipei;
[0076] FIG. 38 shows a plot of information known to the compass processing circuitry before and after movement of the mirror housing occurs;
[0077] FIG. 39 is a circuit diagram showing in schematic form a compass system in accordance with another embodiment of the present invention;
[0078] FIG. 40 is a signal timing diagram of an exemplary on/off activation signal for exemplary electronic equipment used in a vehicle;
[0079] FIG. 41 is a signal timing diagram for electronic equipment used in a vehicle and providing a new on/off activation signal to the compass circuit of the present invention;
[0080] FIG. 42A is a plot of the number of seconds a vehicle was measured to travel in various directions;
[0081] FIG. 42B is a plot of the number of samples or occurrences in various directions when a 90 turn is required to be taken before receiving a sample according to the screening technique;
[0082] FIG. 42C is a plot of the number of samples or occurrences in various directions when further screening is used whereby all points greater than + -20 deg. are removed from the main peak;
[0083] FIG. 43 is a front elevational view of an exemplary graphical compass display constructed in accordance with the present invention;
[0084] FIG. 44A is an elevational view of the fitting side of the rearview mirror constructed in accordance with the present invention;
[0085] FIG. 44B is a front elevational view of the rear view mirror assembly constructed in accordance with the present invention;
[0086] FIG. 44C is a plan view of a rear view mirror constructed in accordance with the present invention assembled thereon;
[0087] FIG. 45A is a front elevational view of a rearview mirror assembly constructed in accordance with the present invention; and
[0088] fig. 45B is a plan view of a rear view mirror constructed in accordance with the present invention assembled thereon.
Detailed Description
[0089] Fig. 3 shows an electronic compass circuit 100 constructed in accordance with the present invention. Compass circuit 100 includes a magnetic sensor (i.e., magnetometer) circuit 102 having at least two sensor elements 104 and 106 that sense a perpendicular component of the earth's magnetic field vector and generate output signals representative of the sensed component. In some embodiments of the present invention, a third sensor 108 is preferably provided to sense a third perpendicular component of the earth's magnetic field vector. The electronic compass circuit 100 further comprises a processing circuit 110 connected to the magnetic sensor circuit 102 for receiving the output signal from the sensor circuit 102.
[0090] The processing circuit 110 calculates the vehicle direction as a function of the sensed components of the earth's magnetic field vector. The processing circuit 110 also generates a direction signal representative of the calculated direction. The direction signal may be provided to any other electronic component in the vehicle, and preferably to a direction indicator device 114 that provides an indication of the direction of the vehicle to a vehicle occupant. The directional indicator may be configured to provide a visual or audible indication of the direction of the vehicle. Preferably, the direction indicator 114 is a display device that visually displays the direction of the vehicle. However, it should be understood that the directional signals generated by the processing circuit 110 may be provided to any other electronic component within the vehicle, such as a navigation system, etc., via discrete wiring or via the vehicle bus interface 120 connected to the vehicle bus. Such navigation systems may for example display the direction directly or modify the direction in which the map is displayed in dependence on the current direction of the vehicle. The directional signal may be transmitted to a navigation system, a directional indicator (i.e., a display), or another vehicle accessory or component via a dedicated line or vehicle or local bus, such as a LIN or CAN bus. For connection to a dedicated line, an interface such as an RS 485 interface may be used.
[0091] As mentioned above, the direction signal is preferably provided to a direction indicator 114 in the form of a display device. The display device may display the directions in an alphanumeric format (i.e., N, NE, E, SE, S, SW, W, and NW). Examples of suitable displays are disclosed in commonly assigned U.S. patent No. 6,346,698, which is hereby incorporated by reference in its entirety. The display disclosed in the patent displays not only the direction information but also the current external temperature supplied from the external temperature sensor 122 at the same time. Alternatively, if temperature or other information is provided on the same display, but not simultaneously, appropriate and conventional user input switches 116 may be provided to allow the user to scroll through, toggle between, or selectively activate and deactivate compasses, temperature, and/or other displayed information.
[0092] One alternate form of display is disclosed in commonly assigned U.S. patent No. 6,356,376, which is hereby incorporated by reference in its entirety. In particular, a graphical compass display is disclosed that provides a directional indication in a graphical format. Any other form of display disclosed in this patent may alternatively be used, including vacuum fluorescent displays, LED displays, organic LED displays, liquid crystal displays, light emitting polymer displays, and the like.
[0093] The magnetic sensor circuit 102 may have any conventional configuration modified, where applicable, to provide an output from the further magnetic sensor 108. The magnetic sensor circuit may use a flux gate, magnetic induction, magnetic impedance, or magnetoresistive sensor. An example of a magnetoresistive sensor is disclosed in U.S. patent No. 5,632,092, which is incorporated herein by reference in its entirety. Preferably, THE magnetic sensor circuit 102 is constructed in accordance with any of THE embodiments disclosed in commonly assigned U.S. patent No. 6,653,831 entitled "MAGNETOMETER with dynamically ADJUSTABLE BIAS setting and electronic vehicle COMPASS including THE SAME", filed on 11/20/2001 by Timothy r. It should be noted that any of the microprocessor circuits used in the magnetic sensor circuit may be integrated with any such circuit in the processing circuit 110 and then appropriately programmed to perform all of the necessary functions of both circuits. Alternatively, the micro-processing circuits may be maintained independently.
[0094] The electronic compass circuit 110 may also include a non-volatile memory 112, which may be external to the processing circuit 110 or contained within one of its components. The processing circuit 110 will utilize the non-volatile memory 112 to store the best-fit approximation data and any other information that needs to be persisted between ignition cycles if the system is powered by the vehicle ignition.
[0095] The electronic compass circuit 100 may also be connected to a Global Positioning System (GPS) receiver 118. Information from the GPS118 may be sent directly to the processing circuit 110, or indirectly through the vehicle bus and bus interface 120 or through a local bus. Information from the GPS118 or from any other positioning system, such as GLONASS or LORAN, may be used by the processing circuit 110 for various purposes. In particular, the information may be used to identify in which region the vehicle is currently operating so that the processing circuitry 110 may utilize the appropriate magnetic field deviation to be sensed in that particular region corresponding to the deviation of magnetic north from true north. Additionally, information from the GPS118 may be used to obtain the speed of the vehicle, the distance traveled, or simply whether the vehicle is currently moving. The GPS information 118 may also be used to calculate vehicle orientation, and such vehicle orientation may be compared to that calculated using the magnetic sensor circuit 102 to determine whether a re-approximation or re-calibration is required. Such use of GPS information by compass circuitry is disclosed in detail in commonly assigned U.S. patent No. 6,407,712 entitled "real MIRROR WITH INTEGRATED microwave rear view MIRROR" filed on 28.6.2000 by Robert r.turnbull et al, and U.S. patent application publication No. 2002/0032510 a1 entitled "VEHICLE REARVIEW MIRROR assembly vehicle rear view MIRROR assembly including COMMUNICATION SYSTEM" filed on 5.4.2001 by Robert r.turnbull et al, the entire contents of which are incorporated herein by reference. A system in which the LORAN receiver and/or antenna is included in a rearview MIRROR assembly is disclosed in commonly assigned U.S. patent No. 6,539,306 entitled "AUTOMOTIVE MIRROR WITH integrated LORAN assembly," filed on 15.6.2001 by Robert r.
[0096] As described above, the processing circuit 110 may be connected to a vehicle bus via the vehicle bus interface 120. The information provided on the vehicle bus that will be useful to the processing circuitry 110 will include the speed of the vehicle, the distance traveled, whether the vehicle is stationary or moving, and whether the steering wheel of the vehicle is turning. Other information that may be useful may be provided by a inclinometer or other form of roll sensor provided in the vehicle.
[0097] As shown in FIG. 3, the compass circuit 110 may also include a power circuit 124 connected to the power cord from the vehicle battery or ignition. The power supply 124 converts power provided from the vehicle to a voltage that is useful to the various electronic components in the compass circuit. If the voltage from the vehicle battery or ignition exceeds 12 volts, a power supply circuit such as that disclosed in commonly assigned U.S. patent No. 6,262,831, which is incorporated herein by reference in its entirety, may be used.
[0098] As described below, all or part of the electronic compass circuit 100 is mounted on or in a vehicle rearview mirror assembly. However, it should be understood that all or part of compass circuit 100 may be mounted elsewhere within the vehicle, such as an overhead console, a console connected to a front windshield, a console on a pillar of vehicle A, in the dashboard of the vehicle, or any other location. For example, the sensors 104, 106, and optionally 108, may be mounted on or in the rearview mirror assembly, while the remainder of the compass system may be located elsewhere within the vehicle, such as in an overhead console or dashboard. The output of the sensor may be used for other vehicle systems such as navigation systems, headlamp control systems, and/or remote communication systems.
[0099] Fig. 4 is a front view of a rearview mirror assembly 140 that includes at least one directional indicator 114 in the form of an alphanumeric display. Fig. 5 shows a side view of such a rearview mirror assembly, partially cut away to show the mounting of the sensors 104, 106, and optionally the sensor 108, in the mirror housing 144 of the assembly 140 to the circuit board 150. FIG. 6 shows a side view of the mirror mount 140, but with the sensors 104, 106 and 108 mounted on a circuit board 150 located in the mounting base 146 of the mounting structure 145 of the mirror mount 140. Fig. 7 shows a top view of the mirror assembly 140 shown in fig. 4 and 5. As shown in each of FIGS. 4-7, the rearview mirror assembly 140 includes a mirror housing 144 pivotally connected to a mounting structure 145, which mounting structure 145 in turn may be mounted to the interior of a vehicle windshield or alternatively may be mounted to a roof structure or canopy that extends along the top of the vehicle windshield. The housing 144 includes a front cover 142 positioned near the front periphery of the housing 144 to hold the mirror element 128 in place.
[0100] Mirror element 128 is preferably an electrochromic mirror element that changes reflectivity in response to an applied voltage signal. As shown in fig. 3, the processing circuitry 110 of the compass circuit 100 may be connected to an Electrochromic (EC) driver circuit 126, which in turn provides a drive voltage to an electrochromic mirror element 128 and to any external electrochromic mirror element. The processing circuit 110 may then be programmed to respond to the output signal of the ambient/glare sensor 130. In particular, the glare light sensor is positioned to sense light from behind the vehicle, while the ambient light sensor is typically located on the opposite side of the mirror housing 144 to sense the ambient light level in front of the vehicle. Processing circuitry 110 may then control EC drive circuitry 126 to control the reflectivity of electrochromic mirror element 128 and any external electrochromic mirror elements by responding to the light level sensed by sensor 130. Suitable EC drive circuits are well known in the art, an example of which is disclosed in commonly assigned U.S. patent No. 6,247,819, which is incorporated herein by reference in its entirety. The rearview mirror assembly 140 may include appropriate user input switches 116 to allow a user to activate or deactivate automatic control of the reflectivity of the electrochromic mirror. An indicator LED 132 or the like may be provided to indicate whether the electrochromic mirror is in the automatic state.
[0101] The user input switch 116 may be of any form conventionally used on rear view mirror assemblies or other accessories in vehicles. Suitable configurations of user input switches are disclosed in commonly assigned U.S. patent nos. 6,407,468 and 6,420,800, both entitled "rear view MIRROR WITH display including push button," the entire contents of which are incorporated herein by reference. Another suitable structure is disclosed in commonly assigned U.S. patent No. 6,471,362 entitled "MIRROR WITH IMPROVED button structure," which is hereby incorporated by reference in its entirety.
[0102] As shown in FIG. 4, the direction indicator display 114 may be located behind the mirror element 128, with a clear glass formed in the reflective surface of the mirror 128 to allow directions to be viewed through the mirror. However, the mirror 128 may also be configured to include any of the features disclosed in the above-identified commonly assigned U.S. patent No. 6,356,376. This patent discloses various mirror configurations that allow viewing of a display positioned behind the mirror without completely eliminating the reflectivity in front of the display. Further, it should be understood that a suitable display 114 or other directional indicator may be provided on or near the bezel 114, on or near the mounting structure 145, or in an accessory, such as a dashboard, overhead console, etc., that is proximate to or remote from the rearview mirror assembly 140. Additional information displays may be included in the mirror assembly, such as the passenger side inflatable airbag indicator display disclosed in U.S. patent No. 6,170,956, which is incorporated herein by reference in its entirety.
[0103] As shown in fig. 5, the magnetic sensor elements 104, 106, and 108 may be mounted to a circuit board 150 provided in the mirror housing 144. The circuit board 150 may be provided vertically, horizontally, or in any other orientation. The sensors may be generally oriented such that the X-axis sensor 104 has an axis that is generally aligned parallel to the longitudinal axis of the vehicle (i.e., the direction of travel), while the Y-axis sensor 106 has its axis aligned generally horizontally and laterally with respect to the vehicle and perpendicular to the axis of the X-axis sensor 106. The X-axis and Y-axis sensors 104 and 106 may thus be aligned with their axes in the horizontal plane. The Z-axis sensor 108, if provided, may be mounted with its axis generally perpendicular. The axis of the Z-axis sensor 108 is preferably perpendicular to the axes of the sensors 104 and 106. As described further below, the sensor may be mounted on the circuit board 150 in any orientation relative to the circuit board and vehicle by accounting for changes in its orientation relative to the circuit board and/or vehicle. Also, if such a structure is solved via coordinate transformation or the like, the sensors do not necessarily have to be installed so that their axes are perpendicular to each other.
[0104] If the sensor is mounted in the mirror housing 144, a tilt sensor (not shown) may preferably be provided in the mirror housing 144 to sense when the mirror housing 144 and thus the sensor element is manually tilted, particularly if the Z-axis sensor 108 is not otherwise used. Examples of suitable tilt sensors are disclosed in commonly assigned U.S. patent nos. 6,023,229 and 6,140,933, which are hereby incorporated by reference in their entirety. However, as will be described below, if the Z-axis sensor 108 is provided, the tilt sensor may not be otherwise required.
[0105] FIG. 6 shows a ready configuration with sensors 104, 106 and 108 mounted on mounting base 146 of mounting structure 145. An advantage of mounting the sensors 104, 106 and 108 in the mounting base 146 is that they will remain in a fixed relationship relative to the vehicle.
[0106] Another suitable implementation of a magnetic sensor is disclosed in commonly assigned U.S. patent No. 6,587,573 entitled "system for CONTROLLING EXTERIOR vehicle lights," the entire contents of which are incorporated herein by reference. In this patent application, the compass sensor is disclosed as being mounted to a support structure that is adjustably positionable within a housing connected to the mirror mounting base. The support structure disclosed in this application is also used to support a camera system for use in a headlamp control system and/or a rain sensing system. The support element is adjustably positionable within the housing to ensure that the camera is mounted generally horizontally relative to the vehicle. Because the angle of the windshield can vary significantly from vehicle to vehicle, the ability to adjust the angle of the camera and compass sensors within the otherwise fixed housing enables the structure to be used in a variety of vehicle model platforms without the need to redesign each such mirror mounting structure for each different vehicle. The advantage of mounting the compass sensor in this way is that not only is it ensured that the X and Y sensors are mounted horizontally with respect to the vehicle, but also that images obtained from the camera when, for example, the vehicle is positioned in front of the object can be used to ensure proper orientation of the compass sensor after attachment to the vehicle windscreen.
[0107] FIGS. 24A-24D illustrate a method of mounting the compass sensors 104, 106, and 108 to the circuit board 150. In particular, the Y-axis and Z-axis sensors 106 and 108 are mounted parallel to the surface of the circuit board 150 and perpendicular to each other. The X-axis sensor is initially mounted on a portion 150a of the circuit board 150 parallel to the Y-axis sensor 106. Portion 150a is perforated or otherwise separated from the remainder of the circuit board by a cut-out slot, except for two wires or traces that electrically connect sensor 104 to the remainder of circuit board 150. As shown in fig. 24C, the portion 150a is bent from the remainder of the circuit board 150 such that it and the sensor 104 are aligned perpendicular to the surface of the circuit board 150. In this way, the sensor 104 may be mounted using conventional mounting procedures and mounted with its axis perpendicular to the axes of the other two sensors 106 and 108. The sensor 104 and the upstanding circuit board portion 150a may then be secured in this position using any of a variety of techniques. According to one such technique, a retainer 700 having a plurality of resilient legs 702 may be slid over and around the upright portion 150a and sensor 104, the resilient legs being embedded in corresponding apertures 150 b.
[0108] While the above method is described with respect to three sensors mounted to a circuit board, the same technique may be used when only two sensors are mounted (i.e., when only sensors 104 and 106 are used).
[0109] FIGS. 25-27 show another method of mounting the compass sensor to a circuit board, such as the circuit board in mirror mount 140. In this approach, the compass sensors 104, 106 and 108 are integrated into a common integrated sensor package 720 such that their axes are perpendicular to each other. By integrating the sensors in the common plug-in 720, the integrated plug-in 720 can then be mounted to the circuit board 150 using conventional circuit assembly machinery. In addition, the insert may have one or more positioning projections and/or recesses that ensure a consistent mounting direction with respect to the circuit board. In the embodiment shown in fig. 25-27, the integrated sensor package 720 is cube in shape, with the sensors 106 and 108 oriented in the package 720 such that their axes are parallel to the circuit board 150 when the package 720 is mounted to the circuit board. As mentioned above, the sensor 104 and 108 are preferably magnetic inductive, but may be magnetic impedance, magnetic resistance, or the like. While package 720 is shown with six leads (two per sensor), the package may be configured with only four leads (one per sensor, and a common terminal for all sensors).
[0110] As shown in fig. 27, when three sensors are mounted in a cube-shaped package with their axes perpendicular to each other, there is a large fraction of the package volume not required for integrated sensors. This portion is shown as region 722 of sensor insert 720. Accordingly, as described below, such regions 722 may be eliminated to reduce the volume within the vehicle accessory (i.e., mirror housing) required to house the compass sensor. An example of such a truncated cube integrated compass insert is described below with reference to fig. 28 and 29.
[0111] In addition to removing additional package volume, one aspect of the present invention is to free the designer from constraints of mounting the sensors so that their axes are parallel or perpendicular to the circuit board to which they are connected. If the sensors are placed so that their axes are perpendicular to each other, they can be mounted in any orientation relative to the circuit board. As described further below, a coordinate transformation may be implemented in the compass processor code to correct for changes in direction, whereby the X-axis sensor is aligned perpendicular to the circuit board (and/or parallel to the direction of vehicle travel) and the Y-axis sensor is aligned parallel to the circuit board in the horizontal plane (and/or horizontal and perpendicular to the direction of vehicle travel). Thus, combining the above two concepts allows the sensor to be mounted in a manner similar to that shown in fig. 28 and 29, with the cube of the previous embodiment truncated to remove the additional region 722, and flipped over to integrate the sensor insert 750 in a pyramid-like shape. This insert structure is advantageous in that it has a sufficiently small volume to extend between the support ribs of the mirror housing without modifying them.
[0112] To compensate for the shift in sensor orientation, the coordinate transformation may be programmed into the code of processing circuit 110. Such a transformation may be performed using an euler rotation function. The function involves: (a) the original frame S is rotated around the x-axis to the reference frame S' by an angle α; (b) the frame of reference S 'is rotated to the frame of reference S "about the y' axis by an angle β; and (c) rotation of the reference frame S "about the z" axis to the reference frame S' "at an angle γ. This transformation can be represented by the following linear equation:
Wherein α is 45 °, β is-35.26439 °, γ is 0 °
Therefore, the first and second electrodes are formed on the substrate,
[0113] the same coordinate transformation can be used to compensate for the tilt and rotation of the compass sensor when in the mirror housing. For example, the average tilt and rotation of the mirror housing may be a factor in the alpha, beta, and/or gamma values in the transformation above. Alternatively, the transformation calculations may be further simplified by aligning the sensors in the integrated sensor package such that at least one sensor is more closely aligned with a desired direction of travel relative to the vehicle.
[0114] One form of sensor card that may be used is the magneto-impedance sensor card developed by Aichi Steel and Aichi-MI. The package includes two magneto-impedance (MI) sensors formed in an integrated circuit in directions perpendicular to each other. Another Aichi-MI sensor integrated circuit that includes three MI sensors is available. The same sensor packaging techniques can be used to integrate the sensor with other components of the compass sensor circuit, including the microprocessor of the processing circuit 110. This MI technology differs from magnetic induction technology in that the MI sensor creates an electrical connection to the core on the sense inductor. In addition, the sensor size can be very small compared to existing sensors and can therefore be embedded in a small SMT package along with the required signal processing integrated circuit. Because of their small size, MI sensors cannot be placed in the mirror housing alone, but can be placed in the mounting arm/tube or attached to the tunnel mount. The MI sensor may also be included in a multi-sensor assembly that includes sensors such as light sensors and the like. The core material of the MI sensor may be amorphous or nanocrystalline, based on cobalt or iron. Various core geometries may be used, such as strips, ribbons, or wires. A wire core will tend to have a higher effective permeability than a strip or ribbon, which results in better sensitivity.
[0115] Fig. 30 shows one embodiment of a circuit board assembly 800 and associated compass circuitry in accordance with the present invention. As shown, the circuit board assembly 800 includes a main (or mother) board 802 and an optional daughter board 804, which may include any of several different forms of the display 114 and associated display driver circuitry (not shown). The processing circuitry 110 mounted on the motherboard 802 is preferably programmed to utilize the appropriate display drive signals for the particular form of display 110 on the daughter board 804 (if present). This may be achieved by programming the processing circuitry 110 with appropriate code to drive the particular form of display it is to be used with. Preferably, however, the processing circuitry 110 is programmed with code that drives all types of displays it will be used, and the appropriate code is selected manually or automatically. To allow the processing circuitry 110 to automatically select the appropriate driver code to drive any of the two or more types of displays (e.g., the vacuum fluorescent, graphic indicia, LCD, and LED displays described above), some plug-and-play type functionality may be added to the display driver circuitry on the daughter card 804. Alternatively, some of the connector pins of the connectors 806a and 806b that connect the daughter board 804 to the motherboard 802 may have a unique combination of connections to ground or power, so that the processing circuit 110 will be able to determine the type of display based on the pin connections to select the appropriate code for driving a particular display on the daughter card, if any.
[0116] As also shown in fig. 30, an interface 808 may be connected to the mother circuit board 802 and electrically connected to the processing circuitry 110. Alternatively, the interface 808 may be mounted to a daughter board such as 804 (with or without the display 114). The interface 808 may be an RS 485 interface or any other serial interface connected to a display or other electronic component to which the vehicle direction is to be transmitted. Such components or displays may be provided in place of, or in addition to, for example, the display 114 and its daughter board 804. The components or displays may be located in a mirror mount or other location in the vehicle accessory in which the motherboard 802 is located, or may be located remotely therefrom. The interface 808 may thus alternatively be a LIN or CAN interface to a vehicle bus or to a local bus. Preferably, the processing circuit 110 is programmed with code that appropriately formats the vehicle direction signals that are sent via all possible forms of interfaces and to all forms of displays and components. The processing circuit 110 may thus identify the type of interface and the type of connected component or display and send the vehicle direction signal in the appropriate format.
[0117] If it is desired to mount a GPS ANTENNA to the rearview mirror assembly 140, the ANTENNA may be mounted in accordance with the teachings of commonly assigned U.S. patent No. 6,396,446 entitled "MICROWAVE ANTENNA FOR USE IN A VEHICLE in a vehicle," the entire contents of which are incorporated herein by reference. Another suitable antenna is disclosed in commonly assigned U.S. patent application publication No. 2002/0032510 a1 entitled "VEHICLE REARVIEW MIRROR ASSEMBLY for a vehicle MIRROR ASSEMBLY including a communication SYSTEM," which is hereby incorporated by reference in its entirety.
[0118] Having described the hardware of the electronic compass system, a general overview of the inventive process performed by the processing circuit 110 is provided below. Following the general overview, a detailed description of a first embodiment illustrating one implementation of some of the inventive concepts is provided with reference to fig. 11-21.
[0119] As described above, in a preferred embodiment, the magnetic sensor circuit 102 includes a substantially vertically positioned Z-axis sensing element 108 to sense a magnetic field component that is perpendicular to the components sensed by the X and Y-axis sensors 104 and 106. Thus, the inventive process preferably maps the data in a three-dimensional coordinate system. Ideally, the mapped data would then correspond to a sphere rather than a circle in a single fixed plane.
[0120]To better illustrate the principles of the present invention, reference is now made to FIG. 8, which shows the coordinate system of a compass magnetic sensor modified to account for the deviation of true north from magnetic north, and the sensor direction relative to the movement of the vehicle. More specifically, a portion of the "world sphere" is marked Xw,Yw,ZwAre depicted together with a coordinate plane of XwThe coordinate axis is aligned with the direction of travel of the vehicle and is generally horizontal (i.e. tangential to the earth's surface), ZwThe axes are vertical (i.e. pointing towards the centre of the earth) and Y wThe coordinate axes are horizontal and transversely placed perpendicular to the direction of travel of the vehicle.
[0121]True north (i.e., the north of the earth's rotational axis) does not actually correspond to magnetic north, so a magnetic compass must resolve magnetic declination D, which corresponds to the angular deviation of magnetic north from true north for the particular location on the earth's surface where the compass is located. The mapping of declination D associated with various regions on the earth's surface is readily known and available. To account for declination, a second coordinate plane is shown in dashed lines and labeled Xv,Yv,ZvWherein X isvAnd YvThe axis likewise surrounding Zw,ZvAxis from XwAnd YwThe shaft simply rotates by an angle D.
[0122]Assuming ideal conditions and the compass sensor is permanently installed in the vehicle, with the X-axis sensor aligned in the direction of travel of the vehicle and the Z-axis sensorThe machine is preferably vertically aligned and the Y-axis sensor is vertically aligned with the X and Z-axis sensors, only the declination D needs to be subtracted from the angle phi formed by the sensed earth magnetic field vector relative to the X and Y sensors to obtain the true direction of the vehicle. However, when the sensor is mounted on a housing that is movable with respect to the vehicle, such as the rearview mirror housing 144 (see FIGS. 5 and 7), and the mirror housing is at an angle φ about the vertical Z-axis mWhen rotated (see FIG. 7), X of the sensor coordinate systemmAnd YmThe coordinate axes being at the same angle phimRelative to XvAnd YvCoordinate axes are rotated and ZmShaft holding and ZwThe axes coincide. If the mirror rotates by an angle phimIt is assumed or can be identified that it can be subtracted from the azimuth angle along with declination D to provide an accurate azimuth.
[0123]When the mirror housing 144 is about its horizontal transverse axis (i.e., its Y)mAxis) to accommodate drivers of different heights (see fig. 5), the calculations become increasingly complex. Around YmThis tilting of the shaft maintains the resulting YrAxis and YmThe axes being coincident but at an angle thetamFrom XmAnd ZmAxial rotation XrAnd ZrA shaft.
[0124]As mentioned above, the magnetism of the vehicle, like an external magnetic field other than the earth's magnetic field, affects the magnetic field sensed by the sensor. If there is no such effect and the sensor is not tilted with respect to horizontal (i.e., θ)m0 deg.), the plot of the data obtained from the sensor will pass through a circle around the surface of a sphere having the same radius and center point as the circle, the center point will correspond to the origin of the coordinate plane, the radius will correspond to the magnitude of the earth's magnetic field vector, and the circle will lie in a plane parallel to the horizontal X-Y coordinate plane of the sensor (i.e., the z-component value will remain at least locally constant). However, tilting the mirror so that the circle held horizontally is at a tilt angle θ mTilted with respect to the X-Y plane, so that the z-component value varies as a function of the vehicle direction. If only the X and Y sensor outputs are considered and plotted, the data in the X-Y plane will appear elliptical. The tilt of the mirror may be introduced into the assumed mirror tilt angle theta by an average tilt angle based on an average personmOr it may be measured by monitoring the change in data obtained from the Z-axis sensor as the vehicle is driven through a 360 degree rotational angle.
[0125]The effects of vehicle magnetism and external magnetic fields typically cause the center of a partial sphere (sc)xs,scys,sczs) With the origin (x) of the sensor coordinate system0,y0,z0) Is strongly displaced. Since the x, y and z values of the dots are zero, this shift can be compensated by extending from the origin to the corresponding point (rdg) of the magnetic sensor dataxs,rdgys,rdgzs) Is subtracted from each vector RDG of (1) by a vector SC extending from the origin to the center of the world sphere (see also fig. 9 and 10). The compensation is performed by dividing the x, y and z values (sc) of the local sphere center pointxs,scys,sczs) To each data point (rdg) obtained from the sensorxs,rdgys,rdgzs) To be implemented. The resulting vector V extends from the center of the partial sphere to the data point. As shown in fig. 8 and 9, the partial sphere has a radius vector RS (having a magnitude RS) xsr) And a center point (sc) initially assumed and then recalculated by an approximation sequence described further belowxs,scys,sczs). To aid in the approximation process, the error vector VE may be aligned to a point (rdg) by subtracting the current radius RS from the vector Vxs,rdgys,rdgzs) And (4) determining. Such an error vector VE may be calculated for each data point obtained from the sensor and then averaged or otherwise used to determine an approximate data (i.e., center point (sc)xs,scys,sczs) And radius rsxsr) The quality of (c). As described further below, the center point and radius may then be varied to obtain a "best fit" solution to the data obtained from the sensors, with the lowest average error. The center point and radius that provide the best fit may then be stored for later determination of the heading angle φ in the most recent sensor readingssSo that the vehicle direction to be displayedIt is used when in use.
[0126] The use of ball position (or tilt and/or rotation) sensors that may be used, among other things, to correct the angle of orientation and determine when the mirror housing 144 moves and triggers a re-approximation or re-calibration is described in commonly assigned U.S. patent nos. 6,023,229 and 6,140,933, the entire contents of which are incorporated herein by reference.
[0127]In many vehicles, the driver position is sufficiently uniform that the angular adjustment of the mirror about the vertical axis phi mIs typically relatively small from one driver to the next, so that correction of the change may be less important than compensating for changes in the effect of the field in the vehicle as the position and/or angular orientation of the mirror changes relative to the interference field. This problem is most pronounced for two spherical mirror installations, for which basic position adjustments can be made in addition to changes in angular orientation. The mirror position sensor is also more complex to mount for two spherical mirrors. Furthermore, many mirrors are used in parts of the world where the vertical component of the earth's magnetic field is substantially greater than the horizontal component, so that in some cases the mirror housing surrounds the horizontal axis YmIncrement of tilt thetamCan have a vertical axis Z around the compass readingmOf the same magnitudemSeveral times greater.
[0128] For a driver using a compass mounted on the mirror housing, it may be a reasonable scenario for two or more drivers who adjust the mirror to very different positions to travel together and share the driving. In such cases, operation may often be in one direction for a long time, so a mirror is desired that evaluates and updates the approximation continuously or semi-continuously and makes effective approximate adjustments based on a range of proceeding directions that is substantially less than 360 °, even substantially less than 180 °, or even 90 °. It is desirable to apply criteria to determine when the best fit approximation data is satisfactory to display the directional information. It is also desirable to fit the determination to the quality of the sample data more based on the approximate geometry used than based on, for example, a minimum threshold of angles spanned by cumulative turns. For example, the quality of the fit may be measured by a standard associated with the least squares method. The approximate geometry can then be used as a basis for the calculation and display of orientation information when the average of the squared error for each sample data point when fitting the approximate geometry is generally low and within an acceptable range, and preferably when it also converges to a primary minimum. This may be true even when the total variation in direction spanned by the sample point is small, perhaps below 90 °, and the acceptance criterion for the mean squared error may be a set threshold or a variable depending on other factors. This is an example, many other measures of fitting quality may be used, and acceptance criteria may be used for other or additional uses of compass data.
[0129] In the above scenario, some of the largest changes in direction may occur when the driver reenters road traffic after leaving the road, causing a change in the driver. Systems that quickly and reliably take and screen readings are expected to take advantage of the rapid and often relatively large changes in travel direction that often occur when a driver begins a trip. As will be apparent from the following description, the compass system of the present invention exhibits these desirable features.
[0130] Raw data points read by the sensor may be screened and/or averaged with multiple readings. Other data such as ranges and standard deviations may be included with the readings as stability indicators. Optional data transformations may be applied, which may include one or more of the transformations discussed below. The scaling factors, which may be determined and stored as part of factory calibration, may be applied to approximate, calibrate, or simply equalize the gains of two or more of the directional components of the magnetometer readings. The points may optionally be based on statistical data gathered with the readings, again optionally based on how the points fit the current approximate geometry, again optionally based on how the vertical Z-axis component of the readings coincides with that of the current sample point, perhaps based on additional criteria. If the data point is eligible under these evaluations and if the approximate geometry is eligible for use as a basis for processing the magnetic data of the readings, an indication of the direction based on which the data point was acquired is generated and optionally displayed. The processed magnetometer data may also be used for other purposes.
[0131] The points are evaluated for recordation or immediate inclusion in the active sample set, and the currently stored active and inactive points are evaluated for changes in status and possible deletion or replacement in the sample set. The sample sets were then pooled and maintained. The development of good sample sets generally improves the accuracy of compass readings and serves as a basis for a relatively fast response to changes in the proximity requirements resulting in particular from the adjustment of the mirrors of which the magnetic sensors are comprised in the movable mirror housing.
[0132] Next, analysis of the sample spot is performed to provide the data needed to extract orientation information from the magnetometer readings. A preferred way to do this is to select and perhaps refine a pattern that is characterized by a fingerprint of the pattern, for example, due to the response of changing vehicle direction magnetometer readings to the earth's magnetic field, and statistically fit the pattern to a set of magnetometer readings recorded in the vehicle as it assumes a changing direction. The data from this pattern fitting process is then used to extract components of subsequent readings, primarily due to the earth's magnetic field, from interference effects from other sources of magnetic interference, particularly those in vehicles. The extraction readings and/or data obtained during the extraction process are then used to calculate the orientation. Although not necessarily in every embodiment, the fitting algorithm may produce a number indicative of the quality of the fit, which is preferably used in finding the sequence of iterations of modifications and/or orientations that give a pattern that approximates the best fit. The quality of the fit indicated by the above numbers is preferably also used as one of the variables on which the other decisions are based. For example, the quality of fit may be used as a partial basis for when approximately satisfactory as a basis for processing and outputting direction indications. If different starting conditions of the pattern result in convergence to different local minima in the fitting process, the quality of the fit can be used to determine, in part, which is selected as the best fit. In this case, if one of the local minima is not an unambiguous best fit, this may lead to a prohibition on the fit being used as a basis for calculating the directional information and refining the sample set to account for the uncertainty. Preferably, the part of the calculation process used for the fitting algorithm can be used for other uses.
[0133] As an example, in a preferred embodiment, the distance of the reading from the approximated pattern is calculated in vector form as the above-mentioned error vector VE for each reading under consideration. The square of the distance, i.e. the square of the magnitude of the error vector, is used in the fitting calculation and the components of the error vector are used in the algorithm for the next position or modification of the pattern during the active prediction iteration to determine the near best fit. Furthermore, the calculation used to determine the error vector is directly used to convert the error vector to the desired base coordinate system. Likewise, the angle calculated when determining the distance from the point to the pattern is directly useful in determining the angle of orientation of a given reading, perhaps also determining which readings are adjacent to each other and approximately measuring their separation. The distance of a point from the near best-fit pattern can be used as part of the basis for adding or rejecting points in the sample set used to determine the best-fit pattern, or accepting or rejecting points used in determining the current direction. In a preferred configuration, a substantial portion of the same calculation is used to analyze each point of the sample set, which in turn is used as part of the calculation to evaluate the quality of the fit, to determine the next fit approximation in the iterative sequence, and to apply the current best fit pattern to process each reading for partial evaluation of its quality and determination of the direction of correlation.
[0134] As described above, the approximate geometry may optionally be adjusted continuously or periodically to better fit the sample points. For example, if the approximation pattern or geometry is a sphere, the radius of the sphere may be adjusted. The radius of the sphere is generally related to the strength of the earth's magnetic field or its horizontal component, depending on the type of approximation being used. In either case, the parameter should be stable for a given position even when disturbances occur such as changes in the magnetization pattern of the vehicle or adjustment of the mirror in which the sensor is mounted. Particularly when the sensor is mounted in a mirror, it is desirable to adjust the approximation quickly after the mirror position changes, thereby using the least amount of data. For such changes, the best-fit radius cannot be changed much, and, if at all, in addition, a good determination of the radius typically requires well-distributed sample points around the approximation pattern. It is prudent to favor retaining the previous best fit radius of the approximate geometry until the distribution and quality of the sample points advantageously gives data that correctly adjusts the value. By using the previously determined radii, a more limited sample set can be effectively utilized to quickly and adequately respond to the required changes in the compass approximation. Preferably, extending the method to other parameters, i.e., in the face of approximate changes or expected relatively short term changes in the vehicle environment, a general hierarchy of parameters is established that can be adjusted according to the relative stability of the parameters to obtain an approximately best fit. The most stable parameter values for these changes are preferably maintained until data is available that may result in improved settings.
[0135] In some embodiments, there may be situations where it is desirable to switch to a different approximate reference pattern rather than merely adjusting the existing pattern, for example, switching between circular and elliptical reference patterns, or perhaps between two-dimensional and three-dimensional patterns.
[0136] The approximate pattern is then compared to the valid sample points and gives an indication of the quality of the fit. Numerical indications and analysis of the quality of the fit, such as least squares fit, are desired. Subsequently, a prediction of the change in shape and/or position of the approximated pattern that yields a better fit may be made. These approximations can range from simply stepping through the array of possible choices to computing absolute or incremental modifications to determine the pattern for the sub-best fit approximation. Furthermore, to limit program size and computation time, it may be preferable to utilize a prediction process that shares intermediate numerical results with other necessary computations, such as those used to measure the quality of the fit. The prediction can then be applied iteratively to jump to an approximate best fit.
[0137] When initially started or after an approximate dominant shift, the sample set may be limited to a very small portion of the approximate geometry. In this case, it may be advantageous to add further constraints in order to achieve a reasonably accurate approximation with a limited sample set. For example, when an approximate sphere is used whose radius is approximately equal to the horizontal component of the earth's magnetic field, the center of the sphere should generally fall approximately at the center of the circle traversed by the magnetic field vector, as the vehicle rotates through the entire circle. In this case, the center of the approximate sphere will fall approximately in the horizontal plane of the circle of the sample point. This is also approximately the horizontal plane defined by the vertical component of the center of gravity of the sample point. Thus, when the sample points are not distributed well enough to define the plane, it may be advantageous, for example, to limit the center of the approximate sphere to a horizontal plane containing the center of gravity of the sample points (equal or unequal weights may be assigned to each point).
[0138] Additional problems may arise, particularly when the sample points in the sample set span a limited portion of the full range, and when the sample set does not contain at least three points that are quite separate from each other. In these cases, it is difficult to distinguish between the correct centre of the sphere and the centre point which is usually a mirror image of the first of the points in the sample set. Another starting center position that creates a problem in converging to the correct center point is a position that is generally located on the perpendicular bisector of the line connecting the two center points just described. In this case, for example, using a predictor described elsewhere in the written record, the convergence would be such that it would first place the center of gravity of the point generally close to an approximate sphere, and then it would slowly converge toward the correct center or the incorrect mirror center. The preferred method of dealing with this problem is to try several starting center points, which may for example typically fall on a circle around the center of gravity of the sample point, routinely or in case there is any problem with the quality of convergence. For each starting point, an iteration should be performed to achieve a near-best fit for the given starting point. Then, the centers corresponding to the near best fit for each starting position should be compared, and if they are not near the same point, the fitting quality of each should be compared. If the fit quality of one is substantially better than the others, its corresponding center should be the selected one. Otherwise, the sample set should be refined until the best quality best fit is obtained for a single near best fit center point.
[0139] As part of the production calibration, the relative gain of the magnetic sensor for each sensing direction is preferably measured. The calibration constants are then preferably stored and applied to each reading subsequently taken by the magnetometer in order to preferably calibrate and at least equalize the relative gain of the magnetometer for each sensing axis. It may be preferable to pre-scale the data so that a circle or sphere fitting process can then be used when conditions exist that give an inherent elliptical response pattern. It is often convenient to have the nominal vertical axis parallel to the approximately vertical plane of the circuit board, particularly when the sensor is mounted in a mirror. However, in vehicles, the circuit board in the mirror is typically not in a vertical position for the central driver. Assuming that one sensor, say the Y-axis sensor, is also parallel to the circuit board and in the horizontal plane, a coordinate rotation is made about this axis to establish a coordinate system where the X and Y axes generally fall in the horizontal plane of the central driver and the converted Z axis is preferred for the central driver to be nominally vertical.
[0140] For the first preferred embodiment, spheres are selected as the approximate pattern. In a preferred approach, the approximate radius is preferably set to a value at which a circle, typically tracked by magnetic readings, will approximately form the equator of the sphere in its best-fit position as the vehicle rotates in the circle. Preferably, the radius is adjusted only when a set of sample points with relatively high quality and with a relatively good distribution is available. Then, preferably, for example, iterate through a set of trial radii to find one that fits well and the sample points fall near the approximate equator of the sphere. Once a reasonable center point has been established, it is preferable to use the previously established center point as a starting point for a new iteration, except as described below. It may also be preferred to use the average of the sum of error vectors for each sample point as a vector to add to the previous center point to establish a new center point for successive steps in the iterative process. The sequence of iterations preferably continues until the change in the center of several consecutive iterations is below a threshold.
[0141] Additional iterations similar or substantially equivalent to those outlined below should also be applied here when the quality of the fit is questionable, as indicated by the relatively high approximation error indications.
[0142] In some embodiments, it is preferred that not only is a calculation, but also stored in relation to each point in the same set of points, an indication of how well the point fits the approximate geometry data pattern. This may be a quality indication or an error indication, e.g. the square of the distance to the approximated pattern. Also preferably, the set of sample points preserves an indication of the time or at least relative order of sample point acquisition. This may be, for example, a serial number, time and date, or mileage. The order of sample point acquisition may be maintained by storing sample points in memory on a first-in-first-out (FIFO) basis.
[0143] For a given sample point set, a mass/error indication and accompanying description may be stored with each point of the sample point set. The points may then be sorted according to the angle φ calculated for each point. Then, pairs of points adjacent to each other in the sorted list, including the pair including the first and the items in the sorted list, may be treated as adjacent points. The magnitude of the difference in angle phi, modulo 360 deg., associated with each point of the pair, can be used as an indication of the separation between the two members of the respective pair of adjacent points.
[0144] An alternative calculation similar to that used to find the center of gravity is useful for determining the center of distribution of sample points. Each sample point may, for example, be assigned an assumed mass of one, and then the x-component of the centroid is equal to the average of the x-components of the points in the set. The y and z components are similarly equal to the average of the y components of the member points and the average of the z components of the member points, respectively.
[0145] There are many possible techniques for applying the selection criteria. In general, given a new point that is a candidate for replacing one of the existing valid sample points, a decision should be made first as to whether or not to make a replacement, and second which point in the existing valid sample set will be replaced if a replacement is made. One way to apply the criteria is to replace each point of the existing valid sample set with a candidate point, e.g., temporarily, continuously, and one at a time. For each temporal replacement of a single sample spot by a candidate spot, the calculation is applied as needed, and the comparison results are recorded with the information needed to apply the replacement criteria. The recorded results are then compared to each other and to similar data for the existing sample set to see if any of the substitutions meet the combined criteria and if so, to select which member of the substitutions will best meet the criteria. Then, if no replacement is satisfactory, the sample set does not change and the candidate point is not used as a valid member of the sample set. Otherwise, the replacement that yields the most favorable result is maintained and the replaced point is either discarded or assigned to an invalid set.
[0146] Next, the angles of the largest and next largest separations as each replacement is made are recorded and the results of each replacement are compared to each other and to the results of the largest and next largest separations in the original sample set to determine the stability of any possible replacement and to rank the options for stability under the standard.
[0147] The center of gravity of the original sample set and the center of gravity of the sample set with each replacement are compared and arranged in a similar manner as used for the above-described interval evaluation.
[0148] Preferably, when changes are detected in the pattern, the older points are eventually cleared and at least the relative time of acquisition is known. This information is useful when the data fitting a new pattern needs to be separated from the data not fitting. Here, the separation or partitioning of the set of points may be based in part on the order in which they are acquired. It is also good to prioritize data that maintains a good fit pattern and shows a stable reading being taken with respect to the acquired statistics, and to favor discarding data that is poorly fitted or acquired under noisy conditions.
[0149] The vertical component of the earth's magnetic field and the additional influence of the vertical component on the measured vertical field component due to the magnetic field in the vehicle should be relatively stable, even when making a turn in the horizontal plane. Substantial changes in the vertical component of the reading may be caused by transient conditions or by changes that result in a more permanent approximate shift. If the change is instantaneous, the measured point may not be a good point for use as a sample point or direction calculation. If the displacement is long term or semi-permanent, a relatively fast response to correctly re-approximating the compass may be required. In either case, a comparison of the vertical component of the field strength at a particular point to the primary average of the vertical component, or possibly to the average of the vertical components of a particular set of points, is useful in determining when a particular reading is unable to fit the current pattern. The determination of whether such a change is instantaneous or relatively permanent is preferably made in part by accumulating a history of readings. An approximate shift is possible if there is a relatively steady shift in the vertical component of the reading. Here, it may be advantageous to store typical readings after the first detection of a shift so the readings may be evaluated for inclusion in a new approximate sample set, and it may be advantageous to clear or invalidate points taken prior to the approximate shift. If the vertical component of the reading returns to the previous or primary value after a short distance or driving period, the change may be considered instantaneous and the value with the shift is preferably cleared from the sample set.
[0150] When the sensor is mounted in the movable mirror assembly, the approximate mirror adjustment that can be changed is often made just before or at the time when the driver starts a new part of the journey. Turning may occur, for example, when leaving a motorway and turning onto a street, when leaving a parking location and turning onto a street, or when traveling around a cloverleaf intersection to enter a highway. These situations may often present the best opportunity to quickly collect data points in varying directions. This data may be very useful when quickly correcting for compass approximations. However, it is dangerous to quickly clean up all existing data before more points are obtained to confirm that the approximation does change. The acquisition and temporary storage of these spots, followed by their subsequent identification as valid sample spots, has the advantage that the acquisition spot simultaneously exercises a warning when data is available to avoid clearing good data points with data that may prove problematic before it is stable and not short-lived to justify validation.
[0151] In addition to the foregoing, it may be advantageous for the compass system to receive an indication of whether the vehicle is moving. For example, if the vehicle is not moving, the compass system may be configured to not update the orientation of the display or change the stored approximate geometry (or set of relevant points). In this way, the direction of the display does not change when the sensor is mounted in the mirror housing and the driver adjusts the mirror during periods when the vehicle is stationary. This would be advantageous because if the direction changes when the vehicle is not moving, it is not possible for the driver to believe that the compass is operating normally. The indication of whether the vehicle is moving may be in the form of a signal transmitted from another component in the vehicle (e.g., GPS) that merely indicates whether the vehicle is stationary or moving. The signal will not need to indicate the speed at which the vehicle is operating, but only whether it is moving. According to some embodiments of the invention, the signal representative of the vehicle speed may still be used to determine whether the vehicle is stationary. Additionally, the compass can be programmed to assume that the vehicle is moving if a minimum noise level (e.g., more than 2mG) exists in the data read from the sensor for a specified period of time. Alternatively, a microphone or vibration sensor may be used to determine whether the vehicle is moving.
[0152] Having described the general principles behind the approximation process of the present invention, more specific examples of first embodiments implementing some of the above concepts are described below. However, the invention is not limited to the details of the example.
[0153] The processing circuit 110 is preferably programmed to operate as a state machine. FIG. 11 shows various states of operation and criteria used to change the states. More detailed information regarding entry or exit of any state is further described with reference to the flow chart beginning with FIG. 12A. With respect to the state diagram shown in fig. 11, the processing circuit first operates in POWER _ ON state 150 when the vehicle ignition is in use. If the APPROXIMATE geometry of the compass has never been previously calculated, no APPROXIMATE data will be stored in the non-volatile memory (NVM)112, causing the processing circuitry 110 to enter the APPROXIMATE state 152. The processing circuitry remains in the APPROXIMATE state 152 until a specified number of data points are obtained that satisfy some criteria. From these points, near best fit data is obtained and stored in the NVM 112 for subsequent use in calculating and displaying vehicle directions. Processing circuit 110 then enters a LEARN state 156. If the vehicle is subsequently turned off and then ON again, the processing circuit 110 enters the state diagram in the POWER _ ON state 150. This time, however, valid approximate data is already stored in NVM 112, and processing circuitry 110 will therefore enter INITIALIZE state 154. During the INITIALIZE state, the processing circuitry 110 processes data from the sensors until a minimum number of points are obtained that meet certain criteria, while calculating and displaying vehicle heading using the approximate data stored in the NVM 112. Here, the processing circuit 110 enters the LEARN state 156. During the LEARN state, the processing circuit 110 continues to accumulate additional data points that meet certain criteria for use in updating the approximation data previously obtained in the APPROXIMATE or INITIALIZE state. As will be described further below, if any of these data points is spaced a distance from the outer surface of the approximate geographical pattern (i.e., the partial sphere) such that the magnitude of the error vector VE exceeds a predetermined threshold, the processing circuitry 110 sets the refit flag TRUE, clears all data points previously acquired, and again enters the INITIALIZE state 154 where the circuitry remains until a minimum number of points are acquired that meet the specified criteria.
[0154] When processing circuitry 110 is in LEARN state 156 and has obtained a specified number of data points that exceeds the minimum number of data points required to enter the LEARN state, processing circuitry 110 enters LOCK state 158, which remains there until the magnitude of error vector VE is identified that exceeds a specified maximum value. Here, the processing circuitry will return to the INITIALIZE state 154 while setting the refit flag TRUE and clearing all previously acquired data points. Otherwise, processing circuitry 110 remains in LOCK state 158. Whenever the difference between the most recently generated approximate data and the approximate data stored in the NVM 112 exceeds a limit, the old approximate data in the NVM is overwritten by the new approximate data.
[0155] FIG. 12A illustrates the steps performed by the processing circuit 110 when executing the compass flow control algorithm 200. The first step performed by the processing circuit 110 under this routine is to receive data from the magnetic sensor circuit 102 that represents the X, Y and Z coordinates of the most recent raw magnetometer point obtained from the magnetic sensor circuit 102. Processing circuitry 110 then executes step 202, which is a call to noise analysis subroutine 204 illustrated in FIG. 13.
[0156] The noise analysis subroutine 204 serves to screen and smooth raw magnetometer points (rawMagPoint) received from the sensor circuit 102. In step 206, the processing circuit 110 first screens raw magnetometer points using an exponential smoothing method based on the following formula:
EX1n=αx1×X1n+(1-αx1)EX1n-1
EY1n=αy1×Y1n+(1-αy1)EY1n-1
EZ1n=αz1×Z1n+(1-αz1)EZ1n-1
Wherein alpha isx1=αy1=αz10.5 and X1n,Y1n,Z1nEqual to the X, Y, or Z component values of rawMagPoint, respectively. In this formula, EX1n-1,EY1n-1,EZ1n-1Representing the corresponding X, Y or Z component values, respectively, of the previously screened raw data points. However, when the first data point is obtained by a compass system, EX1n-1,EY1n-1,EZ1n-1Simply set equal to X1 respectivelyn,Y1n,Z1nSince there is no data to smooth the first rawMagPoint. Screened rawMagPoint (EX 1)n,EY1n,EZ1n) And then passes to step 208 where a is expressed in the following equationx2=αy2=αz2A second exponential smoothing filter of 0.25 uses:
EX2n=αx2×EX1n+(1-αx2)EX2n-1
EY2n=αy2×EY1n+(1-αy2)EY2n-1
EZ2n=αz2×EZ1n+(1-αz2)EZ2n-1
as indicated above, in a preferred embodiment, αx1=αy1=αz10.5 and αx2=αy2=αz20.25. However, these values may vary based on noise level and desired performance. For example, set αz10.125 and αz2A more severely smoothed Z data will result in a smaller response to noise conditions in the data set than 0.0625. Among these formulas, (EX 2)n-1,EY2n-1,EZ2n-1) Representing the corresponding X, Y or Z component values of the previously screened newMagPoint. By using the second filtering step, the gain is increased due to the inherent phase delay between the two filters which increases with frequency. However, it should be understood that this second screening step is optional. Then, in step 210, the processing circuit 110 will (EX 2)n,EY2n,EZ2n) Is stored in the variable newMagPoint (newMagPoint ═ EX2 n,EY2n,EZ2n))。
[0157] The change in the output of the first exponential smoothing filter in block 206 is then analyzed by comparing it to the change in the output of the second exponential smoothing filter in step 208. This analysis performed in step 212 specifies a quality map based on the amount of change measured and based on the amount of time elapsed since the occurrence of a significant amount of change. Thus, this step effectively calculates the first derivative of the data point locations of the two screens, which represents the rate of change (i.e., similar to the velocity) of the data point locations of the screens. This can be written as follows:
DX1n=EX1n-EX2n-1
DY1n=EY1n-EY2n-1
DZ1n=EZ1n-EZ2n-1
[0158] in step 214, processing circuitry 110 calculates a second derivative of the position of the twice-screened data point, which represents the rate of change of the position of the data point (i.e., similar to acceleration), using the formula:
DX2n=DX1n-DX1n-1
DY2n=DY1n-DY1n-1
DZ2n=DZ1n-DZ1n-1
wherein DX2n-1,DY2n-1,DZ2n-1Is DX2 obtained for the previous rawMagPointn,DY2n,DZ2nThe previous value of (c). Step 206-n(D2n=SQRT(DX2n 2+DY2n 2+DZ2n 2) Is first compared to a predefined value HIGH LEVEL in step 216. If D2nMagnitude of (magnitude D2)n) Beyond HIGH _ LEVEL, the processing circuit 110 executes step 218, wherein the variable DELAY counter is set equal to the constant LONG _ DELAY and the variable noise LEVEL is set equal to the constant NOISY, before returning the process flow to step 240 (FIG. 12A) of the compass flow control routine 200.
[0159]If, in step 216, processing circuitry 110 determines magnitude D2nNot exceeding HIGH _ LEVEL, it proceeds to step 220, where it takes a magnitude D2nAnd the constant MED LEVEL. If the quantity D2nBeyond MED _ LEVEL, the processing circuit 110 proceeds to step 222, where it sets the variable DELAY counter equal to the greater of the DELAY counter's previous value or the constant MED DELAY. The processing circuit 110 also sets the noise level equal to NOISY in step 222 before returning to step 240 of the compass flow control routine 200.
[0160]If the quantity D2nNot exceeding HIGH _ LEVEL or MED _ LEVEL, the processing circuit 110 proceeds to step 224 where it determines the magnitude D2nIf the constant LOW LEVEL is exceeded. If the constant LOW _ LEVEL is exceeded in step 224, the processing circuit 110 sets a variable delay meterThe counter equals the greater of the previous value of the DELAY counter or the constant SHORT DELAY while also setting the variable noise level to no isy (step 226), before returning to step 240 in the routine 200.
[0161]If the quantity D2nWithout exceeding LOW _ LEVEL, the processing circuit 110 decrements the delay counter in step 228 before proceeding to step 230, which determines whether the delay counter is greater than zero. If the delay counter is greater than zero, the processing circuit 110 sets the noise level equal to QUIET in step 232 before returning to step 240 in routine 200. If in step 230 the processing circuit 110 determines that the delay counter does not exceed zero, it proceeds to step 234, where it sets the noise level equal to SILENT, before step 240 in routine 200. The different values used in step 216-226 may be, for example, HIGH _ LEVEL-25, MED _ LEVEL-15, LOW _ LEVEL-5, LONG _ DELAY-8, MED _ DELAY-4, and SHORT _ DELAY-2.
[0162] In fig. 31-34, alternate implementations of the noise analysis routine are illustrated. FIG. 31 shows a high-level block diagram of a noise analysis routine that receives raw sensor data for X, Y, and Z sensors and provides filtered X, Y, and Z sensor data and an indication of noise level. When the noise level is "SILENT", all compass operations are performed. When the noise level is "QUIET," modification of the points in the set of points is prohibited. When the noise level is "NOISY", modification of the points in the set of points is disabled and modification of the compass state is disabled. The displayed directions are members of the compass state and therefore are not modified when the "NOISY" condition exists. The outputs NOISY, QUIET, and SILENT are evaluated TRUE when their respective values are greater than zero. A detailed block diagram is shown in fig. 32.
[0163] As shown in fig. 32, the raw data X from the magnetometer 102 is provided to a first exponential filter 820, similar to the screening function of block 206 in fig. 13, where α is 0.5. The output EX1 of the first filter 820 is applied to a second exponential filter 822 and to a functional block 824 described below. The second filter 822 is similar to the screening function of block 208 of fig. 13, where α is 0.25. The output EX2 of the second filter 822 is applied to a function block 824. Function block 824 performs functions similar to block 212 of fig. 13 and provides an output DX1 that is supplied to function block 826. Function block 826 performs a function similar to block 214 of figure 13 and provides output DX 2. Similar screening and processing of the Y and Z raw data from the magnetometer 102 is performed and the values DX2, DY2, and DZ2 are applied to block 828.
[0164] Block 828 squares each of the values of DX2, DY2, and DZ2 and adds the squared values. The output of block 828, designated "noise", is applied to block 830, which divides the output "noise" of block 828 by the predefined value "noise figure" and takes the square root of this value and adds it to the predefined value "delay intercept" to produce the output "delay". The output "delay" is applied to function block 832 and represents the condition of NOISY. In other words, if the value of "delay" is greater than zero, NOISY is TRUE and the NOISY condition is therefore found to exist.
[0165] Block 832 calculates the value of the function MIN using the value "delay" and a predefined value "maximum delay" and calculates the value of the function MAX using the value "delay" and zero. The values of MAX and MIN are provided to blocks 834 and 838. The function block 834 recalculates the value of the function MAX using the value "delay" again but replacing zero with the value "peak". The value of "peak" is derived from the output of block 836, which subtracts the value of "1" from the output of block 834. The output of block 834 represents a QUIET condition. In other words, if the output of block 834 is greater than zero, QUIET is TRUE and the QUIET condition is therefore found to exist.
[0166] The output of block 834 is also applied to block 838, which adds the value output of block 834 to the output of block 832. The output of block 838 is inverted by inverter 840, with the output of inverter 840 representing the condition of SILENT. In other words, if the output of block 840 is greater than zero, SILENT is TRUE and the SILENT condition is thus found to exist.
[0167]Delayed signal and DX22+DY22+DZ22The relationship between square root noise signals is shown in fig. 33, where the noise coefficient is 10, the delay intercept is-3, and the maximum delay is 32.
[0168] As the radius of the approximate sphere increases, the magnetic noise becomes smaller in the problem. For example, in Michigan, USA, the radius is about 180 mG. If it is desired to ignore more than 10% of the current noise of the signal of interest, then noise levels in the range of 18-20mG will be involved. In singapore, the radius is about 400 mG. In this case, the noise level of interest will be more than twice as large. Therefore, it would be advantageous to adapt the response of the system based on the earth's magnetic field horizontal strength (represented by the radius of the approximate sphere). This can be achieved simply by adjusting the value of the "delay intercept". For example:
radius of
Delayed interception
≤128mG -2
≤256mG -3
≤512mG -4
[0169]Delayed signal and DX22+DY22+DZ22The relationship between square root noise signals is shown in fig. 34, where the noise coefficient is 10, the delay intercept is-4, and the maximum delay is 32.
[0170]Referring back to fig. 12A, in step 240, the processing circuit 110 determines whether it is currently in the POWER _ ON state. If so, processing circuitry 110 continues to step 242 where it determines an effective approximate radius rs xsrWhether stored in NVM 112. Initially, no such radius will be stored in non-volatile memory unless the pre-approximation data is pre-stored in the compass. If no valid radius is stored in the NVM 112, the processing circuitry 110 proceeds to step 244, where it sets its status to APPROXIMATE. Processing then flows through connector "1" to step 246, which is shown in FIG. 12B.
[0171] In step 246, the processing circuit 110 determines whether the noise level is SILENT. If not, the processing circuit 110 returns to the compass flow control routine 200 at which point a new rawMagPoint is obtained before the noise analysis routine 204 described above is executed again. The processing circuit 110 then determines that it is in the approximate state in step 318 and continues to return to step 246 and continue to loop through steps 200 through 246 (and step 318) until the noise level is SILENT. The length of time it takes to achieve this result depends on the consistency of the received data and the extent to which it is initially changed by the length of the delay counter to be additionally set. Once the noise level is SILENT, the processing circuitry 110 executes step 248, which is a call to the construct point set distance ions routine 250 shown in fig. 14.
[0172] In a preferred implementation, a delay of, for example, ten seconds after power-up is added during which magnetometer data is collected and run through a noise filter. However, the construct point set distance routine 250 is not invoked until after a ten second delay has elapsed. This prevents various magnetic transients from causing incorrect points to be learned. These transients may be caused internally by battery charging, door opening, mirror position adjustment, etc. Transient phenomena may also be caused externally by, for example, the presence of air pumps, metal car doors, metal beams of parking stalls, etc. After the delay has elapsed, the construct point set distance routine 250 is called each time new magnetometer data is available until two points are found. This indicates that the magnetic field is changing, most likely due to movement of the vehicle. The in-vehicle flag is then set to track the event. When this event occurs, the two learned points are discarded and the construct Point set distance routine 250 is invoked to begin reusing the Point [1] building block Point set. Alternatively, a vehicle movement marker may be used.
[0173] In the construct point set distance routine 250, the processing circuit 110 first determines whether the variable numPoints is greater than zero in step 252. Initially, the variable is set to "0" so that on the first pass through the routine, the processing circuitry will proceed to step 254 where it adds the latest value of newMagPoint to Point [1] in the array, hereinafter referred to as the "Point set". The set of POINTS stores a number of magnetometer data POINTS up to a limit specified by the constant TOTAL _ POINTS, which may be, for example, equal to twelve, such that a TOTAL of twelve POINTS are stored in the set of POINTS with numPoints successively incremented from "1" to TOTAL _ POINTS. The data points stored in the set of points are then used to approximate the center point of the local sphere and determine the radius of the sphere, which together constitute approximation data that is then used to provide a relative basis for determining the direction of the vehicle.
[0174] In addition to adding newMagPoint to the set of points in step 254, the processing circuitry increments the variable numPoints and then returns control to the compass flow control routine 200 step 280 (FIG. 12B). In step 280, the processing circuit determines whether the variable numPoints is greater than or equal to the constant minnet _ POINTS. If not, the processing circuit then returns to step 200 where a new rawMagPoint is obtained and subjected to the noise analysis subroutine 204. Processing circuitry 110 then proceeds with the new MagPoint obtained from subroutine 204 to again enter the construct point set distance subroutine 250, assuming a noise level of SILENT. Otherwise, the processing circuit 110 continues to obtain new rawMagPoints until the noise level is again SILENT.
[0175] When the build point set distance subroutine 250 is entered a second time, numPoints are no longer equal to zero and processing circuitry performs step 256 in which it determines whether the value of numPoints is greater than one. Since the value of numPoints will not exceed one on the second pass through the subroutine, the processing circuitry will then proceed to step 258 where it will determine the distance between newMagPoint and Point [1] in the set of points. Then, in step 260, the processing circuitry determines whether the distance exceeds a variable minDist, which is defined as follows:
minDist=2×defRadius×sin(MIN_ANGLE/2)
Wherein MIN _ ANGLE is 2 × π/(3 × TOTAL _ POINTS)
The value of defRadius is a preset constant, such as 150, or preferably, a value of approximate radius stored in NVM 112. Thus, the minimum distance (minDist) is a function of the number of TOTAL _ POINTS obtained and used for approximation purposes. If the distance between the two points so obtained does not exceed minDist, the subroutine returns to step 200 to acquire a new data Point and continues until a second newMagPoint is obtained that is more than minDist from the first acquired Point, in which case the processing circuitry performs step 262 in which it adds newMagPoint to the Point set Point [2] location while also incrementing the value of numPoints. Processing circuitry then returns to step 200 to fetch and screen the new rawMagPoint.
[0176] After the first two points in the set of points are acquired, the processing circuitry will then go through the steps described above and will again enter the construct point set distance subroutine 250, provided the noise level remains SILENT. When entering the construct point set distance subroutine 250, processing circuitry will proceed to step 264 because the value of numPoints will exceed one.
[0177] In step 264 processing circuitry finds two points in the set of points that are stored closest to the recently obtained newMagPoint. The first time through the path of the flowchart, the two points correspond to the two previously obtained points, Point [1] and Point [2 ]. Then, in step 266, the processing circuitry will determine whether the distance between the closest point in the set of points and newMagPoint exceeds the value of the variable newPoint Dist, which is defined as follows:
newPointDist=2×defRadius×sin(NEW_POINT_ANGLE/2)
Wherein NEW _ POINT _ ANGLE is 2 x pi/TOTAL _ POINTS
If the distance exceeds the value of newPoint Dist, processing circuitry increments the value of numPoints and then adds newMagPoint to the position of the Point set Point numPoints (step 268). The processing circuitry then returns to step 200 where rawMagPoint obtains and then processes. Again, assuming the noise level is still SILENT, the construct point set distance ion routine 250 will again be executed. This subroutine will continue to be called in step 248 until the value of numPoints is equal to or greater than the constant minnet _ POINTS, which may be set equal to four, for example.
[0178] Assuming that subroutine 250 again enters and processing circuitry determines in step 266 that the closest distance does not exceed the value newPointDist, processing circuitry adjusts the position of the closest point in the direction of newMagPoint in step 270. For example, if any of the X, Y, and Z values of newMagPoint is greater than the X, Y, and Z values of the closest point, such X, Y, and Z values of the closest point may each be incremented by a value such as "1". Similarly, if any of the X, Y or Z values of newMagPoint is less than any of the values of the closest point, the corresponding X, Y or Z value of the closest point may be decremented by a value such as "1". Subsequently, in step 272, the processing circuitry finds the distance between the point in the set of points whose position was just adjusted and the point closest to it. Then, in step 274, if the processing circuitry determines that the distance is less than the value minDist, it proceeds to step 276 where it resets the position of the point whose position is adjusted to its original position. Otherwise, the processing circuit simply returns to step 200 without first performing step 276. These latter two steps are performed to ensure that points in the set of points do not have their positions adjusted so as to then become too close to further points in the set of points. This ensures that the points are maintained in a suitably spaced relationship around the periphery of the partial sphere.
[0179]Once the value of numPoints is greater than or equal to MINFIT _ POINTS, processing proceeds to step 282 (FIG. 12B), where it sets the approximate best-fit center point (sc)xs,scys,sczs) Average of all points in the point set and set the best fit radius rsxsrIs a constant MIN RADIUS. This step is the initial step used before adjusting the best fit points and adjusting the best fit radii through an iterative subroutine called in a subsequent step 283 and described below to make further adjustments to the approximation data based on the error scale to provide the best fit approximated local sphere. As shown in FIG. 15, the adjust best fit points subroutine 284 first determines a value (ve) for each point in the set of points currently storedxs,veys,vezs) (step 286). Ve of a given pointxsIs the X component of the vector VE. As described above and shown in FIGS. 8-10, vector VE is an error vector, which is a vector V extending from the center of the approximate local sphere to a particular data point in the set of points, and a calculated approximate radius vector RS (having a magnitude RS)xsr) The difference between them. Value veysAnd vezsCorresponding to the Y and Z component values of the vector VE, respectively.
[0180]After step 286, the processing circuitry executes stepsStep 288, where it averages (ve) all the points in the set of points xs,veys,vezs) To the current approximate centre point (sc)xs,scys,sczs). Then, in executing adjust best fit radius subroutine 290, processing circuitry determines a value v for each point in the set of pointsxsr(step 292). Value vxsrCorresponding to the magnitude of vector V as described above with respect to fig. 8-10. Then, the processing circuitry sets the approximate radius rsxsrV for all points in the set of pointsxsrAverage value of (step 292). Then, in step 296, the variable vErrXrLimit is set equal to rsxsr2 and the variable center shift limit is set equal to rsxsr/4. The significance of these variables will be discussed further below.
[0181] To calculate the error vector for newMagPoint, the magnetometer readings RDG (or newMagPoint in the flow chart) are taken for the field strengths shown in fig. 9,
RDG=(rdgxs,rdgys,rdgzs)=newMagPoint
and field strength at approximately the center of the sphere
SC=(scxs,scys,sczs)
To obtain a vector V
V=RDG-SC=(vxs,vys,vzs)
Vector V is then related to ZsRotation of the shaft to give a new coordinate space Xi,Yi,Zi
φs=arctan(vys/vxs)
vxi=vxs×cos(φs)+vys×sin(φs)
Then with respect to ZiRotation of the shaft to give a new coordinate space Xsr,Ysr,Zsr
θs=arctan(vzs/vxi)
vxsr=vxi×cos(θs)+vz×sin(θs),vysr=0,vzsr=0
Result item vxsrIs the magnitude of the vector V. The error vector VE is defined as
VE=V-RS
To determine the magnitude of the error vector VE, the approximate sphere magnitude is subtracted from the magnitude of vector V:
vexsr=vxsr-rsxsr
finally, the components of the error vector are returned to the coordinate space X by performings,Ys,ZsIs determined by the rotation of
vexs=vexsr×cos(θs)×cos(φs)
veys=vexsr×cos(θs)×sin(φs)
vezs=vexsr×sin(θs)
[0182] As will be apparent to those skilled in the art, the adjust best fit points subroutine 284 and the adjust best fit radius subroutine 290 adjust the approximate center point data based on an error scale to iteratively determine a best fit of the approximate geometric pattern (in this case, a sphere) with respect to the obtained data points. Then, returning to step 300 in FIG. 12B after the execution of these two subroutines, where the currently calculated approximate center point and radius are stored in the NVM 112 in a manner that covers the previously stored approximate data, the process then proceeds to step 302, where the processing circuitry enters the LEARN state.
[0183] Following step 302, the processing circuitry then executes a direction subroutine 306, illustrated in FIG. 17, called in step 304. The direction subroutine 306 has an input, the value currently stored in newMagPoint, generated by the noise analysis subroutine 204. The processing circuit then determines whether the value noise level is set equal to NOISY in step 308. If so, the processing circuitry exits the direction subroutine and returns to step 200 of the compass flow control routine where a new rawMagPoint is obtained.
[0184]If the processing circuit determines in step 308 that the noise level is not set to NOISY, (i.e., it is either QUIET or SILENT), the processing circuit performs step 310, wherein an approximate center point (sc) stored in the NVM 112 is storedxs,scys,sczs) And radius rsxsrThe direction angle phi used to calculate newMagPoints,vexsrAnd the error vector (ve)xs,veys,vezs). The method used to determine these values is as previously described except that the approximate center point stored in the NVM 112 is used instead of the current approximate center point.
[0185]Then, in step 312, processing circuitry determines the value ve calculated for newMagPointxsrWhether the variable vrerxrlimit previously set in the step 296 of the adjust best fit radius subroutine 290 (fig. 16) is exceeded. If ve xsrExceeds the limit, the process returns to step 200 in fig. 12A without displaying the orientation. Otherwise, if the error vector is small enough, the processing circuit calculates the true direction in step 314. True direction is equal to phis-φmD (if the magnetic sensor is mounted in the mirror housing 144), where phimIs the mirror rotation angle (fig. 7) and D is the declination discussed above with respect to fig. 8-10.
[0186] After the direction subroutine 306 is executed following the call in step 304, processing returns to step 200, with the processing circuitry now in the LEARN state, as set in step 302. The routine will again obtain new rawMagPoint in step 200 and perform noise analysis subroutine 204 as previously performed with respect to each new rawMagPoint. The processing circuitry will then determine in step 240 that it is no longer in the POWER _ ON state and likewise no longer in the APPROXIMATE state in step 318. It will then determine in step 320 that it is no longer in the INITIALIZE state, in which case it will determine in step 322 whether it is in the LEARN state. If the processing circuit is in the LEARN state, it will then proceed to step 350 (FIG. 12C), otherwise it will be in the LOCK state, in which case it will proceed to step 470 in FIG. 12D.
[0187]If the vehicle ignition is off while the vehicle is in the LEARN state or any other state, the processing circuit will initially enter the POWER _ ON state when POWER is restored by turning ON the vehicle ignition. The processing circuit will start at step 200 and proceed to step 240 in which case it will determine that it is actually in the POWER _ ON state and will proceed to step 242. Now, assume an effective radius rsxsrStored in the NVM112, the processing circuitry will proceed to step 324 where it will set the state to the INITIALIZE state before proceeding to step 326. In step 326, the center point (sc) is approximatedxs,scys,sczs) And radius rsxsrRetrieved together from NVM112 and used as the current approximate center point and radius. Processing then proceeds to step 328 shown in fig. 12B.
[0188] In step 328, the processing circuitry determines whether the variable noise level is SILENT. If not, the processing circuitry calls the direction subroutine 306 in step 330, returns to step 200 to process the new rawMagPoint, and then proceeds to step 240 where it is determined that it is no longer in the POWER _ ON state. In this case, it will continue through step 318, which determines that it is not in the APPROXIMATE state, to step 320, which it will determine whether it is in the INITIALIZE state. Processing then returns to step 328. This loop continues until the noise level is SILENT. If the noise level is SILENT, step 332 executes, whereby a subroutine construct the point set distance 250 is invoked. The construct point set distance ion routine 250 then executes continuously and the direction subroutine is called (step 330) as long as the noise level is SILENT until numPoints is greater than or equal to the constant MINFIT _ POINTS (step 334). The execution of the construct set of points distances is necessary because all values in the set of points are cleared when the vehicle ignition is turned off. Clearing the values of the point set each time the vehicle is shut down allows the compass system to quickly re-approximate if a new driver subsequently enters the vehicle and moves the position of the mirror housing 144 in which the magnetic sensor may be installed.
[0189]Once a sufficient number of points in the set of points have been obtained, the processing circuitry proceeds to step 336 where the adjust best fit points and adjust best fit radius subroutine is invoked. Then, in step 338, processing circuitry calculates the current approximate center point (sc)xs,scys,sczs) And the point currently stored in the NVM 112. If the difference between these points exceeds the variable center shift limit set in step 296 (step 340), the processing circuitry sets a refit flag TRUE in step 342 before continuing to perform step 300 where the currently calculated approximate center point and radius are stored in the NVM 112 to cover previously stored approximate data. Processing then proceeds to step 302 where the processing circuit enters the LEARN state. If, in step 340, the processing circuitry determines that the difference between the currently calculated approximate center point and the point previously stored in the NVM 112 does not exceed the variable center shift limit, the processing circuitry proceeds to step 302, skipping steps 342 and 300. In step 302, the state is set to LEARN and the direction subroutine is called in step 304. After the direction subroutine, processing returns to step 200 in the compass flow control routine or a new rawMagPoint is obtained and processed. Control then passes to step 322 where it is determined that the processing circuit is in the LEARN state. The processing circuit then proceeds to step 350 (fig. 12C) where it determines whether the value noise level is SILENT. If not, the direction subroutine is called in step 352, where the vehicle direction will be updated if the noise level is QUIET, otherwise the direction will not be updated and the routine will return to step 200 to process the new rawMagPoint and subsequent rawMagPoint until the noise level is SILENT. Once the noise level is SILENT, the processing circuit executes step 354, where it calls the UpdateAngleBucket routine 356 illustrated in FIG. 18.
[0190] The update angle buckets subroutine 356 is used to establish a number of angle buckets corresponding to the TOTAL number of POINTS in the set of POINTS, which number is stored in the constant TOTAL _ poits. When the total number of points is twelve, for example there are twelve angular buckets, each corresponding to a mutually exclusive 30 ° segment of a 360 ° circle. The angle buckets are designated as linear arrays of the form angleBucket [1] to angleBucket [ TOTAL _ POINTS ]. Thus, for example, angleBucket [1] would correspond to an angle of 0 to 29, angleBucket [2] would correspond to an angle of 30 to 59, and so on. The more angle buckets that are present, the smaller the angular range to which the angle buckets correspond. Conversely, the fewer angle buckets, the greater the range of angles associated with each angle bucket. The values stored in the angle bucket array correspond to the indices of the associated Point indices stored in the Point set. If a "0" is stored in the angle bucket, this indicates that no relevant point in the set of points is stored in that particular angle bucket. As will be described further below, if negative values are stored in the angle bucket, this means that the Point set Point index whose index corresponds to the negative absolute value stored in the angle bucket has an angle associated with the further angle bucket, but the further angle bucket is already full. Note that only one point is allowed to be associated with any one angle bucket. This ensures that the points are properly spaced around the circumference of the approximate circle. The goal is to fill each angular bucket with a different and single point in the set of points, where each angular bucket has a positive value.
[0191]An orientation angle phi associated with each sensor data point in the current sample point setsPreferably to arrange the points in an order starting with the point with the smallest relevant direction angle and ending with the point with the largest relevant direction angle. The angles should be expressed modulo 360 deg., with angular increments of 0 deg. being considered that they would normally have compass readings. Other units such as radians or customary units may be used to represent angle measurements.
[0192]The first step in the update angle bucket subroutine 356 is to zero all angle buckets (step 358). This allows the angle bucket to be reassigned to a point in the set of points. Then, in step 360, the angle φsThe first Point in the pair of points (i.e., Point 2;)1]) Is calculated and phisThe value of (c) is used to identify which angle bucket this point corresponds to. Then, in step 362, the processing circuit determines whether the selected angle bucket has a "0" value. If so, the index of the point in the point set is stored in the angle bucket (step 364). For example, if the first Point is Point [1 ]]Then the index value "1" is stored in the selected angle bucket. Then, in step 366, it is determined whether there are any additional points in the set of points to assign to the angle bucket. If so, processing circuit 110 calculates φ to the next point in the set of points sAnd selects a corresponding angle bucket using the angle (step 360). If the selected angle bucket has a "0" value stored therein, the process again proceeds to step 364, where the index of the point in the point set is stored in the selected angle bucket. The process continues until the processing circuitry determines in step 366 that there are no additional points in the set of points to be designated. In this case, the processing circuitry then performs step 368 to determine if there are any stored indices from step 370. If not, the update angle bucket subroutine 356 is complete and processing returns to step 376 (FIG. 12C).
[0193]In the update Angle bucket subroutine 356, if the points in the selected set of points in step 360 have an angle φsSo that the selected angle bucket was previously selected for another point, the value in the angle bucket is no longer "0" and this will be determined in step 362 so that the processing circuitry will then proceed to step 370 where it will store the index of the most recently selected point in the set of points for subsequent use in steps 368 and 374. The routine will then continue to find additional points in the point set in step 372 while accumulating additional indices for any points corresponding to the angle bucket that have been specified. Then, once all points have been specified, processing continues to step 368, where it is determined whether there are any stored indices that already exist in step 370. If so, the processing circuit places the negative of the stored index in an angle bucket that otherwise has a value of zero. Thus, for example, if Point [2 ] ]Has been assigned to angleBucket [5],angleBucket[5]Will have a value of "2" stored therein. Then, if Point [7 ]]With angleBucket [5 ] corresponding to the already stored value "2]Angle phi of the angular rangesA position ofThe key will store the index "7" in step 370, which will be identified in step 368. Processing then places "-7" in one of the unused angle buckets with a value of "0". Note that there is always an angle bucket with a value of "0" because the number of angle buckets corresponds to the maximum number of points that are possible in the set of points. The significance of a negative index number in a non-corresponding angle bucket is discussed further below. Once all points in the set of points have been assigned to the angle bin in some manner, processing returns to step 376 in FIG. 12C.
[0194] In step 376, a determination is made as to whether the current value of numPoints is less than TOTAL _ POINTS. If numPoints is equal to TOTAL _ POINTS, the process proceeds to step 378 where a determination is made as to whether there are any angle bucket entries that are less than zero (i.e., any negative entries). If not, processing proceeds to step 380 where the processing circuitry is set into the LOCK state. The approximate center point and radius are then stored in the NVM 112 (step 382) and the direction subroutine is called in step 384. The process then returns to step 200 (fig. 12A).
[0195] If it is determined in step 376 that numPoints is less than TOTAL _ POINTS or there are any negative values stored in any angle buckets in step 378, the processing circuitry proceeds to step 386 where the build point set angle subroutine 388 shown in fig. 19 is invoked.
[0196]The construct point set angle subroutine 388 is called after the update angle bucket subroutine 356 has executed. However, the construct point set angle subroutine 388 utilizes the newly obtained newMagPoint as input, while the update angle bucket subroutine utilizes only those points stored in the point set. The purpose of the construct point set angle subroutine is to assign newMagPoint to points in the point set, if possible, and to assign new points to angle buckets. The process begins in step 390, where the angle φsCalculated for newMagPoint and used to select a new image having an angle φsAn angle bucket falling within the range of angles therein. In step 392, it is determined whether the selected angle bucket has a negative value stored therein. If so, the processing circuitry looks at the absolute value of the value stored in the angle bucketThe value identifies which point in the set of points is associated with the angle bucket and the X, Y and Z values stored in that point in the set of points are replaced with the X, Y and Z values of newMagPoint (step 394). The processing circuitry further stores a positive value of the index of the replacement point in the selected angle bucket such that newMagPoint is now associated in the particular angle bucket. Processing will then return to step 408 in fig. 12C. If the selected angle bucket does not have a negative value as determined in step 392, a determination is made in step 396 as to whether the selected angle bucket is equal to zero. If it is not equal to zero, meaning that another point has been assigned to the angle bucket, the position of the point in the point set specified in the angle bucket is adjusted in the direction of newMagPoint (step 398) in the manner described above with respect to step 270 of constructing point set distance subroutine 250. Otherwise, if the selected angle bucket is equal to zero, the processing circuit determines in step 400 whether any angle bucket has a negative value. If not, the value of numPoints is incremented, newMagPoint is added to the point set index numPoints, and the selected angle bucket is set to the value of numPoints so that newMagPoint is now associated with the selected angle bucket (step 402).
[0197] If in step 400 the processing circuitry determines that there are some angle buckets having negative indices stored therein, it performs step 404 in which points in the set of points are identified by the absolute value of the negative index stored in the angle bucket and the newMagPoint data overwrites any data previously stored in the identified points in the set of points, and then the index of the rewritten point is stored in the selected angle bucket previously having the value "0". The angle bucket with the negative index then specifies a value of "0". Processing then returns to flow step 408 shown in FIG. 12C, which is a call to calculate fit sphere subroutine 410 shown in FIG. 20.
[0198]The first step in this subroutine is to determine the average θ of all points in the set of pointss(step 412). Theta for each point in the set of pointssBy calculating θ for each point in the set of pointss=arctan(vzs/vxi) To obtain the final product. Should remembersThe angle represents the offset of the X, Y plane of the sensor coordinates. Theta when the X, Y plane is parallel to the earth's surfacesThe offset of the angle will be meaningless.Any tilt of the X, Y plane will result in θsAnd (4) offsetting. Ideally, the circles formed by the points in the point set should all fall in a plane as close as possible to the X, Y plane. In practice, however, each point may have a different Z component sensed by the Z sensing element 108, thereby providing a different θ sThe value is obtained.
[0199]In step 412, an average θ is calculated for all points in the set of pointssThereafter, processing circuitry determines whether numPoints is equal to TOTAL _ POINTS in step 414. If so, average θsThe value is compared to the value LOW _ LIMIT in step 416. If average thetasNot exceeding LOW _ LIMIT, processing proceeds to step 420 where the adjust best fit point and adjust best fit radius subroutines are invoked before returning to step 430 (FIG. 12C). Otherwise, processing proceeds to step 418, where radius rs is approximatedsrSet to a constant MIN RADIUS. Subsequently, in step 420, the adjust best fit point subroutine is called and processing returns to step 430 in FIG. 12C.
[0200]If numPoints's value is not equal to TOTAL _ POINTS in step 414, processing circuitry determines in step 422 whether numPoints ' value is greater than or equal to value FIT _ POINTS, which may be, for example, eight when TOTAL _ POINTS ' value is twelve. If the value of numPoints is greater than or equal to FIT _ POINTS, the processing circuitry determines θ in step 424sIs greater than the value MED _ LIMIT. If not, processing returns to step 430 in FIG. 12C, otherwise processing proceeds to set approximate radius rsxsrMIN RADIUS step 418 and the adjust best fit point and adjust best fit RADIUS subroutine is called in step 420 before returning to step 430. If the value of numPoints is not equal to TOTAL _ POINTS and does not exceed FIT _ POINTS, processing circuitry determines the average θ in step 426 sWhether the value HIGH _ LIMIT is exceeded. If average thetasThe process proceeds to step 430 in fig. 12C without exceeding HIGH LIMIT, otherwise it first performs steps 418 and 420 before returning. As will be apparent to those skilled in the art, the average θsThe different limits of (2) apply depending on the number of point concentration points. The more points, the lower the allowable limit. In this case, the radius of the sphere is too large because the points of the set of points form a ring that is too far from the equator of the sphere (i.e., the radius of the sphere is greater than the radius of the circle in which the points are centered). By reducing the sphere RADIUS to MIN RADIUS, the circle RADIUS of the circle of points will then fit within the circle of points on the sphere and the size of the sphere is reduced. The smaller the sphere, the more likely the point of the point set will fall near the equator of the sphere, which is desirable. Subsequently, the adjust best fit point and adjust best fit radius subroutine will move the radius and center back to the point circle if not already there. The different restrictions used in steps 416, 424, and 426 may be, for example, LOW _ LIMIT of 5 °, MED _ LIMIT of 10 °, and HIGH _ LIMIT of 20 °.
[0201]Referring back to FIG. 12C, in step 430, processing circuitry finds the point set vexsrIs measured. If the maximum value ve xsrBeyond vErrXrLimit (step 432), the processing circuitry calls a reset point set subroutine 436 in step 434. The reset point set subroutine 436 is shown in fig. 21 and begins at step 438 where the refit flag is set equal to TRUE. Then, in step 440, each point in the set of points is reset to zero. Processing then returns to step 442 in FIG. 12C, where the state of the processing circuitry is set to INITIALIZE and processing returns to step 200 to begin re-accumulating points of the point set.
[0202]If in step 432 the maximum value vexsrWithout exceeding the limit, processing circuitry determines in step 444 whether the value of numPoints is less than FIT _ POINTS. If numPoints is less than FIT _ POINTS, the direction subroutine is invoked in step 446 before returning to step 200 in FIG. 12A. However, if numPoints is equal to or greater than FIT _ POINTS, processing circuitry calculates the current approximate center point (sc) in step 448xs,scys,sczs) And the approximate center point currently stored in the NVM 112. If the difference is greater than the center shift limit (step 450), the processing circuitry proceeds to step 452 where it saves the nearest approximate center point and radius in the NVM 112 by overwriting the previous approximate data before executing the direction subroutine in step 446 and then returning to step 200.
[0203] If the difference between the approximate center points does not exceed the center shift limit, the processing circuitry checks in step 454 if the refit flag is set to TRUE. If not, processing proceeds to step 446 where the direction subroutine is invoked, before returning to step 200. Otherwise, if the refit flag is TRUE, the refit flag is then set to FALSE in step 456 and the most recently obtained approximate center point, and radius, the approximate data in NVM 112 is overwritten in step 454. Again, after step 452, the direction subroutine 446 is called before returning to step 200.
[0204]If the processing circuit is set in the LOCK state, this will be determined when it has not positively responded to a determination of whether it is in any other state, as it flows through the compass flow control routine 200 shown in FIG. 12A. Thus, the process will proceed to step 470 in FIG. 12D, where a determination is made whether the noise level is SILENT. If not, the process calls the direction subroutine in step 472 before returning to step 200 in FIG. 12A. This will continue until the noise level is SILENT, in which case step 474 will be performed, with the update angle bucket subroutine 356 being called. Subsequently, the construct point set angle subroutine 388 will be called in step 476, and then the calculate fit sphere subroutine 410 will be called in step 478. Again, points concentrate points ve xsrWill be determined in step 480, and the maximum value vexsrWill be compared to verrrxrlimit in step 482. If the maximum value vexsrBeyond this limit, the processing circuit will proceed to step 486 where the reset point set subroutine 436 will be called before returning to step 200 in FIG. 12A, and then enter the INITIALIZE state at step 488.
[0205]If the maximum value ve in step 482xsrWithout exceeding the limit, the processing circuit performs step 490, where it calculates the difference between the current approximate center point and the approximate center point currently stored in the NVM 112. If the difference between these points exceeds the center shift limit in step 492, the nearest approximate center is reached before the direction subroutine is executed in step 494 and then returned to step 200The point and radius are stored in the NVM 112 in place of the previous approximation data (step 496). If the difference between the approximate center points does not exceed the center shift limit, step 496 is bypassed and the direction subroutine is called in step 494 before returning to step 200.
[0206] Slight variations of the above method are described below. Fig. 35 shows a circle with twelve angular buckets, each defined by a unique 30 arc. Points are added to the angle bucket in the following manner.
[0207] If the target angle bucket already contains a point, then the existing point is modified by moving it in the direction of the new point.
[0208] If the angle bucket is empty, then the adjacent angle bucket is tested. If any one of the neighboring buckets contains an irrelevant point (defined as a point belonging to another angular bucket), the irrelevant point is removed from the neighboring bucket and a new point is placed in the target angular bucket.
[0209] If the adjacent bucket is correctly filled, then all buckets are tested to see if one contains an irrelevant point. If an irrelevant point is found, it is removed and a new point is placed in the target angle bucket.
[0210] If no irrelevant point is found, then the new point is added to the set of points and to the target angle bucket.
[0211]Whenever the set of points is modified, a new approximate sphere is calculated. If there are less than 12 points and the number of full angular buckets is eight or more, then the difference between the new approximate sphere and the approximate sphere stored in the NVM is calculated. If the difference is greater than the radius of the storage sphere1/4Then the new approximate sphere is stored in the following way:
[0212] the new approximate sphere radius is averaged with the previous eight radii to determine the approximate sphere radius that is stored into the NVM.
[0213] If the number of full angular buckets is eight or less, then the approximate sphere center point saved to NVM is calculated by taking the difference between the new approximate sphere and the sphere stored in NVM, dividing the difference by eight, and then adding it to the sphere stored in NVM. This has the effect of moving the old NVM center point towards the new approximate center point 1/8 by the distance between the two center points.
[0214]3. If the number of full angle buckets is nine, then the distance traveled is poor1/4。
[0215]4. If the number of full angle buckets is ten, then the distance moved is poor1/2。
[0216] And, if the number of full angle buckets is eleven or twelve, the new approximate sphere center point replaces only the old center point stored in the NVM.
[0217]The modification of the approximate sphere stored in NVM can only occur after a new point is added to the point set, as long as the number of points in the point set remains less than 12. Once the approximate sphere in the NVM has been updated, new points must be added before the NVM can be modified again. In other words, if there are eight points in the set of points and the new approximation sphere is greater than the radius from the stored approximation sphere1/4Then the update to the memory sphere will occur in a specified manner. No additional NVM updates can occur until the number of points in the set of points becomes nine or more, even if the interval becomes greater than the radius 1/4. Once all 12 points in the set of points are specified, the constraint is no longer appropriate. The first occurrence of a twelve full angle bucket will automatically trigger copying to NVM as described above, but only if the interval becomes larger than the radius1/4Then (c) is performed.
[0218] While the electronic compass of the first embodiment of the present invention is generally described as having three sensing elements, the various aspects and combinations of aspects discussed above represent new improvements to compass circuits having only two sensing elements. Thus, the invention is not limited to a system with three sensing elements.
[0219] Two-dimensional or three-dimensional compass compensation techniques are designed to correct compass errors due to hard and soft magnetic field effects. These errors, while often large, are typically very slow and are therefore adequately corrected by using various adaptive algorithms. Vehicle yard changes may be caused by external sources such as railway lines, power cords, car washes, roof antennas, and the like.
[0220] There is often a trade-off between speed of adaptation and stability of the calibration point-defined as the point at which the compass is considered to compensate correctly. The method discussed above and in U.S. patent application publication No. 2003/0167121 a1 provides rapid compensation with minimal loss of stability.
[0221] Any non-stationary compass sensor, such as a sensor located in a moving vehicle, will experience dynamic effects of pitch and roll. In contrast to the more static hard and soft magnetic field effects, pitch and roll result in continuous errors that are most often not corrected for on-road vehicles due to cost and signal processing limitations. The use of pitch and roll sensors is common practice in the art where more accurate directional information is required. In particular, it is common practice in aviation and marine electronic compass designs to provide electronic gimballing by using two additional sensors-one to measure the pitch of the compass and the other to measure roll. Electronic gimbals correct compass direction errors in real time due to sensor pitch and roll. Commonly assigned U.S. patent No. 6,140,933 discloses the use of a magnetic inclinometer in an automotive compass to correct for tilt of a mirror housing in which the sensor is mounted.
[0222] Finally, in the case of a magnetic field sensor located in a mirror housing where the change in housing tilt is a static bump and/or roll change, there may be a static effect of bump and roll. Given sufficient time, most adaptive compass compensation techniques will provide some level of correction for errors associated with such static pitch/roll changes. This is the case in particular with three-axis compasses, since a tilting of the sensor away from the horizontal would lead to a large displacement of the sensing magnetic field in the horizontal and vertical directions. If the event can be detected quickly, it can be corrected quickly, such as that taught above and in U.S. patent application publication 2003/0167121A 1.
[0223] If a static change in pitch and/or roll occurs for a two-axis compass, a reasonable correction can be achieved by modifying the compass compensation, often referred to as its calibration value, by the difference between the field experienced before the static change occurs and after the static change occurs, as disclosed in U.S. Pat. Nos. 6,023,299, 6,140,933 and 6,418,376. However, for a three-axis compass, updating the calibration values by an amount that measures the change may in some cases result in an increase in directional error rather than a minimization of error. If a position sensor is available, another technique must be found to update the compass calibration once a change in sensor position is detected.
[0224] The prior art has taught to use position detectors to determine that a static change in sensor pitch/roll has occurred. Similarly, electronic gimbal is a well understood technique to correct for dynamic changes in sensor pitch/roll. A viable pitch/roll sensor is manufactured using an analog device ± 2g biaxial accelerometer, ADXL 202E. Additional benefits may be obtained by appropriate screening to obtain dynamic and static pitch/roll changes, allowing correction of directional errors due to dynamic changes in pitch/roll, and compensation for changes due to static changes in pitch/roll.
[0225] Fig. 36 and 37 show the effect of a 10 ° tilt of the sensor near the y-axis for two different geographic locations.
[0226] The table below includes the upper two positions and shows the other three.
| Position of | Main field | Tilting | Horizontal field (radius) |
| Jelonekf | 596.5mG | 81.6 degree | 87.0mG |
| Herba Lycopi | 559.5mG | 71.0 degree | 182.3mG |
| Sydney | 574.2mG | -64.5 degree | 247.6mG |
| Taibei | 451.9mG | 36.4 degree | 363.9mG |
| Singapore | 421.6mG | 15.8 degree | 405.6mG |
[0227] The aim is to determine a new calibration point, C1, given the existing calibration point, C0, and two points, P0, obtained immediately before the shift, and P1, obtained immediately after the shift. Calculating the actual value of C1 would be a simple problem if the main field and tilt were known. However, only the horizontal field R is known. There is no knowledge of the geographical location of the compass and therefore the main field and tilt are not known. Fig. 38 shows what is known.
[0228] Using C0, P0, and P1, then the following vectors can be defined.
A=(P1x-C0x,P1y-C0y,P1z-C0z) And
B=(P1x-P0x,P1y-P0y,P1z-P0z) Wherein
C0=(C0x,C0y,C0z),P0=(P0x,P0y,P0z),P1=(P1x,P1y,P1z)
[0229] A unit vector in the direction of the vector a is defined as N ═ a/| a | and a projection of B in the a direction is p ═ (a · B)/| a |. Then the point C1' ═ C0+ pn. Substitution gives the solution C1' ═ C0+ (a · B)/| a | | | a |.
[0230] Alternatively, if the radius R is also known, the unit vector may be defined as U ═ a/| a |, in the-a direction, resulting in C1 '═ P1-R |, U, or C1' ═ P1-R |, a/|.
[0231] In summary, there are three approaches:
method 1, shift method: c1 is determined by the vector defined by P1 and P2 from C0, giving C "
Method 2, projection: c1 ═ C0+ (A. B)/| | | | A | non-woven hair
Method 3, radius method: c1 ═ P1-R A/| A |
[0232] Only method 1 is described in the preceding teachings. Method 3 is the most accurate but requires that R be known either by obtaining the magnitude of the vector defined by P0 and C0, or by some other method such as that described above and in U.S. patent published application No. 2003/0167121 a 1. Likewise, method 3 requires square root to determine | A |, and square root need not be to calculate | A | | A |.
[0233] In this example, the rotation is around the y-axis, so the value of y does not change. Thus, the Point coordinates shown are Point ═ x, z, and P1 results from a 10 ° rotation.
| Position of | C0 | P0 | P1 | Expectation of C1 | Length of vector |
| Jelonekf | (0.0,-590.1) | (87.0,-590.1) | (188.1,-566.1) | (102.5,-581.2) | 102.9 |
| Herba Lycopi | (0.0,-528.9) | (182.3,-528.9) | (271.4,-489.3) | (91.9,-520.9) | 92.2 |
| Sydney | (0.0,518.0) | (247.6,518.0) | (153.9,553.2) | (-90.0,510.2) | 90.3 |
| Taibei | (0.0,-267.9) | (363.9,-267.9) | (404.9,-200.7) | (46.5,-263.9) | 46.7 |
| Singapore | (0.0,116.0) | (405.6,116.0) | (379.3,184.7) | (-20.1,114.2) | 20.2 |
[0234] The newly calculated calibration point C1 'is displayed from each method along with the magnitude of the vector between the desired point C1 and the calculated point C1'. This magnitude error is compared to the length of the desired vector defined by points C0 and C1 to obtain a percent error.
| Position of | Method 1C' (x, z) | Error (mG) | Error% | Method 2C' (x, z) | Error (mG) | Error% | Method 3C' (x, z) | Error (mG) | Error% |
| Jelonekf | (101.1,-566.1) | 15.2 | 15% | (102.5,-577.0) | 4.2 | 4% | (101.8,-577.1) | 4.1 | 4% |
| Herba Lycopi | (89.1,-489.3) | 31.7 | 34% | (92.9,-515.3) | 5.6 | 6% | (91.0,-515.6) | 5.4 | 6% |
| Sydney | (-93.7,553.2) | 43.2 | 48% | (81.4,499.4) | 13.8 | 15% | (-87.5,498.0) | 12.5 | 14% |
| Taibei | (41.0,-200.7) | 63.4 | 136% | (50.7,-259.5) | 6.1 | 13% | (45.9,-260.3) | 3.7 | 8% |
| Singapore | (-26.3,184.7) | 70.8 | 350% | (-13.4,113.6) | 6.7 | 33% | (-19.8,112.4) | 1.8 | 9% |
[0235] Clearly, methods 2 and 3 are significant improvements over method 1.
[0236] If pitch and roll sensors are available, the outputs of these sensors can be used to correct the dynamic as well as static tilt of the compass sensor. Fig. 38 is a block diagram of such a circuit, which may be connected to the microprocessor of the compass processing circuit 110.
[0237] Again, Analog Device ADXL202E is one possible two-axis tilt sensor 900 that can convert acceleration into tilt. Reasonable values are R1 ═ 125k Ω, R2 and R3 ═ 425k Ω, C1 and C2 ═ 0.47 μ F, and C3 and C4 ═ 4.7 μ F. These values are selected for stable operation and match the screening characteristics applied to the magnetometer data. So, in time, any measured pitch or roll error will match the corresponding measured magnetic field.
[0238] Accelerometers are most sensitive to tilt when their sensitive axis is perpendicular to gravity (parallel to the earth's surface). Once the output signal from the accelerometer has been converted to an acceleration varying between-1 g and +1g, the output in degrees is calculated by:
pitch=asin(Ax/1g)
roll=asin(Ay/1g)
[0239] Measured pitch and roll can be included in the methods taught above and in U.S. patent application publication No. 2003/0167121 a 1. Coordinate rotation back to the earth's surface is performed using the measured pitch and roll angles, immediately after calculating the average magnetic field (after the noise filter), and before updating the points in the point set or determining the current direction.
[0240] Using the right hand coordinate system and defining the right hand rotation as a positive angular rotation, the following formula is used to perform the coordinate transformation, where the filtered magnetometer points are (Hx, Hy, Hz), and then the points rotated back to the earth's plane are:
Hex=Hx*cos(pitch)-Hy*sin(roll)sin(pitch)-Hz*cos(roll)sin(pitch)
Hey=Hy*cos(roll)-Hz*sin(roll)
Hez=Hx*sin(pitch)+Hy*sin(roll)cos(pitch)-Hz*cos(roll)sin(pitch)
[0241] the second embodiment of the present invention has several similarities with the first embodiment. For example, the same hardware may be used to implement both embodiments. A specific example of the second embodiment is described below, but differs in that it uses only X and Y axis sensors and draws a two-dimensional approximate geometric pattern. However, the second embodiment described below may be modified to include a third sensor and/or to operate the sensor in three dimensions.
[0242] Like the first embodiment, the second embodiment derives the vehicle direction using an approximate geometric pattern that is a best-fit pattern determined through several iterations. When data is obtained from a magnetic sensor, the data is first processed to determine whether the data points are stable. The stable data points are then processed to generate a list of reference data points maintained in the reference list, with the most recent reference data point at the top. When older reference points are revisited, they move to the top of the list. So stale points are discarded from the bottom of the stack as further explained below. The reference points are used to determine a best fit geometric approximation pattern and thus calibration points for determining vehicle direction. The approximate geometric pattern is calculated over several iterations based on the X and Y values of the reference points, the assumed radius R, and the ellipse constant K used to allow the approximate geometric shape to be a circle or an ellipse. Once the best-fit approximation pattern is determined (i.e., the pattern that provides the lowest error scale value), the error scale is used to determine the confidence level. The confidence level may additionally be determined based on the number of reference points in the list and the distance and/or time the vehicle has traveled. As explained further below, the confidence level is then used to set a threshold that determines whether the magnetic data points just read are stable enough to be used as a reference point for subsequent calibration of the compass system. The confidence level may also be used to determine whether a stable magnetic data point can be added to the reference list or averaged with a point already present on the list. The details of this process are further described below with reference to the remaining figures.
[0243] The main process flow diagram of a specific example of the second embodiment is shown in fig. 22A. The main process 500 begins with step 502 of hardware initialization. This includes initialization of I/O, memory, magnetometer and display. Then, in step 504, the processing circuit 110 (fig. 3) of the compass circuit 100 determines whether the data stored in the non-volatile memory (NVM)112 is valid. If not (as is the case when initially starting up in a new vehicle), the process proceeds to a recalibration subroutine 506, which is described in detail below with reference to FIG. 22B. Otherwise, if valid data is present in the NVM 112, the processing circuit 110 determines whether enough reference points (e.g., four or more reference points) have been accumulated and stored for a good calibration solution. If not, the recalibration sub-routine 506 executes. Otherwise, the process proceeds to step 510, where event-driven and background tasks are initiated. When the process returns from the recalibration routine 506, the process also proceeds to step 510. The events and background tasks performed during step 510 include a magnetic field processing task (fig. 22C), a stable point processing (fig. 22D), and a display update task (fig. 22E). These tasks are described further below.
[0244] After the event-driven and background tasks are executed, the processing circuit 110 proceeds to step 512, where it executes any idle tasks or routines. Such idle tasks or routines are described below with reference to fig. 22F and 22G and include a process of identifying a best-fit geometric approximation pattern.
[0245] Steps 510 and 512 are performed continuously as long as the vehicle ignition remains on. Once the vehicle ignition is turned off, the process begins at step 502. Thus, the recalibration subroutine 506 will be executed only after the vehicle ignition is activated.
[0246] As shown in FIG. 22B, the recalibration subroutine 506 starts at step 520, where the number of learned reference points is set to zero. This allows the latest calibration solution to be based on the new reference point. This may be significant when the magnetic sensor is mounted in the mirror housing, as a new driver may have entered the vehicle between ignition cycles and tilted or rotated the mirror housing. Another advantage is discarding transient data obtained when a vehicle is traveling off an assembly line during manufacturing.
[0247] Next, in step 522, processing circuit 110 sets the error metric to a high value. This is performed to ensure that the confidence level is low to reduce the threshold requirement that the magnetic data points qualify as reference points, which in turn provides a faster list of reference points to be used to calibrate the compass system.
[0248] In step 524, processing circuitry 110 sets the variables to default values, for example, sets the assumed radius R and the ellipse constant K to default values. In a preferred implementation, the radius is set to 200mG and the ellipse constant is set to K128. The manner in which these variables are used is described further below.
[0249] Then, in step 526, the information is written to the NVM 112. Such information may include the current values of the radius and the ellipse constant, and may also include the number of data points and the error scale value. Subsequently, the recalibration routine 506 is complete and the process returns to step 510 of the main process 500 shown in FIG. 22A.
[0250]As described above, one of the event driven and background tasks performed in step 510 of the main process 500 includes the magnetic field processing task 530 illustrated in FIG. 22C. The magnetic field processing tasks 530 are performed at a periodic sampling rate of, for example, 4-20 Hz. As shown inThe first step in this process is to read data from the magnetometer sensors 532. The raw data is then filtered and the average of the x and y values and the second derivative are calculated in step 534. In particular, in this process, the raw data x and y are filtered for value (x)fAnd yf) The calculation is as follows:
xf=(x+xavg)/2
yf=(y+yavg)/2
wherein x in the above two formulas avgAnd yavgIs a previously calculated moving weighted average calculated as follows:
xavg=(xf+xavg*6)/7
yavg=(yf+yavg*6)/7
then, the new first derivative dxnewAnd dynewThe following calculations were made:
dxnew=xf-xavg
dynew=yf-yavg
second derivative d2x and d2y is calculated as follows:
d2x=dxnew-dxprev
d2y=dynew-dyprev
wherein dxprevAnd dyprevIs the first derivative of the previous calculation. When the above calculation is completed, dxnewAnd dynewThe values of (are then stored in dx respectivelyprevAnd dyprevAnd average value xavgAnd yavgUpdated using the above formula to contain the newly screened data point.
[0251] Then, in step 536, the processing circuit 110 evaluates the confidence level of the existing set of reference data points. As discussed above, the confidence level is determined as a measure of error, with reference to a function of the number of data points in the data point set, and possibly also a function of the distance traveled and/or the vehicle's run time. More specifically, if the number of reference points in the reference list is less than or equal to a specified number (e.g., 4 points) or the average error is greater than a first threshold (e.g., 8000), the processing circuit 110 sets the confidence level to LOW. The average error is a measure of how well the approximate geometric pattern fits the current data set, and is described in more detail below in conjunction with fig. 22G. If neither of the two conditions specifying the LOW confidence level are met, the processing circuit 110 determines whether the number of reference data points in the reference list is within a predetermined range (e.g., 5-6 points) or whether the average error is greater than a second threshold (e.g., 4000) and less than the first threshold. If either condition is true, the processing circuitry sets the confidence level to MEDIUM. If neither the condition specifying a LOW or MEDIUM confidence level is true, the processing circuitry sets the confidence level to HIGH.
[0252] Based on the confidence level, thresholds are then set for time delay, point separation, determining whether the raw data is noisy, moving, and vehicle stability in step 538. For example, if the confidence level is LOW, the noise threshold is set to 25mG and the time delay is set to 2 seconds, if the confidence level is MEDIUM, the noise threshold is set to 15mG and the time delay is set to 6 seconds, and if the confidence level is HIGH, the noise threshold is set to 5mG and the time delay is set to 8 seconds. The time delay is used to ensure that the data is stable enough to be used as a reference point, so that the higher the confidence level in the solution of the existing reference point, the more difficult it becomes to replace the existing reference point. Also, the lower the confidence level, the faster the system will acquire and accept new reference points to compute a solution with a higher confidence level. The threshold for determining whether the vehicle is moving may be a fixed value, such as 2mG, or may be a variable as a function of the confidence level. When determining whether the data has been below the noise threshold for a sufficiently long period of time to be considered stable, the time delay may be used in a similar manner as used in the previous embodiment in connection with fig. 13. The threshold of point spacing based on confidence level is further described below in connection with step 552 in FIG. 22D.
[0253] In step 540, the processing circuit 110 calculates a noise level. The noise level is calculated as follows:
noise level equal to SQUAREROOT [ ("d2x)2+(d2y)2]
Since the computation of the square root function is a time consuming process for a low cost processor, a similar, but less time consuming result can be achieved by estimating the square of the noise level. Alternatively, the noise level may be calculated using a root mean square or a mean square error. For example, the noise level may be set equal to1/2log[(d2x)2+(d2y)2]。
[0254] In step 542, the processing circuit 110 determines whether the vehicle is moving based on the calculated noise level and the threshold determined above in step 538. Thus, if the vehicle is considered to be moving, if the noise level exceeds a threshold (e.g., 2 mG). The noise signature may be different for each vehicle model, and if the vehicle model is known in advance, the noise threshold used in connection with the vehicle in which the compass is installed may be factory pre-loaded after installation or prior to installation. The processing circuit 110 may perform known digital signal processing techniques for characterizing when noise is attributable to vehicle movement. Also, the processing circuit may require the noise level to exceed the threshold for a predetermined time, such as 2 seconds. Then, in step 544, processing circuit 110 determines whether the direction is stable based on whether the noise flag is set. The noise flag is first set when the calculated noise level exceeds the established noise threshold and remains set until the noise level falls below the noise threshold and remains below the threshold for an established time delay.
[0255] In step 546, the processing circuitry determines whether the vehicle is moving, whether the data is stable, and whether the data is noisy. If each of these conditions are true, the processing circuit 110 executes a stable point processing subroutine 548. Otherwise, the magnetic field processing subroutine 530 terminates and the controller returns to the main process 500. The noise level and average are compared to a threshold to determine if the data is noisy. A countdown timer starts when noise or motion is sensed. Any loss of noise or stability will reset the counter in a similar manner as described above with respect to fig. 13.
[0256] The stable point processing subroutine 548 is generally illustrated in FIG. 22D. As shown in fig. 22D, the first step in the subroutine (step 550) is to find the closest and second closest points contained in the list of reference points to the stable data points obtained in the magnetic field processing subroutine 530. Then, in step 552, the processing circuit establishes a minimum spacing for the new data point based on the confidence level, the current radius, and the number of points included in the list of reference points. Conditions that favor larger minimum spacing include high confidence levels, large radii, and a large number of reference points in the list. As an example, the minimum interval may be set to the current radius/3 (typically about 67mG) for a LOW confidence level, the minimum interval may be set to the current radius/2 (typically about 100mG) for a MEDIUM confidence level, and the minimum interval may be set to the current radius × 3/4 (typically about 150mG) for a HIGH confidence level. Then, in step 554, the processing circuitry determines whether the separation distance between the closest point in the reference list and the new stable data point is greater than the minimum separation established in step 552. If the distance is greater than the minimum separation, the process proceeds to step 556, where a new stable data point is added to the reference list as a new reference point. Since it is preferable to store the most recent reference point at the top of the list, each reference point is moved down one position in the memory stack, and if the memory stack overflows, the last reference point is deleted. Otherwise, each of the previous reference data points is maintained. Then, in step 558, a new data point is added to the top of the stack and the list of reference points is stored in the NVM in step 560, which returns to the main process 500 before returning to the magnetic field processing subroutine 530.
[0257] If, in step 554, the processing circuitry determines that the distance between the closest point and the new data point is not greater than the minimum spacing requirement, the processing circuitry determines in step 562 whether the closest data point is already at the top of the list of reference points. If so, the process proceeds to step 568. Otherwise, steps 564 and 566 are performed first. In step 564, processing circuitry rearranges the stack to move the nearest reference point to the top of the stack. In step 566, the NVM flag is set to indicate that the NVM write will be subsequently needed.
[0258] In step 568, the processing circuitry determines whether the second closest point is too close to the new data point. This may occur if the second closest data point is in a fixed distance (e.g., 75mG) from the new data point or in a distance defined as a function of the minimum separation (e.g., the current value of the minimum separation) and/or radius. One reason for not averaging such points together is that the S-curve may cause the two points to be pulled together causing lost resolution. Thus, if the second closest point is too close, the process proceeds to step 572. Otherwise, if the second closest point is not too close, the processing circuitry first performs step 570 before proceeding to step 572. In step 570, the current data point is averaged with the nearest point now at the top of the stack, and the average is put back to the first position in the stack.
[0259] In step 572, the processing circuitry determines whether the NVM flag has been set or the point at the top of the stack has moved a minimum number of milligauss. NVM markers are used to minimize the number of writes to the NVM to extend the life of the NVM. If either of these conditions is true, the processing circuitry writes to NVM in step 560 before returning, otherwise it simply returns to the main process routine 500 without writing to NVM. The minimum number of milligauss points to move is, for example, 30 milligauss.
[0260] The process disclosed in fig. 24D is performed each time a stable data point is acquired such that the reference point list is continuously updated with the most recent data. This ensures that the calibration of the compass will be continuously updated using the most recent stable reference point.
[0261] An additional event-driven and background task performed in step 510 of the main process routine 500 is the update display subroutine 580 shown in FIG. 22E. This subroutine is preferably performed on a periodic basis, e.g., every two seconds, using a short-term average of the data. Long term averages may be used to provide more screening.
[0262] The update display subroutine 580 begins with a determination in step 582 as to whether enough reference points have been obtained for a good solution. If, for example, enough reference points (e.g., 4 points) have not been obtained to ensure accurate calibration, the displayed orientation is not updated. Once a sufficient reference point has been obtained, the process proceeds to step 584, where the processing circuitry determines whether a noise flag is set. If the noise flag is set, the system does not update the directional display with noisy data. Thus, the display is not updated until it is determined in step 584 that the received data is no longer noisy. Next, in step 586, a determination is made as to whether the average is positioned too far from the approximate geometric pattern. If the average is too far from the approximate geometry, the direction is not updated. On the other hand, if the average is close enough to the approximate pattern, the process proceeds to step 588. Typical ranges of acceptable distance from the perimeter of the approximate geometric pattern are 0.5R and 1.5R. Alternatively, the error formula in the find best fit ellipse routine 604 may be used only at that point, and the value compared to a predetermined threshold.
[0263]In step 588, the vehicle direction is calculated from the calibration point to the average of the most recent data. This is done as is generally known in the art by averaging the Δ Y values (Y) of the data pointsavg-ycal) Multiplication or division by the value of K/128 and then calculation of the arctan. The newly calculated direction is then displayed in step 590 and the process returns to the main process routine 500.
[0264] The idle task performed in step 512 of the main process routine 500 is described below with reference to fig. 22F and 22G. In particular, as shown in FIG. 22F, a first step 600 is to determine if there are enough reference points to store in the reference list for a good solution. Again, in a preferred embodiment, four data points are generally sufficient for a good solution. If there are not enough reference points, the process returns to the main process routine 500 and the process continues until sufficient reference points are obtained for a good solution. When sufficient reference points are obtained, step 602 is performed, wherein the critical variables are copied to the temporary working copy. For example, this would include a list of reference points, the radius of the best-fit geometric pattern, the elliptical constant K of the pattern, and a working copy of the center calibration point of the pattern. The find best fit ellipse routine 604 then executes. The find best fit ellipse subroutine 604 is further described below with respect to FIG. 22G.
[0265] The best fit process 604 begins by setting the best error scale value to a high value, e.g., 10,000 (step 606). An initial estimate of the calibration center point with respect to the approximation circle is then made by calculating the average X and Y values of the reference points stored in the reference list (step 608). Initially, the default radius value R is used 200mG (step 610) and the default ellipse constant K is used 128 (step 612). A preferred implementation of the second embodiment uses the following formula to define the approximate geometric pattern:
(xavg-xcal)2+(K/128(yavg-ycal))2=R2
[0266]as will be apparent to those skilled in the art, the above formula is a circular formula, except that an elliptical constant is introduced to the value of K/128 of the formula. With the initial setting K to 128, the initial guess of the approximate geometry is a circle with a radius of 200mG and the center point corresponds to the average X and Y values of the reference points in the reference list. As indicated in step 614, the exhaustive iterative search is for a center point (x)cal,ycal) Radius R, and ellipse constant K, which results in the lowest error metric and thus provides the best fit to the reference points contained in the reference list. Error values are determined for each reference point and summed to determine an error metric, as illustrated in step 616. More specifically, the error with respect to a particular reference point of the approximate geometry is calculated using the following formula:
Error ═ ABS [ (x-x)cal)2+(K/128(y-ycal))2-R2]
[0267]In step 616, the processing circuitry marks which reference point has the highest error and the amount of error is saved. Then, in step 620, an error metric is calculated by summing the errors from all the reference points. Then, in step 622, the effect of the worst data point is removed by subtracting its error from the error sum. Then, in step 624, the processing circuit determines whether the error sum thus calculated is lower than the optimal error sum obtained so far. If the error is lower than the previous best fit, xcal,ycalThe values of R and K are stored (step 626), proceeding tocal,ycalA determination step 628 of whether all values of R and K have been tested. If not, the process proceeds to step 630, whereby the next set xcal,ycalThe R and K values are attempted by looping back through step 616-628. This looping continues until all values have been tested in step 628, in which case the loop is complete (step 632) and is calculated based on the average error of the best fit algorithm by dividing the sum of the errors for each reference point by the number of reference points in the reference list. This value is used to determine a confidence level as described above. The process then returns to step 634 in the idle routine 512.
[0268]In determining which value is to be tried next in step 630, a preferred implementation first increments the value x by an increment of 10mGcalUp to a value of 400mG above the mean of the x positions of the reference data points, and then subsequently decrementing x in increments of 10mGcalUntil it reaches a value of-400 mG. Then, x is used to obtain the best fit (i.e., the lowest error metric)calValue of (a), ycalIn a similar manner, increments and then decrements. Once these steps have been completed, xcalThe value of (d) is incremented by 10mG in 1mG spacing of the best-fit reference point obtained so far, and then decremented by 10mG in 1mG spacing. X providing the lowest error scalecalIs then stored and when similarly incremented and decremented by y in 1mG incrementscalIt is used when in use. Once the optimum value xcalAnd ycalIt has been determined in this way that the value of the radius R is similarThe manner increments and decrements to obtain the best radius fit. Similarly, the value of K is then incremented and decremented to adjust the ovality of the approximation pattern to obtain a best fit.
[0269] In a preferred implementation, the reference list is limited to eight reference points. However, it should be understood that the number of reference points included in the list may vary depending on the desired resolution and processing speed of the processing circuitry. In general, the more reference points included in the reference list, the longer the processing time will be required to identify the best-fit approximation pattern. Additionally, while presently preferred best-fit algorithms have been described above, other best-fit algorithms that can provide faster and/or stronger approximations may be used.
[0270] After the find best fit ellipse subroutine 604 is complete, the processing circuitry returns to step 634 of the idle subroutine 512 (FIG. 22F). In step 634, the best-fit calibration points, radii, ellipse constants, and error metrics are copied back to the memory locations utilized by the main process routine so that the new solution can be used in calculating and displaying the vehicle direction. In step 636, it is determined whether the calibration point has moved a sufficient amount to justify writing new information to the non-volatile memory. If so, the information is written to NVM in step 638, before returning to the main process routine. Step 636 is performed to limit the number of writes to the NVM to extend the life of the NVM.
[0271]Fig. 23 illustrates certain advantages that may be obtained by practice of the present invention. As shown in FIG. 23, data points A-H represent sequentially acquired reference data points, with data point A being the first acquired reference data point. As described above, these reference points will be stored in a list of up to eight or more reference points. Also as discussed above, the best-fit approximate geometric pattern may be determined from as few as four reference data points. Here, in the example shown in FIG. 23, the first four reference data points A-D result in a calibration point (x) having a center cal,ycal) Approximates pattern M by the best fit of (a).
[0272] When a reference data point E is obtained, it is added to the top of the reference list. However, because reference point E is a significant distance from approximate geographic pattern M, reference data point E may be excluded from those used to iteratively select or reselect, which may be approximate pattern M, as the case may be. The decision whether to exclude the reference data points may be based on an increase in the error metric more than a predetermined threshold or determined by a movement of the calibration center point of the approximation pattern M more than a predetermined distance.
[0273] Subsequently, when the reference data point F is added to the reference list, the reference data point F may also be excluded based on the increase in the error metric created using points E and F. Similar results would apply when obtained with reference to data point G. However, when obtained with reference to data point H, points E-H will constitute a sufficient number of points to guarantee their own solution to best fit the approximation pattern. Thus, at this point, points A-D may be excluded from the solution, or if there are two good approximate patterns for each set of points A-D and E-H, respectively, the two solutions may be stored and subsequently used to determine vehicle direction. The best fit geometric pattern N of best fit points E-H will be utilized because points E-H are the most recently obtained of the eight reference points. Two separate sets of reference lists may then be stored and updated independently when, for example, the situation discussed above occurs. Thus, for example, when additional reference data points are subsequently obtained that best fit the reference data points E-H, the new reference data point will replace the reference data point a in one of the two lists, but not necessarily in the other list. This enables two independent solutions to be stored simultaneously and the one of the two solutions that best fits the nearest reference data point is selected. This scenario is possible when the magnetic sensor is mounted in the mirror housing, two different drivers use the vehicle and adjust the mirror position to two different respective positions. This may also occur when a temporary magnetic vehicle disturbance exists that causes a temporary shift in the position of the acquired data point. Thus, when the reference data points are obtained that more closely fit the first of the two approximation patterns (e.g., pattern M), the system may revert to that first approximation pattern to more quickly accommodate changes in mirror housing position or changes in vehicle magnetism.
[0274] As described above, as the confidence level of the approximate solution increases, the screening threshold for the new reference point increases accordingly. Thus, it may take longer to learn the last few reference points in the reference list, or to replace or modify reference points in the reference list. As a result, the response of the system to any sudden change in sensed vehicle magnetism, such as described above with reference to fig. 23, may not be as fast as desired. By utilizing two separate reference lists, one with a lower screening threshold than the other, the system can learn new reference points more quickly and accommodate such sudden changes in sensed vehicle magnetism.
[0275] When the compass sensor is located near electrically operated equipment in a vehicle, such equipment may generate damaging magnetic fields that cause inaccuracies in the compass sensor readings. While some patents, such as U.S. patent No. 4,953,305, address this problem by continuously recalibrating the compass system, such recalibrations often take too much time to compensate for the damaging effects, and consequently too long to adjust back when the vehicle accessory is no longer operational. Compass systems are disclosed in us patent nos. 5,511,319 and 6,286,222 that receive signals over a wired connection indicating when such destructive equipment is operating so that compass processing circuitry can more quickly compensate for the effects resulting from assembly based on predicted changes to the sensed magnetic field as a result of the assembly operation. However, such predictions are difficult to make accurately, and thus compass sensor readings may not be accurate when such vehicle equipment is operated. For example, damage can be caused by variations in load resistance, manufacturing variations, battery voltage fluctuations, sensor sensitivity variations, and mechanical alignment variations. Also, such wired connections are not always possible or practical. For example, not all vehicle assemblies output a signal indicating when they are operating. Furthermore, a controller of a vehicle equipped with, for example, a sunroof or a convertible top does not generate a signal indicating the open or closed state of the sunroof or the convertible top, but generates a signal only during opening or closing (if the sunroof or the convertible top is automatically opened or closed). Particularly recent metal fold-over caps can cause significant changes to the magnetism of the vehicle depending on their open or closed state.
[0276] One other form of vehicle assembly that has recently been added to vehicles that can cause damage to the sensed magnetic field is the use of conductive glass for the vehicle windshield. Such conductive glass comprises a transparent conductive material of many very thin lines or small strips of material having sufficient resistance that when current is passed through the conductive strips or lines, heat is generated to heat the windshield to clear the windshield of snow, ice and fog. A typical on/off signal for such a conductive glass or electronic assembly is shown in fig. 40.
[0277] The present invention solves the problems associated with inaccurate prediction of the effect of these electronic vehicle accessories on the sensed magnetic field using several compensation means. The first of such compensation means is a controller that compensates by modifying the control scheme of the accessory operation in conjunction with timing the compass sampling relative to the on/off signal provided to the vehicle accessory. In particular, as shown in fig. 41, when the power provided to the disruptive vehicle accessory is in a low or off state, the compass will sample at the regular sampling rate indicated above. However, when the destructive vehicle accessory is turned on, the power level of the activation signal increases. However, the present invention contemplates periodically pulsing the vehicle accessory between high and low activation states and scheduling the times that the compass sensor reads during the low power of the periodic activation signal. To achieve this, a signal giving the status of the vehicle accessory will be sent to the compass processing circuit via a simple wire or bus connection. The compass processing circuit 110 will use this signal to synchronize the sampling of the compass sensors. The sampling rate may vary between the on and off states of the accessory. If multiple accessories are used, the processing circuit may receive a separate signal for each accessory or may process the signals to determine when all accessories are off or in a low power cycle. The pulses of the accessories can be synchronized with each other to ensure a sufficient off-time interval for the compass sensor sampling. Various signals to activate vehicle accessories may be sent to the compass processing circuit via a vehicle bus, a local bus, a dedicated line, and/or wireless communication.
[0278] Although the above compensation device is described as being used in conjunction with a conductive windshield, the compensation method may be used to compensate for noise from other vehicle accessories such as fans, blowers, lights, windshield wipers, and the like.
[0279] Another form of compensation means for compensating for the effects of the electric field caused by the electrically conductive windscreen is a window controller which reduces the effects by altering the direction of the current and the portion of the windscreen heated in a periodic alternating manner, or at least configuring or forming a pattern of electrically conductive stripes in the region near the compass sensor, such that each other stripe or each other few stripes is configured to pass current in a direction opposite to that of the adjacent stripe. In this way, two different and opposite magnetic fields will be generated at the windscreen, which at least in the vicinity of the compass sensor clear each other. In a similar manner, the conductive stripes on one half of the windshield may be driven with opposite polarity to the conductive stripes on the other half of the windshield to null the field generated on each side at least in the middle of the windshield where the compass sensor is located. Such splitting systems may be electrically connected in series to maintain the number of electrical connections to two such connections. Yet another compensation means would be a compensation coil provided in the window or mirror that generates the magnetic field, which clears the magnetic field generated by the heated window. Yet another compensating means is a conductive or other shielding coating that is selectively located at or near the compass sensor location.
[0280] Another compensation device that may be used to compensate for the magnetic field generated by heated windshields, defrosters, windshield wipers and other vehicle accessories is a monitoring circuit in the form of a Digital Signal Processor (DSP) or modified compass processing circuit that monitors the output of at least one compass sensor while looking for the rise and fall in sensor output signal level in a consistent manner with that caused by the field generated by the vehicle accessory. Preferably, the DSP or processing circuit monitors the output of two or three compass sensors for a signature corresponding to the noise source. The DSP or modified processing circuitry may then ignore the sensor output signal when the vehicle accessory is operating, otherwise use the predicted compensation. This compensation may be to offset the center of the calibration circle by a known amount, or to use a different best fit approximation pattern as described above with reference to fig. 23. When the characteristics of the sensor output caused by the noise source disappear, the processing circuitry can move back to the original best-fit approximation pattern. The monitoring techniques described above may eliminate the need for wiring to provide vehicle accessory activation signals to the compass processing circuitry.
[0281] The DSP may also be used to monitor the pulse width of the vehicle accessory drive signal superimposed on the sensor readings as a result of the magnetic field generated by the vehicle accessory. The DSP can then limit the analysis of the compass sensor readings until the pulse signal is at a low level.
[0282] Another compensation means to compensate for vehicle accessory noise is an improved compass processing circuit that analyzes all compass sensor output signals in each axis for features that will identify only the operation of the vehicle accessory or further identify the particular vehicle accessory that is operating. The processing circuitry may then select an appropriate compensation technique that best compensates for that particular vehicle. The features may be encoded into the activation signal such that a particular sequence of pulses is generated when the vehicle accessory is activated. For example, one accessory may have a 90% duty cycle and another 98% duty cycle. The compass system may also look for changes in battery voltage to determine whether the vehicle and/or vehicle accessory is operating.
[0283] Another compensation device that compensates for the magnetic field generated by the vehicle accessory is a controller that drives the accessory with an AC signal and uses the technology disclosed in co-pending U.S. patent No. 6,653,831 that compensates for the noise generated by the AC power line. More specifically, this patent discloses a magnetometer that rejects AC power line noise by taking readings at twice the AC power line frequency. Thus, the readings are taken at 120 Hz. Then every two consecutive readings from each sensor are averaged, which cancels out the effect of the magnetic field generated by the AC power line. Thus, to eliminate the effects of noise generated by the vehicle accessory, two times the frequency of the signal that can be used to drive or activate the vehicle accessory takes readings from the sensors, and then averages every two consecutive readings from each sensor.
[0284]As described above, it is desirable to be able to immediately and accurately compensate for noise or variations in vehicle magnetism caused by vehicle accessories. This may be accomplished by receiving a signal from a noise source via a wired or wireless connection. Such a wired connection may be a dedicated line, or a local or vehicle-wide bus. Suitable wireless connections, e.g. infra-red and RF, e.g. BLUETOOTHTMA connection may be used. If a wired or wireless connection is not possible or practical, the compass circuit may monitor the compass sensor output for magnetic characteristics of known noise sources in order to adjust the geometric approximation pattern used by the compass system in a known or predictable amount to compensate for the identified noise. This adjustment is preferably performed without the execution of a full recalibration routine, more likely by either shifting the current geometric approximation pattern by a predetermined offset or switching to a second geometric approximation pattern that is used whenever noise is present. If the vehicle accessory is one that changes state without producing constant noise when in a particular state, but causes a change in the vehicle magnetism (i.e., sunroof and convertible top), the compass system can monitor the sensor output for changes in output levels that correspond to those known or predicted to occur when the accessory state changes. Again, the effect of changes in the state of the accessory on the output level of the compass sensor can be compensated for by adjusting the geometric approximation pattern used by the compass system by a known or predictable amount. Using this technology, the compass system can precisely and dynamically adapt to the opening or closing of a sunroof or convertible top without any wired connections or external electrical signals. In addition, the compass system is used when influences caused by vehicle accessories are detected The compensation device of the system can immediately perform the compensation without recalibration and can immediately return to the calibrated state once the influence of the vehicle accessory is removed. In addition, the impact of an open sunroof or convertible top can be expected by monitoring features in the compass sensor output signal that correspond to noise present when the motor that opens or closes the sunroof or convertible top is activated. When the signal is deactivated, the compass processing circuit may immediately select the second geometric approximation determined during calibration with the roof or sunroof in an open state, thus calibrating immediately once the convertible top or sunroof is open.
[0285] The characteristic magnetic field effect monitored by the monitoring circuit can be scaled as a function of the vehicle battery voltage. Vehicle accessories such as conductive windshields produce characteristic noise that varies as a function of vehicle battery voltage. The monitoring circuit may therefore also monitor the battery voltage and scale the magnetic field signature it monitors to determine whether the vehicle accessory is open.
[0286] An electronic compass placed in a vehicle typically requires a user to set the region in which the vehicle is currently located so that the compass processing circuitry can use the location identifying information to establish bias compensation for that particular region. This compensation is necessary to correct for deviations in true and magnetic north. Because the effects of this deviation vary in various regions around the earth, previous compass systems need to be informed of the region in which the vehicle is located.
[0287] While new car vendors may manually set up regions for customers, customers may move or travel across countries such that vehicles drive in other regions. Current compass systems will therefore require users to know when they have crossed into different regions and remember to manually set the regions in their compass. Because many users do not know how to initially set their region in their compass or forget to do so when running to a different region, there are many repair applications that have already occurred that would not have occurred if the user simply set the region correctly.
[0288] As discussed above, the GPS system may be used to identify vehicle locations and may reference a look-up table to determine the region and the correct compass corrections. However, GPS signals are not always available to the compass system because the GPS antenna and receiver are not included in all vehicles and, in addition, may not be at a location where the compass system may access its vehicle location identification signals. It is therefore an aspect of the present invention to increase the accuracy of a compass system when no territory is set. Moreover, as described further below, the present invention may eliminate the need to set up an area or provide an accurate indication of an area.
[0289] Most highways in north america are near the north, south, east, and west grids. In other words, most highways are generally straight and extend north and south or east and west. Based on this fact, the compass system of the present invention can be programmed to determine the magnetic changes when running along the north/south or east/west road and then use the changes as a mechanism to compensate for the compass direction. The ability of the compass system to determine whether a vehicle is operating on a north/south or west/east road may be verified depending on whether a near 90 turn was last executed. The continental united states falls within about ± 20 ° of the forty-eight states rating of the continental united states. Thus, if the vehicle approaches north/south/east/west within a system tolerance (+ 20) and makes a turn of approximately 90 °, the difference between the direction and the dominant direction is used to slowly change the change calculation. With sufficient averaging, reasonable results can be obtained.
[0290] In systems with movable sensors, such as those with compass sensors located in the housing of the rearview mirror, the results of the geographic and mirror targets can be used to compensate not only for the area, but also the mirror position. Instead of 20 deg., the zones plus desired mirror angles and variations may be used.
[0291] Furthermore, if the confidence of the calibration point is high and the vehicle is traveling in a relatively constant direction for a long period of time (i.e., hours), it is reasonable that the vehicle is traveling for a long period of time, and may span several regions of magnetic variation. Small offsets in variation may be added or subtracted at regular intervals during such long trips, for example 0.5 ° per hour. In extreme regions, north/south travel may cause changes that can be compensated using similar techniques.
[0292] In the calibration method described above, it is equally possible to have four points stored in RAM that define the stable points, separated by 90 °. These four point rotations can be used for mirror rotation and zone correction.
[0293] One advantage of using the above technique is that the current region is about 4.2 ° each. Thus, current techniques of manually selecting a region may only result in an error of about 4 ° within the region. However, the present invention can compensate for small variations within each region to provide more accurate compensation.
[0294] In support of statistical analysis of common directions of vehicle travel, three plots are displayed showing frequency statistics of vehicle travel in certain directions. Fig. 42A is a plot of the number of seconds a vehicle was measured to run in various directions. Figure 42B shows a plot of the number of samples or occurrences in various directions when a 90 ° turn is required before receiving a sample according to the screening technique. Clearly, this removes many of the samples present between the 90 ° intervals. Figure 42C shows data with further screening such that all points greater than ± 20 degrees from the main peak are removed. Clearly, there are such four main peaks of vehicle operation that would correspond to north, south, east and west operation. Deviations of these peaks from 0 °, 90 °, 180 °, and 270 ° can therefore be measured and used to compensate compass readings before displaying the direction.
[0295] Another technique for determining the appropriate compensation for the zone in which the vehicle is located is to provide an improved graphical display illustrating the selected zone. This allows the user to intuitively confirm the selected region. However, because there are so many regions, it may be difficult to accurately specify the selected region or drivers may have difficulty accurately determining the region in which they are located. To facilitate the automatic region detection method described above, a graphical display (i.e., country, continent, etc.) may be provided that illustrates the time zone for a particular region. An example of such a display is shown in fig. 43. As illustrated, four time zones are displayed on a graphical map of the united states, one of the time zones being illuminated or not illuminated or illuminated differently than the other time zones to show the time zone in which the vehicle is currently located. This will provide accurate feedback to the user so that they can appropriately select the appropriate time zone in which the vehicle is located. This display and selection scheme is much more intuitive than the current fifteen different geo-magnetic zones for north america, as the driver is more likely to know the time zone than the geo-magnetic zone. Automatic sources of time zones may also use, for example, RDS radio (CT-Clock time), and/or a reference (NIST (WWVB, WWV)) or a locally generated time reference, which is typically adjusted to time zones manually by the user or automatically using GPS. Such a clock may be implemented in a display within a rear view mirror or other vehicle accessory in which the compass is located, or otherwise provide for transmitting the time zone to the compass system remotely within the vehicle while via a bus or separate line. In a preferred form, the graphical display may be constructed in the manner disclosed in U.S. patent No. 6,356,376, the entire contents of which are incorporated herein by reference. Alternatively, the display may display the time zones in an alphanumeric format, rather than as a graphical representation.
[0296] Although a reduced number of regions are presented to the user, good accuracy can still be achieved when combined with the automatic region detection method described above. The results of the zone calculation will be truncated to reasonable devices near the selected zone (e.g., half the size of the user interface zone). This protection may cause strange traffic roadmaps where previous methods were less accurate. When storing historical samples and analyzing the stored historical samples, further improvements may be made that give less weight to vehicle orientation samples obtained before and after the first and/or last detected orientation change occurs during the ignition cycle. This is because these vehicle direction samples may occur and are often visible when the vehicle is on a lane off the street that is not on the grid. Another way to protect strange traffic patterns is to average the sensor output over time.
[0297] Although the second derivative is preferably used to calculate the noise level, a digital filter may alternatively or additionally be used to reduce the noise level. In addition, benefits may be derived from factory calibration or presetting of gain (typically in mG).
[0298] The present invention has been described as including an electronic compass system within a mirror housing of a rearview mirror assembly. Those skilled in the art will appreciate that various other vehicle accessories and components may be included in the rearview mirror assembly, in whole or in part, and in various combinations. Such vehicle accessories and components may be mounted to the mirror housing, mirror mount or add-on to the housing, in or on, or in a console or other housing associated with the rearview mirror assembly. Additionally, any such vehicle accessories may share components with each other, such as processors, sensors, power supplies, wiring harnesses and plugs, displays, switches, antennas, and the like. Examples of other vehicle accessories, components, or features are described further below.
[0299] Fig. 44A-44C show another embodiment of a rearview mirror assembly 900a in which any of the electronic compass systems described above is incorporated. As illustrated in fig. 44A-44C, mirror assembly 900a includes a front cover 902 and a housing 904. The bezel and housing combine to define an included mirror housing that features other than reflective element 901 and information displays 905a and 905 b. Commonly assigned U.S. patent nos. 6,102,546, D410,607, 6,407,468, 6,420,800 and 6,471,362, which are incorporated herein by reference in their entirety, describe examples of various front covers, housings and associated button structures that may be used with the present invention.
[0300] As depicted in fig. 44A-44C, the mirror assembly may include first and second microphones 910a and 910 b. Examples of microphones for use with the present invention are described in commonly assigned U.S. patent application No. 09/444,176, U.S. patent No. 6,614,911, U.S. patent application publication No. US2002/0110256 a1, and PCT application No. PCT/US02/32386, which are incorporated herein by reference in their entirety. Although two microphones are shown mounted on the back of mirror housing 904, one or more such microphones may be mounted on the top of the mirror assembly (as shown in fig. 45A and 45B), on the bottom of the mirror assembly, or anywhere on the mirror housing or bezel. Preferably, two microphones 910a and 910b are included, one near each end, into mirror housing back recesses 912a and 912b in the mirror assembly. As shown in fig. 44A, the microphone is configured with an acoustic dam 914 extending within the microphone housing 918 near the transducer 916. Additional details of this preferred construction are disclosed in commonly assigned International PCT patent No. PCT/US02/32386, the entire contents of which are incorporated herein by reference. An audio system including a microphone may be at least partially integrated in a common control with an information display and/or may share components with the information display. In addition, the status of these systems and/or devices thus controlled may be displayed on a related information display.
[0301] As shown in fig. 45A and 45B, a single microphone 910 is provided on the top surface of the mirror assembly 900B. In this configuration, two transducers are preferably included in the microphone housing 918 in a manner similar to that disclosed in the above-referenced International PCT application No. PCT/US02/32386 and U.S. patent application publication No. US 2002/0110256A 1.
[0302] The mirror assembly 900 may include first and second illumination assemblies 920a and 920 b. Various lighting assemblies and luminaires for use with the present invention are described in commonly assigned U.S. patent nos. 5,803,579, 6,335,548, 6,441,943, 6,521,916, and 6,523,976, and commonly assigned U.S. patent application nos. 09/723,675, 10/078,906, and 10/230,804 (now U.S. patent application publication No. 2003/0043590 a1), the entire contents of which are incorporated herein by reference. Each illumination assembly preferably includes a reflector, a lens and an illuminator (not shown). It is generally possible to arrange two lighting assemblies to illuminate the front passenger seat area and a second to illuminate the driver seat area. Alternatively, there may be only one lighting assembly illuminating both seating areas and/or there may be additional lighting assemblies such as one lighting center console area, overhead console area, or the area between the front seats.
[0303] The mirror assembly 900 may also include first and second switches 922a and 922 b. Suitable switches for use with the present invention are described in detail in commonly assigned U.S. Pat. Nos. 6,407,468, 6,420,800, 6,426,568, 6,614,579, and 6,471,362, which are incorporated herein by reference in their entirety. These switches may be included to control lighting fixtures, displays, mirror reflectivity, voice activated systems, compass systems, telephone systems, highway toll booth interfaces, telemetry systems, headlamp controllers, rain sensors, air pressure monitoring systems, navigation systems, lane departure warning systems, adaptive cruise control systems, and the like. Any other display or system described herein or in the references cited by reference may be included anywhere within the associated vehicle and may be controlled using a switch.
[0304] The mirror assembly 900 may also include first and second indicators 924a and 924 b. Various indicators for use with the present invention are described in commonly assigned U.S. patent nos. 5,803,579, 6,335,548, 6,441,943, 6,521,916, and 6,523,976, and commonly assigned U.S. patent application nos. 09/723,675, 10/078,906, and 10/230,804 (now U.S. patent application publication No. 2003/003590 a1), the entire contents of which are incorporated herein by reference. These indicators may indicate the status of a display, mirror reflectivity, voice activated system, compass system, telephone system, highway toll booth interface, telemetry system, headlamp controller, rain sensor, security system, and the like. Any other display or system described herein or in the references cited by reference may be included anywhere within the associated vehicle or may have a status described by an indicator.
[0305] The mirror assembly 900 may also include first and second light sensors 926 and 928 that serve as glare and ambient sensors, respectively. Preferred photosensors for use in the present invention are described in detail in commonly assigned U.S. Pat. Nos. 5,923,027, 6,313,457, 6,359,274, 6,379,013 and 6,402,328, U.S. patent application 10/043,977 (now U.S. patent application publication No. US 2002/0056806A 1) and 10/068,540 (now U.S. patent application publication No. US 2003/0127583A 1), the entire contents of which are incorporated herein by reference. The glare sensor 926 and/or the ambient sensor 928 automatically control the reflectivity of the automatically dimming reflective element and the intensity of the information display and/or backlight. The glare sensor 926 may also be used to sense headlights of trailing vehicles and an ambient sensor to detect ambient lighting conditions in which the system is operating. In another embodiment, a sky sensor 930 may be included to detect light levels above and in front of the vehicle of interest generally. The sky sensor 930 may be used to automatically control the reflectivity of the automatic dimming elements, control the intensity of the exterior light and/or information display of the vehicle. The mirror assembly may further comprise a solar load sensor for sensing light levels towards the driver side and the passenger side of the vehicle for controlling a climate control system of the vehicle.
[0306] Additionally, the mirror assembly 900 may include first, second, third, fourth, and fifth operator interfaces 932a-932e located in the mirror front cover 902. Each operator interface is shown as including backlit information displays "A", "AB", "A1", "C", and "12". It should be understood that these operator interfaces may be included anywhere in the associated vehicle, such as in the mirror housing, accessory module, instrument panel, overhead console, control panel, seat, center console, and the like. Suitable switch configurations are described in detail in commonly assigned U.S. Pat. Nos. 6,407,468, 6,420,800, 6,426,568, 6,614,579, and 6,471,362, which are incorporated herein by reference in their entirety. These operator interfaces may control lighting assemblies, displays, mirror reflectivity, voice activation systems, compass systems, telephone systems, highway toll booth interfaces, telemetry systems, headlamp controllers, rain sensors, tire pressure monitoring systems, navigation systems, lane departure warning systems, adaptive cruise control systems. Any other display or system described herein or in the references cited by reference may be included anywhere within the associated vehicle and may be controlled using a single or multiple operator interfaces. For example, a user may program a single or multiple displays to depict predetermined information or may program one or more displays to scroll through a series of information, or may input a set point associated with certain operating equipment using associated sensor inputs to display certain information when a given event occurs. In one embodiment, for example, a given display may be in an unlit state until the engine temperature is above a threshold, the display then automatically setting to display the engine temperature. Another example is that a proximity sensor located behind the vehicle may be connected to the controller and combined with a display in the rear view mirror to indicate to the driver the distance to the target; the display may be configured as a bar having a length proportional to the given distance.
[0307] While specific locations and numbers of these additional features are depicted in fig. 44A-44C and 45A and 45B, it should be understood that fewer or more individual devices may be included anywhere in the associated vehicle or as described in the references cited herein.
[0308] A mirror mount 903 for mounting the mirror assembly in a vehicle or to a windshield 898, or to a vehicle roof structure, is included. It should be understood that many accessories may be included in the mount 903 or in the housing 952 connected to the mount 903, such as a rain sensor, a camera, a headlamp control, another microprocessor, another information display, a compass sensor, and the like. These systems may be at least partially integrated in a common control with an information display and/or may share components with an information display. In addition, the status of these systems and/or devices thus controlled may be displayed on a related information display.
[0309] Mirror assembly 900 is also shown in FIG. 44A to include a circuit board 960 on which a compass sensor module (not shown) may be mounted, and a daughter board 962 having an input/output bus interface (not shown).
[0310] Electrical output signals from either or both of sensors 926 and 928 can be used as inputs to a controller (not shown) to control the reflectivity of reflective element 901 and, alternatively, the intensity of either or both of displays 905a and 905 b. Details of the various control circuits used therewith are described in commonly assigned U.S. Pat. Nos. 5,883,605, 5,956,012, 6,084,700, 6,222,177, 6,224,716, 6,247,819, 6,249,369, 6,392,783, and 6,402,328, the entire contents of which are incorporated herein by reference. These systems may be at least partially integrated in a common control with an information display and/or may share components with an information display. In addition, the status of these systems and/or devices thus controlled may be displayed on a related information display.
[0311] While the compass sensor module is described as being mounted to the circuit board 960, it should be understood that the sensor module may be located within the mounting 903, the accessory module 952 located proximate to the mirror mount 900, or any other location in the associated vehicle, such as under the control panel, overhead console, center console, trunk, engine compartment, etc. The compass system described above may be at least partially integrated in a common control with an information display and/or may share components with an information display. In addition, the status of these systems and/or devices thus controlled may be displayed on a related information display.
[0312] Circuit board 960 may include a controller (not shown), such as a microprocessor, and daughter board 962 may include information display 905 a. The microprocessor may, for example, receive signals from the compass sensing module and process the signals and send signals to the daughter board to control the display 905a to indicate the corresponding vehicle direction. As described herein and in the references cited herein by reference, the controller may receive signals from light sensors, rain sensors (not shown), automatic vehicle exterior light controllers (not shown), microphones, global positioning systems (not shown), telecommunication systems (not shown), operator interfaces and many other devices, and control the information display to provide appropriate visual indications.
[0313]The controller (or controllers) used to control the compass system may control, at least in part, the mirror reflectivity, external light, rain transmissionSensors, compasses, information displays, windshield wipers, heaters, defrosters, defoggers, air conditioners, telephone systems, navigation systems, security systems, tire pressure monitoring systems, door opening transmitters for cars, remote keyless entry systems, telemetry systems, voice recognition systems such as digital signal processor based voice activation systems, and vehicle speed. The controller 796 (or controllers) may receive signals from switches and or sensors associated with any device to automatically operate any other device described herein or in the references cited herein by reference. The controller may be located at least partially outside the mirror mount or may include a second controller located elsewhere in the vehicle or additional controllers throughout the vehicle. Each processor may be configured to communicate via BLUETOOTHTMProtocol, wireless communication, via a vehicle bus, via a CAN bus or any other suitable communication, either serially or in parallel. A multi-pin connector interface 964 may be provided for such external connections.
[0314] External light control systems such as those described in commonly assigned U.S. Pat. Nos. 5,990,469, 6,008,486, 6,130,421, 6,130,448, 6,255,639, 6,049,171, 5,837,994, 6,403,942, 6,281,632, 6,291,812, 6,469,739, 6,465,963, 6,429,594, 6,587,573, 6,611,610, 6,621,616, 6,653,614, and 6,379,013, and U.S. Pat. Nos. 60/404,879, 60/394,583, 10/235,476 (now U.S. Pat. No. 2003/0107323A 1), and 10/208,142, the entire contents of which are hereby incorporated by reference, may be included in accordance with the present invention. These systems may be at least partially integrated in a common control with an information display and/or may share components with an information display. In addition, the status of these systems and/or devices thus controlled may be displayed on a related information display. As disclosed in U.S. patent No. 6,587,573, the compass sensor and imaging sensor array 950 can be located in an accessory housing 952 connected to the mount 903.
[0315] Humidity sensors and windshield fog detection systems are described in commonly assigned U.S. patent nos. 5,923,027, 6,617,564, and 6,313,457, and U.S. patent application No. 09/970,728 (now U.S. patent application publication No. US 2003/0069674 a1), the entire contents of which are incorporated herein by reference. These systems may be at least partially integrated in a common control with an information display and/or may share components with an information display. In addition, the status of these systems and/or devices thus controlled may be displayed on a related information display.
[0316] Commonly assigned U.S. patent No. 6,262,831, which is hereby incorporated by reference in its entirety, describes a power supply for use with the present invention. These systems may be at least partially integrated in a common control with an information display and/or may share components with an information display. In addition, the status of these systems and/or devices thus controlled may be displayed on a related information display.
[0317]The mirror assembly may also include one or more antennas 940 for receiving and/or transmitting RF signals. Suitable receiving, transmitting, and/or processing circuitry may further be included in or connected to the mirror assembly. The antenna can be used in cellular telephone system, BLUETOOTHTMA transmit/receive system, a Remote Keyless Entry (RKE) system, a trainable garage door opening system, a tire pressure monitoring system, a global positioning satellite system, an LORAN system, etc. Some of these systems may share a common antenna, as well as receive, transmit, processing, and display circuitry, where appropriate. Examples of tire air pressure monitoring systems included in rearview mirror assemblies are disclosed in commonly assigned U.S. patent nos. 6,215,389 and 6,431,712 and U.S. patent application nos. 09/359,144 and 09/949,955 (now U.S. patent application publication No. US2003/0048178 a1), the entire contents of which are incorporated herein by reference. Examples of GPS systems included in rearview mirror assemblies are disclosed in commonly assigned U.S. patent nos. 6,166,698, 6,297,781, 6,396,446, and U.S. published application No. US 2002/0032510 a1, the entire contents of which are incorporated herein by reference. An example of a LORAN system included in a rearview mirror assembly is disclosed in commonly assigned U.S. patent No. 6,539,306, which is hereby incorporated by reference in its entirety. Bag (bag) Telephone/telecommunications system and BLUETOOTH incorporating rearview mirror assemblyTMExamples of systems are disclosed in commonly assigned U.S. patent application Ser. No. US 2002/0032510A 1, which is incorporated herein by reference in its entirety. Examples of trainable car compartment door opening systems and RKE systems that are included in rear view mirror assemblies are disclosed in U.S. patent No. 6,091,343, which is incorporated herein by reference in its entirety.
[0318] The mirror may also include an Infrared (IR) transmitter/receiver for transmitting/receiving information to and from the mirror assembly and possibly to and from the vehicle. An example of such a rearview mirror assembly is disclosed in commonly assigned U.S. patent No. 6,407,712, which is hereby incorporated by reference in its entirety.
[0319] The mirror assembly may also include one or more displays of the same or different types. Examples of different types of displays include vacuum fluorescent, LCD, inverted LCD, LED, organic LED, dot matrix, backlit indicia, and the like. For displays intended to display a large amount of information at the same time, the display disclosed in commonly assigned U.S. patent No. 6,346,698 may be used. The entire contents of which are incorporated herein by reference. Examples of backlit indicia panel displays are disclosed in commonly assigned U.S. patent nos. 6,170,956, 6,572,233, and 6,356,376, and U.S. patent application No. 09/586,813, which are incorporated herein by reference in their entirety. Various displays for use in rearview mirrors are disclosed in commonly assigned U.S. patent No. 6,356,376 and U.S. patent application publication No. US 2002/0154379a1, the entire contents of which are incorporated herein by reference.
[0320] The wiring for the vehicle accessories in the rearview mirror assembly housing can run through the mounting bracket or under the tunnel mount along the windshield (if the mounting bracket does not extend to the roof). An example of a rearview mirror assembly in which the wiring path of the fittings in the mirror assembly housing is through a mounting bracket is disclosed in commonly assigned U.S. patent No. 6,467,919, which is incorporated herein by reference in its entirety.
[0321] Although the invention has been described as being implemented with the sensor located within the housing of the mirror assembly, the sensor may be mounted at the mounting base of the mirror assembly or at any other location. In addition, any or all of the various components of the electronic compass of the present invention may be mounted elsewhere in the vehicle. It should also be understood that certain embodiments of the present invention are novel and useful in vehicles such as land vehicles (i.e., automobiles, trucks, Sport Utility Vehicles (SUVs), trains, motorcycles, bicycles, mopeds, scooters, snowmobiles, all terrain off-road vehicles (ATVs), military vehicles), as well as other vehicles such as airplanes, marine vessels, and amphibious vehicles.
[0322] Although the present invention is described as utilizing a process whereby signals output from magnetic sensing circuits are plotted in a two or three dimensional coordinate system with reference to each other, a similar approach may be to independently process and analyze the signals and then compare the results of the independent analyses to achieve similar results.
[0323] Only the above description of the preferred embodiments is contemplated. Modifications of the invention will occur to those skilled in the art and to those who make or use the invention. It is understood, therefore, that the embodiments shown in the drawings and described above are merely for illustrative purposes and are not intended to limit the scope of the invention, which is defined by the following claims as interpreted according to the principles of patent law, including the doctrine of equivalents.
Claims (103)
1. An electronic compass system for a vehicle, comprising:
a magnetic sensor circuit for sensing at least two components of the earth's magnetic field vector and producing output signals representative of the at least two sensed components; and
a processing circuit connected to the magnetic sensor circuit for:
receiving an output signal from the magnetic sensor circuit,
the relative strength of the earth's magnetic field vector is determined,
determining whether too much noise is present in the output signal received from the magnetic sensor circuit as a function of the relative strength of the earth's magnetic field vector,
calculating the direction of the vehicle as a function of the sensor component if too much noise is not present in the output signal, an
If too much noise is present in the output signal, a direction signal is generated which represents the calculated direction or represents the preferred direction.
2. The electronic compass system of claim 1 wherein the processing circuit determines whether too much noise is present in the output signal received from the magnetic sensor circuit when a change in the output signal exceeds a threshold noise level.
3. The electronic compass system of claim 2 wherein said processing circuitry further determines if too much noise is present in the output signal received from said magnetic sensor circuitry to update the data used to calibrate the compass system, said processing circuitry not updating the data used to calibrate the compass system when too much noise is present.
4. The electronic compass system of claim 3 wherein the processing circuit:
when the variation of the output signal exceeds a threshold noise level, determining that too much noise is present in the output signal received from the magnetic sensor circuit to update data used to calibrate the compass system, an
When a certain period of time has not elapsed since the change in the output signal last exceeded the threshold noise level, it is determined that too much noise is present in the output signal received from the magnetic sensor circuit to update the direction signal.
5. An electronic compass system according to claim 4 wherein the period of time that must elapse before the directional signal can be updated is set as a function of the strength of the Earth's magnetic field.
6. An electronic compass system according to claim 4 wherein the threshold noise level is set as a function of the earth's magnetic field.
7. The electronic compass system of claim 1 wherein the processing circuit further determines whether too much noise is present in the output signal received from the magnetic sensor circuit to update the data used to calibrate the compass system, the processing circuit not updating the data used to calibrate the compass system when too much noise is present.
8. The electronic compass system of claim 7 wherein the processing circuit determines whether too much noise is present in the output signal received from the magnetic sensor circuit to update data used to calibrate the compass system when a change in the output signal exceeds a threshold noise level.
9. An electronic compass assembly for a vehicle, comprising:
a circuit board defining a plane corresponding to a mounting surface thereof;
a magnetic sensor circuit mounted on the circuit board for sensing at least two components of the earth's magnetic field vector and producing output signals representative of the at least two sensing components, wherein the magnetic sensor circuit comprises at least two magnetic field sensing elements each having a sensitive axis, wherein at least one of the magnetic field sensing elements is positioned such that its sensitive axis is oriented in one of two directions: (a) is non-perpendicular and non-parallel to a plane of the circuit board, and (b) is non-perpendicular to a sensitive axis of another of the at least two magnetic field sensing elements; and
processing circuitry coupled to the magnetic sensor circuit for receiving the output signal, calculating a direction of the vehicle as a function of the sensed component, and generating a direction signal representative of the calculated direction.
10. An electronic compass assembly according to claim 9 wherein said magnetic compass sensor circuit includes three magnetic field sensing elements none of which is perpendicular or parallel to the plane of said circuit board.
11. An electronic compass assembly according to claim 9 wherein said magnetic sensor circuit comprises three magnetic field sensing elements contained in a common integrated package having a plurality of leads extending therefrom for mounting to said circuit board.
12. An electronic compass assembly as claimed in claim 9 wherein said processing circuitry performs a coordinate transformation to account for the positioning of at least one of said magnetic field sensing elements such that its sensitive axis is positioned in one of two directions: (a) is non-perpendicular and non-parallel to the plane of the circuit board, and (b) is non-perpendicular to the sensitive axis of the other of the at least two magnetic field sensing elements.
13. An electronic compass assembly as claimed in claim 12 wherein said processing circuitry performs a coordinate transformation of an original frame of reference S having an x-axis, a y-axis and a z-axis by:
(a) the original reference frame S is rotated around the x-axis by an angle α to a reference frame S 'having an x', y 'and z' axis;
(b) frame of reference S 'is rotated at an angle β about the y' axis to frame of reference S "having an x" axis, a y "axis, and a z" axis; and
(c) the reference frame S "is rotated about the z" axis at an angle γ to the reference frame S' ".
14. An electronic compass assembly as claimed in claim 13 wherein said processing circuitry performs a coordinate transformation using the following linear formula:
15. a rearview mirror assembly for a vehicle, comprising:
a mirror mounting structure configured to be mounted to a vehicle and having a mirror housing;
A mirror mounted in the mirror housing;
a circuit board supported by the mirror mounting structure;
a magnetic sensor circuit mounted on said circuit board for sensing at least two components of the earth's magnetic field vector and producing output signals representative of the at least two sensing components, wherein said magnetic sensor circuit comprises three magnetic field sensing elements contained in a common integrated package having a plurality of leads extending therefrom for mounting to said circuit board; and
processing circuitry coupled to the magnetic sensor circuit for receiving the output signal from the magnetic sensor circuit, calculating a direction of the vehicle as a function of the sensing component, and generating a direction signal representative of the calculated direction.
16. The rearview mirror assembly of claim 15, wherein said circuit board defines a plane corresponding to a mounting surface thereof, wherein said magnetic field sensing elements each have an axis of sensitivity, and wherein at least one of said magnetic field sensing elements is positioned such that its axis of sensitivity is oriented in one of two directions: (a) is non-perpendicular and non-parallel to the plane of the circuit board, and (b) is non-perpendicular to the sensitive axis of the other of the at least two magnetic field sensing elements.
17. An electronic compass accessory for a vehicle, comprising:
a circuit board including a connector for connecting a power component; and
a processing circuit mounted on the circuit board and electrically connected to the connector in communication with the power assembly, wherein the processing circuit is connected to the magnetic sensor circuit for receiving output signals representative of at least two components of the earth's magnetic field vector, calculating a direction of the vehicle as a function of the sensed components, and generating a direction signal representative of the calculated direction,
wherein the processing circuitry is configured to communicate using at least two different signal formats associated with different types of electronic components, and wherein a particular signal format used by the processing circuitry to communicate with a power component connected to the connector is selectable.
18. The electronic compass accessory of claim 17 wherein the electronic component is a display driver circuit.
19. The electronic compass accessory of claim 18 wherein the display driver circuit is mounted on sub-circuit boards, the circuit boards each including a connector electrically connecting the circuit boards.
20. The electronic compass accessory of claim 19 wherein said connector of said sub-circuit board has a connector configuration that is specific to a type of display driver circuit mounted thereon.
21. The electronic compass accessory of claim 20 wherein the processing circuitry automatically selects a particular signal format for communicating with the display driver circuitry based on a connector configuration of the daughter circuit board connector.
22. The electronic compass accessory of claim 17 wherein the electronic components are mounted on daughter circuit boards, the circuit boards each including a connector electrically connecting the circuit boards.
23. The electronic compass accessory of claim 22 wherein the connector of the sub-circuit board has a connector configuration that is specific to a type of electronic component mounted thereon.
24. The electronic compass accessory of claim 23 wherein the processing circuitry automatically selects a particular signal format for communicating with the electronic component based on a connector configuration of the daughter circuit board connector.
25. The electronic compass accessory of claim 17 wherein the electronic component is a vehicle bus interface circuit.
26. An electronic compass system for a vehicle, comprising:
a magnetic sensor circuit for sensing at least two components of the earth's magnetic field vector and producing output signals representative of the at least two sensed components;
Processing circuitry connected to the magnetic sensor circuit for receiving the output signal from the magnetic sensor circuit, calculating a direction of the vehicle as a function of the sensing component, and generating a direction signal representative of the calculated direction; and
a display coupled to the processing circuit for receiving the direction signals and displaying the calculated direction, the display further configured to display a regional representation of at least one region and a region of geographic magnetic variation within the region for which the compass is currently calibrated.
27. The electronic compass system of claim 26 wherein the geographical magnetically variable region displayed on said display is a time zone in which a vehicle is located.
28. The electronic compass system of claim 27 wherein said processing circuitry is coupled to a vehicle power assembly for receiving information from which a time zone in which the vehicle is located can be identified.
29. The electronic compass system of claim 28 wherein said vehicle power component is an RDS radio.
30. The electronic compass system of claim 28 wherein said vehicle power component is a GPS receiver.
31. An electronic compass system for a vehicle, comprising:
A magnetic sensor circuit for sensing at least two components of the earth's magnetic field vector and producing output signals representative of the at least two sensed components;
processing circuitry connected to the magnetic sensor circuit for receiving the output signal from the magnetic sensor circuit, calculating a direction of the vehicle as a function of the sensing component, and generating a direction signal representative of the calculated direction; and
a display coupled to the processing circuit for receiving the direction signal and displaying the calculated direction, the display further configured to display a time zone in which the compass is currently calibrated.
32. The electronic compass system of claim 31 wherein said processing circuitry is coupled to a vehicle power assembly for receiving information from which a time zone in which the vehicle is located can be identified.
33. The electronic compass system of claim 32 wherein said vehicle power component is an RDS radio.
34. The electronic compass system of claim 32 wherein said vehicle power component is a GPS receiver.
35. The electronic compass system of claim 31 wherein said display is a graphical display showing a geographical representation of a region and its various time zones.
36. The electronic compass system of claim 31 wherein said display is an alphanumeric display.
37. An electronic compass system for a vehicle, comprising:
a magnetic sensor circuit for sensing at least two components of the earth's magnetic field vector and producing output signals representative of the at least two sensed components; and
a processing circuit coupled to the magnetic sensor circuit for receiving the output signal from the magnetic sensor circuit, calculating a direction of the vehicle as a function of the sensing component, and generating a direction signal representative of the calculated direction,
wherein the processing circuit is coupled to the vehicle power component to receive an indication of a time zone in which the vehicle is currently operating, the processing circuit compensating the directional calculation as a function of a change in geomagnetism of the time zone in which the vehicle is currently operating.
38. The electronic compass system of claim 37 wherein said vehicle power component is an RDS radio.
39. The electronic compass system of claim 37 wherein said vehicle power component is a GPS receiver.
40. The electronic compass system of claim 37 wherein the processing circuit is further adapted to:
Historical samples of the calculated orientation are stored at periodic intervals,
the stored historical samples are analyzed to determine which of the four sets of values of the sensory component the vehicle most frequently operates on,
calculating, from the four sets of values of the sensing components that have been identified by the processing circuitry as corresponding to north, south, east and west directions, the changes in the four sets of values of the sensing components that the vehicle is most frequently operating, an
The direction calculation is compensated as a function of the calculated change.
41. An electronic compass system for a vehicle, comprising:
a magnetic sensor circuit for sensing at least two components of the earth's magnetic field vector and producing output signals representative of the at least two sensed components; and
a processing circuit connected to the magnetic sensor circuit for
Receiving an output signal from the magnetic sensor circuit,
the direction of the vehicle is calculated as a function of the sensed component,
a direction signal representative of the calculated direction is generated,
historical samples of the calculated orientation are stored at periodic intervals,
the stored historical samples are analyzed to determine which of the four sets of values of the sensory component the vehicle most frequently operates on,
calculating, from the four sets of values of the sensing components that have been identified by the processing circuitry as corresponding to north, south, east and west directions, the changes in the four sets of values of the sensing components that the vehicle is most frequently operating, an
The direction calculation is compensated as a function of the calculated change.
42. The electronic compass system of claim 41 wherein said magnetic sensor circuit is mounted in a mirror housing of a vehicle rearview mirror assembly, and wherein compensation performed by said processing circuit is used to compensate for rotation of the mirror housing relative to the vehicle.
43. The electronic compass system of claim 41 wherein the compensation performed by said processing circuitry is to compensate for geomagnetism variations.
44. The electronic compass system of claim 41 wherein when storing historical samples and analyzing the stored historical samples, said processing circuitry excludes samples corresponding to directions traveled before or after a turn not equal to about a 90 degree turn.
45. The electronic compass system of claim 41 wherein said processing circuitry gives less weight to samples obtained before and after the occurrence of the first detected change of direction during the ignition cycle when storing historical samples and analyzing the stored historical samples.
46. The electronic compass system of claim 41 wherein said processing circuitry gives less weight to samples obtained before and after the occurrence of the last detected change in direction during the ignition cycle when historical samples are stored and the stored historical samples are analyzed.
47. An electronic compass system for a vehicle, comprising:
a magnetic sensor circuit that senses at least two components of the earth's magnetic field vector and generates output signals representative of the at least two sensed components; and
a processing circuit connected to the magnetic sensor circuit for:
receiving an output signal from the magnetic sensor circuit,
calculating a noise level of the output signal received from the magnetic sensor circuit as a function of a root mean square of values obtained from the output signal,
if the noise level exceeds a threshold noise level to determine if too much noise is present in the output signal received from the magnetic sensor circuit,
calculating the direction of the vehicle as a function of the sensing component if too much noise is not present in the output signal, an
If too much noise is present in the output signal, a direction signal is generated which represents the calculated direction or represents the preferred direction.
48. The electronic compass system of claim 47 wherein the processing circuitry calculates a second derivative of the output signal from the compass sensor circuit, and wherein the processing circuitry calculates the noise level as a function of a root mean square of the calculated second derivative.
49. An electronic compass system for a vehicle, comprising:
a magnetic sensor circuit that senses at least two components of the earth's magnetic field vector and generates output signals representative of the at least two sensed components; and
a processing circuit connected to the magnetic sensor circuit for:
receiving an output signal from the magnetic sensor circuit,
calculating a noise level of the output signal received from the magnetic sensor circuit as a function of a mean square error of values obtained from the output signal,
if the noise level exceeds a threshold noise level to determine if too much noise is present in the output signal received from the magnetic sensor circuit,
calculating the direction of the vehicle as a function of the sensing component if too much noise is not present in the output signal, an
If too much noise is present in the output signal, a direction signal is generated which represents the calculated direction or represents the preferred direction.
50. The electronic compass system of claim 49 wherein said processing circuitry calculates a second derivative of the output signal from said compass sensor circuit, and wherein said processing circuitry calculates the noise level as a function of the mean square error of the calculated second derivative.
51. In a vehicle having an electrically conductive windshield with electrically conductive material contained therein and an electronic compass system having a magnetic sensor circuit located proximate the electrically conductive windshield, the magnetic sensor circuit sensing at least two components of the earth's magnetic field vector and producing output signals representative of the at least two components, an improvement comprising:
a processing circuit connected to the magnetic sensor circuit for sampling the output signal from the magnetic sensor circuit, calculating a direction of the vehicle as a function of the sensing component, and generating a direction signal representative of the calculated direction; and
a compensation device that compensates for the effect of an electric field generated by the electrically conductive windshield on the magnetic field sensed by the magnetic sensor circuit.
52. A vehicle improvement as claimed in claim 51 wherein the compensation transpose comprises a controller that provides a pulsed activation signal to the conductive material contained in the conductive windshield when the conductive windshield is activated, the pulsed activation signal being pulsed between high and low power activation states, the controller providing a signal to the processing circuit that identifies when the pulsed activation signal is in the low power activation state, wherein the processing circuit times sampling of the output signal from the magnetic sensor circuit such that the sample is not taken when the pulsed activation signal is in the low power activation state so as to prevent reading of the sample of the output signal of the magnetic sensor circuit when noise is generated by the conductive windshield.
53. A vehicle improvement according to claim 51 wherein said compensation means comprises a coil provided in the vicinity of the compass sensor circuit to generate a magnetic field that nulls the magnetic field generated by the electrically conductive windscreen when activated.
54. A vehicle improvement according to claim 51 wherein said compensation means comprises a pattern of electrically conductive stripes of conductive material of the conductive windshield, wherein at least adjacent first and second electrically conductive stripes extending about the compass sensor circuit are patterned such that current passes through the first electrically conductive stripe in a direction opposite to current passing through the adjacent second electrically conductive stripe so as to produce magnetic fields which null one another.
55. A vehicle improvement according to claim 51 wherein said compensation means comprises a pattern of very thin wires wherein at least adjacent first and second wires extending about the compass sensor circuit are positioned such that current passes through the first wire in a direction opposite to current passing through the adjacent second wire so as to produce magnetic fields that null each other.
56. A vehicle improvement as claimed in claim 51 in which the electrically conductive material on the conductive glazing is provided in at least two sections and the compensation means comprises a window controller which periodically alters the direction in which current is applied to a section.
57. A vehicle improvement as claimed in claim 51 in which said compensation means comprises a magnetic barrier coating between the electrically conductive windscreen and the compass sensor circuit.
58. A vehicle improvement as claimed in claim 51 in which said compensation means includes a monitoring circuit which monitors the output of the magnetic sensor circuit to identify rises and falls in the output signal level in a manner consistent with that caused by the magnetic field induced by the conductive windscreen.
59. The vehicle improvement of claim 58 wherein the monitoring circuit prevents the processing circuit from sampling the output signal when such rises and falls in the output signal level are identified.
60. The vehicle improvement of claim 58 wherein said monitoring circuit is a digital signal processor.
61. The vehicle improvement of claim 58 wherein said monitoring circuit is part of said processing circuit.
62. A vehicle improvement according to claim 58 wherein said magnetic sensor circuit comprises three sensing elements for providing three output signals representative of three orthogonal components of the Earth's magnetic field, wherein said monitoring circuit monitors the output signals of all three of said sensing elements to identify rises and falls in output signal levels in a manner consistent with the generation of a magnetic field by the conductive windshield.
63. A vehicle improvement according to claim 58 wherein said magnetic sensor circuit comprises two sensing elements for providing two output signals representative of two orthogonal components of the Earth's magnetic field, wherein said monitoring circuit monitors the output signals of both of said sensing elements to identify rises and falls in the output signal level in a manner consistent with the generation of a magnetic field by the conductive windscreen.
64. A vehicle refinement according to claim 58, wherein the processing circuit selects the first approximate geometric pattern based on a first set of reference data points obtained from the sensed components, and calculates the orientation of the vehicle as a function of at least two of the sensed components when referencing the first approximate geometric pattern.
65. A vehicle improvement according to claim 64 in which the compensation means comprises part of the processing circuit, wherein during the time the monitoring circuit identifies a consistent rise and fall in output signal level produced by the magnetic field caused by the conductive windscreen, the part of the processing circuit selects a second approximate geometric pattern based on the received reference data points and calculates the direction of the vehicle using the second approximate geometric pattern.
66. A vehicle improvement according to claim 65 in which said portion of said processing circuitry calculates the direction of the vehicle using a first approximate geometric pattern during periods in which said monitoring circuitry does not recognize a rise and fall in the output signal level in a consistent manner produced by the magnetic field induced by the conductive windshield.
67. A vehicle improvement as claimed in claim 64 in which said compensation means comprises part of said processing circuit, wherein said part of said processing circuit moves the first approximate geometric pattern by an offset corresponding to a change in the output signal level produced by the conductive windscreen when activated during the time said monitoring circuit identifies a rise and fall in the output signal level in a coincident manner produced by the magnetic field produced by the conductive windscreen.
68. A vehicle improvement as claimed in claim 51 in which the compensation means comprises a controller for activating the conductive windscreen using a periodic activation signal having a predetermined frequency, in which the processing circuit samples the output signal of the compass sensor at twice the predetermined frequency of the activation signal, the processing circuit averaging samples of the output signal and subtracting any DC offset to cancel the effect of noise produced by the conductive windscreen.
69. A vehicle improvement as claimed in claim 51 wherein the conductive material contained in the conductive windshield is provided in the form of very fine lines or transparent stripes.
70. The vehicle improvement of claim 51 wherein the conductive material contained in the conductive windshield is provided in the form of transparent stripes.
71. A vehicle improvement as claimed in claim 51 in which the compensation means immediately compensates for the effect of the electric field generated by the electrically conductive windscreen on the magnetic field sensed by the magnetic sensor circuit when activation of the electrically conductive windscreen is detected.
72. A method of mounting a magnetic sensing element on a circuit board, the method comprising:
mounting a first magnetic sensing element on a first portion of a circuit board;
mounting a second magnetic sensing element on a second portion of the circuit board;
bending a second portion of the circuit board to reorient the second magnetic sensing element relative to the first magnetic sensing element; and
the second portion of the circuit board is fixed relative to the first portion of the circuit board to maintain the reoriented positions of the first and second magnetic sensing elements.
73. The method of claim 72, further comprising mounting a third magnetic sensing element on the first portion of the circuit board.
74. The method of claim 73, wherein the third magnetic sensing element is mounted on the first portion of the circuit board substantially perpendicular to the first magnetic sensing element.
75. The method of claim 74, wherein the second magnetic sensing element is mounted on a second portion of the circuit board and is reoriented to be substantially perpendicular to the first and third magnetic sensing elements.
76. The method of claim 72, wherein the second magnetic sensing element is mounted on a second portion of the circuit board and is reoriented to be substantially perpendicular to the first magnetic sensing element.
77. An electronic compass system for a vehicle, comprising:
a magnetic sensor circuit for sensing at least two components of the earth's magnetic field vector and producing output signals representative of the at least two sensed components; and
a processing circuit connected to the magnetic sensor circuit for:
receiving an output signal from the magnetic sensor circuit,
the direction of the vehicle is calculated as a function of the sensed component,
a direction signal representative of the calculated direction is generated,
the output signal is monitored to identify a change in vehicle direction that represents a vehicle turn of approximately 90 degrees,
the sensed components of those vehicle directions that are running immediately before and after any approximately 90 degree vehicle turn are stored,
Calculating the variation of the stored sensing components from four sets of values of the sensing components that the processing circuit has identified as corresponding to north, south, east and west directions, and
the direction calculation is compensated as a function of the calculated change.
78. The electronic compass system of claim 77 wherein said processing circuitry stores sensed components for those vehicle directions that are operating immediately before and after any approximately 90 degree vehicle turn if the sensed components are determined to be within acceptable ranges of other previously stored sensed components.
79. The electronic compass system of claim 77 wherein the processing circuitry stores the sensed components of those vehicle directions that are operating immediately before and after any approximately 90 degree vehicle turn if it is determined that the vehicle is operating in those directions for at least a predetermined period of time.
80. An electronic compass system for a vehicle, comprising:
a magnetic sensor circuit for sensing at least two components of the earth's magnetic field vector and producing output signals representative of the at least two sensed components; and
a processing circuit coupled to the magnetic sensor circuit for receiving the output signal from the magnetic sensor circuit, calculating a direction of the vehicle as a function of the sensed component, and generating a direction signal representative of the calculated direction, wherein the processing circuit determines in which of a plurality of regions the vehicle is currently operating and compensates the direction calculation as a function of a change in geomagnetism of the region in which the vehicle is currently operating,
Wherein the processing circuitry monitors changes in vehicle position relative to a plurality of zones by monitoring vehicle direction and time of operation in each vehicle direction to determine in which zone the vehicle is currently operating.
81. An electronic compass system for use in a vehicle having vehicle equipment including one of a convertible top and a sunroof, the electronic compass system comprising:
a magnetic sensor circuit for sensing at least two components of the earth's magnetic field vector and producing output signals representative of the at least two sensed components;
a processing circuit connected to the magnetic sensor circuit for sampling the output signal from the magnetic sensor circuit, calculating a direction of the vehicle as a function of the sensing component, and generating a direction signal representative of the calculated direction; and
a compensation device compensates for the effect of a change in the open or closed state of a vehicle equipment on the magnetic field sensed by the magnetic sensor circuit.
82. The electronic compass system of claim 81 wherein the compensation means comprises a monitoring circuit that monitors the output of the magnetic sensor circuit to identify changes in the output signal level in a consistent manner caused by an open or closed state of the vehicle equipment.
83. The electronic compass system of claim 82 wherein the monitoring circuit is a digital signal processor.
84. The electronic compass system of claim 82 wherein the monitor circuit is part of the processing circuit.
85. The electronic compass system of claim 82 wherein said magnetic sensor circuit comprises three sensing elements for providing three output signals representative of three orthogonal components of the earth's magnetic field, wherein said monitoring circuit monitors the output signals of all three of said sensing elements to identify changes in the output signal level in a consistent manner caused by an open or closed state of the vehicle equipment.
86. The electronic compass system of claim 82 wherein said magnetic sensor circuit comprises two sensing elements for providing two output signals representative of two orthogonal components of the earth's magnetic field, wherein said monitoring circuit monitors the output signals of both of said sensing elements to identify changes in the output signal level in a consistent manner caused by an open or closed state of the vehicle equipment.
87. The electronic compass system of claim 82 wherein the processing circuitry selects a first approximate geometric pattern based on a first set of reference data points obtained from the sensed components and calculates the direction of the vehicle as a function of at least two of the sensed components when referencing the first approximate geometric pattern.
88. The electronic compass system of claim 87, wherein the compensation device comprises a portion of the processing circuit, wherein during the monitoring circuit identifying a change in the output signal level in a consistent manner caused by an open or closed state of vehicle equipment, the portion of the processing circuit selects a second approximate geometric pattern based on the received reference data points and calculates the direction of the vehicle using the second approximate geometric pattern.
89. The electronic compass system of claim 88 wherein said portion of said processing circuitry calculates the orientation of the vehicle using the first approximation geometry pattern during a period in which said monitoring circuitry does not recognize a change in the output signal level in a consistent manner caused by an open or closed state of the vehicle equipment.
90. The electronic compass system of claim 87 wherein the compensation device comprises a portion of the processing circuit, wherein the portion of the processing circuit moves the first approximate geometric pattern by an offset corresponding to a change in output signal level produced by the conductive windshield when activated during a period in which the monitoring circuit identifies a change in output signal level in a consistent manner caused by an open or closed state of the vehicle equipment.
91. The electronic compass system of claim 81 wherein said compensation means immediately compensates for the effect of an electric field caused by an on or off state of the vehicle equipment on the magnetic field sensed by the magnetic sensor circuit when an activation signal is detected that causes a change in the on or off state of the vehicle equipment.
92. An electronic compass system for use in a vehicle having at least one vehicle accessory capable of adversely affecting compass system operation, the electronic compass system comprising:
a magnetic sensor circuit that senses at least two components of the earth's magnetic field vector and generates output signals representative of the at least two sensed components;
a processing circuit connected to the magnetic sensor circuit for sampling the output signal from the magnetic sensor circuit, calculating a direction of the vehicle as a function of the sensing component, and generating a direction signal representative of the calculated direction; and
wherein when the effect of the vehicle accessory on the magnetic field is detected, the processing circuit immediately compensates for the effect of the vehicle accessory on the magnetic field sensed by the magnetic sensor circuit without requiring a signal from the vehicle accessory.
93. The electronic compass system of claim 92 wherein the compensation means comprises a monitoring circuit that monitors the output of the magnetic sensor circuit to identify changes in the output signal level in a consistent manner caused by vehicle accessories.
94. The electronic compass system of claim 93, wherein said monitoring circuit is a digital signal processor.
95. The electronic compass system of claim 93, wherein said monitoring circuit is part of said processing circuit.
96. The electronic compass system of claim 93 wherein said magnetic sensor circuit comprises three sensing elements for providing three output signals representative of three orthogonal components of the earth's magnetic field, wherein said monitoring circuit monitors the output signals of all three of said sensing elements to identify changes in the output signal levels in a consistent manner caused by vehicle accessories.
97. The electronic compass system of claim 93 wherein said magnetic sensor circuit comprises two sensing elements for providing two output signals representative of two orthogonal components of the earth's magnetic field, wherein said monitoring circuit monitors the output signals of both of said sensing elements to identify changes in the output signal level in a consistent manner caused by vehicle accessories.
98. The electronic compass system of claim 93 wherein the processing circuitry selects a first approximate geometric pattern based on a first set of reference data points obtained from the sensed components and calculates the direction of the vehicle as a function of at least two of the sensed components when referencing the first approximate geometric pattern.
99. The electronic compass system of claim 98 wherein the compensation device comprises a portion of the processing circuit, wherein during the time that the monitoring circuit identifies a change in output signal level in a consistent manner caused by a vehicle accessory, the portion of the processing circuit selects a second approximate geometric pattern based on the received reference data points and calculates the direction of the vehicle using the second approximate geometric pattern.
100. The electronic compass system of claim 99 wherein said portion of said processing circuitry calculates a direction of the vehicle using a first approximation geometric pattern during a period in which said monitoring circuitry does not recognize a change in output signal level in a consistent manner caused by a vehicle accessory.
101. The electronic compass system of claim 98 wherein the compensation device comprises a portion of the processing circuit, wherein during the monitoring circuit identifying a change in the output signal level in a consistent manner caused by a vehicle accessory, the portion of the processing circuit moves the first approximate geometric pattern by an offset corresponding to the change in the output signal level caused by the vehicle accessory when activated.
102. The electronic compass system of claim 92 wherein said compensation means immediately compensates for the effect of an electric field caused by an on or off state of vehicle equipment on the magnetic field sensed by the magnetic sensor circuit when activation of a vehicle accessory change is detected.
103. The electronic compass system of claim 93 wherein said monitoring circuit monitors the voltage of the vehicle battery and monitors the output of the magnetic sensor circuit to identify changes in the output signal level in a consistent manner caused by vehicle accessories viewed as a function of the vehicle battery voltage.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US60/449,828 | 2003-02-24 | ||
| US10/784,594 | 2004-02-23 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| HK1118603A true HK1118603A (en) | 2009-02-13 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1604171B1 (en) | Electronic compass system | |
| EP1488196B1 (en) | Electronic compass system | |
| CN101208578B (en) | Electronic compass system | |
| US5761094A (en) | Vehicle compass system | |
| US6651003B2 (en) | Method of automatic continuous calibration for an electric compass | |
| US6465963B1 (en) | Headlight control system utilizing information from a microwave receiver | |
| US8777431B2 (en) | Integrated automatic compass for vehicle | |
| US20060247854A1 (en) | Navigation device and method for determining orientation of vehicle | |
| US6047237A (en) | Compass precalibration method | |
| JP3671478B2 (en) | Vehicle solar radiation detection device and vehicle air conditioner | |
| HK1118603A (en) | Electronic compass system | |
| KR20180027239A (en) | Terminal, Vehicle having the same and method for controlling the same |