色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一文了解FPGA浮點小數與定點小數的換算及應用

Hx ? 作者:工程師陳翠 ? 2018-06-28 15:49 ? 次閱讀

定點小數運算

有些FPGA中是不能直接對浮點數進行操作的,只能采用定點數進行數值運算。

所謂定點小數就是把小數點的位置固定,我們要用整數來表示小數。

先以10進制為例。如果我們能夠計算12+34=46的話,當然也就能夠計算1.2+3.4 或者 0.12+0.34了。所以定點小數的加減法和整數的相同,并且和小數點的位置無關。乘法就不同了。 12*34=408,而1.2*3.4=4.08。這里1.2的小數點在第1位之前,而4.08的小數點在第2位之前,小數點發生了移動。所以在做乘法的時候,需要對小數點的位置進行調整?!可是既然我們是做定點小數運算,那就說小數點的位置不能動!!怎么解決這個矛盾呢,那就是舍棄最低位。

也就說1.2*3.4=4.1,這樣我們就得到正確的定點運算的結果了。所以在做定點小數運算的時候不僅需要牢記小數點的位置,還需要記住表達定點小數的有效位數。上面這個例子中,有效位數為2,小數點之后有一位。

現在進入二進制。我們的定點小數用16位二進制表達,最高位是符號位,那么有效位就是15位。小數點之后可以有0 - 15位。我們把小數點之后有n位叫做Qn,例如小數點之后有12位叫做Q12格式的定點小數,而Q0就是我們所說的整數。

Q12的正數的最大值是 0 111 。 111111111111,第一個0是符號位,后面的數都是1,那么這個數是十進制的多少呢,很好運算,就是 0x7fff / 2^12 = 7.999755859375。對于Qn格式的定點小數的表達的數值就它的整數值除以2^n。在計算機中還是以整數來運算,我們把它想象成實際所表達的值的時候,進行這個運算。

反過來把一個實際所要表達的值x轉換Qn型的定點小數的時候,就是x*2^n了。例如 0.2的Q12型定點小數為:0.2*2^12 = 819.2,由于這個數要用整數儲存, 所以是819 即 0x0333。因為舍棄了小數部分,所以0x0333不是精確的0.2,實際上它是819/2^12 =0.199951171875。

我們用數學表達式做一下總結:

x表示實際的數(*一個浮點數), q表示它的Qn型定點小數(一個整數)。

q = (int) (x * 2^n)

x = (float)q/2^n

驗證:

由于/ 2^n和* 2^n可以簡單的用移位來計算,所以定點小數的運算比浮點小數要快得多。下面我們用一個例子來驗證一下上面的公式:

用Q12來計算2.1 * 2.2,先把2.1 2.2轉換為Q12定點小數:

2.1 * 2^12 = 8601.6 = 8602

2.2 * 2^12 = 9011.2 = 9011

(8602 * 9011) 》》 12 = 18923

18923的實際值是18923/2^12 = 4.619873046875 和實際的結果 4.62相差0.000126953125,對于一般的計算已經足夠精確了。

小數的定標精度、范圍

采用定點數進行數值運算,其操作數一般采用整型數來表示。一個整型數的最大表示范圍取決于DSP芯片所給定的字長,一般為16位或24位。顯然,字長越長,所能表示的數的范圍越大,精度也越高。

對于FPGA而言,FPGA對小數是無能為力的,一種解決方法是采用定標,就是將運算的浮點數擴大很多倍,然后取整,再用這個數進行運算,運算結束后再縮小相應的倍數。

通過設定小數點在16位數中的不同位置,就可以表示不同大小和不同精度的小數了。數的定標有Q表示法和S表示法兩種。表1.1列出了一個16位數的16種Q表示、S表示及它們所能表示的十進制數值范圍。

同樣一個16位數,若小數點設定的位置不同,它所表示的數也就不同。例如:

16進制數2000H=8192,用Q0表示

16進制數2000H=0.25,用Q15表示

不同的Q所表示的數不僅范圍不同,而且精度也不相同。Q越大,數值范圍越小,但精度越高;相反,Q越小,數值范圍越大,但精度就越低。

例如,Q0 的數值范圍是一32768到+32767,其精度為1,而Q15的數值范圍為-1到0.9999695,精度為1/32768=0.00003051。因此,對定點數而言,數值范圍與精度是一對矛盾,一個變量要想能夠表示比較大的數值范圍,必須以犧牲精度為代價;而想精度提高,則數的表示范圍就相應地減小。在實際的定點算法中,為了達到最佳的性能,必須充分考慮到這一點。

