我試圖在泰勒級數中使用Verilog實現COS X函數。向我呈現的問題陳述如下使用泰勒級數近似計算cosx的Verilog代碼
「寫一個Verilog代碼來使用泰勒級數近似計算cosX請將8位輸出的源代碼和測試代碼以帶符號的十進制基數格式附加到X = 0 °到360°,增量爲10°「
我在繼續之前需要了解一些事情。 請指正,如果我錯某處
分辨率計算: 10°的增量,以覆蓋0°到360°=> 36個位置
36以十進制可以通過6位來表示。由於我們可以使用6位,因此使用64個字時分辨率會稍微好一些。 64個字代表0°到360°,因此每個字代表5.625°的分辨率,即以5.625°爲增量從0°到360°的所有Cos值。 因此分辨率爲5.625°
泰勒級數計算 泰勒級數爲COS由Cos x approximation by Taylor series
COS X = 1 − (X^2/2!) + (X^4/4!) − (X^6/6!) ..... (using only 3~4 terms)
給出我有幾個查詢
1)的雖然很容易使用乘法器生成X * X(X平方)或X立方項,我不知道如何處理計算X平方或X立方項時產生的額外位s。 輸出爲8位只有
例如X = 6個比特; X平方= 12位; X立方= 18位。
不管怎樣,我是否會生成它們,然後忽略它們,只考慮整個結果的MSB 8位? ......這樣的cos波會吸? 2)我不知道如何處理泰勒級數開始處+1的加法...... COS X = - (X^2/2!)+(X^4/4!)。 ...我是直接添加二進制1還是我必須縮放1爲2^8 = 255或2^6 = 64因爲我使用6位輸入和8位輸出?