Ultraleap Patent | Features of airborne ultrasonic fields
Patent: Features of airborne ultrasonic fields
Drawings: Click to check drawins
Publication Number: 20210397261
Publication Date: 20211223
Applicants: Ultraleap
Abstract
A method for specifying desired quantities of the energy flux of the combined waves of acoustic radiation pressure to apply producing a mid-air haptic pushing force, which has the effect of simultaneously reducing the harmonic distortion present is described. Further, a method for communicating only the summaries of acoustic field contributions at the required locations in the form of summed portions of the relatively small matrix whose row and column count depend only on the control point count is described. Further, phased arrays of ultrasonic speakers can produce a relatively large amount of acoustic energy which is usually directed in a specific direction or focused to a particular point depending on the application of the array. Further, to allow the system to be driven more strongly than usual, the complex-valued linear system that governs the drive signal to each control point is solved twice. Further, to achieve mid-air haptics with high precision the radiation pressure generated must be modelled accurately.
Claims
1. A mid-air haptic device comprising: (.alpha.) a set of transducers with known relative locations; (b) a plurality of ultrasonic waves generated from the set of transducers having at least one common focal point; (c) a preset function of desired haptic force versus time; (d) wherein modulating the generation of ultrasonic waves so that a nonlinear acoustic force generated at the at least one common focal point is the preset function of desired haptic force versus time.
2. A method as in claim 1, wherein the preset function of desired haptic force versus time includes a desired direction of desired force.
3. A method as in claim 2, wherein modulating the generation of ultrasonic waves substantially generates the nonlinear acoustic force in the desired direction.
4. A method as in claim 1, wherein modulating the generation of ultrasonic waves is determined by estimating the nonlinear acoustic force as a square of acoustic pressure.
5. A method of producing an acoustic field, comprising: implementing a control point set comprising a plurality of control points, each of which has a control point amplitude and a known relative positions and orientations from a transducer array, and each of which comprises: (.alpha.) at least one transducer array tile, each comprising: (i) a local computation unit; and (ii) a set of locally addressable transducers; and (b) at least one global computation unit; each local computation unit computing a wave field sample matrix comprising a summed effect that each control point has on the other control points in the control point set when generated from the set of locally addressable transducers; the set of local computation units combining the wave field sample matrices through a sum-reduction operation over the set of wave field sample matrices and communicating the resulting total wave field sample matrix to the at least one global computation unit; wherein each global computation unit uses the control point set and the total wave field sample matrix to compute and broadcast the set of control point coefficients; wherein each local computation unit computes transducer activation coefficients for the locally attached transducers using a set of control point coefficients; and actuating the locally attached transducers using the transducer activation coefficients computed.
6. The method of claim 5, wherein the global computation unit uses a power iteration of a modified total wave field sample matrix to find a dominant eigenvector, wherein the dominant eigenvector informs phases of the control point set.
7. The method of claim 2, wherein the global computation unit uses a linear system of equations to determine the set of control point coefficients.
8. The method of claim 7, wherein the global computation unit is a virtual device hosted in the cloud.
9. An ultrasonic phased array comprising: a set of transducers with known relative locations; at least one high-pressure point-of-interest relative to the transducer array; at least one low-pressure point-of-interest relative to the transducer array; a desired pressure at the least one high-pressure point-of-interest; a set of phase and amplitude driving conditions that generates the desired pressure at the at least one high-pressure point-of-interest and/or the at least one low-pressure point-of-interest; driving conditions such that ultrasonic acoustic pressure is reduced at the least one low-pressure point-of-interest while leaving the ultrasonic acoustic pressure substantially unchanged at the at the least one high-pressure point of interest.
10. A method as in claim 9, wherein modification of the driving conditions occurs by considering zero-pressure points in a field.
11. A method as in claim 9, wherein modification of driving conditions is calculated by adding helicity
12. A method as in claim 9, wherein modification of driving conditions is calculated by treating the transducer array as multiple sub-arrays.
13. A method of producing an acoustic field from a transducer array having known relative positions and orientations comprising: defining at least one control point wherein each control point: (.alpha.) has a known spatial relationship relative to the transducer array which is used to define a corresponding focal point basis function belonging to a first set of focal point basis functions; and (b) has a control point amplitude; computing potentially estimated transducer activations required to produce an acoustic field corresponding to a control point set with the first set of focal point basis functions comprised of transducer coefficients to produce a first set of potentially estimated transducer activation amplitudes; adjusting each transducer coefficient of the first set of focal point basis functions using the potentially estimated transducer activation amplitude for the transducer in combination with statistical properties of the potentially estimated transducer activation amplitudes to produce a second set of focal point basis functions; computing transducer activations required to produce the acoustic field with the second set of focal point basis functions; using the second set of transducer activations to drive the transducer array.
14. A method as in claim 13, wherein the adjustment applied to each transducer coefficient is a scaling in a form of a per-transducer gain.
15. A method as in claim 13, wherein the mean value is within statistical properties of the first set of potentially estimated transducer activation amplitudes.
16. A method as in claim 13, wherein statistical properties of the first set of potentially estimated transducer activation amplitudes are obtained by estimated evaluation of quantile function for percentiles of a distribution.
17. A method producing an acoustic field from a transducer array having known relative positions and orientations, comprising: producing the acoustic field from a transducer array having known relative positions and orientations; defining at least one control point wherein each control point: (.alpha.) has a known spatial relationship relative to the transducer array; and (b) has a control point activation coefficient; wherein at least one control point is indicated as a haptic pressure along a corresponding direction vector of action substantially parallel to a surface normal vector originating at the control point location; wherein, for each control point indicated as a haptic pressure, a conversion is applied from a difference of momentum fluxes into a scalar linear acoustic quantity.
18. The method as in claim 17, where the scalar linear acoustic quantity is an acoustic pressure.
19. The method as in claim 17, where the scalar linear acoustic quantity is a particle velocity of an acoustic medium along a direction vector of action.
20. The method as in claim 17, wherein the acoustic field is produced by a mid-air haptic feedback system.
Description
PRIOR APPLICATIONS
[0001] This application claims the benefit of the following five applications, all of which are incorporated by references in their entirety
(1) U.S. Provisional Patent Application No. 63/043,093 filed on Jun. 23, 2020; (2) U.S. Provisional Patent Application No. 63/065,997, filed on Aug. 14, 2020; (3) U.S. Provisional Patent Application No. 63/067,314, filed on Aug. 18, 2020; (4) U.S. Provisional Patent Application No. 63/210,486, filed on Jun. 14, 2021; and (5) U.S. Provisional Patent Application No. 63/210,619, filed on Jun. 15, 2021.
FIELD OF THE DISCLOSURE
[0002] The present disclosure relates generally to improved techniques in establishing useful and unique features in ultrasonic fields.
BACKGROUND
[0003] Phased arrays including ultrasonic phased array systems function on the principle of superposition. Superpositions occur when linear quantities that describe waves add together to create areas of constructive and destructive interference. State-of-the-art ultrasonic systems use these quantities directly for control over the linear function values of points in the acoustic field. The resulting samples can be used in a linear system of complex-valued equations to solve for the actuations of transducer that then generate the desired linear field values at the desired points (known as control points).
[0004] By solving many times in rapid succession and generating and supplying the drive signal that corresponds to the solution values to the transducers, waveforms may be modulated onto the ultrasonic carrier generated by the transducer elements in the phased array. This is because as the solved for value changes, the amount of acoustic pressure of the carrier also changes.
[0005] This modulation has two key non-linear effects that are exploitable by commercial devices. The first, known as acoustic radiation force, is proportional to the energy in the wave and refers to the force generated when the wave is impeded. This force is at a maximum when a sharp change in acoustic impedance is present, such as the surface of a hand when the ultrasonic waves are travelling through the air. The force generated may be used for haptic feedback in mid-air. The second, known as `sound from ultrasound` is the primary operating mechanism for parametric speaker arrays which also has an effect proportional to the energy in the wave. This effect is responsible for causing audible sound to be seemingly emitted by an ultrasonic array when no audible sound was present as the source of the ultrasonic wave.
[0006] High precision control of both of these effects are necessary to create reproducible mid-air haptics with controlled, little or no audible noise produced as a side-effect. However, the momentum and energy of the device cannot be controlled directly as it is a non-linear quantity, as well as being dependent on a number of geometric parameters. It is therefore commercially relevant to develop a method of taking from the `user` of the system a desired level of wave energy, converting to the equivalent level of a linear acoustic quantity and then solving for this linear level using linear methods given that it has already been established that this is equivalent to an amount of wave energy that cannot be sought directly.
[0007] Further, when considering the solution to the problem of an ultrasonic field which has been discretized into a number of discrete points, the recreation of such a field via a phased transducer array technology may be achieved by solving for the output field required of each transducer. This solution can be described as, given a reference frequency, a series of complex numbers which can be interpreted as the phase and amplitude required of each transducer. From this data an input signal to the transducer may be inferred as a signal wherein a substantial proportion has the properties of a sinusoidal signal with the given amplitude and phase at the transducer. Given a method to compute these complex-valued coefficients, it is reasonable to assume that these must be transferred to the device in order to activate it and the information on the transducer locations and directions must be transferred to the compute location in order to do work on it. This makes the compute required at the transducer very small, as it only has to import complex coefficients and export sufficient data to describe its produced field. However, the communication with these devices will scale with the number of transducers, which if relatively large will prove too much. On top of this, the synthesis of the field produced by each transducer must be achieved in some centralized location, which is again undesirable.
[0008] By determining the samples of the field produced by each transducer locally and using these as a common definition of a basis function each of which is made up of output from all transducing elements, communicating only a complex-valued coefficient per basis function may be achieved. This is because both the compute close to the transducer in the hardware and the software residing in the user interface portion understand the definition of the basis function. These need only communicate enough information to define the individual basis functions and their complex-valued linear superposition, which in turn defines the complex-valued linear superposition of basis-function-defined complex-valued coefficients that drive each transducing element. However, in order for this system to function, both the hardware system close to the transducer and the software residing in the user interface portion of the system must understand how to expand the basis functions out into individual transducer information. This leads to computation that is duplicated in both hardware close to the transducers and the software portion in order to make savings on communication bandwidth. This uses extra compute power and resources to achieve low-bandwidth, but is clearly not yet optimal, as reducing system cost must necessarily involve reducing both communication and computation to a minimum.
[0009] While a method that eliminates the dependency of bandwidth requirements on the transducer count of the system is needed, duplicating functionality is clearly undesirable. Overcoming this limitation to enable distributed simulation of the acoustic field, while only requiring summaries of acoustic field contributions that do not depend on the transducer element count to be communicated to solve for the output field, is commercially valuable.
[0010] Further, airborne ultrasonic phased arrays can be used to create arbitrary acoustic fields. These can be used for haptic feedback, parametric audio, acoustic levitation, etc. To achieve compelling effects, it is often the case that relatively high levels of ultrasound energy are needed. Objects, microphones, animals, and/or people in the area of the ultrasound field could be sensitive to these levels. In many cases, even if the ultrasound is directed elsewhere, fringing (unintentional) fields can still cause problems. Presented below are several methods/strategies to create points or regions in the field specifically lacking ultrasound, or `nulls` without substantially altering the effect generated by the rest of the field. If the location of the sensitive object is known to some degree, it is possible to direct a null point or region towards it in order to protect it from the ultrasound.
[0011] A particularly attractive application of this method is to parametric audio. This is the demodulation of ultrasound into audible sound through the nonlinear properties of the air. This creates a beam-like projection of audio. The audible sound created is directed along the same direction as the ultrasound. High levels of ultrasound can interact negatively with microphones and can even be perceived by the mammalian ear through a nonlinearity at the tympanic membrane. This can mask or distort the parametric audio and lower the quality of the experience.
[0012] All sound waves are subject to diffraction. This is an effect whereby waves spread out on a length scale related to their wavelength. Short-wavelength sound such as ultrasound at about 40 "kHz" is able to propagate and maintain features approximately equal to its wavelength, 8.6 "mm". Regular sound, on the other hand, consists of waves with a much longer wavelength (middle c, 261 "Hz", has a wavelength, .lamda., of 1.3 "m"), which spread out readily. Parametric audio forms a beam of sound by exploiting the short-wavelength of ultrasound to create tightly contained regions of sound emission. The sound, once created, spreads out as usual. This opens up the possibility of delivering parametric audio without delivering the associated ultrasound. By creating relatively small regions devoid of ultrasound with nearby high levels of ultrasound, we can create a situation where the parametric audio fills in the `gaps` while the ultrasound does not.
[0013] Further, a continuous distribution of sound energy, which will refer to as an "acoustic field", can be used for a range of applications including haptic feedback in mid-air, sound-from-ultrasound systems and producing encoded waves for tracking systems.
[0014] By defining one of more control points in space, the acoustic field can be controlled. Each point can be assigned a value equating to a desired amplitude at the control point. A physical set of transducers can then be controlled to create an acoustic field exhibiting the desired amplitude at the control points.
[0015] The transducer elements, being physical devices, have physical limitations. In the case of producing an acoustic field there is a maximum output for each element that cannot be exceeded. The mathematical structure of the system makes it cumbersome to force solutions to respect the power limitations of the physical device, where clean solution methods often produce unphysical drive conditions.
[0016] If the transducers are arranged such that grating lobes are a problem, then it is possible to reduce the impact of the grating lobes on the control points by apodizing the transducer amplitudes (creating a tapered set of amplitudes towards the edge of the array). This necessarily reduces the efficiency of the array, limiting the maximum output power available. For multiple points also, while producing the relative amplitudes is always possible when the number of transducer elements is greater than the number of control points, efficiency drops as the number of points increases, and the maximum power drops.
[0017] A method to arrest these drops in efficiency which would act to incrementally raise the output level when more output power is required of the device than can be supplied using existing methods would therefore be commercially valuable.
[0018] It is also possible to, in the case of a single point, drive all transducers at the same power and influence only their phase. Then the collective drive amplitude of the transducers may be modulated to generate a similar modulation on the signal at the control point. However, this solution does not help when the benefits of apodization and/or multiple points are required.
[0019] If higher efficiency or output power is desired then, either the solution is made less accurate by pushing the transducer drive to higher levels than is described by the solution or the benefits of apodization and/or multiple points cannot be used.
[0020] Further, phased arrays including ultrasonic phased array systems function on the principle of superposition. Superpositions occur when linear quantities that describe waves add together to create areas of constructive and destructive interference. State-of-the-art ultrasonic systems use these quantities directly for control over the linear function values of points in the acoustic field. The resulting samples can be used in a linear system of complex-valued equations to solve for the actuations of transducer that then generate the desired linear field values at the desired points (known as control points).
[0021] As tractable solutions for the linear values to control these points are only computable under the assumption of free-field conditions, these same conditions have in many cases erroneously been used as justification for the assumptions of a bulk acoustic medium. For mid-air haptics with ultrasonic phased arrays and other situations in which an ultrasonic phased array is used to apply a force to a boundary separating two materials with different acoustic properties (such as the boundary between air and a human body part), the boundary condition changes the scenario of the problem to the extent that solutions developed with the bulk scenario in mind will necessarily omit details critical to the accurate reproduction of acoustic force on the aforementioned boundary surface.
[0022] In this document, a system that generates reproductions of one or more force vectors on one or more high acoustic impedance boundaries is detailed.
SUMMARY
[0023] A method for specifying desired quantities of the energy flux of the combined waves of acoustic radiation pressure to apply producing a mid-air haptic pushing force, which has the effect of simultaneously reducing the harmonic distortion present is described.
[0024] Further, a method for communicating only the summaries of acoustic field contributions at the required locations in the form of summed portions of the relatively small matrix whose row and column count depend only on the control point count is described.
[0025] Further, phased arrays of ultrasonic speakers can produce a relatively large amount of acoustic energy which is usually directed in a specific direction or focused to a particular point depending on the application of the array. Certain objects (e.g. microphones) can become interfered with by the acoustic field which may reduce their function (see FIGS. 10A, 10B, and 10C). One method to reduce the effect of high intensity ultrasound is to create `quiet` areas where the intensity is significantly lower than the surrounding acoustic field. By creating a lower-pressure region around an object (e.g. a number of lower-pressure focal points, or a lower-pressure volume) the acoustic intensity experienced by the object can be significantly reduced. Our solution allows us to create these quiet areas without significantly affecting the performance of the array.
[0026] Further, to allow the system to be driven more strongly than usual, the complex-valued linear system that governs the drive signal to each control point is solved twice. Once to determine how much drive from each transducer might be necessary and a further time in which each transducer has been scaled back by the overshoot in drive that occurred during the first solution, resulting in a more even distribution of power across the transducers in the solution from the second solve.
[0027] The system scales back the coefficients used on the parts of the basis functions that are driven hardest. This is counterintuitive--reducing the effectiveness of high efficiency transducers, boosts general power output overall. This works because then the solution method, uses the now less effective parts less, so the output requirements are more evenly distributed.
[0028] Further, most solution methods are intended to generate a predefined nonlinear effect in a bulk medium. In some instances, such as generation of parametric audio, this is justifiable as this describes the body forces exerted through the acoustic medium for which using a free-field bulk medium is an acceptable modelling approach. However, if a body force model is being used to describe the interaction with a boundary, then it will not necessarily reflect reality.
[0029] To achieve mid-air haptics with high precision the radiation pressure generated must be modelled accurately. The modelling of radiation pressure in the academic literature is generally approached using one of the two following methodologies.
[0030] The first approach is by analogy to electromagnetic waves. In this case, radiation pressure is considered to be a force acting along the acoustic Poynting vector. As this is in terms of the acoustic Poynting vector then it is natural that the energy flux density and thus in acoustic terms the acoustic intensity I describes the magnitude of the force.
[0031] The second approach is taken by academic papers that write about acoustophoresis--levitating objects in the acoustic medium using standing waves or specially constructed interference patterns. In the field of acoustophoresis, radiation pressure is considered to be a scalar potential defined by the time averaged second-order pressure p.sub.2. Then as a scalar potential, the negative gradient of the potential field describes the direction and magnitude of the force vector.
[0032] Academic papers that describe radiation force using the first approach ignore the second as they assume far-field conditions where it can be shown that p.sub.2=0. Those that describe radiation force using the second approach ignore the first as the acoustic Poynting vector either cancels to zero in a standing wave, or generates few useful degrees of freedom that could aid optimization of an acoustophoretic interference pattern and so tends to be neglected.
[0033] Neither of these approaches sufficiently describe the phenomenon of radiation pressure for mid-air haptic systems, as both of the simplifying assumptions are false for using acoustic phased array hardware to generate apparent haptic forces on humans.
[0034] Assume that the Poynting vector can be directly converted into a linearly related force vector with the same direction. This may then be assumed (incorrectly) to be split into force components, so given an arbitrary unit vector direction {circumflex over (n)}, I{circumflex over (n)}.varies.F.sub.r{circumflex over (n)}, so in the bulk medium the radiation pressure in a given direction may be directly related to the energy flux density in that same direction {circumflex over (n)}. If this {circumflex over (n)} is given as the normal vector to a non-physical surface that cuts the energy flux vector (acoustic intensity) I, then F.sub.r{circumflex over (n)} being the force acting at a point across this non-physical surface is given as justification for this being the force generated on a physical surface at this same location. This is not the whole picture because as previous described, this is not a body force so does not act in bulk and this scenario assumes far field behavior--for a focusing mid-air haptic device (where the act of focusing implies near-field behavior) this is an approximation at best.
[0035] In this disclosure, determining the scalar linear acoustic quantity to solve for that best represents the apparent haptic pressure to be generated is described.
BRIEF DESCRIPTION OF THE DRAWINGS
[0036] The accompanying figures, where like reference numerals refer to identical or functionally similar elements throughout the separate views, together with the detailed description below, are incorporated in and form part of the specification, serve to further illustrate embodiments of concepts that include the claimed invention and explain various principles and advantages of those embodiments.
[0037] FIG. 1 shows plots of modulated parametric audio responses.
[0038] FIG. 2 shows plots of total harmonic distortion.
[0039] FIG. 3 shows a plot of total harmonic distortion and its harmonics.
[0040] FIG. 4 shows a plot of total harmonic distortion and its harmonics.
[0041] FIGS. 5A, 5B, and 5C show low-pressure area simulations in an acoustic field.
[0042] FIGS. 6A, 6B, and 6C show low-pressure area simulations in an acoustic field.
[0043] FIGS. 7A, 7B, 7C, and 7D show null point arrangements in space around an array of transducers.
[0044] FIGS. 8A and 8B show quiet zone efficiency for a 3D spacing arrangement.
[0045] FIG. 9 shows a plot of pressure of a single focal point.
[0046] FIGS. 10A, 10B, and 10C show spectrograms of recorded human speech.
[0047] FIGS. 11A, 11B, 11C, and 11D show low-pressure area simulations in an acoustic field.
[0048] FIGS. 12A and 12B show low-pressure area simulations in an acoustic field.
[0049] FIGS. 13A and 13B show low-pressure area simulations in an acoustic field.
[0050] FIGS. 14A and 14B show low-pressure area simulations in an acoustic field.
[0051] FIG. 15 shows low-pressure area simulations in an acoustic field.
[0052] FIG. 16 shows low-pressure area simulations in an acoustic field.
[0053] FIG. 17 shows stages of an algorithm manipulating focal point basis functions.
[0054] FIG. 18 shows the plotting of equiprobable transducer drive amplitudes.
[0055] FIGS. 19A, 19B, and 19C show the outputs of transformation matrices.
[0056] FIG. 20 shows a diagram of waves related to a surface radiation pressure for a far field wave.
[0057] FIG. 21 shows a diagram of waves related to a surface radiation pressure for a near field wave.
[0058] Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of embodiments of the present invention.
[0059] The apparatus and method components have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments of the present invention so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.
DETAILED DESCRIPTION
[0060] I. Energy-Proportional Interfaces for Describing Acoustic Force
[0061] Deflection of the skin and ultimately a feeling of touch from an ultrasonic mid-air haptic device is determined by nonlinear acoustic radiation force found at the interface between air and skin. For a plane wave incident on an infinite planar surface, this is given by (Fluid Mechanics 3.sup.rd edition, Landau and Lifshitz, pp. 255-256),
p=E.sub.1 sin .theta..sub.1 cos .theta..sub.1[(1+R)cot .theta..sub.1-(1-R)cot .theta..sub.2],
where .theta..sub.1 and .theta..sub.2 are the wave's angle of reflection and refraction, respectively, R is the reflection coefficient, and E.sub.1 is the time-averaged energy density in the incident acoustic wave. For normal incidence, the pressure reduces to,
p = 2 .times. E 1 _ .function. [ .rho. 1 2 .times. c 1 2 + .rho. 2 2 .times. c 2 2 - 2 .times. .rho. 1 .times. .rho. 2 .times. c 1 2 ( .rho. 1 .times. c 1 + .rho. 2 .times. c 2 ) 2 ] , ##EQU00001##
where .rho. and c refer to the density and speed of sound in each of fluid 1 and 2. While a human hand is certainly not an "infinite planar surface", it is much larger than ultrasonic wavelengths (the wavelength of 25 kHz ultrasound is .about.1.4 cm at normal temperature and pressure and decreases at increasing frequency). When a focused onto the palm, the region which is applying the nonlinear pressure is typically about 1 wavelength in diameter but can be as much as 3 wavelengths depending on the size of the array relative to the distance it is focusing. Therefore, the above approximation should be correct to first order in most mid-air haptic scenarios.
[0062] This illustrates that the acoustic force experienced by the skin to create a haptic effect is determined by the energy density within the sound wave and not the linear pressure.
[0063] Traditional ultrasonic mid-air haptic devices control linear sound pressure from a phased array of ultrasonic transducers to generate a haptic effect. While this is effective in creating a haptic effect, it does not reflect the basic physics occurring in the real system. Methods are presented herein to instead control the energy of the ultrasonic sound field in order to precisely control the physical force experienced by the user.
[0064] Energy density within an acoustic wave in a volume element involves both the particle velocity and pressure (Fundamentals of Acoustics 4.sup.th ed. Kinsler et al, eq (5.8.7)),
E .function. ( t ) = 1 2 .times. .rho. 0 .function. [ u .function. ( t ) 2 + ( p .function. ( t ) .rho. 0 .times. c ) 2 ] , ##EQU00002##
where .rho..sub.0 and c are the density and speed of sound of the fluid, u is the average particle velocity within the element, and p is the pressure. For a monochromatic plane wave, the time-averaged energy density can be reduced to,
E _ = P 2 2 .times. .times. .rho. 0 .times. c 2 , ( 1 ) ##EQU00003##
were in this case P represents the linear amplitude of the acoustic pressure wave. This quantity is also referred to as the acoustic intensity or I. This equation is valid if the radius of curvature of the acoustic wave is much larger than the wavelength. It is clear then if we wish to specify the acoustic radiation pressure in a mid-air haptic device, we should be solving for a field proportional to P.sup.2, not linear pressure.
[0065] Constructing the correct phase and amplitude for each transducer in an array (also called the activation coefficients) for a particular field solution can be done in many different ways. One such method is covered in Long et al. Rendering Volumetric Haptic Shapes in Mid-Air using Ultrasound. ACM Transactions on Graphics (Proceedings of SIGGRAPH Asia) Vol 33, Num 6, Art 181, 2014. Most involve first estimating the contribution of each transducer to a point or area of interest. The most common solutions for an ultrasonic phased array involve acoustic pressure due to the simplicity of both measurement on a real device with a pressure microphone and constructing a mathematical model to match that measurement. Using equation 1, a standard pressure model can be converted to acoustic intensity and utilize the same field solution techniques.
[0066] In addition to intensity, another quantity which is important in mid-air haptics is the direction of propagation of the energy. For an acoustic point source, this direction is directly away from the source. Real sources deviate from this in the near field (closer than a few wavelengths) and approach point-source behavior in the far field. Both cases can be covered by careful measurement and appropriate modelling.
[0067] To then solve for the nonlinear pressure in a specific direction, the contribution of each transducer is corrected by constructing the 3-dimensional vector dot product between the propagation direction and the desired direction of energy. This will appropriately adjust the contribution from transducers to reflect the amount on energy they can contribute in the desired direction. This allows, for instance, the ability to direct nonlinear acoustic pressure at the normal of a user's palm, thereby maximizing the perceived haptic.
[0068] Another nonlinear quantity which is proportional to P.sup.2 is parametric audio. This is the production of audible sound through nonlinear mixing of inaudible ultrasound in the air. Berktay (1974) derived the first-order contribution of two aligned plane waves to be (in the far field),
p = .omega. 2 .times. P 2 .times. .beta. .times. .times. S 4 .times. .times. .pi..rho. 0 .times. c 0 4 .times. R .times. exp .function. [ - ( .alpha. + jk ) .times. R ] .alpha. T + jk ( 1 - cos .function. ( .theta. ) , ##EQU00004##
where P is the input ultrasonic level of each plane wave (in this case equal, but could be separated), S is the cross-sectional area, R is the distance from the array, and .beta. is the nonlinearity coefficient. It can be shown that even for converging acoustic fields that there still exists a significant contributing term similar to the one above, and also proportional to P.sup.2.
[0069] To illustrate that the P.sup.2 solution has been correctly implemented, its effect in the resulting parametric audio can be measured. FIG. lError! Reference source not found. shows the measured audio output at 50 cm from a square, 256 element phased array projecting a focus point centered and directly normal to the array at 1.9 meters distance for a given modulation frequency. At this distance, the focus point does not have enough nonlinear pressure to create a mid-air haptic, but the nonlinear contribution to parametric audio builds constructively over distance and becomes easily measurable with an adequate microphone. By constructing a modulation envelope proportional to the intensity (and including only the contribution from each transducer in the normal direction) this scheme is able to inject more energy into the nonlinear term--in this case the parametric audio. This extra .about.3 dB in audio reflects a similar gain in nonlinear force when projecting a focus point onto a hand at shorter range. More haptic strength and the resulting headroom allows for more efficient use of transducers relative to the standard pressure solve. This can be utilized to create a wider variety of haptic effects or reduce the number of transducers (and therefore the cost) for a haptic generated by the traditional pressure solve.
[0070] Turning to FIG. 1, shown is a graph 100 entitled Modulated Parametric Audio Response. The x-axis 110 is frequency in hertz and the y-axis is sound pressure level in db. The dotted line 140 is a plot of pressure solve and the solid line 130 is the I dot n solve. FIG. 1 shows that measured SPL of baseband audio at 50 cm from an ultrasound phased array when modulated at that frequency. The array solution sets a focus at 1.9 m the direction normal to the array and centered in the perpendicular plane. The dashed curve 140 is modulated by a pure sine wave offset so that the amplitude of modulation remains positive. The solid curve 130 instead sets the intensity dotted with a vector normal to the array to the same offset modulated tone, per transducer. This results in higher output as the intensity in the normal direction is a better approximation of nonlinear contributions to the field and the resulting parametric audio.
[0071] Turning to FIG. 2, shown is a graph 200 entitled THD (total harmonic distortion). The x-axis 210 is frequency in hertz and the y-axis 220 is THD in percent. The dashed curve 240 shows the pressure solve and the solid curve 230 is the I dot n Solve. FIG. 2 shows that distortion percentage (measured input frequency magnitude divided by the sum of the first 10 harmonics) versus input frequency of the same setup as in FIG. 1. The pressure solve reveals higher distortion at lower frequencies which is inherent to that modulation technique. Solving for intensity dotted by a normal vector normal to the array represents a better approximation of the nonlinear contribution to the field. At higher frequencies, phase shifts inherent to the mechanical nature of the transducers begin to mitigate the benefit.
[0072] The P.sup.2 solution also has an effect on distortion products for any modulation frequency. The traditional linear pressure solving results in a modulation scheme which looks like,
P=[0.5+0.5 cos(.omega..sub.dt)]cos(w.sub.ct),
where .omega..sub.c is the ultrasonic carrier frequency and .omega..sub.d is the baseband modulation frequency. The estimated frequencies present in parametric audio production can be estimated by squaring the ultrasonic pressure and then omitting any term still ultrasonic. For the linear modulation case this is,
P.sup.2.varies.cos(.omega..sub.dt)+0.25 cos(2.omega..sub.dt).
[0073] The second term, double that of the input modulation frequency, is not present in the input signal and represents measurable distortion. Higher-order factors also exist in a real system but will be greatly diminished relative to this term. A measurement of this is given in FIG. 3Error! Reference source not found.
[0074] Turing to FIG. 3, shown is a graph 300 entitled Distortion Percentage Pressure Solve. The x-axis 310 is frequency in hertz. The y-axis 320 is in percent. The solid line 330 is THD, the sum of the first 10 harmonics. The other curves show the first 3 harmonics. The dashed line 340 is order 1, The dot-dashed line 350 is order 2. The dotted line 360 is order 3. As expected, the overall harmonic distortion is dominated by the first order.
[0075] A P.sup.2 modulation solution instead looks like (with slight variations per transducer if using only the contribution in the normal direction),
P = .5 + .5 .times. .times. cos .function. ( .omega. d .times. t ) .times. .times. cos .function. ( .omega. c .times. t ) , ##EQU00005##
and the resulting parametric audio is estimated by,
P 2 .varies. cos .function. ( .omega. d .times. t ) .times. .times. cos 2 .function. ( .omega. c .times. t ) .varies. cos .function. ( .omega. d .times. t ) + .times. , ##EQU00006##
where all the terms in the " . . . " are ultrasonic. The only term in the audible spectrum left is the input modulation. This is illustrated by the lack of first-order dominance in the distortion shown in FIG. 4Error! Reference source not found.
[0076] Turning to FIG. 4, shown is a graph 400 entitled Distortion Percentage I dot n Solve, or distortion percentage of intensity dotted with a normal vector normal to the array versus modulation frequency. The x-axis 410 is frequency in hertz. The y-axis 420 is percent. The solid line 430 is THD, the sum of the first 10 harmonics. The other curves show the first 3 harmonics. The dashed line 440 is order 1, The dot-dashed line 450 is order 2. The dotted line 460 is order 3. Compared to pressure solve, the distortion is reduced and is composed of many orders, not dominated by the first.
[0077] The benefit of lower distortion for mid-air haptics is twofold. First, producing a nonlinear force more representative of the input allows gives a haptic designer more control of the haptics. A given force versus time profile that has been proven in another system, say a real button or contact-based haptic actuator for instance, can be more faithfully applied and reproduced by a mid-air haptic device employing this invention. Second, an ultrasound-based mid-air haptic device will always make parametric audio, even when only haptics are desired, and by reducing distortion, the array is able to contain the modulated frequency spectrum to a much narrower range. As illustrated in FIG. 1, parametric audio conversion from ultrasound to sound is more efficient at higher frequencies, while mid-air haptics are effective at lower frequencies (typically less than 200 Hz). The more the nonlinear modulation terms can be kept low, the less parametric audio will be produced.
[0078] Additional disclosure includes:
[0079] 1. A mid-air haptic device consisting of:
A. A set of transducers with known relative locations. B. Generating a plurality of ultrasonic waves from the transducers having at least one common focal point. C. A desired haptic force versus time. D. Modulating the generation of the ultrasonic waves so that the nonlinear acoustic force generated at the common focal point is the desired haptic force versus time.
[0080] 2. A method as in paragraph 1 which includes a direction of the desired force.
[0081] 3. A method as in paragraph 2 where the modulation of the ultrasonic waves substantially generates the desired nonlinear acoustic force in the desired direction.
[0082] II. Matrix Summation for Mid-Air Haptics as a Service
[0083] While matrix summation for mid-air haptics requires more bandwidth to achieve, the scalability and re-configurability of such a system is highly desirable in many real-world commercial applications which makes this an important architectural step.
[0084] To achieve this, the basis function computation remains entirely on the hardware side and the information is obtained from the hardware devices and the computation completed in an abstract form. Due to the nature of the computation and the latencies required for the system to be acceptable in the field of mid-air haptics, it is expected that this system would be implemented using a high speed interconnect to begin with, but that next generation wireless systems may well provide sufficient bandwidth at low enough latencies to be able to achieve this with remote compute facilities.
[0085] For this to function, a low-latency query-response system must be created between a controller device and the individual hardware devices which may physically include transducing elements. This may be implemented over a general computer network. The high-bandwidth network systems required for the connectivity of these hardware devices may be described by, but not limited to embedded low-voltage differential signaling (LVDS) communication channels, high speed wired networking systems or next generation wireless networks.
[0086] The first query response required is the matrices which are the number of control points square for given queried acoustic properties. These properties will be one or more of: acoustic pressure, acoustic particle velocity of the medium (which would generate potentially separate matrices in x, y and z velocity directions) and particle velocity in a given direction vector. These matrices are complex-valued. Metadata may be included with the request to configure the transducer field evaluation to allow for both diverging and converging focused scenarios or Bessel beam generation for example.
[0087] These matrices, once received by the controller may summed to allow multiple hardware devices to be controlled at once, wherein the hardware devices that are to be used are present in the summation. At this point, either the controller may take the data describing the control point properties such as intended phase (if applicable), intended amplitude and waveform dynamic range and process it into a solution vector for the matrix. This may be achieved on the controller device, or it may be exported to another system for processing.
[0088] Once the solution vector has been obtained it can be pushed to each hardware device for creation via the hardware available. However, a second mode is also necessary that runs a second speculative solution vector and returns the power level required of the worst case transducer to drive the speculative solution vector. This may be used to inform a limiting system to ensure that waveforms are always smoothly reproduced on each device.
[0089] On each device the basis function definition may include, but is not limited to, position of control point in x, y and z, normal to the control point with x, y and z components (defining the Poynting vector direction necessary to know the action direction of the acoustic radiation force vector), a time windowing function, which may be defined by a center time and a time radius, a complex-valued apodization coefficient.
[0090] A simulation query may be posed to the device in the form of the quantification of the acoustic quantities of a point, one or more of: acoustic pressure, acoustic particle velocity of the medium (which would generate potentially separate values in x, y and z velocity directions) and particle velocity in a given direction vector. These quantities are complex-valued.
[0091] Other queries may be posed to the individual hardware system to gather data on local conditions, such as for example temperature, humidity and air pressure. This data may then be amalgamated by the controlling device before making decision on what frequencies, wavelengths and period to use (and which are expected at the location of each hardware, and making decisions on which hardware devices to use).
[0092] A. Mathematical Background to the Acoustic Phased Array Problem
[0093] Writing this in mathematics, .alpha..sub.q(.chi..sub.j) may be used to describe a complex-valued scalar linear acoustic quantity .alpha. measured at a position offset from the transducer element q by the translation vector .chi..sub.j, which may evaluate to be acoustic pressure or an acoustic particle velocity in a direction chosen for each j, the matrix A may be written:
A = [ .alpha. 1 .function. ( .chi. 1 ) .alpha. N .function. ( .chi. 1 ) .alpha. 1 .function. ( .chi. m ) .alpha. N .function. ( .chi. m ) ] , ##EQU00007##
[0094] As this is matrix A is not square, and the degrees of freedom number more than the constraints, this is termed a `minimum norm` system. It is `minimum norm` because as there are infinitely many solutions, the most expeditious solution is the one which achieve the correct answer using the least `amount` of x--the solution x with minimum norm. To achieve this, some linear algebra is used to create a square system from the minimum norm system Ax=b:
A H .times. Ax = A H .times. b , .times. ( A H .times. A ) - 1 .times. A H .times. Ax = x = ( A H .times. A ) - 1 .times. A H .times. b , ##EQU00008##
[0095] This A.sup.HA is now N columns by N rows and given that the number of transducer is often very large this is an equivalently large matrix, and since any solution method must invert it, with it, this is not an efficient method. A more accessible approach is to create a substitution A.sup.Hz=x, before applying a similar methodology:
Cz = AA H .times. z = Ax = b , .times. z = C - 1 .times. b = ( AA H ) - 1 .times. b , ##EQU00009##
[0096] This time around, as C=AA.sup.H is a mere m columns by m rows, this result is a much smaller set of linear equations to work through. The vector z can be converted into x at any time so long as A.sup.H can be produced.
[0097] However, this does not end here. This approach is not just a fortuitous set of symbolic manipulations, the change of variables from the complex-valued vector that describes the drive of individual transducer elements x to the much lower dimensional z has further meaning. Each complex-valued component of z can be viewed as a complex-valued drive coefficient that pre-multiplies a focusing function which generates a focus from all of the individual transducer fields, wherein the focal point is co-located with each individual control point. For m control points therefore, there are m such focusing functions, and they can be viewed as defining a complex vector space m where points in this space correspond to possible configurations of these m `focus points`.
[0098] B. Splitting the C Matrix
[0099] To account for the possibility that the optimal minimum norm solution is not used to form the C matrix, then this may be expressed via an extra weighting for each transducer and control point as .sigma..sub.r,q, with r representing the control point index and q representing the transducer index--this can be viewed as reweighting the final x vector used as the excitation vector for the transducer elements by substituting B.sup.Hz=x, where:
B = .sigma. .times. A = [ .sigma. 1 , 1 .times. .alpha. 1 .function. ( .chi. 1 ) .sigma. 1 , N .times. .alpha. N .function. ( .chi. 1 ) .sigma. m , 1 .times. .alpha. 1 .function. ( .chi. m ) .sigma. m , N .times. .alpha. N .function. ( .chi. m ) ] , ##EQU00010##
and x here denotes component-wise multiplication. Defining the set of
.alpha. c = [ .alpha. 1 .function. ( .chi. c ) , .times. , .alpha. q .function. ( .chi. c ) , .times. , .alpha. N .function. ( .chi. c ) ] , .times. and ##EQU00011## .beta. c = [ .sigma. c , 1 .times. .alpha. 1 .function. ( .chi. c ) , .times. , .sigma. c , q .times. .alpha. q .function. ( .chi. c ) , .times. , .sigma. c , N .times. .alpha. N .function. ( .chi. c ) ] , ##EQU00011.2##
this adjusted C matrix may be expressed as:
C = [ .alpha. 1 .beta. 1 _ .alpha. 1 .beta. r _ .alpha. 1 .beta. m _ .alpha. r .beta. 1 _ .alpha. r .beta. r _ .alpha. r .beta. m _ .alpha. m .beta. 1 _ .alpha. m .beta. r _ .alpha. m .beta. m _ ] , ##EQU00012##
but the dot products for each element may be written as the summation where for instance
.alpha..sub.a=.SIGMA..sub.q=1.sup.N.alpha..sub.q(.chi..sub.a)
[0100] If there are multiple devices that have access to disjoint sets of transducer elements, so if there exist M devices such that the global transducer set may be numbered q {1, . . . , N.sub.1, N.sub.1+1, . . . , N.sub.2, . . . , N.sub.M=N}, where device 1 drives transducers 1, . . . , N.sub.1, device 2 drives transducers N.sub.1+1, . . . , N.sub.2 and device M-1 drives transducers N.sub.m-1+1, . . . , N, then each dot product in the matrix C may be written:
.beta. .alpha. _ = ( q = 1 N .times. .times. .alpha. q .function. ( .chi. ) .times. .sigma. , q .times. .alpha. q .function. ( .chi. ) _ ) + + ( q = N M - 1 + 1 N .times. .times. .alpha. q .function. ( .chi. ) .times. .sigma. , q .times. .alpha. q .function. ( .chi. ) _ ) . ##EQU00013##
This implies that the C matrix itself may be written in a per-transducer element form as:
C tx , q = [ .alpha. q .function. ( .chi. 1 ) .times. .sigma. 1 , q .times. .alpha. q .function. ( .chi. 1 ) _ .alpha. q .function. ( .chi. 1 ) .times. .sigma. 1 , q .times. .alpha. q .function. ( .chi. r ) _ .alpha. q .function. ( .chi. 1 ) .times. .sigma. 1 , q .times. .alpha. q .function. ( .chi. m ) _ .alpha. q .function. ( .chi. r ) .times. .sigma. r , q .times. .alpha. q .function. ( .chi. 1 ) _ .alpha. q .function. ( .chi. r ) .times. .sigma. r , q .times. .alpha. q .function. ( .chi. r ) _ .alpha. q .function. ( .chi. r ) .times. .sigma. r , q .times. .alpha. q .function. ( .chi. m ) _ .alpha. q .function. ( .chi. m ) .times. .sigma. m , q .times. .alpha. q .function. ( .chi. 1 ) _ .alpha. q .function. ( .chi. m ) .times. .sigma. m , q .times. .alpha. q .function. ( .chi. r ) _ .alpha. q .function. ( .chi. m ) .times. .sigma. m , q .times. .alpha. q .function. ( .chi. m ) _ ] , ##EQU00014##
yielding:
C = q = 1 N .times. .times. C tx , q = ( q = 1 N 1 .times. .times. C tx , q ) + + ( q = N M - 1 + 1 N .times. .times. C tx , q ) . ##EQU00015##
[0101] This implies that the C matrices for individual transducers may be collected together by a recursive or hierarchical process that exploits sum-reduction operators to construct successively more complete representations of a distributed system of transducers, to be solved in a single central location (or the computation repeated in distributed locations for better fault tolerance). However, as the matrix B is required to take the z vector produced and reconstruct the transducer excitations, it is also necessary to express B as a disjoint set of matrices, where the B matrix for a given transducer q may be written:
B tx , q = [ .sigma. 1 , q .times. .alpha. q .function. ( .chi. 1 ) .sigma. m , q .times. .alpha. q .function. ( .chi. m ) ] , ##EQU00016##
so the element of the excitation vector corresponding to transducer element q is written:
B.sub.tx,q.sup.Hz=x.sub.q.
Therefore, since each portion of the x vector may be stored locally as it is only necessarily required to drive the transducer elements, no information regarding individual transducer elements or their weightings needs to be communicated globally to obtain the transducer excitations--only the C matrix for each subset of the system is required to be communicated. As the C matrix is small, so long as latencies are carefully managed, the platform on which the C matrix is solved to generate the z vector may be chosen flexibly, which may include but is not limited to edge computing, mobile devices, remote servers etc.
[0102] Incarnations of the A matrix may also be constructed to generate linear acoustic quantities, such as the acoustic pressure or the particle velocity of the acoustic medium in a known direction. As these are linear quantities, they may be calculated by applying disjoint portions of the A matrix and transmitting only the computed quantities. Then via a similar sum-reduction process to that required to compute the C matrix for the system, any given acoustic quantity may be calculated from synchronised application of portions of x vectors, as any linear quantity .alpha. may be found as:
A tx , q = [ .alpha. q .function. ( .chi. 1 ) .alpha. q .function. ( .chi. m ) ] , .times. .alpha. ' .OMEGA. , q = A tx , q .times. x q , ##EQU00017##
where {acute over (.alpha.)}.sub..OMEGA.,q is the contribution of the transducer q to the final simulated linear acoustic quantity field. This is useful to give an added layer of control and certainty to the system to allow the controlling device to accurately gauge the capabilities and constraints of the platform or platforms with which it may be communicating.
[0103] III. Null Regions in Airborne Ultrasonic Fields
[0104] Various excitation solvers exist to generate an arbitrary acoustic field considering specific points/lines/planes/volumes. Many of these allow the possibility of specifying the desired pressure distributions. By placing a null point (a point with desired pressure of zero or a relatively small value), a null line, a null plane or a null volume at sensitive locations, we can mitigate the amplitude of ultrasound found there.
[0105] A. Null-Points, Surfaces, and Volumes
[0106] In one embodiment, we can use a mathematical model of each transducer to build a matrix A. In this matrix, each column corresponds to a unique location in space and each row is the transducers complex acoustic output at that location. The mathematical model can be in real units or units which correlate to each transducer's output. Using this design, we can define the problem of solving for each transducer's drive phase and amplitude to the following formula,
Ax=b,
where x is a column vector containing the complex activation of each transducer, and b is the desired complex output at each physical location defined in the columns of A. This is an under-determined linear system, with many possible values of x which yields b.
[0107] One solution to this system of equations is given by the Moore-Penrose inverse of A, denoted by A.sup.+, with the solution explicitly given by,
x=A.sup.+b.
[0108] This is a least-squares solution to the linear system and has many beneficial properties useful to ultrasonic arrays which can include minimizing the total magnitude of activation. This approach has been applied to create dynamic high-pressure points for mid-air haptics to good effect (Long et al. Siggraph 2014). But this methodology is more flexible that simply creating high-pressure regions--each entry in b can be an arbitrary value, both high or low pressure and the Moore-Penrose inverse will yield a solution which approximates that field. By setting some values of b to substantially small values and we can create `null` points in the field.
[0109] In one embodiment of this invention, we use the Moore-Penrose activation solution with null points placed near sensitive items/animals/people to mitigate any possible effects caused by ultrasound.
[0110] Placing multiple null points around a sensitive object can further decrease the pressure at that object. In one illustrative arrangement, placing multiple null points in a circle or plus shape (i.e. +) around the central null can enlarge this region.
[0111] Turning to FIGS. 5A, 5B, and 5C, shown are simulations 500 of using the null-point solver to create a low-pressure area in the acoustic field. The Figures show 3 ultrasonic phased array simulations using 40 kHz ultrasound from a 256-element array in a square rectilinear arrangement centered at the origin and oriented along the z-axis. To solve for the activation of each transducer, a simple vibrating disk model is used which matches experimentally measured transducer output. Activation coefficients are solved by a power iteration for optimal phase followed by the Moore-Penrose inverse. This algorithm is detailed elsewhere (Brian Kappus and Ben Long, Spatiotemporal Modulation for Mid-Air Haptic Feedback from an Ultrasonic Phased Array, ICSV25, Hiroshima, 8-12 Jul. 2018).
[0112] In FIG. 5A, no nulls are used. Shown is the x-z plane 510A, the x-y plane 510B (shown at z=40 cm), and the arbitrary pressure scale 510C. A focus point is placed at [x,y,z] cm=[0,0,+20] where the origin of the coordinate system is in the centre of the array and the array is oriented in the positive z direction.
[0113] In FIG. 5B, there is one null at x=-5 "cm", y=0 "cm", z=40 "cm". Shown is the x-z plane 520A, the x-y plane 520B shown at z=40 cm, and the arbitrary pressure scale 520C. A single null is generated at [-5,0,+40] and the pressure is reduced at the point from 200 Pa to <20 Pa. [0114] In FIG. 5C, 5 nulls are in the z=40 "cm" plane, the first at x=5 "cm", y=0 "cm", z=40 "cm" and the other 4 offset by 1 "cm" in +x, -x, +y, and -y, forming a `plus` motif. This achieves a larger effective nulled region. Shown is the x-z plane 530A, the x-y plane 530B (shown at z=40 cm), and the arbitrary pressure scale 530C. This shows the effect of using multiple null points to achieve a larger null region. In this case the null points are a cluster of 5 points, one centred at the desired null, with the other 4 forming a `plus` offset by 0.1 cm. This achieves a lower pressure null at the center and a larger <20 Pa null region. This could be used if the object is larger or there is uncertainty in its position. [0115] In all cases the focal point (at [0,0,+20]) amplitude is substantially unaffected. In this example, the focus point could be used for airborne haptic feedback while shielding a device such as a sensitive microphone at the null region. [0116] More complicated arrangements are possible. Turning to FIG. 6, shown is a simulation 600 having a cluster of 4 focus points at [+5,0,+30], [-5,0,+30], [0,+5,+30], [0,-5,+30]. These could be modulated for haptics or parametric audio. Another simulation example of using the null-point solver on a more sophisticated acoustic field to achieve a null. In this case the field is creating 4 high-pressure points at x, y, z ("cm")=[+5,0,+30], [-5,0,+30], [0,+5,+30], [0,-5,+30]. The plane of interest is at z=40 "cm". [0117] In FIG. 6A, shown is the x-z plane 610A, the x-y plane 610B (shown at z=40 "cm"), and the arbitrary pressure scale 610C. No nulls were used. [0118] In FIG. 6B, shown is the x-z plane 620A, the x-y plane 620B (shown at z=40 cm), and the arbitrary pressure scale 620C. One null point is at [0,0,+40]. [0119] In FIG. 6C, shown is the x-z plane 630A, the x-y plane 630B (shown at z=40 cm), and the arbitrary pressure scale 630C. This has 5 nulls in a `plus` arrangement with 3 "mm" spacing centered at the [0,0,+40]. The cluster of 5 nulls is able to create a larger low-pressure region. As before, adding multiple points increases the size of the null region without significantly affecting the high-pressure field. [0120] The specific set of nulls presented above represent a single possible solution. Many other solutions exist. Spacing of several null points around a target location can be dependent on the wavelength of sound being used. In a system with the ability to change its carrier wavelength, null points can be adjusted accordingly. Possible volumetric arrangements of nulls include, but are not limited to, rectilinear, hexagonal, regular polygon, and regular polyhedra. [0121] In addition to clustering the null regions directly atop the target location, in another arrangement, the nulls are placed in between the array and the target. This creates a `shadow` region which extends beyond the null point location. In another arrangement, the null points can be placed around the target location. Both methods can yield a larger effective low-pressure region using fewer nulls depending on the array layout and placement. [0122] Possible null arrangements including clustering around the target location as well as shadowing the target are shown in FIGS. 7A-7D. FIGS. 7A-7D show 3-D graphs 1300 as further examples of null point arrangements to create a low pressure (null) region in space around an array of transducers. [0123] In FIG. 7A, the graph 1310A shows a grouping of transducers with a focus 1310C above the transducers. Also shown is an example of cubic packing of nulls points 1310D around a desired null region 1310B. [0124] In FIG. 7B, the graph 1320A shows a grouping of transducers with a focus 1320C above the transducers. Also shown is an example of spherical packing of nulls points 1320D around a desired null region 1320B. [0125] In FIG. 7C, the graph 1330A shows a grouping of transducers with a focus 1330C above the transducers. Also shown is an example of hexagonal packing of null points 1330D around a desired null region 1330B. [0126] In FIG. 7D, the graph 1340A shows a grouping of transducers with a focus 1340C above the transducers. Also shown is a rectilinearly-pack plane of null points 1340D in between the array and a desired null region 1340B. [0127] Other null arrangements with more complex geometry are also possible. Examples of possible strategies, include but are not limited to, packing spheres with pre-defined uniform distributions of null points (whose number may change over time), using phyllotactic spirals or other spiral generated using irrational angular increments to generate sphere surface packings which depending on scaling factor may be of uniform or non-uniform density around a locus, generating meshes of the desired volume to be filled (which may be predefined or take input from a tracking system or meshed point cloud data) and using charged particle-like repulsion mechanisms to generate packings of these meshes or other volumetric shapes, which may be static or dynamic or wherein the packing density may be made non-uniform by varying the `charge` on each null point which may further be parameterized as a function of the spatial location of the null point to allow for non-uniform densities. The mesh data taken from the tracking system may be dynamic and in each case the number of null points may be changed dynamically over time. [0128] If a number of null points are to be introduced into the acoustic field their physical separation and their number can be varied depending on the required `quiet zone` dimensions. The `packing arrangement` has an influence on the effectiveness of using nulls to suppress the average sound pressure within a given volume. A metric may be defined which estimates this effectiveness. An example metric is the percentage of a given volume below a threshold sound pressure. FIG. 8 illustrates this effect through a simulation of a 256 element ultrasonic array with Moore-Penrose inverse solution producing a high-pressure point at z=15 cm and a set of nulls clustered around a target at [x,y,z]=[30,0,30]cm. It shows that the number of nulls, their physical spacing and their spacing geometry influence the predefined metric. Indeed, increasing both spacing and number arbitrarily can have a negative effect on the volume which has the desired low pressure and care must be taken to test a choose a proper arrangement of null point locations. Our example uses a 6.lamda..sup.3 volume as the assessment volume, however the assessment volume and/or geometry will be application specific. [0129] Turning to FIGS. 8A and 8B, shown are a series of graphs 1400. The metrics were created with the percentage of a 6.lamda..sup.3 volume (centered at x=-30 "cm", y=0 "cm", z=+30 "cm") with pressures greater than 6.3 "Pa" with the number of nulls and their spatial separation being varied. A single focal point was created at x=0 "cm", y=0 "cm", z=+15 "cm" at a pressure of 1125 "Pa". [0130] FIG. 8A shows a plot 1430 having a rectilinear 3D spacing arrangement showing the relationship between quiet zone efficiency (i.e. percentage of volume below a threshold pressure). The x-axis 1410 is null point separator/.lamda.. The y-axis 1420 is a null number. The key 1435 is percentage of volume below a threshold pressure. Shown is the relationship between quiet zone efficiency (i.e., percentage of volume below a threshold pressure) for a 3D spacing arrangement. [0131] FIG. 8B shows a plot 1460 having a hexagonal 3D spacing arrangement showing the relationship between quiet zone efficiency (i.e. percentage of volume below a threshold pressure). The x-axis 1440 is null point separator/.lamda.. The y-axis 1450 is a null number. The key 1470 is percentage of volume below a threshold pressure. [0132] An important consideration for the use of null pressure points is their effect on the general acoustic field, specifically the control points used for applications such as mid-air haptics. A key parameter for focused ultrasound is the focal point pressure. FIG. 9 is a graph 1500 that shows that effective quiet zone may be created without a loss of focal point pressure. The x-axis 1510 is null point separator/.lamda.. The y-axis 1520 is a null number. The key 1535 is in db. The plot 1530 shows the pressure of a single focal point created at x=0 "cm", y=0 "cm", z=+15 "cm" with a requested pressure of 1125 "Pa". Each point in the figures represents a specific combination of null point number and null point separation. [0133] As with low-pressure volume, some arrangements can reduce performance by influencing focus pressure and again, simulation and/or careful selection must be implemented for maximum performance. When the number of null points is generally less than the number of transducers, the desired focal point pressure is unaffected by the inclusion of null points. When a relatively large number of null points is used the desired focal point pressure may be lowered. [0134] In another arrangement, experimental measurement of a particular setup can be used to improve null performance. With at least one microphone placed in a target null location, this can be used to evaluate performance of null placement. Null point placement and desired pressure can be adjusted, and microphone measurements used as a performance metric. Any number of search algorithms including gradient of least descent can be used to approach an experimentally optimal solution. In addition, at least one microphone can be placed at various high-pressure focus points or regions to evaluate the influence of null placement on focus performance simultaneously. [0135] In one application of this invention, nulls can be used to shield sensitive microphones from undue ultrasonic pressure. In another arrangement of this invention, at least one of the sensitive microphones can transmit its signal or some metric related to the amount of ultrasound received back to the ultrasonic array or device controlling the array. In this way, this signal can be used as feedback to dynamically adjust null placement for optimal reduction of ultrasonic pressure at the sensitive microphone. [0136] It is important to place nulls in the appropriate location for a given target. If the target is moving, such as a person's head or hand-held devices, tracking that target is important. Adjusting the null point locations according to tracking data can maintain the effectiveness of the null region with a minimal amount of null points needed. In one arrangement, the target location can be added to a matrix of null location vectors resulting in a null arrangement which follows the target. For a shadow arrangement, the tracked target location can be both a distance and normal to build a set of null point locations. In another arrangement, the tracked target could move some nulls but not others, leaving some null regions were expected new targets could arise. Multiple tracked targets can exist which could dynamically add, subtract, and move null points, surfaces, or volumes, as necessary. [0137] Tracked objects need not be identified as sensitive in order to add a null region. In one arrangement, any object in the field which is moving at a speed greater than some threshold, e.g., 1 cm per second, that is not identified as a hand (for haptics), would be identified as a target for a null region. This reduces the tracking requirements to hand-identification, and movement tracking--significantly simpler than identification of specific sensitive targets such as heads, and/or microphones. Once an object has been classified as a target, through movement, it can be tracked even if it stops moving. In another arrangement, target objects identified through movement will continue to be considered targets until they have left a pre-specified volume of interaction. [0138] In another arrangement of this invention, the null positioning can be generated by first simulating the field created by the desired high-intensity focus points without any nulls included. Away from the focus points, where low pressure is desired, ideal placement of nulls can be generated using the simulated information. As an example, nulls can be placed preferentially on the highest-pressure peaks of the fringing field in the target low-pressure region. In another arrangement, the simulated null-free field can be used as a weighting function to adjust the exact placement of null points. [0139] Field simulation can also be used to refine placement of null points. For instance, with sufficient computing power available, different arrangements of nulls can be evaluated for effectiveness at each update cycle of the phased array with only the most effective being passed on to array control for emission. For example, for a given field one can define a set of metric-points where the field is evaluated. These can be at desired null points, desired high-pressure points, or any other important point/line/plane/volume in the field. At each field-compute cycle, an initial position for both high-pressure focus points and nulls are selected (this could be based on the previous cycle or completely new), then the field is evaluated at the metric-points and related to a quality metric. This metric could be simply the absolute difference in simulated pressure from desired pressure, squared pressure or something more sophisticated such as the nonlinear pressure or particle velocity. Next, the null and high-pressure points are adjusted and the field and resulting quality metric is evaluated again. One method of computing this adjustment of the null point positions may be achieved by computing the partial derivative of the quality metric with respect to the change in the spatial positioning of the nulls along the spatial axes. When this refinement achieves an acceptable metric or a maximum number of evaluations has happened, then the best solution is passed on to be produced. Adjusting the positions can be static (a set number of possibilities) or adaptive, updating the null point locations as the field changes over time. As the acoustic field is band-limited in spatial frequency, all partial derivatives may be computed by a finite differencing scheme that operates at sub-wavelength scales. This implies the adaptive method could, for instance, test a small adjustment in each direction for each point and then proceed along the gradient of steepest descent. [0140] In another arrangement of this invention, null surfaces or volumes may be considered instead of points. In this setup, after a null surface or volume is chosen its effect on the transducer activation coefficients can be estimated and applied. In one arrangement, the field is simulated without the null surface or volume. Next, pressure at the surface or within the volume is considered phase inverted. Next, this inverted pressure volume or surface is simulated as a source and its resulting pressure is propagated back to the array. This simulation can be accomplished with traditional discrete or continuous methods. This will yield a set of acoustic pressures and phases at each transducer location. These values can then be used as a partial or full perturbation of the original transducer activation coefficients. Applying this perturbation can be done by direct sum, partial sum, weighted sum, or some other solution method. [0141] The above simulations consider the regions to be within an infinite volume without reflections. While this is often a good approximation in large, open spaces, in more enclosed spaces, reflections of the ultrasound become a significant contribution to the pressure in the desired null region. If the area around the array is carefully measured, such as through 3D scanning, this information can be used to inform a simulation of the area. With reflections included in an acoustic simulation, this can be used to modify the basis functions (also called transducer model) on a transducer-by-transducer basis, or to a repeated transducer basis function. When included in the transducer model, the Moore-Penrose inverse of the matrix A will be able to compensate for reflections. In another arrangement, the basis functions can be left unmodified and instead null point locations and/or amplitudes can be adjusted based upon an output simulation which includes reflections. By including tracking information, such as a 3D point cloud from a stereo camera or time of flight sensor, the simulation of reflections can be further refined by dynamically updating the current state of the interaction volume. [0142] In another arrangement, instead of purely simulating reflections, experimental data can be taken to characterize the environment for a given array placement and this data included in transducer models or field simulations. This could be measurements of an empty interaction volume or many measurements which include intended use case scenarios such as people standing in front of the array with their hand out. In one arrangement, the volume of interaction is scanned by a microphone and a transducer model is fit to this data out to some interaction distance. Since this measurement includes reflections, the model will more accurately reproduce nulls. [0143] Null placement, amplitude, and phase can be computationally difficult depending on the number of factors included in the modelling. Including dynamically-changing reflections from people moving around the interaction volume, in particular, is difficult. Machine learning is particularly suited to these types of problems and can be used to reduce computational complexity. In one arrangement, a supervised-learning scenario can be built using microphones as feedback. Any number can be placed in the environment, including at null target locations, and non-zero pressure locations. In addition, information about the environment can be used as input including, but not limited to, a dynamic point cloud of the environment. A neural net is then setup to output null point locations and target phase and amplitude. Training this setup would involve capturing the microphone output for a wide array of zero and non-zero-point placements and drive conditions with a variety of environment conditions. Note that this could be real-life microphone and point-cloud data or purely simulated data. This trained machine-learning system could then output best-guess null point arrangements dynamically for significantly less computational power than a full acoustic simulation. [0144] Turning to FIGS. 10A, 10B, and 10C shown are spectrograms 1600. For each spectrogram, the x-axis is time; the y-axis is frequency; and the darker the color, the more the signal FIG. 10A shows human speech 1610 recorded with a MEMS microphone without ultrasound present. FIG. 10B shows human speech 1620 recorded with high-intensity ultrasound revealing that the microphone is overloading and unable to pick up spoken voice. FIG. 10C shows human speech 1630 recorded with high-intensity ultrasound near a haptic focus point surrounded by spherically-packed null pressure points. Thus, without the null points reducing the pressure at the microphone, the speech recorded in FIG. 10B is unintelligible. While not identical to FIG. 10A, the speech in FIG. 10C is intelligible. [0145] B. Helicity [0146] Helicity in the context of acoustics is a traveling wave carrying angular momentum. [0147] Helicity can be given to an acoustic field by adding a phase shift related to the angular position of each transducer, X = X 0 .times. e im .times. .times. .PHI. ##EQU00018## where X.sub.0 is the original activation coefficient to form the desired field for a given transducer, .PHI. is the angle of the transducer on the array (in radians) relative to an arbitrary starting axis, and m is the helicity. m imparts not only a net angular momentum but also can create a null in any region that before had a focus. The size of this region is related to the value of the helicity. Integer values of helicity are often better behaved with arbitrary fields but fractional m is also possible. As with null points, field simulation can be used to refine the value of the helicity dynamically. [0148] This technique is valuable primarily in applications where the acoustic pressure is directed towards a sensitive object which is to be narrowly avoided such as parametric audio. The center of the beam or point can be placed directly on the sensitive target and by adding helicity, the target will receive a reduced amount of ultrasound. [0149] FIGS. 11-14 show examples simulations of a 256 element ultrasonic array operating at 40 kHz using helicity. In FIGS. 11A, 11B, 11C, 11D, 12A, and 12B, helicity is applied to a beam or plane wave. The hole in the ultrasonic field created by the helicity follows the steering of the beam. In FIGS. 13 and 14, helicity is applied to a focused field. Like the beam solution, the null region formed by the helicity follows the focus point as it is steered. In both cases the null region is well defined and widened with increasing m and can be placed on a sensitive target. [0150] Turning to FIGS. 11A, 11B, 11C, and 11D, shown are simulations 700 using helicity to create a null region in the center of a plane wave. [0151] FIG. 11A shows the x-z plane 710A, the x-y plane 710B (shown at z=40 "cm"), and the arbitrary pressure scale 710C. This is formed from a basic plane from a 16 "cm" edge array of 40 "kHz" transducers. [0152] FIG. 11B shows the x-z plane 720A, the x-y plane 720B (shown at z=40 cm), and the arbitrary pressure scale 720C. This is formed by adding helicity of m=1. [0153] FIG. 11C shows the x-z plane 730A, the x-y plane 730B (shown at z=40 cm), and the arbitrary pressure scale 730C. This is formed by adding helicity of m=2. [0154] FIG. 11D shows the x-z plane 740A, the x-y plane 740B (shown at z=40 cm), and the arbitrary pressure scale 740C. This is formed by adding helicity of m=3. [0155] Turning to FIGS. 12A and 12B shown are simulations 800 using helicity to create a null region in the center of a plane wave. This is formed from a basic plane from a 16 "cm" edge array of 40 "kHz" transducers. [0156] FIG. 12A shows the x-z plane 810A, the x-y plane 810B (shown at z=40 cm), and the arbitrary pressure scale 810C. No helicity is added in the steered beam. [0157] FIG. 12B shows the x-z plane 820A, the x-y plane 820B (shown at z=40 cm), and the arbitrary pressure scale 820C. This is formed from a basic plane from a 16 "cm" edge array of 40 "kHz" transducers. Here, the helicity is added (m=2). [0158] Turning to FIGS. 13A and 13B shown are simulations 900 adding helicity to open a null region in a steering focus point. [0159] FIG. 13A shows the x-z plane 910A, the x-y plane 910B (shown at z=40 cm), and the arbitrary pressure scale 910C. Here, there is a single focus point at x=+5 "cm", y=0 "cm", z=+40 "cm". [0160] FIG. 13B shows the x-z plane 920A, the x-y plane 920B (shown at z=40 cm), and the arbitrary pressure scale 920C. Here, helicity is added to create a null in the center of the focus (m=2). [0161] Turning to FIGS. 14A and 14B shown are simulations 1000 adding helicity to open a null region in a Bessel beam. [0162] FIG. 14A shows the x-z plane 1010A, the x-y plane 1010B (shown at z=40 cm), and the arbitrary pressure scale 1010C. Here, there is a steered Bessel beam. [0163] FIG. 14B shows the x-z plane 1020A, the x-y plane 1020B (shown at z=40 cm), and the arbitrary pressure scale 1020C. Here, helicity has been added to open a null in the center of the beam (m=2). [0164] C. Array Division and Null Planes [0165] Another method to create a null region is to divide an array into two or more similar regions and reverse the phase of one field relative to the other. When the fields are largely similar this forms a null line which projects through the middle of the field. This can be used when the null region has high precision in one dimension but not in the other. Division need not be directly down the middle but acoustic pressures produced from each region need to match. This means that regions with a larger number of transducers need to have their amplitude reduced to compensate. Angling each of the two beams apart slightly can increase the width of the null line. [0166] FIGS. 15 and 16 show example simulations of 256 element ultrasonic array operating at 40 kHz using array division to create a null plane. In both cases, the null plane is well-defined and can be directed towards a sensitive target as desired. [0167] Turning to FIG. 15, shown is a simulation 1100 with the x-z plane 1110A, the x-y plane 1110B (shown at z=40 cm), and the arbitrary pressure scale 1110C. Splitting an array in half with each driven out of phase results in opening up a null line along the y-axis. [0168] Turning to FIG. 16, shown is a simulation 1200 with the x-z plane 1210A, the x-y plane 1210B (shown at z=40 cm), and the arbitrary pressure scale 1210C. Shown is angling the field each half of a split array away from the origin by 3 degrees to widen the null region. [0169] D. Null Subspace [0170] Consider an under-determined linear system, Ax = b ##EQU00019## where , .times. A .di-elect cons. m .times. n , x .di-elect cons. n .times. 1 , b .di-elect cons. m .times. 1 , ##EQU00019.2## will have 0 or an .infin. number of solutions. This is the same starting point as previously discussed solving methods. [0171] The LSQ, least squares solution, can be shown to be: min x .times. Ax - b 2 = A + .times. b + v ##EQU00020## where, .nu..di-elect cons.ker (A), and, ker .function. ( A ) = { v .di-elect cons. n .times. 1 Av = 0 } ##EQU00021## is the nullspace of A. [0172] Analogously to the previous section, we start by choosing a set of j null points at positions x', y' and z' which we shall denote, .chi. N = { .chi. N 1 , .times. , .chi. N j } ##EQU00022## [0173] We can then construct the complex-valued linear system A.sub.Nx.sub.N=b.sub.N where: A.sub.N .di-elect cons..sup.j.times.n, x.sub.N.di-elect cons..sup.n.times.1, b.sub.N.sup.j.times.1, with A N = [ .PSI. 1 .function. ( .chi. N 1 ) .PSI. n .function. ( .chi. N 1 ) .PSI. 1 .function. ( .chi. N j ) .PSI. n .function. ( .chi. N j ) ] ##EQU00023## x N = [ A 1 emit .times. e i .times. .times. .PHI. 1 emit A n emit .times. e i .times. .times. .PHI. n emit ] ##EQU00023.2## and ##EQU00023.3## b N = [ 0 0 ] , ##EQU00023.4## where, as above, .PSI..sub.m is the basis function or transducer model for each element in the array. [0174] The vector x.sub.N is in the nullspace of the matrix A.sub.N, x.sub.N.di-elect cons.ker(A.sub.N) [0175] Now we can formulate the problem of finding the complex activation coefficients that produce the desired amplitudes at the control point positions and the desired amplitudes at the null point positions as a pseudo linear program: min v .times. A + .times. b + v 2 = x N ##EQU00024## where , .times. v .di-elect cons. ker .times. .times. ( A ) ##EQU00024.2## subject to the constraint (A.sup.+b+.upsilon.).di-elect cons.ker(A.sub.N) [0176] This constraint specifies a new under-determined linear system to solve, A.sub.N(A.sup.+b+.upsilon.)=0 [0177] Once again, we appeal to the Moore-Penrose inverse to find the minimum-norm solution as, .upsilon.=-A.sub.N.sup.+A.sub.NA.sup.+b [0178] The vector .upsilon. can be thought of as a minimum perturbation required to shift the original solution vector A.sup.+b into the nullspace of A.sub.N, ker (A.sub.N). This perturbation ensures that the null point condition, .PSI. .OMEGA. .function. ( .chi. N k ) = 0 , .A-inverted. k .di-elect cons. { 1 , .times. , j } ##EQU00025## is met with the minimum change in the original solution vector A.sup.+b. [0179] We can now express the full solution as, x N = A + .times. b - A N + .times. A N .times. A + .times. b ##EQU00026## which can also be expressed as, x N = A + .times. b - A N H .function. ( A N .times. A N H ) + A N .times. A + .times. b , ##EQU00027## where the superscript H represents the Hermitian conjugate. [0180] The advantage of this method is that, for a fixed arrangement of nulls, A.sub.N.sup.+A.sub.N does not change and can be calculated in advance. A.sup.+b can change, producing arbitrary fields including haptic points and parametric audio beams, and nulls can be added using the above equation to modify the activation coefficients before emission. In particular, arrangements of many nulls may be added to a system where traditional solving may be computationally difficult. This would allow for incorporation into low-end hardware which would otherwise not be capable of performing the necessary matrix inversion in the required time for low-latent response. [0181] When a new solution (x.sub.N) is generated with the method, some entries may result in driving values impossible to realize, such as greater than the maximum drive possible by the device. One solution is to scale every value the same amount and preserve each phase value. This will scale the field by the same amount and preserve both non-zero values (scaled) and the nulls. Another option is to clip large values to the maximum drive and leave the remainder. This has the potential to influence both the non-zero points and the nulls and care must be taken to preserve the benefit of the null application. [0182] We are not limited to a single A.sub.N.sup.+A.sub.N matrix in practice. Indeed, many different null arrangements (with their associated A.sub.N.sup.+A.sub.N matrix) may be stored on the device and applied when appropriate. Care must be taken when switching between matrices to avoid audible artifacts caused by abrupt changes in activation coefficients. In one arrangement, two can be transitioned between by linearly interpolating each matrix value between each. In another arrangement, the output is reduced to near zero, the nullspace array switched, then the output is increased back to normal. In another arrangement, each transducer coefficient is low-pass filtered after the array is switched to remove high-frequency components likely to produce audio. This filtering would then be switched off or smoothly removed after some amount of time. [0183] While the discussion to this point has focused on pre-calculation of the nullspace arrays, there is no reason new nullspace arrays cannot be calculated on a host or on the device. Depending on the number of nullspace points, this could take significant time compared to one acoustic cycle. Calculation need not be done all at once and could utilize unused processor, storing results in memory as calculation proceeds. When finished, the nullspace array could be introduced using previously discussed methods. [0184] In another arrangement, it may be beneficial to apply the nullspace correction to the basis functions, .PSI..sub.n, before taking the Moore-Penrose inverse. In this way, smooth transitions to the activation coefficients can be made as points are translated in space, thus minimizing potential acoustic artifacts such as parametric audio. [0185] E. Iterative Nullspace Solution [0186] The nullspace solution allows for a static arrangement of null points to be added to a system. With some additional computation, however, the method detailed above can be reformulated as an iterative update procedure, allowing for the addition of null points. Following the reasoning of the previous section we begin by specifying a single null point X.sub.N and construct the corresponding update: A.sub.N=[.PSI..sub.1(.chi..sub.N.sup.1) . . . .PSI..sub.n(.chi..sub.N.sup.1)] [0187] The Moore-Penrose inverse of a rank-1 matrix can be expressed as: A N + = 1 k = 1 n .times. .times. .PSI. k .function. ( .chi. N 1 ) .PSI. k * .function. ( .chi. N 1 ) .times. A N H ##EQU00028## [0188] The expression for the complex activation coefficients, x N = A + .times. b - A N + .times. A N .times. A + .times. b ##EQU00029## can now be expressed in the form, x N = A + .times. b - 1 k = 1 n .times. .times. .PSI. k .function. ( .chi. N 1 ) .PSI. k * .function. ( .chi. N 1 ) .times. A N H .times. A N .times. A + .times. b ##EQU00030## Letting , .times. k = 1 n .times. .times. .PSI. k .function. ( .chi. N 1 ) .PSI. k * .function. ( .chi. N 1 ) = C ##EQU00030.2## and factorizing the above expression yields, x N = ( I n - 1 C .times. A N H .times. A N ) .times. A + .times. b , ##EQU00031## where I.sub.n is the identity matrix of matching dimensions with A.sup.+b. [0189] This procedure can be repeated for additional null points thus providing an iterative update scheme for adding null points to the field. [0190] F. Additional Disclosure [0191] Using nulls to shield microphones/ears is novel. [0192] Many of the null refinement methods are novel including simulating and measuring reflections. [0193] Using helicity specifically to create a low-pressure region to shield mics/ears is novel. [0194] Splitting the array and driving each section out of phase to create a null region in between is novel. [0195] Many-null arrangements are novel (various packing arrangements). [0196] Null shadows (shielding a region by placing nulls in between the array and region) is novel. [0197] The null subspace solving method is novel. [0198] IV. Predistortion of Phased-Array Basis Functions Applied Via Transducer Gain Control [0199] A. Reduced Representation--Using Per-Focus Basis Functions [0200] Traditionally, the linear system is described in terms of linear combinations of complex-valued transducer generated fields and their drive coefficients. This produces a matrix, where for m control points and N transducers, the matrix A is N columns by m rows and consists of the generated complex valued signal by each transducer q.di-elect cons.{1, . . . , N} at the location of each control point j.di-elect cons.{1, . . . , m}. Previous work (1-US) has generated increased power efficiency by adding regularization to this matrix A, but regularisation increases the size of the matrix and thus the compute requirements to solve the system significantly. [0201] Using .alpha..sub.q(.chi..sub.j) to describe a complex-valued scalar linear acoustic quantity .alpha. measured at a position offset from the transducer element q by the translation vector .chi..sub.j, which may evaluate to be acoustic pressure or an acoustic particle velocity in a chosen direction, the matrix A may be written: A = [ .alpha. 1 .function. ( .chi. 1 ) .alpha. N .function. ( .chi. 1 ) .alpha. 1 .function. ( .chi. m ) .alpha. N .function. ( .chi. m ) ] , ##EQU00032## [0202] This, for a number of control points fewer than the number of acoustically active transducer elements can then be placed into a complex-valued linear system wherein a sample vector b={.alpha..sub.C1(.chi..sub.1), . . . , .alpha..sub.Cm(.chi..sub.m)} represents the desired total linear scalar complex-valued acoustic quantity where the amplitudes are desired amplitudes of the acoustic quantity and the phases are those taken from the phase oracle (which may have been user-influenced). In this linear system described as Ax=b, the x vector is then the initial field coefficients for each transducer element, which may be used to drive a real transducer element, resulting in the recreation of the acoustic field desired. This may then be solved in a loop to provide a system that changes over time. [0203] As this is matrix A is not square, and the degrees of freedom number more than the constraints, this is termed a `minimum norm` system. It is `minimum norm` because as there are infinitely many solutions, the most expeditious solution is the one which achieve the correct answer using the least `amount` of x--the solution x with minimum norm. To achieve this, some linear algebra is used to create a square system from the minimum norm system Ax=b: A H .times. Ax = A H .times. b , .times. ( A H .times. A ) - 1 .times. A H .times. Ax = x = ( A H .times. A ) - 1 .times. A H .times. b , ##EQU00033## [0204] This A.sup.HA is now N columns by N rows and given that the number of transducer is often very large this is an equivalently large matrix, and since any solution method must invert it, with it, this is not an efficient method. A more accessible approach is to create a substitution A.sup.Hz=x, before applying a similar methodology: Cz = AA H .times. z = Ax = b , .times. z = C - 1 .times. b = ( AA H ) - 1 .times. b , ##EQU00034## [0205] This time around, as C=AA.sup.H is a mere m columns by m rows, this result is a much smaller set of linear equations to work through. The vector z can be converted into x at any time so long as A.sup.H can be produced. [0206] However, this does not end here. This approach is not just a fortuitous set of symbolic manipulations, the change of variables from the complex-valued vector that describes the drive of individual transducer elements x to the much lower dimensional z has further meaning. Each complex-valued component of z can be viewed as a complex-valued drive coefficient that pre-multiplies a focusing function which generates a focus from all of the individual transducer fields, wherein the focal point is co-located with each individual control point. For m control points therefore, there are m such focusing functions, and they can be viewed as defining a complex vector space Cm where points in this space correspond to possible configurations of these m `focus points`. [0207] B. Dynamic Ranging--a Mechanism to Ensure that Waveforms are Reproducible [0208] To ensure that at no point the user tries to generate a waveform at any control point that is not possible using the hardware, it is important to limit the level of acoustic output. This is achieved by using a second b vector, termed b.sub.range. The components of this vector b.sub.range are defined as the largest that the user may ask for at any point. The resulting solution z.sub.range, is then the solution that is most taxing on the hardware. As z.sub.range is a point in the complex vector space m, and this is linearly related to the acoustic output from the transducer, this must be the most extreme outlier. This is evaluated through pre-multiplication by A.sup.H to produce z.sub.range. This X.sub.range tells us how to relate the worst-case performance to the real capabilities of the device, so the maximum amplitude drive from all transducers in X.sub.range is used to divide through the maximum output allocation of each point, as these are linear. The phase oracle (the algorithm that predicts the best set of phases to use) is then applied to b.sub.range, to ensure that the worst case phase interactions are captured. This ensures the device is never asked to produce an unrealistic output that could result in undefined behavior. [0209] Shown in FIG. 17 is a diagram 1800 of the stages of the algorithm described. Diagram a) 1810 shows the transducer array and the set of control point positions. Diagram b) shows determining the three focal point basis functions 1820, 1830, 1840 comprised of each transducer drive, here weighted by the utility of each transducer to each point. Diagram c) 1850 shows 1) solving without considering the interactions between points (using a diagonal-only C matrix) yields an estimate of how the phasors cancel in the transducer activation and the approximate amplitude of each drive. Some of these amplitudes are greater than the maximum possible (dotted line), which would mean that the whole array solution would need to be scaled back. 2) Considering the fold level (dashed line) in logarithmic space, the logarithmic amplitude may be folded over the fold level to find the per-transducer scaling factor. Diagram d) 1860 shows applying the scaling factor to the transducers, all of the transducers are now at or under the fold level, which can be seen in 1) real space and 2) logarithmic space but the field is no longer generated accurately, even with the assumption that points do not interact. Diagram e) shows this solution is decomposed into focal point basis functions again, which are comprised of each transducer drive, but this time the individual transducer entries are scaled by the scaling found earlier 1870, 1880, 1890. Diagram f) 1895 shows these new focal point basis functions are now used in the full solution, considering extra interactions. Note that the maximum amplitude of the per-transducer drive is reduced, no longer requiring more than the maximum transducer drive amplitude possible (dotted line) and the relative size of the group of rescaled transducer amplitude bars remain much the same, although the absolute amount of drive has changed to compensate for the earlier scaling down. The proportions of the contribution to each control point from the transducer (filled pie segments in the circle) has changed noticeably from the other solutions. [0210] C. Breaking Hermitian Symmetry [0211] Due to the Hermitian symmetry of AA.sup.H, the component transducer contributions to each basis function are in turn weighted by how usefully they may contribute. While this is helpful to save power and ensure that transducers are used only so far as they are effective and efficient, or in situations where this symmetry produces a simple geometry independent apodization of the phased array to combat grating lobe aliasing artifacts, this is unhelpful when more output is desired from a given hardware system. [0212] The symmetry of AA.sup.H may be broken by undoing the `utility` weighting produced by the multiply. This may be viewed as separating the forward propagation operator from the backward propagation operator of the acoustic wave--the matrix AA.sup.H forces the two operators to behave identically, and only breaking the symmetry of the matrix prevents this. Fortunately, the symmetry may be broken by allowing A (which describes the physical behaviour of the waves travelling in space--the forward propagation operator) and A.sup.H (which describes how the basis function is defined, as A.sup.Hz=x--the backward propagation operator) to differ. However, this difference can be confusing and difficult to manage, and breaking the symmetry can quickly eliminate all of the benefits described earlier. [0213] The method described in this document does not require symmetry to be broken, functioning equally effectively on both Hermitian symmetric and matrices which have not been symmetrically scaled. [0214] D. Statistical Distributions of Random Phasors--Consequences for Transducer Drive [0215] Settings aside questions of apodization and generation of appropriate per-transducer usage in each basis function, the fundamental statistical behavior of random phase summations--necessary to model how arbitrary many control points are constructed from phasor contributions of back propagations to each transducer--works against the ability to generate consistent output and efficient transducer utilization. [0216] The process of generating the limiting scenario using b.sub.range may then be roughly modelled for the generation of the extremal transducer drive coefficient as the summation of a series of random phasors or complex numbers. When the summation exceeds 100% of output utilized, then this is the amount by which the drive of the whole transducer array must be scaled back. Therefore, there is a clear, if approximate, isomorphic relationship between any extremal samples of random phasor summation distributions and the transducer drive efficiencies in the limiting scenario. [0217] Modelling the summation for the transducer drive or activation coefficient as: x = re i .times. .times. .theta. = j = 1 m .times. .times. a j + ib J , ##EQU00035## where .alpha..sub.j.about.N(0,.sigma.) and b.sub.j.about.N(0,.sigma.) (normally distributed random variables with zero mean) and r=|x|.gtoreq.0. The probability density function is then exactly: f z .function. ( r ) = r m .times. .times. .sigma. 2 .times. e - r 2 .times. / .times. 2 .times. m .times. .times. .sigma. 2 , ##EQU00036## with a cumulative density function exactly: f z .function. ( r ) = 1 - e - r 2 .times. / .times. 2 .times. m .times. .times. .sigma. 2 , ##EQU00037## so the probability of the sum having amplitude greater than or equal to r must be e.sup.-r.sup.2.sup./2.sigma..sup.2. Assuming unit variance, .sigma.=1, and solving for percentiles allows the plotting of equiprobable `transducer drive amplitudes` as shown in FIG. 18. [0218] Shown in FIG. 18 is a graph 1700 entitled "Mean and percentiles of amplitudes magnitudes". The x-axis 1710 is the number of phasors summed (m) 1710. The y-axis 1720 is the magnitude of final phasor sum (r). The mean is the long-dashed line 1760. The median 50.sup.th percentile is the dotted line 1750. The median 90.sup.th percentile is the solid line 1730. The median 99.sup.th percentile is the short-dashed line 1740. These lines are the amplitude distribution of a sum of m complex numbers with normally distributed components. [0219] Given that transducer arrays often have many hundreds of individual transducers which represent individual summations. This means that since each transducer represents a drawing from the distribution, it is highly likely that there will be a small proportion of transducer elements driven at much higher amplitudes --often amplitudes many times larger for large m--relative to the mean. In the case that the whole array amplitude must be scaled down to accommodate these outlier elements, this small subset causes a large drop in overall efficiency. Therefore, it is important that at least these transducers are targeted with predistortion to `condition` the amplitude distribution. [0220] E. Two Linear System Solutions Method [0221] The two-step approximation method may proceed by first solving the system as before: x'.sub.range=A.sub.Hz'.sub.range=A.sup.H(AA.sup.H).sup.-1b.sub.range. Then, a `fold`, f, is designated. This is termed a `fold` because this can be viewed as a point of symmetry in a logarithmic space, as the process can be applied efficiently using logarithms. This is the smallest value at which the distortion is applied. Then a diagonal matrix is defined as: B = [ B 1 , 1 0 0 B N , N ] , ##EQU00038## where each of the diagonal elements may be defined as, B q , q = { 1 , .times. if .times. .times. x range , q ' < f , f .times. / .times. x range , q ' , if .times. .times. x range , q ' .gtoreq. f , ##EQU00039## where x'.sub.range,q is the element of the vector x'.sub.range corresponding to the q.sup.th transducer. This vector does not have any per-transducer gain or distortion applied. [0222] The second system for the pre-distorted basis functions may be applied as: x range = BA H .times. z range = BA H .function. ( ABA H ) - 1 .times. b range , .times. and ##EQU00040## x = BA H .times. z = BA H .function. ( ABA H ) - 1 .times. b , ##EQU00040.2## where the per transducer gain matrix B applies distortion to counter or `smooth out` excessively high transducer amplitudes that were generated when solving without gain control. When the new X.sub.range vector is inspected, the peak transducer amplitudes are greatly reduced from what would be seen without this step--as shown from the earlier statistical argument. [0223] It should also be noted that it is possible to skip individual points (i.e. not apply this method to all focal point basis functions) and apply different gain factors or `fold` values to different basis functions. [0224] F. Dynamically Determining the Fold Value [0225] The `fold` value f may also be chosen dynamically, as the plotting of the phasor distribution illustrative of how the transducer driving phasors in the early section shows that the transducer with the largest amplitude is many times larger than the mean. The `fold` value may be larger than unity, as the rescaling of the transducer gain is applied to take all transducers driven at over the level represented by this value to be exactly this value. Note that since this is all relative, values being greater than unity only means that the physical limitations of the device will require the whole system to be scaled down, as these later whole system scaling steps are applied separately to ensure physical limits are met. [0226] By approximately tracking the behavior of the distribution of transducer amplitudes, the fold level can track where the extreme amplitudes are and eliminate them. To do this simply we may set the transducer fold level to the mean. This may be either the arithmetic mean or the geometric mean, where the geometric mean is more aggressive limit due to it being generally less than the arithmetic mean. Where the arithmetic mean may be calculated as the mean of each transducer drive amplitude, the logarithm of the geometric mean is the mean of each logarithm of the transducer drive amplitudes. The main reason that no other indicator from the distribution is suitable is simply because the mean is simple to calculate. [0227] Using the mean ensures not everything is rescaled. Assuming the illustrative phasor distribution from earlier is a reasonable approximation in most settings, then the mean and median are close, leading to roughly half the transducer amplitudes participating in the generation and application of per-transducer gain. This means that not all of the shape of the basis set is ablated, resulting in modest changes in a minority of transducers, and large changes only in a few egregiously overdriven transducers. [0228] G. Approximating the First Linear System [0229] The first linear system solved is not required to be functional. It merely needs to represent the relative drive and power of the basis functions which when added together make up the complex-valued drive coefficients for the individual transducers. For this reason, in the first solution, we can ignore cross-terms in the acoustic field, anticipating that interactions between control points have only a small impact on the total drive amplitude of each transducer. In this case, equivalent to zeroing all of the elements of the matrix C=AA.sup.H away from the main diagonal, the basis function and coefficient needed for each control point may be solved separately as many single-row-and-single-column 1.times.1 matrices. As inverting non-zero single element matrices can be stated as simply the reciprocal of the value, this means that no linear system need be solved. This is then: x range , q ' = j = 1 m .times. .times. b ramge , j .times. .alpha. q .function. ( .chi. j ) q = 1 N .times. .times. .alpha. q .function. ( .chi. j ) .times. .alpha. q .function. ( .chi. J ) _ , ##EQU00041## where b.sub.range,j is the component of the vector b.sub.range corresponding to the complex-valued scalar linear acoustic quantity at the control point which is intended to represent the maximum output required by the user. [0230] It should be noted that this method does not need to be applied to the `range` system. It may be applied directly to the intended transducer drive, although the fluctuations in efficiency may cause excess signal noise in the case that this is used repeatedly in a loop over time. [0231] H. Transform Matrix [0232] In another embodiment, we can modify the basis for which we are solving using a matrix, referred to from here as a `transform matrix`, T. This is applied by solving, ATx'=b', where x' represents a new activation solution distinct from x and b' is a distinct output goal. T must be a square matrix with dimension equal to the number of transducers. A solution is generated by taking the pseudoinverse, x'=(AT).sup.+b'. [0233] One way for this solution to be useful is to relate b' to real-world units. This can be accomplished by relating b' which uses indefinite units to b which uses units related to the transducer function .alpha..sub.q (.chi..sub.j). As this is an underdetermined problem, there is room to add more restrictions to x'. In particular, we can enforce the original problem on the new solution, Ax'=b. This allows us to write the following relationship between b and b', b'=ATA.sup.+b, where A.sup.+ is the pseudoinverse of A. The transform matrix can therefore modify the activation solution while substantially maintaining the original output goals. [0234] While arbitrary matrices can be used as T, purely diagonal transform matrices are the easiest to understand and predict their effect. For instance, a transform matrix with values near 1.0 for some entries and near 0.0 for others will emphasize the transducers corresponding to the 1.0 values while attenuating the others. A possible use for this would be to rotate the transducers being used by periodically changing the locations of the near-1.0 values thereby reducing the overall duty-cycle of the average transducer, possibly extending the life of the array. [0235] Rather than an infrequently-changed transform matrix, another useful embodiment of this method is to have T be a function of A. This allows for dynamic modification of the apodization of the array (FIG. 19). Possible functions include but are not limited to, forming a diagonal matrix from the diagonal entries of A while applying an operator in the process. For instance, taking the absolute value squared (or larger value) of the diagonal entries of A and using those values for the diagonal entries of T (leaving everything else 0) has the effect of weighting the output for each transducer based upon the square (or larger value) of the transducer function .alpha..sub.q (.chi..sub.j) in magnitude. This increases the apodization of the array related to the exponent used. Another possible operator is a threshold function such as 1.0 for diagonal values over some pre-determined threshold value and a small values (such as 0.1) for values under the threshold. An example of this is given in FIG. 3. A benefit of this approach is the threshold function is simple to calculate and, when no transducers are above the threshold, the solution will be substantially similar to the original A, with the transformation only being heavily applied when circumstances put transducer activation over the pre-determined threshold. [0236] The steps involved is using the transformation matrix are as follows, 1. Calculate A as normal; 2. Determine T; [0237] 3. Calculate b' from b'=ATA.sup.+b; and 4. Calculate x' from x'=(AT).sup.+b'. [0238] It must be noted that while the equations above imply a perfect solution, the pseudoinverse (also known as the Moore-Penrose inverse) is only the true inverse if the matrix is invertible. This is not guaranteed in this formulation. As a result, the final solution x' may not exactly satisfy Ax'=b, and as a result will fail to reproduce the desired pressures in b. In general, the less extreme transform matrix is (in magnitude and in similarity between entries in T), the closer the resulting solution is to achieving the constraints in b. If a given formulation of T is not achieving sufficient performance, an iterative guess-and-check method can improve the solution. This is done by first calculating x', then performing the multiplication Ax' and comparing the results to b. The resulting average proportional difference in each element can be calculated and x' can be scaled appropriately (being careful to keep maximum activation below or equal to full-drive). Multiple iterative steps can be implemented to further improve performance. [0239] Turning to FIGS. 19A, 19B, and 19C, shown are example outputs 1900 using a transformation matrix using a 256-element rectilinear array of 40 kHz transducers with 10.3 cm pitch. Units for the left 3 figures 1910, 1930, 1950 are mm while the right figures 1920, 1940, 1960 are m. The key 1925, 1945, 1965 is the amplitude of the transducer drive relative to maximum drive (1.0). [0240] The right 3 figures 1920, 1940, 1960 show activation amplitudes per transducer for different T matrix designs while the left 3 figures 1910, 1930, 1950 show simulated pressure at z=20 cm with white colors being higher pressure than dark colors. The solutions are attempting to create a high-pressure point at [x,y,z]=[8,0,20]cm. FIG. 19A s show a normal pressure solve without using a transform matrix. FIG. 19B shows the effect of T where T is defined as the diagonal elements of A, magnitude squared. FIG. 19C shows another application of T where T first takes the diagonal elements of A and then thresholds the output such that if the absolute value of the entree is greater than 0.7, the corresponding value of T is 1.0, if not, it is 0.1. As the apodization is more extreme in each row, the resulting focus points pressure is only diminished slightly whereas the grating lob at approximately x=-0.125 mm is diminished much more. [0241] V. Momentum Tensor Corrections for Mid-Air Haptic Systems. [0242] A. Solving for the Phased Array Drive to Generate the Linear Acoustic Quantity [0243] Traditionally, the linear system is described in terms of linear combinations of complex-valued transducer generated fields and their drive coefficients. This produces a matrix, where for m control points and N transducers, the matrix A is N columns by m rows and consists of the generated complex valued signal by each transducer q.di-elect cons.{1, . . . , N} at the location of each control point j.di-elect cons.{1, . . . , m}. [0244] Using .alpha..sub.q(.chi..sub.j) to describe a complex-valued scalar linear acoustic quantity .alpha. measured at a position offset from the transducer element q by the translation vector .chi..sub.j, which may evaluate to be acoustic pressure or an acoustic particle velocity in a chosen direction, the matrix A may be written: A = [ .alpha. 1 .function. ( .chi. 1 ) .alpha. N .function. ( .chi.x 1 ) .alpha. 1 .function. ( .chi. m ) .alpha. N .function. ( .chi. m ) ] , ##EQU00042## [0245] This, for a number of control points fewer than the number of acoustically active transducer elements can then be placed into a complex-valued linear system wherein a sample vector b={.alpha..sub.C1(.chi..sub.1), . . . , .alpha..sub.Cm(.chi..sub.m)} represents the desired total linear scalar complex-valued acoustic quantity (either p.sub. or u.sub.{circumflex over (n)}) where the amplitudes are desired amplitudes of the acoustic quantity (either .parallel.p.sub..parallel. or .parallel.u.sub.{circumflex over (n)}.parallel.) and the phases are those taken from the phase oracle (which may have been user-influenced). In this linear system described as Ax=b, the x vector is then the initial field coefficients for each transducer element, which may be used to drive a real transducer element, resulting in the recreation of the acoustic field desired. This may then be solved in a loop to provide a system that changes over time. [0246] As this is matrix A is not square, and the degrees of freedom number more than the constraints, this is termed a `minimum norm` system. It is `minimum norm` because as there are infinitely many solutions, the most expeditious solution is the one which achieve the correct answer using the least `amount` of x--the solution x with minimum norm. To achieve this, some linear algebra is used to create a square system from the minimum norm system Ax=b: A H .times. Ax = A H .times. b , .times. ( A H .times. A ) - 1 .times. A H .times. Ax = x = ( A H .times. A ) - 1 .times. A H .times. b , ##EQU00043## [0247] This A.sup.HA is now N columns by N rows and given that the number of transducers is often very large this is an equivalently large matrix, and since any solution method must invert it, with it, this is not an efficient method. A more accessible approach is to create a substitution A.sup.Hz=x, before applying a similar methodology: Cz = AA H .times. z = Ax = b , .times. z = C - 1 .times. b = ( AA H ) - 1 .times. b , ##EQU00044## [0248] This time around, as C=AA.sup.H is a mere m columns by m rows, this result is a much smaller set of linear equations to work through. The vector z can be converted into x at any time so long as A.sup.H can be produced. [0249] However, this does not end here. This approach is not just a fortuitous set of symbolic manipulations, the change of variables from the complex-valued vector that describes the drive of individual transducer elements x to the much lower dimensional z has further meaning. Each complex-valued component of z can be viewed as a complex-valued drive coefficient that pre-multiplies a focusing function which generates a focus from all of the individual transducer fields, wherein the focal point is co-located with each individual control point. For m control points therefore, there are m such focusing functions, and they can be viewed as defining a complex vector space m where points in this space correspond to possible configurations of these m `focus points`. [0250] B. Dynamic Ranging--a Mechanism to Ensure that Waveforms are Reproducible [0251] To ensure that at no point the user tries to generate a waveform at any control point that is not possible using the hardware, it is important to limit the level of acoustic output. This is achieved by using a second b vector, termed b.sub.range. The components of this vector b.sub.range are defined as the largest that the user may ask for at any point. The resulting solution z.sub.range, is then the solution that is most taxing on the hardware. As z.sub.range is a point in the complex vector space .sup.m, and this is linearly related to the acoustic output from the transducer, this must be the most extreme outlier. This is evaluated through pre-multiplication by A.sup.H to produce x.sub.range. This z.sub.range tells us how to relate the worst-case performance to the real capabilities of the device, so the maximum amplitude drive from all transducers in z.sub.range is used to divide through the maximum output allocation of each point, as these are linear. The phase oracle (the algorithm that predicts the best set of phases to use) is then applied to b.sub.range, to ensure that the worst case phase interactions are captured. This ensures the device is never asked to produce an unrealistic output that could result in undefined behavior. [0252] C. Control Point Relations [0253] A control point specifies both amplitude and phase of the carrier. For many applications, the phase is immaterial, so it can be chosen to maximize the amplitude available at the control points in space. [0254] Representing the control point activation Y.sub.c as a complex value can be written: Y c = c .times. e i .times. .times. .PHI. c . ##EQU00045## [0255] To find the effect that the activation of a control point via its transducer basis set has on other control points, the phase of the control point must be set to a reference point, the most suitable being unit amplitude and zero phase. Denoting this unit amplitude and zero phase activation Y'.sub.c0=1, then defining the set of .alpha..sub.c=[.alpha..sub.1(.chi..sub.c), . . . , .alpha..sub.q(.chi..sub.c), . . . , .alpha..sub.N(.chi..sub.c)], the transducer drives required to generate Y'.sub.c0 may be written: Y ' c .times. 0 = Y c .times. 0 .alpha. c , .times. Y c .times. 0 = .alpha. c _ .alpha. c .alpha. c _ , ##EQU00046## where Y.sub.c0 is the vector of N transducer activations Y.sub.c0=[Y'.sub.1;c0, . . . , Y'.sub.q;c0, . . . , Y'.sub.N;c0] required to generate the control point activation Y'.sub.c0. [0256] Given an activation coefficient for a transducer Y'.sub.q;c0 the effect of that on another point .gamma. in the acoustic field can be found as .alpha.'.sub.q;c0(.chi..sub..gamma.)=Y'.sub.q;c0 .alpha..sub.q(.chi..sub..gamma.). With this, the total effect of activating one point with a given amplitude .sub.c and phase e.sup.i.PHI..sup.c has on another in the field can be found as the scaling of the unit amplitude effect, which when summed over all transducers is: .alpha. ' .OMEGA. ; c .times. 0 .function. ( .chi. .gamma. ) = c .times. e i.PHI. c .times. .alpha. .gamma. .alpha. c _ .alpha. c .alpha. c _ . ##EQU00047## [0257] D. Control Point Relations Matrix [0258] From this statement of .alpha.'.sub..OMEGA.;c0(.chi..sub..gamma.), a matrix may be constructed such that multiplying from the right is an application of the activations l'=[.sub.1e.sup.i.PHI..sup.1, . . . , m.sup.i.PHI..sup.m].sup.T of all control points to the acoustic field at a point. Then maximising the efficiency of this by allowing the phases .PHI..sub.1, . . . , .PHI..sub.m to change is the aim. The amplitudes may be taken out of l' and placed into the matrix, leaving l=[e.sup.i.PHI..sup.1, . . . , e.sup.i.PHI..sup.m].sup.T, then yielding the final eigensystem matrix: R = [ 1 .times. .alpha. 1 .alpha. 1 _ .alpha. 1 .alpha. 1 _ r .times. .alpha. 1 .alpha. r _ .alpha. r .alpha. r _ m .times. .alpha. 1 .alpha. m _ .alpha. m .alpha. m _ 1 .times. .alpha. r .alpha. 1 _ .alpha. 1 .alpha. 1 _ r .times. .alpha. r .alpha. r _ .alpha. r .alpha. r _ m .times. .alpha. r .alpha. m _ .alpha. m .alpha. m _ 1 .times. .alpha. m .alpha. 1 _ .alpha. 1 .alpha. 1 _ r .times. .alpha. m .alpha. r _ .alpha. r .alpha. r _ m .times. .alpha. m .alpha. m _ .alpha. m .alpha. m _ ] , ##EQU00048## If a diagonal matrix is defined to be: K = [ 1 .alpha. 1 .alpha. 1 _ 0 0 m .alpha. m .alpha. m _ ] , ##EQU00049## then: R=KC. In this case, it is clear that the statement of the eigenproblem Rl=.lamda.l satisfies the criteria for the best phases to drive the control points with this configuration of amplitudes when .lamda. is largest--where l describes the dominant eigenvector of the matrix R. [0259] E. Finding the Dominant Eigenvector--Power Iteration [0260] The phase oracle is then mostly comprised of an implementation of the power iteration, a simple method to find the dominant eigenvector which corresponds to largest eigenvalue of a matrix. Where the eigenproblem is stated as Rl=.lamda.l, it can be stated as: l 0 = lim y .fwdarw. .infin. .times. R y .times. l i .times. n .times. p .times. u .times. t R y .times. l i .times. n .times. p .times. u .times. t , ##EQU00050## where l.sub.input must not be orthogonal to the dominant eigenvector and .lamda..sub.0 must be strictly greater than the other eigenvalues. As R is a complex-valued matrix and l.sub.input is a complex-valued vector, then the j.sup.th component of the final vector b and b.sub.range can be written as: b range , j = l 0 , j | l 0 , j | .times. b user , range , j , .times. b j = l 0 , j | l 0 , j | .times. b u .times. s .times. e .times. r , j , ##EQU00051## since only the phase is taken from the dominant eigenvector result. As such: l 0 , j | l 0 , j | , ##EQU00052## is the result of this exemplar phase oracle. [0261] To summarize, in this disclosure it is shown that existing methods used to derive the exerted haptic force for a mid-air haptic system onto a human body part are based on incorrect physical assumptions. Further, a method is provided to modify a mid-air haptic system to reduce a problem scenario including boundaries at the human body parts to a free-field system that may be formulated as a linear system such that correct force vectors are then produced. [0262] F. Derivation of Acoustic Quantities [0263] Taking the equation of state for an ideal gas: p=.rho.RT, where .rho. is the density, p is the pressure, R is the ideal gas constant and T is the temperature. For a constant volume, all three variables depend on the entropy of the system. [0264] Acoustics is often described mathematically by applying a perturbative expansion to the equation of state. Due to acoustics being generally concerned with fluctuations that do not change the entropy of the underlying medium, so an isentropic perturbative expansion that freezes the degree of freedom related to entropy change in the equations of state is generally chosen. In this case, where the subscript zero denotes the state of the system at rest, the pressure may then be related isentropically to density as: p p 0 = ( .rho. .rho. 0 ) .gamma. , ##EQU00053## where .gamma. is the ratio of specific heats. [0265] To derive equations for the physics of acoustics, it can be written: .rho. = .rho. 0 + .rho. ' , p = p 0 + p ' , ##EQU00054## where the dashed quantities refer to perturbations. Collecting terms and using a Taylor expansion yields: p 0 + p ' p 0 = ( 1 + .rho. ' .rho. 0 ) .gamma. , p ' = .gamma. .times. p 0 .rho. 0 .times. .rho. ' + 0 .times. ( ( .rho. ' ) 2 ) , ##EQU00055## then using the substitution for the square of the speed of sound c.sub.0.sup.2=.gamma.p.sub.0/p.sub.0, p ' = c 0 2 .times. .rho. ' + 0 .times. ( ( .rho. ' ) 2 ) . ##EQU00056## The mass and momentum balance equations (as taken from the Euler equations of fluid dynamics) for this closed volume of an inviscid and adiabatic but compressible fluid may be written: .rho. .function. ( .differential. .differential. t + u .gradient. ) = - .rho. .function. ( .gradient. u ) , .times. .rho. .function. ( .differential. u .differential. t + u ( .gradient. u ) ) = - .gradient. p , ##EQU00057## where u is the velocity of the medium. Considering the first-order effects (with subscript 1) of perturbations of the fluid at rest (with subscript 0) and ignoring terms that are higher than first-order or evaluate to zero gives: .differential. .rho. 1 .differential. t = - .rho. 0 .function. ( .gradient. u 1 ) , .times. .rho. 0 .times. .differential. u 1 .differential. t = - .gradient. p 1 , ##EQU00058## Taking the derivative with respect to time of the first-order mass balance equation yields: .differential. 2 .times. .rho. 1 .differential. t 2 = - .gradient. .rho. 0 .times. .differential. u 1 .differential. t , ##EQU00059## then substituting both the first-order momentum balance equation and the relationship between the perturbations of the pressure and density yields the wave equation in density as: .differential. 2 .times. .rho. 1 .differential. t 2 = c 0 2 .times. .gradient. 2 .times. .rho. 1 . ##EQU00060## Further, taking the time derivative of the first-order momentum balance equation and substituting the relationship between the perturbations of the pressure and density and then finally substituting the first-order mass balance equation yields the wave equation in velocity as: .differential. 2 .times. u 1 .differential. t 2 = c 0 2 .times. .gradient. 2 .times. u 1 . ##EQU00061## All sinusoids are solutions to the wave equation, so writing the solutions in space and time as a general complex exponential gives the set of linear acoustic perturbations as: .rho. 1 .function. ( x , t ) = .rho. 1 .function. ( x ) .times. e - i .times. .times. .omega. .times. .times. t , .times. p 1 .function. ( x , t ) = c 0 2 .times. .rho. 1 .function. ( x ) .times. e - i .times. .times. .omega. .times. .times. t , .times. u 1 .function. ( x , t ) = u 1 .function. ( x ) .times. e - i .times. .times. .omega. .times. .times. t , ##EQU00062## where by convention .omega.=2.pi.f describes the angular frequency, meaning that each of the quantities for a single frequency .omega. can be written as a complex-valued field in space that is harmonic in time. [0266] Second-order perturbations may now be defined as any further parts of .rho., p or u that do not describe the fluid at rest or belong to the solutions of the wave equation and so are described as nonlinear acoustics. [0267] Considering the second-order effects (with subscript 2) of perturbations of the fluid at rest and ignoring terms that are higher than second-order, belong to the first-order equations or are zero gives new second-order momentum balance equation as: .rho. 1 .times. .differential. u 1 .differential. t + .rho. 0 .function. ( u 1 .gradient. u 1 ) = - .gradient. p 2 , ##EQU00063## where terms involving u.sub.2 have been removed as if it is non-zero then the fluid cannot be starting at rest. Then using the first-order momentum equation and the relationship between the perturbations of the pressure and density, the equation may be rewritten: .gradient. p 2 = p 1 .times. .gradient. p 1 c 0 2 .times. .rho. 0 - .rho. 0 .function. ( u 1 .gradient. u 1 ) . ##EQU00064## [0268] Using the product rule the two terms may be rewritten in terms of squares yielding: .gradient. p 2 = .gradient. p 1 2 2 .times. c 0 2 .times. .rho. 0 - .rho. 0 .times. .gradient. u 1 2 2 , ##EQU00065## then time-averaging over the wave period and integrating to remove the gradients gives: p 2 = p 1 2 2 .times. c 0 2 .times. .rho. 0 - .rho. 0 .times. u 1 2 2 , ##EQU00066## where angular brackets denote time-averages as: X = 1 .tau. .times. .intg. 0 .tau. .times. X .function. ( t ) .times. .times. dt , ##EQU00067## where .tau. is defined such that oscillatory behaviour may be neglected. [0269] G. Derivation of Momentum and Energy Flux [0270] The momentum and energy conservation equations for a volume of an inviscid and adiabatic but compressible fluid can be written in conservation form (with a zero right hand side) when the volume has no sources or sinks as: .differential. .rho. .times. .times. u .differential. t + .gradient. .PI. = 0 , .times. .differential. .rho. .times. .times. E .differential. t + .gradient. = 0 , ##EQU00068## where E=.rho.(uu/2+e) and e is the internal energy of the ideal gas, the momentum flux tensor .PI. and energy flux vector E may be written: .PI.=(.rho.uu)-pI, .epsilon.=.rho.(uu/2+e)u+pu, where I is here the identity tensor and denotes the outer product. [0271] Considering the general component of the momentum flux tensor .PI. when time-averaged for an acoustic field in this medium and again discarding terms higher than second-order or zero yields: .PI. jk = .rho. 0 .times. u 1 , j .times. u 1 , k + p 2 .times. .delta. jk , ##EQU00069## where j and k are spatial indices and .delta..sub.jk represents the Kronecker delta. [0272] Considering the energy flux vector .epsilon., again time-averaged for the acoustic field and discarding terms higher than second order or zero gives: .epsilon.=e.sub.0.rho..sub.1u.sub.1+.rho..sub.0e.sub.1u.sub.1+p.sub.1u.s- ub.1. [0273] As the perturbation in internal energy e.sub.1 is a small variation about the internal energy e.sub.0 of the fluid at rest, then the fundamental thermodynamic relation de=T ds-p dV may be invoked to take derivatives at constant entropy, giving (since ds=0 and dV=1/.rho.): de d .times. .times. .rho. = p .rho. 2 , e 1 = de d .times. .times. .rho. .times. .rho. 1 = p .rho. 2 .times. .rho. 1 , ##EQU00070## then substituting results in: = ( e 0 + p .rho. 2 .times. .rho. 0 ) .times. .rho. 1 .times. u 1 + p 1 .times. u 1 , ##EQU00071## but since .rho..sub.1u.sub.1 is mass flux and the field is acoustic, then this time-average must be zero yielding finally that the energy flux vector is equivalent to the acoustic intensity I: E=I=p.sub.1,u.sub.1. [0274] H. Potential and Kinetic Energy in Acoustics and their Role in Momentum Flux [0275] Considering the total energy of the fluid perturbed by the acoustic field and noticing that because the internal energy e is a thermodynamic quantity that proceeds from the equation of state it must be a function of density yields: .rho.E=.rho.uu/2+.rho.e(.rho.), then a Taylor expansion for (.rho.e)(.rho..sub.0+.rho..sub.1) is permitted yielding after discarding terms higher than second-order or zero: .rho. .times. .times. E = .rho. 0 .times. e 0 + .rho. 1 .times. d .times. .times. .rho. .times. .times. e d .times. .times. .rho. .times. ( .rho. 0 ) + 1 2 .times. p 1 2 .times. d 2 .times. .rho. .times. .times. e d .times. .times. .rho. 2 .times. ( .rho. 0 ) + 1 2 .times. .rho. 0 .function. ( u u ) , ##EQU00072## where the derivatives are evaluated at .rho..sub.0 as per the Taylor expansion. Invoking the same thermodynamic relation as before yields for the derivatives: de d .times. .times. .rho. = p .rho. 2 , dp d .times. .times. .rho. = c 0 2 , .times. d .times. .times. .rho. .times. .times. e d .times. .times. .rho. = e .times. d .times. .times. .rho. d .times. .times. .rho. + .rho. .times. de d .times. .times. .rho. = e + p .rho. , .times. d 2 .times. .rho. .times. .times. e d .times. .times. .rho. 2 = de d .times. .times. .rho. + 1 .rho. .times. dp d .times. .times. .rho. + p .times. d .times. .times. .rho. - 1 d .times. .times. .rho. = c 0 2 .rho. , ##EQU00073## then substituting and evaluating at .rho..sub.0 gives: .rho. .times. .times. E = .rho. 0 .times. e 0 + .rho. 1 .function. ( e 0 + p .function. ( .rho. 0 ) .rho. 0 ) + 1 2 .times. .rho. 1 2 .times. c 0 2 .rho. 0 + 1 2 .times. .rho. 0 .function. ( u u ) , ##EQU00074## where .rho..sub.0e.sub.0 is the internal energy of the volume at rest and .rho..sub.1 is the perturbation in density and so change in mass of the volume over the wave period, so time-averaging and giving only terms relevant to the acoustic field results in the total energy of the acoustic field in the volume as: .rho. .times. .times. E ' = 1 2 .times. .rho. 1 2 .times. c 0 2 .rho. 0 + 1 2 .times. .rho. 0 .times. u 1 2 = p 1 2 2 .times. c 0 2 .times. .rho. 0 + .rho. 0 .times. u 1 2 2 , ##EQU00075## where E' denotes the energy with respect to the acoustic wave in particular. [0276] Clearly, the second term is the kinetic energy and therefore the first term must be the potential energy: KE = .rho. 0 .times. u 1 2 2 , .times. PE = p 1 2 2 .times. c 0 2 .times. .rho. 0 , ##EQU00076## where KE is a shorthand for kinetic energy and PE a shorthand for potential energy, respectively. [0277] The second order pressure can then be immediately rewritten as: p.sub.2=PE-KE. [0278] Further, the general momentum flux tensor element may be considered to be: .PI..sub.jk=.rho..sub.0.parallel.u.sub.1.sup.2.parallel.{circumflex over (n)}.sub.j{circumflex over (n)}.sub.k+p.sub.2.delta..sub.jk=2KE{circumflex over (n)}.sub.j{circumflex over (n)}.sub.k+(PE-KE).delta..sub.jk. [0279] I. Momentum Exchange with Planar Surfaces [0280] At a surface separating two acoustic media there are generally three distinct acoustic fields. These represent the waves incident upon, reflected from and refracted through the surface. Considering each volume element in the incident field (the field as it would be given the free field condition and acoustic sources without the second medium), at the position of the boundary, the reflected field and refracted field may also be evaluated as also distinct free field systems at the boundary, wherein the reflected field is present only in the first medium and refracted only in the second. These notionally non-interacting and unphysical free fields are then composed such that the boundary respects the properties of the two media and conserved quantities, yielding quantitative behavior. [0281] Without loss of generality, the coordinate system may be fixed such that the planar surface separating the two acoustic media has a single unit x-component, such that the surface occupies x=0. In this case, only the .PI..sub.xx component of the momentum flux need be considered, because this is the only direction along which forces may act, yielding the momentum flux for an acoustic field as: .PI. xx = .rho. 0 .times. u 1 2 .times. n
x 2 + p 1 2 2 .times. c 0 2 .times. .rho. 0 - .rho. 0 .times. u 1 2 . ##EQU00077##
[0282] The superposition of two acoustic fields may be obtained by expressing the acoustic pressures p.sub.1 and components of the medium particle velocity u.sub.1={u.sub.x,1, u.sub.y,1} as complex numbers p.sub., u.sub.,x, u.sub.,y that define the spatial harmonic field and then adding them together. As only the real part has physical significance at any value of t, then the time average of say p.sup.2 can be expressed relative to the complex-valued harmonic field value (a+ib) as:
.times. p l = ( a + ib ) , p = p l .times. exp .function. ( i .times. .times. .omega. .times. .times. t ) , .times. p 2 = 1 .tau. .times. .intg. 0 .tau. .times. .function. ( ( ( a + ib ) .times. exp .function. ( i .times. .times. .omega. .times. .times. t ) ) 2 ) .times. dt = 1 2 .times. ( a 2 + b 2 ) = 1 2 .times. ( a + ib ) .times. ( a - ib ) = 1 2 .times. p l 2 . ##EQU00078##
so the pressures and the particle velocity values for two acoustic free field systems can then be summed to generate time-averaged values for the squares of the field quantities.
[0283] As the incident acoustic field and reflected acoustic field are both present in the first medium, they may be summed using the principle of superposition. The reflected wave undergoes a transformation during this process. This is in two parts, the first assumes that the amplitude decays due to the presence of some transmission into the second medium and a phase offset occurs on reflection from the boundary, so this is modelled with a complex coefficient on the reflected wave, exp(.mu.+iv), so then exp(.mu.) is the amplitude of the attenuated wave (as a proportion of unity so it may be expressed relative to the incident wave) and .nu. the angle of the phase shift undergone during reflection. The second change is the particle velocity is reflected across the surface, negating the x-component of the velocity u.sub.x,1 and so also u.sub.,x before being added, so this component will be reduced in the superposed field. The momentum flux for this superposed incident and reflected acoustic field may then be written in terms of the complex-valued pressure and particle velocity of only the incident field as:
.PI. incident .times. & .times. .times. reflected = 1 2 .times. ( p l 2 2 .times. c a 2 .times. .rho. a + .rho. a .function. ( u l 2 .times. .times. cos 2 .times. .times. .theta. a - 1 2 .times. u l 2 ) ) .times. .times. ( exp .function. ( 2 .times. .mu. ) + 1 ) + 1 2 .times. ( p l 2 2 .times. c a 2 .times. .rho. a - 1 2 .times. .rho. a .times. u l 2 ) .times. .times. exp .function. ( .mu. ) .times. .times. cos .times. .times. v . ##EQU00079##
[0284] Assuming a similar amplitude change and phase shift on the transmitted wave as exp(.dwnarw.'+iv'), then the wave that underwent refraction may be found as:
.PI. refracted = 1 2 .times. ( p l 2 2 .times. c b 2 .times. .rho. b + .rho. b .function. ( u l 2 .times. .times. cos 2 .times. .times. .theta. b - 1 2 .times. u l 2 ) ) .times. .times. exp .function. ( 2 .times. .mu. ' ) , ##EQU00080##
so any phase shift .nu.' on the transmitted wave will have no effect on the momentum flux. The angle .theta..sub.b may be obtained using Snell's law.
[0285] Composing the two free fields for the different materials is valid so long as the conserved quantities on the interface agree, so the two free fields may be evaluated at the same point (such as the origin) using this assumption. Placing momentum flux from the first material a on the left and the second material b on the right gives the apparent pressure p.sub.app as:
.PI..sub.incident & reflected=.PI..sub.refracted+p.sub.app,
so:
p.sub.app=.PI..sub.incident & reflected-.PI..sub.refracted.
[0286] In this case, the term apparent pressure is used to distinguish this quantity from the other expressions of pressure that assume free field conditions--the pressure here is contingent on the existence of the surface.
[0287] The general case involves spatially varying momentum flux fields that do not have the same value in all space. They may be evaluated point-wise to obtain an infinitesimal force on an infinitesimal surface, which is a pressure only valid at that location, or integrated over a larger area, adjusting the reflected field before superposition if necessary to generate a force on that area.
[0288] J. Far Field Approximation
[0289] Turning to FIG. 20, shown is a diagram 2000 of the three waves that are involved in the problem of surface radiation pressure for a far field wave. The incident wave (.alpha.) 2010, reflected wave (.beta.) 2020 and refracted wave (.gamma.) 2030 may be represented by simple velocity potentials that are defined globally. Although in many cases the reflected wave (.beta.) 2020 or refracted wave (.gamma.) 2030 may have zero amplitude, the problem involving all three may be considered without loss of generality. Angles .theta..sub.a 2040 and .theta..sub.b 2050 made by the wave propagation directions with the surface normal 2060 in the two materials are also shown.
[0290] When the time difference between wave sources is small compared to the wave period the waves are considered to be in the far field. Waves may then be approximated as plane waves, implying that:
p.sub.1=c.sub.0.rho..sub.0.parallel.u.sub.1.parallel..
but substituting into the expression for .rho.E' reveals that this approximation makes the terms for potential energy and kinetic energy equal.
[0291] As the plane wave carries its energy as it travels, this implies:
c.sub.0.rho.E'{circumflex over (n)}=.epsilon.=I=p.sub.1u.sub.1=c.sub.0.rho..sub.0.parallel.u.sub.1.sup.2- .parallel.{circumflex over (n)},
meaning that in this case the momentum flux tensor element can be written in terms of the time-averaged energy flux, acoustic Poynting vector or acoustic intensity .epsilon. as:
.PI. jk far = c 0 .times. n
j .times. n
k , ##EQU00081##
shadowing the equivalent result for electromagnetic fields.
[0292] Following Landau and Lifshitz (Fluid Mechanics 3.sup.rd edition, Landau and Lifshitz, pp. 255-256), the three distinct plane waves representing the wave incident upon, reflected from and refracted through the infinite planar surface separating acoustic media may be given as velocity potentials:
.PHI. .alpha. = A .alpha. .times. exp .function. ( i .times. .times. .omega. .function. ( ( 1 .times. / .times. c a ) .times. ( y .times. .times. sin .times. .times. .theta. a + x .times. .times. cos .times. .times. .theta. a ) - t ) ) , .times. .PHI. .beta. = A .beta. .times. exp .function. ( i .times. .times. .omega. .function. ( ( 1 .times. / .times. c a ) .times. ( y .times. .times. sin .times. .times. .theta. a - x .times. .times. cos .times. .times. .theta. a ) - t ) ) , .times. .PHI. .gamma. = A .gamma. .times. exp .function. ( i .times. .times. .omega. .function. ( ( 1 .times. / .times. c b ) .times. ( y .times. .times. sin .times. .times. .theta. b + x .times. .times. cos .times. .times. .theta. b ) - t ) ) , ##EQU00082##
from whose definitions it is clear that the wavefront normal vectors may be described as:
n
.alpha. = { + cos .times. .times. .theta. a , + sin .times. .times. .theta. a } , .times. n
.beta. = { - cos .times. .times. .theta. a , + sin .times. .times. .theta. a } , ##EQU00083## {circumflex over (n)}.sub..gamma.={+cos .theta..sub.b,+sin .theta..sub.b}.
[0293] Using the equivalence between potential and kinetic energy and substituting into the equation for p.sub.app yields:
p app far = 1 2 .times. .rho. a .times. u l 2 .times. .times. cos 2 .times. .times. .theta. a .times. .times. ( exp .function. ( 2 .times. .mu. ) + 1 ) - 1 2 .times. .rho. b .times. u l 2 .times. .times. cos 2 .times. .times. .theta. b .times. .times. exp .function. ( 2 .times. .mu. ' ) . ##EQU00084##
which is equivalent to the result in Landau and Lifshitz:
p app far = .rho. a .function. ( E .alpha. ' + E .beta. ' ) .times. .times. cos 2 .times. .times. .theta. a - .rho. b .times. E .gamma. ' .times. .times. cos 2 .times. .times. .theta. b . ##EQU00085##
[0294] This simple result is possible because the momentum flux is constant for the whole of the field hosted by material a.
[0295] K. Perfect Reflector Approximation
[0296] Turning to FIG. 21, shown is a diagram 2100 of the three waves 2110, 2120, 2130 that are involved in the problem of surface radiation pressure for a focused wave in the near field of a phase array of acoustic sources. This figure shows a 0-degree phase offset from the case where the reflected wave is not modified in phase upon reflection. The incident wave (.alpha.) 2110, reflected wave (.beta.) 2120 and refracted wave (.gamma.) 2130 are pictured by ray tracing a phased array of acoustic source elements 2170, each represented by a monopole velocity potential source. Note that crossing into another domain with a different wavelength heavily distorts the focal region in the new material due to spherical aberration. Angles .theta..sub.a 2140 and .theta..sub.b 2150 made by the wave propagation directions with the surface normal 2160 in the two materials are also shown.
[0297] If the acoustic near-field is instead incident onto a perfect reflector, then even in this complicated case the equations simplify to:
p app reflect = 1 2 .times. .rho. a .times. u l 2 .times. .times. cos 2 .times. .times. .theta. a + 1 2 .times. ( 1 + cos .times. .times. v ) .times. ( p l 2 2 .times. c a 2 .times. .rho. a - 1 2 .times. .rho. a .times. u l 2 ) , ##EQU00086##
so in this case, the appearance of the non-linear term is totally dependent on the phase angle of the reflection. If the reflection undergoes a 0.degree. phase shift, then this may be again simplified to:
p app reflect , 0 .times. .degree. = 1 2 .times. .rho. a .times. u l 2 .times. ( cos 2 .times. .times. .theta. a - 1 ) + p l 2 2 .times. c a 2 .times. .rho. a , ##EQU00087##
If the reflection is instead 180.degree. phase shifted, then it instead simplifies to:
p app reflect , 180 .times. .degree. = 1 2 .times. .rho. a .times. u l 2 .times. .times. cos 2 .times. .times. .theta. a . ##EQU00088##
[0298] L. Conversion to a Linear Acoustic Quantity
[0299] One useful example of a case wherein a point pressure may be used to infer how the wider solution for the force on a surface behaves is for an acoustic phased array system undergoing focusing, so in the near-field of the array. If the focus has a known profile, then other forces may be inferred from a peak apparent pressure measurement under the assumption that the neighboring wavefield has similar properties.
[0300] The .parallel.u.sub..parallel..sup.2 cos.sup.2 .theta..sub.a term in the calculations above are due to the acoustic wavefront vector and the surface normal vector having a difference, whereby that difference is measured as the angle .theta..sub.a. If we attribute a normal vector {circumflex over (n)} to the surface normal vector and not the wave direction vector and solve in terms of u.sub.{circumflex over (n)}, then it is clear that:
.parallel.u.sub.{circumflex over (n)}.parallel..sup.2=.parallel.u.sub..parallel..sup.2 cos.sup.2.theta..sub.a,
since u.sub. is by definition parallel to the wavefront normal vector. Then, defining:
c p .times. / .times. u . n = p l c a .times. .rho. a .times. u l n
, ##EQU00089##
c u .times. / .times. u . n = u l u l n
, ##EQU00090##
the momentum flux differences may then be written:
p app reflect , 0 .times. .degree. = 1 2 .times. .rho. a .times. u l n
2 .times. ( 1 + c p .times. / .times. u . n 2 - c u .times. / .times. u . n 2 ) . ##EQU00091##
so therefore in the case of a 0.degree. phase shift on reflection the amplitude .parallel.u.sub.{circumflex over (n)}.parallel. of the portion of the medium particle velocity along the normal vector {circumflex over (n)} required as the target amplitude for the linear system to achieve may be related to the desired apparent pressure on the surface by:
u l n
= 2 .times. p app reflect , 0 .times. .degree. .rho. a .function. ( 1 + c p .times. / .times. u . n 2 - c u .times. / .times. u . n 2 ) , ##EQU00092##
or alternatively, for the 180.degree. phase shift case:
u l n
= 2 .times. p app reflect , 180 .times. .degree. .rho. a . ##EQU00093##
[0301] Equally, the conversion constants may be written in terms of pressure, yielding:
c u . n .times. / .times. p = c a .times. .rho. a .times. u l n
.rho. l , .times. c u .times. / .times. p = c a .times. .rho. a .times. u l p l , ##EQU00094##
which in this case makes the momentum flux differences:
p app reflect , 0 .times. .degree. = 1 2 .times. p l 2 c a 2 .times. .rho. a .times. ( 1 + c u . n .times. / .times. p 2 - c u .times. / .times. p 2 ) . ##EQU00095##
so therefore in the case of a 0.degree. phase shift on reflection the amplitude of the acoustic pressure, as this is another linear acoustic quantity that may be solved for, would be required as the target amplitude of the acoustic pressure for the linear system to achieve may be related to the desired apparent pressure on the surface by:
p l = 2 .times. c a 2 .times. .rho. a .times. p app reflect , 0 .times. .degree. 1 + c u . n .times. / .times. p 2 - c u .times. / .times. p 2 , ##EQU00096##
or alternatively, for the 180.degree. phase shift case:
p l = 2 .times. c a 2 .times. .rho. a .times. p app reflect , 0 .times. .degree. c u . n .times. / .times. p 2 . ##EQU00097##
[0302] M. Computing the Value of the Conversion Constants
[0303] Finally, the conversion constants c.sub.un/p, c.sub.u/p, c.sub.p/un and c.sub.p/u must be generated to find the values of .parallel..rho..sub..parallel. or .parallel.u.sub.{circumflex over (n)}.parallel. to solve for. As the constants are used as coefficients to multiply time-averaged quantities, they may be purely real. There are a number of different ways to achieve this, one efficient approximation using only the `primary` wave may be found using the summation of the quantity in the construction of the A matrix (using the linear acoustic quantity present in the A matrix as .alpha.):
c u . n .times. / .times. .alpha. .apprxeq. q = 1 N .times. .times. u l .function. ( .chi. j ) n
j q = 1 N .times. .times. .alpha. q .function. ( .chi. j ) , .times. c u .times. / .times. .alpha. .apprxeq. q = 1 N .times. .times. u l .function. ( .chi. j ) q = 1 N .times. .times. .alpha. q .function. ( .chi. j ) , .times. c p .times. / .times. .alpha. .apprxeq. q = 1 N .times. .times. p l .function. ( .chi. j ) q = 1 N .times. .times. .alpha. q .function. ( .chi. j ) , ##EQU00098##
where by `primary` wave it is meant that the superposition of due to other control points j'.noteq.j, j'.di-elect cons.{1, . . . , m} are not considered in this computation. As the effects on the primary wave are purely a function of position, this is efficient to compute. Alternatively, the properties of the solved field may be queried using the solution vector, such as in the case of a simple linear system construction:
c u . n .times. / .times. .alpha. = k = 1 m .times. .times. q = 1 N .times. .times. z k .times. .alpha. q .function. ( .chi. k ) _ .times. u l .function. ( .chi. j ) n ^ j k = 1 m .times. .times. q = 1 N .times. .times. z k .times. .alpha. q .function. ( .chi. k ) _ .times. .alpha. q .function. ( .chi. j ) , .times. c u .times. / .times. .alpha. = k = 1 m .times. .times. q = 1 N .times. .times. z k .times. .alpha. q .function. ( .chi. k ) _ .times. u l .function. ( .chi. j ) k = 1 m .times. .times. q = 1 N .times. .times. z k .times. .alpha. q .function. ( .chi. k ) _ .times. .alpha. q .function. ( .chi. j ) , .times. c p .times. / .times. .alpha. = k = 1 m .times. .times. q = 1 N .times. .times. z k .times. .alpha. q .function. ( .chi. k ) _ .times. p l .function. ( .chi. j ) k = 1 m .times. .times. q = 1 N .times. .times. z k .times. .alpha. q .function. ( .chi. k ) _ .times. .alpha. q .function. ( .chi. j ) , ##EQU00099##
where A.sup.Hz=x, although clearly the forward and inverse steps do not have to be symmetric--the expression z.sub.k() is intended to derive the transducer drive coefficient for the k.sup.th basis function. Further, this is an exercise in simulating the appropriate quantities, so any suitable simulation model for the acoustic quantities may be used.
[0304] However, this is a circular reference as each of these is required to define z, by necessity either this is computed using the z vector from the previous iteration or as an iterative refinement process. These ratios may have filtering applied to them to remove high-frequency variations that could potentially generate audible noise at other locations in the dynamic acoustic field that is produced from the phased array to generate the forces desired.
[0305] N. General Use of Conversion Constants
[0306] These conversion constants may then be used to cross-convert between units, allowing the apparent pressures to be described in terms of scalar linear acoustic quantities that can be solved for using a linear system and basis functions comprised of relative transducer drives. These can then be converted into transducer drive coefficients. Equally, this can be used to cross-convert between a variety of source units into the solvable scalar linear acoustic quantities and control points driven by surface force vectors can be mixed and matched with control points driven by different units for other ultrasonic use cases.
[0307] Potential source units that may be cross-converted are limited to time-averageable quantities, but within this category this includes but is not limited to, the time-averaged momentum flux difference described here, the time-averaged force due to the Gor'kov potential, the time-averaged squared pressure, the time-averaged squared acoustic particle velocity of the medium (scalar speed), the time-averaged squared velocity along a direction (with an effective cos.sup.2 .theta. scaling), the time-averaged wave energy flux (Poynting) vector, the time-averaged amplitudes of the acoustic pressure, the time-averaged amplitude of the spatial components of the acoustic particle velocity vector of the medium and the time-averaged amplitude of the acoustic particle velocity vector of the medium along a given direction vector.
[0308] These conversion constants may then be used to create an interface wherein conversions may be applied to values given to the control points sent to the phased array. By indicating the type or intent of each of the control points, the appropriate conversion may be inferred automatically.
[0309] Further, the destination scalar linear acoustic quantities may be mixed and matched. As the drive coefficient of the transducer may be used equivalently in both p.sub. and u.sub.{circumflex over (n)}, it is possible to switch between them in the same matrix, effectively making for instance the A matrix:
A = [ ( .alpha. 1 ) 1 .times. ( .chi. 1 ) ( .alpha. 1 ) N .times. ( .chi. 1 ) ( .alpha. m ) N .times. ( .chi. m ) ( .alpha. m ) N .times. ( .chi.x m ) ] , ##EQU00100##
where now (.alpha..sub.1).di-elect cons.{p.sub.,u.sub.{circumflex over (n)}.sub.j}, so the scalar linear acoustic quantities may be mixed within the same matrix (although scale factors may be required for reasons of numerical stability). This is useful in that differing amounts of natural apodization (due to the minimum norm that is implied by the symmetry of forward and inverse steps) occur in the two quantities--the scalar linear acoustic quantity u.sub.{circumflex over (n)} has more implied apodization due to falloff in the function as the wavefront moves away from {circumflex over (n)}--the process being minimum norm will regard power used away from {circumflex over (n)} to be wasted, which is not the case for the p.sub. unit. However, more complicated adaptive schemes including those previously described can work around the implied apodization of the unit, reducing the impact of this effect.
[0310] O. Additional Disclosure
[0311] 1. A method comprising:
(.alpha.) producing an acoustic field from a transducer array having known relative positions and orientations; (b) defining at least one control point wherein each control point [0312] (i) has a known spatial relationship relative to the transducer array; [0313] (ii) has a control point activation coefficient; [0314] (iii) has an indicator describing the type of the control point activation coefficient; [0315] (iv) has an optional direction vector of action; (c) wherein for each control point the source units are inferred from the type and a unit conversion applied to convert from a quantity of source units into a scalar linear acoustic quantity.
[0316] 2. The method of paragraph 1 wherein the vector comprised of scalar linear acoustic quantities contains at least one acoustic pressure.
[0317] 3. The method of paragraph 1 wherein the vector comprised of scalar linear acoustic quantities contains at least one particle velocity of the medium along the direction vector of action.
[0318] 4. The method of paragraph 1 wherein a complex wave field sample matrix is calculated that
(.alpha.) defines the scalar linear acoustic quantity of a first index at control point positions of the first index when: (b) actuations at control point positions of a second index using preset amplitude and zero phase offsets with the scalar linear acoustic quantity of the second index are defined.
[0319] 5. The method of paragraph 4 wherein the complex wave field sample matrix is used to calculate an eigenvector used to further adjust the phase angle of the control point activation coefficients to produce a final phasor vector
[0320] 6. The method of paragraph 5 wherein the final phasor vector is used to solve for the linear combination of focusing activation coefficients.
[0321] 7. The method of paragraph 6 wherein the focusing activation coefficients are convertible into transducer actuation coefficients.
[0322] 8. The method of paragraph 7 wherein the acoustic waves comprise ultrasound waves.
[0323] 9. The method of paragraph 7 wherein the acoustic field is produced by a mid-air haptic feedback system.
[0324] 10. A method comprising:
(.alpha.) producing an acoustic field from a transducer array having known relative positions and orientations; (b) defining at least one control point wherein each control point
[0325] (i) has a known spatial relationship relative to the transducer array;
[0326] (ii) has a control point activation coefficient;
(c) wherein at least one control point is indicated as an apparent haptic pressure along a corresponding direction vector of action; (d) wherein for each control point indicated as an apparent haptic pressure a conversion is applied from the difference of momentum fluxes into a scalar linear acoustic quantity.
[0327] 11. The method of paragraph 10 wherein the vector comprised of scalar linear acoustic quantities contains at least one acoustic pressure.
[0328] 12. The method of paragraph 10 wherein the vector comprised of scalar linear acoustic quantities contains at least one particle velocity of the medium along the direction vector of action.
[0329] 13. The method of paragraph 10 wherein a complex wave field sample matrix is calculated that
(.alpha.) defines the scalar linear acoustic quantity of a first index at control point positions of the first index when: (b) actuations at control point positions of a second index using preset amplitude and zero phase offsets with the scalar linear acoustic quantity of the second index are defined.
[0330] 14. The method of paragraph 13 wherein the complex wave field sample matrix is used to calculate an eigenvector used to further adjust the phase angle of the control point activation coefficients to produce a final phasor vector.
[0331] 15. The method of paragraph 14 wherein the final phasor vector is used to solve for the linear combination of focusing activation coefficients.
[0332] 16. The method of paragraph 15 wherein the focusing activation coefficients are convertible into transducer actuation coefficients.
[0333] 17. The method of paragraph 16 wherein the acoustic waves comprise ultrasound waves.
[0334] 18. The method of paragraph 16 wherein the acoustic field is produced by a mid-air haptic feedback system.
VI. CONCLUSION
[0335] In the foregoing specification, specific embodiments have been described. However, one of ordinary skill in the art appreciates that various modifications and changes can be made without departing from the scope of the invention as set forth in the claims below. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of present teachings.
[0336] Moreover, in this document, relational terms such as first and second, top and bottom, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms "comprises," "comprising," "has", "having," "includes", "including," "contains", "containing" or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises, has, includes, contains a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by "comprises . . . a", "has . . . a", "includes . . . a", "contains . . . a" does not, without more constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises, has, includes, contains the element. The terms "a" and "an" are defined as one or more unless explicitly stated otherwise herein. The terms "substantially", "essentially", "approximately", "about" or any other version thereof, are defined as being close to as understood by one of ordinary skill in the art. The term "coupled" as used herein is defined as connected, although not necessarily directly and not necessarily mechanically. A device or structure that is "configured" in a certain way is configured in at least that way but may also be configured in ways that are not listed.
[0337] The Abstract of the Disclosure is provided to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, various features are grouped together in various embodiments for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separately claimed subject matter.