任意リサンプリング フィルター

ARF (任意リサンプリング フィルター) のデザイン (XAPP1373)

Document ID
XAPP1373
Release Date
2022-02-28
Revision
1.0 日本語

入力サンプルが間隔 T で均一に分布する、図 3 に示す信号波形を考えます。1 つの望ましい出力サンプルが xn-3 xn-2 の間にあり、 タイミング オフセット u は 0 と 1 の間の任意の実数です。すべての有限インパルス応答 (FIR) フィルターの出力は、入力サンプルの線形結合として次のように記述できます。

図 1. FIR の出力は入力サンプルの線形結合
ここで、L はタップの数、{ck} は係数の集合です。ARF の場合、出力サンプルの動的タイミング オフセットを考慮に入れると、ck はタイミング オフセット u の関数になります。

ここで、f(·) は、ローパス フィルターの離散係数を実数ドメイン内の連続関数に一般化します。連続関数 f(·) をインプリメントする 1 つの方法は、配列 {Fk } をメモリに事前に格納することです。ここで、

次に、2 つの最も近い事前格納値の線形補間により、ck(u) を近似的に示します。

図 2. 2 つの最も近い事前格納値の線形補間

ここで、[x] は、x より小さいか等しい最大の整数を与える床関数であり、次の関係が成り立ちます。

{Fk } と {Gk } は、s でアドレス指定される 2 つのルックアップ テーブルによってインプリメントできます。次の図の例では、 L = 6 およびP = 4です。

図 3. 任意リサンプリング フィルター (L = 6、P = 4)

最大補間比 K の ARF の場合、1 つの入力から最大 K 個の新しい出力サンプルを計算できます。次の図は、K = 2 で、新しい入力サンプルごとに 1 つまたは 2 つの出力が計算される場合を示しています。

図 4. 最大 K = 2 の補間比での出力数

ARF の複雑さは、図 1図 2 の計算に大きな影響を受けます。前者では各出力サンプルにつき L 個の実数×実数乗算が 2 回必要であり、後者では L 個の実数×実数乗算が追加で 1 回必要です。出力サンプル レートは入力サンプル レートの K 倍であるため、実数×実数乗算の総数は 3·L·K·Input_Sample_Rateです。

これにより、ARF に必要な最小限の AI エンジン の数の見積もりが得られます。