Patent Publication Number: US-9835470-B2

Title: MEMS sensor filtering with error feedback

Description:
BACKGROUND 
     Micro-electromechanical systems (MEMS) can include various sensors, such as gyroscopes, accelerometers and magnetometers. These sensors can be implemented in various control systems and inertial navigation applications, such as an Inertial Measurement Unit (IMU). The operation of a MEMS sensor can be disrupted or stopped when subjected to very high levels of shock or vibration. As a result, MEMS sensors often require filtering to improve performance during vibration and shock environments. 
     SUMMARY 
     Systems and methods for filtering a micro-electromechanical system sensor rate signal with error feedback are provided. In one example, a micro-electromechanical system sensor rate signal is provided. Next, a feedback signal from a feedback loop is subtracted from the micro-electromechanical system sensor rate signal to produce a first combined signal. The first combined signal is then filtered to produce a filtered rate output. The micro-electromechanical system sensor rate signal is then subtracted from the filtered rate output to produce an error signal, wherein the error signal is used in the feedback loop to generate a feedback signal for a future time step. 
    
    
     
       DRAWINGS 
       Understanding that the drawings depict only exemplary embodiments and are not therefore to be considered limiting in scope, the exemplary embodiments will be described with additional specificity and detail through the use of the accompanying drawings, in which: 
         FIGS. 1A and 1B  are flow diagrams of an example method of MEMS sensor filtering with error feedback. 
         FIG. 2  is a block diagram of an example system for MEMS sensor filtering with error feedback. 
     
    
    
     In accordance with common practice, the various described features are not drawn to scale but are drawn to emphasize specific features relevant to the exemplary embodiments. 
     DETAILED DESCRIPTION 
     While filtering of a MEMS sensor rate signal can provide many useful benefits, it can also be detrimental in some applications because errors can accumulate in the rate signal. For example, when filters are used in MEMS sensors for navigation purposes, large angles due to rate limiting and other types of filters can accumulate in the rate signal, which can cause heading or attitude problems. Embodiments described herein provide for systems and methods of feeding back the signal error due to filtering, to reduce accumulation of errors in the system. As a result, the proposed systems and methods allow arbitrary sensor rate signal filtering with reduced impact to navigation performance. 
       FIGS. 1A and 1B  are flow diagrams of an example method  100  for filtering a MEMS sensor rate signal. In exemplary embodiments, method  100  receives a MEMS sensor rate signal and operates on the MEMS sensor rate signal to generate a filtered rate output  101  as well as a feedback signal  103  for a future iteration of method  100 . A given iteration of method  100  is also referred to herein as a “time step” of method  100 . 
     The filtered rate output  101  is generated by applying one or more filters to the MEMS sensor rate signal  102 . The feedback signal is generated based on the difference between the filtered rate output  101  and the MEMS sensor rate signal  102  (that is, the difference between the input signal and the output signal of method  100 ). The difference between the MEMS sensor rate signal  102  and the filtered rate output  101  is the change in the MEMS sensor rate signal  102  caused by the filter in the current time step (iteration) of the method  100 . This change, although purposely applied to the MEMS sensor rate signal  102  by the filter, causes the filtered rate output  101  to not include all of the actual measurement obtained by the MEMS sensor. Since the MEMS sensor rate signal  102  is an accumulated signal (i.e., the MEMS sensor rate signal  102  at the current time represents the change from the MEMS sensor rate measured in the previous time), the change in the MEMS sensor rate  102  signal caused by the filter will accumulate over time. If, as in a conventional MEMS sensor, the change caused by the filter is ignored, the change results in a measurement error in the filtered rate output  101 . Accordingly, the change applied by the filter to the MEMS sensor rate signal  102  (that is, the difference between the MEMS sensor rate signal  102  and the filtered rate output  101 ) is an error signal. Based on this error signal, method  100  applies a feedback signal to the MEMS sensor rate signal  102  for a future time step(s) in order to reduce accumulation of this error in the filtered rate output  101 . More detail regarding method  100  is provided below. 
     The input signal for method  100  is a MEMS sensor rate signal (block  102 ). As is known, MEMS sensors can be used in a variety of applications to measure information about a system to which the MEMS sensor is incorporated into. For example, MEMS sensors can be used in gyroscopes, accelerometers and magnetometers. In these applications, the MEMS sensor will measure the angular rotation, linear acceleration and orientation of the MEMS, respectively. This measurement from the MEMS sensor is the rate signal acted on in method  100  (block  102 ). Although method  100  relates to filtering of the rate signal, additional filtering of the rate signal may occur prior to being acted on in method  100 . Such filtering, if present, would not be a part of method  100  discussed herein. Therefore, in some embodiments, the rate signal  102  input into method  100  is a raw unfiltered signal from the MEMS sensor. In other embodiments, the MEMS rate signal  102  is filtered prior to use in method  100 , and method  100  applies additional filtering to generate a filtered rate output  101  and also generates a feedback signal based on the additional filtering. 
     As discussed above, one or more filters are applied to the MEMS sensor rate signal  102  (block  106 ) to, for example, smooth the response from the MEMS sensor. Filtering the MEMS sensor rate signal  102  (block  106 ) produces the filtered rate output  101 . Filtering the MEMS sensor rate signal  102  can include applying any appropriate filter including but not limited to a finite impulse response filter, an infinite impulse response filter, a rate limiting filter, a clipping filter and a smoothing filter. In addition, in some embodiments, more than one filter can be applied to the first combined signal. The type of filters and the number of filters used can depend on the applications for which the MEMS sensor will be used. The filtered rate output  101  is the output of method  100  which can be used for further processing such as, to generate a navigation solution. 
     As also discussed above, method  100  includes generating a feedback signal  103  based on the error caused by filtering the MEMS signal (block  106 ). The feedback signal  103  is generated by a feedback loop which is described below with respect to blocks  108 - 114 . 
     In order to generate the feedback signal  103 , the error caused by filtering the MEMS signal (block  106 ) is determined (block  110 ). This error is determined by calculating the difference between the filtered rate output  101  and the MEMS sensor rate signal  102  to which that filtered rate output  101  corresponds. In an example, this difference is calculated by subtracting the MEMS sensor rate signal  102  from the filtered rate output  101  to produce an error signal. The difference between these two signals is the amount of signal that the filter had eliminated due to its filtering in block  106 . That is, each time a rate measurement is made by the sensor, if there is a filter applied to it, there may be some information that is removed which if not accounted for could end up accumulating in the system. For example, if a filter is applied to an acceleration experienced by the MEMS sensor, the filtered output could be a fraction of the actual acceleration. The difference between the filtered output and the actual acceleration is the error signal. 
     The MEMS sensor rate signal  102  that corresponds to the filtered rate output  101  is the time step or one of the time steps of the MEMS sensor rate signal  102  that is filtered in block  106  to generate the filtered output signal  101 . Some types of filters, such as a rate limiting filter or clipping filter, used in block  108  do not introduce any delay in the filtered rate output  101  relative to the MEMS sensor rate signal  102 . For such filters that do not introduce delay, the MEMS sensor rate signal  102  that corresponds to the filtered rate output  101  for a given time step is the MEMS sensor rate signal  102  for that same time step. In a situation where none of the filters applied in block  106  introduce a delay, the MEMS sensor rate signal  102  input into method  100  for a given time step can be differenced with the filtered rate output  101  for that same time step. 
     Other types of filters used in block  106  (such as finite impulse response filter or an infinite impulse response filter) introduce a group delay into the filtered rate output. In such an example where one or more of the filters applied in block  106  introduces a delay, the MEMS sensor rate signal from block  102  is delayed (block  108 ) prior to being differenced with the filter rate output  101 . The delay in block  108  is used to compensate for the group delay introduced by the filtering in block  106 . Stated another way, the delay provided in block  108  is to synchronize the MEMS sensor rate signal from block  102  and the filtered rate output from block  106 , so that the two signals correspond to an equivalent point in time. In any case, the result of differencing the filtered rate output  101  from the MEMS sensor rate signal  102  is an error signal that is used to generate the feedback signal  103 . 
     In exemplary embodiments, the error signal is integrated to generate an integrated error signal (block  112 ). The advantage of incorporating block  112  into method  100  is that it allows the accumulated filtering error to be redistributed over a timeframe controlled by the feedback gain  114 . For example, assume there was a large positive error output for a given sample (time step). The integrator  112  retains the large positive error incurred in that time step and allows it to be redistributed back into the filtered rate output  101  over multiple future time steps. Without integration, the filtering error for a given time step would be lost for future time steps, thereby removing the ability to redistribute the filtering error over multiple future time steps. 
     In exemplary embodiments, a gain is applied to the integrated error signal  112  to produce the feedback signal used in block  104  (block  114 ). Such a gain can be applied as known to those skilled in the art to control the response of a feedback loop. The feedback gain determines how rapidly the filtering error is redistributed back into the filtered rate output  101 . For example, if you want the filtering error for a given time step to feed back quickly (over the course of few future time steps), then the gain can be set high and vice-versa to feed back slowly (over the course of many future time steps). That is, the feedback gain will be set to generate a desired feedback rate in order to limit the size and duration of signal transients in the feedback signal  103 , which can cause problems for the system and is one reason why filters are used in MEMS sensors as described above. So, for example, if method  100  is performed by a MEMS every millisecond and if the error output changed by too much during a time step, the gain applied in block  114  could limit the amount of error output fed back into the system during this time step. The remainder would then be added to the system during future time steps at a rate controlled by the feedback gain. The rate at which the gain is set depends on the application of the MEMS. 
     In any case, the feedback signal  103  generated by the feedback loop in a given time step is applied to the MEMS sensor signal  102  (block  104 ) for the next time step. The feedback signal  103  is applied to the MEMS sensor signal  102  prior to the MEMS sensor signal  102  being filtered in block  106 . As a result, the filtering characteristics for the MEMS sensor will remain the same. In an example, the feedback signal  103  is subtracted from the MEMS sensor rate signal  102  to produce a first combined signal. This first combined signal is the signal filtered at block  106 . 
       FIG. 2  is an example system  200  for micro-electromechanical system (MEMS) sensor filtering with error feedback. The system  200  includes at least MEMS sensor  202  configured to produce at least one MEMS sensor rate signal  204 , at least one memory device  208  configured to store filtering instructions  210  and at least one processing device  206  communicatively coupled to the at least one MEMS sensor  202  and the at least one memory device  208 . Further, when the at least one processing device  206  executes the filtering instructions  210  stored in memory  208 , the processing device  206  subtracts from the at least one micro-electromechanical system sensor rate signal  204 , a feedback signal from a feedback loop, to produce a first combined signal. Further, the filtering instructions  210 , when executed by the processing device  206 , cause the at least one processing device  206  to filter the first combined signal to produce a filtered rate output and subtract the at least one MEMS sensor rate signal from the filtered rate output to produce the error signal, wherein the error signal is used in the feedback loop to generate a feedback signal for a future time step. The error signal, the MEMS sensor  202 , the MEMS sensor rate signal  204  produced by the MEMS sensor  202  and the filters can have some or all of the same characteristics as the error signal, the MEMS, the MEMS sensor rate signal produced by the MEMS and the filters discussed above in  FIG. 1 , respectively. 
     Moreover, the filtering instructions  210 , when executed by the at least one processing device  206 , cause the at least one processing device  206  to integrate the error signal in the feedback loop to generate an integrated error signal which is used to generate the feedback signal for a future time step. In addition, the filtering instructions can cause the at least one processing device  206  to apply a gain to the error signal to generate the feedback signal for a future time step, which is subtracted from the MEMS sensor rate signal of the future time step to produce the first combined signal of the future time step. Similarly, the delays and the gains discussed here can have some or all of the same characteristics as the delays and gains discussed above in relation to  FIG. 1 . 
     In certain embodiments, the one or more processing devices  206  can include a central processing unit (CPU), microcontroller, microprocessor (e.g., a digital signal processor (DSP)), field programmable gate array (FPGA), application specific integrated circuit (ASIC), or other processing device. In certain embodiments, the memory  208  is an electronic hardware device for storing machine readable data and instructions. In one embodiment, the memory  208  stores information on any appropriate computer readable medium used for storage of computer readable instructions or data structures. The computer readable medium can be implemented as any available media that can be accessed by a general purpose or special purpose computer or processor, or any programmable logic device. Suitable processor-readable media may include storage or memory media such as magnetic or optical media. For example, storage or memory media may include conventional hard disks, Compact Disk-Read Only Memory (CD-ROM), volatile or non-volatile media such as Random Access Memory (RAM) (including, but not limited to, Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate (DDR) RAM, RAMBUS Dynamic RAM (RDRAM), Static RAM (SRAM), etc.), Read Only Memory (ROM), Electrically Erasable Programmable ROM (EEPROM), and flash memory, etc. Suitable processor-readable media may also include transmission media such as electrical, electromagnetic, or digital signals, conveyed via a communication medium such as a network and/or a wireless link. 
     Example Embodiments 
     Example 1 includes a filtering method for a micro-electromechanical system sensor rate signal comprising: providing a micro-electromechanical system sensor rate signal; subtracting from the micro-electromechanical system sensor rate signal, a feedback signal from a feedback loop, to produce a first combined signal; filtering the first combined signal to produce a filtered rate output; and subtracting the micro-electromechanical system sensor rate signal from the filtered rate output to produce an error signal, wherein the error signal is used in the feedback loop to generate a feedback signal for a future time step. 
     Example 2 includes the filtering method for a micro-electromechanical system sensor rate signal of Example 1, wherein the feedback loop integrates the error signal to generate an integrated error signal which is used to generate the feedback signal for a future time step. 
     Example 3 includes the filtering method for a micro-electromechanical system sensor rate signal of any of Examples 1-2, wherein a gain is applied to the error signal to generate the feedback signal for a future time step, which is subtracted from the micro-electromechanical system sensor rate signal of the future time step to produce the first combined signal of the future time step. 
     Example 4 includes the filtering method for a micro-electromechanical system sensor rate signal of any of Examples 1-3, comprising delaying the micro-electromechanical system sensor rate signal before subtracting the micro-electromechanical system rate signal from the filtered rate output to compensate for delay caused by the filter in the filtered rate output. 
     Example 5 includes the filtering method for a micro-electromechanical system sensor rate signal of any of Examples 1-4, wherein the filter comprises at least one of the following filters: a finite impulse response filter, an infinite impulse response filter, a rate limiting filter, a clipping filter, and a smoothing filter. 
     Example 6 includes the filtering method for a micro-electromechanical system sensor rate signal of any of Examples 1-5, wherein filtering the first combined signal comprises using more than one filter on the first combined signal to produce the filtered rate output. 
     Example 7 includes a micro-electromechanical sensor system comprising: at least one micro-electromechanical sensor configured to produce at least one micro-electromechanical system sensor rate signal; at least one memory device configured to store filtering instructions; and at least one processing device communicatively coupled to the at least one micro-electromechanical sensor and the at least one memory device, wherein the filtering instructions, when executed by the at least one processing device, cause the at least one processing device to: subtract from the at least one micro-electromechanical system sensor rate signal, a feedback signal from a feedback loop, to produce a first combined signal; filter the first combined signal to produce a filtered rate output; and subtract the at least one micro-electromechanical system sensor rate signal from the filtered rate output to produce an error signal, wherein the error signal is used in the feedback loop to generate a feedback signal for a future time step. 
     Example 8 includes the micro-electromechanical sensor system of Example 7, wherein the filtering instructions, when executed by the at least one processing device, cause the at least one processing device to integrate the error signal in the feedback loop to generate an integrated error signal which is used to generate the feedback signal for a future time step. 
     Example 9 includes the micro-electromechanical sensor system of any of Examples 7-8, wherein the filtering instructions, when executed by the at least one processing device, cause the at least one processing device to apply a gain to the error signal to generate the feedback signal for a future time step, which is subtracted from the micro-electromechanical system sensor rate signal of the future time step to produce the first combined signal of the future time step. 
     Example 10 includes the micro-electromechanical sensor system of any of Examples 7-9, wherein the filtering instructions, when executed by the at least one processing device, cause the at least one processing device to apply a delay to the micro-electromechanical system sensor rate signal before subtracting the micro-electromechanical system rate signal from the filtered rate output to compensate for delay caused by the filter in the filtered rate output. 
     Example 11 includes the micro-electromechanical sensor system of any of Examples 7-10, wherein the filter comprises at least one of the following filters: a finite impulse response filter, an infinite impulse response filter, a rate limiting filter, a clipping filter, and a smoothing filter. 
     Example 12 includes the micro-electromechanical sensor system of any of Examples 7-11, wherein the filter comprises using more than one filter on the first combined signal to produce the filtered rate output. 
     Example 13 includes the micro-electromechanical sensor system of any of Examples 7-12, wherein the at least one micro-electromechanical sensor is at least one of the following types of sensors: a gyroscope, an accelerometer or a magnetometer. 
     Example 14 includes a micro-electromechanical sensor apparatus comprising: at least one micro-electromechanical sensor configured to: produce at least one micro-electromechanical system sensor rate signal; subtract from the micro-electromechanical system sensor rate signal, a feedback signal from a feedback loop, to produce a first combined output; filter the first combined output to produce a filtered signal output; and subtract the at least one micro-electromechanical system sensor signal from the filtered rate output to produce the error output, wherein the error signal is used in the feedback loop to generate a feedback signal for a future time step. 
     Example 15 includes the micro-electromechanical sensor apparatus of Example 14, wherein the at least one micro-electromechanical sensor is further configured to integrate the error signal in the feedback loop to generate an integrated error signal which is used to generate the feedback signal for a future time step. 
     Example 16 includes the micro-electromechanical sensor apparatus of any of Examples 14-15, wherein the at least one micro-electromechanical sensor is further configured to apply a gain to the error signal to generate the feedback signal for a future time step, which is subtracted from the micro-electromechanical system sensor rate signal of the future time step to produce the first combined signal of the future time step. 
     Example 17 includes the micro-electromechanical sensor apparatus of any of Examples 14-16, wherein the at least one micro-electromechanical sensor is further configured to apply a delay to the micro-electromechanical system sensor rate signal before subtracting the micro-electromechanical system rate signal from the filtered rate output to compensate for delay caused by the filter in the filtered rate output. 
     Example 18 includes the micro-electromechanical sensor apparatus of any of Examples 14-17, wherein the filter comprises at least one of the following filters: a finite impulse response filter, an infinite impulse response filter, a rate limiting filter, a clipping filter, and a smoothing filter. 
     Example 19 includes the micro-electromechanical sensor apparatus of any of Examples 14-18, wherein the filter comprises using more than one filter on the first combined signal to produce the filtered rate output. 
     Example 20 includes the micro-electromechanical sensor apparatus of any of Examples 14-19, wherein the at least one micro-electromechanical sensor is at least one of the following types of sensors: a gyroscope, an accelerometer or a magnetometer. 
     Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement, which is calculated to achieve the same purpose, may be substituted for the specific embodiments shown. Therefore, it is manifestly intended that this invention be limited only by the claims and the equivalents thereof.