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) 符号化器および復号化器の Simulink® ブロックを使用して、IEEE® 802.16 規格に対応する符号化器と復号化器を実装する。
端子
入力
入力データ。1 つのシンボルを表すスカラーとして指定します。2 進小数点スケーリングの場合、入力データ型は符号なし整数または符号なし固定小数点でなければなりません。各シンボルの語長は、ceil(log2([Codeword length]) + 1 と等しくなければなりません。double データ型は、シミュレーションでは許可されますが、HDL コード生成では許可されません。
データ型: double | uint8 | uint16 | uint32 | uint64 | fixed point
入力フレーム インジケーターの開始。boolean スカラーとして指定します。
データ型: Boolean
入力フレーム インジケーターの終了。boolean スカラーとして指定します。
データ型: Boolean
有効な入力データ インジケーター。boolean スカラーとして指定します。
これは、dataIn 端子のデータが有効であるかどうかを示す制御信号です。
データ型: Boolean
出力
出力データ。スカラーとして返されます。この出力データ幅は入力データ幅と同じです。
データ型: double | uint8 | uint16 | uint32 | uint64 | fixed point
出力フレーム インジケーターの開始。boolean スカラーとして返されます。
データ型: Boolean
出力フレーム インジケーターの終了。boolean スカラーとして返されます。
データ型: Boolean
有効な出力データ インジケーター。boolean スカラーとして返されます。
これは、dataOut 端子のデータが有効であるかどうかを示す制御信号です。
データ型: Boolean
パラメーター
コードワード長を指定します。
コードワード長 N は 2M – 1 と等しい整数でなければなりません。ここで、M は 3 ~ 16 の範囲の整数です。RS 符号のデータ表現の詳細については、整数形式 (リード・ソロモンのみ)を参照してください。
メッセージの長さを指定します。
RS 符号のデータ表現の詳細については、整数形式 (リード・ソロモンのみ)を参照してください。
各入力フレーム、すなわち、[startIn] と [endIn] 端子間の有効データ サンプルの数には、N– K シンボル数より多く、かつ K 以下のシンボル数が含まれていなければなりません。入力データ サンプルの数が K 未満の場合は常に、短縮符号であることが推測されます。
原始多項式のソースを指定します。
[Auto]を選択して、[Codeword length] パラメーター値に基づいて原始多項式を指定します。原始多項式の次数は、M =ceil(log2([コードワード長]) として計算されます。[Property]を選択し、[Primitive polynomial] パラメーターを使用して原始多項式を指定します。
原始多項式をべき乗の降順に表示するバイナリ行ベクトルを指定します。
原始多項式を指定する方法の詳細については、原始多項式と元の表現を参照してください。
依存関係
このパラメーターを有効にするには、[Source of primitive polynomial] パラメーターを [Property] に設定します。
[Property] を選択して [Puncture pattern vector] パラメーターを有効にします。
長さ N– K の列ベクトルを指定します。パンクチャ ベクトルでは、1 の値はデータ シンボルが変更されることなく通過することを表します。値 0 は、データ シンボルがデータ ストリームからパンクチャ、つまり削除されることを表します。
依存関係
このパラメーターを有効にするには、[Source of puncture pattern] パラメーターを [Property] に設定します。
原始多項式の根の開始累乗のソースを指定します。
[Property]を選択して [B value] パラメーターを有効にします。[Auto]を選択して、[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 のターゲットは、AMD® Zynq®- 7000 ZC706 評価ボードです。この設計は、363.75 MHz のクロック周波数を実現します。
| リソース | 使用数 |
|---|---|
| スライス LUT | 416 |
| スライス レジスタ | 354 |
| DSP | 0 |
| ブロック RAM | 10 |
拡張機能
使用上の注意および制限:
量産コードには推奨されません。
HDL Coder™ は、HDL の実装および合成ロジックに影響を与える、追加の構成オプションを提供します。
このブロックは 1 つの既定の HDL アーキテクチャをもっています。
| ConstrainedOutputPipeline | 設計内で既存の遅延を移動することによって出力に配置するレジスタの数。分散型パイプラインは、これらのレジスタを再分散しません。既定の設定は |
| InputPipeline | 生成コードに挿入する入力パイプライン ステージの数。分散型パイプラインと制約付き出力パイプラインは、これらのレジスタを移動できます。既定の設定は |
| OutputPipeline | 生成コードに挿入する出力パイプライン ステージの数。分散型パイプラインと制約付き出力パイプラインは、これらのレジスタを移動できます。既定の設定は |
Resettable Synchronous Subsystem (HDL Coder) 内で、このブロックの HDL を生成することはできません。
バージョン履歴
R2012b で導入Integer-Input RS Encoder HDL Optimized ブロックのリソースおよびパフォーマンス データ合成結果に関する新しいセクションを追加しました。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)
