Signal Processing Toolbox    
interp

整数ファクタによるサンプリングレートの増加(補間)

表示

詳細

補間は、データ列のオリジナルのサンプリングレートを高いサンプリングレートに変換します。interp は、オリジナルの列にゼロを挿入してから、特殊なローパスフィルタを適用することにより、ローパスの補間を実行します。

y = interp(x,r) は、xのサンプリングレートをrのファクタだけ増加させます。補間されたベクトルyは、オリジナルの入力xよりr倍長くなります。

y = interp(x,r,l,alpha) は、l(フィルタの長さ)とalpha(カットオフ周波数)を設定します。lのデフォルト値は4で、alphaのデフォルト値は0.5です。

[y,b] = interp(x,r,l,alpha) は、補間に使用されたフィルタ係数ベクトルbを出力します。

例題

信号を4倍に補間します。

アルゴリズム

interpは、参考文献[1]に記述されているローパス補間アルゴリズム8.1を使用します。

  1. オリジナルのデータ値の間にゼロを挿入することにより、入力ベクトルを適切な長さに拡張します。
  2. オリジナルデータを変化させないで、内挿した点とその理想的な点との間の平均2乗誤差が最小になるような特別な対称FIRフィルタを設計します。
  3. 入力ベクトルにフィルタを適用して、補間された出力ベクトルを作成します。

FIRローパス補間フィルタの長さは、2*l*r+1です。補間に使用されるオリジナルサンプル値の数は、 2*lです。通常、lは10以下にしてください。オリジナルの信号は、正規化カットオフ周波数0  alpha  1で制限された帯域内にあるものと仮定しています。ここで、1はオリジナルのサンプリング周波数の1/2(Nyquist周波数)です。lのデフォルト値は4で、alpha のデフォルト値は0.5です。

診断

rが整数の場合、interpは、つぎのエラーメッセージを表示します。

参考
decimate
データ列に対するサンプリングレートの低減(間引き)
interp1
1次元データ補間(テーブルルックアップ)(MATLAB Function Referenceを参照)
resample
任意のファクタによるサンプリングレートの変更
spline
キュービックスプライン補間(MATLAB Function Referenceを参照)
upfirdn
FIRフィルタの適用とサンプリングレート変換

参考文献

[1] Programs for Digital Signal Processing, IEEE Press, New York, 1979, Algorithm 8.1.


 impz intfilt