Main Content

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

comm.MultiplexedDeinterleaver

遅延指定のあるシフト レジスタを使って入力シンボルをデインターリーブする

説明

MultiplexedDeinterleaver オブジェクトは、General Multiplexed Interleaver オブジェクトによりインターリーブされたシーケンスを元の順序に戻します。

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

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

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

メモ

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

構築

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

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

プロパティ

Delay

インターリーバー遅延

シフト レジスタの長さを整数の列ベクトルで指定します。既定の設定は [2;0;1;3;10] です。

InitialConditions

シフト レジスタの初期条件

各シフト レジスタの初期値を、数値のスカラー値または列ベクトルで指定します。既定の設定は 0 です。このプロパティを列ベクトルに設定する場合、ベクトルの長さは Delay プロパティの値に等しくなければなりません。このベクトルには初期条件が含まれ、i 番目の初期条件が i 番目のシフト レジスタに格納されます。

メソッド

step指定した遅れをもつ一連のシフトレジスタを使って入力シンボルをデインターリーブする
すべての System object に共通
release

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

reset

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

すべて折りたたむ

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

interleaver = comm.MultiplexedInterleaver('Delay',[1; 0; 2; 1]);
deinterleaver = comm.MultiplexedDeinterleaver('Delay',[1; 0; 2; 1]);

ランダム データ シーケンスを生成します。データ シーケンスをインターリーバーとデインターリーバーを介して渡します。

[dataIn,dataOut] = deal([]);            % Initialize data arrays

for k = 1:50
    data = randi([0 7],20,1);           % Generate data sequence
    intData = interleaver(data);        % Interleave sequence
    deIntData = deinterleaver(intData); % Deinterleave sequence
    
    dataIn = cat(1,dataIn,data);        % Save original data
    dataOut = cat(1,dataOut,deIntData); % Save deinterleaved data
end

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

intlvrDelay = finddelay(dataIn,dataOut)
intlvrDelay = 8

この遅延を考慮して、元のシーケンスとデインターリーブしたシーケンスが同一であることを確認します。

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

Copyright 2012 The MathWorks, Inc.

アルゴリズム

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

拡張機能

R2012a で導入