微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > verilog位宽问题

verilog位宽问题

时间:10-02 整理:3721RD 点击:

打算用verilog写一个FFT模块,数据是从7位的ADC输出,就是[6:0],采集到64个数据后进行处理。首先将数据乘以一个汉明窗,再做64点的FFT变换,现在有如下问题。
1. 在matlab 中64点的汉明窗是[0.0822858433319154, 0.0891206555896699, 0.100436509338375... ...],小数位数很多,具体应该写verilog时位宽应该为多大?
2.  在matlab仿真时发现FFT后数据最大能到24+0.4085j,由于FFT后还要进行数据处理,数据最大可能超过100,此时我应该如何选取位宽?是以最大的计?matlab仿真的数值大小对我verilog运算的位宽的确定有什么影响?
3.  在我整个数据处理过程中位宽是否需要一致?
4.  在ADC只有7位输出时,感觉精度不够,能够高位添0,比如构成15位,再进行后面的运算?

表示不懂

没看懂题目第4个问题,应该是可以这么做的。

没看懂题目第4个问题,应该是可以这么做的。

1. 最主要是因素是你所能容忍的误差是多少?
2. 最终输出位宽跟中间数据处理位宽是是两码事
3. 中间所以的舍弃处理,都会损失精确度


那个是有一个原则的就是计算后信号幅度最接近于你ADC信号幅度就行

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top