在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 2934|回复: 8

[求助] 请教关于FFT的问题

[复制链接]
发表于 2013-6-24 18:02:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
本帖最后由 djqlyy2922 于 2013-6-24 18:08 编辑

基本情况:xilinxstreaming32, fwd_inv为高,fwd_inv_we为高,scale_sch_we为低

1,
对一个正弦波采样,一周波采集32个点,将这32个数据存在一个ram

2,
FFTstart始终为高,使用100MHz的时钟循环读ram

我的问题是:


我采样的是单一的正弦波,输出为什么在xk_index131两处都有比较大的值?究竟根据该输出怎么确定输入信号的频谱,还是别的什么地方弄错了?



波形.png

 楼主| 发表于 2013-6-24 18:03:58 | 显示全部楼层
第一个问题已经明白了,请教大家第二个问题
回复 支持 反对

使用道具 举报

发表于 2013-6-24 19:40:01 | 显示全部楼层
图片看不清楚
回复 支持 反对

使用道具 举报

发表于 2013-6-24 21:08:18 | 显示全部楼层
对一个周期为32的正弦函数 sin(2*pi/32*x) 在 x=0,1,2..,31 处采样,得到32个数据点。对这32个数据点做FFT,得到的值的绝对值是:

  6.69535287e-17,   1.60000000e+01,   1.06198890e-15,
         3.34075122e-15,   5.78108537e-16,   1.36967395e-15,
         5.13668130e-16,   5.61856269e-15,   3.39729804e-16,
         1.30066785e-15,   1.03805465e-15,   4.09153824e-16,
         6.30304227e-16,   2.70418975e-16,   4.08511267e-16,
         6.12911139e-15,   1.55091076e-16,   5.55111512e-17,
         4.08511267e-16,   8.22243630e-16,   6.30304227e-16,
         1.32438138e-15,   1.03805465e-15,   5.61856269e-15,
         3.39729804e-16,   8.40036149e-16,   5.13668130e-16,
         5.12795349e-16,   5.78108537e-16,   1.44144099e-15,
         1.06198890e-15,   1.60000000e+01

的确是第1个和31个FFT值比较大,LZ的输出没有问题
回复 支持 反对

使用道具 举报

发表于 2013-6-25 15:44:14 | 显示全部楼层
因为你输入的是实数信号,所以结果是正确的。
plot(n*fs/a,magR_fix);把你的数据按这个画图就得到频谱了,其中n是0:31,fs是你的采样频率,a是点数32,magR_fix是输出变换复数信号的模值,abs(real+1i*imag).
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-26 08:34:51 | 显示全部楼层
我的意思是为什么会出现两个较大的点呢,不是一个点代表一个频率吗,既然我的信号是单一频率的,那么变换后的值也应该有一个点模值较大才对啊!!!
回复 支持 反对

使用道具 举报

发表于 2013-6-26 09:29:38 | 显示全部楼层
哎 …… 对于实信号输入 FFT的结果 在0~Fs/2 与 Fs/2 ~ Fs 上是对称的。
你输入一个复信号 就能看出区别来了
回复 支持 反对

使用道具 举报

发表于 2013-6-26 09:33:49 | 显示全部楼层
32个点 描述 一个周期 峰值 就是在 1 与31,描述两个周期就是在 2与30……………………
根据采样定理最高到 16个周期 ,是不是 很神奇?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-26 17:35:09 | 显示全部楼层
我看到过一个文章说Fn=(n-1)*FS/N,如前面所说的话,如果我根据变换后的结果判断信号的频谱时,只在0到N/2之间取值就可以了??
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-10-9 07:38 , Processed in 0.015839 second(s), 4 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表