BCH编码器的BER测试仿真课程设计报告.docx
《BCH编码器的BER测试仿真课程设计报告.docx》由会员分享,可在线阅读,更多相关《BCH编码器的BER测试仿真课程设计报告.docx(15页珍藏版)》请在冰豆网上搜索。
BCH编码器的BER测试仿真课程设计报告
《通信原理》
课
程
设
计
报
告
题目:
BCH编码器的BER测试仿真
专业:
电子信息工程
班级:
二班
姓名:
杨荣微
学号:
080403029
湖南科技大学信息与电气工程学院
二○一一年六月
一、课程设计教学目的及基本要求
1.巩固所学的专业技术知识;
2.熟悉SystemView仿真环境并能在其环境下了解并掌握通信系统的一般设计方法,具备初步的独立设计能力;
3.比特误码率是衡量一个通信系统优劣的重要指标;
4.利用SystemView软件仿真测试和生成一个BCH编解码系统的BER曲线。
熟悉对于系统延时的处理。
5.提高综合运用所学理论知识独立分析和解决问题的能力;
6.更好地将理论与实践相结合。
二、实验基本原理与各模块功能简介及其参数设置
1.实验基本原理
原理框图如下所示:
SystemView系统是一个多速率系统,在所有系统仿真模块中可能同时存在不同采样速率的功能图符,并且信号经过许多滤波器、编码器时会产生固有的处理时延。
BER计数器图符有两个输入,原则上每个采样进行一个比特的检验判断,因此两个输入必须是严格的位同步才能正确判决,即两个输入的采样率必须完全一致且绝对同步。
BCH编解码电路。
信道为高斯噪声信道(AWGN),输入信号经BCH编码后在AWGN信道中传输。
在输出端对接收信号进行BCH解码。
解码结果与原输入信号比较的结果可用于统计系统误码率。
2.各模块功能简介及其参数设置
(1)系统仿真模块图如下所示:
(2)各个模块的功能及其参数设定
①伪随机序列发生器(信号源库)
:
输入信号,产生1HzPN码。
(见图1)
图1伪随机序列发生器参数设置
②采样模块1(算子库)
:
保证每个比特对应一个采样,采样率设为1Hz,信号源的时间偏移设为0,即数据从0时刻开始输出。
(见图2)
图2采样器1参数设置
③BCH编码器(通信库)
:
选择[7,4]BCH码,每输入4比特数据就产生一个7比特的编码序列,而占用的时间间隔仍与4比特的输入信号间隔一样,是4秒,则编码后信号的比特率为7/4=1.75,每个编码位的时间宽度为4/7=0.571428571秒。
此模块的时延为4秒。
(见图3)
图3BCH编码器参数设置
④5阶多项式模块(函数库)
:
将单极性信号变为双极性。
(见图4)
单极性码有电压表示1,无电压表示0;没有特殊的编码;单极性码会累积直流分量。
双极性码中正电压表示1,负电压表示0;该方案降低了功率要求并减小了高电平衰减;双极性码的直流分量则大大减少,从而有利于传输。
图45阶多项式模块参数设置
⑤保持模块(算子库)
:
即将加入的AGWN信号的采样率与系统的采样率一致,而BCH编码输出采样率较低,为使二者相加,必须使用相同的采样率。
插入一个保持器图符将信号恢复为系统采样率。
(见图5)
图5保持器参数设置
⑥高斯噪声源(信号源库)
:
加入一个AGWN信号。
(见图6)
图6高斯噪声源参数设置
⑦增益模块(算子库)
:
控制噪声大小,从而控制信噪比。
该增益模块需要在系统菜单中设置全局关联变量。
(见图7)
图7增益模块参数设置
⑧加法器模块
:
对输入信号进行加法操作。
⑨积分清除滤波器模块(通信库)
:
作为匹配滤波器(指滤波器的性能与信号的特性取得某种一致,使滤波器输出端的信号瞬时功率与噪声平均功率的比值最大),用于最佳检波器接收。
积分时间设置为BCH码的码元宽度,即4/7秒。
该模块有4/7秒延时。
(见图8)
图8积分清除滤波器参数设置
⑩采样模块6(算子库)
:
为保证BCH译码器图符的输出数据率为1Hz,其输入数据率应为1.75Hz。
采样模块6采样率设为1.75Hz。
(见图9)
图9采样器6参数设置
⑾BCH译码器(通信库)
:
选择[7,4]BCH码。
始终存在一个群延时,Offset时间偏移应设为4/7秒或一个采样延时。
这是由于积分清算子的时延。
此模块的时延为4秒。
(见图10)
图10BCH译码器参数设置
⑿重采样器(算子库)
:
保证BCH译码器输出信号采样率为1Hz,并且将时延调整为整数个采样。
(见图11)
图11重采样器参数设置
⒀延时图符(算子库)
:
将输入信号延时9个采样以便于输出信号对比计算BER曲线。
(见图12)
图12延时图符参数设置
⒁BER计数器模块(通信库)
:
其中“No.Trials”为对比实验的比特数,如果希望测出1e-2的BER,至少应进行1e+3次的比较,即要获得尽可能低的BER值,必须将“No.Trials”的值设得足够大,同时也必须将系统定时中每个仿真循环的采样数设得足够大。
此时,“No.Trials”设为1e+3,采样率设为1Hz,即每秒对输入的两路数据判决一次,因此整个系统的群延时应为一个整数(或整数个采样时间),则这里的群延时为9个采样。
(见图13)
图13BER计数器参数设置
⒂停止接收计算器(接收器库)
:
当输入值超过设定的门限值时,停止本次循环,进入下一循环的仿真运算。
连接BER计数器图符的错误总数输出,因此它的作用是当错误总数超过预定值时停止本次循环的仿真进入下一循环,否则将一直仿真运算至系统设定的全部采样数完毕为止,然后进入下一循环。
(见图14)
图14停止接收计算器参数设置
⒃终值模块(接收器库)
:
在每个系统循环结束时,显示该循环接收的最终值。
每个循环只保留一个样本。
在分析窗口观察结果。
⒄分析模块(接收器库)
:
SystemView的基本信号接收器。
该接收器平时无显示,必须进入系统分析窗口才能观察和分析输出结果。
三、各模块的具体实现及调试过程
1.全局变量的关联与BER曲线的生成
为了绘出完整正确的BER/SNR曲线,必须将噪声增益控制与系统循环次数进行全局变量关联,使噪声逐步减小,即信道的信噪比由0dB开始逐步增大。
每次减小的步长与循环次数相关,具体函数可设定。
单击菜单栏的“Tools”选项,选择“GlobalTokenParameterLinks”,这时出现如图15所示的参数设置栏,在“SelectSystemToken”中选择要关联的全局变量,下图中选择了图符13“Operator[Gain]”,如果设定每次循环后将信噪比递增1dB,即噪声减小1dB,则应在算术运算关系定义栏“DefineAlgebraicRelationshipF[Gi,Vi]”内的值设置为-cl,这里cl为系统变量“CurrentsystemLoop”系统循环次数。
图15全局变量关联参数设置窗口
系统定时窗口参数设置如图16所示,参数设定完毕后,运行系统仿真,到系统分析窗口,此时,接收计算器显示的是系统累计误码率均值相对于时间的关系曲线,而不是所需的BER/SNR关系曲线。
按计算器按钮后,出现如图17所示的计算器功能窗口,选择“Style”功能中的“BERPlot”按钮,设置起始信噪比“SBRStart[dB]”为1dB,增量“Increment”值设为1(该值必须与预先设置的增益关联相一致)。
在“SelectoneWindow”框中选择要转换的窗口W0sink3,按“OK”按钮确定后,产生一个新的分析窗口,将窗口的Y轴设为对数显示模式,将得到如图18所示的BER/SNR关系曲线。
图16系统定时窗口参数设置
图17将误码的时间累计曲线转换为BER/SNR关系曲线的计算器参数设置界面
图18BER/SNR曲线
通常为了衡量一种信道的优劣,常常将测出的BER/SNR曲线与标准的FSK、PSK、QPSK等调制的理论BER曲线进行比较。
如图19所示,首先使用计算器功能“Comm”中的“Overlayselectedplotwindow”,并选中需要对比的标准理论曲线类型,如FSK、PSK、QPSK等。
将起始信噪比设为1dB,终止信噪比设为9dB,同时选择仿真得到的BER曲线所在的窗口,图18中选择的是w4:
BERVSSNRforw0,按“OK”键确定后得到如图20所示的对比覆盖曲线。
图19生成与标准理论BER曲线对比覆盖的参数设置窗口
图20仿真BER曲线与标准理论BER曲线的比较覆盖图
2.BER测试中的时延确定
对于复杂的系统模型,不可能通过推导来计算时延。
此时可利用原始信号与输出信号的交叉互相关运算来求出系统群延时。
首先将时延图符12的延时设置为0,并关闭噪声(图符11的值设为0),然后设定一个相对较小的系统采样周期,并运行系统;进入SystemView的分析窗口,按分析窗口接收计算器按钮,选择交叉相关(cross-correlation)运算功能,如图21所示,此时必须在右边上面的选择栏选择其中一个相关数据窗口,如窗口2(图符16,输入数据),而在右边下面的选择栏选择另一个相关数据窗口,如窗口3(图符17,译码输出),按“OK”按钮可生成相关运算的结果的数据显示图形,如图22所示,将该窗口选择为当前Windows活动窗口,按工具栏上的数据显示图形,出现如图23所示的统计表窗口,激活该窗口的“SampleNo”选项,其中最大相关值的位置显示为“@s9”,表示最大相关点在第九个采样点,因此可以确定应将系统的群延时设置为9个采样;将图符12的延时值设为9个采样,并恢复噪声幅度,同时将系统采样周期恢复,此时,该BER测试仿真实验的延时已完全设置正确了。
图21分析窗接收计算器中将两个数据窗口进行相关运算的参数设置
图22相关运算结果的数据显示图形
图23统计表数据显示窗口
四、总结及体会
通过这次课程设计,让我基本掌握了SystemView软件的仿真和调试方法,对其各个图符库的模块和系统定时的功能也有了初步的了解,并且了解了BCH编码器的BER测试仿真的基本原理及其设计方法,同时让我对通信原理这门课程产生了更多的学习热情。
在这过程中,我也不可避免的遇到了很多困难,最主要的就是各个模块的参数设置,一开始因为对各个图符模块的功能没有深入的了解,使我对BER模块的参数设置错误,导致在系统分析窗口输出的曲线图不正确,经过上网查阅资料,多次调试之后我终于改正了这个错误;还有因为系统定时参数设置不正确,导致曲线图不正确,我又详细研究了各个模块的功能及其参数设置规则,最终解决了后面的一系列问题。
通过不断地仿真调试,我发现不同参数的设置对仿真结果有一定的影响,如高斯白噪声信道的信噪比增加,则误码率减小;BER计数器的“No.Trials”(对比实验的比特数)设置大小,会决定BER值的高低,如果希望测出尽可能低的BER,必须将“No.Trials”的值设得足够大,同时也必须将系统定时中每个仿真循环的采样数设得足够大。
我在设计过程中体会最深的一方面是要有迎难而上的精神,不能因为遇到一点问题就放弃,应该努力找到解决办法。
最重要的是,我在这个过程中受益匪浅,学习到了很多以往忽略或者匆匆扫过的问题,让我了解到课本上的知识没有重点与非重点,应该努力全部掌握消化,这样才能在理论联系实际时将其应用自如,把所学到的知识更好的应用于实际生活中。