Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Descrambler

入力信号のデスクランブル

  • Descrambler block

ライブラリ:
Communications Toolbox / Sequence Operations

説明

Descrambler ブロックは、乗法デスクランブルを入力データに適用します。これは、送信機で使用される Scrambler ブロックの逆演算を実行します。

以下の図は、乗法デスクランブラーの演算を示しています。加算器と減算器は剰余 N の演算を行います。ここで N は Calculation base パラメーターで指定される値です。

タイム ステップごとに、入力により、レジスタの内容が順にシフトします。Scramble polynomial パラメーターを使用して、デスクランブラー内の各スイッチのオン/オフ状態を指定します。Descrambler ブロックで Scrambler ブロックの操作を逆に行うには、両方のブロックで同じパラメーター設定を使用します。Scrambler ブロックと Descrambler ブロックの間に信号遅延がない場合は、2 つのブロック間の [Initial states] が同じでなければなりません。

反復可能な初期デスクランブラーの条件を実現するため、以下の入力端子のいずれかを使用できます。

このブロックは、シミュレーション中に長さが変化する入力シーケンスを受け入れることができます。長さが変わるシーケンスの詳細については、可変サイズの信号の基礎 (Simulink)を参照してください。

メモ

入力データに加法デスクランブルを適用するには、PN Sequence Generator ブロックと、XOR 論理演算子として構成された Logical Operator (Simulink) ブロックを使用できます。例については、Additive Scrambling of Input Data in Simulinkを参照してください。

すべて展開する

slexScramblerDescrambler モデルは、スクランブラーとデスクランブラー ブロック ペアの使用方法を示しています。

ScramblerDescramblerのブロック ペアは、ブロック パラメーターを、InitFcn コールバックを使用して割り当てられる変数に設定することで、同じ値に初期化されます。初期値を表示または変更するには、[File] > [Model Properties] > [Callbacks] > [InitFcn] を選択します。モデルを実行すると、スクランブラーに対する入力のゼロの比率、スクランブラーからの出力、およびデスクランブラーからの出力が表示されます。バイナリ信号の場合、スクランブラーはゼロまたは 1 を等しい確率で出力します。完全なデータ復元の場合、ビット エラー レートはゼロになります。

端子

入力

すべて展開する

入力信号。NS 行 1 列のベクトルとして指定します。NS は、入力信号中のサンプルの数を示します。入力値は、0 から Calculation base1 の整数でなければなりません。

データ型: double | Boolean | int8 | int16 | int32 | uint8 | uint16 | uint32

スクランブラーをリセットします。スカラーとして指定します。非ゼロの入力が端子にかけられたときにスクランブラーがリセットされます。

依存関係

この端子を有効にするには、Initial states source[Dialog Parameter] に設定し、Reset on nonzero input via port を選択します。

シミュレーションが開始するときのデスクランブラーのレジスタの初期状態。非負の整数ベクトルで指定します。[ISt] の長さは、Scramble polynomial パラメーターの次数と同じでなければなりません。ベクトル要素の値は、0 から Calculation base1 の整数でなければなりません。

依存関係

この端子を有効にするには、Initial states source[Input port] に設定します。

出力

すべて展開する

デスクランブルしたデータを出力します。NS 行 1 列のベクトルとして返されます。NS は、入力信号中のサンプルの数と等しくなります。

データ型: double

パラメーター

すべて展開する

ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。

剰余演算のデスクランブラーで使用される計算ベース。非負の整数で指定します。このブロックの入力と出力は、0 から [Calculation base]1 の整数です。

デスクランブラー内の接続を定義する多項式。文字ベクトル、整数ベクトル、またはバイナリ ベクトルとして指定します。[Scramble polynomial] パラメーターは、デスクランブラーの各スイッチがオンまたはオフであるかを定義します。多項式を以下のように指定します。

  • '1 + x^-6 + x^-8' などの文字ベクトル。この方法での多項式指定の詳細については、Communications Toolbox での多項式の表現を参照してください。

  • [0 -6 -8] などの整数ベクトル。x-1 の降べきの順でデスクランブラーの係数をリストします。ここで、p(x-1) = 1 + p1x-1 + p2x-2 + ... のようになります。

  • [1 0 0 0 0 0 1 0 1] などのバイナリ ベクトル。1 の係数で多項式に現れる x のべき乗をリストします。この場合は、デスクランブル多項式の次数は、バイナリ ベクトルの長さよりも 1 つ少なくなります。

例: '1 + x^-6 + x^-8'[0 -6 -8]、および [1 0 0 0 0 0 1 0 1] は、すべて以下の多項式を表します。

p(x-1) = 1 + x-6 + x-8

  • Dialog ParameterInitial states パラメーターを使用してデスクランブラーの初期状態を指定します。

  • Input portISt 端子を使用してデスクランブラーの初期状態を指定します。

シミュレーションが開始するときのデスクランブラーのレジスタの初期状態。非負の整数ベクトルで指定します。[Initial states] の長さは、Scramble polynomial パラメーターの次数と同じでなければなりません。ベクトル要素の値は、0 から Calculation base1 の整数でなければなりません。

依存関係

このパラメーターは、Initial states source[Dialog Parameter] に設定されているときに使用可能です。

入力端子 Rst を使用して Descrambler ブロックをリセットするには、このパラメーターを選択します。

依存関係

このパラメーターは、Initial states source[Dialog Parameter] に設定されているときに使用可能です。

ブロックの特性

データ型

Boolean | double | integer

多次元信号

なし

可変サイズの信号

なし

拡張機能

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

バージョン履歴

R2006a より前に導入