参考:点击参考
本人使用方法二,利用公式:


Matable代码如下:


fid1=fopen(strcat('C:\Users\yxz\Desktop\CNG-WPF123\works\20190619_dn80_复相关\DN80\流量-10\','流量10-0通道-增益3-延时150.dat'),'r');
%打开二fid2=fopen(strcat('C:\Users\yxz\Desktop\CNG-WPF123\works\20190619_dn80_复相关\DN80\流量-10\','流量10-3通道-增益3-延时150.dat'),'r');
data=[];
data2=[];
%转换文件1的AD值
while ~feof(fid1)        %  while ~feof 表示 若 未读到文件末尾 则 继续 循环
m=fscanf(fid1,'%2x%3x',[1 inf]);%读取文件data=[data;m];         %将读出的数据存入data矩阵中end
i = 1;
k = data;
xtemp = data;
while(i<440)k(i) = data(2*i+1)*256 + data(2*i+2)-8;xtemp(i) = i;if(k(i)>32768)k(i) = -(65536 - k(i));endi = i+1;
end
%转换文件2的AD值
while ~feof(fid2)        %  while ~feof 表示 若 未读到文件末尾 则 继续 循环
m2=fscanf(fid2,'%2x%3x',[1 inf]);%读取文件data2=[data2;m2];         %将读出的数据存入data矩阵中end
j = 1;
k2 = data2;
xtemp2 = data2;
while(j<440)k2(j) = data2(2*j+1)*256 + data2(2*j+2)-8;xtemp2(j) = j;if(k2(j)>32768)k2(j) = -(65536 - k2(j));endj = j+1;
end
y1=k;%信号1
y2=k2;%信号2%%%%
hs=360/(2*pi);% 将弧度转化为度数
Cc=xcorr(y1);%求互相关函数%用互相关函数数学表达式求相位差:rm(n)=Rxy(n)/sqrt(Rxx(0)*Ryy(0))
C0=sum(y1.*y2);%y1和y2互相关
A0=sum(y1.*y1);%y1自相关
B0=sum(y2.*y2);%y2自相关
a=sqrt(A0);
b=sqrt(B0);
jiaocha=acos(C0/(a*b))*hs   %相位差计算公式*hs*fen

参考是利用方法一,直接调用xcorr

Matable代码

T=8;% 采样周期
fen=60;%将度转化为分:1度=60分
hs=360/(2*pi);% 将弧度转化为度数
t=0:2*pi/(n-1):2*T*pi;% 采样数,每隔2*pi/(n-1)采数据从0 到 2*T*pi结束
N=length(t);%采样长度
y1=4*sin(t);%信号1
y2=4*sin(t*pi/(180*6));%信号2Cc=xcorr(y1);%求互相关函数%用互相关函数数学表达式求相位差:rm(n)=Rxy(n)/sqrt(Rxx(0)*Ryy(0))
C0=sum(y1.*y2);%y1和y2互相关
A0=sum(y1.*y1);%y1自相关
B0=sum(y2.*y2);%y2自相关
a=sqrt(A0);
b=sqrt(B0);
Zhunquezhi=(pi/(180*6))*hs*fen    %准确值
jiaocha=acos(C0/(a*b))*hs*fen     %相位差计算公式
jdwucha=jiaocha-Zhunquezhi         %绝对误差
xdwucha=((jiaocha-Zhunquezhi)/Zhunquezhi)*100  %相对误差
%用有效值计算比值差
youxiaoy1=sqrt((1/(N-1))*sum(y1.^2))           %计算y1有效值
youxiaoy2=sqrt((1/(N-1))*sum(y2.^2))           %计算y2有效值
bizhicha=abs((youxiaoy1-youxiaoy2)/youxiaoy1)*100%计算比值差
%作图
m=(-N+1):(N-1);subplot(311);%画到同一个图
plot(t,y1);
xlabel('t');ylabel('y1');grid;
subplot(312);
plot(t,y2);
xlabel('t');ylabel('y2');grid;
subplot(313);
plot(m,Cc);
xlabel('m');ylabel('Cc');
grid;

Matable实现利用互相关函数求相位差相关推荐

  1. 递归算法经典实例_【经典算法】利用递归方法求5!

    找出数组只出现一次的数字 题目 利用递归方法求5! 示例: 输入: 5!输出: 120 思路: 当传入5时,5>1,所以返回recursion(4)*5; recursion(4)则调用recu ...

  2. 用计算机计算最大公因数,利用计算器求两个较大数的最大公约数的简便方法

    !塑!垒三塑圭 ke.xuejiaoyujia 数学教育研究 利用计算器求两个较大数的最大公约数的简便方法 胡苏琦 (中山一中广东中山528400) 在高一数学必修A3课本中这一章介绍了如何求两 个较 ...

  3. 利用函数求数组中的最大值

    利用函数求数组中的最大值 <!DOCTYPE html> <html lang="en"><head><meta charset=&quo ...

  4. 利用函数求任意两个数之间的和

    利用函数求任意两个数之间的和 <!DOCTYPE html> <html lang="en"><head><meta charset=&q ...

  5. 利用函数求两个数的最大值

    利用函数求两个数的最大值 <!DOCTYPE html> <html lang="en"><head><meta charset=&quo ...

  6. 利用数组求前n个质数

    我的算法思想和实现方式都在代码和注释当中呢,这样的方式确实使算法复杂度降低一个等级,很好啊. #include <stdio.h> #include <time.h>/*** ...

  7. python找列表中相邻数的个数_利用python求相邻数的方法示例

    前言 本文主要给大家介绍了关于利用python求相邻数的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 什么是相邻数? 比如5,相邻数为4和6,和5相差1的数,连续相差为1的 ...

  8. c语言编程cosx近似值,编程利用公式求 cosx 的近似值(精度为10-6):

    输入精度e 和实数x,用下列公式求cos x 的近似值,精确到最后一项的绝对值小于e.c语言编程, #include#include//这个函数需要返回double类型,不然结果很快就溢出了doubl ...

  9. matlab求多元函数的极小值,[转载]利用MATLAB求多元函数的极值(2)

    利用MATLAB求多元函数的极值分两种情况,(1)无约束条件:(2)有约束条件. (2)有约束条件下求极小值的方法: 假设多变量非线性函数的数学模型为 min f(x) c(x)<=0 ceq( ...

  10. c语言编程序按下列公式计算e的值,编写程序,利用公式 ,求出e的近似值

    已知一个三角形中三条边的长度分别为a,b和c,编写程序利用公式求出三角形的面积,其中S=(a+b+c)/2.要求边长a. usingSystem;usingSystem.Collections.Gen ...

最新文章

  1. perfmon 端口修改_Jmeter 5.3 服务器资源监控插件 PerfMon 使用介绍
  2. IT从花钱到赚钱——惠普IT转型记
  3. 哪些医药企业使用SAP系统呢?
  4. Python教程分享:Python Cookie HTTP获取cookie并处理
  5. CSS float的相关图文详解(二)
  6. 光敏电阻控制led亮度程序_单片机开发系统学习LED亮度控制原理
  7. Unity 4 3 制作一个2D横版射击游戏 2
  8. 【BZOJ4458】GTY的OJ
  9. 腾讯超级大脑发布!马化腾要用三张智能网络,打造AI in All通用操作系统
  10. java 定时器 quartz_Java定时器和Quartz使用
  11. 数据库表及字段命名规范
  12. java实现身份证归属地查询
  13. shanzhi -接小球游戏4.0
  14. 【Python】import class/import module
  15. 腿抖在饮食上需要注意什么?
  16. 【网格 dp】A005_LC_二指输入的的最小距离(枚举上一个状态)
  17. Linux Ubuntu系统设置成中文语言
  18. 手机拍摄全景图并且使用Threejs实现VR全景,超简单WebVR
  19. 基于QCustomplot实现帕累托图
  20. java调用银海社保接口_[开源] C# 封装 银海医保的接口

热门文章

  1. 人工智能6.1 -- 机器学习算法篇(一)数据清洗、回归(含实践)
  2. 微信资源混淆AndResGuard原理
  3. j​a​v​a​实​现​访​百​度​文​库​、​道​客​巴​巴​、​豆​丁​阅​读(http://wenku.baidu.com/view/ad30168fbceb19e8b8f6baea.html)
  4. Java失宠,谷歌宣布Kotlin现在是Android开发的首选语言
  5. 2.1 InnoDB存储引擎(概述、版本、体系结构)
  6. 40道C语言大学经典例题及代码(免费 全)
  7. 数学分析:函数的可积条件
  8. CCNA学习指南第三章
  9. Windows Server 2003 安装教程
  10. VS2011可以下载了,VC++部分强大了很多