このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Simulink でのデジタル ビデオ放送 - ケーブル (DVB-C)
このモデルでは、デジタル テレビ信号のケーブル システム通信用 ETSI (欧州電気通信標準化機構) EN 300 429 規格 [ 1 ] の一部を示します。この規格は送信機の設計について規定し、受信機の最小性能要件を設定しています。
この例の目的は以下のとおりです。
実現可能な送信機設計の主要部分をモデル化 (MPEG-2 トランスポート パケット データで 64-QAM モードで動作)
実現可能な受信機設計の主要部分をモデル化 (MPEG-2 トランスポート パケット データで 64-QAM モードで動作)
モデルがシステム パフォーマンス要件を満たすかどうかを判断するための誤り統計を生成
DVB-C (または同類の) システム設計のための主要な Communications Toolbox™ ライブラリ ブロックの使用方法を説明
使用可能な例のバージョン
この例には 2 つのバージョンがあります。
浮動小数点バージョン: commdvbc.slx
固定小数点バージョン: commdvbc_fixpt.slx
例の構造
MATLAB® ワークスペース変数パラメーターの定義
この例のモデルをはじめて読み込むと、MATLAB ワークスペース変数 prmDVBC
が作成されます。これは、モデル ファイルのブロックでパラメーターとして使用されるメンバーをもつ構造体です。また、モデルを閉じるとこのワークスペース変数がクリアされることにも注意してください。
prmDVBC = struct with fields: bitsPerByte: 8 bitsPerMTpl: 6 MPEG2DatRateBitPerS: 9600000 rawMPEG2DataPcktLen: 184 MPEG2TrnsprtPcktLen: 188 MPEG2TrnsprtFramePer: 1.5667e-04 MPEG2PcktsPerSprFrm: 8 MPEG2TrnsSuperFrame: 1504 PRBSSeqPeriodBytes: 1503 PRBSSeqPeriodBits: 12024 RSCodewordLength: 204 CableChanFrameLen: 272 CableChanFrmPeriod: 1.5667e-04 RCosineSampsPerSym: 8 CableSymbolPeriod: 7.1998e-08 RCosineFilterSpan: 16 TxRxSymbolSampDelay: 288 DeintrlvrAlignDelay: 192 QAMSymbolMapping: [44 45 41 40 52 54 62 60 46 47 43 42 53 55 63 61 … ] ConvIntlNumBranches: 12 ConvIntlCellDepth: 17
ベースバンド物理インターフェイス (シミュレート対象の MPEG-2 データ ソース)
モデルのこの部分は、[ 1 ] の節 4.1、5、および 6 に対応しています。MPEG-2 トランスポート パケットは ISO®/IEC 13818-1 [ 2 ] で定義されており、188 バイトのパケットで構成されています。
Communications Toolbox、DSP System Toolbox™ および Simulink® ライブラリ ブロックは、システムのシミュレーションと BER 性能測定の目的で MPEG-2 トランスポート パケット データ ストリームをシミュレートするのに使用されます。
送信機のベースバンド処理
Sync1 Inversion and Randomization
このサブシステムは、[ 1 ] の節 4.2 と 7.1 に対応しています。MPEG-2 Sync1
バイトが変換され、データ ストリーム (Sync バイトを除く) がスペクトルの整形のためにランダム化されます。再設定可能な PN Sequence Generator
ライブラリ ブロックは、このデータ ランダム化処理のスクランブラーの一部として使用されます。
Shortened (204,188) Reed-Solomon Encoder
このライブラリ ブロックは、[ 1 ] の節 4.3 と 7.2 に対応しています。規格に記述されているように、この処理によって 16 パリティ バイトが MPEG-2 トランスポート パケットに追加されて (204,188) コードワードが指定されます。これにより、トランスポート パケットあたり最大で 8 つの誤ったバイトを対応する受信機の Reed-Solomon Decoder
ブロックで修正できます。
畳み込みインターリーバー
このライブラリ ブロックは、[ 1 ] の節 4.4 と 7.3 に対応しています。インターリーブ処理は Forney の方法 [ 3 ] に基づいており、I = 12 の場合、Ramsey 型 III の方法 [ 4 ] と互換性があります。
Byte (8-bit) to M-Tuple (6-bit) Conversion
この処理を実行するために、MATLAB® Function
ブロックが使用されます。8 ビットのデータ バイトは、64 値 (6 ビット) の値に変換されます。このブロックは、[ 1 ] の節 4.5 と 8 に対応しています。
Differential Encoding
[ 1 ] の節 4.6 と 8 に記述されているように、Differential Encoding ユニットの実装例は MATLAB Function
ブロックを使用して示されています。この例のモデルの目的上、Differential Encoding ユニットの出力は終端に接続されます (つまり、ユニットは無視されます)。
64-QAM Constellation Mapping
Rectangular QAM Modulator Baseband
ライブラリ ブロックは、[ 1 ] の節 4.7 と 9 に記述されているように、ベースバンド 64 値 (M 組) の値を伝送用の複素数 (I と Q) 64-QAM コンスタレーション シンボル値にマッピングします。
Square Root Raised Cosine Interpolation Filter
このライブラリ ブロックは、[ 1 ] の節 4.7、9、および Annex A に記述されているように、送信用の複素数 (I と Q) コンスタレーション シンボル値のベースバンド整形を実行します。
AWGN チャネル
規格で規定されているように、システム FEC は、ビット エラー レート (BER) の範囲を 10^-4 から 10^-10 ~ 10^-11 ("疑似エラー フリー" の動作) に向上するように設計されています。AWGN Channel
ライブラリ ブロックの Signal to Noise Ratio (Eb/No)
は、およそ 10^-4 で動作する BER に対応する 16.5 dB に設定されます。
Square Root Raised Cosine Rx Decimation Filter
このライブラリ ブロックは、[ 1 ] の節 4.7、9、および Annex A に記述されているように、受信した複素数 (I と Q) コンスタレーション シンボル値の整合間引きフィルター処理を実行します。
受信機のベースバンド処理
64-QAM Constellation Demapping
Rectangular QAM Demodulator Baseband
ライブラリ ブロックは、[ 1 ] の節 4.7 と 9 に記述されているように、受信したベースバンドの複素数 (I と Q) 64-QAM コンスタレーション シンボル値を 64 値 M 組にデマッピングします。
Differential Decoding
この例のモデルの目的上、Differential Decoding の部分は省略されます。さらに、より現実的な受信機システムの実装では、受信機のモデルのこの部分よりも先に、イコライズと同期の処理が行われる傾向があります。
M-Tuple (6-bit) to Byte (8-bit) Conversion
この処理を実行するには、MATLAB Function
ブロックを使用します。これは、送信機で使用されるバイトから M 組への変換処理の逆です。64 値 (6 ビット) M 組の値は、8 ビットのデータ バイトに再パックされます。
畳み込みデインターリーバー
Convolutional Deinterleaver
ライブラリ ブロックは、送信機のサブシステムの実装で使用される Convolutional Interleaver
ライブラリ ブロックに対応しています。デインターリーブ処理は Forney の方法 [ 3 ] に基づいており、I = 12 の場合、Ramsey 型 III の方法 [ 4 ] と互換性があります。
この例のモデルを簡略化するために、単純に追加の遅延を使用して最初の sync バイトを Convolutional Deinterleaver の "0" 分岐に同期します。より現実的な受信機システムの実装では、モデルのこの部分よりも先に、さらに別の上流ストリームの同期処理が行われる傾向があります。
Shortened (204,188) Reed-Solomon Decoder
このライブラリ ブロックは、符号化されたデータ パケットに対応した R-S 復号化を実行します。
Sync1 Inversion and Energy Dispersal Removal
このサブシステムは、データのスクランブル解除を実行して受信した MPEG-2 トランスポート パケットのデータ バイトを入手します。
結果と表示
この例の性能を調べるには、以下にリストされているように、含まれている可視化ブロックを使用します。
全体的なシステムの結果と表示:
Bit rate (Mbit/s)
の表示Cable symbol rate (MBaud)
の表示64-QAM bit error rate (BER)
の表示System bit error rate (BER)
の表示さまざまな内部ビット エラー レート (BER) の表示 (
Internal Tx and Rx BER
サブシステムの下)
送信機/受信機の結果と表示:
Rx 64-QAM Constellation
散布図Tx/Rx Spectrum (2MHz BW)
スコープTotal Number of Errors Corrected
の表示
固定小数点バージョンと浮動小数点バージョンの例の相違点
この例には、浮動小数点バージョンと固定小数点バージョンの 2 つの異なるバージョンがあります。この例は似ています。具体的には、Transmitter Baseband Processing
サブシステムと Receiver Baseband Processing
サブシステムの大部分が同じであり、信号パスでは主に符号なし整数データ型を使用します。
2 つのバージョンの違いは、Byte to M-tuple Conversion
ブロック、64-QAM Constellation Mapping
ブロック、Square Root Raised Cosine Tx Interpolation Filter
ブロック、Square Root Raised Cosine Rx Decimation Filter
ブロック、64-QAM Constellation Demapping
ブロック、M-Tuple to Byte Conversion
ブロックでの信号の処理方法です。これらのブロックでは、浮動小数点バージョン (commdvbc.slx) と同じように、入出力信号が浮動小数点であった場合 (つまり、データ型が double
または single
) や単に組み込み整数 (uint8
など) であった場合、浮動小数点 (および組み込み整数) 演算が使用されます。
ただし、固定小数点バージョン (commdvbc_fixpt.slx) では、入出力信号が固定小数点のデータ型 (つまり、Simulink の sfix
または ufix
) であるため、ブロックでは固定小数点演算が使用されます。また、この例の固定小数点バージョンを実行するには Fixed-Point Designer™ のライセンスが必要であることにも注意してください。
次のシミュレーション結果には、浮動小数点バージョンと固定小数点バージョンを比較したときに選択した設定で、一致した BER 性能が示されています。
参考文献
ETSI Standard EN 300 429 V1.2.1: Digital Video Broadcasting (DVB); Framing structure, channel coding and modulation for cable systems, European Telecommunications Standards Institute, Valbonne, France, 1998.
ISO/IEC 13818-1, "Coding of moving pictures and associated audio."
Forney, G., D., Jr. "Burst-Correcting Codes for the Classic Bursty Channel." IEEE Transactions on Communications, vol. COM-19, October 1971, pp. 772-781.
Ramsey, J. L. "Realization of Optimum Interleavers."IEEE Transactions on Information Theory, IT-16 (3), May 1970, pp. 338-345.