U.S. patent application number 14/694823 was filed with the patent office on 2015-10-01 for touch sensitive device.
The applicant listed for this patent is NVF Tech Ltd.. Invention is credited to Neil John Harris.
Application Number | 20150277565 14/694823 |
Document ID | / |
Family ID | 40019999 |
Filed Date | 2015-10-01 |
United States Patent
Application |
20150277565 |
Kind Code |
A1 |
Harris; Neil John |
October 1, 2015 |
Touch Sensitive Device
Abstract
A touch sensitive device comprising a panel capable of
supporting bending waves, a user-accessible touch sensitive screen
on or forming part of a face of the panel, the touch sensitive
screen having a plurality of different sensing areas, a plurality
of vibration exciters coupled to the panel to apply bending waves
to the panel to provide tactile feedback at the plurality of
sensing areas in response to the user touching a sensing area, and
signal processing means arranged to apply signals to the vibration
exciters so as to steer bending waves applied to the panel by the
plurality of vibration exciters whereby the amplitude of the
applied bending waves is maximised at the sensing area touched by
the user and reduced or minimised at each other sensing area.
Inventors: |
Harris; Neil John;
(Cambridgeshire, GB) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
NVF Tech Ltd. |
Cambridgeshire |
|
GB |
|
|
Family ID: |
40019999 |
Appl. No.: |
14/694823 |
Filed: |
April 23, 2015 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
12921935 |
Dec 13, 2010 |
9041662 |
|
|
PCT/JP2009/064365 |
Aug 7, 2009 |
|
|
|
14694823 |
|
|
|
|
Current U.S.
Class: |
345/173 |
Current CPC
Class: |
G06F 3/016 20130101;
G06F 3/043 20130101; G06F 3/04166 20190501; G06F 3/0418
20130101 |
International
Class: |
G06F 3/01 20060101
G06F003/01; G06F 3/041 20060101 G06F003/041 |
Foreign Application Data
Date |
Code |
Application Number |
Oct 3, 2008 |
GB |
0818117.4 |
Claims
1. A touch sensitive device comprising: a panel capable of
supporting bending waves, a user-accessible touch sensitive screen
on or forming part of a face of the panel, the touch sensitive
screen having a plurality of different sensing areas, a plurality
of vibration exciters coupled to the panel to apply bending waves
to the panel to provide tactile feedback at at least one of the
plurality of sensing areas in response to the user touching at
least one sensing area, and a signal generator and signal processor
configured to determine and apply signals to the vibration exciters
so as simultaneously to provide tactile feedback at a plurality of
the sensing areas and to apply bending wave signals having small or
minimal acoustic component to steer bending waves applied to the
panel by the plurality of vibration exciters whereby the amplitude
of the applied bending waves is maximized at the sensing area
touched by the user and reduced or minimized at each other sensing
area with small or minimal acoustic component.
2. The touch sensitive device of claim 1, wherein the signal
processor is configured to determine and apply bending wave signals
having a small or minimal acoustic component.
3. The touch sensitive device of claim 1, comprising n number of
signal sensing areas and n+1 number of vibration exciters.
4. The touch sensitive device of claim 1, wherein the panel is
intendedly resonant and wherein the signals applied by the
vibration exciters cause the panel to resonate.
5. The touch sensitive device of claim 4, wherein the signal
steering is such that the signal sensing area touched by the user
is caused to be antinodal and each other signal sensing area is
caused to be nodal.
6. The touch sensitive device of claim 1, wherein the vibration
exciters are spaced apart around the panel.
7. The touch sensitive device of claim 6, wherein the vibration
exciters are positioned at the periphery of the panel.
8. The touch sensitive device of claim 1, wherein the signal
processor is configured to control at least one of the timing,
phase and frequency of the signal to each vibration exciter.
9. A method of operating a touch sensitive device comprising a
panel capable of supporting bending waves, a user-accessible touch
sensitive screen on or forming part of a face of the panel, the
touch sensitive screen having a plurality of different sensing
areas, a plurality of vibration exciters coupled to the panel to
apply bending waves to the panel to provide tactile feedback at the
plurality of sensing areas in response to the user touching a
sensing area, and a signal generator and signal processor
configured to determine and apply signals to the vibration exciters
so as to steer bending waves applied to the panel by the plurality
of vibration exciters whereby the amplitude of the applied bending
waves is maximized at the sensing area touched by the user and
reduced or minimized at each other sensing area, the method
comprising the steps of: sensing at least one area of the screen
touched by a user and processing and applying signals to the
plurality of vibration exciters so as simultaneously to provide
tactile feedback at a plurality of the sensing areas and to apply
bending wave signals having small or minimal acoustic component and
to steer bending waves in the panel whereby the amplitude of
vibration is maximized at the at least one sensing area touched by
the user and reduced or minimized at each other sensing area with
small or minimal acoustic component.
10. The method of claim 9, further comprising the step of
processing the signals applied to the vibration exciters so as
simultaneously to provide tactile feedback to a plurality of
sensing areas while reducing or minimizing crosstalk between the
sensing areas.
11. The method of claim 9, wherein the signal processing comprises
n number of signal sensing areas and at least n+1 number of
vibration exciters.
12. The method of claim 9, wherein the panel is intendedly resonant
and wherein the method further comprises the step of applying
signal with the vibration exciters to cause the panel to
resonate.
13. The method of claim 9, further comprising the step of steering
the signals so that the signal sensing area touched by the user is
caused to be antinodal and each other signal sensing area is caused
to be nodal.
14. The method of claim 13, wherein the steering comprises
adjusting at least one of the timing, phase and frequency of the
signals to at least two vibration exciters to control the position
on the panel where travelling waves from the at least two vibration
exciters intersect, and so that travelling waves from the at least
two vibration exciters are at a coincident amplitude maximum at the
position of intersection.
15. The method of claim 9, further comprising the step of applying
signals to the vibration exciters so as simultaneously to provide
tactile feedback at a plurality of the sensing areas.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This is a continuation application of U.S. patent
application Ser. No. 12/921,935 filed Dec. 13, 2010 which is the
U.S. National Phase of PCT Application No. JP2009/064365 filed 7
Aug. 2009 which claims priority to British Patent Application No.
0818117.4 filed 3 Oct. 2008, each of which are incorporated herein
by reference.
TECHNICAL FIELD
[0002] The invention relates to touch sensitive devices including
touch sensitive screens or panels.
BACKGROUND ART
[0003] U.S. Pat. No. 4,885,565, U.S. Pat. No. 5,638,060, U.S. Pat.
No. 5,977,867, US2002/0075135 describe touch-operated apparatus
having tactile feedback for a user when touched. In U.S. Pat. No.
4,885,565 an actuator is provided for imparting motion to the CRT
when the actuator is energized to provide tactile feedback. In U.S.
Pat. No. 5,638,060, a voltage is applied to a piezo-electric
element which form a switch to vibrate the element to apply a
reaction force to a user's finger. In U.S. Pat. No. 5,977,867, a
tactile feedback unit generates a mechanical vibration sensed by
the user when the touch screen is touched with a finger or a
pointer. The amplitude, vibration frequency and pulse length of the
mechanical vibration are controlled, with the pulse width being
long enough to be felt but short enough to terminate before the
next key touch. US2002/0075135 describes the use of a second
transducer to provide a pulse in the form of a transient spike to
simulate a button click.
[0004] In each of the prior art documents described above, tactile
feedback is provided in response to a discrete touch, of a user's
finger or pointer.
DISCLOSURE OF INVENTION
[0005] According to the invention, there is provided a touch
sensitive device comprising a panel capable of supporting bending
waves, a user-accessible touch sensitive screen on or forming part
of a face of the panel, the touch sensitive screen having a
plurality of different sensing areas, a plurality of vibration
exciters coupled to a panel to apply bending waves to the panel to
provide tactile feedback at the plurality of sensing areas in
response to the user touching a sensing area, and signal processing
means arranged to apply signals to the vibration exciters so as to
steer bending waves applied to the panel by the plurality of
vibration exciters whereby the amplitude of the applied bending
waves is maximised at the sensing area touched by the user and
reduced or minimised at each other sensing area.
[0006] As a result of the signal processing means, there is a
wanted signal (the maximised vibration at one sensing area) and an
unwanted signal (minimised vibration at another sensing area). The
ratio of the two may be described as a "signal to noise ratio", or
"SNR". This is usually expressed in dB, and large values are better
than small values.
[0007] By steering the vibration, it is possible to ensure that
each sensing area or location receives primarily the haptics signal
for that location, even when the locations are simultaneously
contacted. Anywhere else on the panel will experience a combination
of the signals, but this is unimportant. For two sensing areas,
this feature may be termed simultaneous dual region haptics since
two simultaneous haptic feedbacks are provided at spatially
separate locations. This may be extended to multiple signals and
multiple regions to provide simultaneous multi-region haptics.
[0008] As an alternative, or in addition, to providing simultaneous
multi-region haptics, the signal processing means may be arranged
to apply bending wave signals having a small or minimal acoustic
component. This may be desirable to ensure that the haptic signal
provided to each location is silent.
[0009] The panel may be intendedly resonant and wherein the signals
applied by the vibration exciters cause the panel to resonant. For
example, the panel may be a resonant bending wave mode panel as
described in International Patent Application WO97/09842 which is
incorporated by reference. The panel may also be a loudspeaker
wherein a further vibration exciter excites vibration which
produces an acoustic output.
[0010] The vibration exciters may be a moving coil transducer
and/or a piezoelectric bending transducer, for example one
comprising a resonant element as described e.g. in WO01/54450,
incorporated herein by reference. The exciters may/may not be
inertial.
[0011] The signal steering may be such that the signal sensing area
touched by the user is caused to be antinodal and each other signal
sensing area is caused to be nodal. A nodal point (node) is one
that has no velocity at any frequency of excitation and an
anti-nodal point has maximum velocity.
[0012] The device may comprise n number of signal sensing areas and
greater than n, e.g. n+1, number of vibration exciters. In this
way, the amplitude of the applied bending waves is maximised to the
greatest possible amplitude at the sensing area touched by the user
and is approximately zero at each other sensing area. In other
words, n nodal responses may be achieved. In this context, the
requirement for "silent" may be considered equivalent to producing
a nodal pressure on axis. To achieve silent dual region haptic
feedback, it would be necessary to create both a nodal point, say
at the other sensing area, and zero pressure on axis.
[0013] Alternatively, there may be n number of signal sensing areas
and n or fewer than n number of vibration exciters. In this
arrangement, it is still possible to provide a "lowest energy"
solution whereby the amplitude of the applied bending waves is
maximised at the sensing area touched by the user and minimised at
each other sensing area. However, the maximum amplitude may be less
than the greatest possible amplitude achieved with n+1 vibration
exciters and/or the minimum may be significantly greater than zero.
Such a solution may either do its best to achieve all desired nodal
responses equally, or else achieve some better than others. In
other words solving MR and silent haptics simultaneously may reduce
both pressure and velocity responses, but not all the way to zero.
To achieve an exact solution requires another a number of vibration
exciters greater than n.
[0014] With a greater number of vibration exciters, e.g. greater
than n+1, it should be possible to introduce additional nodal
points to improve the haptic response. It may also be possible to
reduce the acoustic output even further, by encouraging multi-pole
radiation.
[0015] The introduction of additional nodal points may allow the
non-moving region to extend beyond the point chosen along "nodal
lines". The direction and shape of the lines are frequency
dependent, changing shape at each mode in the system. Groups of
nodes may be observed in order to reduce the motion along a line.
If this line is naturally nodal over part of the frequency range,
the method is more likely to be successful than for an arbitrary
line. The nodal line may be steered away from a natural line of
symmetry.
[0016] For the general `m` input (i.e. signals to be applied to m
number of vibration exciters), `n` output (i.e. n number of sensing
areas or n-1 number of sensing areas and the desire for silent
haptics) problem there are two principle variations on an algorithm
to find the best m inputs. These may be referred to as the parallel
"all at once" eigenvalue method and the serial "one at a time"
eigenvalue method. For the specific case where there are two
vibration exciters and one silent sensing area or two sensing
areas, a "tan theta" algorithm may be used to define the signals to
be applied to the exciters.
[0017] The signal processing means may apply signals to the
vibration exciters so as simultaneously to provide tactile feedback
at a plurality of the sensing areas. In an embodiment the panel is
terminated to reduce edge reflections of bending wave
vibration.
[0018] According to another aspect of the invention, there is
provided method of operating a touch sensitive device as claimed in
any preceding claim, comprising the steps of sensing an area of
screen touched by a user and processing and applying signals to the
plurality of vibration exciters to steer bending waves in the panel
whereby the amplitude of vibration is maximized at the sensing area
touched by the user and reduced or minimized at each other sensing
area.
[0019] The signals applied to the vibration exciters may be
processed so as simultaneously to provide tactile feedback to a
plurality of sensing areas while reducing or minimizing crosstalk
between the sensing areas.
[0020] Contact on the screen may be detected and/or tracked as
described in International patent applications WO 01/48684, WO
03/005292 and/or WO 04/053781 to the present applicant. These
International patent applications are hereincorporated by
reference.
[0021] Alternately, other known methods may be used to receive and
record or sense such contacts.
[0022] The invention further provides processor control code to
implement the above-described methods, in particular on a data
carrier 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. Code (and/or data) to
implement embodiments of the invention may comprise source, object
or executable code in a conventional programming language
(interpreted or compiled) such as C, or assembly code, code for
setting up or controlling an ASIC (Application Specific Integrated
Circuit) or FPGA (Field Programmable Gate Array), or code for a
hardware description language such as Verilog (Trade Mark) or VHDL
(Very high speed integrated circuit Hardware Description Language).
As a skilled person will appreciate such code and/or data may be
distributed between a plurality of coupled components in
communication with one another.
BRIEF DESCRIPTION OF THE DRAWINGS
[0023] The invention is diagrammatically illustrated, by way of
example, in the accompanying drawings in which:
[0024] FIG. 1a is a plan view of a touch sensitive screen;
[0025] FIG. 1b is an FE model of the screen of FIG. 1a showing
internal and external acoustics;
[0026] FIG. 2a is a graph showing transadmittance (dB) against
frequency at node 44 for nominal 1N inputs applied at two
locations;
[0027] FIG. 2b is a graph showing transadmittance (dB) against
frequency at node 22 for nominal 1N inputs applied at two
locations;
[0028] FIG. 2c is a graph showing sound pressure level (dB) against
frequency at 10 cm on axis for nominal 1N inputs applied at two
locations;
[0029] FIG. 3a is an illustration of two haptic signals at a
separate location;
[0030] FIG. 3b is a block diagram of the components of the
device;
[0031] FIG. 4a is a graph showing the input spectra for each
exciter to achieve dual region haptics;
[0032] FIG. 4b is a graph showing the input spectra for each
exciter to optimise silent dual region haptics;
[0033] FIG. 5a is a graph showing the residual responses (sound
pressure level) against frequency for the velocity and pressure for
the inputs of FIGS. 4a and 4b;
[0034] FIG. 5b is a graph plotting the resultant velocity at two
points on the touch screen for the inputs of FIG. 4a;
[0035] FIG. 5c is a graph plotting the Signal to Noise Ratio (SNR)
against frequency for the inputs of FIGS. 4a and 4b;
[0036] FIG. 6 is an alternative touch sensitive device;
[0037] FIG. 7a is a graph of sound pressure (dB) against frequency
at a point on the screen and at 10 cm on axis for a third
signal;
[0038] FIG. 7b is a graph showing the input spectra for each
exciter for silent dual region haptics;
[0039] FIG. 7c compares the SNR against frequency for the input
spectra of FIG. 4b and FIG. 7b;
[0040] FIG. 8a plots the simultaneous reduction in velocity at two
points on a touch screen using a two-point minimisation scheme;
[0041] FIG. 8b shows three sampling points for a nodal line on the
touch screen;
[0042] FIG. 8c plots the signal to noise ratio against frequency
for the screen of FIG. 8b with results optimised for three nodes
using two and three inputs, respectively;
[0043] FIG. 8d plots the signal to noise ratio against frequency
for the screen of FIG. 8b with results optimised for seven nodes
using two and three inputs, respectively;
[0044] FIG. 9a shows the axial sound pressure level against
frequency for each channel in a system having asymmetry;
[0045] FIG. 9b shows the rms averaged sound pressure levels against
frequency for combined channels and optimised channels with
normalised input levels;
[0046] FIG. 9c shows the signal to noise ration for the signals
shown in FIG. 9b;
[0047] FIG. 10a is a block diagram of a parallel solver;
[0048] FIG. 10b is a block diagram of a recursive solver, and
[0049] FIG. 10c compares the velocity reduction performance for the
solutions of FIGS. 10a and 10b.
DESCRIPTION OF EMBODIMENTS
[0050] FIG. 1a shows a model of a touch sensitive device 10
comprising a touch sensitive screen 12 mounted on a gasket 14. Two
vibration exciters 16, 18 in the form of distributed mode actuators
(DMAs) are provided to generate a signal within the screen. One or
more sensors (not shown) are used to detect a touch or movement of
the stylus on the screen. As shown in FIG. 1b, external air is
modelled explicitly to 10 cm, and implicitly to infinity.
[0051] To model the system, the two exciters were each crudely
simulated by point sources and a frequency dependent force. Both
the panel itself, and the placement of the DMAs have asymmetry in
one axis or the other. As a first step, forces are applied
separately to drive-points RP-1 (driven by the first exciter 16)
and RP-2 (driven by the second exciter 18). The responses at all
points in the system are calculated.
[0052] FIG. 2b shows the velocity responses (transadmittance)
against frequency for each input at a particular output node (node
22) on the outer surface. The box around node 22 shown in FIG. 1a
defines a first sensing area. The dB scale is relative to 1 m/s/N.
Below about 350-400 Hz the responses from each input are quite
similar, but at higher frequencies they separate. FIG. 2a shows the
velocity responses (transadmittance) against frequency for each
input at a second output node (node 44) on the outer surface. The
box around node 44 shown in FIG. 1a defines a second sensing area.
The responses at this node are of a similar character, but
different in detail, to those at node 22. FIG. 2c shows the sound
pressure level against frequency for each input at 10 cm on axis.
In each Figure, the real part of the signal is shown as a solid
line and the imaginary part as a dotted line.
[0053] A haptics signal provides tactile feedback to a user of the
touch sensitive screen. There may be more than one location on the
screen which is touched by a user and it is desirable that each
location receives only the haptics signal for that location, even
when the locations are simultaneously contacted. As shown in FIG.
3a, this may be achieved by ensuring that when points A and B are
simultaneously contacted, the transfer functions for the signals
applied to the first and second exciters 16, 18 produce a node at A
and the required haptics signal at point B and produce a node at
point B and the required haptics signal at point A. In other words,
for each touch point, the transfer functions necessary to produce a
node at the other touch point are obtained, and these used to
provide the appropriate haptic signal. A nodal point (node) is one
that has no velocity at any frequency of excitation.
[0054] FIG. 3b is a block diagram showing the key processing
elements of the system. Contacts on the touch screen 12 are
detected by one or more sensors 17 and the output from the sensors
17 is fed to a processor 20. The processor determines the signals
to be applied to the exciters 16, 18 as explained in more detail
below. These signals are applied to the exciters using a signal
generator 22. It will be appreciated that although the signal
generator and processor are shown as separate entities, the
processor functionality may be incorporated into the signal
generator functionality. The exciters 16, 18 apply bending wave
vibration to the touch screen.
[0055] As shown in FIG. 3a, by linear superposition, each touch
point receives only its intended haptic signal. Anywhere else on
the panel will experience a combination of the signals, but this is
unimportant. This feature may be termed simultaneous duel region
haptics since two simultaneous haptic feedbacks are provided at
spatially separate locations. This may be extended to multiple
signals and multiple regions to provide simultaneous multi-region
haptics.
[0056] As an alternative, or in addition, to providing simultaneous
dual region haptics, it may be desirable to ensure that the haptic
signal provided to each location is silent. In this context, the
requirement for "silent" may be considered equivalent to producing
a nodal pressure on axis. To achieve silent dual region haptic
feedback, it would be necessary to create both a nodal point, say
at node 22, and zero pressure on axis. As shown in FIGS. 2a and 2c,
the problem is complicated by the fact that the two outputs are
very different in behavior and amplitude, so come scaling of the
responses will be needed.
[0057] In J W S Rayleigh "The Theory of Sound", volume 2, Rayleigh
teaches a scaling factor that relates velocity and pressure. In
words, his first integral theorem states that the pressure at
distance r from a baffled source of area A, moving with means
acceleration <a>, is given by
p = .rho. 0 2 .pi. r a A , where a = j .omega. v = 1 A a A ,
##EQU00001##
[0058] .rho..sub.0=1.2 kg m.sup.-3 is the density of air.
[0059] For a piston, the motion is uniform and <a>=a. For a
simply-supported plate, the mean value is related to the peak value
by <a>=(2/pi).sup.2a. So a suitable default scaling value for
velocity is
s ( f ) = j 2 .pi. f .rho. 0 A 2 .pi. r ( 2 .pi. ) 2
##EQU00002##
[0060] So the required scaling is a function of frequency, panel
area and measuring distance. Using this scaling, a combined error
measure is formed:
M=s(f)M1=M2,
[0061] where M1 and M2 are the individual error measures for
velocity and pressure respectively.
[0062] By changing s(f), it is possible to alter the relative
weight applied to either the velocity or acoustic minimisation
problem. If s=0, the silent haptic behaviour is optimised; if
s=infinity, the multi-region behaviour is optimised.
[0063] In general, if n nodal responses are desired, then n+1 input
channels are required (it is useful to consider the requirement for
"silent" as equivalent to producing a nodal pressure on axis). In
other words, to achieve both silent feedback and dual region haptic
feedback, there are two nodal responses (one on the, panel and one
at 10 cm on axis) and thus 3 input channels are required. However,
in the model of FIG. 1a, there are only two input channels.
Accordingly, silent simultaneous dual region haptic feedback may
not be achieved exactly with only these two input channels, another
input channel is required. However, as in this case, if there are
fewer than n+1 input channels, it is still possible to provide a
"lowest energy" solution that may either do its best to achieve all
desired nodal responses equally, or else achieve some better than
others. The method involves calculating transfer functions for each
input that will result in the desired effect.
[0064] FIG. 4a shows the input signal spectra applied to each
exciter 16, 18 to make node 22 remain stationary (i.e. to produce a
nodal point) to solve the dual haptics problem. In the sub-modal
range, the functions producing these spectra may be approximated by
a constant, or a slowly changing spectrum. Over the wider band, it
may be sufficient to use active filter sections; for example, a
mild (3 dB at 500 Hz) peaking EQ for channel 1 constant, and a
phase changer for channel 2 to change the gain from +0.7 to -0.7
between 400 Hz and 700 Hz. FIG. 4b shows the input signal spectra
applied to each exciter 16, 18 to optimise the solution to the
silent dual haptics problem. These results are obtained by either
the "tan theta" method described below or the "scaled eigenvector"
method described below.
[0065] FIG. 5a shows that solving the silent haptics problem gives
zero pressure on-axis, but leaves a residual velocity at node 22.
Conversely, solving the multi-region (MR) haptics problem gives
zero velocity at node 22 but leaves a residual pressure on axis.
The combined optimised solution of FIG. 4b results in a general
reduction in velocity when compared to the silent haptics
optimisation. Similarly, the combined optimised solution of FIG. 4b
results in a general reduction in pressure when compared to the
dual or multi-region haptics optimisation. The improvement in
velocity is concentrated at lower frequencies and the improvement
in pressure is concentrated at higher frequencies. The balance of
these improvements could be altered by changing the scaling factor
s(f).
[0066] The effectiveness of the dual-region (MR) effect is measured
as a signal to noise ratio (SNR) between node 44 (the signal) and
node 22 (the noise). For the MR optimisation, this is infinite.
FIG. 5b shows the results for quiet haptics optimisation and for
combined optimisation. The combined optimisation improves the SNR
for frequencies below 450 Hz.
[0067] The exactness of any optimisation, including the MR
optimisation, is set by the numerical accuracy of the data supplied
to the FE program and its own processing. As shown in FIG. 5c, with
coefficients accurate to 6 decimal places, 120 dB of separation
between the nodes 22 and 44 was achieved.
[0068] By using linear superposition as illustrated in FIG. 3a, it
is a trivial step from having a quiet zone at node 22 to having two
zones with different signals, i.e. different feedback signals at
nodes 22 and 44. If it is possible to produce a single nodal point,
it is also possible to do simultaneous dual region haptics. That
is, we handle two, simultaneous haptic feedbacks at spatially
separate locations. The first touch requires no special
treatment--we use our two channels to keep the acoustic output as
low as possible. On the second touch, the following must take
place. For each touch point, the transfer function necessary to
produce a node at the other touch point are obtained, and these
used to provide the appropriate haptic signal. By linear
superposition, each touch point receives only its intended haptic
signal. Anywhere else on the panel will experience a combination of
the signals, but this is unimportant.
[0069] As shown above solving MR and silent haptics simultaneously
will reduce both pressure and velocity responses, but not all the
way to zero. To achieve an exact solution requires another input
channel. FIG. 6 shows a variation of the system in FIG. 1a with
three inputs. The number of inputs exceeds the number of outputs,
so there is an exact solution to silent dual region haptics
optimization. In this case, the on-axis pressure is zero and the
velocity at node 22 is also zero. A third exciter 20 providing a
signal RP-3 has been added at a position laterally symmetrical to
the second exciter 18.
[0070] FIG. 7a shows the scaled sound pressure level against
frequency for the signal RP-3 at node 22 and 10 cm on axis. The
real (solid) and imaginary (dotted) parts of the three input
spectra required to solve the silent, multi-region haptics problem
are shown in FIG. 7b.
[0071] The SNR for MR haptics provided by this solution is
theoretically infinite, as the velocity at node 22 is identically
zero. The effectiveness of the silent haptic part is harder to
evaluate, as although the on-axis pressure is zero, there will
still be acoustic radiation. Perhaps the best measure is to compare
the radiated power from this solution to that from a maximum
acoustics solution (found by selecting the highest eigenvalue from
the acoustics-only error matrix). The estimated result of this
comparison is shown in FIG. 7c, which also shows the acoustic SNR
for the two-input combined optimisation described above.
[0072] With more inputs, it would be possible to introduce
additional nodal points to improve the haptic response. It might
also be possible to reduce the acoustic output even further, by
encouraging multi-pole radiation.
[0073] The introduction of additional nodal points may allow the
non-moving region to extend beyond the point chosen along "nodal
lines". The direction and shape of the lines are frequency
dependent, changing shape at each mode in the system. In order to
regularize the regions kept stationary, more than one sample point
must be used. In this case, the cancellation will not be as
complete. For example, using both nodes 22 and 44 as targets, we
may use the methods described below (e.g. tan theta) to achieve at
least 10 dB separation between the maximum and minimum summed
responses. This is illustrated in FIG. 8a.
[0074] Using the same analysis used to create a single nodal point,
groups of nodes may be observed in order to reduce the motion along
a line. If this line is naturally nodal over part of the frequency
range, the method is more likely to be successful than for an
arbitrary line. With only two channels, proving control over an
extended area will be more difficult. For this, four or more
channels will probably be needed.
[0075] FIG. 8b shows three example sampling points for a nodal line
on a touch screen as previously described. Some differentiation
between the three points is possible. At low frequencies, the line
follows the nodal line at 200 Hz of the touch screen of FIG. 1a
driven by the spectra of FIG. 4a. The methods described below
produces two sets of inputs for the two exciters 16, 18 which
result in either the minimum velocity for the three nodes or the
maximum velocity for the three nodes. The ratio of these two may be
considered as a "signal to noise ratio", with larger values
represent a greater degree of success. This ratio (SNR) is plotted
against frequency in FIG. 8c. The result is not as spectacular as
that for a single node, but it is a reasonable result. The nodal
line is steered away from a natural line of symmetry.
[0076] As previously described, with extra inputs it should be
possible to improve the haptic response. To that end, an extra
input was employed to help minimise the velocities at the set of
nodes shown in FIG. 8b (the acoustic response is not considered in
this exercise). The SNR for a three input is also plotted in FIG.
8c. There is a clear improvement in the SNR obtained by using the
extra input. The typical improvement in SNR is 10 dB across the
whole frequency range.
[0077] The process was repeated for a different set of nodes. This
time the set was formed from the seven nodes running directly
across the panel through node 22 described above. As shown in FIG.
8d, better results are achieved with three inputs compared to two
inputs.
[0078] For any multi-region system, there are a number of inputs
and a number of measurement points. The simplest case is two inputs
and one target position, but as described above the problem may be
considerably more complicated, involving more inputs, and extended
target areas. The various methods of solving both the simple and
more complex problems are described below:
[0079] A Simple Minimisation Problem & Solution by "tan theta"
Approach
[0080] Consider a system with two inputs and one output. Let the
transfer function from input 1 (e.g. the first exciter 16 in FIG.
1a) to the output be represented by P1, and the transfer function
from input 2 (e.g. the second exciter 18 in FIG. 1a) to the output
be represented by P2. Then, for input signals a and -b, the output
signal spectrum T is given by
T=aP1-bP2
[0081] where a, b, P1, P2 and T are all complex functions of
frequency.
[0082] The problem to be solved is minimising T for all
frequencies. There is no unique solution to the problem, but it is
clear from observation that a and b should be related;
specifically
b=aP1/P2, or a=bP2/P1
[0083] Using these ratios is generally not a good idea, as either
P1 or P2 may contain zeros. One simple solution is to set a=P2 and
b=P1. It is also general practice to normalise the solution to unit
energy, that is |a|.sup.2+|b|.sup.2=1. As P1 and P2 are in general
complex quantities, the absolute values are important. Thus, T is
minimised by setting:
a = P 2 P 1 2 + P 2 2 , b = P 1 P 1 2 + P 2 2 ##EQU00003##
[0084] Incidentally, T is maximised to unity by setting
a = P 1 _ P 1 2 + P 2 2 , b = - P 2 _ P 1 2 + P 2 2 .
##EQU00004##
[0085] If P1 or P2 are measured remote from the input, as is
generally the case in acoustics, the transfer function will include
excess phase in the form of delay. Consequently, these values of a
and b may not be the best choice. If we set a=cos(.theta.) and
b=sin(.theta.), then tan(.theta.)=P1/P2. This solution may be
described as the "tan theta" solution and produces a and b with
much less excess phase. It is clear that a.sup.2+b.sup.2=1 due to
the trigonometric identity, but as .theta. is in general complex,
|a|.sup.2+|b|.sup.2.noteq.1, so normalisation would still be
required.
[0086] In this simple example, the minimisation problem was solved
by inspection. As this may not be possible in general, it would be
of advantage to have a systematic method of finding the
solution.
[0087] Variational Methods
[0088] The minimisation of energy functions is a key process in
many branches of physical modelling with mathematics, and for
example forms the foundation of finite element analysis. The task
at hand is to determine values of parameters that lead to
stationary values to a function (i.e. to find nodal points, lines
or pressures). The first step of the process is forming the energy
function. For our example, the squared modulus of T may be used,
i.e. E=|T|.sup.2=|aP1-bP2|.sup.2. The stationary values occur at
the maximum and the minimum of E.
E=(aP1-bP2) (aP1-bP2)
[0089] There is a constraint on the values of a and b--they cannot
both be zero. This constraint may be expressed using a so called
"Lagrange multiplier" to modify the energy equation, thus;
E=(aP1-bP2) (aP1-bP2)+.lamda.( aa+ bb-1)
[0090] It is common in these types of problem to consider the
complex conjugate of each variable as an independent variable. We
shall follow the practice here, and differentiate E with respect to
each conjugate variable in turn, thus;
.differential. E .differential. a _ = ( a P 1 - b P 2 ) P 1 _ +
.lamda. a ( 1 ) .differential. E .differential. b _ = - ( a P 1 - b
P 2 ) P 2 _ + .lamda. b ( 2 ) ##EQU00005##
[0091] At the stationary points, both of these must be zero. It is
possible to see straight away that the solutions found in the
previous section apply here too. However, continuing to solve the
system of equations formally, first the equations are combined to
eliminate .lamda. by finding:
(1)b-(2)a
(aP1-bP2) P1b+(aP1-bP2) P2a=0
[0092] The resulting equation is quadratic in a and b, the two
solutions corresponding to the maximum and the minimum values of E.
Introducing a=cos(.theta.) and b=sin(.theta.)--although strictly
speaking this does not satisfy the Lagrange constraint--obtains a
quadratic equation in tan(.theta.).
P1 P2+(|P1|.sup.2-|P2|.sup.2)tan(.theta.)-P2
P1tan(.theta.).sup.2=0
[0093] Noting that in many cases, (|P1|.sup.2-|P2|.sup.2).sup.2+4P1
P2P2 P1=(|P1|.sup.2+|P2|.sup.2).sup.2, we arrive at the same
answers as before, namely
.theta. = arctan ( P 1 P 2 ) ##EQU00006##
for the minimum, and
.theta. = arctan ( - P 2 P 1 ) _ ##EQU00007##
for the maximum.
[0094] For completeness, it is noted that this identity might not
apply in the general case, where P1 and P2 are sums or integrals of
responses. Nevertheless, it is possible to systematically find both
stationary values using this variation of the "tan theta" approach.
One application is explained in more detail below to illustrate how
these solutions may be used in the examples described above.
[0095] Application 1: Silent Haptic.
[0096] In the case where everything is completely symmetrical, the
silent haptic problem is trivial--a and b are set to equal values.
When there is asymmetry in the system, this assumption is no longer
valid. The problem to solve is to find two sets of input values a
and b which give maximum output for audio and minimum output for
silent haptics. This is exactly the problem solved in the
"variational methods" section.
[0097] P1 and P2, shown in FIG. 9a as dB SPL, are the acoustic
responses at 10 cm, obtained in this case by finite element
simulation--they could equally well have been obtained by
measurement. The pressure levels result from simulating a DMA with
a nominal 1N force plus some frequency dependence. (A typical DMA
would have a nominal force of, say, 15-30 mN/V. The SPL levels in
the figure are thus higher than would be achieved with a real
DMA.)
[0098] The result from using an optimal filter pair (max and min,
according to the two solutions for .theta.), is compared with the
simple sum and difference pair in FIG. 9b. The summed response is
higher than the subtracted response over much of the band, it is
not always so. Although the on-axis response does not tell the
whole story, the averaged results over the front hemisphere would
show similar features.
[0099] As a result of the optimization procedure, there is a wanted
signal (the maximum) and an unwanted signal (the minimum). The
ratio of the two may be described as a "signal to noise ratio", or
"SNR". This is usually expressed in dB, and large values are better
than small values. FIG. 9c shows clearly how the optimized signal
pair maximizes the SNR at every frequency, giving improvements of
10-20 dB over the full spectral range. Notice that with the
standard sum and difference pair, the SNR is actually negative
below about 330 Hz. Accordingly, applying the techniques descried
above to the silent haptic problem in a system with asymmetry,
results in improvements in the signal to noise ratio of many dB
compared to the simple sum and difference solution which is
appropriate for symmetrical systems. In an embodiment the vibration
exciters are positioned on the panel to encourage anti-symmetric
modes.
[0100] The solution described above may be applied to extended
areas as described in relation to FIG. 8b by measuring the target
at a number of discrete sampling points. In this case, it is
desirable to simultaneously minimize the outputs by manipulating
the inputs. There are now more output signals than input signals,
so the result is not exact. This is one of the strengths of the
variational method--it can find the best approximation.
i T i = i a P 1 i - b P 2 i 2 = i ( a P 1 i - b P 2 i ) 2 ( a P 1 i
- b P 2 i ) _ ##EQU00008## E = i ( a P 1 i - b P 2 i ) ( a P 1 i -
b P 2 i ) _ + .lamda. ( a _ a + b _ b - 1 ) ##EQU00008.2##
.differential. E .differential. a _ = i ( a P 1 i - b P 2 i ) P 1 i
+ .lamda. a ##EQU00008.3## .differential. E .differential. b _ = -
i ( a P 1 i - b P 2 i ) P 2 i _ + .lamda. b . ##EQU00008.4##
[0101] Solving these as before yields
S12+(S11-S22)tan(.theta.)-S21tan(.theta.).sup.2=0
[0102] where
Snm = i P n i P m i _ ##EQU00009## .theta. m = arctan ( S 11 - S 22
+ ( S 11 - S 22 ) 2 + 4 S 12 S 21 2 S 21 ) , ##EQU00009.2##
gives the minimum
.theta. p = arctan ( S 11 - S 22 - ( S 11 - S 22 ) 2 + 4 S 12 S 21
2 S 21 ) , ##EQU00010##
gives the maximum
[0103] The method extends similarly to integrals, and to more than
two inputs.
[0104] For example, the error function and the sums may be replaced
with integrals;
E = .intg. a P 1 ( r _ ) - b P 2 ( r _ ) 2 A + .lamda. ( a _ a + b
_ b - 1 ) ##EQU00011## Snm = .intg. Pn ( r _ ) Pm ( r _ ) _ A
##EQU00011.2##
[0105] Application 2: Dual Region Haptics
[0106] It is possible to simultaneously specify a minimal response
at an elected response and a non-zero response at another elected
position. This might be very useful in dual region systems.
[0107] "Strong" Solution.
[0108] We have two inputs (for example), to produce one nodal point
and haptic feedback at another point. Define transfer functions
Pi_j from input i to output j.
[0109] Simultaneously solve aP1.sub.--1+bP2.sub.--1=0 and
aP2.sub.--1+bP2.sub.--2=g.
( P 1 _ 1 P 2 _ 1 P 1 _ 2 P 2 _ 2 ) ( a b ) = ( 0 g ) , ( a b ) = (
P 1 _ 1 P 2 _ 1 P 1 _ 2 P 2 _ 2 ) - 1 ( 0 g ) ##EQU00012## a = - P
2 _ 1 P 1 _ 1 P 2 _ 2 - P 1 _ 2 P 2 _ 1 g , b = P 1 _ 1 P 1 _ 1 P 2
_ 2 - P 1 _ 2 P 2 _ 1 g ##EQU00012.2##
[0110] Provided the denominator is never zero, this pair of
transfer functions will produce a nodal response at point 1, and a
complex transfer function exactly equal to g at point 2.
[0111] "Weak" Solution
[0112] Simultaneously solve |aP1.sub.--1+bP2.sub.--1|.sup.2=0 and
|aP2.sub.--1+bP2.sub.--2|.sup.2=|g|.sup.2.
[0113] Use the variational methods discussed below to solve the
first minimisation for a and b, and the normalise the result to
satisfy the second equation.
a = r cos ( .theta. ) , b = - r sin ( .theta. ) , tan ( .theta. ) =
- P1_ 1 P1_ 2 ##EQU00013## r 2 ( cos ( .theta. ) P 2 _ 1 - sin (
.theta. ) P2_ 2 ) 2 = g 2 , hence r . ##EQU00013.2##
[0114] Provided the denominator is never zero, this pair of
transfer functions will produce a nodal response at point 1, and a
power transfer function equal to |g|.sup.2 at point 2. The
resulting output at point 2 will not necessary have the same phase
response as g, so the coercion is not as strong.
[0115] There are other extensions to the methods described above
that are particularly relevant when considering more than two input
channels. These extensions are general, and would equally well
apply to the two-channel case. Additionally, by using eigenvalue
analysis as a tool, we get the "best" solution when no exact
solution is available.
[0116] Relationship Between the Variational Method and the
Eigenvalue Problem.
[0117] When minimising an energy function of the form E, below, we
arrive at a set of simultaneous equations;
E = n a n P n 2 , .differential. E .differential. a n _ = P n _ n a
n P n = 0 , for all n ##EQU00014##
[0118] where P.sub.i are the inputs to the system and a.sub.i the
constants applied to these inputs, i.e. a and b in the previous two
channel system.
[0119] We may write this system of equations in matrix form,
thus
Mv=0, where M.sub.i,j= P.sub.iP.sub.j, and where v.sub.i=a.sub.i
(1)
[0120] Note that M is conjugate symmetric, i.e. M.sub.i,j= M
.sub.i,j
[0121] We wish to find a non-trivial solution; that is a solution
other than the trivial v=0, which although mathematically valid, is
not of much use.
[0122] As any linear scaling of v is also a solution to the
equation, the a.sub.i are not uniquely defined. We need an
additional equation to constrain the scaling. Another way of
viewing things is to say that for an exact solution, the number of
input variables must be greater than the number of measurement
points. Either way, there is one more equation than free variables,
so the determinant of M will be zero.
[0123] Consider the matrix eigenvalue problem, where we wish to
find a non-trivial solution to the equation
Mv-.lamda.v=0, where .lamda. is an eigenvalue, and the associated v
is the eigenvector. (2)
[0124] As M is conjugate symmetric, all the eigenvalues will be
real and non-negative. If .lamda.=0 is a solution to the eigenvalue
problem, it should be clear that we have our original equation. So
v is the eigenvector for .lamda.=0.
[0125] What is particularly powerful about this method, is that
even when there is no solution to (1), the solution to (2) with the
smallest value of .lamda. is the closest approximate answer.
[0126] For example, using the problem posed above:
( P 1 _ P 1 - P 1 _ P 2 - P 2 _ P 1 P 2 _ P 2 ) ( a b ) - .lamda. (
a b ) = 0 , ##EQU00015##
has a solution .lamda.=0, b/a=P1/P2.
[0127] The other eigenvalue corresponds to the maximum;
.lamda.=|P1|.sup.2+|P2|.sup.2, b/a=- P2/P1
[0128] When using an eigenvalue solver to find the values of
a.sub.i, the scaling used is essentially arbitrary. It is normal
practice to normalise the eigenvector, and doing so will set the
amplitudes;
i a i 2 = 1 ##EQU00016##
[0129] For example,
a = P 2 P 1 2 + P 2 2 , b = P 1 P 1 2 + P 2 2 ##EQU00017##
[0130] The reference phase, however, is still arbitrary--if v is a
normalised solution to the eigen-problem, then so is
ve.sup.i.theta.. What constitutes the "best" value for .theta., and
how to find it is the subject of a later section.
[0131] The value of the eigenvalue .lamda. is just the energy
associated with that choice of eigenvector. The proof follows;
E = n a n P n 2 = n a n P n m a m _ P m _ = m a m _ ( n P m _ P n a
n ) = m a m _ ( n M mn a n ) ##EQU00018##
[0132] From our eigenvalue equation and normalisation of the
eigenvector, we can continue by stating
E = m a m _ ( n M mn a n ) = m a m _ ( .lamda. a m ) = .lamda. m a
m _ a m = .lamda. ##EQU00019##
[0133] Solving the Eigenvalue Problem
[0134] In principle, a system of order n has n eigenvalues, which
are found by solving an nth order polynomial equation. However, we
don't need all the eigenvalues--only the smallest.
[0135] Mv-.lamda.v=0, leads to |M-.lamda.I|=0, leads to
i = 1 n ( .lamda. - .lamda. i ) = 0 ##EQU00020##
[0136] If there is an exact solution to the problem, the
determinant will have .lamda. as a factor. For example,
( a b b _ c ) - .lamda. ( 1 0 0 1 ) = ( a - .lamda. b b _ c -
.lamda. ) = ( a - .lamda. ) ( c - .lamda. ) - b 2 = 0 ##EQU00021##
a c - b 2 - ( a + c ) .lamda. + .lamda. 2 = 0 ##EQU00021.2##
[0137] If ac-|b|.sup.2=0, then there is an exact solution.
[0138] As the number of equations is greater than the number of
unknowns, there are more than one possible sets of solutions to v,
but they are all equivalent;
( a - .lamda. ) v 0 + b v 1 = 0 , v 1 v 0 = .lamda. - a b
##EQU00022## b _ v 0 + ( c - .lamda. ) v 1 = 0 , v 1 v 0 = b _
.lamda. - c ##EQU00022.2##
[0139] For example
a=2, b=1+1j, c=3; 6-2-5.lamda.+.lamda..sup.2=0; .lamda.=1, 4
(.lamda.-2)/(1+1j)=(-1+1j)/2 or 1-1j
(1-1j)/(.lamda.-3)=(-1+1j)/2 or 1-1j
[0140] So the best solution to the pair of equations is given by
v1/v0=(-1+1j)/2
[0141] Choosing the "Best" Scaling for the Solution
[0142] Mathematically speaking, any solution to the problem is as
good as any other. However we are trying to solve an engineering
problem. Both the matrix, M, and its eigenvectors, v, are functions
of frequency. We wish to use the components of v as transfer
functions, so having sudden changes of sign or phase is not
preferred.
M(.omega.)v(.omega.)=0
[0143] For the two-variable problem, we used the substitution
a=cos(.theta.) and b=sin(.theta.), and the solved for tan(.theta.).
This method seems to produce values of a and b with low excess
phase. However, using this method quickly becomes unwieldy, as the
equations get more and more complicated to form, never mind solve.
For example, for 3 variables we have 2 angles and can use the
spherical polar mapping to give a=cos(.theta.)cos(.phi.),
b=cos(.theta.)sin(.phi.), c=sin(.theta.).
[0144] Instead, let us use the variational method to determine the
"best" value for .theta.. We will define best to mean having the
smallest total imaginary component.
[0145] Now, let v'=ve.sup.i.theta., let v=vr+jvi, and define our
error energy as
SSE = i Im ( v i ' ) 2 = i Im ( ( vr j + j vi i ) ( cos ( .theta. )
+ j sin ( .theta. ) ) ) 2 = i ( vi i cos ( .theta. ) + vr i sin (
.theta. ) ) 2 ##EQU00023##
[0146] Let
rr=Re(v)Re(v)=.SIGMA.vr.sub.i.sup.2,
ii=Im(v)Im(v)=.SIGMA.vi.sub.i.sup.2,
ri=Re(v)Im(v)=.SIGMA.vr.sub.ivi.sub.i
Then
SSE=cos(.theta.).sup.2ii+2cos(.theta.)sin(.theta.)ri+sin(.theta.).sup.2r-
r
[0147] (For .theta.=0, SSE=ii, which is our initial cost. We want
to reduce this, if possible).
[0148] Now differentiate with respect to .theta. to give our
equation
2(cos(.theta.).sup.2-sin(.theta.).sup.2)ri+2cos(.theta.)sin(.theta.)(rr--
ii)=0
[0149] Dividing through by 2cos(.theta.).sup.2, we get the
following quadratic in tan(.theta.);
ri+tan(.theta.)(rr-ii)-tan(.theta.).sup.2ri=0
[0150] Of the two solutions, the one that gives the minimum of SSE
is
tan ( .theta. ) = rr - ii - ( rr - ii ) 2 + 4 ri 2 2 ri
##EQU00024##
[0151] If ri=0, then we have two special cases; [0152] If ri=0 and
rr>=ii, then .theta.=0. [0153] If ri=0 and rr<ii, then
.theta.=.pi./2.
[0154] The final step in choosing the best value for v is to make
sure that the real part of the first component is positive (any
component could be used for this purpose), i.e.
[0155] Step 1. v'=ve.sup.i.theta.
[0156] Step 2 if v'.sub.0<0, v'=-v'
EXAMPLE
[0157] v = ( 0.908 - 0.419 j 0.770 - 0.638 j 0.9999 - 0.01 j 0.343
- 0.939 j ) , ##EQU00025##
[0158] rr=2.534, ii=1.466, ri=-1.204; solving gives
.theta.=0.577
v ' = ( 0.990 - 0.143 j 0.993 - 0.115 j 0.844 + 0.537 j 0.800 -
0.600 j ) ##EQU00026##
[0159] rr'=3.318, ii'=0.682, ri=0
[0160] Note that minimising ii simultaneously maximises rr and sets
ri to zero.
[0161] Comparison of Techniques--a Worked Example
[0162] Consider a two-input device with two outputs (i.e. the
device described above). There will be exact solutions for
minimising each output individually, but only an approximate
solution to simultaneous minimisation.
[0163] Output 1 transfer admittances: P1.sub.--1=0.472+0.00344j,
P2.sub.--1=0.479-0.129j
[0164] Output 2 transfer admittances: P1.sub.--2=-0.206-0.195j,
P2.sub.--2=0.262+0.000274j
[0165] Form two error contribution matrices
M 1 = ( 0.223 0.226 - 0.063 j 0.226 + 0.063 j 0.246 ) ;
##EQU00027##
|M1|=0, i.e. exact solution possible
M 2 = ( 0.080 - 0.054 + 0.050 j - 0.054 - 0.050 j 0.069 ) ;
##EQU00028##
|M2|=0, i.e. exact solution possible
M 1 + M 2 = ( 0.303 0.171 - 0.012 j 0.171 + 0.012 j 0.315 ) ;
##EQU00029##
|M1+M2|=0.066
[0166] We now use the "tan theta" method to solve the three
cases.
( a b ) 1. = ( 0.718 - 0.093 j - 0.682 - 0.098 j ) , ( a b ) 2 = (
0.623 - 0.270 j 0.692 + 0.244 j ) , ( a b ) 1 + 2 = ( 0.719 - 0.024
j - 0.694 - 0.025 j ) ##EQU00030##
[0167] Now for the eigenvector method. I have two eigenvector
solvers; one solves for all vectors simultaneously, and the other
solves for a specific eigenvalue. They give numerically different
answers when the vectors are complex (both answers are correct),
but after applying the "best" scaling algorithm, both solvers give
the same results as those above.
[0168] M1: eigenvalues, 0 and 0.469:
[0169] Eigenvector before scaling: (-0.698+0.195j, 0.689-0.0013j)
or (0.724, -0.664-0.184j)
[0170] Eigenvector after scaling: (0.718-0.093j, -0.682-0.098j)
[0171] M2: eigenvalues, 0 and 0.149:
[0172] Eigenvector before scaling: (-0.5+0.46j, 0.734-0.0030j) or
(0.498-0.462j, 0.724)
[0173] Eigenvector after scaling: (0.623-0.270j, 0.692+0.244j)
[0174] M1+M2: eigenvalues, 0.137 and 0.480:
[0175] Eigenvector before scaling: (-0.717+0.051j, 0.695-0.0007j)
or (0.719, -0.693-0.049j)
[0176] Eigenvector after scaling: (0.719-0.024j, -0.694-0.025j)
[0177] Adding a 3.sup.rd Input
[0178] Now consider the contributions from a third input
channel.
[0179] Output 1 transfer admittance: P3.sub.--1=-0.067-0.180j
[0180] Output 2 transfer admittance: P3.sub.--2=0.264+0.0014j
[0181] Add these contributions to the error matrices
M 1 = ( 0.223 0.226 - 0.063 j - 0.032 - 0.085 j 0.226 + 0.063 j
0.246 - 0.009 - 0.095 j - 0.032 + 0.085 j - 0.009 + 0.095 j 0.037 )
; ##EQU00031##
|M1|=0
[0182] M 2 = ( 0.080 - 0.054 + 0.050 j - 0.055 + 0.051 j - 0.054 -
0.050 j 0.069 0.069 - 0.0004 j - 0.055 - 0.051 j 0.069 + 0.0004 j
0.070 ) ; ##EQU00032##
|M2|=0
[0183] M 1 + M 2 = ( 0.303 0.171 - 0.012 j - 0.087 - 0.034 j 0.171
+ 0.012 j 0.315 0.061 - 0.095 j - 0.087 + 0.034 j 0.061 + 0.095 j
0.107 ) ; ##EQU00033## |M1+M2|=0
[0184] Now there is an exact solution to the joint problem, and
M1+M2 has a zero eigenvalue.
[0185] (Note that M1 and M2 individually have two zero eigenvalues
each--in other words they have a degenerate eigenvalue. There are
two completely orthogonal solutions to the problem, and any linear
sum of these two solutions is also a solution).
[0186] M1+M2: eigenvalues are 0, 0.218 and 0.506:
[0187] Eigenvector after scaling: (0.434-0.011j, -0.418+0.199j,
0.764+0.115j)
[0188] As illustrated above, for two inputs, the "tan theta" method
is quicker and simpler to implement, however for three or four
inputs the "scaled eigenvector" method is easier. Both methods
produce the same result. For an exact solution, the number of input
variables must be greater than the number of measurement points. By
using eigenvalue analysis as a tool for the general problem, we get
the "best" solution when no exact solution is available.
[0189] For the general `m` input, `n` output minimisation problem
there are two principle variations on an algorithm to find the best
m inputs. These may be referred to as the parallel "all at once"
method and the serial "one at a time" method. In general, these may
be combined at will. If m>n, then all routes end up with the
same, exact answer (within rounding errors). If m<=n, then there
are only approximate answers, and the route taken will affect the
final outcome. The serial method is useful if m<=n, and some of
the n outputs are more important than others. The important outputs
are solved exactly, and those remaining get a best fit
solution.
[0190] The Parallel, "All at Once" Algorithm
[0191] FIG. 10a is a block diagram of a parallel solver. One error
matrix is formed, and the eigenvector corresponding to the lowest
eigenvalue is chosen. If m>n, then the eigenvalue will be zero,
and the result exact.
[0192] The Recursive or Sequential, "One at a Time" Algorithm
[0193] FIG. 10b is a block diagram of a recursive solver. An error
matrix for the most important output is formed, and the
eigenvectors corresponding to the (m-1) lowest eigenvalues are
formed. These are used as new input vectors, and the process is
repeated. The process ends with a 2.times.2 eigenvalue solution.
Backtracking then reassembles the solution to the original
problem.
[0194] As with all recursive algorithms, this process could be
turned into an iterative (or sequential) process. For the first m-2
cycles, all the outputs have exact solutions. For the remaining
cycle, the best linear combination of these solutions is found to
minimise the remaining errors.
Example 1
m=3, n=2
[0195] Output 1 transfer admittances: P1.sub.--1=0.472+0.00344j
[0196] Output 2 transfer admittances: P1.sub.--2=-0.206-0.195j
[0197] Output 1 transfer admittances: P2.sub.--1=0.479-0.129j
[0198] Output 2 transfer admittances:
P2.sub.--2=0.262+0.000274j
[0199] Output 1 transfer admittance: P3.sub.--1=-0.067-0.180j
[0200] Output 2 transfer admittance: P3.sub.--2=0.264+0.0014j
[0201] All at Once
M 1 + M 2 = ( 0.303 0.171 - 0.012 j - 0.087 - 0.034 j 0.171 + 0.012
j 0.315 0.061 - 0.095 j - 0.087 + 0.034 j 0.061 + 0.095 j 0.107 ) ;
##EQU00034## |M1+M2|=0
[0202] M1+M2: eigenvalues are 0, 0.218 and 0.506:
[0203] Eigenvector after scaling: (0.434-0.011j, -0.418+0.199j,
0.764+0.115j)
[0204] One at a Time
[0205] Solve output 1, and then output 2. As 3>2 we should get
the same answer.
M 1 = ( 0.223 0.226 - 0.063 j - 0.032 - 0.085 j 0.226 + 0.063 j
0.246 - 0.009 - 0.095 j - 0.032 + 0.085 j - 0.009 + 0.095 j 0.037 )
; ##EQU00035##
|M1|=0
[0206] M1: eigenvalues are 0, 0 and 0.506:
[0207] Eigenvector V1: (0.748, -0.596-0.165j, 0.085-0.224j)
[0208] Eigenvector V2: (-0.062+0.026j, 0.096+0.350j, 0.929)
[0209] New problem; select a and b such that aV1+bV2 minimises
output 2.
[0210] New transfer admittances are; [0211] pv1=(P1.sub.--2
P2.sub.--2 P3.sub.--2).V1=-0.287-0.250j [0212] pv2=(P1.sub.--2
P2.sub.--2 P3.sub.--2).V1=0.287+0.100j
[0213] We now repeat the process using these two transfer
admittances as the outputs.
[0214] New error matrix is
M 1 = ( 0.145 - 0.107 + 0.043 j - 0.107 - 0.043 j 0.093 ) ;
##EQU00036##
|M1'|=0, i.e. exact solution possible
[0215] M1' eigenvalues, 0 and 0.237
[0216] Eigenvector after scaling: (0.608-0.145j, 0.772+0.114j)
[0217] Now combine V1 and V2 to get the inputs
[0218] (0.608-0.145j) V1+(0.772+0.114) V2=(0.404-0.095j,
-0.352+0.268j, 0.737-0.042j)
[0219] Normalise and scale the result: (0.434-0.011j,
-0.418+0.199j, 0.764+0.115j)
[0220] Notice that this is the same as before, just as it should
be.
Example 2
m=3, n>=3
[0221] Here we have 1 acoustic pressure output and a number of
velocity outputs.
[0222] Acoustic scaled error matrix is M1, summed velocity scaled
error matrix is M2.
M 1 = ( 3.928 - 2.667 + 2.473 j - 2.674 + 2.506 j - 2.667 - 2.473 j
3.367 3.393 - 0.018 j - 2.674 - 2.506 j 3.393 + 0.018 j 3.418 ) ;
##EQU00037##
|M1|=0
[0223] M 2 = ( 1.023 0.602 + 0.112 j - 0.528 + 0.409 j 0.602 +
0.112 j 0.977 - 1.144 + 0.205 j - 0.528 - 0.409 j - 1.144 - 0.205 j
5.473 ) ; ##EQU00038##
|M2|=2.510
[0224] All at Once
[0225] All n output error matrices are summed and the eigenvector
corresponding to the lowest eigenvalue is found.
[0226] Eigenvalues (M1+M2)=1.146, 3.869, 13.173
[0227] Solution=(0.739-0.235j, 0.483+0.306j, 0.246+0.104j)
[0228] One at a Time
[0229] Actually, we solve just the acoustics problem, then do the
rest all at once. That way, the acoustics problem is solved
exactly.
[0230] Eigenvalues (M1)=0, 0, 10.714
[0231] V1=(0.770-0.199j, 0.376+0.202j, 0.377+0.206j)
[0232] V2=(0.097-0.071j, 0.765+0.010j, -0.632+0.0016j)
[0233] As V1 and V2 both correspond to a zero eigenvalue, aV1+bV2
is also an eigenvector corresponding to a zero eigenvalue--i.e. it
is an exact solution to the acoustics problem.
[0234] Form the "all at once" minimisation for the structural
problem using a and b.
M 2 ' = ( 1.314 - 0.381 + 0.341 j - 0.381 - 0.341 j 0.093 ) ;
##EQU00039##
|M2'|=5.098
[0235] M1' eigenvalues, 1.222 and 4.172
[0236] Eigenvector after scaling: (0.984-0.016j, 0.113+0.115j)
[0237] Now combine V1 and V2 to get the inputs
[0238] (0.984-0.016j) V1+(0.113+0.115j) V2=(0.776-0.207j,
0.473+0.283j, 0.290-0.124j)
[0239] Normalise and scale the result: (0.755-0.211j,
-0.466+0.270j, 0.246+0.104j)
[0240] Notice that this is similar, but not identical to the "all
at once" solution. When extended to cover a range of frequencies,
it gives a precise result to the acoustics problem, where numerical
rounding causes the very slight non-zero pressure in the sequential
case). However, as shown in FIG. 10c, the sequential solution is a
slightly worse solution to the structural problem compared to the
parallel solution.
[0241] As set out above, the two methods are not mutually
exclusive, and the parallel method may be adopted at any point in
the sequential process, particularly to finish the process. The
sequential method is useful where the number of inputs does not
exceed the number of outputs, particularly when some of the outputs
are more important than others. The important outputs are solved
exactly, and those remaining get a best fit solution.
* * * * *