在分析兩個交流信號的相位差時,可以用一種正交的方式求兩個交流信號的相位差。我們將兩個信號近似成電流和電壓,這個時候就可以用功率三角形的方式來求解兩個信號之間的相位差。
首先我們對兩個交流信號的進行一個半周波的離散采樣(實際只需要1.25個周波就可以),假設將每個周波分成1024個等分,我們就得到序列U[0]-U[1279]和I[0]-I[1279],然后我們求出P和Q:
Q =(U0*I255+U1*I256+.....+U1024*I1279)/1024
P = ( U0*I0+U1*I1+...U1023*I1023)/1024
然后在對Q,P進行反正切,即可求出兩個正選信號之間的相位差
arctanφ = Q/P
φ便時U I兩個序列的相位差
需要注意的是,這兩個信號中,必須有一個信號是沒有直流分量的(Asin(wt+φ)+B的B值),否則求出的值將會不准確。
貼上C代碼
#include <stdio.h> #include <math.h>