diff --git a/_pages/animations.md b/_pages/animations.md index c970626..279b5da 100644 --- a/_pages/animations.md +++ b/_pages/animations.md @@ -2,10 +2,10 @@ layout: page title: animations permalink: /animations/ -description: acoustics animations +description: nav: true nav_order: 3 -display_categories: [animations] +display_categories: [acoustics animations, signal processing animations] horizontal: false --- diff --git a/_projects/5_geometric_acoustics_calibration copy.md b/_projects/5_geometric_acoustics_calibration copy.md index 088997c..a6d730b 100644 --- a/_projects/5_geometric_acoustics_calibration copy.md +++ b/_projects/5_geometric_acoustics_calibration copy.md @@ -10,8 +10,7 @@ category: work Geometric acoustics simulations are used across areas of architectural acoustics for improved sound design. Nonetheless, an important aspect of creating a numerical model is selecting material properties so that measured data agrees with the simulation input. One area of my research is to generate numerical methods to calibrate geometric acoustics models. - - +Geometric acoustics (GA) models use principles of specular and diffuse reflections to predict the temporal energetic response of a room. Methods can include ray tracing, beam or cone tracing, and image-source methods to determine ray paths between a source and receiver. In modeling sound propagation, random incidence absorption coefficients determine the amount of energy lost at each reflection while random incidence scattering coefficients influence the trajectory at each reflection. The cumulation of many rays and leads to the echogram, an energetic description of the energy decay in the room.
@@ -24,6 +23,25 @@ Geometric acoustics simulations are used across areas of architectural acoustics
- Simple geometrical acoustics model. + Simple geometrical acoustics model. The red line indicates a single ray path from the source to the receiver.
+ +Many room acoustic metrics, including reverberation time and clarity, may be calculated from the echogram, which may be written as follows: + +\begin{equation} +E(t) = \sum_{m = 1}^M W_m\left(\prod_{n = 1}^N (1 - \alpha_n)^{p_{nm}}\right)\delta(t - \tau_m) +\end{equation} +with $$M$$ being the number of rays, $$W_m$$ being the amplitude of the $$m$$th ray, $$N$$ being the number of surfaces $$\alpha_n$$ being the absorption coefficient for the $$n$$th surface, and $$\tau_m$$ being the impact time of the $$m$$th ray. The integer $$p_{nm}$$ represents the number of times the $$m$$th ray hit the $$n$$th surface. + +Because the echogram is a function of the absorption coefficients, one can calculate its gradient as +\begin{equation} +\frac{\partial E}{\partial \alpha_n} = -\sum_{m = 1}^M \frac{p_{nm}}{(1 - \alpha_n)} W_m\left(\prod_{n = 1}^N (1 - \alpha_n)^{p_{nm}}\right)\delta(t - \tau_m). +\end{equation} +Using this expression, one may use a gradient-descent algorithm to iteratively adjust the absorption coefficients as +\begin{equation} +\alpha_n^{(k+1)} = \alpha_n^{(k)} - \mu (\tilde{C}^{(k)} - C)\frac{\partial}{\partial \alpha_n}\tilde{C}^{(k)}. +\end{equation} +where $$C$$ is some meaasured room acoustics metric, $$\tilde{C}$$ is its simulated value, and $$k$$ is the iteration step. + + diff --git a/_projects/directivity_animations.md b/_projects/directivity_animations.md index 3349751..41e01a4 100644 --- a/_projects/directivity_animations.md +++ b/_projects/directivity_animations.md @@ -4,7 +4,7 @@ title: source directivity description: img: assets/img/animations/point_source_directivity.gif importance: 4 -category: animations +category: acoustics animations --- diff --git a/_projects/geometric_acoustics_animations.md b/_projects/geometric_acoustics_animations.md new file mode 100644 index 0000000..aaebb02 --- /dev/null +++ b/_projects/geometric_acoustics_animations.md @@ -0,0 +1,20 @@ +--- +layout: page +title: geometric acoustics +description: +img: assets/img/animations/specular_reflection.gif +importance: 6 +category: acoustics animations +--- + +
+
+ {% include figure.html path="assets/img/animations/specular_reflection.gif" class="img-fluid rounded z-depth-1" %} +
+
+ {% include figure.html path="assets/img/animations/diffuse_reflection.gif" class="img-fluid rounded z-depth-1" %} +
+
+
+ Specular and diffuse reflections used in geometric acoustics +
diff --git a/_projects/image_method_animations.md b/_projects/image_method_animations.md index f012e93..97dc1ed 100644 --- a/_projects/image_method_animations.md +++ b/_projects/image_method_animations.md @@ -4,7 +4,7 @@ title: image source methods description: img: assets/img/animations/image_source_intro.gif importance: 4 -category: animations +category: acoustics animations --- diff --git a/_projects/optimization_animations.md b/_projects/optimization_animations.md new file mode 100644 index 0000000..8994b3f --- /dev/null +++ b/_projects/optimization_animations.md @@ -0,0 +1,46 @@ +--- +layout: page +title: optimization methods +description: +img: assets/img/animations/GradientDescent.gif +importance: 6 +category: signal processing animations +--- + +Optimization algorithms try to minimize a function. + +In gradient descent, the iterative update is related to the local gradient of the objective function +\begin{equation} +\mathbf{x}^{(k+1)} = \mathbf{x}^{(k)} - \mu \nabla J(\mathbf{x}^{(k)}). +\end{equation} + +
+
+
+
+ {% include figure.html path="assets/img/animations/GradientDescent.gif" title="example image" class="img-fluid rounded z-depth-1" %} +
+
+
+
+
+ Gradient descent algorithm +
+ +Newton's method uses the Hessian matrix to compute the local curvature. This leads to a more direct descent path. However, computing the Hessian matrix may be difficult for some problems. +\begin{equation} +\mathbf{x}^{(k+1)} = \mathbf{x}^{(k)} - \mathbf{H}^{-1}(\mathbf{x}^{(k)})\nabla J(\mathbf{x}^{(k)}). +\end{equation} + +
+
+
+
+ {% include figure.html path="assets/img/animations/NewtonsMethod.gif" title="example image" class="img-fluid rounded z-depth-1" %} +
+
+
+
+
+ Newton's method +
diff --git a/_projects/plate_animations.md b/_projects/plate_animations.md index 83c29a7..ca6e8be 100644 --- a/_projects/plate_animations.md +++ b/_projects/plate_animations.md @@ -4,7 +4,7 @@ title: membrane vibrations description: img: assets/img/animations/circular_plate_22.gif importance: 4 -category: animations +category: acoustics animations --- diff --git a/_projects/polyhedra_animations.md b/_projects/polyhedra_animations.md index fdbaea5..87dfcd3 100644 --- a/_projects/polyhedra_animations.md +++ b/_projects/polyhedra_animations.md @@ -4,7 +4,7 @@ title: rpl directivity patterns description: img: assets/img/animations/dodec_directivity.gif importance: 4 -category: animations +category: acoustics animations --- Regular polyhedral loudspeakers are special loudspeakers with several drivers diff --git a/_projects/rod_animations.md b/_projects/rod_animations.md index ae6a988..4a80906 100644 --- a/_projects/rod_animations.md +++ b/_projects/rod_animations.md @@ -4,7 +4,7 @@ title: rod bending modes description: img: assets/img/animations/rod_demo.gif importance: 4 -category: animations +category: acoustics animations --- A "rod" is an elastic solid whose cross-sectional area is very small relative to its length. A vibrational model constrained to one dimension serves as a good approximation to its motion. diff --git a/_projects/sphere_animations.md b/_projects/sphere_animations.md index c31e9ad..bbeffce 100644 --- a/_projects/sphere_animations.md +++ b/_projects/sphere_animations.md @@ -4,7 +4,7 @@ title: radiation from spheres description: img: assets/img/animations/point_source.gif importance: 4 -category: animations +category: acoustics animations --- diff --git a/assets/img/animations/GradientDescent.gif b/assets/img/animations/GradientDescent.gif new file mode 100644 index 0000000..c28fa2b Binary files /dev/null and b/assets/img/animations/GradientDescent.gif differ diff --git a/assets/img/animations/NewtonsMethod.gif b/assets/img/animations/NewtonsMethod.gif new file mode 100644 index 0000000..359c2e9 Binary files /dev/null and b/assets/img/animations/NewtonsMethod.gif differ diff --git a/assets/img/animations/diffuse_reflection.gif b/assets/img/animations/diffuse_reflection.gif new file mode 100644 index 0000000..6caa28a Binary files /dev/null and b/assets/img/animations/diffuse_reflection.gif differ diff --git a/assets/img/animations/specular_reflection.gif b/assets/img/animations/specular_reflection.gif new file mode 100644 index 0000000..b32bc3a Binary files /dev/null and b/assets/img/animations/specular_reflection.gif differ diff --git a/assets/pdf/2023_April_CV.pdf b/assets/pdf/2023_April_CV.pdf index f50b30b..f682345 100644 Binary files a/assets/pdf/2023_April_CV.pdf and b/assets/pdf/2023_April_CV.pdf differ