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

ライブラリ:
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 内挿フィルターの半分の長さを指定します (P
)。FIR
モードで内挿を実行するには、ブロックは最も近い 2×P
低レート サンプルを使用します。ほとんどの場合、P
低レート サンプルは各内挿点の下または上に表示されなければなりません。低レート サンプル点で内挿する場合、ブロックでは、必要な 2*P
サンプルにその低レート サンプルが含まれ、2*P
–1 の隣接する低レート サンプルのみが必要です。内挿点に必要な数の隣接する低レート サンプルがない場合、ブロックは線形内挿を使用してその点を内挿します。
依存関係
このパラメーターが利用可能になるのは、Interpolation mode
が [FIR]
に設定されている場合のみです。詳細については、FIR 内挿モードを参照してください。
"アップサンプリング係数" (L
)。一意な FIR 内挿フィルターをブロックが計算する、入力サンプルあたりの点の数。FIR 内挿を実行するには、ブロックは、長さ 2*P
の L
本のフィルター アームをもつポリフェーズ構造を使用します。
たとえば、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]'
が作成されます。
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
詳細
ブロックに静的内挿配列 (入力データのすべてのベクトルまたは N 次元配列に適用される内挿配列) を提供するには、次の手順を実行します。
Source of interpolation points
パラメーターを[ダイアログにより指定]
に設定します。内挿配列を
Interpolation points
パラメーターに入力します。内挿配列の詳細については、ブロックによる内挿配列の入力への適用方法を参照してください。
ブロックに時変内挿配列を提供する場合、つまり、ブロックが各ベクトルまたは N 次元配列入力に異なる内挿配列を使用する場合は、次の手順を実行します。
Source of interpolation points
パラメーターを[入力端子]
に設定します。Pts
端子がブロックに表示されます。内挿配列の信号を生成して、それを [Pts] 端子に提供します。ブロックはこの端子への入力を内挿点として使用します。内挿配列の詳細については、ブロックによる内挿配列の入力への適用方法を参照してください。
内挿配列 IPts は、入力信号の値を内挿する時点を表します。IPts に 1 を入力すると入力の最初のサンプルを参照し、同様に 2.5 を入力すると 2 番目と 3 番目の入力サンプルの間の中央のサンプルを参照します。ほとんどの場合、IPts がベクトルである場合は、任意の長さを指定できます。
内挿配列 IPts の有効な値の範囲は、1 ~入力の各チャネルのサンプル数です。ブロックによる範囲外の内挿値の処理方法の詳細については、Out of range interpolation points
を参照してください。
入力の次元と IPts の次元に応じて、ブロックは通常、次のいずれかの方法で IPts を入力に適用します。
IPts 配列を N 次元配列の最初の次元に適用し、N 次元配列を出力します。
ベクトル IPts を各入力ベクトルに (入力ベクトルが単一チャネルのように) 適用することで、入力と同じ方向 (列方向または行方向) のベクトルを出力します。
次の表は、ブロックが内挿配列 IPts をすべての可能な入力のタイプに適用する方法の概要および結果の出力次元を示します。
最初の表では、Source of interpolation points
が [ダイアログにより指定]
である場合のブロックの動作について説明します。
ダイアログ ボックスで内挿点を指定する
入力の次元 | 内挿配列 IPts の有効な次元 | ブロックによる入力への IPts の適用方法 | 出力の次元 (フレームベース) |
---|---|---|---|
M x N x K の行列 | P 行 1 列の列 | IPts を入力の最初の次元に適用 | P x N x K の配列 |
P x N x K の行列 | IPts の各列 (IPts の各要素) を入力行列の対応する列に適用 | P x N x K の配列 | |
M 行 N 列の行列 | 1 行 N 列の行 | IPts の各列 (IPts の各要素) を入力行列の対応する列に適用 | 1 行 N 列の行 |
P 行 1 列の列 | IPts を各入力列に適用 | P 行 N 列の行列 | |
P 行 N 列の行列 | IPts の列を対応する入力行列の列に適用 | ||
M 行 1 列の列 | P 行 1 列の列 | IPts を入力列に適用 | P 行 1 列の列 |
1 行 N 列の行 (非推奨) | 1 行 N 列の行 | 該当なし。ブロックは入力ベクトルをコピー | 1 行 N 列、入力ベクトルのコピー |
P 行 1 列の列 | 各行が入力ベクトルのコピーである P 行 N 列の行列 | ||
P 行 N 列の行列 |
次の表では、[内挿点のソース] が [入力端子]
である場合のブロックの動作について説明します。
入力端子で内挿点を指定する
入力の次元 | 内挿配列 IPts の有効な次元 | ブロックによる入力への IPts の適用方法 | 出力の次元 (フレームベース) |
---|---|---|---|
M x N x K の行列 | 方向性を持たないベクトルまたは長さ P の列ベクトル | IPts を入力の最初の次元に適用 | P x N x K の配列 |
P x N x K の行列 | IPts の各列 (IPts の各要素) を入力行列の対応する列に適用 | P x N x K の配列 | |
M 行 N 列の行列 | 1 行 N 列の行 | IPts の各列 (IPts の各要素) を入力行列の対応する列に適用 | 1 行 N 列の行 |
P 行 1 列の列 | IPts を各入力列に適用 | P 行 N 列の行列 | |
P 行 N 列の行列 | IPts の列を対応する入力行列の列に適用 | ||
M 行 1 列の列 | P 行 1 列の列 | IPts を入力列に適用 | P 行 1 列の列 |
1 行 N 列の行 (非推奨) | 1 行 N 列の行 | 該当なし。ブロックは入力ベクトルをコピー | 1 行 N 列、入力ベクトルのコピー |
P 行 1 列の列 | 各行が入力ベクトルのコピーである P 行 N 列の行列 | ||
P 行 N 列の行列 |
アルゴリズム
Interpolation mode
が Linear
に設定されていると、ブロックは、データが隣接するサンプル時間に取得したサンプル間を線形に変化すると想定して、データ値を内挿します。
たとえば、入力信号が D = [1 2 1.5 3 0.25]' の場合、左側のプロットは D のサンプルを示し、右側のプロットは D のサンプル間で線形に内挿された値を示します。
次の図は、範囲外の内挿点をクリップするように設定された線形内挿モードのブロックの場合を示しています。次のようにベクトル D は入力データを提供し、ベクトル IPts は内挿点を提供します。
D = [1 2 1.5 3 0.25]'
IPts = [-4 2.7 4.3 10]'
ブロックは無効な内挿点をクリップして、線形に内挿された値をベクトル [1 1.65 2.175 0.25]'
で出力します。
Interpolation mode
が [FIR]
に設定されると、ブロックは、さまざまなブロック パラメーターによって指定される FIR 内挿フィルターを使用してデータ値を内挿します。詳細については、Variable Fractional Delay ブロック リファレンスのFIR Interpolation Modeを参照してください。
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2006a より前に導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)