|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
本帖最后由 Ja要认真做科研 于 2018-1-6 12:32 编辑
信号处理新人,请教各位~
我想求一个加速度信号的频谱,用的FFT,发现分析结果和论文差异很大,论文的峰非常明显(下面有图),而且最高的两个峰之间是分开的(2和3号峰),而我做的最高的两个峰是合在一起的,如同一个三角形(下面有图)。我和论文的坐标横轴都是对数坐标。请教各位要用什么样的方法处理才能得到像这篇论文效果这么好的频谱图呢?
我可以确定的是我的加速度信号是正确的,和论文处理的原始信号一致(通过图片读数软件校核过关键点,都吻合)。加速度的数据我也附件附上(av.mat),是一个1*2500的向量。
论文里的频谱图
我的频谱图
加速度数据在此
av.rar
(17.87 KB, 下载次数: 6)
是matlab的mat文件
我的FFT代码(是很初级的fft,没有用什么特别的方法调整过),其中av是加速度信号,一个实数向量:
- fs = 1/dt;
- point_num = length(av);
- NFFT = 2^nextpow2(point_num);
- f_series = fs*linspace(0,1,NFFT);
- avmag_adjust = 2*abs(fft(av, NFFT))/point_num;
- %下面是作图部分不太重要
- subplot(2,1,1), plot(f_series, avmag_adjust);
- xlim([0 20]);
- xlabel('频率/Hz');
- ylabel('振幅'); grid on;
- subplot(2,1,2), semilogx(f_series, avmag_adjust);
- xlim([0.1 100]);
- xlabel('频率/Hz');
- ylabel('振幅'); grid on;
复制代码
我已经尝试过的方法(但是这些方法我都是简单尝试,具体的参数调整并没有什么经验,所以很难达到最优):
1、加窗,加了汉宁窗之后,效果亦不明显
2、ZOOM FFT:小峰的分辨率似乎高了一些,但是最高的两个峰仍然不能分开。
最后还有个小问题想请教一下:fft需要用2的幂的数据作为输入值,如果不是刚好是2的幂,那就补0补到2的幂,但是matlab里输入值不是2的幂也可以,比如这个a是2500的,直接用2500,和用上面的4096的进行处理,图像还是有差异的(貌似4096更好一些)。我想知道哪种方法是对的呢?直接用2500,还是补0补到4096呢?
非常感谢各位的解答!一个苦逼土木小博士谢过啦~~ |
|
|