如何用matlab计算2个已经采集到的信号之间的相位差
1个回答
2016-09-05 · 知道合伙人软件行家
关注
展开全部
这里给出一个例子,是由2个正弦信号构成的信号,x2对x1超前了35个样点,用求相关函数的方法求2信号之间的延迟。程序为:
N=1024;
fs=1000; f1=5; f2=20;
n=1:N; t=(n-1)/fs; t1=(n+34)/fs;
x1=cos(2*pi*f1*t)+0.5*sin(2*pi*f2*t);
x2=cos(2*pi*f1*t1)+0.5*sin(2*pi*f2*t1);
subplot 211; plot(n,x1,'r',n,x2,'b'); grid;
legend('x1','x2'); title('Signals Waveform');
R=xcorr(x1,x2);
nn=-N+1:N-1;
subplot 212; plot(nn,R); axis tight
grid; title('Correlation Function');
[Rmax,Rloc]=max(R);
Rloc=Rloc-N
最后计算出Rloc=35,表示x2对x1超前了35个样点。
N=1024;
fs=1000; f1=5; f2=20;
n=1:N; t=(n-1)/fs; t1=(n+34)/fs;
x1=cos(2*pi*f1*t)+0.5*sin(2*pi*f2*t);
x2=cos(2*pi*f1*t1)+0.5*sin(2*pi*f2*t1);
subplot 211; plot(n,x1,'r',n,x2,'b'); grid;
legend('x1','x2'); title('Signals Waveform');
R=xcorr(x1,x2);
nn=-N+1:N-1;
subplot 212; plot(nn,R); axis tight
grid; title('Correlation Function');
[Rmax,Rloc]=max(R);
Rloc=Rloc-N
最后计算出Rloc=35,表示x2对x1超前了35个样点。
Sievers分析仪
2024-10-13 广告
2024-10-13 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准...
点击进入详情页
本回答由Sievers分析仪提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询