Main Content

信号の表現

数値配列

MATLAB® 環境において中核となるデータ構造は、"数値配列" という、2 次元以上の実数または複素数のデータの順序付き集合です。信号処理の基本データ オブジェクト (1 次元の信号またはシーケンス、マルチチャネルの信号、および 2 次元の信号) は、本来すべて、配列表現に適しています。

ベクトル表現

MATLAB では通常の 1 次元のサンプリングされたデータ信号、つまりシーケンスを、"ベクトル" として表します。ベクトルは 1 行 n 列または n 行 1 列の配列で、n はシーケンスのサンプル数を表します。シーケンスの投入方法の 1 つは、コマンド プロンプトで要素のリストとしての入力です。ステートメント

x = [4 3 7 -9 1];

は、単純な 5 要素の実数シーケンスを行ベクトルの形で作成します。転置によってこのシーケンスを列ベクトルにします。

x = x';
x =
    4
    3
    7
   -9
    1

単一チャネルの信号に列方向表記が望ましいのは、これが必然的にマルチチャネルの事例にも適用されるためです。マルチチャネルのデータでは、行列の各列が 1 つのチャネルを表します。このような行列の各行はサンプル点に対応します。x2x および x/π から構成される 3 チャネルの信号は以下のようになります。

y = [x 2*x x/pi]
y =
    4.0000    8.0000    1.2732
    3.0000    6.0000    0.9549
    7.0000   14.0000    2.2282
   -9.0000  -18.0000   -2.8648
    1.0000    2.0000    0.3183

シーケンスに複素数値の要素がある場合、転置演算子ではシーケンス要素の複素共役が使用されます。複素共役を使用せずに複素数値の行ベクトルを列ベクトルに転置するには、.' を使用して非共役転置を行います。

x = [1-i 3+i 2+3*i 4-2*i]; % 1-by-4 vector
x = x.';                   % 4-by-1 vector