wow somebody with a brain
Your observation emphasizes my point about resolution. Spark cannot be perfect from ECU driver- 30 degrees is 30.005, 29.984, 30.0914, 30.0554, 30.0395, 30.1482 etc...
Heating increases chemical reaction rate but it does not adjust starting point.
Engine parts are an energy storage with a frequency, gas expanding during piston ascent is a spring-load on bottom end components, there is an frequency(rpm in this case) response between chemical rate of expanding gas and energy absorbed and released by the piston load/wristpin/rod/fluid film.
Some energy is absorbed and returned unrelated to combustion but this energy must be delivered in phase with combustion or it will negatively influence the energy provided by combustion. Like parasitic loss from an accessory.
During compression after a spark some internal energy is lost and more will be lost if the spark started sooner.
If the engine's rate is increasing then the same chemical reaction as previously will result with a
higher cylinder pressure prior to TDC and a lower pressure after TDC (it will stress rod bearings and reduce integral torque).
When we consider something like 40 events per second for a cylinder and all of them have random positive or negative start times while the engine rate is always positive, this is where the issue of phase and damping can create oscillations in torque and engine parts.
if the engine was steady state with no macroscopic rate of change, the issue resolves itself because + and - start times with + and - rate of change will self damp the system as the engine rapidly speeds up and decelerates to maintain some RPM and output figure at constant load.
When we attempt to increase mechanical frequency the rate of change becomes positive. In response our chemical reaction rate also becomes positive which is why combustion keeps up with RPM, but if the timing/starting rate does not choose to become consistently positive or negative the system will randomly gain and lose internal energy shortly after onset of chemical combustion causing oscillations.
I base partly on observations after dynojet tuning many vehicles, sometimes an torque oscillation can be fixed by simply adding timing difference between cells.
Many people intuitively add timing anyways as rpm rises, and remove in response to peak torque, but still many do not and probably should.
Here is an example of torque oscillation likely caused by cylinder pressure rising and falling in response to rotating assembly rate change
torqueoscilation.jpg
As evinced by the torque curve in the dynojet- the engine peaks out with some rate but then rapidly decelerates and regains rate, like a spring damping system that lost energy and regained slowly out of phase.
1200px-Forced_Vibration_Response.png
Notice power never actually falls, frequency rate only slows down. We see apparent boost pressure does not fall and combustion continues. There is no apparent drop of spark at similar torque values with higher frequency. I am not saying we have accounted for every possibility but, to me,
It looks to me like a lack of damping
Damped_Free_Vibration.png
We add damping by always changing the timing setting to vary between cell linear interpolation. It will guarantee that despite imprecise starting point for combustion per second, there will always be a forward or reverse momentum energy storage between cylinder events which damps the output.