赞
踩
引言
在数字信号处理或者其他算法中涉及到的大部分计算都是浮点小数的计算,但是FPGA只能进行整数的计算。因此,我们在考虑数字信号处理或其他算法的FPGA实现时,就不得不寻求在FPGA中进行小数计算的方法。本次博文主要介绍在FPGA中进行高效数字信号处理时的定点处理技巧。
1、浮点小数定点量化概念
由于在FPGA中进行计算时,参与运算的数的位宽都是有限制的,是恒定的,因此需要将参与运算的浮点小数定点化,限制浮点小数的位宽到FPGA中所允许的位宽范围之内。
首先介绍一下一些基本概念,浮点小数是指小数点位置是浮动的小数,定点小数是指小数点位置是固定的小数,定点量化就是使用有限数位来表示无限精度的数。下面以一个例子来说明:
假设十进制数为:3.671875
用二进制数可表示为:11.101011,位宽为8
定点量化,限制整数位为2位,小数位为5位后,可表示为:11.10101,此时代表的是十进制数为3.65625,量化误差为 3.671875-3.65625=0.015625。
上述定点小数11.10101即叫做十进制小数3.671875定点量化后的定点小数,存在量化误差。讲到这里大家或许还有疑问,我们这个小数点该如何表示呢? FPGA只能处理整数啊,这定点量化后不还是小数吗?
其实上述定点量化的过程只是为了固定计算数据的位宽而开展的,由于定点量化是具有量化误差的,因此我们需要在正式计算开始前,在定点量化误差允许的情况下选择合适的数据位宽,然后为后
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。