第四章 研究方法
4.1 研究步驟
在進行改良前,首先要了解精確度的評估方式,我們同樣也是使用式子(4.1)的 誤差百分比區間做為誤差的評估。從這個式子可以了解到,影響誤差百分比區間的 關鍵就在於最大的正誤差百分比以及取絕對值的負誤差百分比的最大值。
Percent error range =Maximum positive percent error + Maximum negative percent error
(4. 1)
同樣的,我們也是以Mitchell 提出的對數轉換方法為基礎進行改良,而我們也 知道Mitchell 的方法所造成的誤差全部都大於等於 0。既然如此,如果能在不造成 負誤差的前提下進行改良,理論上誤差百分比區間以及硬體的花費都會減少。因為 當負誤差為零的時候,我們所要關注的部分就只在減少正誤差,如果正誤差百分比 比起其他方法所產生的要小,就代表誤差百分比區間也一定比較低。也因為Mitchell
% 的方法只產生正的誤差,當修正後導致負誤差的出現,這就表示這項修正方案有多 餘的地方。
此外,式子(3.6)顯示誤差百分比的計算方式為真實對數值減去近似值後再除以 真實對數值,這個式子透露出一個重要的訊息,當兩筆誤差相同的時候,N的值如 果愈大則它所對應的真實對數值也會愈大,相對的誤差百分比就會愈小。圖 4- 1為 Mitchell的對數近似值以及加上Error(3) 0.085 的Mitchell對數近似值兩者與真實對數 的比較,前者產生的誤差百分比為5.36% (100% * 0.085 / 1.585),後者為-8.5% (100
* -0.085 / 1),取絕對值比較後證實前者會有較佳的結果。後者因為分母為 1,因此 誤差百分比的大小等於誤差的大小。這表示,若我們以x的尾數長度m將x分為 2m個 小區塊,並且同一區塊中的輸入值N皆以同一個數來修正時,不論x的尾數m取多長,
第一個區塊0≤x<2-m都不該進行修正,因為修正後只會使誤差百分比變大。
圖4- 1:Mitchell 近似方法的近似值與其值加上 Error(3)後之比較
在Mitch 將整體
結果
ell的對數轉換方法中,只有當N=2k及N=2k+1時誤差為0,單純的
加上一個常數,會使這兩點產生不必要的誤差。因此,當以多區段的方式進行 額外修正時,第一區段及最後一區段要避免使用常數做為修正值。這也表示,當我
們採用二區段的近似方式時,不會使用到常數。另一方面,我們從圖 4- 2中發現到,
當N的值愈大時,Mitchell的誤差百分比與誤差的差距也會愈大,雖然在過了中點以 後這個現象會逐漸趨緩,但整體而言中點以後的誤差百分比是低於前半部的,並且 曲線的起伏也不像前半部那麼劇烈。因此,第二區段的修正可以不必像第一區段那 麼嚴謹。此外,前面提到過第一個區塊0≤x<2-m是無法進行修正的,若我們在尾數 的部份取4 bits將x分為 16 個區塊,則圖 4- 2的第一區塊 2≤N<2.125 會產生一個固定 的誤差2.29%。因此,我們在分析每個區塊所對應的修正值時,只需要將目標誤差 百分比設在2.29%以下即可,操作後的結果如表 4- 1表 4- 2。
圖4- 2:Mitchell 近似方法的誤差與誤差百分比之比較 表4- 1:x-1=0 (0≤x<0.5)所對應的修正值
Corrected values x-2x-3x-4
2-5 2-6 2-7 000 0 0 0 001 0 1 1 010 1 0 0 011 1 1 1 100 1 1 1 101 1 1 1 110 1 1 1
表4- -1=1 (0 ≤x<1)所對應的修正值 Corrected values 2:x .5 現,不需要真的使用到ROM。從兩張表中,我們可以看出當 0.25≤x<0.75 時,進行 了最大程度的修正,這是因為當x愈接近 0.5 的時候誤差會愈大,而其他部分修正的