期待着一天 发表于 2011-7-29 20:37

我写的离散数据的fft,欢迎大家提出意见和改正,谢谢

function pinlv()
clf
fs=20000;
N=800;
n=0:N;
t=n/fs;                  
% x1=3*sin(2*pi*25*t);
% x2=3*cos(2*pi*25*t);
% y1=6*sin(2*pi*25*t-pi);
% y2=6*cos(2*pi*25*t-pi);
x1=load('1024x.txt');
x2=load('1024y.txt');
y1=load('r1024.txt');
y2=load('q1024.txt');
x=i*x1+x2;
y=i*y1+y2;
r1=fft(x,N);
r2=fft(y,N);

mag1=abs(r1);
mag2=abs(r2);
deg1=angle(r1)*180/pi;
deg2=angle(r2)*180/pi;
f1=(0:length(r1)-1)'*fs/length(r1);
f2=(0:length(r2)-1)'*fs/length(r2);

subplot(2,2,1),plot(f1,mag1/N);grid
subplot(2,2,2),plot(f2,mag2/N);grid
subplot(2,2,3),plot(f1,deg1);grid
save data3.txt deg1 -ascii;
subplot(2,2,4),plot(f2,deg2;grid
save data4.txt deg2 -ascii;
figure
plot(f1,deg1);
figure
plot(f2,deg2);

在这里面的每个txt里都有8000多个数据,这四个数据是通过涡流传感器测得转子前后支撑的水平和垂直方向上的,我是把前后支撑的各两个数据构成一个复函数,然后对这个复函数FFT,因为不知道信号的相位,只知道转子是动不平衡,前后支撑相位相差180度,我这个程序不满足,别且N的数值不一样,相位差也跟着变化,我现在很迷茫,不知道是什么地方有问题,请知道的大侠给我指点指点,感谢每一个看过的人
页: [1]
查看完整版本: 我写的离散数据的fft,欢迎大家提出意见和改正,谢谢