Controller for use in a device comprising force sensors

Information

  • Patent Grant
  • 11726596
  • Patent Number
    11,726,596
  • Date Filed
    Thursday, January 28, 2021
    4 years ago
  • Date Issued
    Tuesday, August 15, 2023
    a year ago
Abstract
A controller for use in a device which comprises at least two force sensors in a given arrangement, the controller operable, based on input sensor signals derived from the force sensors, to carry out an arrangement-related operation in which an output sensor signal is generated based on at least two said input sensor signals and the arrangement of the force sensors in the device so that the output sensor signal is dependent on said arrangement.
Description
FIELD OF DISCLOSURE

The present disclosure relates in general to a controller for use in a device comprising force sensors. Such a device may be a portable electrical or electronic device.


The present disclosure extends to the device comprising the controller and to corresponding methods and computer programs.


BACKGROUND

Force sensors are known as possible input transducers for devices such as portable electrical or electronic devices, and can be used as alternatives to traditional mechanical switches. Such sensors detect forces on the device to determine user interaction, e.g. touches or presses of the device.


It is desirable to process the sensor signals originating from such force sensors in a convenient and useful manner.


SUMMARY

According to a first aspect of the present disclosure, there is provided a controller for use in a device which comprises at least two force sensors in a given arrangement, the controller operable, based on input sensor signals derived from the force sensors, to carry out an arrangement-related operation in which an output sensor signal is generated based on at least two said input sensor signals and the arrangement of the force sensors in the device so that the output sensor signal is dependent on said arrangement.


The arrangement of the force sensors in the device may be referred to as a topology of the device, and as such the arrangement-related operation may be referred to as a topology-dependent operation or a device-topology operation. The input sensor signals may be derived from the force sensors in the sense that they are produced by the force sensors or derived from signals produced by the force sensors. The input sensor signals may have a one-to-one relationship with the force sensors or a one-to-many relationship e.g. where they are generated based on a combination of sensor signals produced by the respective force sensors.


By generating the output sensor signal dependent on the arrangement of the force sensors in the device it is possible to take account of that arrangement, for example to compensate for the effect of the arrangement on the sensor signals or to generate a sensor signal which might be expected from a different arrangement or topology.


The arrangement-related operation may be a crosstalk suppression operation. In this regard, the output sensor signal of the crosstalk suppression operation may correspond to one of the input sensor signals of the crosstalk suppression operation and result from a subtraction from its corresponding input sensor signal of a fraction of another said input sensor signal, that fraction associated with that pair of input sensor signals.


In this way, the effect of mechanical crosstalk may be reduced or suppressed in the output sensor signal.


The crosstalk suppression operation may be configured to generate a plurality of output sensor signals of the crosstalk suppression operation which correspond to respective said input sensor signals of the crosstalk suppression operation. Each said output sensor signal of the crosstalk suppression operation may result from a subtraction from its corresponding input sensor signal of the crosstalk suppression operation of a fraction of a said input sensor signal of the crosstalk suppression operation other than its corresponding input sensor signal, that fraction associated with that pair of input sensor signals.


At least one said output sensor signal of the crosstalk suppression operation may result from a subtraction from its corresponding input sensor signal of respective fractions of respective said input sensor signals of the crosstalk suppression operation other than its corresponding input sensor signal, each respective fraction associated with a pair of those input sensor signals concerned.


Each fraction and its association with input sensor signals of the crosstalk suppression operation may be based on the arrangement of the force sensors in the device. Each fraction may be dependent on a distance, and/or mechanical interaction, between the force sensors from which its associated pair of input sensor signals of the crosstalk suppression operation originate. For each said subtraction of a said fraction of a said input sensor signal of the crosstalk suppression operation, an amount subtracted may be the product of that fraction and that input sensor signal.


Each fraction may have a value between a minimum fraction value, greater than or equal to 0, and a maximum fraction value, less than 1 and larger than the minimum fraction. The minimum fraction value may be 0 and the maximum fraction value may be between 0.2 and 0.6, optionally being 0.3.


The crosstalk suppression operation may be applied in respect of a given output sensor signal of the crosstalk suppression operation dependent on a magnitude of its corresponding input sensor signal exceeding a given threshold. The crosstalk suppression operation may be configured in respect of a given output sensor signal of the crosstalk suppression operation to replace each fraction concerned with a zero-valued fraction (i.e. zero) when a magnitude of its corresponding input sensor signal does not exceed the given threshold.


The controller may be configured to update a said fraction over time dependent on magnitudes or relative magnitudes of its associated pair of input sensor signals, optionally at a rate defined by a rate parameter. This may enable the fraction (and thus the crosstalk suppression operation) to be adaptive so that its performance tends to an optimum or target performance over time.


The updating may be at a rate defined by an above-threshold rate parameter when a magnitude of one or both of the associated pair of input sensor signals is above a threshold value. The updating may be at a rate defined by a below-threshold rate parameter when a magnitude of one or both of the associated pair of input sensor signals is below a threshold value. Such rate parameters may be different from one another.


The updating may be controlled based on an optimization or minimization algorithm. Such an algorithm may be configured to find a minimum of an error function, the error function optionally defining the output signal of the crosstalk suppression operation for the fraction concerned based on its corresponding input sensor signal of the crosstalk suppression operation, that fraction and the other said input sensor signal of the crosstalk suppression operation concerned. The algorithm may be an iterative minimization algorithm such as a gradient descent algorithm.


The controller may be configured to store initial and updated values of the fraction and/or estimate values for the fraction.


The fraction may have a constant or maintained value. That is, it may be desirable to not employ adaptive control of the crosstalk suppression operation in some cases.


The controller may be operable to carry out at least first and second different arrangement-related operations, the first arrangement-related operation being the crosstalk suppression operation and the second arrangement-related operation being a localisation operation. An output sensor signal of the localisation operation may be generated based on a given weighting associated with at least two input sensor signals of the localisation operation derived from the force sensors and defining a location of interest relative to locations of the force sensors so that the output signal of the localisation operation is representative of the location of interest.


As one possibility, the crosstalk suppression operation may be performed before the localisation operation. That is, the input sensor signals of the localisation operation may be output sensor signals of the crosstalk suppression operation where the crosstalk suppression operation is configured to generate a plurality of output sensor signals which correspond to respective input sensor signals of the crosstalk suppression operation.


As another possibility, the localisation operation may be performed before the crosstalk suppression operation. That is, the input sensor signals of the crosstalk suppression operation may be output sensor signals of the localisation operation where the localisation operation is configured to generate a plurality of output sensor signals each based on a given weighting associated with at least two input sensor signals of the localisation operation.


The controller may be configured to carry out a localisation operation without carrying out a crosstalk suppression operation. That is, the arrangement-related operation may be a localisation operation in which the output sensor signal is generated based on a given weighting associated with the at least two said input sensor signals and defining a location of interest relative to locations of the force sensors so that the output signal of the localisation operation is representative of the location of interest, the input sensor signals being input sensor signals of the localisation operation.


The localisation operation may be configured to generate a plurality of output sensor signals, each output sensor signal of the localisation operation being generated based on a given weighting associated with at least two said input sensor signals of the localisation operation and defining a location of interest relative to locations of the force sensors so that the output signal of the localisation operation concerned is representative of the location of interest concerned.


At least two output sensor signals of the localisation operation may be generated based on different given weightings and/or different input sensor signals of the localisation operation so that those output sensor signals are different from one another.


Each said output sensor signal of the localisation operation may result from a weighted combination of the at least two input sensor signals of the localisation operation concerned, the weighted combination weighted according to the given weighting concerned. The weighting may effectively provide location/directional information, so that an output sensor signal of the localisation operation is representative of a force sensed at a given location (which may be different from that of any of the force sensors).


The weighted combination may be a weighted average or a weighted sum. Each output sensor signal of the localisation operation may be representative of a force applied at the location of interest concerned. Each weighted average or weighted sum may comprise a sum of products, the products corresponding respectively to the input sensor signals of that weighted sum, and each product being the product of the input sensor signal of that product and a corresponding weight defined by the weighting concerned.


As one option, the localisation operation may comprise, in association with at least one of its output sensor signals, calculation of a further output sensor signal as a function of a first ratio of the input sensor signals concerned to one another and a second ratio defining the weighting concerned.


As another option, each output sensor signal of the localisation operation may be calculated as a function of a first ratio of magnitudes of the input sensor signals concerned to one another and a second ratio defining the weighting concerned.


The calculation may comprise comparing the first ratio concerned with the second ratio concerned. Each output sensor signal of the localisation operation calculated as a function of the first ratio concerned and the second ratio concerned may be representative of whether a force applied is applied at the location of interest concerned or how close a location at which that force is applied is to the location of interest concerned.


The calculation may comprise determining how close the first ratio concerned is to the second ratio concerned. The first and second ratios may be log ratios (i.e. ratios of log values). The calculation may comprise calculating values constrained between defined upper and lower values (such as 1 and 0) using a Gaussian function whose input parameters comprise the first and second ratios concerned. The Gaussian function may be an unnormalized Gaussian radial basis function.


Each weighting comprises a series of weights corresponding respectively to the input sensor signals concerned of the localisation operation. For each weighting its weights may be fractions which sum to 1 (e.g. 0.3 and 0.7).


Each said weighting may be based on the arrangement of the force sensors in the device and the location of interest concerned. Each said weighting may be dependent on locations of the force sensors in the device and the location of interest concerned.


The controller may be configured to store or access arrangement information defining the arrangement of the force sensors in the device, such as the relative locations of the force sensors. The controller may be configured to carry out the arrangement-related operation based on the arrangement information.


The controller may be configured to calculate each said output sensor signal based on the input sensor signals concerned and the arrangement information using matrix calculations, i.e. calculations operating on matrices. For example, the input sensor signals, output sensor signals, weights and factors may be presented in matrices.


The controller may be configured to determine a user touch event based on a said output sensor signal or based on a combination of two or more said output sensor signals.


According to a second aspect of the present disclosure, there is provided a device, comprising: at least two force sensors in a given arrangement; and the controller of the aforementioned first aspect, wherein the input sensor signals originate from the respective force sensors of the device.


The force sensors may be provided at different locations on the device. Each of the force sensors may comprise one or more of: a capacitive displacement sensor; an inductive force sensor; a strain gauge; a piezoelectric force sensor; a force sensing resistor; a piezoresistive force sensor; a thin film force sensor; and a quantum tunnelling composite-based force sensor.


The device may comprise one or more input/output components, wherein the controller is configured to control operation of at least one of the input/output components based on a said output sensor signal.


The device may be a portable electrical or electronic device such as a portable telephone or computer. Other example types of device are mentioned later.


According to a third aspect of the present disclosure, there is provided a controller for use in a device which comprises at least two force sensors, the controller operable, based on input sensor signals derived from the force sensors, to carry out a crosstalk suppression operation in which an output sensor signal is generated which corresponds to one of the input sensor signals and results from a subtraction from its corresponding input sensor signal of a fraction of another said input sensor signal.


According to a fourth aspect of the present disclosure, there is provided a controller for use in a device which comprises at least two force sensors, the controller operable, based on input sensor signals derived from the force sensors, to carry out a localisation operation in which an output sensor signal is generated based on a given weighting associated with at least two said input sensor signals and defining a location of interest relative to locations of those force sensors so that the output signal is representative of the location of interest.


