脑瓜巨痛 2021-10-24 15:59 采纳率: 50%
浏览 46
已结题

关于matlab FFT问题,时域图很符合预期,但是快速傅里叶变换处理后的频域图失败了

计算出的数据进行FFT,频域信号不正确。

下图是时域图

img

下图是我得出的频域图

img

(频域图的横纵坐标代表什么?)

代码如下,v是数据。

fs=10000;
T=1/fs;
N=length(v);
n=0:N-1;
y=fft(v,N);
mag=abs(y);
f=n*fs/N;
a=f;
b=mag;

不知道是代码的问题还是别的
感谢解答

  • 写回答

1条回答 默认 最新

  • joel_1993 2021-10-24 16:12
    关注

    fft变换,自己看代码:
    假设你有时间数组t和信号数组v,如此即可

    fs = floor(1/mean(diff(t)));
    x = v;
    n = 2^floor(log2(length(x)));
    t = t(1:n);
    x = x(1:n);
    L = numel(t);
    %然后对x作傅里叶变换,按照采样频率1000
    %这样的话就会出现200赫兹地方的双冲击
    y = fft(x,n);
    P2 = abs(y/L);
    k = floor(L/2);
    f = (0:k-1)*fs/L;
    plot(f(1:k),P2(1:k))
    xlabel('频率');ylabel('幅值')
    

    一定要注意,采样频率和时间之间的关系

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月1日
  • 已采纳回答 10月24日
  • 创建了问题 10月24日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改