查看: 162|回复: 5|关注: 0
打印 上一主题 下一主题

山东快乐扑克3同花多少期: [已解决] 求助:傅里叶变换得到频域横坐标为零0

[复制链接]

新手

7 麦片

财富积分


快乐扑克3如何跟对子 www.vqxik.tw 050


1

主题

3

帖子

0

最佳答案
跳转到指定楼层
1#
测量得到的离散数据,经过FFT傅里叶变换,发现频域图峰值对应横坐标为0,求大神解答,谢谢

a=load('C:\Users\qq\Desktop\5.1.txt');
t=a(:,1);
x=a(:,2)-103;
dt=t(2)-t(1);
fs=1/dt;
ax=abs(fft(x));
f=(0:length(t)-1)*fs/length(t);
figure();
subplot(211);plot(t,x);
subplot(212);plot(f(1:1000),ax(1:1000));







新手

27 麦片

财富积分


050


10

主题

47

帖子

4

最佳答案
2#
发表于 2019-11-22 21:37:41 | 只看该作者
一般FFT需要减去直流分量,零频对应的是你的直流分量,可能是你没有减掉,你可以把时域图也贴出来看一下。

新手

7 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
3#
 楼主| 发表于 2019-11-23 08:13:06 | 只看该作者
yhjailkj 发表于 2019-11-22 21:37
一般FFT需要减去直流分量,零频对应的是你的直流分量,可能是你没有减掉,你可以把时域图也贴出来看一下。 ...

首先感谢您的回答,0 频域对应的是直流分量,但是减去之后,变成下图的-102的情形,请问是数据本身有问题吗?数据采集频率是30HZ.
谢谢

下面是时域图

数据的平局值大约是102

当代码里面-102时候,x=a(:,2)-102;
图形如下




当代码里面-103时候,x=a(:,2)-103;
图形如下








新手

27 麦片

财富积分


050


10

主题

47

帖子

4

最佳答案
4#
发表于 2019-11-23 10:29:41 | 只看该作者 |此回复为最佳答案
x=a(:,2)-mean(a(:,2));
fft结束后你需要把幅值乘2然后除以采样点数N
ax=2*abs(fft(x)/N);
画图时由于fft结果是对称的,所以只取前一半数值绘图,所以你的横坐标对应应该是
f=Fs*(0:L/2)/L;
这样的幅值就是和频率才能跟你的时域信号对上。
你可以在matlab 里help fft 有更详细的例程。

新手

7 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
5#
 楼主| 发表于 2019-11-23 13:03:41 | 只看该作者
非常感谢

新手

5 麦片

财富积分


050


1

主题

4

帖子

0

最佳答案
6#
发表于 2019-12-2 20:36:45 | 只看该作者
我的也是频域图峰值对应横坐标为0,不知道怎么办了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 快乐扑克3如何跟对子 返回列表