5.2 Multi-layer absorber design
5.2.3 Multi-layer optimisation
After evaluating the impulse responses, they were used to determine the binary pattern for each layer using a direct search approach. As discussed in Sec. 5.2.1, the goal in designing the multi-layer absorber is to find a set of binary patterns Hi jl that will maximise the temporal peak pressure maxt(p(rk,t)) at each target point rk. This is subject to the constraint that at each (xi, yj) position, only a single pixel can be active across each of the layers dl (i.e., the binary patterns must have no overlap). This arises because, assuming the absorber is illuminated from below, the incident light will be almost entirely absorbed by the first pixel with which it interacts at each (xi, yj) position. This is due to the need for high optical absorption to maximise the acoustic pressure. Therefore, pixels at the same position (xi, yj) on subsequent layers will not contribute a signal.
It is, in principle, possible to tailor the optical absorption such that signals from the same position on multiple layers could be generated or, alternatively, materials that absorb over different bandwidths could be used for different layers. However, this would require a separate optical model and the fabrication would become sig-nificantly more complex, so this was not considered as part of this thesis.
5.2.3.2 Forward model and cost function
To begin with, a forward model and cost function for the optimisation were defined.
The acoustic signal p(rk,t) generated at each target point by an arbitrary set of binary patterns Hi jlcan be calculated from the derived impulse responses using
p(rk,t) =
Here L is the total number of absorbing layers. The cost function used was the same as for the harmonic corrected direct binary search given in Eq. 4.10, that is
C= − 1
This again aims to balance maximising the temporal peak pressure while minimis-ing the variation between the target points.
5.2.3.3 Initialisation
The initialisation and search approach used in Chapter 4 were found to be inappro-priate for the design of multi-layer holograms. Applying them naively, the opti-misation converged to patterns that generated low peak pressures across the target points, and contained a large amount of speckle or small pixel clusters. As dis-cussed in Chapter 4, accurately generating these small pixel clusters using laser cutting is a challenge. Additionally, assuming they could be generated with an al-ternate method, such patterns would be more sensitive to registration errors between the different layers, model errors, or misalignment of the optical source. Both the initialisation and search approach were therefore designed to avoid their generation.
To initialise the binary patterns Hi jl, the sum of the pressure generated by each target point rk, across each plane dl, at a time tthres, was thresholded about 0. This was evaluated using
Hi jl=
1 if pi jl(tthres) > 0, 0 if pi jl(tthres) ≤ 0.
(5.10)
Here the term pi jl(tthres) is the sum of the pressure generated by each target point at each pixel at a time tthres. This was evaluated using
pi jl(tthres) =
K k=1
∑
p(rk,tthres; xi, yj, dl), (5.11)
where K is the number of target points. Using this method, the initial set of patterns Hi jl generates a high peak pressure at each target point at a pre-determined time tthres. However, it also, usually, results in patterns possessing substantial overlap between different layers which has to be removed. This is illustrated by the third column in Fig. 5.4.
Due to the fabrication constraints discussed above, the removal of this overlap was done by considering overlapping clusters rather than individual pixels. First, the overlap between two layers dn and dm was evaluated. All independent, simply
Pressure Binary patterns
Composite
Figure 5.4: Thresholding approach used to initialise optimisation. First column shows the pressure generated by each target point across each absorbing layer dlat a time tthres. This is thresholded about 0 to create the initial binary patterns, this is shown in the second column. Using this approach, however, generates pat-terns with substantial overlap that has to be removed, this is shown in the third column.
Figure 5.5: Figure illustrating the process used to remove the overlap between layers. The overlap between two layers is calculated. Simply connected clusters on this overlap are extracted, these are sequentially assigned to the layer on which they minimise the cost function in Eq. 5.9. This is repeated for every layer pair until all overlaps are removed.
connected, groups of pixels (clusters) on this overlap were then identified. The cost of the pattern Hi jl was analysed for each cluster sequentially when it was ‘on’ on dnor dm. Each was assigned to the layer on which it generated the lowest cost. The testing order for the clusters for each layer was selected randomly. This process, illustrated for a pair of layers by Fig. 5.5, was repeated for every pair of layers.
The choice of the time point tthres was also optimised. For too early a time, waves from the target points won’t have had time to propagate to each of the layers.
For too late a time, the contribution of the pixels will be weaker due to repeated reflections. To optimise this parameter, an exhaustive search was done. The pattern was initialised separately for each tthresand the time which generated the lowest ini-tial cost was used. In an ideal case, the time tthrescould be varied for each individual target point. However, this is impractical to evaluate exhaustively where the pattern consists of more than a few points.
5.2.3.4 Direct search
From the initialised state Hi jl, an optimisation step was used to find further iterative improvements. As in Chapter 4, the state of individual pixels on Hi jlwere perturbed, the change in cost ∆C was evaluated, and the change kept if the solution improved (∆C < 0). However, again due to the requirement discussed in Sec. 5.2.3.3, rather than test every pixel only a subset of pixels (xi, yj) were examined on each layer dl. This subset was determined, separately for each iteration, as any pixel for which
H(i+1) jl+ H(i−1) jl+ Hi( j+1)l+ Hi( j−1)l− 4Hi jl6= 0. (5.12)
This selected any pixel, on or off, on the edge of an existing cluster. Where a pixel (xi, yj) was on the edge of clusters on two or more layers, the cost was evaluated for each possible state (i.e., on for each layer and off), and the pixel was assigned the state that minimised Eq. 5.9. The iterations continued until the number of pixel positions changed in an iteration fell below 0.5% of the pixels of the aperture. The pixel selection was, again, random.