0

LDPC エンコーダーとデコーダーを使用する単純なシステムから BER データを Communication Toolbox の BER ツールにエクスポートし、BER 曲線をプロットしたいと考えています。

LDPC commdvbs2.mdl を使用してサンプル システムを変更しました。これは [ヘルプ] メニューの [デモ] > [Simulink デモ] > [アプリケーション固有の例] > [LDPC コーディングを含む DVB-S.2 リンク] で利用できます。

簡単にするために、General Block Interleaver と General Block Deinterleaver を削除しました。BCH Encoder と BCH Decoder も削除しました。BCH エンコーダーの不足を補うために、BBFRAME バッファー ブロック内のゼロ パッドを変更して、列サイズをdvb.BCHCodewordLengthではなく にしdvb.BCHMessageLengthました。

AWGN ブロックを次のパラメーターを持つように変更しました。 モード: Signal to noise ratio (Eb/No) Eb/No (db):シンボルdvb.EsNodB / log2(dvb.BitsPerSymbol) あたりのビット数:dvb.BitsPerSymbol シンボル周期 (s):dvb.BitPeriod * dvb.BitsPerSymbol

これまでのところ、これはすべて機能します。モデル パラメーターを変更して Es/No が 1 dB になるようにしても、BER は 0、PER は 0 のままです。

しかし今、モデルから BER を取得して BER ツールにプロットする際に問題が発生しています。「To Workspace」ブロックを追加し、BER Error Rate Calculator の出力をそれに接続しました。変数に名前を付け、ber_out制限データ ポイントを last に設定しました1

次に、AWGN ブロックの Eb/No を次のように変更します。EbNoこれは、BER ツールが BER をプロットするためにステップ スルーするベクトルです。(これらの変更を新しい名前でモデルに保存しました。)

BER ツールで、[モンテカルロ] タブに移動します。Eb/No の範囲を次のように設定しました0:0.2:2。BER 変数名を次のように設定しますber_out

シミュレーションを実行すると、何もプロットされません。診断ツールがポップアップし、次の 2 つのメッセージが表示されます。

ソース: commdvbs2_noBCH_noInterleave_EbNo_BERTool。block_diagram 'commdvbs2_noBCH_noInterleave_EbNo_BERTool' の 'StopFcn' コールバックを評価中にエラーが発生しました。出典:不明。ベクトルは同じ長さでなければなりません。

私は何を間違っていますか?

(MATLAB のバージョンは 2012a です。)

4

1 に答える 1

0

シンクの「ワークスペースへ」をダブルクリックすると、保存形式が配列に変更されます。

于 2014-02-08T05:57:50.123 に答える