Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

interp

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

説明

y = interp(x,r) は、入力信号 x のサンプル レートを r 倍に増やします。

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

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

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

[y,b] = interp(x,r,n,cutoff) は、内挿に使用されるフィルター係数も返します。

すべて折りたたむ

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

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

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

subplot(2,1,1)
stem(0:30,x(1:31),'filled','MarkerSize',3)
grid on
xlabel('Sample Number')
ylabel('Original')

subplot(2,1,2)
stem(0:120,y(1:121),'filled','MarkerSize',3)
grid on
xlabel('Sample Number')
ylabel('Interpolated')

Figure contains 2 axes objects. Axes object 1 with xlabel Sample Number, ylabel Original contains an object of type stem. Axes object 2 with xlabel Sample Number, ylabel Interpolated contains an object of type stem.

入力引数

すべて折りたたむ

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

データ型: double | single

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

データ型: double | single

内挿に使用された入力サンプルの半数。正の整数として指定します。最適な結果を得るには、10 以下の n を使用します。ローパス内挿フィルターの長さは 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.

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入