分级缩放数据,以FFT计算为例,可以分级scale,蝶形运算的理论表明每一级的增益不会大于2,所以每次蝶形运算后做一次右移要比先把输入数据缩放到不会溢出的水平上精度更高。
Normalization的归一化,同样的FFT运算,首先根据输入数据的幅度的最大情况,计算一个不会导致溢出的缩放因子,然后对整个输入做归一化的scale,FFT之后再de-normalization能显著的提高精度,同时又能适应输入数据较大的动态范围。
Pseudo floating-point:即把定点数据表示为指数和尾数的形式,用虚拟浮点数据的方式来满足高动态范围的需求,当然pseudo floating-point的表示还是需要做归一化来求解指数的。



欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!
点个在看你最好看
原文标题:浮点与定点运算以及数据定标和精度问题
文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
FPGA
+关注
关注
1663文章
22494浏览量
638990
原文标题:浮点与定点运算以及数据定标和精度问题
文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
热点推荐
嵌入式中的浮点型数据转换为字节类型的三种方法
的时候一般都是以省内存,加快运算速度优先。所以在选择使用浮点型时float就可以满足大部分需求,当需要高精度的时候必须使用double进行运算。
发表于 01-07 06:28
蜂鸟内核模块浮点指令运算数据的获取
操作数。
总结
通过上文介绍,我们大致理清了浮点运算中操作数的获取,接下来要进行的工作就是面对整数或浮点寄存器如何做判断以及如何实现具体的运算
发表于 10-24 13:39
浮点指令(二:双精度)
浮点指令以及简单解释
fadd.d
fadd.d rd, rs1, rs2//f [rd] = f [rs1] + f [rs2]
双精度浮点加(Floating-point Ad
发表于 10-24 13:00
浮点指令(一:单精度)
浮点指令以及简单解释
fadd.s
fadd.s rd, rs1, rs2//f [rd] = f [rs1] + f [rs2]
单精度浮点加(Floating-point Ad
发表于 10-24 11:42
浮点指令(七:寄存器)
Signaling-NaN和Quiet-NAN。Risc-V架构规定,如果浮点运算的结果是一个NaN数,那么使用一个固定的NaN数,将之命名为Canonical-NaN。单精度浮点对应
发表于 10-24 08:28
(九)浮点乘法指令设计
⊕ sb,得到结果的符号位
阶码相加减
按照定点整数的加减法运算方法对两个浮点数的阶码进行加减运算,因为规格化数的价码e满足1≤e≤254,而ec有可能超出1~254范围,所以当1
发表于 10-24 07:11
如何获取蜂鸟内核执行模块浮点指令的运算数据
通过上文介绍,我们大致理清了浮点运算中操作数的获取,接下来要进行的工作就是面对整数或浮点寄存器如何做判断以及如何实现具体的运算操作,待我
发表于 10-24 07:10
浮点运算单元的设计和优化
RV32F浮点指令子集的每个通用浮点寄存器的宽度为32 bit;RV32D浮点指令子集的每个通用浮点寄存器的宽度为64 bit。可以参考整数通用寄存器的设计方法,实现单
发表于 10-22 07:04
使用Simulink自动生成浮点运算HDL代码(Part 1)
引言
想要实现浮点运算功能,如果自己写Verilog代码,需要花费较多的时间和精力。好在Simulink HDL Coder工具箱提供了自动代码生成技术。下图展示了HDL Coder如何生成浮点
发表于 10-22 06:48
浮点与定点运算以及数据定标和精度问题
评论