- I’m adding more to this repo, stay tuned!
- The existing code is a simplified proof-of-concept and may require adjustments. Use at your discretion.
- Working on Rev. B! It will focus on scalability and performance.
- Goal: robust enough to handle worst-case scenarios.
The Phase Synchronizer detects, synchronizes, and adjusts the phase of two arbitrary out-of-phase signals without altering their frequency. This ensures consistent relative phase alignment, improving stability and performance in time-dependent systems like ENG/ECG signal processing.
Traditional PLL systems alter signal frequency due to oscillators. This project aims to offer a simple, cost-effective alternative for easier hardware integration.
After synchronization, system stability is key. Noise or disturbances can cause drift, so a robust feedback mechanism is recommended. FIFO (First-In-First-Out) architectures can deliver excellent results.
- Phase Detection: Identifies phase differences automatically.
- Phase Synchronization: Aligns signal phases with precision.
- Phase Shift Correction: Resolves misalignments effectively (some µV–mV noise floor may remain).
- Frequency Integrity: Original frequencies are preserved.
- Closed-loop Control: Continuously monitors and corrects phase shifts.
- Proteus: Simulation and analysis.
- KiCAD: Circuit design, BoM, PCB, schematics, mechanical drawings.
- Arduino IDE: Firmware development in C/C++.
- Analog Adjustable Filters: Frequency-independent phase correction.
- DSP: Accurate phase detection and control.
The system:
- Detects phase difference between two signals.
- Adjusts one to align with the other, without changing frequency.
- Applies to telecom, audio, biomedical, and timing-sensitive systems.
Only one signal should be phase-compensated (lead/lag) at a time.


No design is perfect; ongoing optimization is essential. Consider:
- Stability, crosstalk, noise
- Signal integrity
- Cost, space
- Long-term reliability
At high frequencies, the current setup is less effective. A redesign may be necessary. Note: both input signals must have the same frequency and amplitude.
Tip: Model the system in MATLAB before hardware implementation.
- Telecom: Signal coherence in wireless/wired transmission.
- Audio: Phase-aligned multi-source playback.
- Digital Systems: Synchronized clocks for data accuracy.
- My first (rushed!) modular PCB from 2022 ! still functional.
- Used BNC connectors, tested with low-frequency signals (~100 Hz).
- You may need a signal generator or oscilloscope with phase-shift function. Filters (passive/active) can help too.
This project includes firmware, software, hardware designs, and integration components.
- Non-Commercial Use: Free to use, modify, and distribute.
- Commercial Use: Contact [email protected] for permission and licensing.
See LICENSE for full details.
Want to use, modify, or take inspiration from this for commercial/corporate use? Please get in touch for licensing.
Feel free to tweak the code to fit your needs, there’s room to improve error handling and detection.
Contact: For general or technical questions, I’m happy to help!