声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1282|回复: 0

[综合] 重采样,大侠帮帮忙 看不懂~~

[复制链接]
发表于 2010-6-20 10:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
重采样,大侠帮帮忙 看不懂~~
这是一个用转速a1来对振动信号a2进行重采样的matlab程序,
重采样部分没看懂是啥意思
大侠帮帮指点指点




load F:\F\ss2.txt;
a1=ss2(:,1);
a2=ss2(:,2);
%[b,a]=butter(8,1000/16384);
%a2=filter(b,a,a21);
k=zeros(1,40);
j=1;
for i=1:1:65535
   if a1(i)>-3 & a1(i+1)<-3
      k(j)=i;
      j=j+1;
   end   
end   
tim=zeros(1,j-2);
tim1=zeros(1,j-2);
% 获取每段脉冲长度
for i=1:1:j-2
   tim(i)=k(i+1)-k(i);
end   
% 重采样前滤波
%[b,a]=butter(8,1500/16384);
%a21=filter(b,a,a2);
a21=a2;
%a21=a2;
kk=1024;
speed=1564.5/4;  % 分析轴转速
data12=zeros(1,kk);


% 重采样
for mm=1:1:25
  tim(mm)=round(tim(mm)*4009.3/4/speed);% 脉冲变换后每段长度
  data1=a21(k(mm):(k(mm)+tim(mm)-1));  %截取的原数据
  k(mm+1)=k(mm)+tim(mm);
  delta=1/32768*(tim(mm)/kk); %重采样后时间间隔
  nn=tim(mm);

  for i=1:1:kk
    shike=round(i*tim(mm)/kk);
    data11=0;
    for j=-5:1:5
        %yy=j;
  %      canshu=pi*((i-1)*delta-(shike-1+j)/32768)/(1/32768);
        canshu=pi*((i)*delta-(shike+j)/32768)/(1/32768);
        
       if ((canshu==0))
          data11 =data11+a21(k(mm)+shike+j)*1;  
       else
         %hh=sin(canshu)/canshu;
         data11 =data11+a21(k(mm)+shike+j)*sin(canshu)/canshu;
       end

    end
    data12(i)=data12(i)+data11;
  end
end
data13=data12/mm; %重采样后平均
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-29 16:10 , Processed in 0.059586 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表