ホーム » 計算を簡単に簡素化します。 » Electrical » Firフィルタ係数計算機

Firフィルタ係数計算機

あなたの愛を示してください:

FIRフィルタ係数計算機は、フィルタ係数(タップとも呼ばれます)を自動計算することで、エンジニア、DSPを学ぶ学生、オーディオ開発者が有限インパルス応答(FIR)フィルタを設計するのに役立ちます。これらの係数は、入力信号の重み付けと加算方法を定義し、所望のフィルタリング効果を生み出します。このツールは、手作業による計算に比べて時間を節約し、エラーを最小限に抑えます。

このツールは、 デジタル信号処理(DSP)計算機 カテゴリ。

FIRフィルタ係数計算機の計算式

1. FIRフィルタ出力

基本的な FIR フィルタは、過去の入力サンプルの加重合計を適用します。

y[n] = Σ (k = 0 から N−1 まで) [ h[k] × x[n−k] ]

どこ:

  • y[n] = 時間の出力 n
  • x[n−k] = 時刻の入力サンプル n−k
  • h[k] = タップにおけるフィルタ係数 k
  • N = タップ数(フィルタ次数 + 1 に等しい)

2. 係数計算(ウィンドウ法)

単純なローパス FIR フィルタの場合、理想的なインパルス応答は次のようになります。

h[k] = ( sin(2πf_c (k − M)) ) / (π (k − M))

どこ:

  • ふー = 正規化されたカットオフ周波数(希望するカットオフ周波数をサンプリング周波数で割ったもの)
  • k = インデックス (0 ~ N−1)
  • M = (N−1)/2 (センタータップ)

k = M の場合の特別なケース:

h[M] = 2 × f_c

3. ウィンドウ関数を適用する

リップルを減らしてパフォーマンスを向上させるために、理想的な係数にウィンドウを掛けます。

h_windowed[k] = h[k] × w[k]

どこ:

  • w[k] = タップ時のウィンドウ関数の値 k

一般的なウィンドウ関数には、ハミング、ハニング、ブラックマンなどがあります。

一般的なウィンドウ関数表

ウィンドウ名メインローブ幅サイドローブ減衰典型的な使用
長方形の最も狭い減衰が悪い基本的な使用、高リップル
ハミング広いより良い減衰一般的なDSPフィルター
ハニングハミングに似ているわずかに低い減衰滑らかな信号エッジ
ブラックマン最も広い高減衰高精度フィルター

FIRフィルタ係数計算機の例

ローパス FIR フィルタを設計します。

仕様:

  • カットオフ周波数: 1 kHz
  • サンプリング周波数:8 kHz
  • フィルタ次数: 20 (N = 21 タップ)
  • ウィンドウ:ハミング

ステップ:

  1. 正規化されたカットオフ周波数を計算します。
    f_c = 1 kHz / 8 kHz = 0.125
  2. Mを計算します:
    M = (21 − 1)/2 = 10
  3. 各k(0~20)について、次を計算します。
    h[k] = sin(2π × 0.125 × (k − 10)) / (π (k − 10)) k = M (10)の場合:
    h[10] = 2 × 0.125 = 0.25
  4. ハミングウィンドウw[k]を乗算します。

計算機はこれらすべてのステップを即座に自動化します。

最も一般的な FAQ

フィルターの順序を選択するにはどうすればよいですか?

次数が高いほど(タップ数が多いほど)、周波数分離は向上しますが、処理時間は長くなります。オーディオや一般的なDSPの場合、典型的な次数は20~100です。

ウィンドウ関数を適用する理由は何ですか?

理想的なフィルタは無限の応答特性を持ちます。Windowsはこれを制限しますが、不要なリップルやリークを抑制し、実用的な性能を向上させます。

FIR フィルターはリアルタイム処理に使用できますか?

はい。FIR フィルタは本質的に安定しており予測可能であるため、リアルタイム アプリケーションに適していますが、次数が高いと計算時間が長くなる可能性があります。

コメント