DELAY COEFFICIENT CALCULATOR

Abstract: Apparatus for calculating the delay coefficients to be used for the transducer of a linear array at successive focal points along each radial line of a sector along which ultrasonic pulses are transmitted comprising a plurality of clocked accumulators connected in series (AC3,AC2,AC1) said accumulators being preloaded with appropriate combination of the coefficients of the successive terms of a series expressing an approximation of the formula, D = R - √(X-Xo)² + Yo² where R is the distance of a focal point from a given point in the sector, X is the number of the accumulator from the origin and Xo, Yo are the coordinates of the focal point.

Description: In ultrasonic imaging systems utilizing a phased array of transducer elements, pulses of ultrasonic waves are successively transmitted along different radial lines having their origin in the center of the array. When a pulse traveling along a radial line meets body tissue, a portion of its energy is reflected back to the array, but because the distances between the point of reflection and each of the transducers is different, the electrical waves produced by the transducers in response to the reflection have different phases. Summing these electrical waves would produce a weak signal for the purpose of controlling the intensity of an image. In order to obtain a strong signal, the electrical waves must be brought reasonably close to a cophasal relationship. This is not done at all points along a radial line but at each of a plurality of what are called "focal points". Best focus is attained at these points but if they are close enough together, the worst focus at points between them is tolerable. The distance between the points of worst focus on either side of a focal point is called a "focal zone". In attaining the desired cophasal relationship, it is necessary to compensate for the respective differences in the time it takes the reflections from a focal point to travel the different distances to the respective transducer elements. Compensation is attained by introducing the proper effective compensating delays for each focal point into the paths of the electrical waves for each transducer element. Initially, the required information was burned into ROMs that were read at the appropriate times and used to control the means for providing the necessary delays. As this necessitated a large ROM capacity, microprocessors were used to provide in real time the information as to the difference in the time required for a reflection to travel from each focal point to each transducer. Whereas this method was satisfactory for systems having 64 transducers, 16 focal zones and 128 radial lines, it is impracticable for system in which the numbers of these parameters are substantially increased. If, for example, a system has 128 transducers, 256 radial lines and requires many more focal zones because of the loss in depth of field resulting from the increased aperture, the magnitude of the task of making the calculations increases by a factor of about 8. Brief Summary of the Invention In accordance with this invention a hard wired circuit calculates the differences D between the radius R of a focal point and the distances between the focal point and the transducer elements of the array just prior to the time when reflections from the focal point reach the transducers. The differences D are provided to means for inserting the directly related compensating delays into the circuits for the individual transducer elements. The process is then repeated for each successive focal point in turn. Because of its speed, the circuit can make these calculations in real time for a system having more transducer elements and focal zones than could be practicably handled by a microprocessor. The basic circuit includes a plurality of accumulators connected in series that are respectively preloaded with different values for each focal point before the calculation of D for the transducer elements are made. The values that are preloaded change with the radius R of the focal point, the angle ϑ that the radial line on which the focal point is located makes with a line perpendicular to the array and the space ΔX between the centers of adjacent transducer elements. All accumulators are clocked at the same time. The preloaded value of the last accumulator in the series corresponds to the difference, D, between the radius of the focal point and the distance between that focal point and a transducer element that is on one side of the array. As each clock pulse occurs, the preloaded values work their way through the accumulators so as to produce a value at the output of the last accumulator that is the difference, D, for the next transducer element. If only one series of accumulators is used, the process would then be performed for the transducer elements on the other side of the array. In general, the respective values with which the accumulators are preloaded are different combinations of the coefficients, or portions thereof, of terms of a series expressing the difference, D, between the radius of a focal point and its distance from a transducer element as a function of the distance X of that element from the center of the array. Each term of the series includes a different power of the independent variable X. The highest power used depends on the required resolution, and the number of accumulators equals the highest power. If the coefficients of the powers of X are those of a Taylor or Maclaurin series, the calculated distance, D, will be correct for a transducer element at the center of the array but will have an error that increases with the distance of a transducer element from the center. A more evenly distributed and smaller error results if the coefficients for the powers of X are derived from Legendre polynomials. One of the advantages of the invention is the fact that simultaneous calculations for the distance D can be made for different groups of transducer elements of the array so as to save time. One way of doing this is to provide a separate series of accumulators for each group and respectively preload them with the values that the accumulators of a single series would have when it reaches the transducer element at the end of the group closer to the center of the array. The method just mentioned for simultaneously calculating the distances D for transducer elements in groups spaced from the center of the array would have the same error as would result from calculating the distances D for these same transducers with a single series of accumulators. Smaller errors would result if a series with an offset, such as that of Taylor is used instead of a Maclaurin series, in which case, the distance between a focal point and the center of the group would be substituted for the radius in the equation and the angle ϑ ′ between a line from the focal point to the center of the group and a vertical line would be substituted for the angle ϑ between vertical and the radial line passing through the focal point. In such case, there would be zero error for the central transducer element of the group and increasing error for the transducer elements on either side unless the coefficients of the equation are derived from Legendre polynomials. Brief Description of the Drawings FIGURE 1 shows an array of transducers, one of the radial lines along which pulses of ultrasonic waves are transmitted and the difference between the distance of a focal point from the origin and its distance from a particular transducer element. FIGURE 2 is a block diagram of a series of accumulators and the preloading means therefore. FIGURE 3 is a table of the values in the registers of the respective accumulator of FIGURE 2 where a transducer element at one end of a group is at the center of the array. FIGURE 4 is a table of the values in the registers of the respective accumulators of FIGURE 2 where a transducer element at one end of a group is spaced from the center of the array by ΔX/2 where ΔX is the spacing between transducer elements. FIGURE 5 is a block diagram of a system utilizing a number of series of accumulators in parallel and illustrates use of R to center of group. FIGURE 5A illustrates use of R to center of group. FIGURE 6 illustrates a special situation used in comparing results attained by coefficients derived from Legendre polynomials and coefficients of a Maclaurin series; and FIGURE 6A is a graphical comparison of the error distribution resulting from the use of coefficients of a series derived from Legendre polynomials and the error obtained using the usual coefficients. Detailed Description of the Invention The Mathematics Although individual transducers are not shown in FIGURE 1, they are assumed to be distributed along a line A so as to form an array having its center at X=0. Consider a focal point F located on a radial line r that makes an angle of ϑ with a line V that is perpendicular to the array A. The radial distance of F from X=0 is R, and its coordinates are XF, YF. A circular arc C having a radius R is drawn with F as its center so that it passes through X=0, and a dash-dot line is drawn from F so as to intersect the array A and the arc C. From inspection (1) D + L = R (2) D = R - L (3) D = R - √ (XF - X)² + YF² Multiplying and dividing the radical by R gives Since XF / R = SIN ϑ and YF / R = COS ϑ equation (4) becomes Equation (7) has the form (8) D = R - R √ aX² + bX + 1 where The Maclaurin series for D as a function of X is It can be shown that So that by substitution in (9) we obtain Equation (11) can be expressed in the form (12) D(X) = AX³ + BX² + CX where C = SINϑ An Embodiment of the Invention FIGURE 2 is a block diagram of an embodiment of the invention designed to calculate the values of D in accordance with equation (12) in which X³ is the highest power of X. Although it is not the usual practice, it will be assumed that there is a transducer element at the center of the array so that, as will appear, the operation will be more apparent. A scanner 2 for the ultrasonic imaging system may operate in ways described in U.S. Pat No. 4,140,022 to transmit pulses of a few cycles of pressure waves along successive radial lines and to provide the delays required for each transducer element that are necessary to focus the array at each focal point. The value of the radius R and the angle ϑ of the radial line as well as the spacing Δ X between adjacent transducer elements of the particular array being used are readily derived from the scanner. These values are applied to ROMs 1, 2, 3 and 4 which respectively output the values of , A+B+C, 6A+2B and 6A for each focal point. From equation (12) it can be seen that the values of A, B and C are different for each focal point. Because the highest power of X is X³, three accumulators AC1, AC2 and AC3 are provided each having an adder coupled to a register via a multiplexer. Only accumulator AC1 will now be described, but AC2 and AC3 are identical. The output of an adder A1 is connected to one input of a multiplexer MX1, and its output is connected to the input of a register REG1. The other input of MX1 is connected to the output of the ROM1. One input of A1 is connected to the output of REG1 so as to perform the accumulating function, and the other input of A1 is connected to the output of a register REG2 for the accumulator AC2. The output of ROM4 is connected to a register REG4, and its output is connected to one of the inputs of the adder A3 for the accumulator AC3. Clock pulses for the system are derived from the scanner 2 are applied to a multiplexer MX4. When reflections from a point half way between adjacent focal points are due to arrive at the array, the value of R is updated to the radius of the next farther focal point. This fact is detected by an update detector 3. Its output is applied to MX4 so as to cause it to output a clock pulse that is applied to the clear terminals of the registers REG1, REG2, REG3 and REG4. Subsequent clock pulses are applied to the clock terminals of the registers. The output of the detector 3 is also applied to load terminals of the multiplexers MX1, MX2, and MX3 so as to cause them to preload the values of , A+B+C and 6A + 2B for the next focal point into the registers REG1, REG2 and REG3, respectively. On the next clock pulse and for the rest of the calculation, the multiplexers MX1, MX2 and MX3 connect the outputs of their adder to the input of this register. The value of 6A from the ROM4 is always applied to one input of the adder A3 for the accumulator AC3. The ROM1 supplies the value of D for the transducer element closest to the center of the array. In this particular example the transducer is at the center of the array so that X=0 and D also equals 0. If, as is usual, the transducer element closest to the center is at ΔX/2, the value provided by the ROM1 would be A/8 + B/4 + C/2. In any event at each successive clock pulse the preloaded values step through the accumulators AC3, AC2, and AC1 so as to provide a value D for the next outer transducer element at the output of the register REG1 for the accumulator AC1. Its output is supplied to the scanner 2 so as to give it information as to the delay to be used for each transducer element in turn. This operation is now explained in greater detail in connection with Figure 3 wherein columns C1, C2, C3 and C4 respectively show the outputs of the registers REG1, REG2, REG3 and REG4 at every clock pulse, and a column C5 shows the clock pulse number and the number of the transducer element corresponding to the value of D at the output of REG1. At clock pulse #1 all registers are cleared. At clock pulse #2 the load pulse from the detector 3 causes the multiplexers MX1, MX2 and MX3 to preload the registers REG1, REG2 and REG3 with the values , A+B+C and 6A + 2B respectively. The value of D at the output of REG1 is , as is required for the transducer element at the center of the array. At clock pulse #3, the value of D for transducer element #1 that is ΔX from the center of the array appears at the output of REG1. By substituting it for X in equation (12), since ΔX is the unit of measure, the value of D for this transducer element is seen to be A+B+C. That this value is produced can be seen from the fact that A1 adds the value of  at the ouptut of REG1 to the output, A+B+C from the output of REG2. At clock #4, the delay D is for the transducer #2, which, by substitution of 2 for X in equation (12) is seen to be 8A+ 4B + C. This is derived at clock #4 in the following manner. At clock #3 the adder A2 adds its preloaded value of A+B+C to the preloaded value of 6A+2B from REG3 so as to derive 7A+3B+C, and at clock #4 the latter value is added by A1 to A+B+C which was produced at the output of REG1 at clock #3 as described above so as to produce the required value of D = 8A+4B+2C . It takes until clock pulse #5 for the value 6A to affect the out of REG1. The values of D for the other transducer elements are derived in a similar manner. In this example, the values of X and ϑ are positive so that the values of D are for transducer elements in FIGURE 1 that are at the right of the center  of the array and for focal points in the quadrant where the focal point F is located. The values with which the registers are preloaded for other situations will not be fully derived, but it can be seen from FIGURE 1 that D would have a negative value for transducer elements to the left of the center  of the array and that this would result from making X negative For a transducer element at X = -1, the value of D determined from equation (12) would be -A+B-C, so as to be negative, and this value would be preloaded into REG2 from ROM2, at the second clock pulse. At clock pulse #3 the value of D would be for the transducer element at X = -2 so as to have a value determined from equation (12) of -8A+4B-2C. In order to attain this value, the value preloaded into REG3 by ROM3 would have to be -6A+2B. By continuing to work backward the value preloaded into REG4 by ROM4 would be found to be -6A. In deriving the preloaded values for a focal point in the left quadrant of FIGURE 1 the sign of SIN ϑ would be negative so as to make the sign of A plus and the sign of C minus. Let us define the values of the four registers as follows: F(X) = REG1 G(X) = REG2 H(X) = REG3 I(X) = REG4 What we need for the initial register preloads are the four values F(0), G(0), H(0), I(0). From the block diagram we see that: F(X+1) - F(X) = G(X) (i) G(X+1) - G(X) = H(X) (ii) H(X+1) - H(X) = I(X) (iii) Also, since the final desired output is to come from REG1, F(X) = AX³ + BX² + CX (iv) By solving (iv) at X=0 we have F(0) = 0 (v) We get G(0) by solving (i) at x=0 G(0) = F(1) - F(0) = A + B + C (vi) We get H(0) by solving (ii) at x=0 We have H(0) = G(1) - G(0) (vii) In order to evaluate this, we need G(1) G(1) = F(2) - F(1) from equation (i). Solving, G(1) = 8A + 4B + 2C - (A + B + C) = 7A + 3B + C (viii) Substituting (viii) into (vii), and using (vi) we have H(0) = 7A + 3B + C - (A + B + C) = 6A + 2B (ix) We get I(O) by solving (iii) at x = 0. We have I(0) = H(1) - H(0) (x) In order to evaluate this, we need H(1) H(1) = G(2) - G(1) from equation (ii) (xi) G(2) = F(3) - F(2) from equation (i) (xii) Substituting (xii) into (xi) We have H(1) = F(3) - F(2) - G(1) Solving, using (viii) above for G(1), we have Finally substituting (xiii) into (x) we have I(0) = 12A + 2B - (6A + 2B) = 6A (xiv) We have not solved for F(0) = 0 G(0) = A + B + C H(0) = 6A + 2B I(0) = 6A The preloaded values can be expressed in terms of the function F as follows: REG1 = F(0) REG2 = F(1) - F(0) REG3 = F(2) - 2F(1) REG4 = F(3) - 3F(2) + 3F(1) FIGURE 4 illustrates some of the values that would be in the registers REG1, REG2, REG3 and REG 4 for a focal point in the right half of an array having 128 elements that is constructed in the usual manner wherein the center of a transducer element closest to the center of the array is ΔX/2 from the center. In this case the values preloaded by ROM1, ROM2, ROM3 and ROM4 into REG1, REG2, REG3 and REG4 respectively are A/8 + B/4 + C/2; 26A/8 + 2B + C; 9A + 2B and 6A. Because of the fractions it is much more difficult to recognize what occurs than it was in FIGURE 3. As previously discussed, different preloaded values would be used in calculating D for transducer elements in the left half of the array and for focal points in the other quadrant. Parallel Operation One of the advantages of this invention is that a number of series of accumulators such as shown in FIGURE 2 can be operated in parallel as shown in FIGURE 5 so as to simultaneously derive the values of D for transducer elements in each of a plurality of groups. ROMs 8, 10, 12 and 14 respectively provide preloading values to ROMs in each series of accumulators SA8, SA10, SA12. They in turn provide the values of D for the transducer elements in groups G1, G2, G3 and G4. Assume that G1 is immediately to the right of center, G2 is to the right of G2, G3 is to the left of center and G4 is to the left of G3 as shown in FIGURE 5A. The transducer elements of G1 and G3 that are closest to the center ' are ΔX/2 away from it. One way of operating the system of FIGURE 5 is as follows: If G1 has elements at X = 1/2 to X = 63/2, the registers in the series of accumulators not shown that derive the value of D for these transducer registers that respectively correspond to REG1, REG2, REG3 and REG4 of FIGURE 2 are respectively preloaded with A/8 + B/4 + C/2; 26A/8 + 2B + C; - 9A + 2B and 6A, and if G2 has elements at X= 65/2 to 129/2, its registers, not shown, that correspond to REG1, REG2, REG3 and REG4 are respectively loaded with 251,607 A/8 + 39,77B/4 + 63C/2; 23,018A/8 + 62B + C; 195A + 2B and 6A which are seen to be the values that would appear in the registers of G1 when it made the calculation of D for its transducer element that is farthest to the right and next to the first transducer element in G2. It will be found that the error in D is nearly zero at the center of the array and that it increases as the calculation proceeds to outer transducer elements. In the parallel method of calculation just described, the series of accumulators SA10 that make the calculation of D for the transducer elements in G2 would be deriving the same values that the series SA8 would derive if it were permitted to continue the calculation of D for the elements in G2. Therefore, the errors are the same. Another method for operating a plurality of series of accumulators in parallel so as to reduce the increase in error that occurs as the distance X of the transducer from the center  of the array increases is now explained by reference to Figure 5A as follows. For G1, the value of R′, which is the distance between a focal point F′ and the center of G1, is substituted for R in the expressions for A and B used in equation (12), and ϑ′, which is the angle between R′ and a line V′ that is perpendicular to the array A′, is substituted for ϑ in the expressions for A, B and C. It will be found that there is no error in D for a transducer element at the center of G1, that the error increases with the distance of a transducer element of G1 from its center and that the error for the outermost transducer element of G1 will be less than before. This same error will exist for the innermost element of G1 whereas in the other method it was zero. A much more significant reduction in error will occur when this technique is applied to the calculation of D for the transducer elements of a group like G2 that is further out on the array. The value of the distance R″ between F′ and the center of G2 is substituted for R in the expression for A and B and ϑ″, the angle between R″ and V′, is substituted for ϑ in the expressions for A, B and C. The error at the center of G2 will be zero, and although the error increases with the distance of an element from the center of G2, the error will be much less than that occurring in the first method. Another way of describing the second method is as follows. Express the equation (8) for the distance D in the form of a Taylor series where the offset, a, in the series is the distance between the center of a group and the center of the array. New values of A, B, and C, as well as a value D equal to D(a) will be derived and used to preload the registers of FIGURE 2. Once again, however, it will be necessary to derive these preload values by working backward and to realize that they will be different for the calculations for one half of a group of elements than for the other. Another method for reducing and more evenly distributing the error over the transducer elements of the array is to expand the expression for D in terms of Legendre polynomials and substitute these polynomials for A, B, and C in equation (12). Although the Legendre technique is known, a brief summary follows. Repeating equation (8) for convenience (8) D = R - R √ aX² + bX + 1 where a = 1/R² and This can be put into the approximate form: ( 13) D(X) = AX³ + BX² + CX + K (A, B, C and K will be determined by a Legendre expansion) A legendre Expansion can be made as follows: Step 1 Choose the interval of X as α through β in which α and β are the positions of the first and last transducers in the group. Step 2 Calculate the integrals from the Table I below Step 3 - Calculate the Coefficients Given in Table II Below: Step 4 - Use Table III to calculate A, B, C, and k EXAMPLE OF LEGENDRE METHOD Reference is made to FIGURES 6 and 6A for a comparison of the errors resulting from using for the coefficients A, B, and C of the powers of X in a series the values determined by the Legendre method and values ordinarily used. In FIGURE 6 an array of transducer elements is assumed to lie between +X and-X, and a focal point F is placed two units away from the array in a line that is perpendicular to its center at . This is a special case in which calculations are simplified because SINϑ =  and COSϑ = 1 . Applying the steps of the Legendre method we find Step 1 α = - 1, β = +1 From Equation 8 From Equation 8 Step 2 - Evaluate integrals of Table I I E = 2 LOG [ √ 1.25 + .5] - 2LOG[ √ 1.25 - .5] ≅ 1.9248473 I k = √ 1.25 + 5I E ≅ 2.08045764 I C = 0 by symmetry I B = 2(1.25) 3/2 - I k ≅ .71462733 I A = 0 by symmetry Step 3 - Calculate coefficients in Table II Z A = 0 Z C = 0 Step 4 - Use Table III to determine A, B, C and k: A = 0 C = 0 Therefore: D ≅ AX³ + BX² + CX + K ≅ -.23784X² - .00118 If we use the Maclaurin series, equation (12), we get: C = SINϑ = 0 k = 0 Which yields the following approximation for D(X): D(X) ≅ -.25X² In FIGURE 6 a graph L shows the error in d resulting from the use of the Legendre method and a curve M shows the errors resulting from the use of the Maclaurin method. Note that the error due to the Maclaurin method is correct at X = 0 and that it increases with the values of X whereas the error due to the Legendre method is correct at points on either side of X = 0 and is generally less than that of Maclaurin at larger values of X. In applying the Legendre method to a system such as that shown in FIGURE 2, the value of α and β are chosen in Step 1 to be the numbers of the transducer elements of a group that are respectively the closest and farthest from the center 0 of the array. By doing this the error within a group is generally reduced and more equally distributed throughout the group. Summary In carrying out the invention the difference D between the distance of a focal point from a reference point on the array, usually the center, and the distance between a focal point and a transducer element is expressed as a function of the distance X of a transducer element from the reference point. The expression for D is expanded into a series having terms respectively containing different powers of X. The coefficients of these terms will include trigonometric functions of an angle between a perpendicular to the array and a line drawn between the focal point and the reference point, or, in another method, a line drawn between the focal point and the center of a group of transducer elements. The coefficients, i.e. the A, B, and C referred to, also include the distance of the focal point from the reference point or, in another method, the distance between the focal point and the center of a group of transducer elements. The unit of X is the distance ΔX between the center of adjacent transducer elements of the array in use. The number of terms of the series that are required for the desired resolution is determined, and a number of accumulators equal to the highest power of X are coupled in series. In the procedures illustrated by FIGURES 3 and 4, the last accumulator in the series was preloaded with the combination of A, B, and C or parts thereof for the transducer elements of a group of elements that was closest to the center of the array, and the preloading for the previous accumulators in the series was determined by working backwards to see what the respective preloading had to be in order to give the correct values of D. The first accumulator in the series was preloaded in two ways, i.e. by preloading the register and by supplying the value 6A to its adder. After the accumulators have been clocked a sufficient number of times for the value 6A to contribute to the value provided by the register of the last accumulator of the series all preloaded values except 6A have no further effect. Instead of calculating the values of D for the transducer element of a group that is closest to the center of the array, it would be possible to start with the outermost element and work toward the center. In order to do this, the preloaded values would be determined by preloading the register of the last accumulator with the values of A, B, C, etc. determined from equation (12) by substitution therein of the value of X for the outermost transducer element and working backward as before. In all of these methods the values of A, B, and C can be derived from Legendre polynomials.

