Main Content

Hadamard Code Generator

コードの直交集合からのアダマール符号の生成

ライブラリ

Comm Sources の Sequence Generators サブライブラリ

  • Hadamard Code Generator block

説明

Hadamard Code Generator ブロックは、その行がコードの直交集合を構成するアダマール行列からアダマール符号を生成します。直交符号は、受信側と送信側とを完全に同期させる通信システムでの拡散に利用可能です。これらのシステムでは、コードが完全に無相関であるため、逆拡散を行うのが理想的となります。

アダマール符号を構成するのは、アダマール行列の各行です。アダマール行列は、エントリを +1 か -1 のみとする正方行列で、行と列は相互に直交しています。N が 2 の非負のべき乗である場合、HN で示される N 行 N 列のアダマール行列は、次のように再帰的に定義されます。

H1=[1]H2N=[HNHNHNHN]

N 行 N 列のアダマール行列には、次の特性があります。

HNHNT = NIN

ここで、IN は N 行 N 列の単位行列です。

Hadamard Code Generator ブロックが出力するのは HN の 1 つの行です。この出力はバイポーラです。コードの長さ N は [Code length] パラメーターで指定します。[Code length] は 2 のべき乗でなければなりません。アダマール行列の行インデックスは、[0, 1, ... , N-1] の範囲にある整数を、[Code index] パラメーターの値として指定します。

パラメーター

Code length

アダマール符号の長さを指定する値で、2 のべき乗で示される正の整数です。

Code index

0 から N-1 までの整数です。ただし、N はアダマール行列の行を指定する [Code length] です。

Sample time

正のスカラーは、出力信号の各サンプル間の時間を秒単位で指定します。[Sample time]-1 に設定すると、出力信号は下流からサンプル時間を継承します。[Sample time] パラメーターと [Samples per frame] パラメーターの関係についての詳細は、サンプル タイミングを参照してください。

Samples per frame

フレームあたりのサンプル。出力データの 1 つのチャネルでフレームあたりのサンプル数を示す正の整数として指定します。[Sample time][Samples per frame] の関係の詳細については、サンプル タイミングを参照してください。

Output data type

ブロックの出力型は int8 または double として指定できます。既定の設定では、ブロックはこれを double に設定します。

シミュレーション実行方法

シミュレーション モードを選択します。

コード生成

モデルの最初の実行時に、コードをシミュレートして生成します。ブロックの構造が変更されていない場合は、以降のモデルの実行でコードは再生成されません。

シミュレーション モードが [コード生成] の場合、ブロックに対応する System object では最大 9 個の入力を受け入れます。

インタープリター型実行

コードを生成せずにモデルをシミュレートします。このオプションを使用すると起動時間が速くなりますが、その後のシミュレーションのパフォーマンスが低下する可能性があります。

単一パス チャネルにおけるマルチユーザー システムの直交拡散

このモデルは、シングルユーザー システムと 2 ユーザー システムのデータ復元を比較します。送信データは、異なる直交符号によって個別に拡散される 2 つのデータ ストリームで、単一パス AWGN チャネルを通過します。

このモデルは、BPSK 変調されるランダムなバイナリ データ (実数) を使用します。これは、長さ 64 の直交符号で拡散されてから、AWGN チャネルで送信されます。受信側には、逆拡散器に続いて BPSK 復調器があります。

このモデルは、同じ送信データを使用して、一様に構成された AWGN チャネルでのシングルユーザーおよび 2 ユーザーの送信の復元について BER 性能を計算します。

ビット誤り率の結果は、どちらの場合でも個々のユーザーでまったく同じです。誤り率の一致は、選択された直交符号が理想的な相互相関特性をもつことによる完全な逆拡散によって生じます。

さらに実験を行うため、モデルを開きます。設定を変更し、個々のユーザーに異なるアダマール符号を使用することでパフォーマンスがどのように変化するかを確認します。

マルチパス チャネルにおけるシングルユーザー システムの直交拡散

このモデルは、マルチパス伝送環境におけるシングルユーザー システムの直交拡散をシミュレートします。これは、信号が複数のパスで受信される移動体チャネル環境と同等です。各パスの振幅と遅延は異なる場合があります。受信機は、ダイバーシティ受信を使用して独立したパスをコヒーレントに結合し、受信したマルチパス伝送からゲインを実現します。モデル化されたシステムではフェージング効果はシミュレートされず、受信機はパスの数とそれぞれの遅延を完全に認識します。

このモデルは、BPSK 変調されるランダムなバイナリ データ (実数) を使用します。これは、長さ 64 の直交符号で拡散されてから、マルチパス AWGN チャネルで送信されます。受信機は、逆拡散器、ダイバーシティ コンバイナー、および BPSK 復調器で構成されます。

選択した直交拡散符号の自己相関値が理想的でないため、個々のパスを完全に解決することができなくなっています。結果として、受信機でダイバーシティの組み合わせを使用しても BER 性能は改善されません。ユーザー データの拡散時に PN シーケンスを使用し、受信機でダイバーシティの組み合わせを使用するマルチパスの例については、マルチパス チャネルにおけるシングルユーザー システムの PN 拡散を参照してください。

さらに実験を行うため、モデルを開きます。設定を変更し、異なるパス遅延または異なるアダマール符号に対してパフォーマンスがどのように変化するかを確認します。

詳細

すべて展開する

拡張機能

バージョン履歴

R2006a より前に導入

すべて展開する

R2020a での動作変更