Main Content

Interpolation

実数入力サンプルの値の内挿

  • Interpolation block

ライブラリ:
DSP System Toolbox / Signal Operations

説明

Interpolation ブロックは、線形または FIR 内挿を使用して離散実数入力を内挿します。ブロックは、ベクトル、行列または N 次元配列を受け入れます。ブロックは、内挿された値のスカラー、ベクトル、行列または N 次元配列を出力します。

内挿点、つまり、値を内挿するタイミングを 1 ベースの内挿配列 IPts に指定しなければなりません。IPts に 1 を入力すると入力データの最初のサンプルを参照し、同様に 2.5 を入力すると 2 番目と 3 番目の入力サンプルの間の中央のサンプルを参照します。入力データの次元に応じて、IPts にはスカラー、長さ P の行または列ベクトル、P 行 N 列の行列または P が N 次元配列の最初の次元のサイズである N 次元の配列を指定できます。ほとんどの場合、P は正の整数です。有効な内挿配列の詳細については、Ptsおよび内挿点の表を参照してください。

ほとんどの場合、ブロックは IPts を N 次元の入力配列の最初の次元または各入力ベクトルに適用します。ブロックを設定して、すべての入力データ、つまり、ブロック マスクに入力される静的内挿点に同じ内挿配列を適用するか、各 N 次元配列、行列またはベクトル入力、つまり、Pts 入力端子を介して受信する時変内挿点に異なる内挿配列を使用するようにできます。

端子

入力

すべて展開する

入力信号。スカラー、ベクトル、行列または N 次元配列として指定します。

この端子は Source of interpolation points[入力端子] に設定するまで、名前は付きません。

データ型: single | double

内挿点。スカラー、ベクトル、行列または N 次元配列として指定します。

Source of interpolation points パラメーターが [入力端子] に設定された場合のブロックの動作に関する詳細については、ブロックによる内挿配列の入力への適用方法を参照してください。

依存関係

この端子は Source of interpolation points[入力端子] に設定するまで使用できません。

データ型: single | double

出力

すべて展開する

出力信号。ベクトル、行列、または N 次元配列として指定します。

この端子は Source of interpolation points[入力端子] に設定するまで、名前は付きません。

データ型: single | double

パラメーター

すべて展開する

内挿点の指定方法を次から選択します。

  • ダイアログにより指定 –– Interpolation points パラメーターが利用可能になります。静的内挿点にこのオプションを使用します。

  • 入力端子 –– Pts 端子がブロックに表示されます。ブロックはこの端子への入力を内挿点として使用します。時変内挿点にこのオプションを使用します。

詳細については、静的内挿点の指定および時変内挿点の指定を参照してください。

入力信号を内挿する時点の配列 (IPts)。IPts に 1 を入力すると入力の最初のサンプルを参照し、同様に 2.5 を入力すると 2 番目と 3 番目の入力サンプルの間の中央のサンプルを参照します。ブロックによる内挿配列の入力への適用方法を参照してください。

調整可能: Yes

依存関係

このパラメーターが利用可能になるのは、Source of interpolation points[ダイアログにより指定] に設定されている場合のみです。詳細については、静的内挿点の指定を参照してください。

[線形] または [FIR] 内挿のいずれかの内挿にブロックを設定します。詳細については、線形内挿モードおよびFIR 内挿モードを参照してください。

FIR 内挿フィルターの半分の長さを指定します (P)。FIR モードで内挿を実行するには、ブロックは最も近い 2×P 低レート サンプルを使用します。ほとんどの場合、P 低レート サンプルは各内挿点の下または上に表示されなければなりません。低レート サンプル点で内挿する場合、ブロックでは、必要な 2*P サンプルにその低レート サンプルが含まれ、2*P–1 の隣接する低レート サンプルのみが必要です。内挿点に必要な数の隣接する低レート サンプルがない場合、ブロックは線形内挿を使用してその点を内挿します。

依存関係

このパラメーターが利用可能になるのは、Interpolation mode[FIR] に設定されている場合のみです。詳細については、FIR 内挿モードを参照してください。

"アップサンプリング係数" (L)。一意な FIR 内挿フィルターをブロックが計算する、入力サンプルあたりの点の数。FIR 内挿を実行するには、ブロックは、長さ 2*PL 本のフィルター アームをもつポリフェーズ構造を使用します。

たとえば、L=4 の場合、ブロックは 4 本のアームをもつポリフェーズ フィルターを作成します。次にブロックは、1 +i/L, 2 +i/L, 3 +i/L... に対応する点で内挿します。ここで整数 1、2、3 は低レート サンプルを表し、i=0,1,2,3 です。ポリフェーズ フィルターのアームに直接対応しない点で内挿するには、追加の計算が必要です。ブロックは、最初にポリフェーズ フィルターのアームに対応する最も近い値に切り下げます。2.2 で内挿するには、ブロックは 2.2 を 2 に切り下げ、ポリフェーズ フィルター構造の最初のアームを使用して FIR 内挿を計算します。同様に、点 2.65 を内挿するには、ブロックはこの値を 2.5 に切り下げ、ポリフェーズ フィルター構造の 3 番目のアームを使用します。

依存関係

このパラメーターが利用可能になるのは、Interpolation mode[FIR] に設定されている場合のみです。詳細については、FIR 内挿モードを参照してください。

Fs/2 (入力サンプル周波数の半分) で除算した入力の帯域幅。範囲 (0, 1] 内のスカラーとして指定します。

依存関係

このパラメーターが利用可能になるのは、Interpolation mode[FIR] に設定されている場合のみです。詳細については、FIR 内挿モードを参照してください。

内挿配列 IPts の有効な値の範囲は、1 ~入力の各チャネルのサンプル数です。たとえば、長さ 5 の入力ベクトル D では、IPts のすべてのエントリの範囲は 1 ~ 5 でなければなりません。IPts には 7 や -9 などのエントリを含めることはできません。なぜなら D には 7 番目または -9 番目のエントリはないためです。

[Out of range interpolation points] パラメーターは、ブロックが有効な範囲外にある内挿点を処理する方法を設定します。このパラメーターには以下の設定があります。

  • クリップ — ブロックは IPts の範囲外の値を有効な範囲 (1 ~ 入力サンプル数の範囲) 内で最も近い値に置き換えて、IPts のクリップされた値を使用して計算を続行します。

  • クリップおよび警告[クリップ] に加えて、ブロックでは、クリッピングが発生するたびに MATLAB® コマンド ラインで警告が出力されます。

  • エラー — ブロックで IPts の値が範囲外になると、シミュレーションは停止し、ブロックは MATLAB コマンド ラインでエラーを発行します。

クリップの例として、ブロックは範囲外の内挿点をクリップするよう設定されており、次の入力ベクトルと内挿点を取得すると仮定します。

  • D = [11 22 33 44]'

  • IPts = [10 2.6 -3]'

D には 4 つのサンプルがあるため、有効な内挿点の範囲は 1 ~ 4 です。ブロックは内挿点 10 ~ 4 と -3 ~ 1 をクリップし、結果としてクリップされた内挿ベクトル IPtsClipped = [4 2.6 1]' が作成されます。

ブロックの特性

データ型

double | single

直達

なし

多次元信号

なし

可変サイズの信号

なし

ゼロクロッシング検出

なし

詳細

すべて展開する

アルゴリズム

すべて展開する

拡張機能

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

バージョン履歴

R2006a より前に導入