将LDPC Simulink模型的BER输出到BER工具

时间:2013-09-12 21:10:33

标签: matlab simulink

我想将BER数据从使用LDPC编码器和解码器的简单系统输出到通信工具箱的BER工具中并绘制BER曲线。

我使用LDPC修改了示例系统,commdvbs2.mdl,可在Demos的“帮助”菜单中找到&gt; Simulink演示&gt; <应用专用实施例> DVB-S.2链路,包括LDPC编码。

为简化起见,我删除了通用块交织器和通用块解交织器。我还删除了BCH编码器和BCH解码器。为了弥补BCH编码器的不足,我更改了BBFRAME缓冲块中的Zero Pad,使其列大小为dvb.BCHCodewordLength而不是dvb.BCHMessageLength

我更改了AWGN块以具有以下参数: 模式:Signal to noise ratio (Eb/No) Eb / No(db):dvb.EsNodB / log2(dvb.BitsPerSymbol) 每个符号的位数:dvb.BitsPerSymbol 符号周期:dvb.BitPeriod * dvb.BitsPerSymbol

到目前为止,这一切都有效。如果我将模型参数更改为具有1 dB的Es / No,我仍然会得到0 BER和0 PER。

但是现在我遇到了将BER从模型中删除并绘制在BER工具中的问题。我添加了一个“To Workspace”块并将BER Error Rate计算器的输出连接到该工具。我将变量命名为ber_out,并将限制数据点设置为最后1

然后我将AWGN块的Eb / No更改为:EbNo,这是BER工具逐步绘制BER的矢量。 (以新名称将这些更改保存到模型中。)

在BER工具中,我转到蒙特卡罗选项卡。我将Eb / No范围设置为:0:0.2:2。将BER变量名称设置为:ber_out

在我运行模拟之后,我得到了一个什么都没有的情节。诊断工具会弹出以下两条消息:

  

来源:commdvbs2_noBCH_noInterleave_EbNo_BERTool。评估错误   'stopFcn'回调block_diagram   'commdvbs2_noBCH_noInterleave_EbNo_BERTool'。来源:未知。矢量   必须是相同的长度。

我做错了什么?

(MATLAB版本是2012a。)

1 个答案:

答案 0 :(得分:0)

双击水槽'To workspace',将保存格式更改为Array。