Claims: Apparatus for providing signals (D) indicative of the delays for a group of transducer elements of an array that are required to focus them at a focal point comprising: a plurality of accumulators (AC3,AC2,...) connected in series; means (MX4) for clocking said accumulators; means (REG4) for continuously loading the first accumulator in the series with a given combination of the coefficients of some terms of a mathematical power series representing the difference between the distance of a focal point to the center of the array and its distance from transducer elements as a function of the distance of said elements from the center of the array; and means (ROM1,ROM2,...) for initially preloading the said accumulators with respectively different combinations of the coefficients of the terms of said mathematical power series, the preloading of the last accumulator in the series being the value of D for a given transducer element in the group. whereby the output of the last accumulator in the series at each clock pulse represents the value of D for the adjacent transducer element. Apparatus as set forth in claim 1, wherein said coefficients are derived from Legendre polynomials. Apparatus as set forth in claim 1, wherein said continuous loading of said first accumulator is 6A, its initial preloading is 6A+2B, the initial preloading for the next accumulator in the series is A+B+C, and the initial preloading for the next accumulator in the series is zero, where A,B, and C are the respective coefficients of a Maclaurin series for X³, X², X. Apparatus as set fourth in claim 3, wherein A 1 2R 2 Sin ϑ Cos ϑ , B = 1 2R Cos² ϑ and C=Sin ϑ ,the angle ϑ being the angle between a radial line from a focal point to the array and a line drawn from the focal point to the transducer element for which the value of D is sought.

Inventors: HUNT, THOMAS J., LIPSCHUTZ, DAVID, SAVORD, BERNARD J.
Applicants: HEWLETT-PACKARD COMPANY
Application year: 1988
Main classification: G10K11
IPC codes: A61B8, G01N29, G01S7, G10K11