gumengyinyin 发表于 2014-7-12 15:43

采样的信号分成多段然后分别FFT求平均值

Fs=100;   %采样频率
N=1024;
Y=reshape(y,1024,100);
Yf=0;
for i=1:100
    Yf=Yf+fft(Y(:,i));
end
Yf=Yf/100;

f=(0:N-1)*Fs/N;
mag=2*abs(Yf)/N;   %幅值
% Pyy=mag.^2;%功率
subplot(2,1,2);
plot(f(1:N/2),mag(1:N/2))%频率-幅值图
% plot(f(1:N/2),Pyy(1:N/2))%功率谱图
xlim();
xlabel('f/Hz');
ylabel('幅值/m/s^2');
时域采样了102400个点
现在对其进行频谱分析,把这些点分成100组,对每组求傅里叶变换,求和,发现幅值的大小变量,是数量级上的改变,请问是什么原因呢

westrongmc 发表于 2014-7-12 18:22

本帖最后由 westrongmc 于 2014-7-12 22:30 编辑

1. help fft
2. 非同步触信号的线性谱不可以做平均处理
3. 对自功率谱进行平均



补充内容 (2014-7-13 10:19):
2. 非同步触发信号的线性谱不可以做平均处理。

lbtv 发表于 2014-7-13 10:02

复数相加:会不会影响呢!关键是你最好取其实部进行平均
下面是用你的程序对某组数据处理结果数据被分成20段
第一种情况(用你原来的程序)
http://img1.ph.126.net/0BhbZ216XeSvJREKus1jRg==/1558808421041685079.png
第二种情况(取其模进行平均操作)
http://img0.ph.126.net/R8w90qy2jTm8Z_cozkFzuQ==/711568741224814737.png
这可能就是你的结果形成原因!

lbtv 发表于 2014-7-13 10:03

但是我不知道为什么最高幅值会稍稍变大!

lbtv 发表于 2014-7-13 10:07

对于我使用的数据相关参数,可以查看
http://forum.vibunion.com/forum.php?mod=viewthread&tid=49857&page=3&authorid=225230

gumengyinyin 发表于 2014-7-14 16:23

lbtv 发表于 2014-7-13 10:02
复数相加:会不会影响呢!关键是你最好取其实部进行平均
下面是用你的程序对某组数据处理结果数据被分成20 ...

恩恩,我后来是对模进行平均计算的,幅值倒是变化不大,不过对数据分的段数不一样,频率会稍微偏移
页: [1]
查看完整版本: 采样的信号分成多段然后分别FFT求平均值