According to a fifth aspect of the present disclosure, there is provided a controller for use in a device which comprises at least two sensors, the controller operable, based on input sensor signals derived from the sensors, to carry out a localisation operation in which an output sensor signal is generated based on a given weighting associated with at least two said input sensor signals and defining a location of interest relative to locations of those sensors so that the output signal is representative of the location of interest, wherein said output sensor signal is calculated as a function of a first ratio of magnitudes of the input sensor signals concerned to one another and a second ratio defining the weighting concerned, the function optionally configured so that the output sensor signal indicates how close the first ratio is to the second ratio.


According to a sixth aspect of the present disclosure, there is provided a method of controlling a device which comprises at least two force sensors in a given arrangement, the method comprising, based on input sensor signals derived from the force sensors, carrying out an arrangement-related operation in which an output sensor signal is generated based on at least two said input sensor signals and the arrangement of the force sensors in the device so that the output sensor signal is dependent on said arrangement.


According to a seventh aspect of the present disclosure, there is provided a computer program which, when executed on a controller of a device which comprises at least two force sensors in a given arrangement, causes the controller, based on input sensor signals derived from the force sensors, to carry out an arrangement-related operation in which an output sensor signal is generated based on at least two said input sensor signals and the arrangement of the force sensors in the device so that the output sensor signal is dependent on said arrangement.





BRIEF DESCRIPTION OF THE DRAWINGS

Reference will now be made, by way of example only, to the accompanying drawings, of which:



FIG. 1 is a schematic diagram of a device according to an embodiment;



FIG. 2A is a schematic diagram useful for understanding a crosstalk suppression operation;



FIG. 2B is a schematic diagram useful for understanding a localisation operation;



FIGS. 3A to 3D are schematic diagrams useful for understanding that the crosstalk suppression and localisation operations may be employed alone or in combination;



FIGS. 4A, 4B and 4C present graphs showing results obtained in connection with an example crosstalk suppression operation;



FIGS. 5A, 5B and 5C present graphs showing results obtained in connection with an example crosstalk suppression operation; and



FIG. 6 presents graphs showing results obtained in connection with example localisation operations.





DETAILED DESCRIPTION


FIG. 1 is a schematic diagram of a device 100 according to an embodiment, for example a mobile or portable electrical or electronic device. Example devices 100 include a portable and/or battery powered host device such as a mobile telephone, a smartphone, an audio player, a video player, a PDA, a mobile computing platform such as a laptop computer or tablet and/or a games device.


As shown in FIG. 1, the device 100 may comprise an enclosure 101, a controller 110, a memory 120, a plurality of force sensors 130, and an input and/or output unit (I/O unit) 140.


The enclosure 101 may comprise any suitable housing, casing, or other enclosure for housing the various components of device 100. Enclosure 101 may be constructed from plastic, metal, and/or any other suitable materials. In addition, enclosure 101 may be adapted (e.g., sized and shaped) such that device 100 is readily transported by a user (i.e. a person).


Controller 110 may be housed within enclosure 101 and may include any system, device, or apparatus configured to control functionality of the device 100, including any or all of the memory 120, the force sensors 130, and the I/O unit 140. Controller 110 may be implemented as digital or analogue circuitry, in hardware or in software running on a processor, or in any combination of these.


Thus controller 110 may include any system, device, or apparatus configured to interpret and/or execute program instructions or code and/or process data, and may include, without limitation a processor, microprocessor, microcontroller, digital signal processor (DSP), application specific integrated circuit (ASIC), FPGA (Field Programmable Gate Array) or any other digital or analogue circuitry configured to interpret and/or execute program instructions and/or process data. Thus the code may comprise program code or microcode or, for example, code for setting up or controlling an ASIC or FPGA. The code may also comprise code for dynamically configuring re-configurable apparatus such as re-programmable logic gate arrays. Similarly, the code may comprise code for a hardware description language such as Verilog™ or VHDL. As the skilled person will appreciate, the code may be distributed between a plurality of coupled components in communication with one another. Where appropriate, such aspects may also be implemented using code running on a field-(re)programmable analogue array or similar device in order to configure analogue hardware. Processor control code for execution by the controller 110, may be provided on a non-volatile carrier medium such as a disk, CD- or DVD-ROM, programmed memory such as read only memory (Firmware), or on a data carrier such as an optical or electrical signal carrier. The controller 110 may be referred to as control circuitry and may be provided as, or as part of, an integrated circuit such as an IC chip.


Memory 120 may be housed within enclosure 101, may be communicatively coupled to controller 110, and may include any system, device, or apparatus configured to retain program instructions and/or data for a period of time (e.g., computer-readable media). In some embodiments, controller 110 interprets and/or executes program instructions and/or processes data stored in memory 120 and/or other computer-readable media accessible to controller 110.


The force sensors 130 may be housed within, be located on or form part of the enclosure 101, and may be communicatively coupled to the controller 110. Each force sensor 130 may include any suitable system, device, or apparatus for sensing a force, a pressure, or a touch (e.g., an interaction with a human finger) and for generating an electrical or electronic signal in response to such force, pressure, or touch. Example force sensors 130 include or comprise capacitive displacement sensors, inductive force sensors, strain gauges, piezoelectric force sensors, force sensing resistors, piezoresistive force sensors, thin film force sensors and quantum tunnelling composite-based force sensors.


In some arrangements, other types of sensor may be employed.


In some arrangements, the electrical or electronic signal generated by a force sensor 130 may be a function of a magnitude of the force, pressure, or touch applied to the force sensor. Such electronic or electrical signal may comprise a general purpose input/output (GPIO) signal associated with an input signal in response to which the controller 110 controls some functionality of the device 100. The term “force” as used herein may refer not only to force, but to physical quantities indicative of force or analogous to force such as, but not limited to, pressure and touch.


The I/O unit 140 may be housed within enclosure 101, may be distributed across the device 100 (i.e. it may represent a plurality of units) and may be communicatively coupled to the controller 110. Although not specifically shown in FIG. 1, the I/O unit 140 may comprise any or all of a microphone, an LRA (or other device capable of outputting a force, such as a vibration), a radio (or other electromagnetic) transmitter/receiver, a speaker, a display screen (optionally a touchscreen), an indicator (such as an LED), a sensor (e.g. accelerometer, temperature sensor, tilt sensor, electronic compass, etc.) and one or more buttons or keys.


As a convenient example to keep in mind, the device 100 may be a haptic-enabled device. As is well known, haptic technology recreates the sense of touch by applying forces, vibrations, or motions to a user. The device 100 for example may be considered a haptic-enabled device (a device enabled with haptic technology) where its force sensors 130 (input transducers) measure forces exerted by the user on a user interface (such as a button or touchscreen on a mobile telephone or tablet computer), and an LRA or other output transducer of the I/O unit 140 applies forces directly or indirectly (e.g. via a touchscreen) to the user, e.g. to give haptic feedback. Some aspects of the present disclosure, for example the controller 110 and/or the force sensors 130, may be arranged as part of a haptic circuit, for instance a haptic circuit which may be provided in the device 100. A circuit or circuitry embodying aspects of the present disclosure (such as the controller 110) may be implemented (at least in part) as an integrated circuit (IC), for example on an IC chip. One or more input or output transducers (such as the force sensors 130 or an LRA) may be connected to the integrated circuit in use.


Of course, this application to haptic technology is just one example application of the device 100 comprising the plurality of force sensors 130. The force sensors 130 may simply serve as generic input transducers to provide input (sensor) signals to control other aspects of the device 100, such as a GUI (graphical user interface) displayed on a touchscreen of the I/O unit 140 or an operational state of the device 100 (such as waking components from a low-power “sleep” state).


The device 100 is shown comprising four force sensors 130, labelled s1, s2, s3 and s4, with their signals labelled S1, S2, S3 and S4, respectively. However, it will be understood that the device 100 generally need only comprise a pair of (i.e. at least two) force sensors 130 in connection with the techniques described herein, for example any pair of the sensors s1 to s4. Example pairs comprise s1 and s2, s1 and s3, s1 and s4, s2 and s4, s2 and s3, and s3 and s4. The four force sensors 130 s1 to s4 are shown for ready understanding of a particular arrangement described later. Of course, the device 100 may comprise more than four force sensors 130, such as additional sensors s5 to s8 arranged in a similar way to sensors s1 to s4 but in another area of the device 100.


Although FIG. 1 is schematic, it will be understood that the sensors s1 to s4 are located so that they can receive force inputs from a user, in particular a user hand, during use of the device 100. A user force input in this context corresponds to a user touching, pushing, pressing, or swiping the device, optionally with one or both of their hands, in the vicinity of one or more of the force sensors 130 so that a force (e.g. a threshold amount of force) may be applied at multiple force sensors at or substantially at the same time (simultaneously or contemporaneously) in some cases. Of course, in some cases the user may apply a user force input at a single force sensor 130. A change in the amount of force applied may be detected, rather than an absolute amount of force detected, for example.


Thus, the force sensors s1 to s4 may be located on the device according to anthropometric measurements of a human hand. For example, where there is only a pair of force sensors 130, they may be provided on the same side (e.g. s1 and s2) of the device 100. It will be understood that the force sensors 130 are provided at different locations on the device, but may be in close proximity to one another.


For example, as suggested schematically in FIG. 1, the force sensors s1 to s4 may be provided in a linear array or strip on one side of the device 100 (another linear array of force sensors s5 to s8 may be provided on the opposite side of the device 100), and potentially in close proximity to one another. Thus, a given user force input (from a touch of the device 100 in the area of the force sensors 130) may result in forces being picked up at a plurality of those sensors, in part due to mechanical interaction (e.g. mechanical connections, such as via the enclosure 101) between the force sensors 130.


In overview, the controller 110 is operable, based on input sensor signals S1 to S4 which originate (stem or are derived or received) from the respective force sensors s1 to s4, to carry out an arrangement-related operation in which an output sensor signal is generated based on at least two said input sensor signals and the arrangement of the force sensors 130 in the device 100.


That is, the output sensor signal will be dependent to an extent on the arrangement of the force sensors 130 in the device 100, and may be considered characterised by or influenced by that arrangement. Such an arrangement may include any of the location of the force sensors 130 in the device 100, the physical or mechanical coupling of them to one another and to the exterior enclosure 101, their orientation relative to one another and the enclosure 101, etc. In this regard, the arrangement of the force sensors 130 in the device 100 will determine or affect (at least to an extent) how a given user force input (applied at a given location) is represented in the input sensor signals. For example, the location of the force sensors 130 in the device 100, including any mechanical interaction between them, will have an effect on the input sensor signals. Thus, information concerning or defining this arrangement may be used to generate an output sensor signal which is dependent on the arrangement. An arrangement-related operation may be considered a device-arrangement operation, or an adjustment operation or a signal conditioning or profiling operation.


One example arrangement-related operation may be referred to as a crosstalk suppression operation. Considering FIG. 1, mechanical interaction between force sensors s1 and s2 will cause mechanical crosstalk between them, so that an intended force applied for example to force sensor s2 will produce an intended input sensor signal S2 but also related (and unintended) components in input sensor signal S1 of force sensor s1. In this regard, such mechanical interaction and associated mechanical crosstalk may be viewed as distorting at least one of the input force sensor signals and it may be desirable to compensate at least to an extent for that distortion.



