本文基于《正弦量频率相位测量的新方法——高金峰》所提出的方法。此方法对上篇博客中所提的方法进行了改进,计算精度有所提升,但是对于被测信号进行了限制,具体见下文分析

1.理论基础

  假设输入的两个模拟信号的表达式分别为:
   μ1(t)=U1msin(ωt+θ1) \mu_1(t)=\boldsymbol{U_{1m}}\sin(\omega t+\theta_1)
   μ2(t)=U2msin(ωt+θ2) \mu_2(t)=\boldsymbol{U_{2m}}\sin(\omega t+\theta_2)
  从表达式中可得:两个信号的频率为 ω2π \cfrac{\omega}{2\pi},相位差为 θ=θ1−θ2 \theta=\theta_1-\theta_2
  设观察时刻 t=0 t=0,则以 t=0 t=0为中心,以时间间隔为 △t \vartriangle t对 μ1(t) \mu_1(t)和 μ2(t) \mu_2(t)进行同时采样可得采样序列:
   ⋯μ1(−3△t),μ1(−2△t),μ1(−△t),μ1(0),μ1(△t),μ1(2△t),μ1(3△t),⋯ \cdots\mu_1(-3\vartriangle t),\mu_1(-2\vartriangle t),\mu_1(-\vartriangle t),\mu_1(0),\mu_1(\vartriangle t),\mu_1(2\vartriangle t),\mu_1(3\vartriangle t),\cdots
   ⋯μ2(−3△t),μ2(−2△t),μ2(−△t),μ2(0),μ2(△t),μ2(2△t),μ2(3△t),⋯ \cdots\mu_2(-3\vartriangle t),\mu_2(-2\vartriangle t),\mu_2(-\vartriangle t),\mu_2(0),\mu_2(\vartriangle t),\mu_2(2\vartriangle t),\mu_2(3\vartriangle t),\cdots
  结合信号的表达式我们可以得到
   μ1(0)=U1msin(θ1)(1)μ1(△t)=U1msin(ω△t+θ1)(2)μ1(−△t)=U1msin(−ω△t+θ1)(3)μ1(2△t)=U1msin(2ω△t+θ1)(4)μ1(−2△t)=U1msin(−2ω△t+θ1)(5) \mu_1(0)=\boldsymbol{U_{1m}}\sin(\theta_1) (1)\\\mu_1(\vartriangle t)=\boldsymbol{U_{1m}}\sin(\omega\vartriangle t+\theta_1)(2)\\\mu_1(-\vartriangle t)=\boldsymbol{U_{1m}}\sin(-\omega\vartriangle t+\theta_1)(3)\\\mu_1(2\vartriangle t)=\boldsymbol{U_{1m}}\sin(2\omega\vartriangle t+\theta_1)(4)\\\mu_1(-2\vartriangle t)=\boldsymbol{U_{1m}}\sin(-2\omega\vartriangle t+\theta_1)(5)
由和差化积公式
   sina+sinb=2sina+b2cosa−b2sina−sinb=2cosa+b2sina−b2 \sin a+\sin b=2\sin\cfrac{a+b}{2}\cos\cfrac{a-b}{2}\\\sin a-\sin b=2\cos\cfrac{a+b}{2}\sin\cfrac{a-b}{2}
将 (2)+(3) (2)+(3)可得
   2U1msinθ1cos(ω△t)=μ1(△t)+μ1(−△t)(6) 2\boldsymbol{U_{1m}}\sin\theta_1\cos(\omega\vartriangle t)=\mu_1(\vartriangle t)+\mu_1(-\vartriangle t)(6)
将 (2)−(3) (2)-(3)可得
   2U1mcosθ1sin(ω△t)=μ1(△t)−μ1(−△t)(7) 2\boldsymbol{U_{1m}}\cos\theta_1\sin(\omega\vartriangle t)=\mu_1(\vartriangle t)-\mu_1(-\vartriangle t)(7)
将 (4)+(5) (4)+(5)可得
   2U1msinθ1cos(2ω△t)=μ1(2△t)+μ1(−2△t)(8) 2\boldsymbol{U_{1m}}\sin\theta_1\cos(2\omega\vartriangle t)=\mu_1(2\vartriangle t)+\mu_1(-2\vartriangle t)(8)
