このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Integer-Input RS Encoder HDL Optimized
リード・ソロモン (RS) 符号化器を使用したデータの符号化
ライブラリ:
Communications Toolbox HDL Support /
Error Detection and Correction /
Block
説明
Integer-Input RS Encoder HDL Optimized ブロックは RS 符号化器を使用してデータを符号化します。RS 符号化は他の巡回冗長コードと同じ規格に従っています。このブロックを使用して、通信システムの前方誤り訂正 (FEC) コードをモデル化します。このブロックは、HDL コード生成とハードウェア展開に適したアーキテクチャを提供します。
RS 符号化器の詳細については、Integer-Input RS Encoder ブロックを参照してください。RS 符号のデータ表現の詳細については、整数形式 (リード・ソロモンのみ)を参照してください。
例
HDL 最適化 RS 符号化器/復号化器ライブラリ ブロックの使用
この例では、HDL に最適化された RS (リード・ソロモン) 符号化器および復号化器の各ライブラリ ブロックを使用して IEEE® 802.16 規格 [1] 対応の符号化器および復号化器を実装する方法を示します。
端子
入力
dataIn — 入力データ
スカラー
入力データ。1 つのシンボルを表すスカラーとして指定します。2 進小数点スケーリングの場合、入力データ型は整数または fixdt
でなければなりません。各シンボルの語長は、ceil
(log2([Codeword length]) + 1 と等しくなければなりません。double
データ型は、シミュレーションでは許可されますが、HDL コード生成では許可されません。
データ型: double
| int8
| int16
| int32
| int64
| fixed point
startIn — 入力フレーム インジケーターの開始
スカラー
入力フレーム インジケーターの開始。boolean スカラーとして指定します。
データ型: Boolean
endIn — 入力フレーム インジケーターの終了
スカラー
入力フレーム インジケーターの終了。boolean スカラーとして指定します。
データ型: Boolean
validIn — 有効な入力データ インジケーター
スカラー
有効な入力データ インジケーター。boolean スカラーとして指定します。
これは、dataIn 端子のデータが有効であるかどうかを示す制御信号です。
データ型: Boolean
出力
dataOut — 出力データ
スカラー
出力データ。スカラーとして返されます。この出力データ幅は入力データ幅と同じです。
データ型: double
| int8
| int16
| int32
| int64
| fixed point
startOut — 出力フレーム インジケーターの開始
スカラー
出力フレーム インジケーターの開始。boolean スカラーとして返されます。
データ型: Boolean
endOut — 出力フレーム インジケーターの終了
スカラー
出力フレーム インジケーターの終了。boolean スカラーとして返されます。
データ型: Boolean
validOut — 有効な出力データ インジケーター
スカラー
有効な出力データ インジケーター。boolean スカラーとして返されます。
これは、dataOut 端子のデータが有効であるかどうかを示す制御信号です。
データ型: Boolean
パラメーター
Codeword length — コードワードの長さ
7
(既定値) | 7 ~ 65,535 の範囲
コードワード長を指定します。
コードワード長 N
は 2M – 1 と等しい整数でなければなりません。ここで、M は 3 ~ 16 の範囲の整数です。RS 符号のデータ表現の詳細については、整数形式 (リード・ソロモンのみ)を参照してください。
Message length — メッセージの長さ
3
(既定値) | 正の整数
メッセージの長さを指定します。
RS 符号のデータ表現の詳細については、整数形式 (リード・ソロモンのみ)を参照してください。
各入力フレーム、すなわち、[startIn] と [endIn] 端子間の有効データ サンプルの数には、N– K シンボル数より多く、かつ K 以下のシンボル数が含まれていなければなりません。入力データ サンプルの数が K 未満の場合は常に、短縮符号であることが推測されます。
Source of primitive polynomial — 原始多項式ソース
自動
(既定値) | Property
原始多項式のソースを指定します。
[Auto]
を選択して、[Codeword length] パラメーター値に基づいて原始多項式を指定します。原始多項式の次数は、M =ceil
(log2([コードワード長]) として計算されます。[Property]
を選択し、[Primitive polynomial] パラメーターを使用して原始多項式を指定します。
Primitive polynomial — 原始多項式プロバイダー
[ 1 0 1 1 ]
(既定値) | バイナリ行ベクトル
原始多項式をべき乗の降順に表示するバイナリ行ベクトルを指定します。
原始多項式を指定する方法の詳細については、原始多項式と元の表現を参照してください。
依存関係
このパラメーターを有効にするには、[Source of primitive polynomial] パラメーターを [Property]
に設定します。
Source of puncture pattern — パンクチャ パターン ソース
None
(既定値) | Property
[Property]
を選択して [Puncture pattern vector] パラメーターを有効にします。
Puncture pattern vector — パンクチャ ベクトル
[ones(2,1); zeros(2,1)]
(既定値) | バイナリ列ベクトル
長さ N– K の列ベクトルを指定します。パンクチャ ベクトルでは、1
の値はデータ シンボルが変更されることなく通過することを表します。値 0
は、データ シンボルがデータ ストリームからパンクチャ、つまり削除されることを表します。
依存関係
このパラメーターを有効にするには、[Source of puncture pattern] パラメーターを [Property]
に設定します。
Source of B, the starting power for roots of the primitive polynomial — 原始多項式の根の開始累乗
自動
(既定値) | Property
原始多項式の根の開始累乗のソースを指定します。
[Property]
を選択して [B value] パラメーターを有効にします。[Auto]
を選択して、[B value] パラメーターの既定値である1
を使用します。
B value — 根の開始指数
1
(既定値) | 正の整数
根の開始指数。
依存関係
このパラメーターを有効にするには、[Source of B, the starting power for roots of the primitive polynomial] パラメーターを [Property]
に設定します。
アルゴリズム
次の図は、[Source of puncture pattern] パラメーターが [なし]
に設定されたときの、既定の構成をもつ Integer-Input RS Encoder HDL Optimized ブロックのサンプル出力を示しています。
次の図は、[Source of puncture pattern] パラメーターが [プロパティ]
に設定されたときの、既定の構成をもつ Integer-Input RS Encoder HDL Optimized ブロックのサンプル出力を示しています。
検討事項
各入力フレームに含まれるシンボルの数は、[メッセージ長] 以下でなければなりません。短縮符号は、[startIn] と [endIn] の間の有効なデータ サンプルの数が [メッセージ長] 未満の場合に推定されます。
連続した 2 つの入力フレームから正しい出力を受け取るには、フレーム間のギャップがブロック レイテンシとパリティ長の和以上でなければなりません。ここで、パリティ長は、([コードワード長] – [メッセージ長] – パンクチャされたシンボルの数) と等しくなります。
このブロックでは、生成多項式を明示的に指定することはできません。これは、根の開始指数の [コードワード長]、[メッセージ長]、および [B value] のパラメーター値に基づいて生成多項式を定義します。
パフォーマンス
合成された HDL コードのパフォーマンスは、ターゲットと合成オプションによって異なります。これは、入力データ型によっても異なります。
次の表は、入力のデータ型を uint8
とし、[符号長] パラメーターを 255
として指定し、[メッセージ長] パラメーターを 223
として指定したときの、リソースおよびパフォーマンス データ合成結果を示しています。生成される HDL のターゲットは、Xilinx® Zynq®- 7000 ZC706 評価ボードです。この設計は、363.75 MHz のクロック周波数を実現します。
リソース | 使用数 |
---|---|
スライス LUT | 416 |
スライス レジスタ | 354 |
DSP | 0 |
ブロック RAM | 10 |
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
使用上の注意および制限:
量産コードには推奨されません。
HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための VHDL、Verilog および SystemVerilog のコードを生成します。
HDL Coder™ は、HDL の実装および合成ロジックに影響を与える、追加の構成オプションを提供します。
このブロックは 1 つの既定の HDL アーキテクチャをもっています。
ConstrainedOutputPipeline | 設計内で既存の遅延を移動することによって出力に配置するレジスタの数。分散型パイプラインは、これらのレジスタを再分散しません。既定の設定は |
InputPipeline | 生成コードに挿入する入力パイプライン ステージの数。分散型パイプラインと制約付き出力パイプラインは、これらのレジスタを移動できます。既定の設定は |
OutputPipeline | 生成コードに挿入する出力パイプライン ステージの数。分散型パイプラインと制約付き出力パイプラインは、これらのレジスタを移動できます。既定の設定は |
Resettable Synchronous Subsystem (HDL Coder) 内で、このブロックの HDL を生成することはできません。
バージョン履歴
R2012b で導入R2023b: リソースおよびパフォーマンス データ合成結果の追加
Integer-Input RS Encoder HDL Optimized ブロックのリソースおよびパフォーマンス データ合成結果に関する新しいセクションを追加しました。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)