马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
本帖最后由 shajue 于 2011-4-17 09:59 编辑
用加速度传感器在一大型旋转部件上测量振动值,需要分析的振动部分是与旋转频率同频的振动,需要计算振动的幅值和相位。在用采样率768Hz,采集点数为4608点进行一次采集,然后进行DFT分析,求得振动的幅值和相位。如此,进行多次测量,发现每一次测量的幅值和相位跳动很大,一致性不好;该设备在别的旋转部件上进行过大量验证,验证结果稳定。
将采集的跳动数据进行FFT分析,发现在旋转频率同频的附近频率(约0.5Hz)有较强的信号干扰,但是我的频率分辨率能达到0.17Hz,应当能将该干扰信号分离。
最近在看到《Matlab在振动信号处理中的应用》的第6.1中看到相干函数的分析。考虑是否采用判断信号的相干函数值的方法(如阀值设置为0.95)来确定此次测量结果是否能满足要求。用于解决测量结果跳动大的问题。
但在这个MATLAB事例中,有一点不明白,就是“激励”是怎样得来的,在实例中是直接给出的数据。
要是采用求相干函数的方法,怎样更改代码求得。
测量到的三次较稳定数据,频率为5.1Hz
测量数据.rar
(63.99 KB, 下载次数: 3)
实例代码
- %随机信号谱分析
- clear
- clc
- close all hidden
- %fni=input('随机信号谱分析-输入数据文件名','s');
- %fid=fopen(fni,'r')
- %分析内容(1=自谱,2=互谱,3=频响函数,4=相干函数)
- %fun=fscanf(fid,'%f',1);
- %sf=fscanf(fid,'%f',1); %读入采样频率值
- %nfft=fscanf(fid,'%d',1); %读入FFT长度
- %窗函数(1=矩形,2=汉宁,3=海明,4=布莱克曼,5=三角)
- %win=fscanf(fid,'%d',1);
- %fno=fscanf(fid,'%d',1); %读入输出数据文件名
- %按行读入数据,第一行激励,第二行响应
- %a=fscanf(fid,'%f',[2 inf]);
- %status=fclose(fid);
- % fun=3;sf=500;nfft=2048;win=1;fno='out6_1.mat';
- fun=4;sf=400;nfft=2048;win=4;fno='out6_1.mat';
- load y
- a(1,:)=y;a(2,:)=y.*sin(y);
- x=a(1,:);
- y=a(2,:)-a(1,:);
- f=0:sf/nfft:sf/2-sf/nfft;
- switch win
- case 1
- w=boxcar(nfft);
- case 2
- w=hanning(nfft);
- case 3
- w=hamming(nfft);
- case 4
- w=blackman(nfft);
- case 5
- w=triang(nfft);
- otherwise
- w=boxcar(nfft);
- end
- switch fun
- case 1
- z=psd(y,nfft,sf,w,nfft/2);
- case 2
- z=csd(x,y,nfft,sf,w,nfft/2);
- case 3
- z=tfe(x,y,nfft,sf,w,nfft/2);
- case 4
- z=cohere(x,y,nfft,sf,w,nfft/2);
- otherwise
- ;
- end
- %幅频曲线
- nn=1:nfft/4;
- subplot(2,1,1);
- plot(f(nn),abs(z(nn)));
- xlabel('频率(Hz)');
- ylabel('幅值');
- grid on;
- if fun>1&fun<4
- %相频曲线
- subplot(2,1,2);
- plot(f(nn),angle(z(nn)));
- xlabel('频率(Hz)');
- ylabel('相位');
- grid on;
- end
- fid=fopen(fno,'w');
- if fun>1&fun<4
- for k=1:nfft/2
- fprintf(fid,'%f%f\n',f(k),abs(z(k)));%自谱和相干数据
- end
- else
- for k=1:nfft/2
- fprintf(fid,'%f%f%f\n',f(k),real(z(k)),imag(z(k)));%互谱和频响函数数据
- end
- end
- status=fclose(fid);
复制代码 y变量和Out6_1.mat
work.rar
(80.46 KB, 下载次数: 2)
|