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.
Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. It only takes a minute to sign up.Sign up to join this community
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.
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.