找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1803|回复: 3
打印 上一主题 下一主题
收起左侧

用51单片机测量相位差的程序有什么好的方案吗?求思路

[复制链接]
跳转到指定楼层
楼主
ID:845223 发表于 2020-11-27 08:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
测量两个相位的相位差并显示出来
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:328014 发表于 2020-11-28 03:49 | 只看该作者
看看论坛大神的回复吧:http://www.51hei.com/bbs/dpj-18186-1.html
回复

使用道具 举报

板凳
ID:420836 发表于 2020-11-28 09:49 | 只看该作者
测量第一波的上升沿和第二波的上升沿之间的时间差。
回复

使用道具 举报

地板
ID:388197 发表于 2020-11-28 11:43 | 只看该作者
如果是纯正弦信号,可以参考交流电路中有功无功功率的算法,先计算两个信号的有效值
RMSa = (1/n)*∑A^2(n);
RMSb = (1/n)*∑B^2(n);
然后分别求出这两个信号的"视在功率"和"有功功率";
视在功率 P_APP = RMSa*RMSb;
有功功率 P_ACT = (1/n)*∑A(n)*B(n);
两个信号的相位差就是功率因数  Q = cos(θ) = P_ACT/P_APP;
那么两个信号的相位差 θ = arccos(Q);
以上方法只能计算出两个信号相位差的绝对值,不能计算出到底是超前还是滞后,而且计算出的相位差只适用于纯正弦信号;
在有谐波存在的情况下,以上方法计算出的功率因数是准的,单相位差就不能用以上方法了;
有谐波存在的情况下,不同频率分量有着不同的相位差,需分开讨论;
可以对两个信号进行复数FFT;
FFT后,得到各频率分别的实部虚部,根据实部虚部的正负符号,可以判定具体再哪个象限,虚部除以实部,也可以得出正切值,对正切值进行反三角函数运算,再加上象限的判断,可以得出具体的相角,这样就可以得出某频率下,两信号的相位差,并能计算是超前还是滞后;
具体的可以参考STM32F4 官方DSP库FFT方面的一些例程;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表