当前位置: 首页 > article >正文

数字图像处理(4):FPGA中的定点数、浮点数

        (1)定点数:小数点固定在数据的某一位置的数,可以分为定点整数和定点小数和普通定点数。定点数广泛应用于数字图像处理(图像滤波、图像缩放)和数字信号处理(如FFT、定点卷积)中。

  • 定点整数:小数点在整个数据的最右侧。

        +100(D)= 01100100(B)

  • 定点小数:小数点在整个数据除了符号位的最左边。

        0.125(D)= 0.001(B)

  • 普通定点数:小数点在数据的中间某个位置。

        例如:我们约定一个字节的前5bit为整数位、后3bit为小数位,则

        1.5(D) =   00001_100(B)

        25.125(D)=   11001_001(B) 


        (2)在FPGA中,浮点数主要由尾数M和阶码E构成,例如基数为2的数F的浮点数表示为:

        其中,M必须为小数,用n+1位有符号定点小数表示,可以采用原码、补码;E必须为整数,用k+1位有符号定点整数表示,可以采用原码、补码、移码;浮点数编码总bit位数:m = (n+1)+(k+1)。

        (3)IEEE754标准浮点数

        尾数M使用原码,阶码E使用移码,基为2,单精度和双精度浮点数格式如下:

        其中,S为尾数M的符号,0为正,1为负;M为尾数,定点小数表示,采用原码表示;E采用“移码”表示(移码是在补码的基础上,符号位取反得到的,这时1为正数,0为负数)。


        (4)在FPGA中,如何表示小数

        乘以2^N(N越大,精度越高),得出最终结果时,右移N位即可,例如计算y = 0.564 * x,则进行如下计算:

reg     [15:0]      x;
reg     [15:0]      y;
    
//0.564 * 2048 = 1155.072

assign y = (x * 1155) >> 11;


http://www.kler.cn/a/410252.html

相关文章:

  • sql工具!好用!爱用!
  • 如何在 Eclipse 中调试ABAP程序
  • C++:用红黑树封装map与set-2
  • 【C++】static修饰的“静态成员函数“--静态成员在哪定义?静态成员函数的作用?
  • fastapi入门
  • 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-05
  • wsl2的Ubuntu18.04安装ros和anaconda
  • 后端开发详细学习框架与路线
  • 基于python的机器学习(三)—— 关联规则与推荐算法
  • 3D可视化产品定制,打造“所见即所得”的购物体验!
  • FPGA实现串口升级及MultiBoot(九)BPI FLASH相关实例演示
  • sql工具!好用!爱用!
  • Css—实现3D导航栏
  • conda下载与pip下载的区别
  • 丹摩征文活动|实现Llama3.1大模型的本地部署
  • 第三十八章 IOT 通信协议MQTT协议实现的中间件EMQXDocker安装与验证指南
  • 系统使用杂记
  • 一文理解 Python 编程语言中的 .strip() 方法
  • python oa服务器巡检报告脚本的重构和修改(适应数盾OTP)有空再去改
  • 制造系统中ERP系统与MES管理系统的区别
  • centos为用户赋予sudo权限
  • 设计模式——简单工厂模型、工厂模式、抽象工厂模式、单例模式、代理模式、模板模式
  • 一台电脑最多支持几个分区
  • 一文详解安全分析方法STPA:以自动紧急制动系统(AEB)为例
  • 一键部署 200+ 开源软件的 Websoft9 面板,Github 2k+ 星星
  • Spring的IOC技术--注解方式