ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

interp

内挿 — サンプルレートを整数係数により上げる

構文

y = interp(x,r)
y = interp(x,r,n,alpha)
[y,b] = interp(x,r,n,alpha)

説明

y = interp(x,r) は、入力信号 x のサンプルレートを r の係数分増加させます。

y = interp(x,r,n,alpha) では 2 つの追加の値を指定します。

  • n は拡張信号の内挿に使用される、元のサンプル値数の半分です。

  • alpha は入力信号の正規化されたカットオフ周波数で、ナイキスト周波数の小数部として指定されます。

[y,b] = interp(x,r,n,alpha) でも、内挿に使用されるフィルター係数を含むベクトル b が返されます。

すべて折りたたむ

1 kHz でサンプリングされた正弦波信号を作成します。4 の係数で信号に内挿します。

t = 0:0.001:1;
x = sin(2*pi*30*t) + sin(2*pi*60*t);
y = interp(x,4);

元の信号と内挿信号をプロットします。

subplot 211
stem(0:30,x(1:31),'filled','markersize',3)
grid on
xlabel 'Sample number',ylabel Original
subplot 212
stem(0:120,y(1:121),'filled','markersize',3)
grid on
xlabel 'Sample number',ylabel Interpolated

入力引数

すべて折りたたむ

入力信号。ベクトルで指定します。

データ型: double | single

内挿係数。正の整数で指定します。

データ型: double

内挿に使用される入力サンプルの半数。正の整数で指定します。n は必ず 10 以下でなければなりません。ローパス内挿フィルターの長さは 2 × n × r + 1 です。

データ型: double | single

入力信号の正規化されたカットオフ周波数。1 以下の正の実数スカラーで指定します。これはナイキスト周波数の小数部を表します。値 1 は、信号が全ナイキスト区間を占めることを意味します。

データ型: double | single

出力引数

すべて折りたたむ

内挿された信号。ベクトルとして返されます。y は、元の入力 x より r 倍長くなります。

データ型: double | single

列ベクトルとして返される、ローパス内挿フィルターの係数。

データ型: double | single

アルゴリズム

内挿はシーケンスの元のサンプルレートを高いレートに上げます。これは間引きと逆の操作です。interp では、元の信号に複数の 0 を挿入して、拡張したシーケンスにローパス内挿フィルターを適用します。この関数では、[1]に記述されているローパス内挿アルゴリズム 8.1 が使用されます。

  1. 元のデータ値の間に 0 を挿入することにより、入力ベクトルが適切な長さに拡張されます。

  2. 元のデータを変化させないで通し、内挿点と理想的な点との間の平均二乗誤差が最小になるように内挿を行う、特別な対称 FIR フィルターが設計されます。interp で使用されるフィルターは、intfiltで返されるフィルターと同じです。

  3. 拡張された入力ベクトルにフィルターが適用されて出力が作成されます。

参照

[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.

[2] Oetken, G., Thomas W. Parks, and H. W. Schüssler. “New results in the design of digital interpolators.” IEEE® Transactions on Acoustics, Speech, and Signal Processing. Vol. ASSP-23, No. 3, June 1975, pp. 301–309.

R2006a より前に導入