Xlinx FFT IP的注意点

项目场景:

FFT是很在信号处理中很常用的IP,但是我在使用vivado的fft ip时候,碰见一个小坑,虽然可能影响不大,但是让我抑郁了一个晚上,这里总结如下,避免后来者入坑。


问题描述

我使用的是V9.1版本,4096点fft,具体配置如下:

在这里插入图片描述
在这里插入图片描述
这里XK_INDEX就是我所遇到的问题的主角了,他在例化时候对应的接口为 :
[23:0]m_axis_data_tuser,他的低16位可以在fft计算的输出时进行计数,当时为了方便和MATLAB进行对比,就把这个信号也引了出来。
在看Modusim仿真的时候一看波形和matlab完全一样,别提多开心。然后想着看看输出的点数对不对,
如图m_axis_data_tuser的第一个数据是0C0000
在这里插入图片描述
再一看最后一个数据是0C0FF0在这里插入图片描述
当时就很懵逼,C0FF0-C0000 = FF0哇,折合成10进制是4080少16个数据,再说我的数据和Matlab也是完全吻合的凭空消失了16个数据。
我就把FFT改成了2048点,结果还是少16个数据。

解决方案:

4000多个点实在太多了我就一直没把m_axis_data_tuser 拉开看过,偶然间将最后两个数据放大,突然意识到了原因:
如图:
在这里插入图片描述
m_axis_data_tuser 在记完0C0FFF后下一个数后最后那个数竟然是0C0FF0 ,正好少了16个数,数据并没有少,而是计数器的原因。

总结

如果认为文章写的不错请点赞支持。
FPGA初学者,欢迎交流鸭>o<

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值