浮點數定點化的初步認識

2021-10-04 19:03:04 字數 997 閱讀 2405

fpga只能處理定點數,alteral stratix 10可以支援硬浮點,如軍方雷達、機器視覺等硬體加速。

浮點數:2.918 3.1415986

浮點轉定點:(如16位,表示範圍32767~-32768)

定義小數需求多少位(如12位)

整數需求多少位(如3位)

最高位為符號位(針對有符號數,1位)**

對於低15位,整數最大表示7,小數最大精度1/(212)=0.000244140625,小數最大能表示(1/(212))4095=0.999755859375

即使用15位二進位制數(最大32767)表示浮點小數(最大7.999755859375)

如對2.918定點化的過程:

量化精度:(8/32768)

量化結果:2.918/(8/32768)=11952.128~=11952

定點化會產生量化誤差。

如對3.1415926定點化過程;

3.1415926/(8/32768)=12867.9632896~=12868

浮點數運算:2.918*3.1415926=9.1671672068

11952x12868=153798336

153798336=(0)_(00_1001)_(0010_1010_1100_0110_1100_0000)

符號位1位,表示正數,

整數6位,表示十進位制數為9,

小數24位,為(0010_1010_1100_0110_1100_0000)b=(2803392)d,

2803392/(2^24)=0.167095184326171875

所以153798336轉換為浮點數為9.167095184326171875

與原浮點數結果有誤差。

綜上:第一步:規定位寬

整數字寬:能夠表示整數部分的最少bit數。

小數字寬:能夠滿足最大小數精度的bit數,如小數字寬為n,則能表示的小數精度為1/(2^n)

第二步:確定最大值與最小值

第三步:定點化處理

FPGA浮點數定點化

因為在普通的fpga晶元裡面,暫存器只可以表示無符號型,不可以表示小數,所以在計算比較精確的數值時,就需要做一些處理,不過在altera在arria 10 中增加了硬核浮點dsp模組,這樣更加適合硬體加速和做一些比較精確的計算。浮點數和定點數的區別 定點數的小數點是固定的,而浮點數的小數點的位置不確...

浮點數定點化表示

例 12.918進行定點化,11位的位寬帶來的量化誤差是多少?4位用來表示整數,7位用來表示小數。解析度為 1 2 7 0.0078125 0.918 0.0078125 118 118 0.0078125 0.921875 量化誤差 0.921875 0.918 0.003875 0.5 解析度,...

FPGA中浮點數的定點化筆記

fpga中浮點數的定點化筆記 關於基本相關知識參考該部落格 浮點數的定點化 fpga 1.基礎概念 浮點數 簡單來說,就是小數點的位置不是固定的 定點數 簡單來說,小數點的位置是固定的,也就是整數字寬與小數的位寬是固定的 以下部分內容摘自該博文 因為在普通的fpga晶元裡面,暫存器只可以表示無符號型...