jiacrack 发表于 2006-9-11 15:32

关于频谱图的问题

故障诊断中采集的数据,做了FFT变换并画出频谱图,但不知道为何工频值特别大,数据x的就是附件data1的数值, 采样频率为2KHZ;
X=fft(x);
y=abs(X);
plot((0:517)*2000/1024,y(1:518))
grid on
for i=1:1024
pm=max(abs(data1(i,:))); y(i,:)=data1(i,:)/pm;
p=fft(y);
plot((0:517)*2000/1024,p(1:518))
grid on
图像如附件2
如果做归一化,应该如何处理,

songzy41 发表于 2006-9-11 16:29

看了楼主的程序和数据,运行后发现信号中并不是楼主所说工频信号,信号是以62.5Hz为基频和它的谐波。分析程序和谱图如下:
x=load('data1.txt');
X=fft(x);
y=abs(X);
n=1:256;
plot((n-1)*2000/1024,y(n))
set(gca, 'XTickMode', 'manual', 'XTick', );
grid

楼主要求归一,为了什么,是在时间域归一还是在频率域归一?

[ 本帖最后由 songzy41 于 2006-9-11 16:35 编辑 ]

malong 发表于 2006-9-11 16:46

我用origin作的FFT,频谱图◎   你们作的频谱图的 幅值信息! 单位是甚么 应该反映的是能量,matab作出的FFT是复数矩阵!
用matlab作好像幅值信息 是个问题!
在orgin中 也存在如果选的窗不同,会影响幅值信息,但是对频率成分大小没有影响,以前matlab对于fft作的幅值信息的讨论已经不少了!
第一个图是 矩形窗 第二图 是Welch窗

[ 本帖最后由 malong 于 2006-9-11 16:58 编辑 ]

jiacrack 发表于 2006-9-11 16:57

1楼,为何取n=256呢,我想在频域内归一化,不知道哪个方法好一些。为何咱们两个的幅值不一样啊

jiacrack 发表于 2006-9-11 17:01

我的单位是um,如果画能量的话,肯定幅值更大啊,(实习中)

songzy41 发表于 2006-9-11 20:15

原帖由 jiacrack 于 2006-9-11 16:57 发表
1楼,为何取n=256呢,我想在频域内归一化,不知道哪个方法好一些。为何咱们两个的幅值不一样啊
因为在500Hz以后没有什么信号,为了看得更清楚一点,不必画500Hz后的谱图,而把500Hz前的图画得更大,所以取n=1:256。
我怎么看咱们两个的幅值一样的。62.5处幅值为16000,125处幅值为3500...
如果要频率归一,取采样频率为1,在图显示中除以fs便可。有

[ 本帖最后由 songzy41 于 2006-9-11 20:18 编辑 ]

misslfx 发表于 2008-5-18 20:19

呵呵学习学习!
高手啊
页: [1]
查看完整版本: 关于频谱图的问题