我想对两组数据同时做FFT,实现他的matlab程序怎么写呀
我用两个相互垂直的涡流传感器测得转子前支撑的两组数据,现在想把这两组数据同时做FFT,请问能实现这种结果的matlab程序,谢谢 为什么要同时做啊?分开做不好吗? 回复 2 # dsp2008 的帖子因为这两个数据作为一个整体来考虑的,可以跟你说的详细一点,我研究的是转子动平衡方面,要通过FFT找出转子不平衡的幅值大小和相位的,希望你能给点意见 这与分不分开算没一点关系。 回复 4 # dsp2008 的帖子
我不是很明白,请高手指点一下,我现在要做关于转子动平衡的检测,就是根据传感器测得的数据,怎么能找出他的不平衡的幅值大小和相位,急切需要您的解答 我只懂信号处理,不懂你的专业。所以,不好对你的问题做出回答。 不过,我可以瞎猜一下:
你的两路信号在同一时间、按同一采样时钟采集进来,这样就可以通过分别求取它们的傅立叶谱的方法,看一看同一个频率点上,这两路信号的谱峰大小和相位差情况。
若是这样,可以分别计算它们的FFT。没有必要同时计算! 回复 7 # dsp2008 的帖子
你说的也许有道理,我会试试,我用了总共4个涡流传感器测得转子的信号,前支撑2个,后支撑2个,而每2个分别是侧水平和测垂直方向的。 回复 8 # 期待着一天 的帖子
现在又遇到一个新问题,我假设了两个信号,一个假如是垂直信号x1=3*sin(2*pi*15*t+pi/2);另一个是水平信号x2=3*sin(2*pi*15*t);我分别对他们FFT,利用deg=angle(x1);deg2=angle(x2);我观察他们在15HZ处的相位并不等于原信号中的初相位。你说这是为什么呀?难道angle不是求原信号的相位的吗? 楼上的妹娃子,你把谱分量的相位误解为瞬时相位了。 回复 10 # dsp2008 的帖子
请高手指点一下,什么是谱分量的相位?什么是瞬时相位?感谢 把两列数据x1和x2组合在一起:x=i*x1+x2,构成一列数据做FFT,这种情况在实时处理中会有,主要是为了节约运算的时间。FFT后经适当处理可以求出x1和x2的FFT值X1和X2。 期待着一天 发表于 2011-7-27 10:10 static/image/common/back.gif
回复 8 # 期待着一天 的帖子
现在又遇到一个新问题,我假设了两个信号,一个假如是垂直信号x1=3*sin(2*pi* ...
FFT后用angle函数求出的是信号的初始相位,但
1,要求的频率,例如15正好对应于FFT后的某一条谱线:
2,用angle求出的相角是对应于余弦信号的,与正弦信号差pi/2。
所以考虑了这两点后就能求出初始相角,如果要求的频率不与FFT后的某一条谱线相重合,则只能用校正法进行校正了。 回复 13 # songzy41 的帖子
你好,谢谢老师的讲解和解答。我思路上有点清晰了,fft如果满足一定的条件,就能在变化后的某个谱线上显示信号的幅值和相位,如果不满足就不能显示出来,要想得到正确的数值必须通过校正,说到这里,我想请老师能不能给我举个例子示范一下呢,因为我现在就是要做这种复数的FFT,关键是变化后不能得到,我现在很困惑,不知道如何得到数据,希望得到老师您的帮助。
function pinlv()
clf
fs=100;
N=128;
n=0:N;
t=n/fs;
x1=3*sin(2*pi*25*t+pi/6);
x2=3*sin(2*pi*25*t+pi/2+pi/6);
y1=6*sin(2*pi*25*t-pi);
y2=6*sin(2*pi*25*t+pi/2-pi);
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);
deg2=angle(r2);
f1=(0:length(r1)-1)'*fs/length(r1);
f2=(0:length(r2)-1)'*fs/length(r2);
subplot(2,2,1),plot(f1,mag1*2/N);grid
subplot(2,2,2),plot(f2,mag2*2/N);grid
subplot(2,2,3),plot(f1,deg1);grid
subplot(2,2,4),plot(f2,deg2),grid
我是分别吧相差90度的两个信号构成了一个复数,然后对这个两个复数进行FFT,看他们的FFT之后的幅频图和相频图满足不满足给定的初始信号的相位角以及他们的相位差?通过这个例子我最终想把我用传感器在前后支撑测得的水平和垂直的数据也这样构成复数并且进行FFT,看看前后支撑相位相差多少度,以判断转子是属于那种不平衡,恳请老师帮忙分析一下程序,并将这个程序校正一下,我当做程序的模板来学习,谢谢老师了,麻烦老师要给我改改哦。 期待着一天 发表于 2011-7-30 19:49 static/image/common/back.gif
回复 13 # songzy41 的帖子
你好,谢谢老师的讲解和解答。我思路上有点清晰了,fft如果满足一定的条件,就 ...
按如下组合成x和y,对应的FFT值为r1和r2。
x1=3*sin(2*pi*25*t+pi/6);
x2=3*sin(2*pi*25*t+pi/2+pi/6);
y1=6*sin(2*pi*25*t-pi);
y2=6*sin(2*pi*25*t+pi/2-pi);
x=i*x1+x2;
y=i*y1+y2;
r1=fft(x,N);
r2=fft(y,N);
若x1、x2、y1、y2对应的FFT值是X1、X2、Y1、Y2,则应从r1和r2中求出X1、X2、Y1、Y2,然后从这几个量中求出x1、x2、y1、y2在25Hz处的初始相角。我不知LZ的
deg1=angle(r1);
deg2=angle(r2);
代表什么意义,能代表X1、X2、Y1、Y2的相角吗?
页:
[1]
2