要测量以上两路波(如图)的相位差,其中方波为参考电压,频率为25Hz,设其上升沿的相位为0,要用软件计算正弦波相对于方波的相位差,都有哪些算法呢?
我现在用的算法是:STM32F103 TIM4捕获方波的上升沿,在捕获中断中触发TIM2定时中断,TIM2定时频率为2500Hz,即一个周期读取正弦波的采样值100次,并记下最大采样值所对应的采样是第几次(假设为a),则相位差为(a/100)*2*3.14。但由于正弦波轻微的波动就会带来a的大幅度变化,所以由此方法算出的结果误差很大(十几度)。
希望大家能给我点建议。 |