浮點數與定點數的轉換關系可表示為:

浮點數(x)轉換為定點數(xq):xq=(int)x* 2^Q

定點數(xq)轉換為浮點數(x):x=(float)xq*2^(-Q)

例如,浮點數x=0.5,定標Q=15,則定點數xq=L0.5*32768J=16384,式中LJ表示下取整。反之,一個用Q=15表示的定點數16384,其浮點數為16384*2-15=16384/32768=0.5。浮點數轉換為定點數時,為了降低截尾誤差,在取整前可以先加上0.5。

Q和S表示方法,如下表所示。

Q表示 S表示 十進制表示范圍

Q15 S0.15 -1≤x≤0.9999695

Q14 S1.14 -2≤x≤1.9999390

Q13 S2.13 -4≤x≤3.9998779

Q12 S3.12 -8≤x≤7.9997559

Q11 S4.11 -16≤x≤15.9995117

Q10 S5.10 -32≤x≤31.9990234

Q9 S6.9 -64≤x≤63.9980469

Q8 S7.8 -128≤x≤127.9960938

Q7 S8.7 -256≤x≤255.9921875

Q6 S9.6 -512≤x≤511.9804375

Q5 S10.5 -1024≤x≤1023.96875

Q4 S11.4 -2048≤x≤2047.9375

Q3 S12.3 -4096≤x≤4095.875

Q2 S13.2 -8192≤x≤8191.75

Q1 S14.1 -16384≤x≤16383.5

Q0 S15.0 -32768≤x≤32767

一般在FPGA中處理小數定點數,需要自己去定點,比如用16位,就可以分成8位整數和8位小數,即(8,8),即“定點”在第8位。那么:

1 -》 16‘h0100

1.5 -》 16’h0180

-1.5 -》 -1.5*256 + 65536(補碼) -》 16‘hFE80

1.164 -》 1.164*256 = 298 = 16’h012A

如果兩個小數相乘,即表示定點數相乘,比如,Q15表示的4000H(浮點數0.5)乘以Q15表示的4000H,4000H×4000H=1000 0000H,那么乘完之后的Q值為15+15=30.即浮點數表示0.25.

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1629

    文章

    21729

    瀏覽量

    603008
