[STM32F1] 有了交流信号的实部和虚部,如何计算初始相位?

[复制链接]
5572|8
 楼主| yzzly 发表于 2016-11-8 11:22 | 显示全部楼层 |阅读模式
有了交流信号的实部和虚部,如何计算初始相位?谢谢!
airwill 发表于 2016-11-8 12:47 | 显示全部楼层
这是个电路里面的书本知识问题, arctg(虚部/实部)
小曾1220 发表于 2016-11-8 13:30 | 显示全部楼层
 楼主| yzzly 发表于 2016-11-8 13:48 | 显示全部楼层
本帖最后由 yzzly 于 2016-11-8 13:50 编辑

二楼,这又是什么意思?
Angle=atan(Px/Py);
if(Px>0 && Py<0)Angle=Angle+PI;
else if(Px<0 && Py<0)Angle=Angle+PI;
else if(Px<0 && Py>0)Angle=Angle+2*PI;




菜狗 发表于 2016-11-8 14:19 | 显示全部楼层
yzzly 发表于 2016-11-8 13:48
二楼,这又是什么意思?
Angle=atan(Px/Py);
if(Px>0 && Py

angle 相位
tan(angle)=sin(angle)/cos(angle)=Px/Py,-90°<angle<90°;
后面的乱七八糟的不用管,tan函数周期是180°,加一个两个180°,不影响波形。他的单位是弧度PI 3.14 等效于180°。
hxfxt 发表于 2016-11-8 14:45 | 显示全部楼层
yzzly 发表于 2016-11-8 13:48
二楼,这又是什么意思?
Angle=atan(Px/Py);
if(Px>0 && Py

Angle=atan(Px/Py); 这样求出的值是弧度值,范围:-π/2 ~ π/2
if(Px>0 && Py<0)Angle=Angle+PI;
else if(Px<0 && Py<0)Angle=Angle+PI;
else if(Px<0 && Py>0)Angle=Angle+2*PI
上面的这些是为了判断(py,px)所在象限,为了让弧度值变到0~2π之间,PI即π
菜狗 发表于 2016-11-8 16:05 | 显示全部楼层
hxfxt 发表于 2016-11-8 14:45
Angle=atan(Px/Py); 这样求出的值是弧度值,范围:-π/2 ~ π/2
if(Px>0 && Py

你说得对,要判断象限
wahahaheihei 发表于 2016-11-8 22:22 | 显示全部楼层
跟各位大神又学了一招。
fxmxh_ 发表于 2016-11-9 08:40 | 显示全部楼层
楼猪, 偶 以前 也 弄啥个,

你是做 跟   POWER  相关的工作吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

428

主题

1192

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部