Transmission line matrix modelling
I recently got excited about cellular automata systems again, which is something that got me interested in computing in the first place. I suppose you could think of it as going back to the roots. Many nights and weekends I’d be obsessed about these seemingly simple but endlessly complex discrete systems as a kid and programming them in Basic. This also led me to study hardware level programming using machine language and assembler, since Basic was far too slow for most things.
Turns out this simple bit flipping is actually useful for something. Complexity is at the core of many important dynamic models, for example in hydrodynamics where in some cases traditional approaches are too prone for truncation and round-off noise errors to model turbulence accurately enough. Lattice gas and lattice Boltzmann models handle this sort of problem far better because of their discrete nature. Discreteness also means that the algorithms are perfect for massive parallel computing.
Here I’ve done a simple transmission line matrix model to simulate wave propagation. You could think of it as applying Huygens wavefront principle to a discrete node system, which turns out to work perfectly. The algorithm is very close to what you get if you discretisize a scalar wave equation.
Tags: fresnel, huygens, scalar, wave equation