|
楼主 |
发表于 2015-3-18 10:33
|
显示全部楼层
clear all
fs=10000;
dt=1/fs;
N=8192;
f=fs*(0:N-1)./N;
t=0:dt:8191*dt;
figure(1)
[s1]=xlsread('10khz','B1:B8192')
s1=s1-6450
subplot(411)
plot(t,s1);
figure(2)
[s2]=xlsread('10khz','C1:C8192')
s2=s2-4853
subplot(411)
plot(t,s2);
figure(1)
fs1=fft(s1)*2/N
%j=3,s=127
subplot(412);
plot(f,abs(fs1))
figure(2)
fs2=fft(s2)*2/N
%j=3,s=127
subplot(412);
plot(f,abs(fs2))
figure(1)
fN=fs/2;%分析频率;
m1=14.64;%实际带宽下限;
n1=15.86;%实际带宽上限;
Wd=hann(N);%汉宁窗;
k1=1/2*(n1+m1)/N;
fsai1=(exp(2*n1*pi*(t-k1/(n1-m1))*i)-exp(2*pi*m1*(t-k1/(n1-m1))*i))./(2*pi*(n1-m1)*(t-k1/(n1-m1))*i).*Wd';%谐波小波基;
fsai2=fft(fsai1);
subplot(413)
plot(f,fsai2)
%f1=conj(fft(fsai2,N));%谐波小波基的傅里叶变换的共轭;
figure(2)
fN=fs/2;%分析频率;
m2=14.64;%实际带宽下限;
n2=15.86;%实际带宽上限;
Wd=hann(N);%汉宁窗;
k2=1/2*(n2+m2)/N;
fsai3=(exp(2*n2*pi*(t-k2/(n2-m2))*i)-exp(2*pi*m2*(t-k2/(n2-m2))*i))./(2*pi*(n2-m2)*(t-k2/(n2-m2))*i).*Wd';%谐波小波基;
fsai4=fft(fsai3);
subplot(413)
plot(f,fsai4)
%f1=conj(fft(fsai4,N));%谐波小波基的傅里叶变换的共轭;
figure(1)
fs3=fs1'
W1=fs3.*fsai2;
w2=ifft(W1);
w3=real(w2)
subplot(414)
plot(t,w3);
figure(2)
fs4=fs2'
W4=fs4.*fsai4;
w5=ifft(W4);
w6=real(w5)
subplot(414)
plot(t,w6);
%%%%%%%%%%%%%%%%%%%%%%%%轴心轨迹合成%%%%%%%%%%%%%%%%%%%%%%%
figure(3)
plot(w3/20,w6/20)
这个是谐波滤波程序,滤波如下图,第一个图是轴采集数据,第二个是fft变换后的 这个*2/n的 所以幅值是真实幅值,第四个是谐波滤波后的时频图(对应第一个尖峰),他们的幅值明显是对应不上的 请问这个怎么处理呢
还是我的理解是谐波滤波主要是查看轨迹形状而不是轨迹的运动精度 |
-
|