FIG. 2A is a schematic diagram in which the force sensors s1 to s4 are represented as being located in a linear array running horizontally in the diagram. As such, if a user input force is applied to force sensor s2 as indicated, as well as this user input force being represented by magnitude X in the input sensor signal S2 as intended, mechanical crosstalk between the force sensors 130 causes related components (fractions of the magnitude X) to be represented in the input sensor signals S1, S3 and S4 as indicated.


In the present example, as indicated in FIG. 2A, it is assumed that there is a factor 0.3 mechanical coupling between each of force sensors s1 and s3 and force sensor s2, e.g. because they are located a similar distance either side of force sensor s2. It is assumed that there is a factor 0.05 mechanical coupling between force sensor s4 and force sensor s2, force sensor s4 being located further away from force sensor s2 than force sensor s3. Thus, the input sensor signals S1, S3 and S4 include components 0.3*X, 0.3*X and 0.05*X, respectively, as indicated.


To compensate for the distortion suffered in input sensor signal S1, a compensated input sensor signal S1′ could be calculated according to the following equation:

S1′=S1−0.3*S2


In this way, the effect of the mechanical crosstalk is substantially cancelled in the compensated input sensor signal S1′ (which corresponds to the input sensor signal S1) providing that the factor 0.3 is correct, or at least suppressed if the factor 0.3 is not perfect or if simply applying such subtraction does not give perfect cancellation. The cancellation mechanism here is to subtract from the pre-compensated input sensor signal (leakage target) the relevant fraction or proportion or part of the input sensor signal (leakage source) which is causing the distortion. Similar examples could of course be given to produce compensated input sensor signals S3′ and S4′, corresponding to input sensor signals S3 and S4, respectively.


Another example arrangement-related operation may be referred to as a localisation operation. Considering FIG. 1 again, mechanical interaction between force sensors s1 and s2 (and surrounding locations) may enable their input sensor signals S1 and S2 to be mapped to that of a virtual force sensor 130v (not shown) at a location of interest located somewhere other than at force sensor s1 or s2 (e.g. between force sensors s1 and s2), the force sensors s1 and s2 effectively having picked up a force applied at that location. Similarly, such a mapping may be used to determine whether an applied force (picked up at force sensors s1 and s2) was applied at that location of interest, and e.g. how close to that location of interest the force was applied.


For example, that virtual force sensor 130v may be equated with a virtual button provided at that location of interest, so that a force determined to be applied at that location is assessed (e.g. compared to a threshold) to determine whether a button press of that virtual button should be deemed to have occurred.



FIG. 2B is a schematic diagram in which the force sensors s1 and s2 are represented as being located in a linear array running horizontally in the diagram. As such, if a user input force were applied to the device 100 at a location between the force sensors s1 and s2 as indicated, i.e. at the location of a virtual force sensor 130v labelled vs, that user force input may be picked up at the force sensors s1 and s2 (and expressed in the signals S1 and S2) due to the mechanical link between that location and those force sensors 130. In this regard, such mechanical interaction may be viewed as enabling the input force sensor signals S1 and S2 to be used to assess user force inputs at the virtual force sensor vs, and indeed at other virtual force sensors 130v (locations of interest).


It is assumed in FIG. 2B that the virtual force sensor vs is located (e.g. equidistant) between the force sensors s1 and s2 so that the force sensors s1 and s2 pick up the user force input applied at the location of the virtual (i.e. hypothetical) force sensor vs equally (assuming the mechanical interaction supports this). Thus, a virtual input sensor signal VS (as an output sensor signal of the operation) corresponding to the virtual force sensor vs may be obtained by applying equal factors or weights to the input sensor signals S1 and S2, such as according to the following equation:

VS=0.5*S1+0.5*S2


Of course, the virtual force sensor vs is not real, and thus could be defined as located between the force sensors s1 and s2 (e.g. closer to force sensor s1 than s2) so that the virtual input sensor signal VS has unequal contributions from the forces picked up at the force sensors s1 and s2. In such a case, the virtual input sensor signal VS (as an output sensor signal of the operation) corresponding to the virtual force sensor vs may be obtained by applying unequal weights to the input sensor signals S1 and S2, such as according to the following equation:

VS=0.7*S1+0.3*S2


For simplicity, it may be helpful when generating a virtual input sensor signal VS by applying factors to a plurality of input sensor signals (i.e. two or more) to express those weights such that they sum to 1 (e.g. 0.5+0.5=1, and 0.7+0.3=1) or as percentages (e.g. 50%/50%, or 70%/30%).


These possible arrangement-related operations are dependent at least to an extent on the arrangement of the force sensors 130 in the device 100, and relate in particular to how the input sensor signals are handled in the controller 110 based on that arrangement. The skilled person will accordingly recognise that aspects of the arrangement-related operations disclosed herein (and associated methods) may be embodied within the controller 110 itself based on the input sensor signals it receives. As such, the controller 110 itself and the methods it carries out may embody the present invention.



FIGS. 3A to 3D are schematic diagrams useful for understanding that the crosstalk suppression CS and localisation L operations may be employed alone or in combination (e.g. in series). In each of FIGS. 3A to 3D, the functionality may be considered embodied in the controller 110.


In FIG. 3A, the CS (crosstalk suppression) operation is shown operating on the input sensor signals S1 and S2 to produce corresponding compensated input sensor signals S1′ and S2′ (as output sensor signals of the operation). The CS operation could for example produce only one of the compensated input sensor signals S1′ and S2′. As another example, the CS operation could operate on the input sensor signals S1 to S4 to produce one or more of corresponding compensated input sensor signals S1′ to S4′. The or each compensated input sensor signal may be considered an output sensor signal of the CS operation.


The input sensor signals and the compensated input sensor signals may be considered generally as input sensor signals which originate from respective force sensors 130, i.e. are based on or result from the forces detected at those force sensors 130. For example, the signals S1 and S1′ may be considered to originate from the force sensor s1, the signals S2 and S2′ from the force sensor s2, and so on and so forth.


In FIG. 3B, the L (localisation) operation is shown operating on the input sensor signals S1 and S2 to produce a corresponding virtual input sensor signal VS (as an output sensor signal of the operation). The L operation could for example produce only one virtual input sensor signal VS as shown, or a plurality of (different) virtual input sensor signals VS (representing signals originating at differently located and/or configured virtual force sensors). As an example, the L operation could operate on the input sensor signals S1 to S4 (or any group of them) to produce virtual input sensor signal VS (or a plurality of different virtual input sensor signals such as VS1 and VS2). The or each virtual input sensor signal may be considered an output sensor signal of the L operation.


In FIG. 3C, the CS (crosstalk suppression) operation is shown followed by the L (localisation) operation. As in FIG. 3A, the CS operation is shown operating on the input sensor signals S1 and S2 to produce corresponding compensated input sensor signals S1′ and S2′. These compensated input sensor signals S1′ and S2′ are output sensor signals of the CS operation and input sensors signals of the L operation. The L operation is shown operating on its input sensor signals S1′ and S2′ to produce a corresponding virtual input sensor signal VS. The virtual input sensor signal VS may be considered an output sensor signal of the L operation and of the combined CS and L operations.


In FIG. 3D, the L (localisation) operation is shown followed by the CS (crosstalk suppression) operation, indicating the L operation as made up of a plurality of L operations for ease of understanding. As in FIG. 3B, a first L operation is shown operating on the input sensor signals S1 and S2 to produce a virtual input sensor signal VS1 (as an output sensor signal of the operation). A second L operation is shown operating on the input sensor signals S3 and S4 to produce a virtual input sensor signal VS2 (as an output sensor signal of the operation). These virtual input sensor signals VS1 and VS2 are output sensor signals of the overall L operation and input sensors signals of the CS operation. The CS operation is shown operating on its input sensor signals VS1 and VS2 to produce corresponding compensated virtual input sensor signals VS1′ and VS2′ (as output sensor signals of the CS operation). The compensated virtual input sensor signals VS1′ and VS2′ may be considered output sensor signals of the CS operation and of the combined L and CS operations.


Thus, it will be appreciated that the input sensor signals of the CS operation may have a one-to-one relationship with the force sensors 130 (see FIG. 3A) or a one-to-many relationship with the force sensors 130 (see FIG. 3D). Where there are many force sensors 130 and fewer virtual buttons (and hence virtual input sensor signals), it may be advantageous to perform the L (localisation) operation followed by the CS (crosstalk suppression) operation as in Figure D to reduce the number of calculations required in the CS operation (since it is performed on fewer signals).


The input sensor signals shown in FIGS. 3A to 3C may be representative of internal signals of the controller 110, for example digital input sensor signals generated following analogue-to-digital conversion of corresponding analogue input sensor signals received (directly or indirectly) from the force sensors 130. The analogue-to-digital conversion could be carried out by corresponding analogue-to-digital converters (ADCs, not shown), which could be provided within the force sensors 130, within the controller 110, or between the force sensors 130 and the controller 110. The force sensors 130 could be digital force sensors which output digital signals. This extends generally to the input sensor signals described herein, and thus the output sensor signals similarly may be digital signals. It will be appreciated that the sensor signals may be subject to conversion (e.g. analogue-to-digital), normalisation, filtering (e.g. high-pass, low-pass or band-pass frequency filtering), averaging (e.g. finding a running average) or other signal conditioning operations.


The crosstalk suppression and localisation operations will now be considered in more detail in turn.


Starting with the crosstalk suppression operation, and by way of recap, the device 100 may be considered to comprise at least two force sensors 130, for example s1 and s2 in FIG. 1.


Looking for example at FIGS. 2A and 3A together, in particular the example calculation of S1′ in FIG. 2A, the controller 110 is operable, based on input sensor signals S1 and S2 which originate from the respective force sensors s1 and s2, to carry out a crosstalk suppression operation in which an output sensor signal S1′ (as an example one of S1′ and S2′) is generated which corresponds to one of the input sensor signals (i.e. S1) and results from a subtraction from its corresponding input sensor signal (i.e. S1) of a fraction (e.g. 0.3) of another of the input sensor signals (i.e. S2).


In this context, the fraction may be considered associated with the pair of input sensor signals concerned. In the example of FIG. 2A, the fraction 0.3 may be considered a correlation (crosstalk) factor c21 indicating the crosstalk or signal leakage from force sensor s2 to s1. It may be expected that a correlation factor c12 indicating the crosstalk or signal leakage from force sensor s1 to s2 is also 0.3, due to symmetry. Thus, both of the following equations may be appropriate:

S1′=S1−0.3*S2
S2′=S2−0.3*S1


It is recalled that the input sensor signals of the crosstalk suppression operation may be output signals of the localisation operation, and this will be kept in mind although for simplicity the signal notation S1, S2 (relating to the force sensors s1, s2) will be used here.


Using x for input sensor signals and y for output sensor signals for a given operation, and assuming that the input and output sensor signals are digital signals comprising a series of samples where n is the sample number, the above equation for S2′ may be presented in the form:

y2(n)=x2(n)c12*x1(n)


Here, y2(n) corresponds to S2′, x2(n) corresponds to S2 and x1(n) corresponds to S1. Further, y2 and x2 may be referred to as channel 2 signals since they originate from sensor s2, and x1 may similarly be referred to as a channel 1 signal since it originates from sensor s1. Again, recall that the channels may relate to virtual buttons rather than to individual sensors.


