Brian Hamilton: FPGA implementation of finite-difference schemes for real-time acoustics simulations

Finite-difference schemes for the wave equation can be amenable to VLSI (Very Large Scale Integration) implementation given that the scheme is parallelizable.  In the case of the acoustical wave equation in 2-D on a homogeneous medium, the centered-space backwards-time finite-difference scheme on a rectangular grid is well suited to parallel implementation.  However, small grid spacings are required to get a good approximation to the solution of the acoustical wave equation for the full range of audible frequencies.  When using finite-difference schemes for simulating room acoustics in 2-D, this can lead to thousands of nodes for simulating wave propagation in even a small room.  Real-time simulation remains out of reach of today's desktop computers, but FPGAs are promising as they are highly parallelizable.  However, with thousands of nodes, the mapping to an FPGA presents a challenge.  The goal of this project will be to create a program that, given an arbitrary space, will compile VHDL code with all the required connections between nodes.  The VHDL code will then be mapped to an FPGA and will used to simulate a virtual 2-D space (or membrane) in real-time.  The virtual space will be excited via a line input to an audio chip on the FPGA development board.  The room can then be tapped-out at an arbitrary point to get an approximation of the wave propagation in the virtual space.