Main Content

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

comm.BlockDeinterleaver

(削除予定) 置換ベクトルを使用して入力シンボルをデインターリーブ

互換性

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

説明

BlockDeinterleaver オブジェクトは、可変サイズの信号を処理でき、入力ベクトルの要素を反復または省略なしで再配列します。入力は実数または複素数を受け入れます。

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

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

  2. step を呼び出して、comm.BlockDeinterleaver のプロパティに従って、入力ベクトルの要素を再配置します。step の動作は、ツールボックスの各オブジェクト固有のものです。

メモ

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

構築

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

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

プロパティ

PermutationVectorSource

置換ベクトルのソース

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

PermutationVector

置換ベクトル

入力シンボルの置換に使用されるマッピングを整数の列ベクトルとして指定します。既定の設定は [5;4;3;2;1] です。マッピングは、step メソッドへの入力の長さ N に等しい要素数から成る整数の列ベクトルです。各要素は、繰り返し値のない 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 Deinterleaver ブロックのリファレンス ページで説明されているアルゴリズム、入力、および出力を実装しています。オブジェクト プロパティはブロック パラメーターに対応します。

互換性の考慮事項

すべて展開する

R2019b 以降は非推奨

拡張機能

参考

関数

R2012a で導入