FPGA设计过程中定点小数计算要注意些什么

在FPGA设计过程中难免会碰到需要进行截位,那定点小数的计算过程中我们需要注意些什么呢?

 FPGA设计过程中定点小数计算要注意些什么_设计制作_MEMS/传感技术

首先,我们考虑如下计算式。

sin cos 数据形式是 FIX_32_30

X Y Z 数据形式是 FIX_32_20

φ 是角度 最后需要计算 exp(jπφ),可以看出来φ具有周期性,是可以-1~+1。要求的数据形式是 FIX_32_29

 FPGA设计过程中定点小数计算要注意些什么_设计制作_MEMS/传感技术

 1、首先 分析 temp = sin*cos 结果

两个FIX_32_30相乘得到的数据是 FIX_64_60,我们发现这个结果最大值为-1~+1,所以只需要保留两位整数位即可(其中一位为符号位)即通过截位使其变成FIX_32_30,所以 temp 为 sin*cos [61:20]。

 2、接着分析 X*temp y*temp的结果

一个FIX_32_20乘以FIX_32_30结果为FIX_64_50。

在一般情况下sin*cos结果为-1~+1之间,也就是说相乘之后X Y数只会变小,最大为其本身。所以一般情况下通过截位使得结果为FIX_32_20,即保留12位整数位,20位小数位即可。

但我们观察到计算exp(jπφ)中,是存在周期性的φ的循环周期为-1~1,所以我们只需要截取成 FIX_32_31就可以(做了一个近似,类似exp(jπφ) = exp(-j0.9999999πφ)),以截取的部分为[50 : 19] ,结果为FIX_32_31

 3、再分析Z*COS的结果

一个FIX_32_20乘以FIX_32_30结果为FIX_64_50,同样的将其截取成FIX_32_31即可。

4、其次三个之和的计算过程中,因为周期性,不需要扩展高位,计算结果为FIX_32_31。

5、最后FIX_32_31算术左移两位即可得到FIX_32_29。

总结:

1.定点小数计算过程中,需要注意小数点的位置。

2.不同小数点位置的数据是不能相加的。

3.可以通过数据计算本身的周期性质,进行截位可以保留更多的小数点位。

7
194
0
23

相关资讯

  1. 1、《赘婿》宁毅最后结局什么样?他和苏檀儿一生一世一双人4480
  2. 2、张子豪新戏《飞狐外传》开机,与秦俊杰、梁洁快意恩仇闯江湖713
  3. 3、姚晨闫妮时隔15年首度同框飙戏!《山海情》全员演技在线!337
  4. 4、“上头”的法治剧,加码现实感的优酷1567
  5. 5、上映42天票房仅2.9亿!流量巨星加盟也没用,成龙输得最惨的一次453
  6. 6、古力娜扎《十二谭》新剧定档,景甜旗袍女神的位置坐不了几天了4422
  7. 7、《如懿传》凌云彻被赐加官进爵而死,太痛心了,这刑罚有多狠1907
  8. 8、她15岁和张国荣谈恋爱,接连遇渣男生俩孩子,今53岁依旧单身3578
  9. 9、改变6亿人的印度神片来了!《厕所英雄》定档6.81210
  10. 10、2018“人民选择奖”揭晓《复仇者联盟3》获年度最佳电影1894
全部评论(0)
我也有话说
0
收藏
点赞
顶部