qq_47361278 2023-12-10 00:44 采纳率: 62.2%
浏览 5
已结题

MATLAB中的fft问题

我的导师告诉我功率谱密度函数应该按照下面这个图中的公式算

img

所以我根据公式把代码改成如下所示:figure;N =length(a);Fs = 500; U = fft(a);P2 = abs(U.^2/2piNFs);P = P2(1:N/2+1);P(2:end-1) = 2P(2:end-1);f = Fs*(0:(N/2))/N;semilogx(f, P);
但是画出来的图纵坐标PSD非常大,如下图已经圈出来了(达到了10的17次方,也太大了):

img


但是实际上纵坐标PSD应该是如下图这样的几千的范围内:

img


那么问题是,在导师给的公式没错的前提下,我应该怎么改代码或者设置图像能使我的图的纵坐标PSD恢复到像最后一个图这样几千几千的范围?请根据导师给的公式帮我改一下代码解决我的问题。

  • 写回答

4条回答 默认 最新

  • Wayne_Fine Matlab领域优质创作者 2023-12-10 10:07
    关注

    abs(U.^2/2piNFs)你这里是不是写成了

    abs((U.^2/2)*pi*N*Fs)
    

    的意思了呀?
    应该是

    abs(U.^2/(2*pi*N*Fs))
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月10日
  • 请采纳用户回复 12月10日
  • 修改了问题 12月10日
  • 修改了问题 12月10日
  • 展开全部

悬赏问题

  • ¥15 ansys electronics 2021 R1安装报错,错误代码2,如图
  • ¥30 搭建面包板由NE555N和SN74LS90N组成的计时电路时出了问题
  • ¥15 无源定位系统的时差估计误差标准差
  • ¥15 请问这个代码哪里有问题啊
  • ¥20 python--version在命令端输入结果Python is not defined怎么办?还有pip不是exe格式是不是没安装成功?
  • ¥15 通过GaussianView进行结构微调消除虚频
  • ¥15 调用transformers库
  • ¥15 由于导出的数据名字中带有/,导致Matlab打不开,怎么办?
  • ¥15 新硬盘安装的程序总是崩溃,提示遇到错误
  • ¥15 openpcdet自制数据集评估bev精度和3d精度相同