CN110647846B - Method and sensor for multi-phase scanning in fingerprint and touch applications - Google Patents

Method and sensor for multi-phase scanning in fingerprint and touch applications Download PDF

Info

Publication number
CN110647846B
CN110647846B CN201910902871.5A CN201910902871A CN110647846B CN 110647846 B CN110647846 B CN 110647846B CN 201910902871 A CN201910902871 A CN 201910902871A CN 110647846 B CN110647846 B CN 110647846B
Authority
CN
China
Prior art keywords
matrix
excitation
processing device
electrodes
sensor array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910902871.5A
Other languages
Chinese (zh)
Other versions
CN110647846A (en
Inventor
维克特·奎曼
斯巴达克·曼科夫斯基
罗曼·欧吉扣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cypress Semiconductor Corp
Original Assignee
Cypress Semiconductor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/671,129 external-priority patent/US9639733B2/en
Application filed by Cypress Semiconductor Corp filed Critical Cypress Semiconductor Corp
Publication of CN110647846A publication Critical patent/CN110647846A/en
Application granted granted Critical
Publication of CN110647846B publication Critical patent/CN110647846B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/13Sensors therefor
    • G06V40/1306Sensors therefor non-optical, e.g. ultrasonic or capacitive sensing

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Measurement Of Length, Angles, Or The Like Using Electric Or Magnetic Means (AREA)
  • Image Input (AREA)

Abstract

To methods and sensors for multi-phase scanning in fingerprint and touch applications. Techniques for fully differential multi-phase scanning in capacitive fingerprint applications are described herein. In an example embodiment, a system includes a capacitive fingerprint sensor array and a processing device coupled to the capacitive fingerprint sensor array. The processing device is configured to at least: scanning the capacitive fingerprint sensor array in a fully-differential multi-phase mode; receiving a plurality of measurements representing a portion of a finger on a capacitive fingerprint sensor array; and generating a fingerprint image of the portion of the finger based on the plurality of measurements.

Description

Method and sensor for multi-phase scanning in fingerprint and touch applications
This application is a divisional application of the application entitled "method and sensor for multiphase scanning in fingerprint and touch applications" filed on date 2015, 9, 18, application No. 201580001070.1.
Priority
This application is an international application to U.S. application 14/671,129 filed on day 27 of 2015, which claims priority and benefit to U.S. provisional application 62/084,036 filed on day 25 of 2014 and U.S. provisional application 62/084,030 filed on day 25 of 2014, 11, and 25, all of which are incorporated herein by reference in their entirety.
Technical Field
The present disclosure relates generally to the field of capacitive fingerprint devices, and in particular to processing data acquired from a capacitive fingerprint sensor array.
Background
Some computing devices, such as notebook computers, personal data assistants, mobile communication devices (e.g., smartphones, cellular phones, tablet computers, etc.), and other devices may include a user interface device configured to use a fingerprint sensor to acquire a fingerprint image from a user and to generally perform some operation or action based on the acquired fingerprint image. One type of such user interface device is a touch input device that operates a fingerprint sensor by capacitive sensing. For example, the touch input device may include a capacitive fingerprint sensor that includes an array of capacitive sensor elements. Capacitive sensing generally involves a scanning operation that periodically measures changes in capacitance associated with capacitive sensor elements to determine the presence, location, and/or other characteristics of a conductive object (e.g., a user's finger, a stylus, etc.) relative to a sensing surface of the capacitive sensor.
The structure and operation of a capacitive fingerprint sensor differs from other common capacitive sensors (e.g., touch screen sensors) in at least one respect. For example, the active area of a capacitive fingerprint sensor is one to two orders of magnitude smaller (e.g., typically about 100 times) than the active area of a typical capacitive touch screen sensor, and the number of sensor elements in a capacitive fingerprint sensor is about one order of magnitude smaller than the number of sensor elements in a capacitive touch sensor. In addition, the intensity of the fingerprint signal acquired by a capacitive fingerprint sensor is two to three orders of magnitude less than the signal acquired by a typical capacitive touch screen sensor, requiring extremely sensitive and low noise circuitry in order to capture a useful fingerprint image. Thus, acquiring and processing fingerprint image data from a capacitive fingerprint sensor presents some unique challenges that are not necessarily (if at all) addressed by the technology developed for typical capacitive sensors (e.g., touch screen sensors).
Disclosure of Invention
The present disclosure also includes the following:
1) a method, comprising:
the processing device receives a plurality of measurements representing a portion of a finger on a capacitive fingerprint sensor array;
wherein the plurality of measurements are derived from sensor elements of the capacitive fingerprint sensor array that are scanned in a fully-differential multi-phase mode;
the processing device generates a fingerprint image of the portion of the finger based on the plurality of measurements.
2) The method of 1), wherein the plurality of measurements represent mutual capacitances measured from the sensor elements of the capacitive fingerprint sensor array.
3) The method of 1), wherein the fingerprint image is a set of data values visually representing a fingerprint of the portion of the finger in a digital format.
4) The method of claim 1), wherein generating the fingerprint image comprises the processing device generating an excitation matrix representing a polarity of a control signal applied to multiplex a plurality of electrodes of the sensor element and an output signal matrix representing the plurality of measurements.
5) The method of claim 1), wherein the sensor elements of the capacitive fingerprint sensor array comprise Transmit (TX) electrodes, and wherein the processing device generating the fingerprint image comprises:
generating a TX excitation matrix and reducing the TX excitation matrix by one row and one column;
generating an output signal matrix based on the plurality of measurements and reducing the output signal matrix by one row;
generating a restored image matrix representing the fingerprint image by connecting a row constant to a product of the output signal matrix and an inverse of the TX excitation matrix.
6) The method of claim 5), wherein the TX excitation matrix comprises zeros and excitation vectors, and the method further comprises a sequencer of the processing device driving the TX electrodes according to the TX excitation matrix.
7) The method of 1), wherein the sensor elements of the capacitive fingerprint sensor array comprise Receive (RX) electrodes, and the method further comprises:
generating an RX excitation matrix comprising zeros and excitation vectors; and
multiplexing the RX electrodes to one or more differential receivers of the processing device according to the RX excitation matrix;
wherein the processing device generating the fingerprint image comprises:
reducing the RX excitation matrix by one row and one column;
generating an output signal matrix based on the plurality of measurements and reducing the output signal matrix by one row;
generating a restored image matrix representing the fingerprint image by connecting a row constant to a product of the output signal matrix and an inverse of the RX excitation matrix.
8) The method of claim 1), wherein the sensor elements of the capacitive fingerprint sensor array comprise Transmit (TX) electrodes and Receive (RX) electrodes, and wherein the processing device generates the fingerprint image comprises:
generating an RX excitation matrix and reducing the RX excitation matrix by one row and one column;
generating a first output signal matrix based on the plurality of measurements and reducing the first output signal matrix by one row;
generating a first recovered matrix by connecting a row constant to the product of the first output signal matrix and the inverse of the RX excitation matrix;
transposing the first recovered matrix to produce a second matrix of output signals;
generating a TX excitation matrix and reducing the TX excitation matrix by one row and one column;
reducing the second output signal matrix by one row;
generating a second restored image matrix by connecting a row constant to a second product of the second output signal matrix and an inverse of the TX excitation matrix.
9) The method of claim 8), wherein the TX excitation matrix includes a zero sum excitation vector and the RX excitation matrix includes a zero sum excitation vector, and the method further comprises:
a sequencer of the processing device drives the TX electrodes according to the TX excitation matrix; and
multiplexing the RX electrodes to one or more differential receivers of the processing device according to the RX excitation matrix.
10) The method of claim 1), wherein the processing device generating the fingerprint image comprises:
generating a firing matrix based on the pseudorandom sequence and the autocorrelation function;
generating a matrix of output signals based on the plurality of measurements;
generating a restored image matrix representing the fingerprint image based on a product of the output signal matrix and a transposed matrix of the excitation matrix; and
applying a baseline compensation based on the recovered image matrix.
11) An apparatus, comprising:
a sequencer configured to control scanning of the capacitive fingerprint sensor array in a fully-differential multi-phase mode;
a differential receiver configured to receive a plurality of measurement signals from the capacitive fingerprint sensor array, the plurality of measurement signals representing a portion of a finger on the capacitive fingerprint sensor array; and
a deconvolution engine configured to generate a fingerprint image of the portion of the finger based on the plurality of measurement signals.
12) The apparatus of claim 11), wherein the sequencer comprises:
transmit (TX) control circuitry configured to control multiplexing of drive signals to a plurality of TX electrodes of the capacitive fingerprint sensor array; and
a Receive (RX) control circuit configured to control multiplexing of output signals from a plurality of RX electrodes of the capacitive fingerprint sensor array to the differential receiver.
13) The apparatus of claim 11), wherein the differential receiver comprises:
a differential amplifier configured to receive the plurality of measurement signals from Receive (RX) electrodes of the capacitive fingerprint sensor array;
a quadrature demodulator coupled to the differential amplifier and configured to generate a pair of phase-shifted signals based on an output from the differential amplifier; and
a pair of analog-to-digital converters (ADCs) configured to generate an I component value and a Q component value based on the pair of phase shifted signals.
14) The apparatus of 11), further comprising a channel engine coupled to the differential receiver, the channel engine configured to at least: calculating digital values corresponding to sensor elements of the capacitive fingerprint sensor array based on outputs from the differential receiver; and storing the digital values for use by the deconvolution engine.
15) The apparatus of claim 11), wherein the deconvolution engine comprises one or more hardware circuits configured to generate an excitation matrix representing a polarity of control signals applied to multiplex a plurality of electrodes of the capacitive fingerprint sensor array and an output signal matrix storing digital values corresponding to sensor elements of the capacitive fingerprint sensor array.
16) The apparatus of claim 15), wherein the one or more hardware circuits of the deconvolution engine are configured to at least:
reducing the excitation matrix by one row and one column;
reducing the output signal matrix by one row;
generating a product of the output signal matrix and an inverse of the excitation matrix; and
generating a restored image matrix representing the fingerprint image by connecting a row constant to the product.
17) The apparatus of claim 15), wherein the one or more hardware circuits of the deconvolution engine are configured to at least:
generating the excitation matrix based on a pseudo-random sequence and an autocorrelation function; and
generating a restored image matrix representing the fingerprint image based on a product of the output signal matrix and a transposed matrix of the excitation matrix.
18) A system, comprising:
a capacitive fingerprint sensor array; and
a processing device coupled to the capacitive fingerprint sensor array, the processing device configured to at least:
scanning the capacitive fingerprint sensor array in a fully-differential multi-phase mode;
receiving a plurality of measurements representing a portion of a finger on the capacitive fingerprint sensor array; and
generating a fingerprint image of the portion of the finger based on the plurality of measurements.
19) The system of 18), wherein the capacitive fingerprint sensor array comprises a plurality of electrodes arranged at a pitch of between 0.05mm and 0.07 mm.
20) The system of 18), wherein to generate a fingerprint image, the processing device is configured to at least:
generating an excitation matrix representing polarities of control signals applied to multiplex a plurality of electrodes of the capacitive fingerprint sensor array, and reducing the excitation matrix by one row and one column;
generating an output signal matrix representing the plurality of measurements and reducing the output signal matrix by one row; and
generating a restored image matrix representing the fingerprint image by connecting a row of constants to a product of the output signal matrix and an inverse of the excitation matrix.
Brief description of the drawings
FIG. 1 illustrates an embodiment of an example sensor system according to some techniques described herein.
Fig. 2A and 2B illustrate partial views that together form a single, complete view illustrating an embodiment of an example sensor system in accordance with some techniques described herein.
Fig. 3 shows the connections of TX and RX electrodes of a capacitive fingerprint sensor array to TX driver and RX receive channels according to an example embodiment.
Fig. 4 illustrates an example of common-mode noise rejection by using zero and RX excitation sequences, according to some embodiments.
Fig. 5 illustrates an example method of recovering a fingerprint image sensed based on zero and multi-phase RX scans using a simplified set of linear equations, according to some embodiments.
Fig. 6A illustrates an example method for excitation (convolution) of a polyphase RX scan, according to some embodiments.
Fig. 6B illustrates an example method for deconvolution of a polyphase RX scan, in accordance with some embodiments.
Fig. 7A illustrates an example method for excitation (convolution) of a multi-phase TX scan, according to some embodiments.
Fig. 7B illustrates an example method for deconvolution of polyphase TX scans, in accordance with some embodiments.
Fig. 8A illustrates an example method for excitation (convolution) of a multi-phase RX-TX scan, according to some embodiments.
Fig. 8B illustrates an example method for deconvolution of polyphase RX-TX scans, in accordance with some embodiments.
Fig. 9A illustrates a dynamic signal range without hardware baseline compensation, according to some embodiments.
Fig. 9B shows the dynamic signal range with hardware baseline compensation according to an example embodiment compared to the embodiment of fig. 9A.
Fig. 10 illustrates operational waveforms of various signals used in a multi-phase scan using a hardware baseline compensation circuit, according to an example embodiment.
FIG. 11 illustrates an example sensor system in accordance with some techniques described herein.
Fig. 12 illustrates an example of a conventional scan configuration for zero and MPRX firing sequences, in accordance with some embodiments.
FIG. 13 shows an example sensor array design with a reference electrode according to an example embodiment.
Fig. 14 illustrates electric field lines of a capacitive fingerprint sensor array having a reference electrode according to an example embodiment.
Fig. 15 shows an example design of a capacitive fingerprint sensor array suitable for use with non-zero and TX and RX excitation sequences, according to an example embodiment.
Fig. 16 shows an example method of excitation (convolution) of a polyphase RX scan with polarity switching according to an example embodiment.
FIG. 17 illustrates an example method of post-processing baseline compensation according to an example embodiment.
FIG. 18 illustrates the effect of post-processing baseline compensation on the quality of a generated fingerprint image according to an example embodiment.
Fig. 19 illustrates the effect of unmatched gains on the resulting fingerprint image according to an example embodiment.
Fig. 20 shows a plot of an Autocorrelation (ACF) function for a pseudorandom M-sequence having a length 127 according to an example embodiment.
Fig. 21 shows an example image reconstruction by using a polyphase RX scan based on a pseudorandom M sequence having a length 127.
Detailed Description
The following description sets forth numerous specific details, such as examples of specific systems, components, methods, etc., in order to provide a good understanding of various embodiments of the techniques described herein for multi-phase mode scanning in capacitive fingerprint and touch applications. It will be apparent, however, to one skilled in the art that at least some embodiments may be practiced without these specific details. In other instances, well-known components, elements, or methods have not been described in detail or are presented in simple block diagram format in order to avoid unnecessarily obscuring the techniques described herein. Therefore, the specific details set forth below are merely exemplary. Particular implementations may vary from these exemplary details and still be contemplated to be within the spirit and scope of the present invention.
Reference in the specification to "an embodiment," "one embodiment," "an example embodiment," "some embodiments," and "various embodiments" does not imply that a particular feature, structure, or characteristic described in connection with the embodiments is included in at least one embodiment of the invention. Moreover, the appearances of the phrases "an embodiment," "one embodiment," "an example embodiment," "some embodiments," and "various embodiments" in various places in the description are not necessarily all referring to the same embodiment.
This description includes references to the accompanying drawings, which form a part of the detailed description. The figures show diagrams in accordance with exemplary embodiments. These embodiments, which may also be referred to herein as "examples," are described in sufficient detail to enable those skilled in the art to practice embodiments of the claimed subject matter described herein. The embodiments may be combined, other embodiments may be utilized, or structural, logical, and electrical changes may be made without departing from the scope and spirit of the claimed subject matter. It should be understood that the embodiments described herein are not intended to limit the scope of the subject matter, but rather to enable one skilled in the art to make, complete, and/or use the subject matter.
SUMMARY
Described herein are various embodiments of techniques for multi-phase scanning in capacitive fingerprint and touch applications using capacitive sensor arrays. In some embodiments, the capacitive sensor array (grid) includes Transmit (TX) and Receive (RX) electrodes that are interleaved or crossed with each other (e.g., in the same or multiple layers of the array) while maintaining electrical isolation from each other. As used herein, "sensor element" refers to a discrete unit or location area (contiguous) of electrodes from which measurements or signals can be derived that are separate and apart from measurements/signals derived from other units or location areas in the capacitive sensor array.
A capacitive touch (e.g., touch screen) sensor array refers to a capacitive sensor array configured with sensor elements suitable for detecting, determining the position of, and/or tracking contact from, a conductive object (e.g., a stylus, a user's finger, etc.) on a touch screen surface (e.g., a touch screen or touch pad). A capacitive fingerprint sensor array is an array of capacitive sensors configured with sensor elements that can generate signals suitable for generating a fingerprint image of at least a portion of a user's finger. As used herein, a "fingerprint image" refers to a set of data values representing a fingerprint in a digital format. In some implementations, the fingerprint image can be a data set that visually represents the valleys and ridges of a fingerprint using its bow, skip, and bucket. In other embodiments, the fingerprint image may be a data set that digitally represents the fingerprint in a non-visual form (e.g., a data structure having data values) from which a visual representation of the fingerprint may be derived after further processing or which may be used by various fingerprint processing operations.
Measurements and measurement signals may be obtained from the capacitive sensor array in a scanning operation. The scanning operation is performed in a "multi-phase" mode when multiple electrodes of the capacitive sensor array are simultaneously driven and/or sensed (e.g., based on signals that differ from each other in phase and/or polarity) during a given drive and/or sense period (e.g., time slot) of the scanning operation. Polyphase tx (mptx) sensing is an example of the polyphase scanning mode. In MPTX sensing, multiple TX electrodes are energized (driven) simultaneously, and a balanced TX driver with a multiplexer can be used to drive several TX electrodes simultaneously. For example, in an MPTX scan mode, multiple TX electrodes of a capacitive sensor may be driven by a respective plurality of signals having substantially the same amplitude (e.g., voltage, current, etc.) but having opposite polarities (e.g., a pair of inverted and non-inverted signals). Polyphase rx (mprx) sensing is another example of a polyphase scanning mode. In MPRX sensing, multiple RX electrodes are simultaneously coupled (e.g., connected) to a receiver, and one or more differential RX receivers and multiplexers may be used to sense several RX electrodes simultaneously. For example, in an MPRX scanning mode, output signals having different phases (e.g., polarities) from one or more RX electrodes may be convolved into a single signal acquired from a capacitive sensor array. If the amplitudes (and possibly phases) of the multiple signals in the multiphase scan mode sum to substantially zero, the scan operation on the capacitive sensor array is performed in a "fully differential" (also referred to as "zero-sum") mode. For example, the scanning operation is performed in a fully differential mode, if the number of electrodes driven by a given (e.g., positive) signal is equal to the number of electrodes driven by an inverted (e.g., negative) signal, the net sum of the amplitudes of the drive signals is substantially zero (e.g., the positive and negative charges applied by the multi-phase drive signals cancel each other).
In an example embodiment, a method for generating a fingerprint image includes: receiving, by a processing device, measurements representative of a finger on a capacitive fingerprint sensor array, wherein the measurements are derived from sensor elements of the array scanned in a fully-differential multi-phase mode; and generating, by the processing device, a fingerprint image of the finger based on the measurement result. In an exemplary aspect of this embodiment, generating the fingerprint image includes generating an excitation matrix representing polarities of control signals applied to multiplex a plurality (TX/RX) of electrodes of the sensor element and an output signal matrix representing the resulting measurements. In an example aspect of this embodiment, generating the fingerprint image may include reducing the excitation matrix by one row and one column, reducing the output signal matrix by one row, and generating a restored image matrix representing the fingerprint image by connecting a row constant to a product of the output signal matrix and an inverse of the excitation matrix. In an example aspect of this embodiment, generating the fingerprint image includes: generating a firing matrix based on the pseudorandom sequence and the autocorrelation function; generating a matrix of output signals based on the plurality of measurements; and generating a restored image matrix representing the fingerprint image based on a product of the output signal matrix and the transposed matrix of the excitation matrix.
In an example embodiment, an apparatus for generating a fingerprint image includes a sequencer, a differential receiver, and a deconvolution engine. The sequencer is configured to control scanning of the capacitive fingerprint sensor array in a fully differential multi-phase mode. The differential receiver is configured to receive a measurement signal representative of a finger on the capacitive fingerprint sensor array. The deconvolution engine is configured to generate a fingerprint image of the finger based on the measurements. In an example aspect of this embodiment, the sequencer may include a Transmit (TX) control circuit configured to control multiplexing of the drive signal to a plurality of TX electrodes of the capacitive fingerprint sensor array and a Receive (RX) control circuit configured to control multiplexing of output signals from a plurality of RX electrodes of the capacitive fingerprint sensor array to the differential receiver. In an example aspect of this embodiment, a differential receiver may comprise: a differential amplifier configured to receive measurement signals from Receive (RX) electrodes of a capacitive fingerprint sensor array; a quadrature demodulator coupled to the differential amplifier and configured to generate a pair of phase-shifted signals based on an output from the differential amplifier; and a pair of analog-to-digital converters (ADCs) configured to generate an I component digital value and a Q component digital value based on the pair of phase shifted signals. In an example aspect of this embodiment, the deconvolution engine may include one or more hardware circuits configured to at least: reducing the excitation matrix by one row and one column; reducing the output signal matrix by one row; and generating a restored image matrix representing the fingerprint image by connecting a row of constants to a product of the output signal matrix and an inverse of the excitation matrix.
In an example embodiment, a system includes a processing device coupled to a capacitive fingerprint sensor array. The processing device is configured to scan the capacitive fingerprint sensor array in a fully-differential multi-phase mode, receive measurements representative of a finger on the capacitive fingerprint sensor array, and generate a fingerprint image of the finger based on the measurements. In an example aspect of this embodiment, to generate the fingerprint image, the processing device is configured to at least: generating an excitation matrix representing polarities of control signals applied to multiplex a plurality of electrodes of a capacitive fingerprint sensor array, and reducing the excitation matrix by one row and one column; generating an output signal matrix representing the measurement results and reducing the output signal matrix by one row; and generating a restored image matrix representing the fingerprint image by connecting a row of constants to a product of the output signal matrix and an inverse of the excitation matrix. In an example aspect of this embodiment, the capacitive fingerprint sensor array comprises a plurality of electrodes arranged at a pitch of between 0.05mm and 0.07 mm.
Various embodiments of the techniques for multi-phase scanning described herein provide significant improvements with respect to one or more of the following:
1) the techniques described herein provide a new method for reconstructing a fingerprint by using a simplified system of equations, which allows obtaining a fingerprint image by using zero and MPTX firing sequences, zero and MPRX firing sequences, and a combined zero and MPTX/MPRX sequence;
2) the techniques described herein provide a hardware baseline compensation circuit that allows for an increase in useful signal dynamic range of a receiver channel when using non-zero and MPTX and/or MPRX sequences;
3) the techniques described herein provide a sensing grid reference electrode that allows for noise cancellation performance comparable to that of zero and MPRX sequences using non-zero and MPRX sequences;
4) the techniques described herein provide compensated sensing grid electrodes that allow for the use of non-zero and MPTX sequences with a dynamic range of the sense channels that is comparable to the dynamic range of the sense channels for the zero and MPTX sequences;
5) the techniques described herein provide a method of eliminating differential amplifier gain imbalance that allows performance comparable to that of more expensive, higher quality amplifiers using lower cost sensing hardware;
6) the techniques described herein provide a method of RX output signal deconvolution by using a pseudorandom sequence that uses only a multiplication factor of ± 1 and a lower cost deconvolution engine without hardware multipliers;
7) the techniques described herein provide a method of baseline compensation that improves image quality, particularly for zero and MPTX/MPRX sensing techniques.
Basis for deconvolution of polyphase signals
Conventional methods for signal deconvolution generally use multiplication on the inverse of the excitation matrix upon which the drive or output signal is convolved. Thus, such conventional methods for signal deconvolution work only on excitation sequences with non-zero sums. However, such conventional methods do not work with excitation matrices based on a sum of zeros sequence, since the excitation matrix has singularities in this case, and thus any measurement signal cannot be deconvoluted to obtain the signal values of all sensor elements, which are part of the convolution. As a result, there is no known conventional method of fingerprint image reconstruction based on fully differential zero and MORX sequences, fully differential zero and excitation sequences, or a combination thereof. Note that when a combination of MPTX and MPRX sequences is used, the problem caused by the baseline capacitance of the sensor elements becomes significantly worse, as the baseline component becomes larger as it is proportional to the product of the MPTX and MPRX sequences.
The techniques for multi-phase scanning described herein address these problems and shortcomings of conventional signal deconvolution methods by providing novel methods, apparatus, and systems for capacitive sensor array scanning and fingerprint image reconstruction. In some embodiments, the techniques described herein allow for reconstruction of detected/unknown fingerprint images by using fully differential zero sum excitation sequences for driving TX electrodes, fully differential zero sum sequences for sensing RX electrodes, and/or by a combination of such sequences. In various embodiments, the techniques described herein provide novel methods for mathematical image reconstruction, novel electrode arrangements for capacitive fingerprint sensor arrays, and novel hardware baseline compensation circuits.
For example, the techniques described herein address problems caused by common mode noise (e.g., noise from a charger or from an AM transmitter) in capacitive fingerprint or touch applications. In some embodiments, such common mode noise may be virtually eliminated when using differential scanning according to the techniques described herein, since the same noise signal is applied to both differential amplifier inputs. In another example, using a fully differential poly-phase mode to drive TX electrodes according to the techniques described herein allows for elimination of non-informational baseline capacitance of sensor array elements, since the measurement signals acquired at the differential receiver represent only the capacitance differences caused by features of the fingerprint (e.g., ridges and valleys). Because the baseline component of the output measurement signal does not provide any useful information to the sensing circuits and reduces their dynamic range, by performing baseline compensation, the fully differential multi-phase mode scanning techniques described herein do not require the use of higher channel gain settings and prevent the effects of increased quantization noise of the conversion circuits.
Example operational context
Conventional capacitive fingerprint sensing techniques do not provide hardware that supports multi-phase mode scanning. For example, such conventional fingerprint sensing techniques do not provide TX and RX multiplexers that support multiple electrode connections to the same drive or sense bus. In contrast, the polyphase scanning techniques described herein provide fully differential polyphase scanning with baseline compensation and polyphase support for the TX and RX sides of the scanning operation. In various embodiments, this may be achieved by a combination of special sensors and/or processing devices, hardware acceleration elements, and special image reconstruction processing methods.
FIG. 1 is a block diagram illustrating an embodiment of an example sensor system that may rely on non-zero and excitation sequences in accordance with some techniques described herein. In the embodiment shown in fig. 1, the sensor system 10 includes a capacitive fingerprint sensor array (or sensor grid) 121 coupled to a capacitive fingerprint sensor 101 configured to acquire a fingerprint image from the sensor array 121. In other embodiments of the techniques described herein directed to touch applications, the sensor system may include a capacitive touch sensor array coupled to a capacitive touch sensor configured to detect, track, and/or calculate position coordinates of a contact on the touch sensor array.
The capacitive fingerprint sensor array 121 includes a grid of N Receive (RX) electrodes and M Transmit (TX) electrodes. For example, the capacitive fingerprint sensor array 121 includes TX electrodes 122 and RX electrodes 123 that are electrically insulated from each other and from the rest of the TX and RX electrodes arranged in the array. The TX and RX electrodes of the capacitive fingerprint sensor array 121 are arranged such that each TX electrode can be capacitively coupled with each RX electrode at a respective sensor element. For example, the sensor elements 124 are formed at the location areas of the sensor array 121, where the TX electrodes 122 cross the locations of the RX electrodes 123. Each TX electrode in the sensor array 121 is coupled to the capacitive fingerprint sensor 101 through a TX multiplexer 112 and each RX electrode is coupled to the capacitive fingerprint sensor through an RX multiplexer 113.
In various implementations, a capacitive fingerprint sensor (e.g., sensor 101 in fig. 1) may be configured to acquire an output signal using mutual capacitance sensing and generate a digital value (e.g., a count) representing a mutual capacitance caused by a portion of a user's finger on a sensor element of a capacitive fingerprint sensor array (e.g., sensor array 121 in fig. 1). Using mutual capacitance sensing, a set of electrodes (e.g., column electrodes) of the sensor array is denoted as TX electrodes. The TX electrodes are driven with TX drive signals applied to them by a TX multiplexer. Another set of electrodes (e.g., row electrodes) of the sensor array are represented as RX electrodes that may cross, but are electrically insulated from, the TX electrodes. Due to capacitive coupling between the TX and RX electrodes, the TX drive signal applied to the TX electrode induces a current within each RX electrode. Thus, the output signal from the RX electrode represents the mutual capacitance of the sensor element formed by the TX and RX electrodes. The output signal from the RX electrode may be measured by sampling, and then the samples may be converted to digital values (e.g., counts). The digital values representing the mutual capacitances of all sensor elements of the capacitive fingerprint sensor array allow the sensor or processing device to reconstruct a fingerprint image of a user's finger (or a portion thereof) according to the techniques described herein. The fingerprint image may then be used by the processing device or by a separate host-based application to perform some action or operation, such as comparing the acquired fingerprint image to images in a fingerprint database in order to allow/deny access to the user or authenticate the user.
In fig. 1, the capacitive fingerprint sensor 101 is implemented as an analog front-end block configured to interact with the sensor array 121 and provide analog signal processing (e.g., amplification, integration, and conversion to digital values). The capacitive fingerprint sensor 101 includes a Band Pass Filter (BPF)103, a variable gain differential amplifier (VGA)104, a Low Pass Filter (LPF)106, a TX multiplexer 112, an RX multiplexer 113, a signal generator 114, a programmable delay element 115, a mixer 116, and an analog-to-digital converter (ADC) 117. In various embodiments, the output of the ADC 117 may be coupled to processing logic or devices (not shown in fig. 1), which may be implemented on the same Integrated Circuit (IC) chip/module as the capacitive fingerprint sensor 101 or on a different chip/module.
The signal generator 114 uses the clock drive signal to generate TX drive signals that are applied to the TX electrodes of the capacitive fingerprint sensor array 121 through the TX multiplexer 112. In some embodiments, the signal generator 114 may include a set of switches that operate according to a clock signal, where the switches may generate the TX driving signal by periodically connecting the output of the signal transmitter 114 to one or more voltage sources. The output of the signal generator 114 is coupled to a TX multiplexer 112, which allows the TX drive signals to be sequentially applied to each of the M TX electrodes of the capacitive fingerprint sensor array 121 in a controlled sequence.
The TX drive signal applied to the TX electrodes in the capacitive fingerprint sensor array 121 capacitively induces an output signal in the RX electrodes of the sensor array. The output of the RX electrodes is coupled to an RX multiplexer 113, which allows the output signals from one or more RX electrodes to be multiplexed to the input of the BPF 103. The BPF 103 is coupled to the output of the RX multiplexer 113 to receive the output signal and is configured to filter out unwanted (e.g., noise) components of the output signal. An input of VGA 104 is coupled to an output of BPF 103, which allows VGA 104 to receive and process the filtered output signal and generate an amplified output signal.
An input of mixer 116 is coupled to an output of VGA 104 to receive the amplified output signal. The mixer 116 is also coupled to the programmable delay element 115 to receive the delay line signal. The mixer 116 is configured to operate as a synchronous detector, where the reference signal of the synchronous detector is based on the amplified output signal received from the VGA 104, and the delay line signal is used to achieve the maximum signal at the output of the synchronous detector, since the synchronous detector itself is a phase selection circuit. LPF106 is coupled to an output of mixer 116 to receive the maximized mixer output signal and is configured to filter out high frequency carrier products caused by the TX drive signal. The ADC 117 is coupled to the output of the LPF106 and is configured to sample the output signal from the LPF106 into a digital value (e.g., count N)ADC). The firmware or sequencer may then be used to transfer the generated digital values to the memory of the processing deviceA memory or host-based fingerprint application (not shown in fig. 1) coupled to the output of ADC 117. In this manner, a digital value may be generated to represent the mutual capacitance of the sensor elements of the capacitive fingerprint sensor array 121. The generated digital values may then be used by a processing device or host-based fingerprint application to reconstruct a fingerprint image according to some implementations of the techniques described herein.
Fig. 2A and 2B show partial views that together form a single, complete view illustrating an embodiment of an example sensor system in accordance with some techniques described herein. The partial views in fig. 2A and 2B are joined together along edge "E" to form a complete view of sensor system 20. In the embodiment shown in fig. 2A and 2B, the sensor system 20 comprises a capacitive fingerprint sensor array (or sensor grid) 221 coupled to a processing device 200 configured to acquire fingerprint images from the sensor array 221.
Similar to the sensor array 121 in fig. 1, the capacitive fingerprint sensor array 221 in fig. 2A includes a grid of N Receive (RX) electrodes and M Transmit (TX) electrodes. For example, the capacitive fingerprint sensor array 221 includes TX electrodes 222 and RX electrodes 223 that are electrically isolated from each other and from the rest of the TX and RX electrodes arranged in the array. The TX and RX electrodes of the capacitive fingerprint sensor array 221 are arranged such that each TX electrode can be capacitively coupled with each RX electrode at a respective sensor element. For example, the sensor elements 224 are formed at the location areas of the sensor array 221, where the TX electrodes 222 cross the locations of the RX electrodes 223. Each TX electrode in sensor array 221 is coupled to processing device 200 through TX multiplexer 212 and each RX electrode is coupled to processing device through RX multiplexer 213.
Similar to sensor array 121 in fig. 1, the TX and RX electrodes in capacitive fingerprint sensor array 221 in fig. 2A are arranged and configured to acquire a fingerprint image from a user's finger (or a portion thereof) when the finger is in contact with the surface of the sensor array. In various embodiments, to acquire useful fingerprint images, a capacitive fingerprint sensor array (e.g., sensor array 221) may be configured to include: an active (sensing) region in the range from 4x4mm to 12x12 mm; a plurality of RX electrodes in the range from 100 to 150; TX and/or RX electrodes made of an opaque metallic material and having an electrode spacing dimension in the range from 0.04mm to 0.08 mm; a hardware sensing element that can detect/sense a finger-induced signal having a capacitance of (approximately) 0.05 fF; and hardware timing elements to operate the scanning operation at frequencies in the range from 500kHz to 30MHz, a sub-range of 5MHz to 6MHz being preferred for better skin feel. In such various embodiments, the finger contact generally covers all TX/RX electrodes of the capacitive fingerprint sensor at the same time, which allows the processing device to acquire an accurate fingerprint image. Such structural and operational features of a capacitive fingerprint sensor array are substantially different from those of a typical capacitive touch (e.g., touch screen) sensor array, which may be configured to include: an active (sensing) area greater than 50x100mm for smart phones (and an even larger active area for tablet computers and laptop/notebook computers); a plurality of RX electrodes of about 10 to 20 depending on the screen area and the electrode spacing; TX and/or RX electrodes, typically made of transparent (e.g., indium tin oxide or ITO) material and having an electrode spacing dimension of about 3mm to 5 mm; a hardware sensing element that can detect/sense a touch signal with a capacitance of (approximately) 300 fF; and hardware timing elements to operate the scanning operation at a frequency in the range from 100kHz to about 500 kHz. For typical capacitive touch (e.g., touch screen) sensor arrays, contact from a single conductive object (e.g., a user's finger or stylus) typically covers only a small portion of the touch screen active area (e.g., touching 3 to 5 TX/RX electrodes simultaneously), some touch screen applications allow for detection and tracking of contact from multiple conductive objects that collectively cover substantially less than the entire active area of the sensor array.
In various embodiments described herein, a processing device (e.g., device 200 in fig. 2A) may be configured to acquire an output signal using mutual capacitance sensing and generate a digital value (e.g., a count) representative of a mutual capacitance caused by a user's finger on a sensor element of a capacitive fingerprint sensor array (e.g., sensor array 221 in fig. 2A) coupled to the processing device. For example, aThe processing device 200 may reside on a common carrier substrate such as an Integrated Circuit (IC) die substrate or a multi-chip module substrate. Alternatively, the components of the processing device 200 may be one or more separate integrated circuits or discrete components. In one example embodiment, processing device 200 may be a programmable system fabricated on a single IC die, such as a chip (PSoC) from a device developed by Cypress semiconductor corporation of saint joseph, californiaTM) Devices of programmable systems on a family.
As shown in fig. 2A and 2B, the processing device 200 includes an analog front end 202, a scan control engine 211, a TX multiplexer 212, an RX multiplexer 213, a channel engine 218, and a Central Processing Unit (CPU) interface 230. The CPU interface 230 is coupled to one or more CPUs or CPU subsystems (not shown in FIGS. 2A and 2B) via a bus, such as an advanced high-performance bus or AHB. In some (but not necessarily all) embodiments, processing device 200 may also include a baseline compensation component 240 configured to perform a multi-phase scanning technique using baseline compensation as described herein. The processing device components shown in the embodiments of fig. 2A and 2B are configured to perform the techniques for multi-phase scanning described herein. Note, however, that in various embodiments, different processing devices may include the same and/or different components (e.g., microprocessors, microcontrollers, Application Specific Integrated Circuits (ASICs), etc.) that may be configured in various ways to perform the techniques described herein. Thus, the processing device 200 and its components in FIGS. 2A and 2B should be viewed in an illustrative rather than a limiting sense.
Referring to fig. 2B, the scan control engine 211 includes a sequencer, TX control circuitry, and RX control circuitry. The sequencer is implemented as programmable hardware circuitry configured to control the frequency and other timing characteristics of the scanning operation on the capacitive fingerprint sensor array 221. The sequencer determines a control sequence for the scan operation based on the timing table 234 of the CPU interface 230. The TX control circuitry is configured to control multiplexing of the drive signals to the plurality of TX electrodes of the capacitive fingerprint sensor array 221 by the TX multiplexer 212. The RX control circuitry is configured to control multiplexing of output signals from a plurality of RX electrodes of the capacitive fingerprint sensor array 221 to the analog front end 202.
Referring to fig. 2A, TX multiplexer 212 is configured to simultaneously connect multiple TX electrodes to a TX drive signal(s). TX multiplexer 212 is coupled to a signal generator (not shown) to receive TX clock signal 214. The TX clock signal 214 is used to generate TX drive signals that are applied to the TX electrodes of the capacitive fingerprint sensor array 221 through the TX multiplexer 212. TX multiplexer 212 may comprise a set of (possibly programmable) switches that operate according to control signals received from the TX control circuitry of scan control engine 211. When operating in a fully-differential poly-phase scan mode, TX multiplexer 212 may simultaneously apply three TX drive signals to multiple TX electrodes: a positive TX clock signal (e.g., indicated as "TX _ p" in fig. 2A), a negative TX clock signal (e.g., indicated as "TX _ n" in fig. 2A) having the same magnitude but opposite polarity of the TX clock signal, and a system ground signal. According to a controlled sequence generated by a sequencer in the scan control engine 211, during a scan operation, a positive TX clock signal ("TX _ p") is applied to a plurality of TX electrodes, a negative TX clock signal ("TX _ n") is applied to the same number of other TX electrodes, and a system ground signal is applied to the remaining TX electrodes of the capacitive fingerprint sensor array 221. When applied to the TX electrodes of the sensor array, the TX drive signal capacitively results in an output signal in the RX electrodes of the sensor array.
The RX multiplexer 213 is coupled to the RX electrodes of the capacitive fingerprint sensor array 221 and configured to simultaneously multiplex output signals from the plurality of RX electrodes to inputs of the analog front end 202. The RX multiplexer 213 may comprise a set of (possibly programmable) polarity switching circuits that operate according to control signals received from the RX control circuitry of the scan control engine 211. For example, when operating in a fully differential scan mode, the RX multiplexer 213 may simultaneously multiplex output signals from multiple TX electrodes (and/or switch the polarity of the output signals) according to a controlled sequence generated by a sequencer in the scan control engine 211. In this manner, in these embodiments, the output signals from multiple RX electrodes may be convolved into output signals having opposite polarities (e.g., indicated as "i _ RX _ p" and "i _ RX _ n" in fig. 2A).
The analog front end 202 is coupled to the RX multiplexer 213 to receive the (possibly convolved) output signals from the RX electrodes of the capacitive fingerprint sensor array 221. The analog front end 202 is configured as a differential receiver and includes a Band Pass Filter (BPF)203, a variable gain differential amplifier (VGA)204, a phase shifted reference signal generator 205, a pair of multipliers 216a and 216b, a pair of Low Pass Filters (LPFs) 206a and 206b, and a pair of simultaneously sampled analog-to-digital converters (ADCs) 217a and 217 b. The input of the BPF 203 is coupled to the output of the RX multiplexer 213 to receive the output signal from the RX electrode. The output of the BPF 203 is coupled to the inverting and non-inverting inputs of the VGA 204. VGA204 is coupled to a quadrature demodulator that includes multipliers 216a and 216b, reference signal generator 205, LPFs 206a and 206b, and ADCs 217a and 217 b. In particular, the output of VGA204 is coupled to signal inputs of two multipliers 216a and 216 b. Each multiplier 216a and 216b is driven by one of two reference signals generated by reference signal generator 205, where each reference signal is 90 degrees phase shifted from the other. The outputs of multipliers 216a and 216b are coupled to the inputs of LPFs 206a and 206b, respectively, and LPFs 206a and 206b are configured to remove high frequency components from their respective input signals. The outputs of the LPFs 206a and 206b are coupled to the inputs of the ADCs 217a and 217b, respectively, and the ADCs 217a and 217b are configured to sample their respective inputs and generate respective digital values (e.g., counts) simultaneously. The digital values produced by ADCs 217a and 217b represent the phase-shifted, filtered I and Q components, respectively, of the output signal from VGA 204.
The outputs of the analog front end 202 (e.g., the outputs of the ADCs 217a and 217b) are coupled to inputs of a channel engine 218. Thus, the channel engine 218 is configured to receive digitized I and Q component values from the ADCs 217a and 217 b. The channel engine 218 includes: a pair of hardware blocks configured to square the I and Q component values, respectively; a summing block configured to integrate the squared I and Q component values; and a hardware computation block configured to compute a square root from the integrated sum of squared I and Q component values, wherein the square root is a digital value representing the mutual capacitance of a given/known sensor element of the capacitive fingerprint sensor array 221. The resulting square root value is stored in RAM memory 232 of CPU interface 230.
The CPU interface 230 includes a RAM memory buffer 232, a timing table 234, a deconvolution engine 236, and registers 238. The RAM memory buffer 232 may be implemented in volatile memory to store a matrix of resulting values representing the mutual capacitance of the sensor elements of the capacitive fingerprint sensor array 221. The timing table 234 may be implemented in volatile or non-volatile memory to store control sequences used by the sequencer of the scan control engine 211 to control scan operations. The deconvolution engine 236 may be implemented as a block of one or more hardware logic elements, such as logic gates, look-up tables (LUTs), and the like. The deconvolution engine 236 is configured to deconvolve the result matrix of the scan operation by performing various calculations and other operations of the techniques described herein. Registers 238 are used to transfer control, address and data information to and from one or more CPUs or CPU subsystems (not shown in FIG. 2B) of processing device 200.
In some (but not necessarily all) embodiments of the techniques described herein, the processing device may also include a baseline compensation component. In the embodiment of fig. 2A, the processing device 200 includes a hardware baseline compensation circuit 240 configured to increase the useful signal dynamic range of the receiver channel by applying an opposite phase compensation signal to the BPF 203 that removes any imbalance between the two input signals. (in general, signal dynamic range refers to the range of signal amplitudes or their representation as digital values that are useful for distinguishing between desired features detected by the sensor array, such as contrast between ridges and valleys of a fingerprint.) for example, the baseline compensation circuit 240 includes two pairs of variable capacitors coupled between inverting and non-inverting TX drive signal lines and inverting and non-inverting RX output signal lines at the input of the BPF 203. The variable capacitor pairs can be tuned to produce opposite phase compensation signals (e.g., output signals "i _ rx _ p" and "i _ rx _ n" applied to the BPF 203) having desired values that can compensate for any imbalances caused by the configuration of the sensor array, signal routing lines or switches in the processing equipment, etc. Note that in various embodiments, the baseline compensation circuit may include different elements (e.g., current sources) to achieve an equivalent function.
To perform the scanning operation, the components of the sensor system 20 operate as follows. The CPU of the processing device 200 configures a sequencer in the scan control engine 211 for scanning the sensor elements in the capacitive fingerprint sensor array 221 and arranges desired scan timing parameters such as operating frequency, number of TX cycles/time slots per sensor cross-point, scan initialization delay, etc. Once the CPU initiates the sensor array scan, the sequencer configures the TX and RX multiplexers 212, 213 for each sensor element in the sensor array 221 and enables signals to the TX and RX control circuits of the scan control engine 211. At this point in time, the drive period of the scan operation begins and one or more TX electrodes are energized/driven with a drive signal based on TX clock signal 214. The drive signals, when applied to the driven TX electrodes, capacitively result in output signals in the RX electrodes of the sensor array 221. When a user's finger is present on the capacitive fingerprint sensor array 221, the resulting RX output signal reflects the details of the user's fingerprint (e.g., ridges, contrast, etc.).
The output signals from one or more RX electrodes are applied to the input of an RX multiplexer 213 and passed to the input of a BPF 203 in the analog front end 202. The BPF 203 filters out the out-of-band noise components injected by the finger or from other sources, such as the switching regulator inside the smartphone. The BPF 203 may be active or passive, for example various implementations and implementations may use passive-based filters (e.g., LC filters) or active (e.g., gyrator-based) filters, or a combination thereof.
The output signal filtered by the BPF 203 is applied to the differential amplifier input of the VGA 204. VGA204 operates as a variable gain amplifier; its gain level is set in the firmware of the processing device 200, for example, depending on the magnitude of the mutual capacitance values of the sensor elements in the capacitive fingerprint sensor array 221.
The amplified output signal of VGA204 is supplied to a pair of synchronous detectors in a quadrature demodulator of analog front end 202. A pair of quadrature shifted reference signals is supplied by reference signal generator 205 to multipliers 216a and 216b of the quadrature demodulator. The frequency of the quadrature detector reference signal is the same as the frequency of TX clock signal 214. The TX clock signal frequency may be in the range of a few megahertz, for example in the range of 5MHz to 10 MHz. For example, some processing devices may operate scanning operation at a TX frequency, such as 5MHz, and some at a higher frequency, such as 9 MHz. The output signals from multipliers 216a and 216b provide a constant output signal versus input signal phase relative to the detector reference signal.
The output signals from the multipliers 216a and 216b are applied to a pair of LPFs 206a and 206 b. LPFs 206a and 206b remove high frequency conversion products, leaving the DC level of the corresponding LPF input signal. Thereafter, the DC component of the output signal from each LPF (206a or 206b) is passed to its own respective ADC (ADCs 217a and 217 b). Each ADC 217a and 217b converts its input analog signal to a digital value (e.g., a count). The digital values (e.g., sample counts) output from ADCs 217a and 217b represent the I and Q components, respectively, of the amplified output signal received from VGA 204.
Digital values (e.g., sample counts) output from the ADCs 217a and 217b are processed by the channel engine 218. The channel engine 218 performs several functions: it calculates the square of the I and Q components received from ADCs 217a and 217 b; the integration of the squared I component and Q component values is solved into an integral sum; and calculating a square root from the integrated sum, wherein the square root is a digital value representing the mutual capacitance of a given/known sensor element of the capacitive fingerprint sensor array 221. The square root result is stored in RAM memory 232 of CPU interface 230, e.g., the square root result may be stored in a matrix or other suitable data structure initialized in RAM memory 232 to represent a grid of sensor elements of sensor array 221. Thus, when a user's finger is present on the capacitive fingerprint sensor array 221, the matrix of result values stored in the RAM memory 232 reflects the details of the user's fingerprint (e.g., ridges, contrast, etc.).
Sensing grid connection in multiphase scanning configuration
In various embodiments, the techniques of multi-phase scanning described herein are implemented for a capacitive fingerprint sensor that includes M TX electrodes and N RX electrodes. When a user's finger is present on the sensor array and the sensor array is scanned, the sensor elements at each intersection of the RX and TX electrodes contain an unknown mutual capacitance Cm that needs to be measured.
The results and methods of various embodiments of the techniques described herein are based on the sensing grid connections shown in fig. 3. Fig. 3 illustrates an example of connections of TX and RX electrodes of a sensor array to TX driver and RX receive channels, respectively, according to various embodiments of the techniques described herein. In FIG. 3, the capacitive fingerprint sensor array 321 is similar to the capacitive fingerprint sensor array 221 in the sensor system 20 of FIG. 2A/2B. Each TX electrode in sensor array 321 is coupled to a processing device (not shown in fig. 3) through TX multiplexer 312, and each RX electrode of the sensor array is coupled to the processing device through RX multiplexer 313. In fig. 3, block 307 shows how the TX electrode connections to sensor array 321 correspond to the TX excitation matrix for an embodiment that may use a multi-phase TX scan pattern. For implementations in which a multi-phase RX scan mode may be used, block 308 shows how the RX electrode connections to sensor array 321 correspond to the RX excitation matrix. Note that the combination of TX and RX electrode connections shown in fig. 3 may also be used in embodiments where a multi-phase combined RX/TX scan pattern may be used.
TX electrode connection. In FIG. 3, each TX electrode is connected to a 3: 1 Multiplexer (MUX) that connects it to one of three sources: a TX clock signal (e.g., TX CLK signal 314), an inverted TX clock signal (e.g., inverted TX CLK), or a Vref signal (which may be system ground). Each MUX is controlled using control signals set by the processing device (e.g., by a sequencer in the scan control engine 211 in fig. 2B), where the control signals may take one of three polarity values: +1, 0 or-1, which respectively correspond to one of the three TX source signals: one of a TX clock signal, a Vref signal, or an inverted TX clock signal. Note that the TX excitation matrix is formed from a vector representing the polarity values (+ one of 1, 0, and-1) of each TX electrode in a given column (or row, as illustrated in FIG. 3) during a given period of the scanning operation.
RX electrode connection. The embodiment in fig. 3 shows one differential receiver connected to the RX electrodes of sensor array 321; note, however, that different embodiments may use different numbers of differential receivers that may be connected to RX electrodes, e.g., up to a number N of RX electrodes. In FIG. 3, differenceThe receiver is connected to all RX electrodes by using a separate polarity switching circuit for each RX electrode. Each polarity switching circuit may be individually controlled by a control signal from the processing device (e.g., by a sequencer in the scan control engine 211 in fig. 2B), where the control signal may take one of three values:
0 (indicating that this RX electrode is disconnected from the differential receiver);
1 (indicating that this RX electrode is connected to the positive input of the differential receiver);
1 (indicating that this RX electrode is connected to the negative input of the differential receiver).
Note that the RX excitation matrix is formed from vectors representing the polarity values (+ one of 1, 0, and-1) of each RX electrode in a given row (or column, as illustrated in fig. 3) during a given period of the scanning operation. Note also that, in fig. 3, the notation "R (n, m)" denotes an output signal from a sensor element located at the intersection of the "n" -th RX electrode and the "m" -th TX electrode. The Gp and Gm amplifiers (309a and 309b) connected to the inputs of the differential amplifier 304 show gain mismatch of the positive and negative inputs. In the ideal theoretical case, the positive gain Gp and the negative gain Gm cancel each other out, for example Gp ≠ -Gm, but in practice they do not, for example Gp ≠ -Gm, in real hardware. This causes some problems as discussed below.
The techniques described herein provide three basic scanning mechanisms based on the TX and RX sensing grid connections shown in fig. 3:
polyphase rx (mprx) scans;
polyphase tx (mptx) scans;
combined polyphase RX and TX scans.
To better explain these scanning mechanisms, a matrix-based description is provided below.
Matrix-form representation of polyphase scanning
A matrix-form representation of the polyphase scanning technique is described below, and similar representations are used in the following sections to describe the polyphase RX (mprx) scanning technique, the polyphase TX (mptx) scanning technique, and the combined polyphase RX and TX scanning technique. As used herein, a matrix refers to a data structure configured to store data values. In various implementations and implementations in accordance with the techniques described herein, the matrix may be implemented in volatile memory (e.g., random access memory or RAM), in non-volatile memory (e.g., flash memory, read-only memory or ROM, etc.), or in any other suitable storage device.
Matrix X of unknown mutual capacitances of sensor elements. Unknown mutual capacitance CmN,MHas a size N by M corresponding to a sensor array having N RX electrodes and M TX electrodes, respectively. Each data element of matrix X corresponds to an unknown mutual capacitance Cm at a sensor element located at a given TX/RX cross-pointN,M. The mutual capacitance of the sensor elements is unknown because the output signals received from the sensor array are convolution signals that may represent measurements from multiple RX electrodes (e.g., per MPRX scan), measurements caused by TX drive signals on multiple TX electrodes (e.g., per MPTX scan), or measurements caused by multiple TX electrodes and measured on multiple RX electrodes (e.g., combined MPTX/MPRX scan). The matrix X is represented in equation 1 below:
Figure BDA0002212345290000251
RX excitation matrix Er. Each row of the matrix Er represents an excitation vector comprising data values corresponding to the polarity of control signals controlling the polarity switching circuit of the RX multiplexer at a given point in time. For example, as shown below, the first row of the matrix Er comprises information about the RX electrode connections at a first RX time slot, the second row about the RX electrode connections at a second RX time slot, and so on. The RX slots indicate periods of scanning operation during which the RX multiplexer has a frozen/fixed configuration that does not change during the periods.
Figure BDA0002212345290000252
TX excitation matrix Et. Each row representation of the matrix Et includes corresponding controlAn excitation vector of data values of the polarity of the signal, the control signal controlling the TX multiplexer at a given point in time. For example, as shown below, the first row of the matrix Et includes information about the TX electrode connections at the first TX slot, the second row about the TX electrode connections at the second TX slot, and so on. The TX time slot indicates a period of the scanning operation during which the TX multiplexer has a frozen/fixed configuration that does not change during the period.
Figure BDA0002212345290000253
Matrices Rr and Rt of receiver output signals. The matrix Rr includes digital values representing the output signals that were obtained during the multi-phase MPRX scanning operation and that represent the unknown mutual capacitances measured at the sensor elements of the capacitive fingerprint sensor array. The matrix Rt includes digital values representing the output signals that were obtained during the multi-phase MPTX scanning operation and represent the unknown mutual capacitance measured at the sensor elements of the capacitive fingerprint sensor array. The matrices Rr and Rt are shown below in equations 2 and 3, respectively:
Figure BDA0002212345290000261
Figure BDA0002212345290000262
examples of polyphase RX scans
According to the techniques described herein, in a multi-phase RX scan, the polarity of the RX receiver input signals (RX electrode output signals) alternates according to a matrix Er created based on the circular rotation of the excitation vector Er _ Vect in equation 4 below:
er _ Vect [ + 1-1 … 0-10 … +1] (equation 4)
The sum of the data values in the excitation vector Er _ Vect defines the sum of the polyphase RX excitation sequences. If the number of +1 data elements matches the number of-1 data elements in the excitation vector, this means that the sum of the polyphase sequences is equal to zero (e.g. it is fully differential or a zero sum excitation sequence). In the physical domain, this means that the number of RX electrodes connected to the inverting input of the differential amplifier is equal to the number of RX electrodes connected to the non-inverting input of the differential amplifier. This configuration provides common mode noise rejection of the capacitive fingerprint sensor system, as the configuration allows the differential amplifier to reject any noise in the measured output signal. An example of such a configuration is shown in fig. 4.
Fig. 4 is a block diagram illustrating an example of common-mode noise rejection by using zero and RX excitation sequences in accordance with some embodiments of the technology described herein. In fig. 4, the capacitive fingerprint sensor array 421 is similar to the capacitive fingerprint sensor array 221 in the sensor system 20 of fig. 2A/2B. The sensor array 421 is disposed below the touch surface 429, which touch surface 429 can be electrically, inductively, or otherwise (e.g., intentionally or unintentionally) coupled to the noise source 425. Noise source 425 may be one or more switching elements, LCD driver circuit elements, chargers, AM transmitters, and/or any other component that may affect sensor array 421 during operation of the sensor system. The embodiment in fig. 4 uses zero and RX excitation vectors, and the processing device 400 includes a differential receiver coupled to suppress noise from a noise source, such as source 425, as described herein.
As an example, assume that the excitation vector Er _ Vect contains only two non-zero data elements, where one of these elements is +1 and the other element is-1. This means that at any given RX timeslot only two RX electrodes are coupled to the differential receiver, such that the output of one of the RX electrodes is coupled (e.g. through an RX multiplexer) to the positive receiver input and the output of the other RX electrode is coupled (e.g. through an RX multiplexer) to the negative receiver input. Thus, this excitation vector is a zero sum vector because its sum of data elements equals zero.
The excitation vector Er _ Vect may be defined by parameters such as a "shift" parameter. The shift parameter is equal to the difference between the indices of the +1 and-1 non-zero elements (within the excitation vector) in the excitation vector Er _ Vect. For example, Er _ vent is shown in equation 5 below at shift 2 and excitation _ vector _ length 6:
er _ Vect ═ 10-1000 (equation 5)
In this example, the excitation matrix Er matrix can be obtained as shown below in equation 6:
Figure BDA0002212345290000271
as can be seen in the excitation matrix Er of equation 6, the +1 and-1 non-zero elements of the excitation vector Er _ Vect are shifted by one position in each row of the matrix, the data elements at the end of the previous row are rotated to the beginning of the next row while maintaining the shift parameter at 2 (i.e., shift 2 for each row of the matrix). In this way, the excitation matrix Er matrix is generated by a circular rotation of the excitation vector Er _ Vect with shift ═ 2.
Sensor array scanning based on an Er excitation matrix can be described mathematically as a matrix multiplication, as shown below in equation 7:
rr ═ Er · X (equation 7)
Where, according to the notation above, X is a matrix of unknown mutual capacitances of sensor elements in the sensor array, Er is the RX excitation matrix, and Rr is the receiver output signal matrix. Mathematically, equation 7 can be considered as a convolution process of the RX excitation matrix Er and the matrix X of unknown mutual capacitances. Note that the output signal matrix Rr "collects" information about the contrast of the fingerprint image by the TX electrodes used to cause the output signals, but information about the baseline capacitance of the sensor elements at these TX electrodes is lost, because the differential amplifier outputs signals that represent only the capacitance difference between the sensor elements.
The recovery of the original fingerprint image represented in matrix X can be accomplished using a deconvolution process applied to the Rr matrix, as shown below in equation 8:
yr (inverse (er) Rr (equation 8)
Where the matrix Yr is the restored image matrix of the fingerprint image represented in matrix X.
However, there is a problem in the case when the excitation matrix Er is created based on zero and a circular rotation of the excitation vector. The problem is that the rank of such Er matrices (e.g., the maximum number of linearly independent row vectors) is one less than the matrix dimension, and as a result, the inverse of the Er matrix inverse (Er) cannot be calculated. Conventional methods of signal deconvolution do not provide a solution to this problem.
In some embodiments, the techniques described herein address this problem by providing a method for recovering a fingerprint image by using a set of simplified linear equations. For example, the processing device may be configured to use a set of simplified linear equations to address the above-described problems as follows. The excitation matrix Er is reduced by one row and one column and an unknown in equation 7 is fixed to a constant value. To make the dimensions of the invert (er) and Rr matrices consistent, one row in the Rr matrix is reduced (e.g., removed). Thus, the resulting restored image matrix Yr will have one less dimension than the original matrix X. To make the dimensions of the X and Yr matrices consistent, a row of constant values (e.g., a row of zeros) is connected to the Yr matrix. Fig. 5 illustrates a method of zero and polyphase RX excitation (convolution) and deconvolution in matrix entries according to the techniques described herein.
The operations of the method in fig. 5 are described as being performed by a processing device or components thereof (e.g., processing device 200 or its RX multiplexer 213 and deconvolution engine 236 in fig. 2A/2B). Note, however, that various implementations and embodiments may use various and possibly multiple components to perform the operations of the method in fig. 5. For example, in various embodiments, the processing device may be configured with firmware instructions that, when executed by one or more processors or other hardware components (e.g., microcontrollers, ASICs, etc.), are operable to perform the operations of the method in fig. 5. In another example, in various embodiments, the processing device may be implemented in a single IC component, or its functionality may be extended among two or more IC components that may perform some additional operations and functions. Accordingly, the description below of the method in fig. 5 as performed by a processing device should be viewed in an illustrative and not a limiting sense.
Referring to fig. 5, the processing device performs a scanning operation on the capacitive fingerprint sensor array based on the excitation matrix Er. The excitation matrix Er may be stored in a volatile or non-volatile memory of the processing device and generated based on the circular rotations from zero and the excitation vector Er _ Vect.
As part of the scanning operation on the capacitive fingerprint sensor array, in operation 502 the processing device performs excitation (convolution) according to equation 7 above. At RX time slots corresponding to the rows of the excitation matrix Er, the processing device configures the RX multiplexers according to the corresponding rows of the excitation matrix, drives the TX electrodes of the sensor array, and receives the measurement output signals, which are stored in the output signal matrix Rr. The measurement results stored in the matrix Rr are based on the excitation matrix Er and the unknown mutual capacitances Cm of the sensor elements corresponding to the sensor arrayN,MIs represented by the convolution of the multiplication of matrix X. The processing apparatus then reduces the excitation matrix Er by one row and one column and also reduces the output signal matrix Rr by one row, as indicated by reference numeral 504.
In operation 506, the processing device performs deconvolution according to equation 8 above. The processing device calculates an inverse matrix invert (Er) of the simplified excitation matrix Er and multiplies the inverse matrix to the reduced row output signal matrix Rr to obtain a reduced row matrix Yr.
In operation 508, the processing apparatus equalizes the X matrix and the reduced-by-one-row matrix Yr. The processing device connects a row of constant values (e.g., a row of zeros) to the reduced row matrix Yr. The result is a restored image matrix Yr representing the fingerprint image detected on the sensor array.
Fig. 6A is a flow diagram illustrating an example method for excitation (convolution) of a polyphase RX scan, according to an example embodiment. Fig. 6B is a flow diagram illustrating an example method for deconvolution of polyphase RX scans, according to an example embodiment. The operations of the methods in fig. 6A and 6B are described as being performed by a processing device or components thereof (e.g., the processing device 200 in fig. 2A/2B or its TX multiplexer 212, RX multiplexer 213, and deconvolution engine 236). Note, however, that various implementations and embodiments may use various and possibly multiple components to perform the operations of the methods in fig. 6A and 6B. For example, in various embodiments, the processing device may be configured with firmware instructions operable, when executed by one or more processors or other hardware components (e.g., microcontrollers, ASICs, etc.), to perform the operations of the method in fig. 6A and 6B. In another example, in various embodiments, the processing device may be implemented in a single IC component, or its functionality may be extended among two or more IC components that may perform some additional operations and functions. Further, in some implementations, the method in fig. 6A and 6B may be performed by a processing device to reconstruct a matrix of digital counts (e.g., a heat map) that represents contact by a conductive object (e.g., a stylus or finger) on a capacitive touch sensor array. Accordingly, the following description of the method in fig. 6A and 6B as performed by a processing device and/or for fingerprint image reconstruction should be viewed in an illustrative and not a limiting sense.
Referring to fig. 6A, in operation 600, the processing device begins the excitation (convolution) of a multi-phase RX scan operation on a capacitive fingerprint sensor array having N RX electrodes and M TX electrodes. In operation 602, the processing device initializes (or otherwise defines) the RX excitation matrix Er and stores the excitation matrix in volatile or non-volatile memory. For example, according to the methods described herein, the processing device may generate the excitation matrix Er based on the zero and the circular rotation of the excitation vector Er _ Vect. In operation 604, the processing device initializes a current electrode variable (e.g., "m") to 1, the current electrode variable indicating a current TX electrode driven by the processing device as part of a scan operation.
In operation 606, the processing device couples the current (e.g., "mth") TX electrode to the TX driver, while the other TX electrodes are coupled to system ground (e.g., another reference signal). For example, the processing device may configure the TX multiplexer to connect the current (e.g., "mth") TX electrode to the TX driver while connecting the rest of the TX electrode to system ground. In operation 608, the processing device initializes a current row variable (e.g., "n") to 1, the current row variable representing a current time slot during which the plurality of RX electrodes are sensed according to a current (e.g., "nth") row of the excitation matrix Er.
In operation 610, the processing device connects a plurality of RX electrodes to a differential receiver of the processing device according to a current (e.g., "nth") row of the excitation matrix Er. For example, the processing device may configure the RX multiplexer according to a control signal defined by a data element in the current row of the excitation matrix Er. When the scanning operation is performed in the fully-differential poly-phase mode, the number of +1 data elements matches the number of-1 data elements in the current row of the excitation matrix Er. In such a case, the RX multiplexer couples multiple RX electrodes to the non-inverting input of the differential receiver, switches the polarity of the same number of RX electrodes and couples the same number of RX electrodes to the inverting input of the differential receiver, and couples any remaining RX electrodes to system ground (or another reference signal).
In operation 612, a differential receiver in the processing device receives the output signal and processes the output signal to generate a digital value, as described previously herein. The digital value Rr (N, M) of the received output signal is a convolution representation of the unknown mutual capacitance at the sensor elements located at the nth row and mth column of the sensor array. The processing device stores the generated digital values at the corresponding entry (e.g., (n, m)) in the output signal matrix Rr and proceeds to operation 614. In operation 614, the processing device increments a current row variable (e.g., "n") to indicate a next row in the excitation matrix Er (e.g., to indicate a next time slot for sensing RX electrodes based on the current TX electrode). In operation 616, the processing device checks whether the incremented current row variable is less than or equal to the number of rows N in the excitation matrix Er. If the incremented current row variable is less than or equal to N, the processing device determines that some more RX electrodes will need to be scanned based on the current TX electrode, so the processing device continues to repeat operations 610, 612, 614, and 616 for the next row in the excitation matrix Er. If, in operation 616, the processing device determines that the incremented current row variable is greater than the number of rows N in the excitation matrix Er, the processing device determines that it scanned all RX electrodes based on the current TX electrode, so the processing device continues with operation 618.
In operation 618, the processing device increments a current electrode variable (e.g., "m") to indicate the next TX electrode to be coupled to the TX driver and energized for scanning. In operation 620, the processing device checks whether the incremented present electrode variable is less than or equal to the number M of TX electrodes in the capacitive fingerprint sensor matrix. If the incremented current electrode variable is less than or equal to M, then the processing device determines that some more TX electrodes will need to be driven, so the processing device continues to repeat operations 606, 608, 610, 612, 614, 616, 618, and 620 for the next TX electrode. If the processing device determines that the incremented present electrode variable is greater than the number of TX electrodes M in operation 620, the processing device determines that the scanning of all TX electrodes is complete and that all digital values of the output signal matrix Rr have been generated. The processing device then proceeds to operation 622 to end the current scan cycle of the scan operation and to proceed with other operations of the scan operation, if any.
The operations in fig. 6B may be performed by a deconvolution engine of a processing device. In fig. 6B, at the beginning of operation 630, the excitation matrix Er and the output signal matrix Rr have been generated according to the method of fig. 6A and stored in volatile and non-volatile memory. In operation 630, the processing device starts the deconvolution process by accessing the excitation matrix Er. In operation 632, the processing apparatus calculates a determinant of the excitation matrix Er and checks whether the calculated determinant is equal to zero, e.g., whether det (Er) is 0. (the determinant of the matrix is a scalar value calculated from the data elements of the matrix based on a particular arithmetic expression. the determinant of the matrix provides information about the system of linear equations represented by the matrix, e.g., if the determinant is a non-zero value, the system of equations has a unique solution; if the determinant is zero, the matrix is singular and the system of equations has no solution or multiple solutions.)
If, in operation 632, the processing device determines that the determinant of the excitation matrix Er is a non-zero value, e.g., det (Er) ≠ 0, then the processing device proceeds with operations 634 and 636. In operation 634, the processing device calculates the inverse iEr of the excitation matrix Er. In operation 636, the processing device calculates a restored image matrix Yr by multiplying the inverse matrix iEr to the output signal matrix Rr, e.g., Yr-iEr Rr. The restored image matrix Yr is stored in volatile or non-volatile memory and represents the fingerprint image detected by the scanning operation on the capacitive sensor array. Thereafter, the processing device may optionally continue with operation 646, or may end the deconvolution at operation 648.
If, in operation 632, the processing apparatus determines that the determinant of the excitation matrix Er is zero, e.g., det (Er) ═ 0, the processing apparatus determines that the excitation matrix Er is singular and proceeds to operations 638, 640, 642 and 644 to recover the fingerprint image represented in the output signal matrix Rr using a set of simplified linear equations. In operation 638, the processing device reduces the excitation matrix Er by one row and one column (e.g., by removing one row and one column from the matrix) and calculates the inverse iEr of the reduced excitation matrix Er. In operation 640, the processing device reduces the output signal matrix Rr by one row (e.g., by removing one row from the matrix). In operation 642, the processing device calculates a row-reduced matrix Yr by multiplying the calculated inverse matrix iEr to the simplified output signal matrix Rr, e.g., Yr iEr Rr. In operation 644, the processing device calculates a restored image matrix Yr by connecting a row of constant values (e.g., a row of zeros) to the reduced row of matrix Yr, e.g., Yr ═ (Yr concat ConstRow). The restored image matrix Yr is stored in volatile or non-volatile memory and represents the fingerprint image detected by the scanning operation on the capacitive sensor array. Thereafter, the processing device may optionally continue with operation 646, or may end the deconvolution at operation 648.
In some implementations, the processing device may optionally perform operation 646 to improve fingerprint image quality by recovering contrast information at the RX electrode. For example, in operation 646, the processing device may use a post-processing method on the recovered image matrix Yr for baseline compensation (e.g., as described below with respect to fig. 17). In operation 648, the processing device ends the deconvolution and may proceed with other fingerprint image processing operations.
Example of polyphase TX Scan
In accordance with the techniques described herein, the polyphase TX scan continues in a similar manner as the polyphase RX scan described above. In a multiphase TX scan, the polarity of the TX drive signals applied to the TX electrodes is controlled by the TX multiplexer according to an Et excitation matrix created based on the circular rotation of the excitation vector Et _ Vect, e.g., as described below in equation 9:
EtVect [ + 10 … + 10-1 … +1] (equation 9)
The zero and non-zero and MPTX fire sequences may be generated in the same manner as described above for the MPRX fire sequences. For example, in the simplest case, the excitation vector Et _ Vect may contain only two non-zero data elements, one of which is +1 and the other of which is-1, e.g., according to equation 10 below:
et _ Vect [ + 1-1 … 00 … 0] (equation 10)
The excitation vector Et _ Vect in equation 10 indicates that in a given TX slot of a scan operation, only two TX electrodes are driven, such that one TX electrode is driven with a positive TX drive signal (e.g., TX _ CLK) while the other TX electrode is driven with a negative TX drive signal (e.g., inverted TX _ CLK), with the remaining TX electrodes held at a reference signal (e.g., system ground).
In some embodiments of multi-phase TX scanning, the scanning operation on the capacitive fingerprint sensor array may be mathematically described as a matrix multiplication based on the excitation matrix Et, for example, according to the following equation:
rt ═ Et · X' (equation 11)
Where X' is the transpose of the unknown mutual capacitance Cm of the sensor elements in the sensor matrix, Et is the TX excitation matrix, and Rt is the output signal matrix. Mathematically, equation 11 can be considered as the convolution process of the TX excitation matrix Et and the transposed matrix X' of the unknown mutual capacitance. Note that the output signal matrix "collects" information about the contrast of the fingerprint image by the RX electrodes being sensed, but information about the baseline capacitance of the sensor elements at these RX electrodes is lost, since the differential amplifier outputs a signal that represents only the capacitance difference between the sensor elements.
The recovery of the original fingerprint image, represented by matrix X', may be accomplished using a deconvolution process, similar to the RX deconvolution process described above applied to the Rt matrix, e.g., as shown in equation 12 below:
yt ═ (invert (et) · Rt)' (equation 12)
Where the matrix Yt is the restored image matrix of the fingerprint image represented in matrix X'. In this case, however, the same problem as described above for the RX excitation matrix Er exists, and conventional methods for signal deconvolution do not provide a solution to this problem. That is, when a firing matrix Et is created based on zero and a circular rotation of the firing vector, the matrix Et is rank-reduced by one less than the matrix dimension, and as a result its inverse matrix inverse (Et) cannot be computed.
The techniques described herein address this problem by providing a similar approach using a simplified set of linear equations as described above for the multi-phase RX scan. For example, in some embodiments, the processing device may be configured to use a set of simplified linear equations to address the above-described problems as follows. The excitation matrix Er is reduced by one row and one column and its inverse matrix invert (et) is calculated. To make the dimensions of the invert (er) and Rr matrices consistent, one row in the Rr matrix is reduced (e.g., removed). Thus, the resulting restored image matrix Yr will have one less dimension than the original matrix X. To make the dimensions of the X and Yr matrices consistent, a row of constant values (e.g., a row of zeros) is connected to the Yr matrix.
Fig. 7A is a flow diagram illustrating an example method for excitation (convolution) of a multi-phase TX scan, according to an example embodiment. Fig. 7B is a flow diagram illustrating an example method for deconvolution of polyphase TX scans, according to an example embodiment. The operations of the method in fig. 7A and 7B are described as being performed by a processing device or components thereof (e.g., the processing device 200 in fig. 2A/2B or its TX multiplexer 212, RX multiplexer 213, and deconvolution engine 236). Note, however, that various implementations and embodiments may use various and possibly multiple components to perform the operations of the methods in fig. 7A and 7B. For example, in various embodiments, the processing device may be configured with firmware instructions that, when executed by one or more processors or other hardware components (e.g., microcontrollers, ASICs, etc.), are operable to perform the operations of the method in fig. 7A and 7B. In another example, in various embodiments, the processing device may be implemented in a single IC component, or its functionality may be extended among two or more IC components that may perform some additional operations and functions. Further, in some implementations, the method in fig. 7A and 7B may be performed by a processing device to reconstruct a matrix of digital counts (e.g., a heat map) that represents contact by a conductive object (e.g., a stylus or finger) on a capacitive touch sensor array. Accordingly, the following description of the method in fig. 7A and 7B as performed by a processing device and/or for fingerprint image reconstruction should be viewed in an illustrative and not a limiting sense.
Referring to fig. 7A, in operation 700, a processing device begins the excitation (convolution) of a multi-phase TX scan operation on a capacitive fingerprint sensor array having N RX electrodes and M TX electrodes. In operation 702, the processing device initializes (or otherwise defines) a TX excitation matrix Et and stores the excitation matrix in volatile or non-volatile memory. For example, according to the methods described herein, the processing device may generate the excitation matrix Et based on the zero and the circular rotation of the excitation vector Er _ Vect. In operation 704, the processing device initializes a current electrode variable (e.g., "n") to 1, the current electrode variable indicating a current RX electrode sensed by the processing device as part of the scanning operation. In some embodiments, the processing device may optionally perform operation 706 to derive a free-position matrix X 'of mutual capacitances Cm of sensor elements in the sensor array, wherein the matrix X' represents a fingerprint image sensed at the sensor array.
In operation 708, the processing device couples the current (e.g., "nth") RX electrode to the positive input of the receiver of the processor device in order to sense the output signal caused by the driven TX electrode, while the remaining RX electrodes are coupled to system ground. For example, the processing device may perform operation 708 by configuring the RX multiplexer according to an appropriate control signal. In operation 710, the processing device initializes a current row variable (e.g., "m") to 1, the current row variable representing a current time slot during which the plurality of TX electrodes are driven (stimulated) according to a current (e.g., "mth") row of the stimulation matrix Et.
In operation 712, the processing device couples the plurality of TX electrodes to TX drivers according to the current (e.g., "mth") row of the excitation matrix Et. For example, the processing device may configure the TX multiplexer according to control signals defined by data elements in the current row of the firing matrix Et. When the scan operation is performed in the fully-differential multi-phase mode, the number of +1 data elements matches the number of-1 data elements in the current row of the firing matrix Et. In such a case, the TX multiplexer couples multiple TX electrodes to a positive TX driving signal (e.g., a TX clock signal), couples the same number of TX electrodes to a negative TX driving signal (e.g., an inverted TX clock signal), and couples any remaining RX electrodes to system ground.
In operation 714, the differential receiver in the processing device senses (e.g., receives) the resulting output signal at the current (e.g., "nth") RX electrode and processes the output signal to generate a digital value Rt (m, n), as described previously herein. The digital value of the received output signal is a convolution representation of the unknown mutual capacitance at the sensor element located at the nth row and the mth column of the sensor array due to the excitation caused by the plurality of TX electrodes. The processing device stores the generated digital values at the corresponding entry (e.g., (m, n)) in the output signal matrix Rt and proceeds to operation 716. In operation 716, the processing device increments a current row variable (e.g., "m") to indicate a next row in the firing matrix Et (e.g., to indicate a next time slot for driving the plurality of TX electrodes). In operation 718, the processing device checks whether the incremented current row variable is less than or equal to the number of rows M in the firing matrix Et. If the incremented current row variable is less than or equal to M, then the processing device determines that some more TX electrodes will still need to be driven to cause an output signal on the current RX electrode, so the processing device continues to repeat operations 712, 714, 716, and 718 for the next row in the excitation matrix Et. If, in operation 718, the processing device determines that the incremented current row variable is greater than the number of rows M in the firing matrix Et, then the processing device determines that all TX electrodes are driven and sensed on the current RX electrode, so the processing device continues with operation 720.
In operation 720, the processing device increments the current electrode variable (e.g., "n") to indicate the next RX electrode to be sensed. In operation 722, the processing device checks whether the incremented present electrode variable is less than or equal to the number M of RX electrodes in the capacitive fingerprint sensor matrix. If the incremented current electrode variable is less than or equal to N, then the processing device determines that some more RX electrodes will need to be sensed, so the processing device continues to repeat operations 708, 710, 712, 714, 716, 718, 720, and 722 for the next RX electrode. If, in operation 722, the processing device determines that the incremented current electrode variable is greater than the number of RX electrodes N, then the processing device determines that the scanning of all RX electrodes has been completed and that all digital values of the output signal matrix Rt have been generated. The processing device then proceeds to operation 724 to end the current scan cycle of the scan operation and to proceed with other operations of the scan operation, if any.
The operations in fig. 7B may be performed by a deconvolution engine of a processing device. In FIG. 7B, at the beginning of operation 730, the firing matrix Et and the output signal matrix Rt have been generated according to the method of FIG. 7A and stored in volatile and non-volatile memory. In operation 730, the processing device starts the deconvolution process by accessing the excitation matrix Et. In operation 732, the processing apparatus calculates a determinant of the excitation matrix Et and checks whether the calculated determinant is equal to zero, e.g., whether det (Et) is 0.
If, in operation 732, the processing device determines that the determinant of the excitation matrix Et is a non-zero value, e.g., det (Et) ≠ 0, then the processing device proceeds with operations 734 and 736. In operation 734, the processing apparatus calculates the inverse iEt of the excitation matrix Et. In operation 736, the processing device calculates a restored image matrix Yt, e.g., Yt-iEt Rt, by multiplying the inverse matrix iEt to the output signal matrix Rt. The restored image matrix Yt is stored in volatile or non-volatile memory and represents the fingerprint image detected by the scanning operation on the capacitive sensor array. Thereafter, the processing device may optionally proceed with operation 746.
If in operation 732 the processing apparatus determines that the determinant of the excitation matrix Et is zero, e.g., det (Et) ═ 0, then the processing apparatus determines that the excitation matrix Et is singular and proceeds to operations 738, 740, 742, and 744 to recover the fingerprint image represented in the output signal matrix Rt using a reduced set of linear equations. In operation 738, the processing device decrements the excitation matrix Et by one row and one column (e.g., by removing one row and one column from the matrix) and computes the inverse iEt of the reduced excitation matrix Et. In operation 740, the processing device reduces the output signal matrix Rt by one row (e.g., by removing one row from the matrix). In operation 742, the processing device calculates a reduced-by-one matrix Yt, e.g., Yt iEt Rt, by multiplying the calculated inverse matrix iEt to the reduced output signal matrix Rt. In operation 744, the processing device calculates the restored image matrix Yt by connecting a row of constant values (e.g., a row of zeros) to the reduced row of matrix Yt, e.g., Yt ═ (Yt concat ConstRow). The restored image matrix Yt is stored in volatile or non-volatile memory and represents the fingerprint image detected by the scanning operation on the capacitive sensor array. Thereafter, the processing device may optionally proceed with operation 746.
In operation 746, the processing device transposes the restored image matrix Yt, e.g., Yt-Yt', and stores it in volatile or non-volatile memory. After the transpose operation, the matrix Yt' is equal in dimension to the matrix X and represents the fingerprint image detected by the scanning operation on the capacitive sensor array.
In some embodiments, the processing device may optionally perform operation 748 to improve fingerprint image quality by restoring contrast information at the TX electrode. For example, in operation 748, the processing device may use a post-processing method on the restored image matrix Yt' for baseline compensation (e.g., as described below with respect to fig. 17). In operation 750, the processing device ends the deconvolution and may proceed with other fingerprint image processing operations.
Example of combined polyphase RX-TX Scans
Some embodiments may use combined multi-phase RX-TX on a capacitive fingerprint sensor array according to the techniques described herein. In a combined multi-phase RX-TX scan, multiple TX electrodes are driven simultaneously and the resulting output signals are detected (received) on multiple RX electrodes simultaneously. The combined polyphase RX-TX scan uses an RX excitation matrix Er and a TX excitation matrix Et. The scanning operation on the sensor matrix is performed in fully-differential polyphase mode when the Er and Et excitation matrices are generated based on circular rotations from zero and excitation vectors, e.g., Er _ Vect and Et _ Vect, respectively.
Fig. 8A is a flow chart illustrating an example method for excitation (convolution) of a polyphase RX-TX scan according to an example embodiment. Fig. 8B is a flow diagram illustrating an example method for deconvolution for polyphase RX-TX scanning, according to an example embodiment. The operations of the methods in fig. 8A and 8B are described as being performed by a processing device or components thereof (e.g., the processing device 200 in fig. 2A/2B or its TX multiplexer 212, RX multiplexer 213, and deconvolution engine 236). Note, however, that various implementations and embodiments may use various and possibly multiple components to perform the operations of the methods in fig. 8A and 8B. For example, in various embodiments, the processing device may be configured with firmware instructions that, when executed by one or more processors or other hardware components (e.g., microcontrollers, ASICs, etc.), are operable to perform the operations of the method in fig. 8A and 8B. In another example, in various embodiments, the processing device may be implemented in a single IC component, or its functionality may be extended among two or more IC components that may perform some additional operations and functions. Further, in some implementations, the method in fig. 8A and 8B may be performed by a processing device to reconstruct a matrix of digital counts (e.g., a heat map) that represents contact by a conductive object (e.g., a stylus or finger) on a capacitive touch sensor array. Accordingly, the following description of the method in fig. 8A and 8B as performed by a processing device and/or for fingerprint image reconstruction should be viewed in an illustrative and not a limiting sense.
Referring to fig. 8A, in operation 800, a processing device begins the excitation (convolution) of a multi-phase RX-TX scan operation on a capacitive fingerprint sensor array having N RX electrodes and M TX electrodes. In operation 802, the processing device initializes (or otherwise defines) the RX excitation matrix Er and the TX excitation matrix Et and stores the excitation matrices in volatile or non-volatile memory. For example, according to the methods described herein, the processing apparatus may generate the excitation matrix Er based on the circular rotation of zero and excitation vector Er _ Vect and generate the excitation matrix Et based on the circular rotation of zero and excitation vector Et _ Vect. In operation 804, the processing device initializes a current m-row variable (e.g., "m") to 1, the current m-row variable representing a current time slot during which the plurality of TX electrodes are driven according to a current (e.g., "mth") row of the firing matrix Et.
In operation 806, the processing device couples the plurality of TX electrodes to the TX driver according to the current (e.g., "mth") row of the excitation matrix Et. For example, the processing device may configure the TX multiplexer according to control signals defined by data elements in the current row of the firing matrix Et. When the scan operation is performed in the fully-differential multi-phase mode, the number of +1 data elements matches the number of-1 data elements in the current row of the firing matrix Et. In such a case, the TX multiplexer couples multiple TX electrodes to a positive TX driving signal (e.g., a TX clock signal), couples the same number of TX electrodes to a negative TX driving signal (e.g., an inverted TX clock signal), and couples any remaining TX electrodes to system ground. In operation 808, the processing device initializes a current n-row variable (e.g., "n") to 1, the current n-row variable representing a current time slot during which the plurality of RX electrodes are sensed according to a current (e.g., "nth") row of the excitation matrix Er.
In operation 810, the processing device connects a plurality of RX electrodes to a differential receiver of the processing device according to a current (e.g., "nth") row of the excitation matrix Er. For example, the processing device may configure the RX multiplexer according to a control signal defined by a data element in the current row of the excitation matrix Er. When the scanning operation is performed in the fully-differential poly-phase mode, the number of +1 data elements matches the number of-1 data elements in the current row of the excitation matrix Er. In such a case, the RX multiplexer couples a plurality of RX electrodes to the non-inverting input of the differential receiver, switches the polarity of the same number of RX electrodes and couples the same number of RX electrodes to the inverting input of the differential receiver, and couples any remaining RX electrodes to system ground.
In operation 812, the differential receiver in the processing device receives the output signal and processes the output signal to generate a digital value Rr (n, m), as previously described herein. The digital value of the received output signal is a convolution representation of the unknown mutual capacitance at the sensor element located at the nth row and the mth column of the sensor array. The processing device stores the generated digital values at the corresponding entry (e.g., (n, m)) in the output signal matrix Rr and proceeds to operation 814. In operation 814, the processing device increments a current n row variable (e.g., "n") to indicate a next row in the excitation matrix Er (e.g., to indicate a next time slot for sensing the multiple RX electrodes based on the currently driven multiple TX electrodes). In operation 816, the processing device checks whether the incremented current N row variable is less than or equal to the number N of rows in the excitation matrix Er. If the incremented current N row variable is less than or equal to N, then the processing device determines that more of the plurality of RX electrodes will need to be scanned based on the currently driven TX electrode, so the processing device continues to repeat operations 810, 812, 814, and 816 for the next row in the excitation matrix Er. If, in operation 816, the processing device determines that the incremented current N row variable is greater than the number of rows N in the excitation matrix Er, the processing device determines that it scanned all of the plurality of RX electrodes based on the currently driven TX electrode, so the processing device continues with operation 818.
In operation 818, the processing device increments the current m-electrode variable (e.g., "m") to indicate the next row in the firing matrix Et (e.g., to indicate the next time slot for driving the multiple TX electrodes). In operation 820, the processing device checks whether the incremented current M-electrode variable is less than or equal to the number M of rows in the excitation matrix Et. If the incremented current M-electrode variable is less than or equal to M, then the processing device determines that more of the plurality of TX electrodes still need to be driven, so the processing device continues to repeat operations 806, 808, 810, 812, 814, 816, 818, and 820 for the next row in the excitation matrix Et. If the processing device determines in operation 820 that the incremented current M-electrode variable is greater than the number of rows M in the excitation matrix Et, the processing device determines that the driving of all of the plurality of TX electrodes has been completed and that all of the digital values of the output signal matrix Rr have been generated. The processing device then proceeds to operation 822 to end the current scan cycle of the scan operation and to proceed with other operations of the scan operation, if any.
The operations in fig. 8B may be performed by a deconvolution engine of a processing device. At the beginning of operation 830, a firing matrix Er, a firing matrix Et, and an output signal matrix Rt have been generated according to the method of FIG. 8A and stored in volatile and non-volatile memory. In operation 830, the processing device starts the deconvolution process by accessing the excitation matrix Er. In operation 832, the processing device calculates a determinant of the excitation matrix Er and checks whether the calculated determinant is equal to zero, e.g., whether det (Er) is 0.
If, in operation 832, the processing device determines that the determinant of the excitation matrix Er is a non-zero value, e.g., det (Er) ≠ 0, then the processing device proceeds with operations 834 and 836. In operation 834, the processing device calculates the inverse iEr of the excitation matrix Er. In operation 836, the processing device calculates a restored image matrix Yr by multiplying the inverse matrix iEr to the output signal matrix Rr, e.g., Yr-iEr Rr. The restored image matrix Yr is stored in volatile or non-volatile memory and represents the fingerprint image detected by the scanning operation on the capacitive sensor array. Thereafter, the processing device may optionally proceed with operation 846.
If, in operation 832, the processing device determines that the determinant of the excitation matrix Er is zero, e.g., det (Er) ═ 0, the processing device determines that the excitation matrix Er is singular and proceeds with operations 838, 840, 842, and 844 to use a set of simplified linear equations. In operation 838, the processing device reduces the excitation matrix Er by one row and one column (e.g., by removing one row and one column from the matrix) and computes the inverse iEr of the reduced excitation matrix Er. In operation 840, the processing device reduces the output signal matrix Rr by one row (e.g., by removing one row from the matrix). In operation 842, the processing device calculates a reduced-by-one matrix Yr by multiplying the calculated inverse matrix iEr to the reduced output signal matrix Rr, e.g., Yr iEr Rr. In operation 844, the processing device calculates a restored image matrix Yr by connecting a row of constant values (e.g., a row of zeros) to the reduced row of matrices Yr, e.g., Yr ═ (Yr concat ConstRow). The restored image matrix Yt is stored in volatile or non-volatile memory. Thereafter, the processing device proceeds with operation 846.
In operation 846, the processing device generates an output signal matrix Rt by transposing the restored image matrix Yr, e.g., and Yt ═ Yr', and stores the generated Rt matrix in a volatile or non-volatile memory. At the end of operation 846, the digital values in the Rt matrix have been deconvolved relative to the convolution performed based on the RX excitation matrix Er, but are still convolved due to the convolution performed based on the TX excitation matrix Et.
Thus, the processing device continues the deconvolution process by accessing the excitation matrix Et. In operation 848, the processing apparatus calculates a determinant of the excitation matrix Et and checks whether the calculated determinant is equal to zero, e.g. whether det (Et) is 0.
If, in operation 848, the processing apparatus determines that the determinant of the firing matrix Et is a non-zero value, e.g., det (Et) ≠ 0, then the processing apparatus proceeds with operations 850 and 852. In operation 850, the processing apparatus calculates the inverse iEt of the firing matrix Et. In operation 852, the processing device calculates a restored image matrix Yt, for example, Yt iEt × Rt, by multiplying the inverse matrix iEt to the output signal matrix Rt. The restored image matrix Yt is stored in volatile or non-volatile memory. Thereafter, the processing device may optionally proceed with operations 862 and/or 864, or may end the deconvolution at operation 866.
If in operation 848 the processing apparatus determines that the determinant of the excitation matrix Et is zero, e.g., det (Et) ═ 0, the processing apparatus determines that the excitation matrix Et is singular and proceeds to operations 854, 856, 858, and 860 to recover the fingerprint image represented in the output signal matrix Rt using a set of simplified linear equations. In operation 854, the processing device decrements the firing matrix Et by one row and one column (e.g., by removing one row and one column from the matrix) and computes an inverse iEt of the reduced firing matrix Et. In operation 856, the processing device reduces the output signal matrix Rt by one row (e.g., by removing one row from the matrix). In operation 858, the processing device calculates a row-reduced matrix Yt by multiplying the calculated inverse matrix iEt to the reduced output signal matrix Rt, e.g., Yt iEt Rt. In operation 860, the processing device calculates the restored image matrix Yt by connecting a row of constant values (e.g., a row of zeros) to the reduced row of matrix Yt, e.g., Yt ═ (Yt concat ConstRow). The restored image matrix Yt is stored in volatile or non-volatile memory and represents the fingerprint image detected/sensed at the capacitive sensor array. Thereafter, the processing device may optionally proceed with operations 862 and/or 864, or may end the deconvolution at operation 866.
In some implementations, the processing device may optionally perform operations 862 and/or 864 to improve fingerprint image quality by restoring contrast information at the RX electrode and/or the TX electrode. For example, in operation 862, the processing device may use post-processing methods on the recovered image matrix Yr for baseline compensation on the RX electrodes (e.g., as described below with respect to fig. 17). In another example, in operation 864, the processing device may use a post-processing method on the recovered image matrix Yr (which may or may not be baseline compensated as per operation 862) for baseline compensation on the TX electrodes (e.g., as described below with respect to fig. 17). In operation 866, the processing device ends the deconvolution and may proceed with other fingerprint image processing operations.
Example of multiphase scanning with non-zero sum excitation
According to the techniques described herein, some embodiments may use a polyphase scan with non-zero and excitation sequences to achieve results comparable to embodiments using fully-differential polyphase scans. At least some non-zero and multi-phase sequences are used in touch applications to provide better noise rejection for scanning operations on capacitive touch sensor arrays. Thus, some embodiments of the techniques described herein may utilize tested non-zero and firing sequences to obtain similar performance benefits (e.g., in terms of common noise suppression for MPRX scans and channel dynamic range for MPTX scans) as zero and firing sequences. Furthermore, excitation matrices formed using non-zero sum sequences are not singular, and thus implementations using such non-zero sum excitation matrices require simpler deconvolution processing.
According to the techniques described herein, non-zero and polyphase sequences may be successfully used by means of:
1. an additional hardware compensation circuit in front of the sense channel; and
2. a special sensor array design (e.g., one with a reference electrode) is used.
One example of a hardware baseline compensation circuit is shown in the sense channel of the embodiment in FIG. 2A. Fig. 9A and 9B illustrate how the hardware baseline compensation component 240 of fig. 2A increases the useful dynamic range of changes in digital values (e.g., ADC counts) in response to a user's finger (or portion thereof) being on a capacitive fingerprint sensor array. The increase in dynamic range may be achieved by decreasing the non-information value of the input current to the differential receiver and increasing the amplifier gain to increase the signal level.
Referring to fig. 9A, curve 902 shows the dynamic signal range (-5%) of the output signal induced on the RX electrode of the capacitive fingerprint sensor array without using a hardware baseline compensation circuit. The curve 904 shows the corresponding digital value (N)ADC) Dynamic signal range of (about-5%). Referring to fig. 9B, curve 912 shows the dynamic signal range (-5%) of the output signal induced on the RX electrode of the capacitive fingerprint sensor array with the use of a hardware baseline compensation circuit. The curve 914 shows the corresponding numerical value (N)ADC) Dynamic signal range of (about 50%). As can be seen in fig. 9A and 9B, the use of a hardware baseline compensation circuit increases the dynamic range of the change in digital values by a factor of approximately 10, for example from-5% in curve 904 to-50% in curve 914.
Fig. 10 illustrates operational waveforms of various signals used in a multiphase scan using a hardware baseline compensation circuit, such as the hardware baseline compensation component 240 in the embodiment of fig. 2A.
Some embodiments may perform hardware baseline compensation using a hardware baseline compensation circuit having a current source instead of a variable capacitor (e.g., as in component 240 in fig. 2A). Fig. 11 shows an example sensor system that uses two balanced current output digital-to-analog converters (IDACs) and two mixers to balance the input signals of a differential receiver.
The sensor system 30 in fig. 11 is similar to the sensor system 20 in fig. 2A/2B, except for the use of an IDAC-based baseline compensation component. Referring to fig. 11, the capacitive fingerprint sensor array 1121 in fig. 11 includes a grid of N RX electrodes and M TX electrodes. For example, the capacitive fingerprint sensor array 1121 includes TX electrodes 1122 and RX electrodes 1123 arranged to form sensor elements 1124. Each TX electrode in the sensor array 1121 is coupled to the processing device 1100 through a TX multiplexer 1112 and each RX electrode is coupled to the processing device through an RX multiplexer 1113. TX multiplexer 1112 is coupled to a signal generator (not shown) to receive TX clock signal 1114, which is used to generate the TX drive signal applied to the TX electrode. When applied to the TX electrodes, the TX drive signals cause output signals on the RX electrodes. RX multiplexer 1113 is configured to simultaneously multiplex output signals from multiple RX electrodes to the inputs of analog front end 1102. The analog front end 1102 is configured as a differential receiver to receive the (convolved) output signals from the electrodes of the sensor array 1121. The analog front end 1102 includes a Band Pass Filter (BPF)1103 coupled to a variable gain differential amplifier (VGA) 1104. VGA 1104 is coupled to a quadrature modulator (not shown), which is in turn coupled to a channel engine (not shown) configured to convert the RX output signals to digital values.
The processing device 1100 includes a hardware baseline compensation circuit 1150 that is controlled based on configuration information stored in a baseline register 1160. The baseline compensation circuit 1150 includes an IDAC 1152 coupled to a mixer 1156 to generate a positive compensation signal (e.g., "icomp _ p") and an IDAC 1154 coupled to a mixer 1158 to generate a negative compensation signal (e.g., "icomp _ n"). The negative input of the BPF 1103 (in the analog front end 1102) is coupled to the output of the mixer 1156 to receive the positive compensation signal, and the positive input of the BPF 1103 is coupled to the output of the mixer 1158 to receive the negative compensation signal. The baseline compensation component 1150 operates by generating a compensation current through each IDAC 1152 and 1154, one mixer per inverting and non-inverting input of the BPF 1103, and by alternating the polarity of the compensation current using the pair of mixers 1156 and 1158, respectively. The compensation current value may be set to a configuration in firmware, or a hardware sequencer may be used.
In some embodiments, using non-zero and MPRX excitation sequences, a hardware baseline compensation circuit (e.g., component 240 in fig. 2A and 1150 in fig. 11) may be able to provide only a common noise balance to a capacitive sensor array specifically designed for this purpose. For example, a capacitive fingerprint sensor array may have a grid design that may be used for the following purposes: a) noise listening by balancing the signal on the input of the differential receiver, and b) baseline compensation (removal) in combination with hardware baseline compensation components. In some embodiments, such a special sensor design may use the RX reference electrode to pick up noise without picking up signals from the user's finger on the capacitive fingerprint sensor array. To illustrate such a special design, a conventional sensing configuration for the zero and MPRX firing sequences is first discussed with respect to fig. 12.
Referring to fig. 12, the processing device 1200 includes a differential receiver coupled to a capacitive fingerprint sensor array 1221 through an RX multiplexer (not shown). The capacitive fingerprint sensor array 1221 is similar to the capacitive fingerprint sensor array 221 in fig. 2A/2B and is configured as a grid of N RX electrodes and M TX electrodes. In fig. 12, the processing device 1200 multiplexes RX output signals using zero and RX excitation sequences when performing a scan operation in a fully differential polyphase mode. The design configuration shown in fig. 12 provides optimal common mode noise rejection for a capacitive fingerprint sensor system, as this configuration allows the differential receiver to reject any noise in the measured output signal.
To achieve comparable common noise rejection, some embodiments may provide a special sensor array design that relies on the use of a reference electrode. FIG. 13 shows an example sensor array design with reference and ground electrodes that can be used with non-zero and excitation sequences. In fig. 13, the processing device 1300 is configured to multiplex RX output signals using non-zero and RX excitation sequences when performing a scan operation in a polyphase mode. The processing device 1300 includes a differential receiver coupled to the capacitive fingerprint sensor array 1321 through an RX multiplexer (not shown). The capacitive fingerprint sensor array 1321 is configured as a grid of TX electrodes 1322, RX electrodes 1323, reference electrodes 1326, and one or more ground electrodes 1328. TX electrode 1322 is disposed in one (e.g., horizontal) direction, while RX electrode 1323, reference electrode 1326, and ground electrode 1328 are disposed in a different (e.g., vertical) direction. The reference electrode 1326 and the ground electrode 1328 may both be arranged on one side of the sensor array 1321 (e.g., as shown in fig. 13), although it is noted that these electrodes may be arranged according to various alternative arrangements. The additional reference electrode 1326 may sense finger noise, but placing a finger on them does not cause any useful signal changes, so finger placement does not result in any output current when the TX electrode is driven. Thus, reference electrode 1326 provides three functions:
a. the reference electrode captures any noise signals in the same way that a normal RX electrode pair completes balancing the noise levels on the differential receiver inputs;
b. the reference electrode provides TX signal balancing by compensating for a difference between a number of RX electrodes coupled to the inverting and non-inverting differential receiver inputs based on the non-zero and MPRX firing sequences;
c. the reference electrode does not sense any useful finger signal and therefore does not add more unknowns in the system.
In fig. 13, the ground electrode 1328 is configured to shield the RX electrode 1323 from the reference electrode 1326.
In some implementations, the reference electrode in the capacitive fingerprint sensor array may be the same size and shape as the normal RX electrode, but may be separated by the ground electrode to capture the volumetric TX field lines that would otherwise reach the finger on the touch surface of the sensor array. This is illustrated in fig. 14, which fig. 14 shows the electric field lines of a sensor array with a reference electrode. In FIG. 14, a capacitive fingerprint sensor array 1421 is disposed below the touch surface 1429. For purposes of illustration, FIG. 14 shows only a portion of a capacitive fingerprint sensor array 1421 that includes TX electrode 1422, RX electrodes 1423a and 1423b, reference electrodes 1426a and 1426b, and ground electrode 1428. In the embodiment of FIG. 14, the distance between the individual reference electrodes 1426a and 1426b should be less than the electrode height, so the electric field from TX electrode 1422 does not reach a finger (not shown) in the area of touch surface 1429 above the reference electrode (e.g., no field lines from TX electrode 1422 reach the area of touch surface 1429 above the reference electrode, so no response signal will be caused by a finger in this area). At the same time, the reference electrodes (e.g., 1426a, 1426b) provide nearly identical TX-RX coupling to the normal RX electrodes for the purpose of balancing the inputs to the differential receiver in the processing device. In some embodiments, the number of reference electrodes may be programmable to allow for acting (balancing) on different non-zero MPRX excitation sequences with different sums.
Another alternative to using the zero sum excitation sequence is to provide a sensor array design with TX compensation electrodes on the non-zero sum excitation sequence. For example, in some embodiments, it is possible to operate a fully balanced (zero sum current) TX driver by means of an additional compensation electrode that can compensate for the current injected in the RX electrode due to the imbalance between the number of positive and negative TX electrodes driven, by using non-zero and MPTX firing sequences. The current injected in the TX compensation electrode should not change in the sensor array area of the touch of the finger, so the sensor array design should not allow the finger to cross the electric field lines of the TX compensation electrode. To accomplish this, in some embodiments, the TX compensation electrodes may be buried in the internal sensor layer (where this is appropriate) or may be protected by a ground line on the top layer to prevent the TX electrode field lines from being captured by a finger. An example of this latter design is shown in FIG. 15.
Fig. 15 shows a sensor system 40 suitable for use on non-zero and TX excitation sequences and non-zero and RX excitation sequences. Sensor system 40 includes a differential receiver 1502, a TX multiplexer 1512, an RX multiplexer 1513, and a capacitive fingerprint sensor array 1521. The differential receiver 1502 is coupled to the capacitive fingerprint sensor array 1521 through an RX multiplexer 1513. The TX multiplexer 1512 is coupled to the capacitive fingerprint sensor array 1521. TX multiplexer 1512 is also coupled to a signal generator (not shown) to receive TX drive signals 1514 that are applied to TX electrodes 1522a and 1522b in a polyphase mode based on a non-zero and TX firing sequence. When applied to TX electrodes 1522a and 1522b, the TX drive signal causes an output signal on RX electrode 1523. The RX multiplexer 1513 is configured to multiplex output signals from the plurality of RX electrodes to inputs of the differential receiver 1502 based on the non-zero and RX firing sequences in the polyphase mode.
The capacitive fingerprint sensor array 1521 has a design that includes an RX reference electrode and a TX compensation electrode. As shown in fig. 15, capacitive fingerprint sensor array 1521 is configured as a grid of conventional TX electrodes 1522a, TX compensation electrodes 1522b, RX electrodes 1523, RX reference electrodes 1526, ground electrodes 1528a, and (four) TX shield electrodes 1528 b. The conventional TX electrode 1522a and the TX compensation electrode 1522b are arranged in one (e.g., horizontal) direction. RX electrode 1523, RX reference electrode 1526, ground electrode 1528a, and TX shield electrode 1528b are arranged in different (e.g., vertical) directions. A reference electrode 1526 and a ground electrode 1528a are arranged on one side of the sensor array 1521. Similar to the sensor array design in fig. 14, in the sensor array design of fig. 15, the distance between the individual RX reference electrodes 1526 is less than the electrode height in order to prevent finger induced response signals in this area of the sensor array 1521. Ground electrode 1528a is configured to shield RX electrode 1523 from reference electrode 1526. TX compensation electrode 1522a is disposed on one side of sensor array 1521. TX shield electrode 1528b is partially disposed within sensor array 1521 and over TX compensation electrode 1522 b. Thus, as shown in fig. 15, portions of RX reference electrode 1526, a portion of ground electrode 1528, and TX shield electrode 1528b are arranged to prevent electric field lines of TX compensation electrode 1522b from being crossed by a finger on the touch surface of sensor array 1521.
The sensor array design in the embodiment of fig. 15 shows how a capacitive fingerprint sensor array can be configured for use on non-zero and TX and RX excitation sequences:
1. a fully balanced TX driver is formed with one active TX compensation electrode using non-zero MPTX firing sequences of lengths 3 and 1 to obtain zero input current per RX electrode. This is illustrated by the connection settings in the TX multiplexer 1512, where the solid circles indicate connections and the white circles indicate no connections.
2. A fully balanced RX driver is formed by means of 2 RX reference electrodes using non-zero MPRX excitation sequences with lengths 4 and 2 to obtain zero input current for each pair of differential RX output signals. This is illustrated by the connection arrangement in RX multiplexer 1513, where solid circles indicate connections and white circles indicate no connections.
Note that not all image reconstruction methods described herein are used for RX and TX configurations without a reference electrode or compensation electrode, and vice versa. Table 1 below shows compatibility grids for various fingerprints and touch reconstruction methods for hardware configurations that allow zero current (e.g., fully differential) combined MPRX/MPTX scanning.
TABLE 1 zero-Current combination MPRx/MPTX option
Figure BDA0002212345290000471
Examples of sense grid excitation with polarity switching
The sensing grid firing with polarity switching technique described herein is also referred to as a solution to the mismatched receiver gain problem. Such a problem may exist in some embodiments that use a gain amplifier coupled to the input of a differential amplifier in the receiver channel. For example, in the embodiment of fig. 3, Gp and Gm gain amplifiers 309a and 309b are connected to the inputs of differential amplifier 304. However, in real hardware, exactly matched gain amplifiers are generally unknown, and typically the gains of these gain amplifiers are not equal, e.g., Gp ≠ -Gm. This gain mismatch causes a mismatch problem between the deconvolved (recovered) image and the original image.
An example of this problem is described below based on a multi-phase RX scan technique. When there is a gain mismatch, a hardware scan (convolution) is performed with gains Gp-1 + d and Gm-1, where d is some deviation. In this case, the excitation vector Er _ Vect may be expressed as shown in equation 13 below:
er _ Vect ═ 1+ d 0 … 0-10 … 0 (equation 13)
However, the operation in the deconvolution stage considers Gp +1 and Gm-1. As a result, the original/detected image X is convolved (warped) based on the excitation vector Er _ Vect [ [1+ d 0 … 0-10 … 0] vector, and deconvolved (unwrapped) based on the excitation vector Er _ Vect [ [ 10 … 0-10 … 0 ]. This will cause distortion in the restored image.
There may be two solutions to this problem:
1) experimentally determine Gp and Gm and use them in the deconvolution stage;
2) the reversal with polarity switching circuit uses alternate connections of the differential receiver to the designated RX electrodes.
The first solution requires periodic measurements of the Gp and Gm coefficients of the gain amplifier and consideration of these coefficients during the deconvolution stage. The second solution requires a double scan of each sensor array element with reversed polarity, but always uses Gp-Gm in the deconvolution stage. An example of the latter solution is shown in the method of fig. 16.
Fig. 16 illustrates an example method for excitation (convolution) of a multi-phase RX scan with an alternation of polarity at each sensor element (e.g., each sensor element is scanned twice with opposite polarity). The operations of the method in fig. 16 are described as being performed by a processing device or components thereof (e.g., the processing device 200 or its TX multiplexer 212, RX multiplexer 213, and deconvolution engine 236 in fig. 2A/2B). Note, however, that various implementations and embodiments may use various and possibly multiple components to perform the operations of the method in fig. 16. For example, in various embodiments, the processing device may be configured with firmware instructions that, when executed by one or more processors or other hardware components (e.g., microcontrollers, ASICs, etc.), are operable to perform the operations of the method in fig. 16. In another example, in various embodiments, the processing device may be implemented in a single IC component, or its functionality may be extended among two or more IC components that may perform some additional operations and functions. Further, in some embodiments, the method in fig. 16 may be performed by a processing device to scan for contact by a conductive object (e.g., a stylus or finger) on a capacitive touch sensor array. Accordingly, the following description of the method in fig. 16 as performed by a processing device and/or for fingerprint image reconstruction should be viewed in an illustrative and not a limiting sense.
Referring to fig. 16, in operation 1600, the processing device begins the excitation (convolution) of a multi-phase RX scan operation on a capacitive fingerprint sensor array having N RX electrodes and M TX electrodes. In operation 1602, the processing device initializes (or otherwise defines) the RX excitation matrix Er and stores the excitation matrix in volatile or non-volatile memory. For example, according to the techniques described herein, the processing device may generate the excitation matrix Er based on the zero and circular rotation of the excitation vector Er _ Vect. In operation 1604, the processing device initializes a current electrode variable (e.g., "m") to 1, the current electrode variable indicating a current TX electrode driven by the processing device as part of a scan operation.
In operation 1606, the processing device couples a current (e.g., "mth") TX electrode to the TX driver, while other TX electrodes are coupled to system ground (e.g., another reference signal). For example, the processing device may configure the TX multiplexer to connect the current (e.g., "mth") TX electrode to the TX driver while connecting the rest of the TX electrode to system ground. In operation 1608, the processing device initializes a current row variable (e.g., "n") to 1, the current row variable representing a current time slot during which the plurality of RX electrodes are sensed according to a current (e.g., "nth") row of the excitation matrix Er.
In operation 1610, the processing device connects a plurality of RX electrodes to a differential receiver of the processing device according to a current (e.g., "nth") row of the excitation matrix Er. For example, the processing device may configure the RX multiplexer according to a control signal defined by a data element in the current row of the excitation matrix Er. The RX multiplexer couples a plurality of RX electrodes to a non-inverting input of the differential receiver, switches the polarity of the same number of RX electrodes and couples the same number of RX electrodes to an inverting input of the differential receiver, and couples any remaining RX electrodes to system ground (or another reference signal). In operation 1612, the differential receiver in the processing device receives the output signal and processes the output signal to generate a digital value Rr (n, m). The digital value of the received output signal is a convolution representation of the unknown mutual capacitance at the sensor element located at the nth row and the mth column of the sensor array. The processing device stores the generated digital values at the corresponding entry (e.g., (n, m)) in the output signal matrix Rr and proceeds to operation 1614.
In operation 1614, the processing device performs another scan on the same RX electrode that was scanned in operations 1610 and 1612, but with the polarity switched. For example, in operation 1614, the processing device connects the same plurality of RX electrodes (as in operation 1610) to the differential receiver according to the current (e.g., "nth") row of the excitation matrix Er multiplied by-1 (which reverses the polarity of the RX electrode connections). In operation 1616, a differential receiver in the processing device receives the output signal and processes the output signal to recalculate the digital values of the sensor elements at the nth row and the mth column of the sensor array. A new digital value, e.g., a new digital value, for the sensor element is then generated by subtracting the recalculated digital value from the stored digital value (which was calculated in operation 1612) and then dividing the result by 2
Figure BDA0002212345290000501
The new digital value of the sensor element is a convolution representation of the unknown mutual capacitance of the sensor element, but it is corrected to remove the distortion caused by the deviation d representing the mismatch of the gain amplifier. The processing device stores the new digital value at the corresponding entry (e.g., (n, m)) in the output signal matrix Rr and proceeds to operation 1618.
In operation 1618, the processing device increments a current row variable (e.g., "n") to indicate a next row in the excitation matrix Er (e.g., to indicate a next time slot for sensing RX electrodes based on the current TX electrodes). In operation 1620, the processing device checks whether the incremented current row variable is less than or equal to the number of rows N in the excitation matrix Er. If the incremented current row variable is less than or equal to N, then the processing device determines that some more RX electrodes still need to be scanned based on the current TX electrode, so the processing device continues to repeat operations 1610, 1612, 1614, 1616, 1618, and 1620 for the next row in excitation matrix Er. If, in operation 1620, the processing device determines that the incremented current row variable is greater than the number of rows N in the excitation matrix Er, the processing device determines that it scanned all RX electrodes based on the current TX electrodes, so the processing device continues with operation 1622.
In operation 1622, the processing device increments a current electrode variable (e.g., "m") to indicate a next TX electrode to be coupled to the TX driver and energized for scanning. In operation 1624, the processing device checks whether the incremented present electrode variable is less than or equal to the number M of TX electrodes in the capacitive fingerprint sensor matrix. If the incremented current electrode variable is less than or equal to M, then the processing device determines that some more TX electrodes still need to be driven, so the processing device continues to repeat operations 1606, 1608, 1610, 1612, 1614, 1616, 1618, 1620, 1622, and 1624 for the next TX electrode. If the processing device determines that the incremented present electrode variable is greater than the number M of TX electrodes in operation 1624, the processing device determines that the scanning of all TX electrodes is complete and that all digital values of the output signal matrix Rr were generated. The processing device then proceeds to operation 1626 to end the current scan cycle of the scan operation and to proceed with other operations. After the output signal matrix Rr is generated in this manner, the matrix may be deconvoluted to generate a fingerprint image by using the method in fig. 6B.
Fig. 19 illustrates the effect of mismatched gain (e.g., Gp ≠ -Gm) on the quality of the resulting fingerprint image. In FIG. 19, image 1902 shows an original fingerprint that was scanned. Image 1904 shows a fingerprint image convolved with Gp 1.1 and Gm 1 (e.g., gain Gp 10% off). If the operation at the deconvolution stage produces an image by considering that the receiver gain is balanced (e.g., Gp ═ Gm), then a distorted image is obtained as shown in image 1906. If, however, polarity switching is used in the operation of the convolution stage (e.g., according to the method of fig. 16), the image quality of the resulting fingerprint image is significantly increased, as shown by image 1908.
The method of fig. 16 provides compensation for mismatched amplifier gain because each sensor element is scanned twice with polarity switching. Thus, the operation in the deconvolution stage can take into account the gain to be matched, e.g., Gp ═ Gm, without image quality distortion. Note that the use of the method in fig. 16 avoids the need for tuning of the gain during the deconvolution stage.
Post-processing quality improvement with baseline compensation
Some embodiments achieve image quality improvement by using baseline compensation (in firmware or software) during post-processing operations. Post-processing operations refer to operations performed after a fingerprint image is generated or otherwise acquired by a processing device in accordance with the techniques described herein.
In some embodiments, performing excitation (convolution) and deconvolution based on zero and excitation vectors may cause loss of baseline information and may distort the acquired image. In such embodiments, only the contrast through the designated RX or TX electrodes may be restored. To address these issues, the techniques described herein provide a partial baseline restoration process as shown in fig. 17. Note that the method of fig. 17 does not provide exactly the same baseline value as in the original image, but it recovers about the same baseline value as in the original image, thereby providing a significant improvement in the quality of the recovered image.
FIG. 17 illustrates an example method of post-processing baseline compensation. The operations of the method in fig. 17 are described as being performed by a processing device. Note, however, that various implementations and embodiments may use various and possibly multiple components to perform the operations of the method in fig. 17. For example, in various embodiments, the processing device may be configured with firmware instructions that, when executed by one or more processors or other hardware components (e.g., microcontrollers, ASICs, etc.), are operable to perform the operations of the method in fig. 17. In another example, in various embodiments, the processing device may be implemented in a single IC component, or its functionality may be extended among two or more IC components that may perform some additional operations and functions. Further, in some embodiments, the method in fig. 17 may be performed by a processing device to process results from a capacitive touch sensor array. Accordingly, the following description of the method in fig. 17 as performed by a processing device and/or for a fingerprint image should be viewed in an illustrative and not a limiting sense.
Before operation 1700 begins, a fingerprint image has been generated according to the techniques described herein. For example, the processing device generates and stores (e.g., in volatile or non-volatile memory) the restored image matrix Y. The recovered image matrix Y represents a fingerprint image acquired by the processing device from a capacitive fingerprint sensor array having N RX electrodes and M TX electrodes. Thus, the recovered image matrix Y has N rows and M columns, with data elements representing the measured mutual capacitances of the sensor elements formed at the intersections of the RX and TX electrodes of the sensor array.
Referring to fig. 17, in operation 1700, the processing device begins a baseline compensation process. In operation 1702, the processor initializes a current row variable (e.g., "n") indicating a current row of the image matrix Y to 1.
In operation 1704, the processing device accesses a vector (e.g., "Y") formed by data elements in a current row of the image matrix Y as indicated by a current row variable "n". In operation 1706, the processing device orders the data elements of the vector "y" in descending order to arrive at an ordered vector "S". In operation 1708, the processing device removes 10% of the data elements from the left end of the sorted vector "S" and also removes 10% of the data elements from the right end of the sorted vector "S" to get the simplified vector "S". In this way, the 10% highest value and the 10% lowest value of the data elements in vector "y" are removed from subsequent operations that calculate the compensation value for this vector "y". In operation 1710, an average value is calculated from the data elements in the simplified vector "S" (e.g., "S")AVG") for example, the data elements in the reduced vector are summed and the sum is divided by the number of data elements to obtain an average" SAVG". Calculated average value "SAVG"represents the compensation value of the vector" y ". In operation 1712, the average value "S" is subtracted from each data element of the vector "yAVG"to obtain a compensated vector" y ". In operation 1714, the current (e.g., "nth") row in the image matrix Y is replaced with the data elements of the compensated vector "Y".
In operation 1716, the processing device increments a current row variable (e.g., "n") to indicate the next row in the restored image matrix Y. In operation 1718, the processing device checks whether the incremented current row variable is less than or equal to the number of rows N in the image matrix Y. If the incremented current row variable is less than or equal to N, then the processing device determines that some more rows from Y of the matrix need to be processed, so the processing device continues to repeat operations 1704, 1706, 1708, 1710, 1712, 1714, 1716, and 1718 for the next row in matrix Y. If, in operation 1718, the processing device determines that the incremented current row variable is greater than the number of rows N in matrix Y, the processing device determines that it processed all rows of matrix Y and proceeds to operation 1720.
In operation 1720, the processor initializes a current column variable (e.g., "m") indicating a current row of the image matrix Y to 1.
In operation 1722, the processing device accesses a vector (e.g., "Y") formed by data elements in the current column of the image matrix Y as indicated by the current column variable "m". In operation 1724, the processing device orders the data elements of the vector "y" in descending order to get an ordered vector "S". In operation 1726, the processing device removes (reduces) 10% of the data elements from the left end of the sorted vector "S" and also removes 10% of the data elements from the right end of the sorted vector "S" to get the simplified vector "S". In this way, the 10% highest value and the 10% lowest value of the data elements in vector "y" are removed from subsequent operations that calculate the compensation value for this vector "y". In operation 1728, an average is calculated from the data elements in the simplified vector "S" (e.g., "S")AVG") for example, the data elements in the reduced vector are summed and the sum is divided by the number of data elements to obtain an average" SAVG". Calculated average value "SAVG"represents the compensation value of the vector" y ". In operation 1730, the average value "S" is subtracted from each data element of the vector "yAVG"to obtain a compensated vector" y ". In operation 1732, the current (e.g., "mth") column in the image matrix Y is replaced with the data elements of the compensated vector "Y".
In operation 1734, the processing device increments a current column variable (e.g., "m") to indicate the next column in the restored image matrix Y. In operation 1736, the processing device checks whether the incremented current column variable is less than or equal to the number of columns M in the image matrix Y. If the incremented current column variable is less than or equal to M, then the processing device determines that some more columns from Y of the matrix need to be processed, so the processing device continues to repeat operations 1722, 1724, 1726, 1728, 1730, 1732, 1734, and 1736 on the next column in matrix Y. If the processing device determines in operation 1736 that the incremented current column variable is greater than the number of rows M in matrix Y, the processing device determines that it has processed all columns of matrix Y. The processing device then proceeds to operation 1738 to end the baseline compensation process and to proceed with other post-processing operations (if any). At the end of the baseline compensation process, the digital values in the restored image matrix Y include baseline values that are about the same as the baseline values lost in the scanning of the capacitive fingerprint sensor array. In this way, the quality of the restored image is improved.
Figure 18 illustrates the effect of the post-processing baseline compensation method of figure 17 on the quality of the resulting fingerprint image. In FIG. 18, image 1802 shows the original fingerprint that was scanned. Image 1804 shows a convolved image generated by using a multi-phase RX scan. Image 1806 is a deconvolved image 1804 with no post-processing baseline compensation applied. As can be seen, image 1806 has visible artifacts. Image 1808 is a deconvolved image 1804 to which post-processing baseline compensation has been applied. As can be seen in image 1808, the post-processing baseline compensation process removes undesirable image artifacts.
Example of image reconstruction Using pseudorandom sequences
According to the techniques described herein, some embodiments may use polyphase (RX or TX) scanning in conjunction with pseudo-random excitation sequence based fingerprint image reconstruction. Note that these embodiments do not require solving a complete or simplified set of linear equations.
For example, in some embodiments using polyphase RX scans, the RX excitation matrix may be generated not based on user-designed zero-sum excitation vectors (e.g., Er _ Vect) as described earlier herein, but based on excitation vectors generated by applying autocorrelation functions to a pseudo-random sequence of data elements having +1 and-1. In these embodiments, the RX electrodes are multiplexed to a differential receiver of the processing device according to an RX excitation matrix, thereby producing an output signal matrix having convolved digital values. A restored image matrix representing the detected/sensed fingerprint image is then generated based on the product of the convolved output signal matrix and the transposed matrix of the excitation matrix, thereby effectively deconvolving the digital values stored in the convolved output signal matrix. In embodiments using multi-phase TX scanning, TX excitation matrices may be generated in a similar manner based on a pseudo-random sequence and an autocorrelation function, and may be used in a similar manner to generate a recovered image matrix representing a fingerprint image.
In some embodiments, the excitation vectors of the RX or TX excitation matrix may be based on a pseudo-randomly generated sequence with an autocorrelation function (ACF) close to a delta function. The detected/sensed fingerprint image is deconvolved by multiplying the convolved output signal matrix to the transpose of the RX or TX excitation matrix. For example, the RX excitation vector may be generated by applying an autocorrelation function to a pseudorandom sequence of a given length N, which corresponds to the number of RX electrodes in the capacitive fingerprint sensor array. The excitation matrix obtained in this way may be rotated circularly (as described earlier herein) in order to generate the RX excitation matrix. The product of this pseudo-random sequence circular rotation matrix on its transpose is a matrix with the same maximum value only on the diagonal. In other words, such an excitation matrix can be used for deconvolution and fingerprint image reconstruction because its properties are close to those of a Hadamard matrix, e.g. as represented by H · HTDefined as nI.
The use of a pseudo-random sequence-based generated excitation vector as described herein provides image reconstruction with comparable accuracy to the techniques described herein that rely on solving a complete or simplified set of linear equations. For example, if the M sequence has 2NThe repetition length of-1 and the number of data elements with value +1 exceeds the number of data elements with value-1 by 1, their sum always being equal to 1. Because the autocorrelation function (ACF) band has a value of not more than
Figure BDA0002212345290000551
The function value decreases as the sequence length increases (this pair)A very useful feature in a capacitive fingerprint sensor array that typically has one hundred or more sensor elements). This is illustrated in fig. 20, which fig. 20 shows a curve 2000 of an ACF having a pseudorandom M-sequence of length 127.
Some embodiments that use a pseudorandom sequence and an autocorrelation function to generate an excitation matrix may achieve fingerprint image reconstruction results comparable to other techniques described herein, but at a lower cost. For example, such implementations typically use matrix multiplication operations that multiply by only a factor of ± 1. Thus, these embodiments may use a lower cost deconvolution engine that does not use hardware multiplication elements or circuitry. This is illustrated in fig. 21, which fig. 21 illustrates image reconstruction by using MPRX scanning based on a pseudo-random M-sequence having a length of 127. As can be seen in fig. 21, the original image 2102 is comparable in quality and accuracy to the deconvolved image 2106 (with the convolved image 2104 also provided for illustrative purposes).
Examples of post-processing operations and enhancements
Various post-processing actions and operations may be performed based on fingerprint images generated according to the techniques described herein. In some implementations, a processing device or a host application (e.g., running on a computer system) can use a fingerprint image to authenticate a user. For example, a processing device or host application may compare a fingerprint image to images in a fingerprint database using various fingerprint matching algorithms, such as pattern-based algorithms (which compare basic fingerprint patterns such as bows, skips, and skips), minutiae-based algorithms (which compare lower-level features called minutiae determined by singularities in fingerprint ridge patterns), and so forth.
Various embodiments of the techniques described herein for multi-phase scanning in fingerprint and touch applications provide some of the following improvements when compared to conventional techniques:
noise immunity enhancement of common mode noise (due to noise rejection by the differential receiver used in various embodiments);
non-common mode noise reduction due to the use of multi-phase drive/sense techniques, resulting in better fingerprint images in terms of signal-to-noise ratio (SNR);
non-common mode noise immunity improvement due to the larger dynamic range of the sensing circuit of the differential receiver;
lower internal noise due to the lack of baseline compensation circuitry, which may generate additional noise (e.g., in implementations where no hardware components are used to perform baseline compensation);
improved quality of the acquired fingerprint image due to better SNR;
improved quality of the fingerprint image due to lower quantization noise in the conversion circuit due to the absence of a baseline capacitance component in the RX output signal;
increased False Acceptance Rate (FAR)/False Rejection Rate (FRR) due to better quality of the acquired fingerprint image;
reduced scan time and power consumption due to the use of polyphase scanning techniques for archiving only signals with sufficiently good SNR;
enabling the use of capacitive fingerprint scanning for navigation sensors, where the short conversion time for generating a fingerprint image allows the scanning to be performed much faster and cover a larger sensor array area, which in turn leads to improved motion detection (e.g. shift) by correlation techniques or other methods applied on fingerprint image post-processing (typically, navigation sensors refer to sensors that convert motion to shift, e.g. converting motion of a finger to shift at a specific location on a touch screen, converting motion of a mouse to a pointer location on a computer screen, etc.).
Various implementations of the techniques described herein for multi-phase scanning of fingerprints and touch sensor arrays may include various operations. These operations may be performed by hardware components, software, firmware, or a combination thereof. As used herein, the term "coupled to" may mean coupled directly or indirectly through one or more intermediate components. Any signals provided over the various buses described herein may be time multiplexed with other signals and provided over one or more common buses. Further, the interconnections between circuit components or blocks may be shown as buses or as single signal lines. Each bus may optionally be one or more single signal lines, and each single signal line may optionally be a bus.
Certain embodiments may be implemented as a computer program product that may include instructions stored on a non-transitory computer-readable medium, such as volatile and/or non-volatile memory. These instructions may be used to program one or more devices including one or more general-purpose or special-purpose processors (e.g., CPUs) or their equivalents (e.g., processing cores, processing engines, microcontrollers, etc.), such that the instructions, when executed by the processors or their equivalents, cause the devices to perform the operations described for multi-phase scanning described herein. A computer-readable medium may also include any mechanism for storing or transmitting information in a form (e.g., software, processing application, etc.) readable by a machine (e.g., a device or a computer). The non-transitory computer-readable storage medium may include, but is not limited to, an electromagnetic storage medium (e.g., floppy disks, hard disks, etc.), an optical storage medium (e.g., CD-ROMs), magneto-optical storage media, read-only memories (ROMs), Random Access Memories (RAMs), erasable programmable memories (e.g., EPROMs and EEPROMs), flash memory, or another now known or later developed non-transitory type of medium suitable for storing information.
Although the operations of the methods herein are shown and described in a particular order, in some embodiments, the order of the operations of each method may be changed such that certain operations may be performed in an inverse order, or such that certain operations may be performed, at least in part, concurrently and/or in parallel with other operations. In other embodiments, instructions or sub-operations of different operations may be in an intermittent and/or alternating manner.
In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.

