标 题: Re: 如何测量信号周期??
发信站: 红果园 (Sat Mar 6 07:10:48 2004)
用自相关看看波形行么?把信号时间取长一点,自相关看两个周期。
t=0:.001:64;
kf=5;
S=cos(10*pi*t+kf*sin(pi*t));
c=xcorr(S);
plot(c((end+1)/2:(end+1)/2+4000))
【 在 lxdawn 的大作中提到: 】
: hehe
: fft
: 【 在 Banner (ydz) 的大作中提到: 】
: :
: : t=0:.001:8;
: : kf=5;
: : S=cos(10*pi*t+kf*sin(pi*t));
: :
: : 如何能够快速准确的测量周期??
发信人: Banner (ydz), 信区: Matlab
标 题: Re: 如何测量信号周期??
发信站: 红果园 (Sat Mar 6 23:18:50 2004)
我用两种方法验证了一下,好象可以
我用一种不太严谨的方法计算出两种结果
t=0:.001:3*pi;
kf=5;
y=cos(10*pi*t+kf*sin(pi*t));%调频信号
plot(t,y)
n=length(t);
y0=y';
y1=y0(1:(n-1),1);
b=1:n;
y2=y0(2:end,1);
y3=y2+y1;
m=(1:(n-1))';
G=[m,y3];
[p1,w1]=sortrows(G,2);
y4=y2-y1;
H=[m,y4];
[p2,w2]=sortrows(H,2);
y5=(y2.*y1);
J=[m,y5];
[p3,w3]=sortrows(J,2);
%w3=w3';
n1=find(w1(:,1)==1);
w1(n1-1:n1+1,1)
n2=find(w2(:,1)==1);
w2(n2-1:n2+1,1)
n3=find(w3(:,1)==1);
w3(n3-1:n3+1,1)
ans =
4000
1
2000
ans =
4001
1
2001
ans =
4000
1
2000
T=2000*0.001=2就是自相关的结果


