Skip to Main Content
建立嵌入式系統--傑出軟體的設計模式
book

建立嵌入式系統--傑出軟體的設計模式

by Elecia White
October 2012
Intermediate to advanced content levelIntermediate to advanced
328 pages
7h 19m
Chinese
GoTop Information, Inc.
Content preview from 建立嵌入式系統--傑出軟體的設計模式
268
|
第九章
判別錯誤
上述使用的加法與乘法演算法有時候會造成錯誤,必須限制變數的大小,以及回傳錯誤
給呼叫的函數。讀者的責任之一就是理解上述 binary sacling 演算法的限制,對操作的數
字有深入的瞭解將能夠獲得最佳結果,如此才能夠處理溢位與驗證系統的穩定性。讀者
可以建立非常通用的函式庫處理各種可能發生的情況,但這可能會面臨實作所有浮點數
運算,並引進相同計算成本的風險。對於選用的演算法,必須知道變數範圍(最大與最
小值)及每個步驟需要處理的精確度。
讓我們回到溫度補償範例:
y = Ax2 + Bx + C
ADC 輸入值(
x
)是十位元,因此最小值是 0,最大值則是 1023,假設希望輸出值補償
後能在 0.0015 的浮點範圍之內(這包含在系統可容許誤差當中),補償係數
A
B
C
在工廠校正時設計。我們能夠控制製造程序,如果校正後無法落在容許範圍內就剔退產
品(通常這表示感應器有某種型式的損壞,並非為了方便程式撰寫。),參看表 9-3
9-3 ADC 範例的參數限制
ADC 輸入值 A B C
最小值 0 –0.001 0.002 –2
最大值 1023 0.001 0.2 3
能夠使用方程式中最大參數值決定最大輸出值(以浮點數表示),最小值則稍稍複雜,因
A
可容許負值。最小的結果能夠透過
最大化
ADC,最小化
A
並將
B
C
參數設為零後
獲得,而非將所有參數採用最小值,以 0 作為最小 ADC 值。
首先必須確定能夠在 binary-scaled 浮點數值中存放所有可能的輸出值,透過試用各種不 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

HBASE技術手冊

HBASE技術手冊

Lars George
ANGULARJS建置與執行

ANGULARJS建置與執行

Shyam Seshadri, Brad Green
高效能PYTHON程式設計

高效能PYTHON程式設計

Micha Gorelick, Ian Ozsvald

Publisher Resources

ISBN: 9789862765784