(videos) How arrays use the Huygens–Fresnel principle to synthesize virtual sources
If you’re not familiar with the Huygens-Fresnel principle (you should!), take a quick look at the definition in the Wikipedia article which, in turn, cites the website MathPages:
The Huygens–Fresnel principle (named after Dutch physicist Christiaan Huygens and French physicist Augustin-Jean Fresnel) states that every point on a wavefront is itself the source of spherical wavelets, and the secondary wavelets emanating from different points mutually interfere.
Ultrasonic (as well as radar) emitter arrays take advantage of that principle to synthesize spherical waves with their origin at virtual sources (i.e., where there is not an actual emitter). If you look at the procedure from the point of view of the Huygens-Fresnel principle, it becomes quite simple. First, you have to imagine a spherical wave propagating from the virtual source. Now, if we want to synthesize it using the actual emitters of our array, we have to fire each of them just as the imaginary wavefront passes through it. We do this in the simulation below. On the left side, our virtual wavefront propagates from the virtual source, represented by the red square. On the right side, the actual 32 transmitters (red dots) of the array fire just as the virtual wavefront “touches” them.
Plane waves are a special case of this principle. In this case, the virtual transmitter is located in the far field — ideally, at an infinite distance. Check out the simulation below, where the virtual source was displayed infinitely to the left.
Now the interesting part: just like divergent and plane waves are solutions to the wave equation, convergent waves are as well (this is related to the fact that the wave equation is a self-adjoint operator). That means we can also synthesize convergent waves. Check out below.
Not surprisingly, after the convergence, the wavefront becomes divergent.
Synthetic convergent waves are actually the means by which arrays focus their energy at any arbitrary location. At the point of convergence, an all-wave constructive interference occurs. Check out another example, with the focus a bit further apart and off the array axis:
Of course, synthesizing a convergent wave from a bunch of divergent waves provides a result not as neat as the ones seen for divergent and plane waves, but our array does its best. A larger array with more spatial diversity would do a better job. Check out an example with a hypothetical array of 300 elements randomly placed across our simulation domain:
(Such an array may seem like an absurdity at first glance, but this is how sparse arrays are actually designed — see, for instance, Figure 4 of this article).
As a conclusion, a helpful way of understanding arrays of emitters is the following: the array can be seen as a window through which a virtual wavefront can cross from the virtual domain to the real domain.
The simulations were created with this Python script on Google Colab. You can play with it if you enjoy the videos. This simulator is as simple as possible and is only meant for visual demonstrations. Other simulators are under development at LASSIP, based on acoustic waves, elastic waves, and spatial impulse response. The list of members working on these subjects is quite extensive:
Acoustic waves (with CPML):
- Prof. Giovanni A. Guarneri
- Prof. Daniel Rossato
- Felipe D. Gutierrez (master’s)
- Heitor M. Machado (undergraduate)
- Eduardo S. C. R. Costa (undergraduate)
Elastic waves:
- Prof. Daniel R. Pipa
Spatial Impulse Response:
- Prof. Thiago A. R. Passarin
- Victor H. R. Machado (undergraduate)