Phase Shifting Algorithms