FULL-ARRAY DIGITAL 3D ULTRASOUND IMAGING SYSTEM INTEGRATED WITH A MATRIX ARRAY TRANSDUCER
20230213649 · 2023-07-06
Inventors
- Kutay Ustuner (Mountain View, CA)
- Chad STEWART (Redwood City, CA, US)
- David DEA (Redwood City, CA, US)
- Jonathan STRODE (Redwood City, CA, US)
- Yusuf Haque (Woodside, CA, US)
- Bicheng William WU (Redwood City, CA, US)
- Charles BRADLEY (Redwood City, CA, US)
- Anming CAI (Redwood City, CA, US)
Cpc classification
G01S15/8925
PHYSICS
G01S7/52047
PHYSICS
G01S7/5208
PHYSICS
G01S15/8927
PHYSICS
International classification
Abstract
Methods and systems for ultrasound imaging and beamforming with a matrix array of transducer elements are provided. Receive signals of each transducer array element are amplified. The amplified receive signal of each transducer array element is digitized. A delay and weight are applied on the amplified and digitized receive signals. The amplified, digitized, delayed, and weighted receive signals are summed across all transducer elements of the matrix array to form a dynamically focused receive beam. An application specific integrated circuit (ASIC) that is integrated with the matrix array of transducer elements performs such steps.
Claims
1. A method for ultrasound imaging and beam forming with a matrix array of transducer elements, the method comprising: a) amplifying receive signals of each transducer array element; b) digitizing the amplified receive signal of each transducer array element; c) applying a delay and weight on the amplified and digitized receive signals; and d) summing across all transducer elements of the matrix array the amplified, digitized, delayed, and weighted receive signals to form a dynamically focused receive beam.
2. The method of claim 1, wherein an application specific integrated circuit (ASIC) is integrated with the matrix array of transducer elements.
3. The method of claim 2, wherein the ASIC performs one or more of steps (a) to (d).
4. The method of claim 3, wherein the ASIC performs all of steps (a) to (d)
5. The method of claim 3, wherein the ASIC performs a subset of steps (a) to (d) and other circuitry performs the remaining steps (a) to (d).
6. The method of claim 2, wherein the ASIC also forms transmit beams.
7. The method of claim 1, where a single receive beam is formed per transmit event.
8. The method of claim 1, where two or more receive beams are formed per transmit event.
9. The method of claim 1, wherein the matrix array is comprised of one or more cMUT transducer elements.
10. The method of claim 1, wherein the matrix array is comprised of one or more pMUT transducer elements.
11. The method of claim 1, wherein the transducer elements of the matrix array are arranged in a square, rotated square, rectangular, parallelogram, hexagonal, circular, or spiral grid.
12. The method of claim 1, wherein amplifying the receive signals applies a depth varying amplification gain to the receive signals.
13. The method of claim 1, wherein a N-bit ADC digitizes the amplified receive signal at a sampling rate Fs.
14. The method of claim 13, wherein the N-bit ADC is a successive-approximation (SAR) ADC.
15. The method of claim 13, wherein the N-bit ADC is a sigma-delta ADC.
16. The method of claim 13, wherein the N-bit ADC is a pipeline ADC.
17. The method of claim 13, wherein the N-bit ADC is a flash ADC.
18. The method of claim 13, wherein the ADC bit count N is 1.
19. The method of claim 13, wherein the ADC input is dithered.
20. The method of claim 13, wherein the ADC sampling rate is programmable.
21. The method of claim 20, wherein the sampling rate is a function of an imaging center frequency.
22. The method of claim 1, wherein the delay and weight applied on the amplified and digitized receive signals are one or more of element- or depth-dependent.
23. The method of claim 22, wherein the delay and weight for each element and depth are computed by at least one on-ASIC delay and weight computer.
24. The method of claim 23, wherein the at least one on-ASIC delay computer computes delays for each element for a subset of depths with a CORDIC algorithm and interpolates between CORDIC-based delays for the in-between depth grid points.
25. The method of claim 24, where delay interpolations for the in-between depth grid points are linear.
26. The method of claim 23, wherein the at least one on-ASIC delay computer computes delays for a subset of elements using a CORDIC algorithm and interpolates between CORDIC-based delays for the in-between elements.
27. The method of claim 26, where delay interpolations for the in-between elements are linear.
28. The method of claim 23, wherein the at least one on-ASIC delay computer computes delays for a subset of beams using a CORDIC algorithm and interpolates between CORDIC-based delays for the in-between beams.
29. The method of claim 28, where delay interpolations for the in-between beams are linear.
30. The method of claim 23, wherein at least one on-ASIC weight computer aids the performance of step (c).
31. The method of claim 1, wherein at least one on-ASIC weight computer computes the weights for each element and for each range sample based on depth, f-number and the distance between the element and a beam origin.
32. The method of claim 31, wherein the element weights are binary.
33. The method of claim 31, wherein the at least one on-ASIC weight computer grows the active aperture with depth substantially as a circle or ellipsoid to reduce sidelobes.
34. A system for ultrasound imaging, the system comprising: i. a matrix array of transducer elements; and ii. circuitry with the matrix array and configured to: a) amplify receive signals of each transducer array element; b) digitize the amplified receive signal of each transducer array element; c) apply a delay and weight on the amplified and digitized receive signals; and d) sum across all transducer elements of the matrix array the amplified, digitized, delayed and weighted receive signals to from a dynamically focused receive beam.
35. The system of claim 34, wherein the circuitry comprises an application specific integrated circuit (ASIC) integrated with the matrix array of transducer elements.
36. The system of claim 35, wherein the ASIC performs one or more of steps (a) to (d).
37. The system of claim 36, wherein the ASIC performs all of steps (a) to (d).
38. The system of claim 36, wherein the circuitry further comprises other circuitry, and wherein the ASIC performs a subset of steps (a) to (d) and the other circuitry performs the remaining steps (a) to (d).
39. The system of claim 34, wherein the circuitry is configured to also form transmit beams.
40. The system of claim 34, where a single receive beam is formed per transmit event.
41. The system of claim 34, where two or more receive beams are formed per transmit event.
42. The system of claim 34, wherein the matrix array is comprised of one or more cMUT transducer elements.
43. The system of claim 34, wherein the matrix array is comprised of one or more pMUT transducer elements.
44. The system of claim 34, wherein the transducer elements of the matrix array are arranged in a square, rotated square, rectangular, parallelogram, hexagonal, circular, or spiral grid.
45. The system of claim 34, wherein the circuitry is configured to amplify the receive signals by applying a depth varying amplification gain to the receive signals.
46. The system of claim 34, wherein the circuitry comprises a N-bit ADC to digitize the amplified receive signal at a sampling rate.
47. The system of claim 46, wherein the N-bit ADC is a successive-approximation (SAR) ADC.
48. The system of claim 46, wherein the N-bit ADC is a sigma-delta ADC.
49. The system of claim 46, wherein the N-bit ADC is a pipeline ADC.
50. The system of claim 46, wherein the N-bit ADC is a flash ADC.
51. The system of claim 46, wherein the ADC bit count N is 1.
52. The system of claim 46, wherein the ADC input is dithered.
53. The system of claim 46, wherein the ADC sampling rate is programmable.
54. The system of claim 53, wherein the sampling rate is a function of an imaging center frequency.
55. The system of claim 34, wherein the delay and weight applied on the amplified and digitized receive signals are one or more of element- or depth-dependent.
56. The system of claim 55, wherein the circuitry comprises at least one on-ASIC delay and weight computer to compute the delay and weight for each element and depth.
57. The system of claim 56, wherein the on-ASIC delay computer computes delays for each element for a subset of depths with a CORDIC algorithm and interpolates between CORDIC-based delays for the in-between depth grid points.
58. The system of claim 57, where delay interpolations for the in-between depth grid points are linear.
59. The system of claim 56, wherein the at least one on-ASIC delay computer to compute delays for a subset of elements using a CORDIC algorithm and interpolates between CORDIC-based delays for the in-between elements.
60. The system of claim 59, where delay interpolations for the in-between elements are linear.
61. The system of claim 56, wherein the at least one on-ASIC delay computer computes delays for a subset of beam using CORDIC algorithm and interpolates between CORDIC-based delays for the in-between beams.
62. The system of claim 61, where delay interpolations for the in-between beams are linear.
63. The system of claim 34, wherein the circuitry comprises at least one on-ASIC weight computer to compute the weights for each element and for each range sample based on a distance between the element and a beam origin and an f-number.
64. The system of claim 63, wherein the element weights are binary.
65. The system of claim 63, wherein the at least one on-ASIC weight computer grows the active aperture with depth substantially as a circle or ellipsoid to reduce sidelobes.
66-74. (canceled)
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0035] A better understanding of the features and advantages of the present disclosure will be obtained by reference to the following detailed description that sets forth illustrative embodiments and the accompanying drawings.
[0036]
[0037]
[0038]
[0039]
[0040]
DETAILED DESCRIPTION
[0041] Unless otherwise defined, all technical terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the present subject matter belongs.
Ultrasound Imaging System
[0042]
[0043] The ASIC, transducer array, and the PCB form a transducer assembly (400). The area of the transducer assembly may match the area of the transducer array to keep the footprint small. The transducer assembly can be packaged in a patch, or in a wearable or holdable housing.
[0044] The transducer assembly, via an input output device, may communicate with a remote processor (500) that may include a user interface, display and memory. The processor may be a mobile device such as a smart phone, smart watch, pad or a laptop, or it can be a desktop computer. It may perform image processing, perform plane and volume rendering, and connect to a network and database such as electronic health records. The communication between the transducer assembly and the remote processor may be wired or wireless, using standard communication protocols.
[0045] The microprocessor on the transducer assembly may initialize the ASIC with a small set of parameters such as the imaging frequency and the transmit and receive f-numbers and then may provide the transmit and receive beam parameters (beam origin, angle, focus depth) for each pulse-echo (transmit-receive) event in the scan sequence. An on-ASIC delay and weight computer may compute the transmit and receive beamforming parameters (delay and weight) for each beam defined by the transmit and receive beam parameters. The ASIC may send out a steered and focused transmit pulse, may receive the echo from tissue at each transducer element, and may form receive beams using ASIC-computed delay and weight. The output of the ASIC are typically the fully formed beams using the full aperture.
[0046] The sections below describe the transducer assembly, the transmitter and receiver, the geometry used for the derivation of a 3D delay equation, and a method and device for the delay and weight computation using the 3D delay equation.
[0047] Transducer Assembly
[0048]
[0049] The receive path for each acoustic element can contain a transmit/receive switch (121), an analog front end (122) for low noise preamplification, time gain compensation and antialiasing, an ADC (123), an element memory (124), and a beamformer (125) that may apply time varying (dynamic) delay and weight on the stored element data. The transmit beamformer (delay and weight), pulser, receive switch, analog front-end, ADC, memory and receive beamformer (delay and weight) circuitry may form an electronic element (120). There may be an electronic element per acoustic element.
[0050] The outputs of the electronic elements can be summed across the whole array (140) to complete the full array beamformation. The beams thus formed may then be filtered by a receive filter (150) for data compression which may comprise demodulation to baseband by a complex time varying multiplier followed by a lowpass baseband filter (BBF). The delay, weight, array sum and receive filter circuitry may be duplicated to form multiple beams with distinct delay and/or weight parameters in parallel (160) using the same element data stored in the memory. The delay and weight for the transmit and receive beamformation (for all parallel beams) may be created by an on-ASIC 3D Dynamic Delay and Weight Computer (170). The outputs of the ASIC (102) may be the complex (in phase and quadrature phase) samples of parallel beams. The transducer assembly stores the output beams and sends them to a remote processor (500) for further processing, rendering, and display.
[0051] The receive beamformation of
Transmitter
[0052] A single K-bit deep, L-bit long shift register with a programmable clock can serve as an arbitrarily programmable pulse generator (110).
[0053] The depth of the shift register K may be determined by the number of pulser states. In general, a K-bit deep shift register can support pulsers up to 2.sup.K states. So K would be 1 for 2-state (unipolar) pulsers, 2 for a 3-state (bipolar) and 4-state pulsers, and so on.
[0054] The length L of the shift register may be determined by the maximum pulse length spec and the transmitter clock frequency. In a preferred embodiment, the shift register length L is set to 256 bits. This would support up to 16-cycle long pulses at a transmit clock cycle that is 16 times the transmit center frequency. Longer than 16-cycle pulses can still be supported by lowering the transmitter clock frequency (trading off delay quantization step).
[0055] The simplest type of pulses may be unipolar pulses where the active node of the transducer element is altered between a ground and a positive (or negative) voltage rail by two complementary switches. These switches can be controlled by a single one-bit stream, a set of 1s for +V segment followed by a set of 0s for GND, where this pattern of is and 0s is repeated as many cycles as needed. Each bit may represent duration of a transmitter clock cycle. So if transmitter clock cycle is 16 F.sub.0 the bit stream of a two-cycle pulse at F.sub.0 would be 11111111000000001111111100000000. The durations of the individual +V and GND segments can be fixed or independently programmable, e.g., for linear (or nonlinear) frequency modulation, or some other coded excitation. Such a bit pattern can be generated in advance and loaded to the pulse generator shift register in the ASIC during initialization and streamed out upon receiving the impulse indicating the start of transmit. In some embodiment, the start and/or end of the pulses can be marked by a very short code such as 010, e.g., 11111111000000001111111100000000010, to trigger other transmit and/or receive circuitry on or off. Utilization of such an embedded code may require a decoder (Matched Filter) of the same length. In some embodiments, the transmit/receive switch of each element may be turned on to the receive mode on as soon as the element's own pulse transmission is complete without waiting for all elements to finish pulse transmission. This can help clean up some of the near field artifacts by temporally dispersing the leaked transmit and receive enable/disable signals and eliminate dead zones due to missed receive samples.
[0056] Next in complexity are the 3-state bipolar pulses where the active node of the transducer element is altered between a positive, ground, and a negative voltage rail by three complementary switches. This type of pulses can be implemented using a 2-bit deep pulse stream where for example 00 indicates ground, 10 indicates +V, and 01 indicates −V. The 11 state can be utilized to mark the start and/or end of the pulse.
[0057] A special case of the 3-state bipolar pulses is where the transducer is grounded only before the pulse starts and after the pulse ends and switched between the +V and −V states during the pulse. This type of pulse may offer the best second harmonic suppression compared to all 2-state pulses and those 3-state pulses with ground segments within the pulse. It may also be the simplest (lowest cost) architecture in terms of power supplies. This special case of bi-polar pulses can be implemented using a single bit stream above where 1 is mapped say to +V and 0 to the −V. The embedded snippet of code described above can be used to indicate the start of the ground state at the end of the pulse. Upon reception of this code the transducer element is grounded until the start of the next pulse which is indicated by a stream of 1's. The pulse inversion capability can be added with an additional programmable bit that is common to all elements that inverts the mapping of the 1 and 0 values to −V and +V at the pulser.
[0058] A pulse common to all elements can be generated upon an impulse marking the onset of a pulse-echo event which is typically repeated at regular Pulse Repetition Intervals (PRI). Then, the pulse may be delayed (111a) by an element specific delay for every element of the array. The delayed pulse can then be weighted by an element specific weight for apodization. Here, a simple binary on/off weight is shown. In a preferred embodiment both the delay and weight of transmit beamformer are generated by the on-ASIC delay and weight computer (170) before the transmit event starts.
[0059] The output of the apodization can drive the transmit pulsers (112) after a digital to analog conversion.
[0060] In some embodiments, the pulse generator and delay operation share the same transmitter clock for architectural simplicity. Further, for efficiency purposes, the transmitter clock frequency F.sub.s can be varied as a function of the transmit center frequency F.sub.0 and may be set equal to 16 F.sub.0 to achieve a desired delay quantization step of T.sub.0/16, where T.sub.0=1/F.sub.0.
[0061] In some embodiments, the order of the pulse generator, delay, and binary weight can be changed. For example, the binary weight can be moved before the delay operation or the delay operation can be moved before the pulse generator, etc., for various architectural tradeoffs.
Receiver
[0062] A typical receiver applies a dynamically varying gain, delay, and weight (apodization) on the echo from individual elements s.sub.ij(t), where (i, j) are the column and row indices of the elements of a matrix array. Then, the beamformer may sum the amplified, delayed, and weighted element signals to generate a beam b(r, θ, x.sub.o) where x.sub.o is the (x.sub.o, y.sub.o, z.sub.o) coordinates of the beam origin (z.sub.o is zero for planar arrays), r is depth and θ is the beam angle in z-x and z-y planes. For a digital beamformer, the analog signal may be converted to digital by an ADC after the LPF before the delay stage.
[0063] The gain G(t) may have multiple programmable components including a static Low Noise Amplifier gain G.sub.LNA, and a dynamic time-varying gain G.sub.TGC(t) (also referred to as Time Gain Compensation) to compensate for tissue attenuation. The last gain stage may be an optional Programmable Gain Amplifier.
[0064] A low-pass filter (LPF) with a preferably programmable cut-off frequency provides antialiasing and improves SNR. The multiple poles of the LPF can be distributed among the various gain stages.
[0065] The dynamic delay x(r, θ, x.sub.o, x.sub.ij) may vary with time to track the depth the echo is coming from as the transmit beam propagates deeper into the tissue. The input of the delay stage is a function of time, while the output of it is a function of depth (range). Depth is warped time due to the time varying delay.
[0066] The dynamic apodization or weight a(r, θ, x.sub.o, x.sub.ij) may grow the active aperture size with depth to preserve resolution and tapers the contribution of edge elements, i.e., apodizes to reduce the beam sidelobes. For matrix arrays, the active aperture shape may also have an apodization effect. In some embodiments, the apodization weight is depth-dependent but it is binary, 0 for off and 1 for on, eliminating the need for a multiplication per element and per depth. By turning on elements around the beam origin within an ever-growing circle or ellipsoid a half-circle like apodization is achieved. The growth rate of the circle and ellipse may be controlled by a programmable f-number. Since G.sub.TGC is applied before the delay operation, the gain may be dispersed in time as a function of the element-dependent delay. This can create an additional apodization effect for depths the gain changes rapidly.
[0067] The dynamic delay and weight computations may be performed by a computer given the beam parameters θ and x.sub.o, element coordinates x.sub.ij, ADC sampling rate F.sub.s, speed of sound c.sub.0 and f-number. In many prior art systems, these computations are done fully or partially on remote processors.
[0068] The element sum stage may sum the time-aligned (therefore coherent) and weighted element signal.
[0069] Multiple beams with independent origins and angles can be generated in parallel using a duplicated set of delay, weight, and element sum stages. Alternatively, if the element data is stored for the full depth of interest, multiple beams can be formed serially using a single beamformer circuitry using the time in between transmit events, trading off frame rate.
Array and Beam Geometry
[0070]
[0071] A beam can be defined in 3D by three parameters: a focusing depth r for the static transmit focus, or a set of focusing depths for the dynamic receive focus, a (nominal) beam origin x.sub.o which is a vector of its x, y, and z coordinates x.sub.o=(x.sub.o, y.sub.o, z.sub.o) and the angle θ which is also a vector of its z-x plane and z-y plane angles θ=(θ.sub.zx, θ.sub.zy). Note that we here use bold letters to represent vectors such as x.sub.o and θ. The coordinates of a sample along a receive beam (θ, x.sub.0) at depth (or range) r is (r, θ, x.sub.o). The convention for θ is such that θ.sub.zx and θ.sub.zy are positive from the +z axis to the +x and +y axes, respectively. The beam origin x.sub.o is also the depth zero (r=0). It is also the nominal center of the active aperture for beam (θ, x.sub.o) excluding the truncation by the physical aperture. All samples of the receive beam lie on the line the projections of which are at angles θ.sub.zx and θ.sub.zy on the z-x and z-y planes respectively.
[0072] 2D imaging in the azimuth (i.e., x-z) plane is a special case where θ.sub.zy and y.sub.o are zero for all beams. 2D imaging in the orthogonal elevation (y-z) plane corresponds to the case where θ.sub.zx and x.sub.o are zero. A special case of 2D imaging is where the array is a 1-D array, e.g., N.sub.y=1.
[0073] The geometry defined here can support independent combinations of scan geometries for the azimuth and elevation. For example, to define a Sector geometry both in azimuth and elevation, x.sub.o and y.sub.o would both be set to 0 for all beams. For a Linear scan, say in elevation, θ.sub.zy would be set to zero for all beams while varying y.sub.o from the first row to the last. For a Vector format, such as in elevation, θ.sub.zy would be varied from a negative angle to a positive one while varying y.sub.o from the first row to the last.
[0074] The geometry here can apply to multi-stage beamformation as well where a first stage subarray beamformer (micro beamformer) performs beamformation on groups of S.sub.x×S.sub.y elements, and a second stage M.sub.x×M.sub.y beamformer (macro beamformer) completes the beamformation on the outputs of the subarray beamformers where N.sub.x=S.sub.x M.sub.x and N.sub.y=S.sub.y M.sub.y.
[0075] Note that there are alternative coordinate systems to define the beams in 3D such as the Spherical Coordinates. The relationships between the angles (θ, φ) of the Spherical Coordinates centered at beam origin x.sub.o and the beam angles (θ.sub.zx, θ.sub.zy) of the framework adapted here are:
[0076] The analysis and derivations here can apply to any alternative beam definition with minor modifications.
3D Delay Equation
[0077] The distance d(r, θ, x.sub.o, x.sub.ij) for depth r along the beam (θ, x.sub.o) for a particular element (i, j) can now be derived.
[0078] The Cartesian coordinates (b.sub.x, b.sub.y, b.sub.z) of the beam sample (r, θ, x.sub.0) are
(b.sub.x,b.sub.y,b.sub.z)=r(v.sub.x,v.sub.y,v.sub.z)+(x.sub.o,y.sub.o,z.sub.o)
[0079] where, the unit vector v=(v.sub.x, v.sub.y, v.sub.z) along the beam is
[0080] and the x, y, z coordinates of the beam are
b.sub.x=r v.sub.x+x.sub.o,b.sub.y=r v.sub.y+y.sub.o,b.sub.z=r v.sub.z
[0081] Then the distance between x.sub.ij=(x.sub.i, y.sub.j) and (r, θ, x.sub.0)=(b.sub.x, b.sub.y, b.sub.z) is given by
d(r,θ,x.sub.o,x.sub.ij)=√{square root over ((x.sub.i−b.sub.x).sup.2+(y.sub.i−b.sub.y).sup.2+(z.sub.ij−b.sub.z).sup.2)}
[0082] The square root of the summation of the squares of three terms can be written as the square root of the summation of the squares of two terms as follows.
[0083] Delay τ(r, θ, x.sub.o, x.sub.ij) in μs is the distance d(r, θ, x.sub.o, x.sub.ij) in mm divided by the round-trip (two-way) speed of sound c.sub.0 in mm/p.
τ(r,θ,x.sub.o,x.sub.ij)=d(r,θ,x.sub.o,x.sub.ij)/(c.sub.0/2)
or in units of the number of samples at the ADC sampling rate of F.sub.s in MHz
τ(r,θ,x.sub.o,x.sub.ij)=F.sub.sd(r,θ,x.sub.o,x.sub.ij)/(c.sub.0/2)
3D Dynamic Delay and Weight Computer
[0084] The delay formulation above lends itself to an efficient implementation using CORDIC (COordinate Rotation DIgital Computer) which is an efficient method to compute the square root of the squares of two numbers.
[0085] The inputs to the delay and weight computer may include the beams' origin, unit vector and focus depth(s), the coordinates of the elements, ADC sampling rate, the speed of sound, and f-number.
[0086] The beam unit vector Cartesian coordinates (171) may be multiplied with depth (172) and added to the beam origin coordinates (173) to create the beam sample Cartesian coordinates for a particular depth r (174). The x, y, and z coordinates of the elements may be subtracted from the respective x, y, and z coordinates of the beam sample (175) to create the inputs to the CORDIC operations. The output of the first CORDIC and the x component of the beam sample may form the inputs of the second CORDIC. The output of the second CORDIC may provide the distance between the element (i, j) and the beam sample (r, θ, x.sub.o) scaled by the gain of the two CORDIC stages (CORDIC is not a unit-gain operation). In a preferred implementation, the CORDIC gain compensation may be performed by the distance to delay conversion multiplier that is at the output of the delay computer (178).
[0087] In some embodiments, the cascaded CORDICs do 8 angle rotations each. This number of rotations may be sufficient to bring the maximum distance error within T.sub.0/16, where T.sub.0 is the period at the imaging center frequency F.sub.0. Each angle rotation may take 2 bit shifts and 2 additions. For eight angle rotations, each CORDIC stage has a gain that is equal to ˜1.65, and the two CORDIC stages together have a total gain of ˜2.71.
[0088] Note that the CORDIC based high precision distance (delay) computations may be needed only for a sparse set of depths, elements, and beams. A linear interpolation between the CORDIC computed distance values (177) may be sufficient to keep the delay error within specifications. In some embodiments, the coarse range grid is spaced 4λ.sub.of.sub.number.sup.2, where λ.sub.0 is the wavelength at imaging center frequency F.sub.0. A linear distance interpolator may provide the distance values mid-point between the coarse range grid points. In some embodiments, CORDIC based delay computations are performed for a subset of beams, e.g., edge beams of a multibeam group, and a linear distance interpolator may provide the distance values for the in-between beams. In some embodiments, the coarse element grid is spaced 4 elements apart both in azimuth and elevation. Again, a linear distance interpolator may interpolate the distance values for the in-between elements. Since linear interpolations for powers of 2 up-sampling require only additions and bit shifts, they can be very efficient.
[0089] The last stage of the delay engine (178) may compensate for the non-unity gain of the CORDIC stages and converts the distance d(r, θ, x.sub.o, x.sub.ij) which is in a unit of mm to delay r(r, θ, x.sub.o, x.sub.ij) in a unit of the ADC sample rate using the ADC sampling rate and speed of sound as the inputs. Having the distance to delay conversion at the very output may allow an easy way of optimizing the bulk speed of sound as a function of clinical application and the ADC sample rate as a function of the imaging center frequency.
[0090] The order of linear operations are interchangeable. For example, the distance to delay conversion can be done at any point in the delay computer signal path, or the interpolations can be reordered depending on implementation specific concerns.
[0091] In some embodiments, the weights are binary, i.e., an element is either on or off at any particular time/depth. The delay computer may provide the inputs to the weight computer. Note that the distance between any element and the beam origin can be computed by the delay computer by setting r to zero, |x.sub.ij−x.sub.o|=d(r=0, θ, x.sub.o, x.sub.ij). This distance scaled by a scalar that is a function of the f-number (aperture growth rate) can be compared to the distance output of the delay computer during receive event to turn each element on at the right time (depth) (179). With this method the aperture can be grown as a circle around the beam origin. Alternatively, both the growth rate and the aperture limits can be programmed for x and y independently, say for rectangular or ellipsoidal aperture growth.
[0092] While preferred embodiments have been shown and described herein, it will be obvious to those skilled in the art that such embodiments are provided by way of example only. Numerous variations, changes, and substitutions will now occur to those skilled in the art without departing from the scope of the disclosure. It should be understood that various alternatives to the embodiments described herein may be employed in practice. Numerous different combinations of embodiments described herein are possible, and such combinations are considered part of the present disclosure. In addition, all features discussed in connection with any one embodiment herein can be readily adapted for use in other embodiments herein. It is intended that the following claims define the scope of the disclosure and that methods and structures within the scope of these claims and their equivalents be covered thereby.