由 (1) (1)和 (6)⇒cos(ω△t)=μ1(△t)+μ1(−△t)2μ1(0)⇒ω=arccos(μ1(△t)+μ1(−△t)2μ1(0))/△t(9) (6)\Rightarrow\cos(\omega\vartriangle t)=\cfrac{\mu_1(\vartriangle t)+\mu_1(-\vartriangle t)}{2\mu_1(0)}\\\Rightarrow\omega=\arccos(\cfrac{\mu_1(\vartriangle t)+\mu_1(-\vartriangle t)}{2\mu_1(0)})/\vartriangle t(9)
  这样当 μ1(0)≠0 \mu_1(0)\ne0时,我们就可以通过三个采样点的数值计算出模拟信号的角频率 ω \omega
  当 μ1(0)≠0 \mu_1(0)\ne0且 μ1(△t)−μ1(−△t)≠0 \mu_1(\vartriangle t)-\mu_1(-\vartriangle t)\ne0时,由 (6)(7)⇒ \cfrac{(6)}{(7)}\Rightarrow
   tanθ1tan(ω△t)=μ1(△t)+μ1(−△t)μ1(△t)−μ1(−△t)⇒tanθ1=μ1(△t)+μ1(−△t)μ1(△t)−μ1(−△t)tan(ω△t)(10) \cfrac{\tan\theta_1}{\tan(\omega\vartriangle t)}=\cfrac{\mu_1(\vartriangle t)+\mu_1(-\vartriangle t)}{\mu_1(\vartriangle t)-\mu_1(-\vartriangle t)}\\\Rightarrow\tan\theta_1=\cfrac{\mu_1(\vartriangle t)+\mu_1(-\vartriangle t)}{\mu_1(\vartriangle t)-\mu_1(-\vartriangle t)}\tan(\omega\vartriangle t)(10)
  由 (1) (1)和 (8)⇒cos(ω△t)=μ1(2△t)+μ1(−2△t)2μ1(0)(11) (8)\Rightarrow\cos(\omega\vartriangle t)=\cfrac{\mu_1(2\vartriangle t)+\mu_1(-2\vartriangle t)}{2\mu_1(0)}(11)
  又由三角公式 tana=1−cos2a1+cos2a−−−−−−−−−√ \tan a=\sqrt{\cfrac{1-\cos 2a}{1+\cos 2a}}(取正值)可得
tanθ1=μ1(△t)+μ1(−△t)μ1(△t)−μ1(−△t)2μ1(0)−μ1(2△t)−μ1(−2△t)2μ1(0)+μ1(2△t)+μ1(−2△t)−−−−−−−−−−−−−−−−−−−−−−−−−−√(12) \tan\theta_1=\cfrac{\mu_1(\vartriangle t)+\mu_1(-\vartriangle t)}{\mu_1(\vartriangle t)-\mu_1(-\vartriangle t)}\sqrt{\cfrac{2\mu_1(0)-\mu_1(2\vartriangle t)-\mu_1(-2\vartriangle t)}{2\mu_1(0)+\mu_1(2\vartriangle t)+\mu_1(-2\vartriangle t)}}(12)
  令 t11=μ1(△t)+μ1(−△t)μ1(△t)−μ1(−△t)t12=2μ1(0)−μ1(2△t)−μ1(−2△t)2μ1(0)+μ1(2△t)+μ1(−2△t)−−−−−−−−−−−−−−−−−−−−−−−−−−√t21=μ2(△t)+μ2(−△t)μ2(△t)−μ2(−△t)t22=2μ2(0)−μ2(2△t)−μ2(−2△t)2μ2(0)+μ2(2△t)+μ2(−2△t)−−−−−−−−−−−−−−−−−−−−−−−−−−√ t_{11}=\cfrac{\mu_1(\vartriangle t)+\mu_1(-\vartriangle t)}{\mu_1(\vartriangle t)-\mu_1(-\vartriangle t)}\\t_{12}=\sqrt{\cfrac{2\mu_1(0)-\mu_1(2\vartriangle t)-\mu_1(-2\vartriangle t)}{2\mu_1(0)+\mu_1(2\vartriangle t)+\mu_1(-2\vartriangle t)}}\\t_{21}=\cfrac{\mu_2(\vartriangle t)+\mu_2(-\vartriangle t)}{\mu_2(\vartriangle t)-\mu_2(-\vartriangle t)}\\t_{22}=\sqrt{\cfrac{2\mu_2(0)-\mu_2(2\vartriangle t)-\mu_2(-2\vartriangle t)}{2\mu_2(0)+\mu_2(2\vartriangle t)+\mu_2(-2\vartriangle t)}}
  所以两个模拟信号的初始相位为
   θ1=arctan(t11t12)θ2=arctan(t21t22) \theta_1=\arctan(t_{11}t_{12})\\\theta_2=\arctan(t_{21}t_{22})
  最终我们得到两个信号的相位差为 θ=∣θ1−θ2∣ \theta=\mid\theta_1-\theta_2\mid

