采样的信号分成多段然后分别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 22:30 编辑
1. help fft
2. 非同步触信号的线性谱不可以做平均处理
3. 对自功率谱进行平均
补充内容 (2014-7-13 10:19):
2. 非同步触发信号的线性谱不可以做平均处理。 复数相加:会不会影响呢!关键是你最好取其实部进行平均
下面是用你的程序对某组数据处理结果数据被分成20段
第一种情况(用你原来的程序)
http://img1.ph.126.net/0BhbZ216XeSvJREKus1jRg==/1558808421041685079.png
第二种情况(取其模进行平均操作)
http://img0.ph.126.net/R8w90qy2jTm8Z_cozkFzuQ==/711568741224814737.png
这可能就是你的结果形成原因! 但是我不知道为什么最高幅值会稍稍变大! 对于我使用的数据相关参数,可以查看
http://forum.vibunion.com/forum.php?mod=viewthread&tid=49857&page=3&authorid=225230 lbtv 发表于 2014-7-13 10:02
复数相加:会不会影响呢!关键是你最好取其实部进行平均
下面是用你的程序对某组数据处理结果数据被分成20 ...
恩恩,我后来是对模进行平均计算的,幅值倒是变化不大,不过对数据分的段数不一样,频率会稍微偏移
页:
[1]