Phase-Locked Loops: Principles and Practice