Claims (20)

1. A method of scanning, comprising:
receiving, by a processing device, a plurality of measurements representing a portion of a finger on a capacitive fingerprint sensor array;
wherein the plurality of measurements are obtained from sensor elements of the capacitive fingerprint sensor array in a multi-phase scan based on an excitation vector generated by applying an autocorrelation function to a pseudorandom sequence;
generating, by the processing device, a fingerprint image of the portion of the finger based on the plurality of measurements.
2. The method of claim 1, wherein the plurality of measurements represent mutual capacitances measured at the sensor elements of the capacitive fingerprint sensor array.
3. The method of claim 1, wherein the fingerprint image is a set of data values representing a fingerprint of the portion of the finger in a digital format.
4. The method of claim 1, wherein the pseudo-random sequence has data elements of +1 and-1.
5. The method of claim 4, wherein the processing device generates an excitation matrix representing a polarity of control signals applied to multiplex a plurality of electrodes of the sensor element.
6. The method of claim 1, wherein the sensor elements of the capacitive fingerprint sensor array comprise receive RX electrodes, and the method further comprises:
generating an RX excitation matrix based on the excitation vector; and
multiplexing the RX electrodes to one or more differential receivers of the processing device according to the RX excitation matrix, the differential receivers configured to receive the plurality of measurements from the capacitive fingerprint sensor array.
7. The method of claim 6, wherein generating the fingerprint image comprises:
generating an output signal matrix based on the plurality of measurements; and
generating a recovered image matrix representing the fingerprint image based on a product of the output signal matrix and a transposed matrix of the RX excitation matrix.
8. The method of claim 1, wherein the sensor elements of the capacitive fingerprint sensor array comprise transmit TX electrodes, and the method further comprises:
generating a TX excitation matrix based on the excitation vector; and
driving the TX electrodes according to the TX excitation matrix.
9. The method of claim 8, wherein generating the fingerprint image comprises:
generating an output signal matrix based on the plurality of measurements; and
generating a recovered image matrix representing the fingerprint image based on a product of the output signal matrix and a transposed matrix of the TX excitation matrix.
10. The method of claim 1, wherein the sensor elements of the capacitive fingerprint sensor array comprise transmit TX electrodes and receive RX electrodes, and the method further comprises:
generating a TX excitation matrix based on the excitation vector;
generating an RX excitation matrix based on the excitation vector;
driving the TX electrodes according to the TX excitation matrix; and
multiplexing the RX electrodes to one or more differential receivers of the processing device according to the RX excitation matrix;
wherein generating the fingerprint image comprises:
generating an output signal matrix based on the plurality of measurements; and
generating a recovered image matrix representing the fingerprint image based on a product of the output signal matrix and a transpose of the TX excitation matrix or the RX excitation matrix.
11. A scanning system, comprising:
a capacitive fingerprint sensor array; and
a processing device coupled to the capacitive fingerprint sensor array, the processing device configured to at least:
performing a multi-phase scan of the capacitive fingerprint sensor array based on an excitation vector generated by applying an autocorrelation function to a pseudorandom sequence;
receiving a plurality of measurements representing a portion of a finger on the capacitive fingerprint sensor array; and
generating a fingerprint image of the portion of the finger based on the plurality of measurements.
12. The system of claim 11, wherein the plurality of measurements represent mutual capacitances measured at sensor elements of the capacitive fingerprint sensor array.
13. The system of claim 11, wherein the fingerprint image is a set of data values representing a fingerprint of the portion of the finger in a digital format.
14. The system of claim 11, wherein the pseudo-random sequence has data elements of +1 and-1.
15. The system of claim 14, wherein the processing device generates an excitation matrix representing a polarity of control signals applied to multiplex a plurality of electrodes of the capacitive fingerprint sensor array.
16. The system of claim 11, wherein the capacitive fingerprint sensor array comprises receive RX electrodes, and the processing device is configured to:
generating an RX excitation matrix based on the excitation vector; and
multiplexing the RX electrodes to one or more differential receivers configured to receive the plurality of measurements from the capacitive fingerprint sensor array according to the RX excitation matrix.
17. The system of claim 16, wherein to generate the fingerprint image, the processing device is configured to at least:
generating an output signal matrix based on the plurality of measurements; and
generating a recovered image matrix representing the fingerprint image based on a product of the output signal matrix and a transposed matrix of the RX excitation matrix.
18. The system of claim 11, wherein the capacitive fingerprint sensor array comprises transmit TX electrodes, and the processing device is configured to:
generating a TX excitation matrix based on the excitation vector; and
driving the TX electrodes according to the TX excitation matrix.
19. The system of claim 18, wherein to generate the fingerprint image, the processing device is configured to at least:
generating an output signal matrix based on the plurality of measurements; and
generating a recovered image matrix representing the fingerprint image based on a product of the output signal matrix and a transposed matrix of the TX excitation matrix.
20. The system of claim 11, wherein the capacitive fingerprint sensor array comprises transmit TX electrodes and receive RX electrodes, and the processing device is configured to:
generating a TX excitation matrix based on the excitation vector;
generating an RX excitation matrix based on the excitation vector;
driving the TX electrodes according to the TX excitation matrix; and
multiplexing the RX electrodes according to the RX excitation matrix;
wherein to generate the fingerprint image, the processing device is configured to at least:
generating an output signal matrix based on the plurality of measurements; and
generating a recovered image matrix representing the fingerprint image based on a product of the output signal matrix and a transpose of the TX excitation matrix or the RX excitation matrix.
CN201910902871.5A 2014-11-25 2015-09-18 Method and sensor for multi-phase scanning in fingerprint and touch applications Active CN110647846B (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201462084036P 2014-11-25 2014-11-25
US201462084030P 2014-11-25 2014-11-25
US62/084,030 2014-11-25
US62/084,036 2014-11-25
US14/671,129 2015-03-27
US14/671,129 US9639733B2 (en) 2014-11-25 2015-03-27 Methods and sensors for multiphase scanning in the fingerprint and touch applications
CN201580001070.1A CN105830345B (en) 2014-11-25 2015-09-18 Method and sensor for the Multi phase in fingerprint and touching application

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201580001070.1A Division CN105830345B (en) 2014-11-25 2015-09-18 Method and sensor for the Multi phase in fingerprint and touching application

Publications (2)

Publication Number Publication Date
CN110647846A CN110647846A (en) 2020-01-03
CN110647846B true CN110647846B (en) 2021-03-09

Family

ID=56074874

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910902871.5A Active CN110647846B (en) 2014-11-25 2015-09-18 Method and sensor for multi-phase scanning in fingerprint and touch applications
CN201580001070.1A Active CN105830345B (en) 2014-11-25 2015-09-18 Method and sensor for the Multi phase in fingerprint and touching application

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201580001070.1A Active CN105830345B (en) 2014-11-25 2015-09-18 Method and sensor for the Multi phase in fingerprint and touching application

Country Status (2)

Country Link
CN (2) CN110647846B (en)
WO (1) WO2016085560A1 (en)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9779280B2 (en) 2014-12-24 2017-10-03 Idex Asa Fingerprint sensor employing an integrated noise rejection structure
CN106022312B (en) * 2016-06-15 2019-09-27 深圳信炜科技有限公司 Fingerprint sensor and electronic device
US10503308B2 (en) * 2016-12-13 2019-12-10 Novatek Microelectronics Corp. Touch apparatus and touch detection integrated circuit thereof
US10310687B2 (en) 2016-12-14 2019-06-04 Cypress Semiconductor Corporation Multi-phase self-capacitance scanning of sensors arrays
CN107194305A (en) * 2017-02-14 2017-09-22 成都晶砂科技有限公司 Device and display screen that pixel, fingerprint and the touch-control that fingerprint and touch-control are blended are blended
CN107908034B (en) * 2017-12-05 2020-05-01 武汉天马微电子有限公司 Array substrate, touch display panel and touch display panel driving method
US11972078B2 (en) 2017-12-13 2024-04-30 Cypress Semiconductor Corporation Hover sensing with multi-phase self-capacitance method
CN109993274B (en) * 2017-12-29 2021-01-12 深圳云天励飞技术有限公司 Artificial intelligence computing device and related products
US10691258B2 (en) 2018-01-12 2020-06-23 Idex Biometrics Asa Systems and methods for noise reduction in sensors
CN111801682A (en) * 2018-03-14 2020-10-20 指纹卡有限公司 Method for filtering fingerprint pattern signal and fingerprint sensing device
US10915724B2 (en) 2018-08-22 2021-02-09 Idex Biometrics Asa Systems and methods for improving image quality in sensors
US11106310B2 (en) 2019-08-22 2021-08-31 Idex Biometrics Asa Systems and methods for improving image quality in sensors
US11042773B2 (en) 2019-01-11 2021-06-22 Idex Biometrics Asa Systems and methods for accelerating data capture in sensors
TW202201210A (en) * 2020-06-26 2022-01-01 瑞典商指紋卡公司 Optical fingerprint sensing system with common mode compensation
CN116601589A (en) * 2020-08-01 2023-08-15 华为技术有限公司 Apparatus and method for fingerprint sensing
CN112580605B (en) * 2020-12-31 2024-05-24 敦泰电子(深圳)有限公司 Fingerprint image acquisition method and device, electronic equipment and storage medium
WO2024097255A1 (en) * 2022-10-31 2024-05-10 Microchip Touch Solutions Limited Pseudoinverse-based noise equalization
CN117250416B (en) * 2023-11-20 2024-04-09 上海海栎创科技股份有限公司 Multiphase signal scanning detection circuit and detection method

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5432779A (en) * 1993-04-09 1995-07-11 Sony Corporation Time division multiplex transmitting/receiving system
US5940526A (en) * 1997-05-16 1999-08-17 Harris Corporation Electric field fingerprint sensor having enhanced features and related methods
EP1439431A1 (en) * 2003-01-15 2004-07-21 Xerox Corporation Toner concentration sensor calibration for image forming apparatus using two-component developer
CN101896825A (en) * 2007-12-14 2010-11-24 赛普拉斯半导体公司 Compensation circuit for a TX-RX capacitive sensor
CN102687104A (en) * 2010-01-05 2012-09-19 3M创新有限公司 High speed noise tolerant multi-touch touch device and controller therefor
TW201337782A (en) * 2011-12-23 2013-09-16 Validity Sensors Inc Methods and devices for capacitive image sensing
WO2014021918A1 (en) * 2012-07-31 2014-02-06 Cypress Semiconductor Corporation Usage of weighting matrices in multi-phase scanning modes
CN103870817A (en) * 2014-03-27 2014-06-18 成都费恩格尔微电子技术有限公司 Radio-frequency micro-capacitance fingerprint acquisition chip and method
CN104104394A (en) * 2014-06-13 2014-10-15 哈尔滨工业大学 Signal reconstruction method for acquiring random demodulation system perception matrix based on MLS sequence and system thereof
CN104978559A (en) * 2014-04-03 2015-10-14 神盾股份有限公司 TFT Fingerprint Sensor and operation method thereof

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6694269B2 (en) * 2001-04-23 2004-02-17 Sentronics Corporation Capacitive circuit array for fingerprint sensing
AU2002312182A1 (en) * 2001-05-30 2002-12-09 Nptest, Inc. Sub-resolution alignment of images
AU2007240236A1 (en) * 2007-12-11 2009-06-25 Canon Kabushiki Kaisha Correlatability analysis for sparse alignment
US20090237374A1 (en) * 2008-03-20 2009-09-24 Motorola, Inc. Transparent pressure sensor and method for using
US9310940B2 (en) * 2011-01-17 2016-04-12 Pixart Imaging Inc. Capacitive touchscreen or touch panel with fingerprint reader
US8729911B2 (en) * 2011-04-19 2014-05-20 Cypress Semiconductor Corporation Usage of weighting matrices in multi-phase scanning modes

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5432779A (en) * 1993-04-09 1995-07-11 Sony Corporation Time division multiplex transmitting/receiving system
US5940526A (en) * 1997-05-16 1999-08-17 Harris Corporation Electric field fingerprint sensor having enhanced features and related methods
EP1439431A1 (en) * 2003-01-15 2004-07-21 Xerox Corporation Toner concentration sensor calibration for image forming apparatus using two-component developer
CN101896825A (en) * 2007-12-14 2010-11-24 赛普拉斯半导体公司 Compensation circuit for a TX-RX capacitive sensor
CN102687104A (en) * 2010-01-05 2012-09-19 3M创新有限公司 High speed noise tolerant multi-touch touch device and controller therefor
TW201337782A (en) * 2011-12-23 2013-09-16 Validity Sensors Inc Methods and devices for capacitive image sensing
WO2014021918A1 (en) * 2012-07-31 2014-02-06 Cypress Semiconductor Corporation Usage of weighting matrices in multi-phase scanning modes
CN103870817A (en) * 2014-03-27 2014-06-18 成都费恩格尔微电子技术有限公司 Radio-frequency micro-capacitance fingerprint acquisition chip and method
CN104978559A (en) * 2014-04-03 2015-10-14 神盾股份有限公司 TFT Fingerprint Sensor and operation method thereof
CN104104394A (en) * 2014-06-13 2014-10-15 哈尔滨工业大学 Signal reconstruction method for acquiring random demodulation system perception matrix based on MLS sequence and system thereof

Also Published As

Publication number Publication date
WO2016085560A1 (en) 2016-06-02
CN105830345A (en) 2016-08-03
CN110647846A (en) 2020-01-03
CN105830345B (en) 2019-10-22

Similar Documents

Publication Publication Date Title
CN110647846B (en) Method and sensor for multi-phase scanning in fingerprint and touch applications
US10579849B2 (en) Methods and sensors for multiphase scanning in the fingerprint and touch applications
US11320946B2 (en) Capacitive panel scanning with reduced number of sensing circuits
US9864894B2 (en) Capacitive fingerprint sensor with quadrature demodulator and multiphase scanning
US10275633B1 (en) Acoustic imaging system for spatial demodulation of acoustic waves
US8729911B2 (en) Usage of weighting matrices in multi-phase scanning modes
JP6745808B2 (en) Multi-touch sensor and electrostatic pen digitization system utilizing simultaneous features for improved performance
KR101511418B1 (en) Phase compensation for multi-stimulus controller
KR101740757B1 (en) Multi-touch touch device with multiple drive frequencies and maximum likelihood estimation
US8664548B2 (en) Touch controller with improved diagnostics calibration and communications support
KR101239103B1 (en) Touch screen controller using differential signal manipulation
JP6662792B2 (en) Sensors using overlapping grid lines and conductive probes to extend the sensing surface from the grid lines
WO2016033849A1 (en) Fingerprint detection device and method
JP2016515744A (en) Multi-region capacity detection method, apparatus and apparatus for implementing the method
WO2010030706A1 (en) Single-chip multi-stimulus sensor controller
JP6702630B2 (en) Capacitive sensing system
WO2014021918A1 (en) Usage of weighting matrices in multi-phase scanning modes
US20140204046A1 (en) Capacitive touch sensing device and detection method thereof
CN110050253B (en) Multi-stage self-capacitance scanning of sensor arrays
CN109690560A (en) Fingerprint sensing with the configuration of different condenser types
CN107219947B (en) Capacitive touch system using frequency division multiplexing and operation method thereof
Ko et al. 26.2 Virtual Rotating Gesture Recognizable Touch Readout IC for 1.26” Circular Touch Screen Panel
WO2022132212A1 (en) Methods and systems for determining a noise-robust acquisition configuration for operating a sensor system
WO2013012993A1 (en) Quadrature signal receiver using synchronized oscillator
JP7202794B2 (en) Semiconductor device, capacitive sensing system and method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant