Discussion of Field II program using attenuation

The problem

Field II program [1] is capable of ultrasound simulations. But when used to compute the attenuation simulations, the standard usage listed in the manual seems not right. More clearly, the standard usage of Field II program using attenuation generates the right amplitude of the pressure but the phase term is messed up.

Correction

In order to find the right way to correctly use attenuation in Field II program, I compare the attenuation pressure generated by field II program with the pressure field generated by the fast nearfield method (FNM) [2-4] and the point source superposition method [5].

 

The original usage given by field II user guide is

set_field ('att', atten *100);

set_field ('freq_att', atten *100/f0);

set_field ('att_f0', f0);

set_field ('use_att', 1);

where atten is the frequency indepent attenuation, the unit is dB/cm, f0 is the central frequency in Hz. If the above codes change to

set_field ('att', atten*100);

set_field ('freq_att', atten*0.1151/f0);

set_field ('att_f0', f0);

set_field ('use_att', 1);

the pressure generated by the field II program should be proportional to the right value. Scaling factor fs (sampling frequency) is needed to multiply by the pre-value to match the pressure from the FNM and the point source method.

Comparison results

A. On axis comparison

First the results are compared for a circular source with the radius R= 4 wavelengths=3 mm. The sampling frequency used in Field II program is 1024 MHz. The central frequency is 2 MHz and the speed of sound is 1500 m/s. The attenuation used in both program is 0.5dB/cm/MHz. The evaluated distance in z direction is (0.1:0.025:4)*z_unit, where z_unit is the distance of far field transient distance, that is, R^2/wavelength. The reference for the error comparisons used here is generated by the FNM using the abscissas number of 1000. Learned from McGough et al [2-4], it is capable of the job. The circular shape is Field II program is represented using the superposition of small rectangles. Here in this simulation, the size of each rectangle is R/128.

 

 

Fig. 1: The reference pressure field which is generated using the FNM method with the number of Gauss abscissas 1000. This is evaluation is on axis. For verification programs, see below.

Fig. 2: The comparison of the attenuation pressure computed using the field II program after correction, the FNM, Zemanek method and the Field II program before correction. This evaluation is on axis. For verification programs, see below.

 

See from Fig. 2. the blue dashed line is the pressure generated by the Field II without my correction. The error is very large compared to others. After correction, the error dropped dramatically. The other parameters in these Field II simulations are exactly the same. The error after correction is comparable to the error for the Zemanek point source superposition method.

 

B. Comparison of z = 0.5 plane.

In this simulation, the pressures are evaluated for the same piston used in the last section. The parameters needed in the Field II program are all the same. The difference is the evaluation plane. Here the plane is z = 0.5*z_unit, which is parallel to the plane that contains the piston face. The x and y extensions are from -1.5*R to 1.5*R. The reference is given by the FNM method using the Gauss abscissas 1000. The errors are given below

 

 

Fig. 3: The reference pressure field which is generated using the FNM method with the number of Gauss abscissas 1000. This evaluation is on the plane z = 0 that parallel to the piston face plane. For verification programs, see below.

Fig. 4: The comparison of the attenuation pressure computed using the Zemanek method and the FNM. This evaluation is on the plane z = 0 that parallel to the piston face plane. For verification programs, see below.

 

 

Fig. 5: The comparison of the attenuation pressure computed using the field II program after correction and the FNM. This evaluation is on the plane z = 0 that parallel to the piston face plane. For verification programs, see below.

Fig. 6: The comparison of the attenuation pressure computed using the Zemanek before correction and the FNM. This evaluation is on the plane z = 0 that parallel to the piston face plane. For verification programs, see below.

 

 

The maximum normalized error shown in Fig. 4 is 0.004 and the normalized error in Fig. 5 is 0.004, they are quite reasonable. But the maximum error shown in Fig. 6 for the Field II program with no correction is 0.2, which is 50 times larger than after correction with the parameters used in this comparison.

 

Conclusions

The attenuation simulation using field II program is not right with the usage listed in the manual. The correction has been given. Comparison between the field II program, the FNM and the Zemanek point source superposition method has been given and proved that the correction one is reasonable. 

Verification programs

There are several Matlab programs available for verifications. You need to download the following codes.

1. Four codes:

Ø         test_fun, For the comparisons. This function gives the default parameters that used in this evaluation for the three programs below. If you want to use the default parameters, just type 'test_fun' in the Matlab command window. Note, the results for the Field II before correction are not included. You can simply change the fieldII_ciratten.m according to the first paragraph of this websites. Free feel to change the programs yourself.

Ø         FNM_ciratten.m, For FNM calculations. Type 'help FNM_ciratten' in Matlab command window for standard usage. Also the Gauss abscissas file is needed for the FNM codes. This file is used to generate the Gauss abscissas and weights in Gauss integrations.

Ø         fieldII_ciratten.m, For Field II calculations. Type 'help fieldII_ciratten' in Matlab command window for standard usage.

Ø         zemanek_ciratten.m, For point source superposition calculations. Type 'help zemanek_ciratten' in Matlab command window for standard usage.

 

2. Running the example:

Ø         Type 'test_fun' in the Matlab command window. This function includes the basic usage of the three functions FNM_ciratten.m, fieldII_ciratten.m, and zemanek_ciratten.m under the default parameters used in this site.

Reference

[1] http://www.es.oersted.dtu.dk/staff/jaj/field.

[2] R. J. McGough. Rapid calculations of time-harmonic nearfield pressures produced by rectangular pistons. J. Acoust. Soc. Am., 115 (5), pp. 1934-1941, 2004.

[3] R. J. McGough, T. V. Samulski, and J. F. Kelly, An efficient grid sectoring method for calculations of the nearfield pressure generated by a circular piston, J. Acoust. Soc. Am., vol. 115, no. 5, pp. 1942-1954,

2004.

[4] Duo Chen, James F. Kelly, Robert J. McGough, A fast nearfield method for calculations of time-harmonic and transient pressures produced by triangular pistons, submitted to J. Acoust. Soc. Am., 2006.

[5] J. Zemanek, Beam behavior within the nearfield of a vibrating piston, J. Acoust. Soc. Am., vol. 49, no. 1, pp. 181-191, 1971.

 

Links

Curriculum Vitae    Journal papers    Conference papers  File