Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

サンプルベースおよびフレームベースの概念

サンプルベースおよびフレームベースの信号

サンプルベースの信号は、最も基本的な信号のタイプであり、実際の (物理的な) 信号から最も簡単に作成できます。サンプルベースの信号は、所定のサンプルレートで物理量信号をサンプリングし、受信した個別のサンプルを出力して作成できます。一般に、ほとんどのデジタル アナログ コンバーターはサンプルベースの信号を出力します。

フレームベースの信号はサンプルベースの信号から作成できます。N 個のサンプルのバッチをバッファリングする場合、データのフレームを作成します。その後、データのシーケンシャル フレームを、元のサンプルベース信号のサンプルレートに対する 1/N 倍のレートで出力できます。データのフレームを出力するレートは、信号の"フレーム レート"とも呼ばれます。

フレームベースのデータはリアルタイム システムで共通の形式です。データ収集ハードウェアは多くの場合、多数の信号サンプルを高レートで累積することで動作します。その後、ハードウェアはこれらのサンプルをリアルタイム システムにデータのブロックとして伝播します。これを行うと、固定された処理のオーバーヘッドが多くのサンプルに分散され、システムの効率が最大化します。より高速なデータ収集は、個々のサンプルの後ではなく、各フレームが収集されるたびに、より低速な割り込み処理によって一時停止されます。詳細は、フレームベースの処理の利点を参照してください。

DSP System Toolbox™ ソース ブロック サンプルベースの信号の作成 フレームベースの信号の作成
Chirp X X
Constant(Simulink) X X
Colored Noise X X
Discrete Impulse X X
From Multimedia File X X
Identity Matrix X
Multiphase Clock X X
N-Sample Enable X X
Random Source X
Signal From Workspace X X
Sine Wave X X
UDP Receive X

MATLAB金宝appにおけるサンプルベースおよびフレームベースの信号のモデル化

DSP System Toolbox ソフトウェアを使用して信号を処理する場合、サンプルベースまたはフレームベースのいずれかの方法で行うことができます。Simulink®でブロックを取り扱う場合、ブロックが実行する処理のタイプをブロック単位で指定できます。ほとんどの場合、[入力処理]パラメーターを設定して処理モードを指定します。MATLAB®で System object を使用している場合は、フレームベース処理のみ利用できます。次の表に、MATLAB および Simulink でサンプルベースおよびフレームベースの処理を実行するために使用できる共通パラメーター設定を示します。

サンプルベースの処理 フレームベースの処理
Simulink — ブロック [入力処理]=[チャネルとしての要素 (サンプル ベース)] [入力処理]=[チャネルとしての列 (フレーム ベース)]

サンプルベースの処理とは

サンプルベースの処理では、ブロックは一度に 1 つのサンプルの信号を処理します。入力信号の各要素は別々のチャネル内の 1 つのサンプルを表します。たとえば、サンプルベースの処理の視点からは、次の 3 行 2 列の行列に 6 つの独立したチャネルそれぞれの最初のサンプルが含まれています。

3-by-2 matrix containing 1 at each index. Each element represents a channel. Altogether, the matrix shows 6 channels at t = 0.

サンプルベースの処理を実行するようにブロックを構成すると、ブロックはスカラー入力を単一チャネル信号として解釈します。同様に、ブロックは M 行 N 列の行列を M*N 個の独立したチャネルを持つマルチチャネル信号として解釈します。たとえば、サンプルベースの処理では、ブロックは次の一連の 3 行 2 列の行列を 6 チャネル信号として解釈します。

Three 3-by-2 matrices at t = 0, t= 1, and t = 2, respectively. At t = 0, all elements equal 1. At t = 1, all elements equal 2. At t = 2, all elements equal 3.

フレームベースの処理の最近変更された点の詳細については、DSP System Toolbox Release Notes のFrame-based processing changesの節を参照してください。

フレームベースの処理とは

フレームベースの処理では、ブロックは一度に 1 つのフレームのデータを処理します。データの各フレームには独立チャネルからの連続サンプルが含まれます。各チャネルは入力信号の列によって表されます。たとえば、フレームベースの処理の視点からは、次の 3 行 2 列の行列には 2 チャネルあり、それぞれ 3 つのサンプルが含まれています。

フレームベースの処理を実行するようにブロックを構成すると、ブロックは M 行 1 列のベクトルをフレームごとに M 個のサンプルが含まれる単一チャネル信号として解釈します。同様に、ブロックは M 行 N 列の行列を N 個の独立したチャネルとチャネルごとに M 個のサンプルを持つマルチチャネル信号として解釈します。たとえば、フレームベースの処理では、ブロックは次の一連の 3 行 2 列の行列をフレーム サイズが 3 の 2 チャネル信号として解釈します。

フレームベースの処理を使用すると、複数のサンプルを一度に処理できるため、多くの信号処理アプリケーションで有利です。データをフレームにバッファリングしてマルチサンプルのデータ フレームを処理することにより、信号処理アルゴリズムの計算時間を改善できることがよくあります。フレームベースの処理を実行するには、DSP System Toolbox ライセンスを所有していなければなりません。

フレームベースの処理の最近変更された点の詳細については、DSP System Toolbox Release Notes のFrame-based processing changesの節を参照してください。

フレームベースの処理の利点

フレームベースの処理は、リアルタイム システムとモデル シミュレーションの両方を高速化する確立されたメソッドです。

リアルタイム システムの高速化-フレームベースのデータはリアルタイム システムで共通の形式です。データ収集ハードウェアは多くの場合、多数の信号サンプルを高レートで累積してから、これらのサンプルをデータのブロックとしてリアルタイム システムに伝播することで動作します。このタイプの伝播は、固定された処理のオーバーヘッドを多くのサンプルに分散することでシステムの効率が最大化します。より高速なデータ収集は、個々のサンプルの収集後ではなく、各フレームが収集されるたびに、より低速な割り込み処理によって一時停止されます。

次の図は、フレームベースの処理によるスループットの増加方法を示しています。細いブロックはそれぞれサンプルの収集中に経過した時間を表します。太いブロックはそれぞれ、ハードウェアからデータを読み取る、割り込みサービス ルーチン (ISR) 中に経過した時間を表します。

この例では、フレームベースの操作により各 ISR 間で 16 サンプルのフレームが収集されます。したがって、フレームベースのスループット レートは多くの場合、サンプルベースの代替方法より高くなります。

Snap shot showing how samples are acquired in sample-based operation and frame-based operation. In sample-based operation, there is an ISR between each sample. In frame-based operation, there is an ISR between a frame of samples, in this case, 16.

フレームベースの処理では、初期フレームのバッファリングに固有のラグが原因で、ある程度のレイテンシが処理に発生することに注意してください。ただし、多くの場合、許容できないレイテンシを発生させずにスループットを向上するフレーム サイズを選択できます。詳細については、Delay and Latencyを参照してください。

モデル シミュレーションの高速化-モデルのシミュレーションでもフレームベースの処理から利点が得られます。この場合、個々のサンプルではなくデータのフレームを伝播することで、ブロック単位の通信のオーバーヘッドを減らします。

関連する例

詳細