简体   繁体   English

将BER从LDPC Simulink模型导出到BER工具

[英]Export BER from LDPC Simulink model to BER Tool

I would like to export BER data from a simple system using LDPC encoder and decoder into the Communication Toolbox's BER Tool and plot a BER curve. 我想将使用LDPC编码器和解码器的简单系统中的BER数据导出到Communication Toolbox的BER Tool中,并绘制BER曲线。

I have modified the example system using LDPC, commdvbs2.mdl, which is available in the Help menu at Demos > Simulink Demos > Application-Specific Examples > DVB-S.2 Link, Including LDPC Coding. 我使用LDPC commdvbs2.mdl修改了示例系统,可在“演示”>“ Simulink演示”>“特定于应用程序的示例”>“ DVB-S.2链接,包括LDPC编码”的“帮助”菜单中找到该系统。

To simplify it, I removed the General Block Interleaver and General Block Deinterleaver. 为简化起见,我删除了通用块交织器和通用块解交织器。 I also removed the BCH Encoder and BCH Decoder. 我还删除了BCH编码器和BCH解码器。 To compensate for the lack of the BCH Encoder, I changed the Zero Pad within the BBFRAME buffering block to have a column size of dvb.BCHCodewordLength instead of dvb.BCHMessageLength . 为了补偿缺乏的BCH编码器的,我改变了零垫BBFRAME缓冲块内有一列大小dvb.BCHCodewordLength代替dvb.BCHMessageLength

I changed the AWGN block to have the following parameters: Mode: Signal to noise ratio (Eb/No) Eb/No (db): dvb.EsNodB / log2(dvb.BitsPerSymbol) Number of bits per symbol: dvb.BitsPerSymbol Symbol period (s): dvb.BitPeriod * dvb.BitsPerSymbol 我将AWGN块更改为具有以下参数:模式: Signal to noise ratio (Eb/No) Eb / No(db): dvb.EsNodB / log2(dvb.BitsPerSymbol)每个符号的位数: dvb.BitsPerSymbol符号周期(s): dvb.BitPeriod * dvb.BitsPerSymbol

So far, this all works. 到目前为止,这一切正常。 If I change the model parameters to have an Es/No of 1 dB, I still get a 0 BER and 0 PER. 如果将模型参数更改为Es / No为1 dB,我仍然会得到0 BER和0 PER。

But now I'm having a problem getting the BER out of the model and plotted in the BER Tool.I added a "To Workspace" block and connected the output of the BER Error Rate calculator to that. 但是现在我遇到了将BER从模型中取出并在BER Tool中绘制的问题。我添加了一个“ To Workspace”块,并将BER Error Rate Calculator的输出连接到该模块。 I named the variable ber_out and set the limit data point to last 1 . 我命名了变量ber_out ,并将限制数据点设置为last 1

Then I change the Eb/No of the AWGN block to be: EbNo , which is the vector that the BER Tool steps through to plot BER. 然后,将AWGN块的Eb / No更改为: EbNo ,这是BER工具逐步绘制BER的向量。 (Saved these changes to the model under a new name.) (将这些更改以新名称保存到模型中。)

In the BER Tool, I go to the Monte Carlo tab. 在BER工具中,我转到“蒙特卡洛”选项卡。 I set the Eb/No range to be: 0:0.2:2 . 我将Eb / No范围设置为: 0:0.2:2 Set BER variable name to be: ber_out . 将BER变量名称设置为: ber_out

After I run the simulation, I get a plot of nothing. 运行模拟后,我什么也没得到。 The Diagnostics Tool pops up with these two messages: 诊断工具会弹出并显示以下两个消息:

Source: commdvbs2_noBCH_noInterleave_EbNo_BERTool. 来源:commdvbs2_noBCH_noInterleave_EbNo_BERTool。 Error evaluating 'StopFcn' callback of block_diagram 'commdvbs2_noBCH_noInterleave_EbNo_BERTool'. 评估block_diagram'commdvbs2_noBCH_noInterleave_EbNo_BERTool'的'StopFcn'回调时出错。 Source: unknown. 资料来源:未知。 Vectors must be the same lengths. 向量的长度必须相同。

What am I doing wrong? 我究竟做错了什么?

(MATLAB version is 2012a.) (MATLAB版本为2012a。)

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM