【问题标题】:Export BER from LDPC Simulink model to BER Tool将 BER 从 LDPC Simulink 模型导出到 BER 工具
【发布时间】:2014-02-08 13:57:50
【问题描述】:

我想将使用 LDPC 编码器和解码器的简单系统中的 BER 数据导出到 Communication Toolbox 的 BER 工具中并绘制 BER 曲线。

我已经使用 LDPC 修改了示例系统 commdvbs2.mdl,它位于帮助菜单中的 Demos > Simulink Demos > Application-Specific Examples > DVB-S.2 Link,包括 LDPC Coding。

为了简化它,我删除了通用块交织器和通用块去交织器。我还删除了 BCH 编码器和 BCH 解码器。为了弥补 BCH 编码器的不足,我将 BBFRAME 缓冲块中的零填充更改为具有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 错误率计算器的输出连接到该块。我将变量命名为ber_out,并将限制数据点设置为最后一个1

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

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

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

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

我做错了什么?

(MATLAB 版本为 2012a。)

【问题讨论】:

  • 请验证 BER 变量名 "ber_out" 在 Bertool 和仿真模型中是否相同。

标签: matlab simulink


【解决方案1】:

双击接收器“到工作区”,将保存格式更改为数组。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-08
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多