# PLL and zero crossing detection

Is there an algorithm which can give the frequency and phase of a three phase signal (three phase voltages) without using zero crossing detection.

I mean an algorithm which is done in open loop.

• because it's 3-$\phi$, i presume it's within the power or electro-mechanical energy conversion subdiscipline of electrical engineering. is that correct? if so, i presume we can all assume it's sinusoidal signals and that all 3 phases have the same frequency. is that correct? also, do we have, apriori, some knowledge of the approximate frequency? (like if it's around 60 Hz or 50 Hz, but not exactly?) – robert bristow-johnson Apr 11 '15 at 21:54
• What do you mean with "open loop" ? What relation do you make between "open loop" and "zero crossings" ? – Yves Daoust Sep 9 '15 at 7:53

What about this: if your three signals are balanced (I mean with equal amplitudes and $2\pi/3$ shifts), you can find the amplitude by summing the squares (check that it doesn't pulse). And from there, the arguments of the three sinusoids ($\omega t+\phi+k2\pi/3$). Actually you solve this geometric problem, where the three projections are given:

Then, repeating the computation at two close instants, you get the frequency. It may be useful to maintain a linear fit on the last few $n$ phase values to improve accuracy and ease handling of phase wraparound.

The DFT does that, and is, so to speak, the grandmother of all frequency estimators; the peaks of the absolute spectrum would usually coincide with your signal's frequency, and their complex rotation $e^j\phi$ gives you a relative phase.

Now, I'm curious why this is not the first method you've thought of, so I guess it's because in many applications, it's easier to detect zero crossings and then to count the time between those than to sample the signal at fixed intervals, but I come from a world where we work with Nyquist all the time, so this might explain my surprise.

• I must get the phase and frequency in real time. – Ahmed Abrous Jan 11 '15 at 19:04
• A DFT of a part of a oscillation will already give you a phase and frequency estimate, long before you actually observe a zero-crossing, depending on your sampling rate. Thus, this estimation method could be much faster than zero-crossing/time-counting, and is in the worst case as slow as the zero-crossing based algorithm. I thus don't understand your comment. – Marcus Müller Jan 11 '15 at 19:23
• Zero crossing measurements aren't real time as they indicate nothing about frequency or phase changes between zero crossings. Therefore you must sample more frequently and process those samples more frequently to get lower latency closer to real time, as well as reducing the effects of noise on the estimates. – hotpaw2 Feb 6 '16 at 15:20
• @hotpaw2 I feel like you're basically agreeing with me on the aspect of DFT-based phase estimation being "more real time" than zero crossing detection, but I still feel like this is criticism on my answer/comment: Care to explain? – Marcus Müller Feb 6 '16 at 16:42
• My comment was a reply to the questioner's first comment, not a criticism. – hotpaw2 Feb 6 '16 at 16:45

You talk about a PLL and open-loop, but as fas as I know, all PLL are closed-loop systems.

That being said, there are many 3-phase PLL implementations. Here's an article from Aalborg university that you can use as an introduction.

http://vbn.aau.dk/files/234976902/TPEL_Reg_2016_03_0577.pdf