このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
decimate
間引き — 整数係数単位でのサンプル レートの低減
説明
例
入力引数
出力引数
アルゴリズム
間引きは、シーケンスの元のサンプル レートを低減します。これは内挿の逆の操作です。decimate
ローパスは、入力をフィルター処理してエイリアシングから保護し、結果をダウンサンプリングします。関数は、参考文献[1]の間引きアルゴリズム 8.2 および 8.3 を使用します。
decimate
はローパス フィルターを作成します。既定では、cheby1
を使用してチェビシェフ I 型フィルターを設計します。このフィルターは、0.8/r
の正規化されたカットオフ周波数と 0.05 dB の通過帯域リップルをもちます。伝達関数の生成に必要な畳み込みから蓄積された丸め誤差が原因で、指定したフィルター次数で通過帯域の歪みが生じることがあります。decimate
は、歪みが原因でカットオフ周波数において振幅応答とリップルとの差が 10–6 を超える場合、フィルター次数を自動的に減らします。"fir"
オプションを指定した場合、decimate
はfir1
を使用して、カットオフ周波数1/r
をもつローパス FIR フィルターを設計します。FIR フィルターを使用する場合、
decimate
は入力シーケンスを一方向にのみフィルター処理します。これはメモリの消費を節約するため、長いシーケンスの処理に有効です。IIR フィルターでは、decimate
はfiltfilt
を使用して順方向と逆方向にフィルターを適用し、位相歪みを除去します。このプロセスによって、フィルター次数は実質的に 2 倍になります。いずれの場合も、この関数は、端点の条件の一致を確認して、信号の両端における過渡状態の影響を最小限にします。最後に、
decimate
は、フィルター処理後のデータ内からr
個ごとに点を選択し、データをリサンプリングします。リサンプリングされたシーケンス (y
) では、IIR フィルターを使用した場合はy(end)
がx(end)
に一致し、FIR フィルターを使用した場合はy(1)
がx(1)
に一致します。
参照
[1] Digital Signal Processing Committee of the IEEE® Acoustics, Speech, and Signal Processing Society, eds. Programs for Digital Signal Processing. New York: IEEE Press, 1979.