|
发电机振动的振幅值校正
主要峰值振幅和振幅值有差别,这是频偏引起能量泄漏, 形成振幅峰值下降, 峰值最大可以差一半, 所以FFT后比较振幅最好用校正后的振幅, 现在校正法很多,效果顶好. 虽对诊断判定不一定直接有用, 因为校正前后的各谐波比值关系还是差不多, 但能和知道振幅真值还是有用的,如定量诊断(如今还是定性诊断),
你要比较波动的影响,求出真实振幅值是有用的,这儿提供一种振幅校正法,它可以将整个振幅校正谱图示出,
你取2N-1个数据代入程序中的y即可,
close all;clc;clear all;
N=1024;
w=2*pi;
t=-N+1:N-1;
y=1.0*exp(j*(w*t*49.1/N+50.0*pi/180))+1*exp(j*(w*t*149.2/N+100*pi/180))+1*exp(j*(w*t*249.3/N+150*pi/180))+...
+1*exp(j*(w*t*349.4/N+200*pi/180))+1*exp(j*(w*t*449.5/N+250*pi/180));
y1 = y(N:end);
win = hanning(N)';;
win1 = win/sum(win);
y11= y1.*win1;
y11_fft = fft(y11,N);
a1 = abs(y11_fft);
y2 = y(1:2*N-1);
win = hanning(N)';;
winn = conv(win,win);
win2 = winn/sum(winn);
y22= y2.*win2;
y222=y22(N:end)+[0 y22(1:N-1)];
y2_fft = fft(y222,N);
a2 = abs(y2_fft);
aa=(a1.^2)./a2;
subplot(3,1,1),stem(a1,'.');title('FFT振幅谱');ylim([0,1]);xlim([0 N/2]);grid
subplot(3,1,2),stem(a2,'.');title('apFFT振幅谱');ylim([0,1]);xlim([0 N/2]);grid
subplot(3,1,3);stem(aa,'.');title('振幅校正谱');ylim([0,1.5]);xlim([0 N/2]);grid
disp('振幅校正值')
aa(50:100:450)
运行结果:
振幅校正值 0.999999707253959 0.999999639124993 0.999999730196453 0.999999859865429 1.00000039994302
[ 本帖最后由 zhwang554 于 2008-7-1 14:57 编辑 ] |
|