Here, c12 is the correlation factor defining the crosstalk from channel 1 to channel 2, and is 0.3 in the example above. Similarly, c21 would be the correlation factor defining the crosstalk from channel 2 to channel 1. This notation and terminology will be carried forwards.


A given correlation factor such as c12 may differ from device to device, dependent on the arrangement of the force sensors 130. Even in devices 100 apparently of the same type, tolerances in manufacture may lead to differences in correlation factor between those devices 100. Indeed, it will become apparent that a given correlation factor such as c12 may vary over time in a given device 100, for example due to aging or temperature changes or in an iteration process towards an improved value.


In the context of the crosstalk suppression operation generating a plurality of output sensor signals which correspond to respective input sensor signals, those output sensor signals could thus be represented in the context of FIG. 3A as:

y1(n)=x1(n)−c21*x2(n)
y2(n)=x2(n)−c12*x1(n)


Each output sensor signal results from a subtraction from its corresponding input sensor signal of a fraction (determined by the correlation factor concerned) of an input sensor signal other than its corresponding input sensor signal, that fraction associated with that pair of input sensor signals.


More generally, there could be more than two input sensor signals contributing to a single output sensor signal. For example, where there are three channels 1 to 3 (corresponding to force sensors s1 to s3, respectively), channel 2 may suffer crosstalk from channels 1 and 3 and the crosstalk suppression operation may serve to address this with the output sensor signal for channel 2 represented as:

y2(n)=x2(n)−[c12*x1(n)+c32*x3(n)]


Thus, at least one output sensor signal may result from a subtraction from its corresponding input sensor signal of respective fractions (determined by respective correlation factors) of respective input sensor signals other than its corresponding input sensor signal, each respective fraction associated with a pair of input sensor signals concerned.


The general idea is thus to suppress the contribution (crosstalk) from one force sensor 130 to another (e.g. adjacent) force sensor 130, or from one virtual button to another. This may improve the quality or accuracy of the output sensor signals (i.e. in which the crosstalk has been suppressed) as compared to their corresponding input sensor signals (i.e. in which the crosstalk has not yet been suppressed), and in some cases avoid false triggering of an action or event or state under control by the controller 110.


Generalising the crosstalk suppression operation to be used in a device 100 having N force sensors 130 producing N respective channels, the aim of the crosstalk suppression operation could be summarised as being to obtain the vector y(n)=[y1(n), y2(n) . . . yN(n)] which has crosstalk between (e.g. adjacent) force sensors suppressed given the input sensor signals x(n)=[x1(n), x2(n) . . . xN(n)] in an N-channel configuration.


As above, the correlation factors (fractions) and their association with input sensor signals are based on the arrangement of the force sensors 130 in the device 100. For example, each correlation factor may be dependent on a distance, and/or mechanical interaction, between the force sensors 130 from which its associated pair of input sensor signals originate (or between the virtual buttons from which its associated pair of input sensor signals originate).


In practice, the correlation factors may have values between a minimum fraction value, greater than or equal to 0, and a maximum fraction value, less than or equal to 1 and larger than the minimum fraction value. The minimum fraction value may be 0 (indicating no crosstalk) and the maximum fraction value may be between 0.2 and 0.6 (indicating the maximum leakage expected, i.e. percentage of signal transferred to adjacent force sensors). In practical embodiments, a suitable maximum fraction value may be 0.3. That is, the leakage will likely be limited in practice.


It was mentioned earlier that it may be necessary to update or change the correlation factors over time (as an alternative to maintaining fixed, predetermined or set, values), e.g. to take account of changing conditions (such as aging or temperature changes) or to iterate towards a value better or even best representative of the true crosstalk.


This will now be considered further taking the channel 2 output signal y2(n) as an example, where (as mentioned earlier):

y2(n)=x2(n)−c12*x1(n)


One approach considered is to use running values of the input and output sensor signals to determine the correlation factor c12, based on the following minimization:






arg



min

c

1

2



E
[

y

2



(
n
)

2


]







where E[ ] is the expected value and the minimization finds the value of the argument c12 that minimizes the objective function E[y2(n)2].


Applying gradient descent to minimize to find this minimum leads to the following correlation factor update expression:







c

12


(

n
+
1

)


=



c

1

2


(
n
)


-

μ





E



{

y

2



(
n
)

2


}





c


1

2




=


c

1

2


(
n
)


+

2


μ
·
y


2



(
n
)

·
x


1


(
n
)








Here the symbol μ (mu) defines a learning rate to adapt the correlation factor c12. This adaptation of the correlation factor c12 may for example be applied only where a magnitude of the input sensor signal x2(n) is above a threshold TH, so that it is likely that a user force input was intended in respect of the signal x2 (e.g. to avoid updating the correlation factor c12 based on noise).


The updating is thus controlled here based on an optimization (minimization) algorithm configured to find a minimum of an error function. Here y2(n)2 may be considered an error function for example assuming that a user force input was applied only at sensor s1. The example optimization algorithm provided here is an iterative minimization algorithm, in particular a gradient descent algorithm.


A constraint may be applied to this correlation factor c12 such that it doesn't exceed a given maximum fractional value (maxCorr) as mentioned earlier, such as 0.3, because it is not expected that all the energy would leak from one force sensor to another. A further constraint may be applied to such that it doesn't fall below a given minimum fractional value, such as 0 so that it does not become negative. Such constraints may be applied to provide update expressions as follows:

c12(n+1)=min(maxCorr,c12(n+1))
c12 (n+1)=max(0,c12)n+1)


Generalizing the previous example based on y2(n) to an N-channel configuration leads to the following set of equations expressed using matrices:












y

(
n
)




1
×
N



=



x

(
n
)




1
×
N



-


1


·

(



C

(

n
+
1

)




N
×
N






X
M




N
×
N




)








1


=

(


1
,
1
,


,
1




1
×
N



)






X
M

=


M



N
×
N





(



x
T

(
n
)


×

1



)







(
1
)














C


(

n
+
1

)


=


C

(
n
)

+

2


μ

(


X
M
T

-


C

(
n
)



X
M



)





(




x
T

(
n
)

·

1



+
ϵ

)








C


(

n
+
1

)


=

max

(

0
,

min


(


max

Corr

,

C

(

n
+
1

)


)



)






(
2
)








where x, y and 1 are 1×N matrices, and C, X and M are N×N matrices, and custom character and ø are the Hadamard (element-wise) product and division. The matrix C is a correlation matrix containing the correlation factors for corresponding pairs of channels. The matrix M is a correlation mask matrix containing either 0 or 1 to indicate pairs of channels where crosstalk is likely to happen. For example, the element m12 in the matrix M signifies whether it is desired to estimate the crosstalk from channel 1 to channel 2 in an adaptive manner. The symbol epsilon is a bias value.


As with the example for y2(n) above, the equation (2) might only be applied on those channels where the input sensor signal from which crosstalk is to be removed is greater than a threshold TH. For example, it could be that no crosstalk suppression is applied on those channels where the input sensor signal from which crosstalk is to be removed is less than the threshold TH.


As another option, when the input sensor signal from which crosstalk is to be removed is below this threshold TH then the equation (2) could be replaced by:

C(n+1)=C(n)−μdC(n)=C(n)·(1−μd))   (3)

wherein symbol μd defines another learning rate (or, in this case, a decay rate) to adapt the correlation factors of the matrix C.


Combining the two situations (above and below the threshold TH), leads to the update expression:

C(n+1)=W)custom character(C(n)+2μ(XMT−C(n)custom characterXM)ø(xT(ncustom character+ϵ))+1−W)custom character(C(n)·(1−μd))   (4)

where the N×N matrix W has the nth row equal to 1 if the amplitude of x(n)>TH and 0 otherwise.


Accordingly, each fraction (correlation factor) may be updated over time dependent on magnitudes or relative magnitudes of its associated pair of input sensor signals. For example, each fraction may be adapted at a first rate when a magnitude of one or both of its associated pair of input sensor signals is above a threshold value TH. It may also be that crosstalk suppression is applied only when a magnitude of one or both of an associated pair of input sensor signals is above a threshold value. As another example, each fraction may be adapted over time (e.g. decreased down to the minimum fractional value) at a second rate when a magnitude of one or both of its associated pair of input sensor signals is below the threshold value TH. It will be appreciated that the controller 110 may be configured to store initial and updated values of each said fraction, for example in internal registers or in the memory 120.


It will be appreciated that the above equations could be implemented in software, for example in an iterative manner (e.g. channel-by-channel) to avoid the complexity of handling matrices. The equations may be applied in this way individually for each sample of each channel, i.e. for each value of n, first process x1(n), then x2(n) and so on and so forth. One possible implementation may omit applying the learning rate μd to adapt the correlation factors when the input sensor signals are below the threshold value TH.



FIGS. 4A, 4B and 4C present graphs showing results obtained using a setup comprising 4 force sensors s1 to s4 (Channels 1 to 4), i.e. N=4.


It is also assumed that the interaction between the force sensors is such as to have a corresponding mask matrix M:






M
=

[



0


1


0


0




1


0


0


0




0


0


0


1




0


0


1


0



]





Thus, the relevant correlation factors are c21, c12, c43 and c34.


The input sensor signals correspond to an example where firstly a single press is carried out on Channel 2 (from sample 1800 to 3500), secondly a single press is carried out on Channel 1 AND Channel 2 (from sample 5000 to 7520), and thirdly a single press is carried out on Channel 1 AND Channel 2 AND Channel 3 (from sample 9400to 13000).


For FIG. 4A, the correlation factors are fixed at 0.3. For FIG. 4B, the correlation factors are updated according to a software implementation of the equations above (i.e. allowing updating—at different rates—when the input sensor signals are above and below the threshold value TH). For FIG. 4C, the correlation factors are updated according to a software implementation of the equations above but only allowing updating when the input sensor signals are above the threshold value TH.


In each case, the uppermost plot shows the output sensor signals y1(n) to y4(n) as if no crosstalk suppression (AdSS) is performed so that the output sensor signals y1(n) to y4(n) are the same as the input sensor signals x1(n) to x4(n), respectively. The plot shows the output sensor signals y1(n) to y4(n) as if crosstalk suppression (AdSS) is performed. The lowermost plot shows the values of the correlation factors (elements) used in connection with the middle plot.



FIGS. 5A, 5B and 5C present graphs showing results obtained using a setup comprising 4 force sensors s1 to s4 (Channels 1 to 4), i.e. N=4, similarly to for FIGS. 4A to 4C. Here, it is assumed that the force sensors 130 are in the same strip or linear array, and that there is leakage (crosstalk) between adjacent force sensors such as to have a corresponding mask matrix M:






M
=

[



0


1


0


0




1


0


1


0




0


1


0


1




0


0


1


0



]





Thus, the relevant correlation factors are thus c21, c12, c32, c23, c43 and c34.


For FIGS. 5A to 5C the force is artificially generated on Channels 4 and 2 alone. Therefore in Channels 1 and 3 only leakage from Channels 2 and 4 is experienced, and this is simulated by creating from sample 500 to 600 the Channel 1 input sensor signal as being equal to 0.1 times the Channel 2 input sensor signal, and the Channel 3 input sensor signal as an increasing signal ramping up from 0 to approximately 80% of the amplitude in the Channel 2 input sensor signal.


