
Resonance Compensation: The Maths Behind Input Shaping
Logan F.
Why Your Printer Vibrates
When a 3D printer toolhead changes direction, it does not stop instantly. No physical object does. The stepper motors, belts, and frame all act together as a mechanical system with natural resonant frequencies. At these frequencies, even small movements like direction changes can create much larger vibrations. The printer effectively rings like a bell with every sharp corner. The visible result is a ripple pattern on the surface of prints, commonly known as ringing or ghosting. This has long been one of the most significant limitations when trying to print at higher speeds without sacrificing quality.
Input shaping, as used in Klipper, solves this by calculating an acceleration profile that actively cancels these vibrations as the printer moves. It is based on principles from signal processing and control theory. In simple terms, instead of sending one movement command, the printer splits it into carefully timed segments that counteract vibration before it can build up.
The ZV Shaper Concept
The Zero Vibration shaper works by splitting a single acceleration movement into two smaller movements, spaced apart by half of the system’s natural vibration period. The second movement is scaled so that it cancels out the vibration created by the first. When timed correctly, the result is effectively zero leftover vibration at that frequency.
This approach is simple and efficient, with only a small impact on speed. In Klipper, the ZV shaper applies this method to every movement command during printing.
The limitation is that it only targets one exact frequency. If the printer’s natural frequency shifts slightly due to heat, belt tension, or measurement variation, the effectiveness drops. To solve this, more advanced shapers are used. MZV adds an extra step to improve tolerance to variation. EI adds even more steps for greater stability. Higher level options can handle multiple vibration peaks, but each step adds a small time cost by slightly extending movement transitions.
Understanding PSD Graphs
During calibration, the ADXL345 sensor produces a graph showing how much the printer vibrates at different frequencies. This is known as a power spectral density graph. A tall, narrow peak means the printer has a strong, clearly defined vibration frequency. In this case, simpler shapers like ZV or MZV work well.
If the graph shows wider peaks or multiple peaks, the system is more complex. In these cases, more advanced shapers provide better results, even though they slightly reduce maximum speed.
Very low frequency peaks often point to mechanical issues rather than tuning problems. Loose belts, poorly tightened components, or frame movement can all cause this. Input shaping cannot fix these problems. The hardware must be corrected first.


Leave a comment
This site is protected by hCaptcha and the hCaptcha Privacy Policy and Terms of Service apply.