|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
问题背景:已知电机旋变信号的正余弦值(sin(sita),cos(sita),其中sita为电机转过的角度),求解电机转速
原理:y=tan(sita)=sin(sita)/cos(sita);
sita=actan(y);
[num]=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如第二张图,显然是错的,求指教
|
|