For FIG. 5A, the correlation factors are fixed at 0.3 For FIG. 5B, the correlation factors are updated according to a software implementation of the equations above (i.e. allowing updating—at different rates—when the input sensor signals are above and below the threshold value TH). For FIG. 5C, the correlation factors are updated according to a software implementation of the equations above but only allowing updating when the input sensor signals are above the threshold value TH.


In each case, the uppermost plot shows the output sensor signals y1(n) to y4(n) as if no crosstalk suppression (AdSS) is performed so that the output sensor signals y1(n) to y4(n) are the same as the input sensor signals x1(n) to x4(n), respectively. The middle plot shows the output sensor signals y1(n) to y4(n) as if crosstalk suppression (AdSS) is performed. The lowermost plot shows the values of the correlation factors (elements) used in connection with the middle plot.


In each of FIGS. 4A to 4C and FIGS. 5A to 5C, a comparison between the upper and middle plots shows the crosstalk suppression achieved. Also, in FIGS. 4B, 4C, 5B and 5C the effect of adaptively updating the correlation factors can be seen.


Moving now to the localisation operation, and by way of recap, the device 100 may be considered to comprise at least two force sensors 130, for example s1 and s2 in FIG. 1. Looking for example at FIGS. 2B and 3B together, in particular the example calculation of the virtual input sensor signal VS in FIG. 2B, the controller 110 is operable, based on input sensor signals S1 and S2 (or S1′ and S2′ in FIG. 3C) which originate from the respective force sensors s1 and s2, to carry out a localisation operation in which an output sensor signal VS is generated based on a given weighting associated with at least two said input sensor signals. The signals S1 and S2 (FIG. 3B), and S1′ and S2′ (FIG. 3C), may be referred to as input sensor signals of the localisation operation.


Here the weighting effectively defines a location of interest (i.e. the location of the virtual sensor vs) relative to locations of the force sensors s1 and s2 so that the output signal of the localisation operation is representative of the location of interest. It will become apparent that the output signal of the localisation operation may be representative of a force applied at the location of interest, i.e. may correspond to the virtual input sensor signal VS in FIG. 2B. Another possibility, described later, is that the (or another) output signal of the localisation operation is representative of whether a force applied is applied at the location of interest or how close a location at which that force is applied is to the location of interest. Of course, one or both of these types of output sensor signal may be generated by the localisation operation, and the controller 110 may be controlled based on or both of them. For example, it may be determined whether a virtual button (located at the location of interest, i.e. the location of the virtual force sensor) has been pressed or touched (sufficiently to be determined a “touch event”, e.g. based on one or more thresholds). The following disclosure will be understood accordingly.


As in FIG. 2B, a virtual input sensor signal VS (as an output sensor signal of the localisation operation) may be obtained by applying factors or weights to the input sensor signals S1 and S2, such as according to the following equation:

VS=0.5*S1+0.5*S2


Such a virtual input sensor signal VS may correspond to a virtual force sensor vs (location of interest) located equidistant between the force sensors s1 and s2, or at least so that the user force input concerned has equal effect at the force sensors s1 and s2, hence the applied weights 0.5 and 0.5 as above. The given weighting here may be expressed as 0.5:0.5 or 50%:50% for example, whereby the weights are effectively fractions which sum to 1.


Of course, the localisation operation may be configured to generate a plurality of output sensor signals, each output sensor signal being generated based on a given weighting associated with at least two input sensor signals of the localisation operation. For example, a first virtual input sensor signal VS1 and a second virtual input sensor signal VS2 could be generated according to the following equations:

VS1=0.5*S1+0.5*S2
VS2=0.7*S1+0.3*S2


Such virtual input sensor signals VS1 and VS2 may correspond to virtual force sensors vs1 and vs2 (locations of interest) located in different places relative to force sensors s1 and s2, as indicated by the different weightings 0.5:0.5 and 0.7:0.3.


As another example, there may be more than two force sensors 130 such as force sensors s1 to s3 or s1 to s4 as in FIG. 1, with corresponding input sensor signals. The localisation operation may be configured to generate a plurality of output sensor signals, each output sensor signal being generated based on a given weighting associated with at least two input sensor signals of the localisation operation. For example, first to third virtual input sensor signals VS1, VS2, VS3 could be generated according to the following equations:

VS1=0.5*S1+0.5*S2
VS2=0.7*S2+0.3*S3
VS3=0.5*S2+0.3*S3


Such virtual input sensor signals (as output sensor signals of the operation) may correspond to virtual force sensors vs1, vs2 and vs3 (locations of interest) located in different places, as indicated by the different weightings and/or different input sensor signals employed.


As another example, the localisation operation may be configured to generate at least one output sensor signal based on a given weighting associated with three or more input sensor signals of the localisation operation. For example, a fourth virtual input sensor signal VS4 could be generated according to the following equation:

VS4=0.5*S1+0.3*S2+0.2*S3


Such a virtual input sensor signal VS4 may correspond to a virtual force sensor vs4 (location of interest) located relative to the force sensors s1, s2 and s3. A ratio defining the ratio here may be expressed e.g. as 0.5:0.3:0.2.


The above virtual input sensor signals (output sensor signals of the localisation operation) result from a weighted combination of the at least two input sensor signals of the localisation operation concerned, the weighted combination weighted according to the given weighting concerned. The weighted combination may be considered a weighted average or a weighted sum (having the weights as fractions which sum to 1 enables a weighted average to be conveniently expressed as a weighted sum). As can be seen above, each weighted average or weighted sum comprises a sum of products, the products corresponding respectively to the input sensor signals of that sum. Each product is the product of the input sensor signal of that product and a corresponding weight defined by the weighting concerned.


Using x for input sensor signals and y for output sensor signals for a given operation (as earlier), and assuming that the input and output sensor signals are digital signals comprising a series of samples where n is the sample number, the above equation for VS1 may be presented in the form:

y1(n)=w11*x1(n)+w21*x2(n)


Here, y1(n) corresponds to VS1, x1(n) corresponds to S1, and x2(n) corresponds to S2. Further, x1 and x2 may be referred to as channel 1and 2 signals since they originate from force sensors s1 and s2, respectively. Here, w11 is the weight defining the contribution from channel 1 to output signal 1, and is 0.5 in the VS1 example above. Similarly, w21 is the weight defining the contribution from channel 2 to output signal 1, and is also 0.5 in the VS1 example above. This notation and terminology will be carried forwards.


Generalizing the previous example based on y1(n) to an N-channel configuration leads to the following set of equations expressed using matrices:

