佐藤/進捗/2008-10-20
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[佐藤/進捗]]
-スプライン型カーネル関数&br;
↓スプライン型カーネル関数&br;
#ref(kernel_function.bmp)
&br;
&br;
verilogHDLを用いてテーブルを作成。&br;
PROGRAPE上で動作するテーブルを作成することが目的なので、PGRの表現形式になっているはず。&br;
入力は&br;
clk&br;
en(入力qが有効数字範囲であるか。1bit)&br;
d(指数部8bit, 仮数部16bit,全26bitの浮動小数点形式)&br;
出力は&br;
w(指数部8bit, 仮数部16bit,全26bitの浮動小数点形式)とした。&br;
入力dの範囲は、0≦d<2とし、この範囲を64分割した。&br;
&br;
直線補間した誤差を評価する。&br;
誤差評価の式は、
ε=|f'(d)-f(d)|&br;
f'(d):テーブルを用いて求めた結果&br;
f(d):倍精度不動小数点演算で計算した結果&br;
&br;
&br;
↓誤差評価
#ref(Error_kernel_function.bmp)
&br;
&br;
直線補間だけあって、精度が低い。&br;
dが0に近いほど誤差が大きいのは、より曲率が大きい(直線になじみにくい)かららしい。&br;
1か月も時間がかかってしまったけれど、&br;
PGR形式に対応したテーブルの作り方&br;
誤差評価の方法とプログラムの作成&br;
を習得できた。&br;
これでサクサク(?)かは分からないけど、テーブルを作れたらいい。&br;
より精度をあげるために正規化2次誤差補正関数を導入するべきなんだろうけど、まだ理解していない・・・。&br;
&br;
&br;
参考文献:&br;
鈴木昌治, "ディジタル数値演算回路の実用設計," CQ出版株式会社, 2006&br;
終了行:
[[佐藤/進捗]]
-スプライン型カーネル関数&br;
↓スプライン型カーネル関数&br;
#ref(kernel_function.bmp)
&br;
&br;
verilogHDLを用いてテーブルを作成。&br;
PROGRAPE上で動作するテーブルを作成することが目的なので、PGRの表現形式になっているはず。&br;
入力は&br;
clk&br;
en(入力qが有効数字範囲であるか。1bit)&br;
d(指数部8bit, 仮数部16bit,全26bitの浮動小数点形式)&br;
出力は&br;
w(指数部8bit, 仮数部16bit,全26bitの浮動小数点形式)とした。&br;
入力dの範囲は、0≦d<2とし、この範囲を64分割した。&br;
&br;
直線補間した誤差を評価する。&br;
誤差評価の式は、
ε=|f'(d)-f(d)|&br;
f'(d):テーブルを用いて求めた結果&br;
f(d):倍精度不動小数点演算で計算した結果&br;
&br;
&br;
↓誤差評価
#ref(Error_kernel_function.bmp)
&br;
&br;
直線補間だけあって、精度が低い。&br;
dが0に近いほど誤差が大きいのは、より曲率が大きい(直線になじみにくい)かららしい。&br;
1か月も時間がかかってしまったけれど、&br;
PGR形式に対応したテーブルの作り方&br;
誤差評価の方法とプログラムの作成&br;
を習得できた。&br;
これでサクサク(?)かは分からないけど、テーブルを作れたらいい。&br;
より精度をあげるために正規化2次誤差補正関数を導入するべきなんだろうけど、まだ理解していない・・・。&br;
&br;
&br;
参考文献:&br;
鈴木昌治, "ディジタル数値演算回路の実用設計," CQ出版株式会社, 2006&br;
ページ名: