As I mentioned before, it is easy to calculate the delta phase angle betweeen two sinusoidal waves with the same frequency when DFT is involved. The problem occurs when these two waves have different frequencies and are DFTed at different periodic bases. A correction must be introduced to remove the reference gap due to the presence of the delta frequency.
Assume two vectors V1 and V2 are obtained aft DFT at frequency bases w1 = 2PI*f1 and w2 = 2PI*f2:
V1 = exp(j A1) = cos(A1) + j sin(A1),
where V1 in a rotating referece (旋转参照系) which frequency is w1 = 2PI*f1
V2 = exp(j A2) = cos(A2) + j sin(A2),
where V2 in a rotating referece which frequency is w2 = 2PI*f2
Convert V1 and V2 to V1s and V2s in the stationary reference (静止参照系):
V1s = exp(jA1s) = exp(jw1 + jA1)
V2s = exp(jA2s) = exp(jw2 + jA2),
The delta phase angle is
exp(dAs) = Expj(jA1s – jA2s)
= exp(jA1s) * exp(–jA2s)
= exp(jw1 + jA1)* exp(-jw2 - jA2)
= exp(jw1 – jw2) * exp(jA1-jA2)
= exp(jdw) * exp(jdA)
Assume the rotating REFERCE angles (note: not the waves) with time window samples M1 and M2 at the nth sample can be calculated using the following equation:
w1(n) = 2PI * n / M1, where 0<n<M1 in this equation.
w2(n) = 2PI * n / M2, where 0<n<M2 in this equation.
The angle correction can be calculated using the following equation:
dw(n) = w1(n) – w2(n)
= 2PI * n / M1 - 2PI * n / M2
= 2PI*n* (M1 – M2) / (M1*M2)
= K*n,
where K = 2PI * (M1-M2)/(M1*M2) is a constant.
Thus, the delta angle can be obtained:
dAs(n) = dw(n) + (A1(n) – A2(n))
This algorithm was implemented in a product applied in motor bus transfer.