y(n)=x(nS2B

where the matrix y(n) is a 1×M matrix and corresponds to M output sensor signals, matrix x(n) is a 1×N matrix and corresponds to N input sensor signals or channels, and matrix S2B is a N×M matrix and provides the weighting mapping from the N input sensor signals to the M output sensor signals. These matrices may thus be defined:








y

(
n
)

=

[




y

1


(
n
)








y


M

(
n
)





]






x

(
n
)

=

[




x

1


(
n
)








x


N

(
n
)





]






S

2

B

=

[




w

11







w

1

M

















w

N

1






wNM



]






In an example mapping of 4 force sensors (N=4) to 2 virtual force sensors (M=2), the mapping matrix S2B may look like:







S

2

B

=

[




0
.
5



0





0
.
5



0




0



0
.
5





0


0.5



]





It will be recalled that the virtual force sensors (locations of interest) may be equated with virtual buttons, hence S2B may be interpreted as “Sensor-to-Button”. Here, absent uneven mechanical interactions between the force sensors s1 to s4, the weighting appears to locate the first virtual button halfway between force sensors s1 and s2, and the second virtual button halfway between force sensors s3 and s4.


The position of the virtual buttons (virtual force sensors) can accordingly be readily controlled by controlling the weightings, as expressed in the S2B matrix. A weighting applied in the weighted average or sum used to calculate the output sensor signals y(n) for a given virtual button can be controlled to steer that virtual button (location of interest) closer to the location of a given (actual) force sensor 130 by increasing the corresponding weight applied to its input sensor signal (assuming for example that the total of the weights in that weighting remains the same). For example, the following S2B matrix, as compared to the previous one, would steer the location of the first virtual button (location of interest) closer to the force sensor s1 than force sensor s2.







S

2

B

=

[




0
.
7



0





0
.
3



0




0



0
.
5





0


0.5



]





As mentioned earlier, an alternative or additional type of output sensor signal of the localisation operation may be representative of whether a force applied is applied at the location of interest concerned or how close a location at which that force is applied is to the location of interest concerned. Such an output sensor signal may be referred to as a confidence-measure output sensor signal, whereas the output sensor signals of the localisation operation described thus far (representative of a force applied at the location of interest concerned) may be considered weighted-combination output sensor signals.


Such a confidence-measure output sensor signal (or simply, confidence measure) may also be based on a given weighting associated with at least two said input sensor signals, similarly to the weighted-combination output sensor signals. However, a confidence-measure output sensor signal may more readily provide an indication of how close (in terms of location) a given user force input is to the maximum sensitivity (location) mapped by the weighting concerned.


Such a confidence-measure output sensor signal may be calculated as function of a first ratio of magnitudes of the input sensor signals concerned to one another and a second ratio defining the weighting concerned. For example, for a given virtual force sensor or virtual button (defined by a weighting and associated input sensor signals), the first and second ratios concerned may be compared with one another to generate the confidence-measure output sensor signal. The confidence-measure output sensor signal may then indicate how close the first and second ratios concerned are to one another.


In one possible implementation, the first and second ratios may be log ratios. Further, the calculation of the confidence-measure output sensor signal may comprise calculating values constrained between defined upper and lower values (such as 1 and 0) using a Gaussian function whose input parameters comprise the first and second ratios concerned.


An example will now be considered in which the Gaussian function is an unnormalized


Gaussian radial basis function. The example comprises two main steps, and will consider the following example weight mapping matrix S2B between input sensor signals x1(n) to x4(n) and output sensor signals y1(n) and y2(n) (generated by weighted averages or sums) as described earlier, i.e. where two input sensor signals are used to generate one output sensor signal.







S

2

B

=

[




0
.
5



0





0
.
5



0




0



0
.
5





0


0.5



]





In a first step, a log ratio y(n) is calculated as follows:







γ

(
n
)

=

log

1

0


(

max

(




s
1

(
n
)




s
2

(
n
)

+

e

p

s



,
0

)

)







where s1(n) and s2(n) are the first and second source signals for the mapping concerned. In the present mapping, for y1(n), s1(n)=x1(n) and s2(n)=x2(n), and for y2(n), s1(n)=x3(n) and s2(n)=x4(n). The parameter eps (epsilon) is a bias value.


In a second step, the log ratio α(n) is mapped to a constrained (confidence) value from 0 to 1 using an unnormalized Gaussian radial basis function:







α

(
n
)

=

exp


(

-



(


γ

(
n
)

-
μ

)

2


2
·

σ
2




)







where μ and σ are the mean and standard variation of the unnormalized Gaussian radial basis function. The parameter μ may be a user defined parameter. The parameter σ however is derived from the active rows of the S2B matrix (corresponding to the input sensor signals concerned) for a given column (corresponding to the output sensor signal concerned). For example, in the present S2B matrix example:


For y1(n):

μ=log 10(S2B(1, 1)/S2B(2, 1))=log 10(0.5/0.5)=0

For y2(n):

μ=log 10(S2B(3, 2)/S2B(4, 2))=log 10(0.5/0.5)=0


Using the log ratio instead of a simple ratio helps to enforce symmetry around the maximum sensitivity (location) of the weighting mapping, i.e. so the proportions at each side of this point are mapped to the same confidence value.



FIG. 6 presents graphs showing results obtained from an example where 500 ms (fs=1 kHz) of data was recorded from two force sensors. The resultant input sensor signals are shown on the top plot. Then, four different mappings are applied and the corresponding output sensor signals (resulting from a weighted sum or average) are shown in the middle plot. The bottom plot shows the corresponding confidence-measure output sensor signals for the same mappings as applied for the middle plot. The confidence-measure output sensor signals, exhibiting the characteristic unnormalized Gaussian radial basis function shape, look to be a good measure to indicate the area where the user input force is being applied and therefore enabling potentially a more refined force localisation.


Of course, a combination (or either) of the signals of the middle and bottom plots may be used to control the controller 110 as mentioned earlier, e.g. to determine whether a touch event has occurred. It will be appreciated that either of both of the weighted average/sum output sensor signals and the confidence-measure output sensor signals could be generated, depending on the application.


It will be appreciated that the above arrangement-related operations are example operations which are dependent to an extent on the arrangement of the force sensor 130 in the device 100. In order to carry out the operations, the controller 110 may be configured to store (e.g. in internal registers) or access (e.g. from memory 120) arrangement information defining the arrangement of the force sensors in the device 100, such as the relative locations of the force sensors, so as to carry out the arrangement-related operation based on the arrangement information. For example, such arrangement information may comprise the various correlation factors, weightings, weights and/or mappings described above, any of which may be updated on a dynamic basis.


Based on an output sensor signal generated in one of the arrangement-related operations, the controller 110 may be configured to determine that a user touch event (such as a user swiping, touching or pressing the device 100 in the vicinity of associated force sensors 130) has occurred.


Indeed, the controller 110 may be configured to control operation of the device 100 based on an output sensor signal generated in one of the arrangement-related operations. For example, the controller 110 may be configured to control operation of itself or of at least one of the input/output components of the I/O unit 140. In the context of haptic functionality, the controller 110 may be configured to control an LRA within the I/O unit 140 based on an output sensor signal generated in one of the arrangement-related operations.


As another example, an output sensor signal generated in one of the arrangement-related operations may be taken to be a user input in connection with a GUI (graphical user interface) displayed on a touchscreen of the device 100. Of course, numerous other example will occur to the skilled person, an output sensor signal generated in one of the arrangement-related operations simply serving as a generic user input which may be taken advantage of in any way.


As apparent from FIG. 1, it will be understood that the controller 110 alone as well as the device 100 comprising the controller 110 may embody the present invention.


Corresponding methods and computer programs may also embody the present invention.


It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. The word “comprising” does not exclude the presence of elements or steps other than those listed in the claim, “a” or “an” does not exclude a plurality, and a single feature or other unit may fulfil the functions of several units recited in the claims. Any reference numerals or labels in the claims shall not be construed so as to limit their scope.

Claims
  • 1. A controller for a device which comprises at least two force sensors in a given arrangement, the controller operable, based on input sensor signals derived from the at least two force sensors, to carry out a localisation operation in which an output sensor signal is generated based on a given weighting associated with at least two said input sensor signals and defining a location of interest relative to locations of the at least two force sensors so that the output sensor signal of the localisation operation is representative of the location of interest, the input sensor signals being input sensor signals of the localisation operation, wherein the localisation operation comprises, in association with at least one of its output sensor signals, calculation of a further output sensor signal as a function of a first ratio of the input sensor signals concerned to one another and a second ratio defining the given weighting concerned.
  • 2. The controller as claimed in claim 1, wherein the localisation operation is configured to generate a plurality of output sensor signals, each output sensor signal of the localisation operation being generated based on a given weighting associated with at least two said input sensor signals of the localisation operation and defining the location of interest relative to locations of the at least two force sensors so that each output signal of the localisation operation concerned is representative of the location of interest concerned.
  • 3. The controller as claimed in claim 2, wherein at least two output sensor signals of the localisation operation are generated based on different given weightings and/or different input sensor signals of the localisation operation so that the at least two output sensor signals are different from one another.
  • 4. The controller as claimed in claim 1, wherein the output sensor signal of the localisation operation results from a weighted combination of the at least two input sensor signals of the localisation operation concerned, the weighted combination weighted according to the given weighting concerned.
  • 5. The controller as claimed in claim 4, wherein: the weighted combination is a weighted average or a weighted sum; and/orthe output sensor signal of the localisation operation is representative of a force applied at the location of interest concerned.
  • 6. The controller as claimed in claim 5, wherein the weighted average or the weighted sum comprises a sum of products, the products corresponding respectively to the input sensor signals of that weighted sum, and each product being a product of an input sensor signal and a corresponding weight defined by the given weighting concerned.
  • 7. The controller as claimed in claim 1, wherein the output sensor signal of the localisation operation is calculated as the function of the first ratio of magnitudes of the input sensor signals concerned to one another and the second ratio defining the given weighting concerned.
  • 8. The controller as claimed in claim 1, wherein: the calculation comprises comparing the first ratio concerned with the second ratio concerned; and/orthe output sensor signal of the localisation operation calculated as a function of the first ratio concerned and the second ratio concerned is representative of whether a force applied is applied at the location of interest concerned or how close a location at which that force is applied is to the location of interest concerned.
  • 9. The controller as claimed in claim 1, wherein the calculation comprises determining how close the first ratio concerned is to the second ratio concerned.
  • 10. The controller as claimed in claim 1, wherein the first and second ratios are log ratios.
  • 11. The controller as claimed in claim 1, wherein the calculation comprises calculating values constrained between defined upper and lower values using a Gaussian function whose input parameters comprise the first and second ratios concerned.
  • 12. The controller as claimed in claim 1, wherein the given weighting comprises a series of weights corresponding respectively to the input sensor signals concerned of the localisation operation.
  • 13. The controller as claimed in claim 1, wherein: the given weighting is based on the arrangement of the at least two force sensors in the device and the location of interest concerned; and/orthe given said weighting is dependent on locations of the at least two force sensors in the device and the location of interest concerned.
  • 14. The controller as claimed in claim 1, configured to store or access arrangement information defining the arrangement of the at least two force sensors in the device, such as the relative locations of the at least two force sensors, wherein the controller is configured to carry out an arrangement-related operation based on the arrangement information.
  • 15. The controller as claimed in claim 1, configured to determine a user touch event based on a said output sensor signal.
  • 16. A device, comprising: at least two force sensors in a given arrangement; andthe controller of claim 1, wherein the input sensor signals originate from respective force sensors of the device.
  • 17. A controller for a device which comprises at least two force sensors, the controller operable, based on input sensor signals derived from the at least two the force sensors, to carry out a localisation operation in which an output sensor signal is generated as a function of a first ratio of at least two said input sensor signals to one another and a second ratio defining a weighting associated with said at least two said input sensor signals and defining a location of interest relative to locations of the at least two force sensors.
  • 18. A controller for a device which comprises at least two sensors, the controller operable, based on input sensor signals derived from the at least two sensors, to carry out a localisation operation in which an output sensor signal is generated based on a given weighting associated with at least two said input sensor signals and defining a location of interest relative to locations of the at least two sensors so that the output sensor signal is representative of the location of interest, wherein said output sensor signal is calculated as a function of a first ratio of magnitudes of the input sensor signals concerned to one another and a second ratio defining the liven weighting concerned.
  • 19. A controller for a device which comprises at least two force sensors in a given arrangement, the controller operable, based on input sensor signals derived from the at least two force sensors, to carry out a localisation operation in which an output sensor signal is generated based on a given weighting associated with at least two said input sensor signals and defining a location of interest relative to locations of the at least two force sensors so that the output sensor signal of the localisation operation is representative of the location of interest, the input sensor signals being input sensor signals of the localisation operation, wherein the output sensor signal of the localisation operation is calculated as a function of a first ratio of magnitudes of the input sensor signals concerned to one another and a second ratio defining the given weighting concerned.
Parent Case Info

The present disclosure is a continuation of United States Non-Provisional Patent Application No. 16/369738, filed Mar. 29, 2019, which is incorporated by reference herein in its entirety.

US Referenced Citations (343)
Number Name Date Kind
3686927 Scharton Aug 1972 A
4902136 Mueller et al. Feb 1990 A
5374896 Sato et al. Dec 1994 A
5684722 Thorner et al. Nov 1997 A
5748578 Schell May 1998 A
5857986 Moriyasu Jan 1999 A
6050393 Murai et al. Apr 2000 A
6278790 Davis et al. Aug 2001 B1
6294891 McConnell et al. Sep 2001 B1
6332029 Azima et al. Dec 2001 B1
6388520 Wada et al. May 2002 B2
6567478 Oishi et al. May 2003 B2
6580796 Kuroki Jun 2003 B1
6683437 Tierling Jan 2004 B2
6703550 Chu Mar 2004 B2
6762745 Braun et al. Jul 2004 B1
6768779 Nielsen Jul 2004 B1
6784740 Tabatabaei Aug 2004 B1
6816833 Iwamoto et al. Nov 2004 B1
6906697 Rosenberg Jun 2005 B2
6995747 Casebolt et al. Feb 2006 B2
7042286 Meade et al. May 2006 B2
7154470 Tierling Dec 2006 B2
7277678 Rozenblit et al. Oct 2007 B2
7333604 Zernovizky et al. Feb 2008 B2
7392066 Hapamas Jun 2008 B2
7623114 Rank Nov 2009 B2
7639232 Grant et al. Dec 2009 B2
7777566 Drogi et al. Aug 2010 B1
7791588 Tierling et al. Sep 2010 B2
7825838 Srinivas et al. Nov 2010 B1
7979146 Ullrich et al. Jul 2011 B2
8068025 Devenyi et al. Nov 2011 B2
8098234 Lacroix et al. Jan 2012 B2
8102364 Tierling Jan 2012 B2
8325144 Tierling et al. Dec 2012 B1
8427286 Grant et al. Apr 2013 B2
8441444 Moore et al. May 2013 B2
8466778 Hwang et al. Jun 2013 B2
8480240 Kashiyama Jul 2013 B2
8572293 Cruz-Hernandez et al. Oct 2013 B2
8572296 Shasha et al. Oct 2013 B2
8593269 Grant et al. Nov 2013 B2
8648659 Oh et al. Feb 2014 B2
8648829 Shahoian Feb 2014 B2
8659208 Rose et al. Feb 2014 B1
8754757 Ullrich et al. Jun 2014 B1
8754758 Ullrich et al. Jun 2014 B1
8947216 Da Costa et al. Feb 2015 B2
8981915 Birnbaum et al. Mar 2015 B2
8994518 Gregorio et al. Mar 2015 B2
9019087 Bakircioglu et al. Apr 2015 B2
9030428 Fleming May 2015 B2
9063570 Weddle et al. Jun 2015 B2
9070856 Rose et al. Jun 2015 B1
9083821 Hughes Jul 2015 B2
9092059 Bhatia Jul 2015 B2
9117347 Matthews Aug 2015 B2
9128523 Buuck et al. Sep 2015 B2
9164587 Da Costa et al. Oct 2015 B2
9196135 Shah et al. Nov 2015 B2
9248840 Truong Feb 2016 B2
9326066 Kilppel Apr 2016 B2
9329721 Buuck et al. May 2016 B1
9354704 Lacroix et al. May 2016 B2
9368005 Cruz-Hernandez et al. Jun 2016 B2
9489047 Jiang et al. Nov 2016 B2
9495013 Underkoffler et al. Nov 2016 B2
9507423 Gandhi et al. Nov 2016 B2
9513709 Gregorio et al. Dec 2016 B2
9520036 Buuck Dec 2016 B1
9588586 Rihn Mar 2017 B2
9640047 Choi et al. May 2017 B2
9652041 Jiang et al. May 2017 B2
9696859 Heller et al. Jul 2017 B1
9697450 Lee Jul 2017 B1
9715300 Sinclair et al. Jul 2017 B2
9740381 Chaudhri et al. Aug 2017 B1
9842476 Rihn et al. Dec 2017 B2
9864567 Seo Jan 2018 B2
9881467 Levesque Jan 2018 B2
9886829 Levesque Feb 2018 B2
9946348 Ullrich et al. Apr 2018 B2
9947186 Macours Apr 2018 B2
9959744 Koskan et al. May 2018 B2
9965092 Smith May 2018 B2
10032550 Zhang et al. Jul 2018 B1
10039080 Miller et al. Jul 2018 B2
10055950 Saboune et al. Aug 2018 B2
10074246 Da Costa et al. Sep 2018 B2
10102722 Levesque et al. Oct 2018 B2
10110152 Hajati Oct 2018 B1
10171008 Nishitani et al. Jan 2019 B2
10175763 Shah Jan 2019 B2
10191579 Forlines et al. Jan 2019 B2
10264348 Harris et al. Apr 2019 B1
10402031 Vandermeijden et al. Sep 2019 B2
10564727 Billington et al. Feb 2020 B2
10620704 Rand et al. Apr 2020 B2
10667051 Stahl May 2020 B2
10726683 Mondello et al. Jul 2020 B1
10735956 Bae et al. Aug 2020 B2
10782785 Hu et al. Sep 2020 B2
10795443 Hu et al. Oct 2020 B2
10820100 Stahl et al. Oct 2020 B2
10828672 Stahl et al. Nov 2020 B2
10832537 Doy et al. Nov 2020 B2
10841696 Mamou-Mani Nov 2020 B2
10848886 Rand Nov 2020 B2
10860202 Sepehr et al. Dec 2020 B2
10955955 Peso Parada Mar 2021 B2
10969871 Rand et al. Apr 2021 B2
10976825 Das et al. Apr 2021 B2
11069206 Rao et al. Jul 2021 B2
11079874 Lapointe et al. Aug 2021 B2
11139767 Janko et al. Oct 2021 B2
11150733 Das et al. Oct 2021 B2
11259121 Lindemann et al. Feb 2022 B2
11460526 Foo et al. Oct 2022 B1
20010043714 Asada et al. Nov 2001 A1
20020018578 Burton Feb 2002 A1
20020085647 Oishi et al. Jul 2002 A1
20030068053 Chu Apr 2003 A1
20030214485 Roberts Nov 2003 A1
20050031140 Browning Feb 2005 A1
20050134562 Grant et al. Jun 2005 A1
20050195919 Cova Sep 2005 A1
20060028095 Maruyama et al. Feb 2006 A1
20060197753 Hotelling Sep 2006 A1
20070013337 Liu et al. Jan 2007 A1
20070024254 Radecker et al. Feb 2007 A1
20070241816 Okazaki et al. Oct 2007 A1
20080077367 Odajima Mar 2008 A1
20080226109 Yamakata et al. Sep 2008 A1
20080240458 Goldstein et al. Oct 2008 A1
20080293453 Atlas et al. Nov 2008 A1
20080316181 Nurmi Dec 2008 A1
20090020343 Rothkopf et al. Jan 2009 A1
20090079690 Watson et al. Mar 2009 A1
20090088220 Persson Apr 2009 A1
20090096632 Ullrich et al. Apr 2009 A1
20090102805 Meijer et al. Apr 2009 A1
20090128306 Luden et al. May 2009 A1
20090153499 Kim et al. Jun 2009 A1
20090189867 Krah Jul 2009 A1
20090278819 Goldenberg et al. Nov 2009 A1
20090313542 Cruz-Hernandez et al. Dec 2009 A1
20100013761 Birnbaum et al. Jan 2010 A1
20100080331 Garudadr et al. Apr 2010 A1
20100085317 Park et al. Apr 2010 A1
20100141408 Doy et al. Jun 2010 A1
20100141606 Bae et al. Jun 2010 A1
20100260371 Afshar Oct 2010 A1
20100261526 Anderson et al. Oct 2010 A1
20110056763 Tanase et al. Mar 2011 A1
20110075835 Hill Mar 2011 A1
20110077055 Pakula et al. Mar 2011 A1
20110141052 Bernstein et al. Jun 2011 A1
20110161537 Chang Jun 2011 A1
20110163985 Bae et al. Jul 2011 A1
20110167391 Momeyer et al. Jul 2011 A1
20120011436 Jinkinson et al. Jan 2012 A1
20120105358 Momeyer et al. May 2012 A1
20120105367 Son et al. May 2012 A1
20120112894 Yang et al. May 2012 A1
20120206246 Cruz-Hernandez et al. Aug 2012 A1
20120206247 Bhatia et al. Aug 2012 A1
20120229264 Company Bosch et al. Sep 2012 A1
20120249462 Flanagan et al. Oct 2012 A1
20120253698 Cokonaj Oct 2012 A1
20120306631 Hughes Dec 2012 A1
20130016855 Lee et al. Jan 2013 A1
20130027359 Schevin et al. Jan 2013 A1
20130038792 Quigley et al. Feb 2013 A1
20130096849 Campbell et al. Apr 2013 A1
20130141382 Simmons et al. Jun 2013 A1
20130275058 Awad Oct 2013 A1
20130289994 Newman et al. Oct 2013 A1
20130307786 Heubel Nov 2013 A1
20140035736 Weddle et al. Feb 2014 A1
20140056461 Afshar Feb 2014 A1
20140064516 Cruz-Hernandez et al. Mar 2014 A1
20140079248 Short et al. Mar 2014 A1
20140085064 Crawley et al. Mar 2014 A1
20140118125 Bhatia May 2014 A1
20140118126 Garg et al. May 2014 A1
20140119244 Steer et al. May 2014 A1
20140125467 Da Costa et al. May 2014 A1
20140139327 Bau et al. May 2014 A1
20140176415 Buuck Jun 2014 A1
20140205260 Lacroix et al. Jul 2014 A1
20140222377 Bitan et al. Aug 2014 A1
20140226068 Lacroix et al. Aug 2014 A1
20140253303 Levesque Sep 2014 A1
20140292501 Lim et al. Oct 2014 A1
20140300454 Lacroix et al. Oct 2014 A1
20140340209 Lacroix et al. Nov 2014 A1
20140347176 Modarres et al. Nov 2014 A1
20150049882 Chiu et al. Feb 2015 A1
20150061846 Yliaho Mar 2015 A1
20150070149 Cruz-Hernandez et al. Mar 2015 A1
20150070151 Cruz-Hernandez et al. Mar 2015 A1
20150070154 Levesque et al. Mar 2015 A1
20150070260 Saboune et al. Mar 2015 A1
20150077324 Birnbaum et al. Mar 2015 A1
20150084752 Heubel et al. Mar 2015 A1
20150116205 Westerman et al. Apr 2015 A1
20150130767 Myers et al. May 2015 A1
20150204925 Hernandez et al. Jul 2015 A1
20150208189 Tsai Jul 2015 A1
20150216762 Oohashi et al. Aug 2015 A1
20150234464 Yliaho Aug 2015 A1
20150264455 Granoto et al. Sep 2015 A1
20150268768 Woodhull et al. Sep 2015 A1
20150324116 Marsden et al. Nov 2015 A1
20150325116 Umminger, III Nov 2015 A1
20150339898 Saboune et al. Nov 2015 A1
20150341714 Ahn et al. Nov 2015 A1
20150356981 Johnson et al. Dec 2015 A1
20160004311 Yliaho Jan 2016 A1
20160007095 Lacroix Jan 2016 A1
20160063826 Morrell et al. Mar 2016 A1
20160070392 Wang et al. Mar 2016 A1
20160074278 Muench et al. Mar 2016 A1
20160097662 Chang et al. Apr 2016 A1
20160132118 Park et al. May 2016 A1
20160162031 Westerman et al. Jun 2016 A1
20160179203 Modarres et al. Jun 2016 A1
20160187987 Ulrich et al. Jun 2016 A1
20160239089 Taninaka et al. Aug 2016 A1
20160246378 Sampanes et al. Aug 2016 A1
20160277821 Kunimoto Sep 2016 A1
20160291731 Liu et al. Oct 2016 A1
20160305996 Martens et al. Oct 2016 A1
20160328065 Johnson et al. Nov 2016 A1
20160358605 Ganong, III et al. Dec 2016 A1
20170052593 Jiang et al. Feb 2017 A1
20170078804 Guo et al. Mar 2017 A1
20170083096 Rihn et al. Mar 2017 A1
20170090572 Holenarsipur et al. Mar 2017 A1
20170090573 Hajati et al. Mar 2017 A1
20170097381 Stephens et al. Apr 2017 A1
20170153760 Chawda et al. Jun 2017 A1
20170168574 Zhang Jun 2017 A1
20170168773 Keller et al. Jun 2017 A1
20170169674 Macours Jun 2017 A1
20170180863 Biggs et al. Jun 2017 A1
20170220197 Matsumoto et al. Aug 2017 A1
20170256145 Macours et al. Sep 2017 A1
20170277350 Wang et al. Sep 2017 A1
20170031495 Tse Dec 2017 A1
20170357440 Tse Dec 2017 A1
20180021811 Kutej et al. Jan 2018 A1
20180033946 Kemppinen et al. Feb 2018 A1
20180059733 Gault et al. Mar 2018 A1
20180059793 Hajati Mar 2018 A1
20180067557 Robert et al. Mar 2018 A1
20180074637 Rosenberg et al. Mar 2018 A1
20180082673 Tzanetos Mar 2018 A1
20180084362 Zhang et al. Mar 2018 A1
20180095596 Turgeman Apr 2018 A1
20180151036 Cha et al. May 2018 A1
20180158289 Vasilev et al. Jun 2018 A1
20180159452 Eke et al. Jun 2018 A1
20180159457 Eke Jun 2018 A1
20180159545 Eke et al. Jun 2018 A1
20180160227 Lawrence et al. Jun 2018 A1
20180165925 Israr et al. Jun 2018 A1
20180178114 Mizuta et al. Jun 2018 A1
20180182212 Li et al. Jun 2018 A1
20180183372 Li et al. Jun 2018 A1
20180194369 Lisseman et al. Jul 2018 A1
20180196567 Klein et al. Jul 2018 A1
20180224963 Lee et al. Aug 2018 A1
20180227063 Heubel et al. Aug 2018 A1
20180237033 Hakeem et al. Aug 2018 A1
20180206282 Singh Sep 2018 A1
20180253123 Levesque et al. Sep 2018 A1
20180255411 Lin et al. Sep 2018 A1
20180267897 Jeong Sep 2018 A1
20180294757 Feng et al. Oct 2018 A1
20180301060 Israr et al. Oct 2018 A1
20180304310 Long Oct 2018 A1
20180321056 Yoo et al. Nov 2018 A1
20180321748 Rao et al. Nov 2018 A1
20180323725 Cox et al. Nov 2018 A1
20180329172 Tabuchi Nov 2018 A1
20180335848 Moussette et al. Nov 2018 A1
20180367897 Bjork et al. Dec 2018 A1
20190020760 DeBates et al. Jan 2019 A1
20190035235 Da Costa et al. Jan 2019 A1
20190227628 Rand et al. Jan 2019 A1
20190044651 Nakada Feb 2019 A1
20190051229 Ozguner et al. Feb 2019 A1
20190064925 Kim et al. Feb 2019 A1
20190069088 Seiler Feb 2019 A1
20190073078 Sheng et al. Mar 2019 A1
20190102031 Shutzberg Apr 2019 A1
20190103829 Vasudevan et al. Apr 2019 A1
20190138098 Shah May 2019 A1
20190163234 Kim et al. May 2019 A1
20190196596 Yokoyama et al. Jun 2019 A1
20190206396 Chen Jul 2019 A1
20190215349 Adams et al. Jul 2019 A1
20190220095 Ogita et al. Jul 2019 A1
20190228619 Yokoyama et al. Jul 2019 A1
20190114496 Lesso Aug 2019 A1
20190235629 Hu et al. Aug 2019 A1
20190253031 Vellanki et al. Aug 2019 A1
20190294247 Hu et al. Sep 2019 A1
20190295755 Konradi et al. Sep 2019 A1
20190296674 Janko et al. Sep 2019 A1
20190297418 Stahl Sep 2019 A1
20190305851 Vegas-Olmos et al. Oct 2019 A1
20190311590 Doy et al. Oct 2019 A1
20190341903 Kim Nov 2019 A1
20190384393 Cruz-Hernandez et al. Dec 2019 A1
20190384898 Chen et al. Dec 2019 A1
20200117506 Chan Apr 2020 A1
20200139403 Palit May 2020 A1
20200150767 Karimi Eskandary et al. May 2020 A1
20200218352 Macours et al. Jul 2020 A1
20200231085 Kunii et al. Jul 2020 A1
20200306796 Lindemann et al. Oct 2020 A1
20200313529 Lindemann Oct 2020 A1
20200313654 Marchais et al. Oct 2020 A1
20200314969 Marchais et al. Oct 2020 A1
20200348249 Marchais et al. Nov 2020 A1
20200403546 Janko et al. Dec 2020 A1
20210108975 Parada et al. Apr 2021 A1
20210125469 Alderson Apr 2021 A1
20210153562 Fishwick et al. May 2021 A1
20210157436 Peso Parada et al. May 2021 A1
20210174777 Marchais et al. Jun 2021 A1
20210175869 Taipale Jun 2021 A1
20210200316 Das et al. Jul 2021 A1
20210325967 Khenkin et al. Oct 2021 A1
20210328535 Khenkin et al. Oct 2021 A1
20210365118 Rajapurkar et al. Nov 2021 A1
20220026989 Rao et al. Jan 2022 A1
20220328752 Lesso et al. Oct 2022 A1
20220404398 Reynaga et al. Dec 2022 A1
20220408181 Hendrix et al. Dec 2022 A1
Foreign Referenced Citations (29)
Number Date Country
103165328 Jun 2013 CN
104811838 Jul 2015 CN
107835968 Mar 2018 CN
210628147 May 2020 CN
114237414 Mar 2022 CN
0784844 Jun 2005 EP
2306269 Apr 2011 EP
2363785 Sep 2011 EP
2487780 Aug 2012 EP
2600225 Jun 2013 EP
2846218 Mar 2015 EP
2846229 Mar 2015 EP
2846329 Mar 2015 EP
2988528 Feb 2016 EP
3125508 Feb 2017 EP
3379382 Sep 2018 EP
08149006 Jun 1996 JP
H10184782 Jul 1998 JP
2013104919 Jul 2013 WO
2014018086 Jan 2014 WO
2014094283 Jun 2014 WO
2016105496 Jun 2016 WO
2016164193 Oct 2016 WO
2017034973 Mar 2017 WO
2017113651 Jul 2017 WO
2018053159 Mar 2018 WO
2018067613 Apr 2018 WO
2018125347 Jul 2018 WO
2020055405 Mar 2020 WO
Non-Patent Literature Citations (48)
Entry
International Search Report and Written Opinion of the International Searching Authority, International Application No. PCT/US2021/021908, dated Jun. 9, 2021.
Notice of Preliminary Rejection, Korean Intellectual Property Office, Application No. 10-2019-7036236, dated Jun. 29, 2021.
Combined Search and Examination Report, United Kingdom Intellectual Property Office, Application No. 3B2018051.9, dated Jun. 30, 2021.
Communication pursuant to Rule 164(2)(b) and Article 94(3) EPC, European Patent Office, Application No. 18727512.8, dated Jul. 8, 2021.
Gottfried Behler: “Measuring the Loudspeaker's Impedance during Operation for the Derivation of the Voice Coil Temperature”, AES Convention Preprint, Feb. 25, 1995 (Feb. 25, 1995), PARIS.
First Office Action, China National Intellectual Property Administration, Patent Application No. 2019800211287, dated Jul. 5, 2021.
Examination Report under Section 18(3), United Kingdom Intellectual Property Office, Application No. GB2106247.6, dated Mar. 31, 2022.
Final Notice of Preliminary Rejection, Korean Patent Office, Application No. 10-2019-7036236, dated Nov. 29, 2021.
Examination Report under Section 18(3), United Kingdom Intellectual Property Office, Application No. GB2018050.1, dated Dec. 22, 2021.
Examination Report under Section 18(3), United Kingdom Intellectual Property Office, Application No. GB2018051.9, dated Nov. 5, 2021.
Second Office Action, National Intellectual Property Administration, PRC, Application No. 2019800208570, dated Jan. 19, 2022.
Steinbach et al., Haptic Data Compression and Communication, IEEE Signal Processing Magazine, Jan. 2011.
Pezent et al., Syntacts Open-Source Software and Hardware for Audio-Controlled Haptics, IEEE Transactions on Haptics, vol. 14, No. 1, Jan.-Mar. 2021.
Danieau et al., Enhancing Audiovisual Experience with Haptic Feedback: A Survey on HAV, IEEE Transactions on Haptics, vol. 6, No. 2, Apr.-Jun. 2013.
Danieau et al., Toward Haptic Cinematography: Enhancing Movie Experiences with Camera-Based Haptic Effects, IEEE Computer Society, IEEE MultiMedia, Apr.-Jun. 2014.
Jaijongrak et al., A Haptic and Auditory Assistive User Interface: Helping the Blinds on their Computer Dperations, 2011 IEEE International Conference on Rehabilitation Robotics, Rehab Week Zurich, ETH Zurich Science City, Switzerland, Jun. 29-Jul. 1, 2011.
Lim et al., An Audio-Haptic Feedbacks for Enhancing User Experience in Mobile Devices, 2013 IEEE International Conference on Consumer Electronics (ICCE).
Meddle et al., How Does Audio-Haptic Enhancement Influence Emotional Response to Mobile Media, 2013 Fifth International Workshop on Quality of Multimedia Experience (QoMEX), QMEX 2013.
Invitation to Pay Additional Fees, Partial International Search Report and Provisional Opinion of the International Searching Authority, International Application No. PCT/US2020/052537, dated Jan. 14, 2021.
International Search Report and Written Opinion of the International Searching Authority, International Application No. PCT/US2020/056610, dated Jan. 21, 2021.
International Search Report and Written Opinion of the International Searching Authority, International Application No. PCT/GB2020/052537, dated Mar. 9, 2021.
Office Action of the Intellectual Property Office, ROC (Taiwan) Patent Application No. 107115475, dated Apr. 30, 2021.
First Office Action, China National Intellectual Property Administration, Patent Application No. 2019800208570, dated Jun. 3, 2021.
International Search Report and Written Opinion of the International Searching Authority, International Application No. PCT/GB2019/050964, dated Sep. 3, 2019.
Combined Search and Examination Report, UKIPO, Application No. GB1720424.9, dated Jun. 5, 2018.
International Search Report and Written Opinion of the International Searching Authority, International Application No. PCT/GB2019/052991, dated Mar. 17, 2020, received by Applicant Mar. 19, 2020.
Communication Relating to the Results of the Partial International Search, and Provisional Opinion Accompanying the Partial Search Result, of the International Searching Authority, International Application No. PCT/GB2020/050822, dated Jul. 9, 2020.
International Search Report and Written Opinion of the International Searching Authority, International Application No. PCT/US2020/024864, dated Jul. 6, 2020.
International Search Report and Written Opinion of the International Searching Authority, International Application No. PCT/GB2020/051035, dated Jul. 10, 2020.
International Search Report and Written Opinion of the International Searching Authority, International Application No. PCT/GB2020/050823, dated Jun. 30, 2020.
International Search Report and Written Opinion of the International Searching Authority, International Application No. PCT/GB2020/051037, dated Jul. 9, 2020.
International Search Report and Written Opinion of the International Searching Authority, International Application No. PCT/GB2020/050822, dated Aug. 31, 2020.
International Search Report and Written Opinion of the International Searching Authority, International Application No. PCT/GB2020/051438, dated Sep. 28, 2020.
Combined Search and Examination Report under Sections 17 and 18(3), UKIPO, Application No. GB2210174.5, dated Aug. 1, 2022.
Examination Report under Sections 17 and 18(3), UKIPO, Application No. GB2112207.2, dated Aug. 18, 2022.
International Search Report and Written Opinion of the International Searching Authority, International Application No. PCT/US2022/030541, dated Sep. 1, 2022.
Vanderborght, B. et al., Variable impedance actuators: A review; Robotics and Autonomous Systems 61, Aug. 6, 2013, pp. 1601-1614.
International Search Report and Written Opinion of the International Searching Authority, International Application No. PCT/US2022/033190, dated Sep. 8, 2022.
International Search Report and Written Opinion of the International Searching Authority, International Application No. PCT/US2022/033230, dated Sep. 15, 2022.
Examination Report under Section 18(3), UKIPO, Application No. GB2115048.7, dated Aug. 24, 2022.
Communication pursuant to Article 94(3) EPC, European Patent Office, Application No. 18727512.8, dated Sep. 26, 2022.
Examination Report under Section 18(3), UKIPO, Application No. GB2113228.7, dated Feb. 10, 2023.
Examination Report under Section 18(3), UKIPO, Application No. GB2113154.5, dated Feb. 17, 2023.
First Office Action, China National Intellectual Property Administration, Application No. 2019107179621, dated Jan. 19, 2023.
Search Report, China National Intellectual Property Administration, Application No. 2019107179621, dated Jan. 11, 2023.
Examination Report under Section 18(3), UKIPO, Application No. GB2112207.2, dated Nov. 7, 2022.
Examination Report, Intellectual Property India, Application No. 202117019138, dated Jan. 4, 2023.
Examination Report under Section 18(3), UKIPO, Application No. GB2117488.3, dated Apr. 27, 2023.
Related Publications (1)
Number Date Country
20210157436 A1 May 2021 US
Continuations (1)
Number Date Country
Parent 16369738 Mar 2019 US
Child 17161268 US