Matable实现利用互相关函数求相位差
参考:点击参考
本人使用方法二,利用公式:
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实现利用互相关函数求相位差相关推荐
- 递归算法经典实例_【经典算法】利用递归方法求5!
找出数组只出现一次的数字 题目 利用递归方法求5! 示例: 输入: 5!输出: 120 思路: 当传入5时,5>1,所以返回recursion(4)*5; recursion(4)则调用recu ...
- 用计算机计算最大公因数,利用计算器求两个较大数的最大公约数的简便方法
!塑!垒三塑圭 ke.xuejiaoyujia 数学教育研究 利用计算器求两个较大数的最大公约数的简便方法 胡苏琦 (中山一中广东中山528400) 在高一数学必修A3课本中这一章介绍了如何求两 个较 ...
- 利用函数求数组中的最大值
利用函数求数组中的最大值 <!DOCTYPE html> <html lang="en"><head><meta charset=&quo ...
- 利用函数求任意两个数之间的和
利用函数求任意两个数之间的和 <!DOCTYPE html> <html lang="en"><head><meta charset=&q ...
- 利用函数求两个数的最大值
利用函数求两个数的最大值 <!DOCTYPE html> <html lang="en"><head><meta charset=&quo ...
- 利用数组求前n个质数
我的算法思想和实现方式都在代码和注释当中呢,这样的方式确实使算法复杂度降低一个等级,很好啊. #include <stdio.h> #include <time.h>/*** ...
- python找列表中相邻数的个数_利用python求相邻数的方法示例
前言 本文主要给大家介绍了关于利用python求相邻数的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 什么是相邻数? 比如5,相邻数为4和6,和5相差1的数,连续相差为1的 ...
- c语言编程cosx近似值,编程利用公式求 cosx 的近似值(精度为10-6):
输入精度e 和实数x,用下列公式求cos x 的近似值,精确到最后一项的绝对值小于e.c语言编程, #include#include//这个函数需要返回double类型,不然结果很快就溢出了doubl ...
- matlab求多元函数的极小值,[转载]利用MATLAB求多元函数的极值(2)
利用MATLAB求多元函数的极值分两种情况,(1)无约束条件:(2)有约束条件. (2)有约束条件下求极小值的方法: 假设多变量非线性函数的数学模型为 min f(x) c(x)<=0 ceq( ...
- c语言编程序按下列公式计算e的值,编写程序,利用公式 ,求出e的近似值
已知一个三角形中三条边的长度分别为a,b和c,编写程序利用公式求出三角形的面积,其中S=(a+b+c)/2.要求边长a. usingSystem;usingSystem.Collections.Gen ...
最新文章
- perfmon 端口修改_Jmeter 5.3 服务器资源监控插件 PerfMon 使用介绍
- IT从花钱到赚钱——惠普IT转型记
- 哪些医药企业使用SAP系统呢?
- Python教程分享:Python Cookie HTTP获取cookie并处理
- CSS float的相关图文详解(二)
- 光敏电阻控制led亮度程序_单片机开发系统学习LED亮度控制原理
- Unity 4 3 制作一个2D横版射击游戏 2
- 【BZOJ4458】GTY的OJ
- 腾讯超级大脑发布!马化腾要用三张智能网络,打造AI in All通用操作系统
- java 定时器 quartz_Java定时器和Quartz使用
- 数据库表及字段命名规范
- java实现身份证归属地查询
- shanzhi -接小球游戏4.0
- 【Python】import class/import module
- 腿抖在饮食上需要注意什么?
- 【网格 dp】A005_LC_二指输入的的最小距离(枚举上一个状态)
- Linux Ubuntu系统设置成中文语言
- 手机拍摄全景图并且使用Threejs实现VR全景,超简单WebVR
- 基于QCustomplot实现帕累托图
- java调用银海社保接口_[开源] C# 封装 银海医保的接口
热门文章
- 人工智能6.1 -- 机器学习算法篇(一)数据清洗、回归(含实践)
- 微信资源混淆AndResGuard原理
- j​a​v​a​实​现​访​百​度​文​库​、​道​客​巴​巴​、​豆​丁​阅​读(http://wenku.baidu.com/view/ad30168fbceb19e8b8f6baea.html)
- Java失宠,谷歌宣布Kotlin现在是Android开发的首选语言
- 2.1 InnoDB存储引擎(概述、版本、体系结构)
- 40道C语言大学经典例题及代码(免费 全)
- 数学分析:函数的可积条件
- CCNA学习指南第三章
- Windows Server 2003 安装教程
- VS2011可以下载了,VC++部分强大了很多