已知正余弦信号求解反正切值
问题背景:已知电机旋变信号的正余弦值(sin(sita),cos(sita),其中sita为电机转过的角度),求解电机转速原理:y=tan(sita)=sin(sita)/cos(sita);
sita=actan(y);
=xlsread('xuanbian.xls');
t=num(:,1);%采样时间
vc1=num(:,3);%已经经低通滤波器的余弦信号即cos(sita)
vs1=num(:,2);%已经经低通滤波器的正弦信号即sin(sita)
n=length(t);
fs=48000;%信号的采样频率
for i=1:n
y(i)=vs1(i)/vc1(i);
end
for k=1:n-1
if y(k)>0 && y(k+1)<0 %当正切值从正变到负,说明已经转过180度,所以每次变号就转过一个周期,加上180度
j=j+1;
end
sita(k)=atan2(vs1(k),vc1(k))*180/pi+j*180;
end
%对角度sita进行微分
w=diff(actan')./diff(t);%w为角速度
r=w*60/(2*pi)/360;%r为单位rpm的转速
正余弦信号如第一张图,我自己算的转过的sita如第二张图,显然是错的{:{33}:},求指教
j是什么? Generation 发表于 2016-11-10 08:51
j是什么?
周期数吗? Generation 发表于 2016-11-10 08:51
周期数吗?
是的, 本帖最后由 hcharlie 于 2016-11-15 11:01 编辑
我看你的“转过角度”图上有这么几个点有突变,其它都对,还是有规律可循的,再努一把力按4个象限考虑就成了。
页:
[1]