使用高密度脂蛋白优化RS编码器/解码器库模块
这个例子展示了如何实现编码器和解码器IEEE®802.16标准(1使用高密度脂蛋白)优化Reed-Solomon (RS)编码器和译码器库模块。
介绍
RS码是一种二进制分组码。RS码映射信息符号象征的码字长度被表示为RS (,)的代码。的符号代码之间的整数和表示元素的有限域GF ()。IEEE 802.16宽带无线接入标准(1)使用了一个缩短,刺穿,“抹除”RS(255239)码生成的GF(256),也就是说,,,。RS编码器介绍平价符号,RS解码器用来检测和正确的符号错误。可以正确的代码在每个码字符号错误。
这个模型展示了如何使用HDL优化RS编码器和译码器库块模拟和HDL代码生成。它实现了编码和纠错的IEEE 802.16标准。细节对高密度脂蛋白HDL优化支持RS编码器和金宝app译码器块,请参考整数输入RS编码器HDL优化或Integer-Output RS解码器HDL优化。更多地了解使用的算法块指的是(2]。
打开这个示例模型,运行以下命令:
modelname =“commrshdl”;open_system (modelname);
源
的源子系统为RS编码器生成的信息符号。打开源子系统,运行以下命令:
systemname = [modelname“/源”];open_system (systemname);
的消息(信息符号)受雇于IEEE 802.16标准包含以下36字节(随机数据指定827页的1])。
消息= [D4英航A1 12 F2 74 96 30 27 D4 88 9 c 96 E3 A9 52 B3 15 AB FD 92 53 07年32 C0 62 48 F0 19 22 E0 91 C1 62 1 00)。
的源紧随其后的是一个警卫间隔反复传递消息。模型参数messagelength,在消息编码符号的数量;和期,包括messagelength和保护间隔的长度。卫兵消息之间的间隔提供编码器的延迟将奇偶校验符号添加到消息,和解码器执行简搜索。initFcn回调的模型messagelength36,期被设置为236(这表明保护间隔的长度为200符号)。
注意,的值messagelength和期可以根据需要改变。
顶级RS子系统包含高密度脂蛋白RS编码器和解码器模块进行优化。打开RS子系统运行以下命令:
systemname = [modelname“/ RS子系统”];open_system (systemname);
的值和设置InitFcn回调的模型并用于配置HDL RS编码器和解码器模块进行优化。的值和在这个模型中是不能改变的。
RS编码器推断缩短代码如果消息长度小于符号。在这种情况下,它将垫输入消息0、编码的消息和附加16奇偶校验符号。块然后删除添加0符号,创建一个符号输出。
磁场发生器多项式受雇于IEEE 802.16标准。因此,RS编码器和译码器,本原多项式的来源是设置为财产,本原多项式是设置为1 0 0 0 1 1 1 0 1],B开始的权力来源本原多项式的根是设置为财产,B值是设置为0。使用的代码生成器多项式IEEE 802.16标准,在那里。
限制和码字的长度详细的整数输入RS编码器块引用页面。的ErrorGenRS编码信息子系统增加噪音。打开ErrorGen子系统,运行以下命令:
systemname = [modelname' / RS子系统/ ErrorGen '];open_system (systemname);
的ErrorGen子系统实现了逻辑添加噪声码字中指定的位置噪声的位置常数。根据需要可以改变位置。在这个例子中,噪声将被添加到5日,23日,34,12码字,对应符号F2, 07年,1和9 c。MATLAB®功能块输出逻辑真的只有这四次实例为每个数据包,并激活原始之间的位XOR运算符号和噪音。
输出信号
使用以下命令运行模型:
sim (modelname);
查看信号
可以使用逻辑分析仪查看多个信号在一个窗口和查看信号这种方式更易于观察的转换。信号在该模型在不同阶段,即前编码,编码后,添加噪声后,解码后流。在模型中蓝色图标表示流信号。从模型的将来发布启动逻辑分析仪。
分析的结果
在逻辑分析仪输出inputdata信号代表了RS编码器的输入块这是36字节消息IEEE 802.16规范中给出。编码的数据显示了RS编码器的输出块。请注意,IEEE 802.16规范执行刺穿的奇偶校验字节,只保留第一个16字节的四个字节。在这个演示所有16字节的校验和使用奇偶校验的前四个字节是49岁,31岁,40岁,和男朋友,匹配的IEEE 802.16规范。
errdata信号代表了编码数据与噪音噪音添加到指定的位置。这些噪声位置标有1 s inserterr信号。
RS解码器的解码并纠正信息块outputdata显示的信号。注意,RS译码器块介绍关于三期长度的延迟。观察outputdata看到噪声引起的错误纠正。
生成HDL代码和试验台
检查并生成HDL代码对于这个示例,您必须有一个高密度脂蛋白编码器™许可证。
得到一个唯一的临时目录名称为生成的文件,
workingdir = tempname;
检查是否有任何问题与模型对HDL代码生成,您可以运行下面的命令:
checkhdl (“commrshdl / RS子系统”、“TargetDirectory”, workingdir);
输入以下命令,以生成HDL代码:
makehdl (“commrshdl / RS子系统”、“TargetDirectory”, workingdir);
输入以下命令,以生成试验台:
makehdltb (“commrshdl / RS子系统”、“TargetDirectory”, workingdir);
ModelSim输出
下面的图显示了ModelSim®HDL模拟器在运行生成的,文件脚本测试台上。比较ModelSim的结果与仿真软件®结果绘制。金宝app
选择引用
1。IEEE 802.16: IEEE宽带无线接入系统的空中接口标准(-2009年修订IEEE Std 802.16)。IEEE-SA。2012年6月8日。
2。小乔治·c·克拉克,j .龙头凯恩纠错编码为数字通信,纽约:施普林格,1981年。