2.流程图

Created with Raphaël 2.1.0 开始 对两路信号进行A/D 获得采样序列 采样序列中 两两的间隔是否过小? 改变采样时间间隔 两个中心点的值是否为0? 计算t11、t12、t21、t22 计算两个模拟信号的初始相位 计算角频率 计算相位差 输出相位差和角频率 结束 yes no yes no

3.MATLAB仿真实现

clear all;F=1;%被采样信号频率1Hz
Ts=0.1;%采样间隔%对下列信号进行处理
u1=inline('2*sin(2*pi*t)');
u2=inline('3*sin(2*pi*t+pi/3)');n=-2:2;
nTs=n*Ts;%采样序列
f1=u1(F*nTs);
f2=u2(F*nTs);if(f1(3)==0)angle1=0;
elset11=(f1(4)+f1(2))/(f1(4)-f1(2));t12=sqrt((2*f1(3)-f1(5)-f1(1))/(2*f1(3)+f1(5)+f1(1)));angle1=atan(t11*t12);%信号1的相位                                                                                              w=(f1(2)+f1(4))/(2*f1(3));
endif(f2(3)==0)angle2=0;
elset21=(f2(4)+f2(2))/(f2(4)-f2(2));t22=sqrt((2*f2(3)-f2(5)-f2(1))/(2*f2(3)+f2(5)+f2(1)));angle2=atan(t21*t22);%信号2的相位                                                                                                  w=(f2(2)+f2(4))/(2*f2(3));
endangle=abs(angle1-angle2)%两个信号的相位差                                                   W=acos(w)/Ts;%求出角速度W
F=W/(2*pi)%求出模拟信号的频率
T=1/F;%求出周期                                                                     

4.思考

4.1对于信号的要求

  从实现原理中我们可以看出,此方法对于初始相位为0的模拟信号无法进行求解,我用自己的理解已将此部分的解决方法放到代码中,但正确性还待验证。

4.2异步采样

  此方法的前提是对于两路信号采样的时间相同,即同步采样。而现实情况中实现理想情况的同步采样是较难实现的。文中给出了校验的方法。在频率 ω \omega确定的形况下,只要选定一个信号的 t=0 t=0的位置,另一路信号 t=0 t=0的位置就可以由第一路信号 t=0 t=0的位置确定。若两路信号的采集时间相差 △t2 \cfrac{\vartriangle t}{2},且第二路信号 t=0 t=0的采集点在第一路采集点之后,则计算两路信号相位差的公式由 θ=∣θ1−θ2∣ \theta=\mid\theta_1-\theta_2\mid变为 θ=∣θ1−θ2+ω△t2∣ \theta=\mid\theta_1-\theta_2+\cfrac{\omega\vartriangle t}{2}\mid
  以上就是我对这篇文章的理解和实验,有不足之处还望大家多多指教。

