Main Content

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

comm.HelicalDeinterleaver

ヘリカル配列を使用したシンボルの順序を復元する

説明

HelicalDeinterleaver オブジェクトは、入力信号のシンボルを配列中に 1 行ずつ配置し、その配列かららせん状に選択したグループを出力端子から送信することで、入力信号内のシンボルを並べ替えます。

入力シンボルをらせん状にデインターリーブするには、以下の手順に従います。

  1. らせん状デインターリーバー オブジェクトを定義および設定します。構築を参照してください。

  2. step を呼び出して、comm.HelicalDeinterleaver のプロパティに従い、入力シンボルをデインターリーブします。step の動作は、ツールボックスの各オブジェクト固有のものです。

メモ

R2016b 以降では、step メソッドを使用して、System object™ によって定義された演算を実行する代わりに、引数を関数であるかのように使ってオブジェクトを呼び出すことができます。たとえば、y = step(obj,x)y = obj(x) は同等の演算を実行します。

構築

H = comm.HelicalDeinterleaver は、ヘリカル デインターリーバー System object H を作成します。このオブジェクトは、ヘリカル インターリーバー System object を使用してインターリーブされたシーケンスの元の順序を復元します。

H = comm.HelicalDeinterleaver(Name,Value) は、指定された各プロパティを指定値に設定して、ヘリカル デインターリーバー オブジェクト H を作成します。(Name1,Value1,...,NameN,ValueN) のように、追加の名前と値のペアの引数を任意の順番で指定できます。

プロパティ

NumColumns

Number of columns in helical array

ヘリカル配列の列数を正の整数スカラー値で指定します。既定の設定は 6 です。

GroupSize

入力シンボルの各グループのサイズ

入力シンボルの各グループのサイズを、正の整数スカラー値で指定します。既定の設定は 4 です。

StepSize

Helical array step size

ヘリカル配列の該当列の、連続して入力されるグループ間を分離する行の数を指定します。このプロパティは正の整数スカラー値でなければなりません。既定の設定は 1 です。

InitialConditions

ヘリカル配列の初期条件

ヘリカル配列に最初に格納される値を、数値のスカラー値で指定します。既定の設定は 0 です。

メソッド

stepヘリカル配列を使用したシンボルの順序を復元
すべての System object に共通
release

System object のプロパティ値の変更の許可

reset

System object の内部状態をリセットします。

すべて折りたたむ

ヘリカル インターリーバーおよびデインターリーバー オブジェクトを作成します。

interleaver = comm.HelicalInterleaver('GroupSize',2,'NumColumns',3, ...
    'InitialConditions',-1);
deinterleaver = comm.HelicalDeinterleaver('GroupSize',2,'NumColumns',3, ...
    'InitialConditions',-1);

ランダム データを生成します。データをインターリーブし、次にデインターリーブします。

[dataIn,dataOut] = deal([]);

for k = 1:10
    data = randi(7,6,1);
    intData = interleaver(data);
    deIntData = deinterleaver(intData);
    
    dataIn = cat(1,dataIn,data);
    dataOut = cat(1,dataOut,deIntData);
end

インターリーバーとデインターリーバーのペアによる遅延を求めます。

intlvDelay = finddelay(dataIn,dataOut)
intlvDelay = 6

インターリーブによる遅延を考慮し、元のデータとデインターリーブされたデータが同一であることを確認します。

isequal(dataIn(1:end-intlvDelay),dataOut(1+intlvDelay:end))
ans = logical
   1

アルゴリズム

このオブジェクトは、Helical Deinterleaver ブロックのリファレンス ページで説明されているアルゴリズム、入力、および出力を実装しています。オブジェクト プロパティはブロック パラメーターに対応します。

拡張機能

R2012a で導入