信息论编码实验六循环码仿真

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验六循环码仿真
一、实验目的
1、深刻理解循环码的编码方法
2、熟练使用Simulink仿真工具进行线性码仿真实现
3、培养学生独立思考,发现问题和解决问题的能力
二、实验仪器与软件
1、PC机1台
2、MATLAB R2008环境
三、实验原理
数字信号在传输过程中,由于信道传输特性的影响,接收端收到的数字信号会发生各种错误。

为了减少比特误码率,可采用各种方法来进行差错控制。

信道编码是通信系统中采用的一种差错控制措施。

在信道编码过程中,发送端将被传输的信息附上一些监督码元,这些监督码元与信息码元之间以某种确定的规则相互关联(约束)。

线性码是一种分组码,在编码的过程中,首先将数据每k个比特分为一组,记作m,称为信息组。

然后将长度为k的信息组进行映射运算(编码),得到一个n比特构成的码字c i。

这样得到的分组码称为(n, k)码,定义k/n=R c为编码效率。

循环码是线性码的一个子集,因此它除了具有线性码的一般特性外,还满足下列循环移位特性:如果c=[c n-1c n-2…c1c0]是某循环码的码字,那么由c的元素循环移位得到的[c n-2…c1c0c n ]也是该循环码的一个码字,也就是说,码字c的所有循环移位都是码集合中的码字。

-1
循环码的码字可以表示为如下形式:
c(x)=α(x)·g(x)
其中g(x)是x n+1的n-k次因子,称为生成多项式。

假设二进制循环编码器的输入信号是一个k 列的行矢量,输出的是n列的行矢量,则它产生的是一个(n, k)的循环码,其中n=2m-1,m≥3。

四、实验内容
图1 循环码的仿真框图
图1所示是信号源是伯努利随机二进制信号发生器,产生采样时间为1的二进制信号,传输环境是二进制平衡信道。

在发射端和接收端分别设置了循环编码和解码器。

虽然因为信道编码的结果使得传输效率变为4/7。

即发送的7个码元中仅传递了4个码元的有效信息。

但是使得差错率从5%降为2%。

二进制循环码解译码器模块的主要参数如下图所示。

为了得到循环码的信号误码率与信道差错概率之间的曲线图,要求将Binary Symmetric Channel(二进制均衡信道)的Error probability(差错概率)变量设置为errB,并编写一个M文件,对循环码的仿真模型进行仿真,得到误码率曲线图。

五、实验结果(给出相应代码和仿真得到的误码率曲线图,并对结果进行分析阐述)1、
源代码:
er=0:.01:.05;
Er=[er;er;er;er;er;er;er];
for n=1:length(er)
errB = Er(:,n);
sim('xuzhiying6')
S1(n)=[mean(s)]';
EN(n)=[er(n)]';
end
plot(EN,(S1))
grid
xlabel('channel error probability');
ylabel('error ratio');
2、
六、实验小结(对本次实验结果进行分析和总结)
本次实验顺利完成
这次的实验主要是关于循环码编,译码。

通过这次实验我深刻理解了循环码的编码方法因为通过之前几次的实验已经熟练使用Simulink仿真工具进行线性码仿真实现所以这次的实验并不是很难,在理解了实验目的和要求后问题很快都解决。

相关文档
最新文档