模拟信号求解相位差(2)相关推荐

  1. 模拟信号求解相位差(1)

      本文基于<正弦相位的取样数值测量--高庆>在MATLAB上进行仿真实验,也可看成对此方法的验证. 1.理论基础   假设输入的两个模拟信号的表达式分别为:    μ1(t)=U1msi ...

  2. 包裹算子对求解包裹相位差分时的作用

    关于相对相位和绝对相位,包裹相位和展开相位的一点个人理解: 1.相对相位即为展开前的相位,也为包裹相位:绝对相位也是展开后的相位,也就是展开相位. 在相位展开基本算法中,有以下的介绍: 2.主要来说明 ...

  3. 微分方程求解matlab冲激信号,用Matlab求冲激响应的几种方法

    ·实验技术与方法· 用 Matlab 求冲激响应的几种方法 贺富堂,应柏青,张 锋,孙 敏 ( 西安交通大学 电工电子教学实验中心,陕西 西安 710049) 摘 要: 用 Matlab 软件求冲激响 ...

  4. 补充知识——结构光之解相位求解的相关问题

    摘要 本文将介绍常见的解相位的原理和和相关的知识. 结构光利用相位信息进行三维重建,主要包括解相位和展开相位,利用展开的相位计算深度信息.解相位,也称为相位提取,主要包括相移法,傅里叶变换解相,卷积法 ...

  5. 结构光相移法中相机投影仪的标定信息如何与相位差联系

    前奏 先解释一下相移法中相机所捕获的条纹图案的数学表达式的含义 这里需要解释的是,表示第n张相移图上(x,y)点处的灰度值,为条纹图背景值,为调制强度函数.与上图中的变量解释不一样,查看了将近十几个人 ...

  6. 卷积法求解系统的零状态响应_连续LTI系统零状态响应求解方法的分析

    连续 LTI 系统零状态响应求解方法的分析 张淑敏 [摘 要] [摘 要]零状态响应是电子技术相关课程中的一个重要概念,本文将 通过对时域分析法和(复)频域分析法求解连续 LTI 系统零状态响应的分析 ...

  7. (超详细)互补格雷码+相移码求解包裹相位(Python实现)

    一.简介 这是我来csdn的第一篇博文,来记录我实现"互补格雷码+相移码"求解包裹相位的编码过程.也可以叫它"5+4"法,5代表五幅格雷码图像,4代表四步相移法 ...

  8. 三维重建(二):包裹相位以及绝对相位求解

    光栅投影 目标:获取包裹相位以及相位的展开 相位法是指分别投射同一频率的多幅光栅图像至物体表面用以获得物体表面信息对应相位,一组图像之间有固定的相位差.目前主要以三步相移,四步相移和五步相移为主.区别 ...

  9. HJ107 二分法求求解立方根

    描述 计算一个数字的立方根,不使用库函数. 保留一位小数. 输入描述: 待求解参数,为double类型(一个实数) 输出描述: 输入参数的立方根.保留一位小数. #include <iostre ...

最新文章

  1. 深入解读ADO.NET2.0的十大最新特性
  2. CSS 巧用 :before和:after
  3. php无法加载Memcache缓存模块问题及Memcache的安装
  4. python互相转换位置坐标(百度坐标、WGS_84、火星坐标)
  5. 添加MySql用户并授权
  6. 点击右侧导航栏,实现iframe嵌入子页面中div,滑动到最上面
  7. 什么是MSTP(多业务传输平台)?
  8. sonarqube 启动不了,异常提示:远程主机强迫关闭了一个现有的连接
  9. 泛型集合 无序泛型 c#
  10. 地图标记点击成超链接_纯干货!株洲100多家美食地图!国庆收藏!
  11. 超炫酷的HTML5视频播放器 支持手机移动页面
  12. 人脸检测(八)--HOG特征原理及实现
  13. 【渝粤教育】国家开放大学2019年春季 0755-22T学前儿童艺术教育 参考试题
  14. tar命令打包并删除原文件
  15. 新时达主板服务器改协议软件,新时达电梯主板调试软件
  16. 模式识别与机器学习第四章特征选择和提取
  17. PeopleSoft技术(Application Designer学习,简称AD)
  18. 10分钟教你生成超高逼格微信朋友圈
  19. cisco路由器基本实验之五 配置Loopback接口进行远程登录 (Boson NetSim)
  20. 活体检测论文研读三:Learning Deep Models for Face Anti-Spoofing: Binary or Auxiliary Supervision

热门文章

  1. 网页视频播放器代码总结大全
  2. android pms架构图,Android PMS之启动流程
  3. VSCode 远程开发:WLS 2 + ZeroTier 内网穿透
  4. java微信公众平台开发接口_微信公众平台API的Java通讯实现
  5. linux启动失败故障分析修复
  6. 逻辑为基、数企赋能(NO.8)—八大消极思维定势
  7. .net开发安卓入门 - Hello world!
  8. 《Openwrt开发》第一章:newifi3 刷自己编译的Openwrt固件
  9. 常用电线负载的电流和功率
  10. java aliasfor_Spring中@AliasFor注解的三种用法