收藏 人收藏

    評論

    相關推薦

    小數在內存中是如何存儲的?為什么C語言中的浮點數不支持位移操作?

    小數在內存中是如何存儲的?為什么C語言中的浮點數不支持位移操作?
    發表于 08-16 09:24 ?1048次閱讀
    <b class='flag-5'>小數</b>在內存中是如何存儲的?為什么C語言中的<b class='flag-5'>浮點</b>數不支持位移操作?

    第7章 DSP定點數和浮點

    轉dsp系列教程本期教程主要跟大家講解一下定點數和浮點數的基礎知識,了解這些基礎知識對于后面學習ARM官方的DSP庫大有裨益。特別是初學的定要理解這些基礎知識。 7.1
    發表于 09-22 13:02

    基于牛頓迭代法的FPGA定點小數計算

    倒數算法的HDL實現,只需要進行次到兩次迭代便可獲得相對精確的結果。在些實時圖像處理場合中,對算法的運算速度和Latency要求較高,因此可以采用定點小數適當地降低精度以獲得更高的
    發表于 07-18 07:33

    LABVIEW 保留小數精度與進制換算

    LABVIEW 保留小數精度與進制換算
    發表于 05-14 18:55

    定點小數的表示方法

    定點小數的表示方法   定點小數,是指小數點準確固定在數據某個位置上的小數,從實用角度看,都把
    發表于 10-13 17:12 ?8222次閱讀

    定點小數的編碼方法

    定點小數的編碼方法  用定點小數引出數值的三種編碼(原碼、補碼和反碼)方法是最方便的。   (1) 原碼表示法,是用機器數的最高位代表
    發表于 10-13 17:19 ?3358次閱讀
    <b class='flag-5'>定點</b><b class='flag-5'>小數</b>的編碼方法

    LM4F定點格式于浮點格式的對比和浮點運算的應用詳細中文資料

    定點數指小數點在數中的位置是固定不變的,通常有定點整數和定點小數。在對小數點位置作出選擇之后,運
    發表于 05-09 11:40 ?11次下載
    LM4F<b class='flag-5'>定點</b>格式于<b class='flag-5'>浮點</b>格式的對比和<b class='flag-5'>浮點</b>運算的應用詳細中文資料

    FPGA定點小數的常規格式、相對于浮點小數的優勢與劣勢和計算的概述

    所謂定點小數,就是小數點固定地隱含在某位置上的數據。由于小數點的位置是固定的,所以就沒有必要儲存它(如果儲存了
    的頭像 發表于 06-12 19:34 ?9509次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>定點</b><b class='flag-5'>小數</b>的常規格式、相對于<b class='flag-5'>浮點</b><b class='flag-5'>小數</b>的優勢與劣勢和計算的概述

    FOC之定點小數運算

    許多MCU 芯片只支持整數運算,如果要在這些芯片上進行小數運算,定點運算應該是最佳選擇了;此外即使芯片支持浮點數,定點小數運算也是最佳的速度
    的頭像 發表于 07-11 15:10 ?6376次閱讀
    FOC之<b class='flag-5'>定點</b><b class='flag-5'>小數</b>運算

    FPGA浮點數轉化為定點數方法

    FPGA在常規運算時不能進行浮點運算,只能進行定點整型運算,在處理數據的小數乘加運算和除法運算時FPGA
    的頭像 發表于 10-13 16:23 ?4777次閱讀

    浮點定點運算以及數據定標和精度問題

    計算機體系結構中浮點定點數據的表示 1、定點數: 定點數指小數點在數中的位置是固定不變的,通常有定點
    的頭像 發表于 12-06 10:00 ?4844次閱讀

    python小數數字對象Decimal

    python的小數數字對象,類似于浮點數,只不過小數數字有固定的位數和小數點。 python小數數字是有固定精度的
    的頭像 發表于 03-10 10:04 ?694次閱讀

    FPGA定點數截位的基本準則

    FPGA內部表示正負數,小數的規則。兩者相比之下,定點數實現簡單,表達更為直觀,所以在很多時候FPGA通常使用定點數表示
    發表于 06-19 10:44 ?1506次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>定點</b>數截位的基本準則

    定點數和浮點數的概念 浮點數二進制序列與指數表達式之間的轉化

    數的缺點:由于小數點位置固定不變,定點數所表示的數的范圍非常有限,不能同時表達特別大或特別小的數,所以才出現了浮點數,以此來擴充數的范圍,同時浮點數也廣泛應用于精度要求高的場合。簡單的
    的頭像 發表于 08-22 16:06 ?8070次閱讀
    <b class='flag-5'>定點</b>數和<b class='flag-5'>浮點</b>數的概念 <b class='flag-5'>浮點</b>數二進制序列與指數表達式之間的轉化

    python如何保留小數

    對Python中的小數處理有更深入的理解。 引言: 在計算機編程中,浮點數是種最常用的數據類型,用于表示實數。然而,由于計算機的內部存儲方式以及浮點數的特性,導致
    的頭像 發表于 11-23 16:37 ?2003次閱讀
    主站蜘蛛池模板: 亚洲国产三级在线观看| 亲胸揉胸膜下刺激视频在线观看| 精品无码国产污污污免费网站2| 国产一区私人高清影院| 黄色直接观看| 久久这里有精品| 捏奶动态图吃奶动态图q| 日本精品卡一卡2卡3卡四卡三卡 | 法国剧丝袜情版h级在线电影| 调教日本美女| 国产午夜小视频| 久草青青在线| 欧美成人国产| 四川老师边上网课边被啪视频| 小黄文纯肉污到你湿| 一级淫片bbbxxx| a级毛片黄免费a级毛片| 国产爱豆剧果冻传媒在线| 嗨嗨快播电影| 男女疯狂一边摸一边做羞羞视频| 色久天| 亚洲日韩国产精品乱-久| 52色擼99热99| 国产成人一区免费观看| 精品久久久久中文字幕日本| 男人边吃奶边挵进去呻吟漫画| 色噜噜噜亚洲男人的天堂| 亚洲色大成网站www久久九九| 99久久精品全部| 国产精品亚洲在钱视频| 久久中文字幕无码A片不卡| 日本人六九视频| 夜色帮首页| 成年人视频在线观看免费| 黄色三级三级免费看| 欧美午夜免费观看福利片| 亚洲第一综合天堂另类专| 97资源站超碰在线视频| 国产色欲一区二区精品久久呦| 蜜芽tv在线观看免费网站| 新新电影理论中文字幕|