0

FPGA で線形表記からデシベル表記に値を変換しようとしています。

方程式 x_dB=10*log(x_lin) は確かによく知られていますが、VHDL で実装することはできませんでした。

http://en.wikipedia.org/wiki/Inverse_hyperbolic_function#Logarithmic_representationで使用できるいくつかのアイデンティティ (arctanh が最も一般的) を見つけました。

逆双曲線関数は COordinate Rotation DIgital Computer (CORDIC) を介して利用できるため、これは十分に簡単に思えますが、CORDIC には 2 つの入力 (X と Y) があり、対数に必要な単一の入力とは対照的に、双曲線逆正接関数!2 つの入力値 (x & y) に何を使用すればよいかを理解するにはどうすればよいですか?

4

1 に答える 1

1

あなたの目標は、恒等式を使用して自然対数を解くことです。

ln(w) = 2 * atanh((w-1) / (w+1))

atanh(y/x) を評価するベクトル モード (y --> 0) で CORDIC の双曲線バージョンを設定する必要があります。これは、y を w-1 に、x を w+1 に、初期角度 z を 0 に設定することにより、通常の CORDIC と同様に達成されます。 CORDIC への双曲線拡張では、収束するために特定の反復 (4、13、40、...) を繰り返す必要があります。

ln(w) を取得したら、定数 10 / ln(10) を掛けて、10 を底とする対数を dB で取得する必要があります。

Ray Andraka の論文は、CORDIC 実装の概要を説明しています。双曲線拡張について少し説明します。ザイリンクスのこれらのスライドでは、双曲線 CORDIC の詳細について説明しています。

于 2014-08-05T20:55:57.847 に答える