我想导出BER数据从一个简单的系统使用LDPC编码器和解码器到通信工具箱的误码率工具,并绘制一个误码率曲线。
我已经使用LDPC,commdvbs2.mdl修改了示例系统,它可以在Demos > Simulink Demos >Application专用示例> DVB-S.2 Link的帮助菜单中找到,包括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
到目前为止,这一切都是可行的。如果我将模型参数更改为Es/No为1 dB,则仍然可以得到0误码率和0%。
但是现在我很难将误码率从模型中取出,并在BER工具中绘制,我添加了一个“Tool.I”块,并将误码率计算器的输出连接到该块中。我将变量命名为ber_out,并将限制数据点设置为最后一个1。
然后将AWGN块的Eb/No修改为:EbNo,这是BER工具所遍历的向量来绘制误码率。(将这些更改以新名称保存到模型中。)
在BER工具中,我转到选项卡。我将Eb/No范围设置为:0:0.2:2。将BER变量名设置为:ber_out。
在我运行模拟之后,我得到了一幅毫无意义的图。诊断工具会弹出以下两条消息:
资料来源: commdvbs2_noBCH_noInterleave_EbNo_BERTool.计算'StopFcn‘回调block_diagram’commdvbs2_2_noBCH_noInterleave_EbNo_BERTool‘时出错。资料来源:未知。向量必须是相同的长度。
我做错了什么?
(MATLAB版本为2012 a。)
发布于 2014-02-08 05:57:50
双击接收器“到工作区”,将保存格式更改为Array。
https://stackoverflow.com/questions/18774395
复制相似问题