User Tools

Site Tools

prog:motor-control:20240801-001:index

數的定標:Q格式

  • 定點DSP不能直接處理小數,程式設計時處理小數有3種方法:
    • ① 把變數定義成float類型。此方法程式量最小,但編譯出來的程式碼最大。
    • ② 把整數變數放大來表示小數。這是許多開發定點DSP的程式設計師經常使用的方法,但程式不具有可移植性。
    • ③ 採用整數定標的方法來決定小數,即採用Q格式來表示小數。對於定點處理器而言,不管定義哪種類型的資料最終都採用整數資料進行具體的運算。
  • 整數定標的實質就是透過確定小數點位於哪一位,從而確定小數的精度,通常用Q格式表示。一個32位有符號定點數的Q格式如下:
  • 其中,S是符號位,I是整數部分,f是小數部分。定點數的大小按下式計算:
  • 例如Q15定點數的小數點位於第15位的右側,小數0.25用Q15表示則為2000H。這樣很簡單地用一個整數格式表示了一個小數,對於定點DSP來說處理小數就跟處理整數完全相同了。要注意的是,採用Q格式資料進行演算法設計的時候必須考慮溢出,各種Q格式資料表示的範圍和精度參考文獻。
Permalink prog/motor-control/20240801-001/index.txt · Last modified: 2024/08/01 08:16 by jethro

oeffentlich