Do I have to supply each MOSFET driver from it's own battery?
Normally, yes, but in the Thread I have pointed you to: Reliable and Flexible Switching System, a small Isolated DC to DC Converter was used to power each stage:
Its worth doing some deep study on the thread, as this is one place where many questions can be answered when it comes to switching and so on.
P.S: All Microcontrollers have whats called Registers. Registers can be programmed to set and reset PWM and PWM Channels. I have Programmed some in the past. I believe I have given examples here on this forum, right at the moment it slips my mind exactly where, but this can be used to fire PWM out a single Pin or multiple Pins based on the Clock Speed (184Mhz or what ever your Micro is).
UInt32 CR1_OFFSET = 0x00;
Register CR1 = new Register(TIMx_BASE + CR1_OFFSET);
CR1.ClearBits(3 << 5);
CR1.SetBits((uint)mode << 5); // <--- Bits 6:5 CMS: Center-aligned mode selection
P.P.S: Speed of switching especially from a microcontroller, is not going to make the difference between Above-Unity and Below-Unity. T.H. Moray had no such tech, nor did Tesla, nor did Hendershot, nor did anyone I can think of, not even Akula… The Magnetic Field Interactions give you Above-Unity. Not the speed at the switch.
Current Digital Tech can be no comparison for Spark Gap speeds!