Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

comm.BlockInterleaver

(削除予定) 置換ベクトルを使用して入力シンボルを置換

互換性

comm.BlockInterleaver は将来のリリースで削除される予定です。代わりに intrlv を使用してください。詳細については、互換性の考慮事項を参照してください。

説明

BlockInterleaver オブジェクトは、入力信号のシンボルを置換します。内部的には、このブロックはそれぞれ独自の遅延をもつ一連のシフト レジスタを使用します。このオブジェクトは可変サイズ信号を処理します。

入力信号をインターリーブするには、以下の手順に従います。

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

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

メモ

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

構築

H = comm.BlockInterleaver は、ブロック インターリーバー System object H を作成します。このオブジェクトは置換ベクトルに基づき、入力信号内のシンボルを置換します。

H = comm.BlockInterleaver(Name,Value) は、指定のプロパティが指定の値に設定されたオブジェクト H を作成します。

プロパティ

PermutationVectorSource

置換ベクトルのソース

置換ベクトルのソースを、Property または Input port として指定します。既定値は Property です。

PermutationVector

置換ベクトル

入力シンボルの置換に使用するマッピングを整数の列ベクトルとして指定します。既定の設定は [5;4;3;2;1] です。置換ベクトルのプロパティの要素数は、入力ベクトル長と等しくなければなりません。PermutationVector プロパティは、出力ベクトルを形成する入力要素のインデックスを順番に示します。この順序は Output(k)=Input(PermutationVector(k)) の関係式によって説明されます。各整数 k は、1 から N の間になければなりません。ここで、N は置換ベクトルの要素数です。PermutationVector プロパティの要素は、反復のない 1 から N までの整数でなければなりません。PermutationVector プロパティは、PermutationVectorSource プロパティが Property に設定されている場合のみ使用可能です。

メソッド

step(削除予定) 置換ベクトルを使用した入力シンボルの並べ替え
すべての System object に共通
release

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

すべて折りたたむ

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

interleaver = comm.BlockInterleaver([3 4 1 2]');
Warning: COMM.BLOCKINTERLEAVER will be removed in a future release. Use INTRLV instead. See <a href="matlab:helpview(fullfile(docroot, 'toolbox', 'comm', 'comm.map'), 'REMOVE_BlockInterleaverSO')">R2019b Communications Toolbox Release Notes</a> for more information.
deinterleaver = comm.BlockDeinterleaver([3 4 1 2]');
Warning: COMM.BLOCKDEINTERLEAVER will be removed in a future release. Use DEINTRLV instead. See <a href="matlab:helpview(fullfile(docroot, 'toolbox', 'comm', 'comm.map'), 'REMOVE_BlockDeinterleaverSO')">R2019b Communications Toolbox Release Notes</a> for more information.

ランダム データをインターリーバーとデインターリーバーを介して渡します。

data = randi(7,4,1);
intData = interleaver(data);
deIntData = deinterleaver(intData);

元のシーケンス、インターリーブ シーケンス、復元されたシーケンスを表示します。

[data, intData, deIntData]
ans = 4×3

     6     1     6
     7     7     7
     1     6     1
     7     7     7

元のデータとデインターリーブしたデータが同一であることを確認します。

isequal(data,deIntData)
ans = logical
   1

一意の整数のランダム ベクトルを置換ベクトルとして生成します。

permVec = randperm(7)';

permVec をインターリーバーおよびデインターリーバー オブジェクトの置換ベクトルとして指定します。

interleaver = comm.BlockInterleaver(permVec);
Warning: COMM.BLOCKINTERLEAVER will be removed in a future release. Use INTRLV instead. See <a href="matlab:helpview(fullfile(docroot, 'toolbox', 'comm', 'comm.map'), 'REMOVE_BlockInterleaverSO')">R2019b Communications Toolbox Release Notes</a> for more information.
deinterleaver = comm.BlockDeinterleaver(permVec);
Warning: COMM.BLOCKDEINTERLEAVER will be removed in a future release. Use DEINTRLV instead. See <a href="matlab:helpview(fullfile(docroot, 'toolbox', 'comm', 'comm.map'), 'REMOVE_BlockDeinterleaverSO')">R2019b Communications Toolbox Release Notes</a> for more information.

ランダム データをインターリーバーとデインターリーバーを介して渡します。

data = randi(10,7,1);
intData = interleaver(data);
deIntData = deinterleaver(intData);

元のデータとデインターリーブしたデータが同一であることを確認します。

isequal(data,deIntData)
ans = logical
   1

アルゴリズム

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

互換性の考慮事項

すべて展開する

R2019b 以降は非推奨

拡張機能

参考

関数

R2012a で導入