定点量化和无损量化

硬件电路里面数据位宽都是一定的。在处理数据流是,数据的位宽也是一定的。所以浮点数需要先转变成定点数进行运算。

举例说明。12.918,定点量化时对整数部分和小数部分分别量化。

(1)整数部分12,最少使用4位量化,4-bit表示范围0~15;

(2)小数部分0.918,假设12.918整体使用12位量化,整数已使用4-bit,则小数部分还能使用8-bit量化,能够表示2的8次方共计256个刻度,每个刻度的间隔是1/256 = 0.00390625,这个值也就是量化精度。

小数0.918需要多少个刻度来表示呢? 0.918/(1/256) = 0.918*256 = 235.008,四舍五入取整,则使用235个刻度来表示,误差是0.008个刻度,误差大小是0.008*(1/256) = 0.00003125。

量化误差小于量化精度的一半,认为是“无损量化”。由于量化后误差0.00003125肯定是小于精度0.00390625的一半,所以这个误差小到可以认为是无损量化。

当使用11位量化时,同理:

(1)整数部分12,最少仍需要4位量化,4-bit表示范围0~15;

(2)小数0.918,只能使用剩下的7-bit量化,能够表示2的7次方共计128个刻度,每个刻度的间隔是1/128。

小数0.918需要多少个刻度来表示呢? 0.918/(1/128) = 0.918*128 = 117.504,四舍五入取整,则使用118个刻度来表示,误差是-0.496个刻度,误差大小是-0.496*(1/128) = -0.003875,保留四位小数并取正数,0.0039。

  • 7
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB中的定点量化是一种将实数转换为定点格式(fixed-point format)的处理过程。在定点量化中,实数被表示为小数点前和小数点后的数字,通常用于数字信号处理和嵌入式系统设计中。 定点量化的目的是将实数转换为整数,以便在计算机中进行高效的计算和存储。在MATLAB中,可以使用一些函数和工具箱来进行定点量化。 首先,需要选择合适的定点数格式,即小数点前和小数点后的位数。可以根据实际应用需要和计算机的硬件支持来选择合适的位数。 其次,可以使用MATLAB中的fix函数将实数向负无穷取整为整数值。这可以将实数转换为整数,但会丢失小数部分的精度。 另外,MATLAB还提供了Fixed-Point Designer工具箱,该工具箱可以用于更复杂的定点量化任务。工具箱中提供了各种功能和工具,例如定点数对象、量化器设计和结果分析等。 使用Fixed-Point Designer工具箱,可以根据具体需求创建定点数对象,并使用相应的函数和方法对其进行操作和计算。此外,工具箱还提供了一些量化器设计工具,可以帮助用户选择和优化合适的定点数格式。 总之,MATLAB中的定点量化是将实数转换为整数的过程,可以使用fix函数进行简单的定点量化,也可以使用Fixed-Point Designer工具箱进行更复杂和精确的定点量化操作。这种定点量化技术在数字信号处理和嵌入式系统设计等领域具有重要的应用价值。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值