使用HDL优化RS编码/解码器库块

此示例示出了如何实现编码器和解码器,用于所述IEEE®802.16标准[1]使用HDL优化的Reed-Solomon编码器和解码器库(RS)的块。

介绍

RS码是一个非二进制块码。甲RS码映射$ķ$信息码元插入符号长度的码字$ N $被表示为RS($ N $$ķ$)代码。对于该代码的符号之间的整数$ 0 $$ 2 ^ M-1 $,其表示在有限域GF的元件($ 2 ^ M $)。在IEEE 802.16宽带无线接入标准[1]采用缩短,穿刺,并纠删对GF(256),即,所生成的RS(255,239)码,$ N = 255 $$ K = 239 $$ M = 8 $。RS编码器介绍$ N-K = 16 $其由RS使用的奇偶校验码元,解码器以检测和纠正的符号错误。该代码最多可以纠正$ T = \ {TEXTRM地板} [(N-K)/ 2] = 8 $符号错误在每一个码字。

这个模型展示了如何使用HDL优化RS编码器和解码器模块库进行仿真和HDL代码生成。它实现了IEEE 802.16标准的编码纠错。有关HDL优化RS编码器和解码块HDL支持的万博1manbetx详细信息,请参阅整数输入RS编码器HDL优化要么整数输出RS译码器HDL优化。要了解更多关于该块所使用的算法参考[2]。

要打开这个示例模型,运行以下命令:

资源

资源子系统产生用于RS编码器的信息符号。要打开资源子系统,运行以下命令:

一个由IEEE 802.16标准中采用的消息(信息符号)的包含827页上指定的以下36个字节(随机化的数据[1])。

消息= [D4 BA A1 12 F2 74 96 30 27 88 D4 96 9C E3 A9 52 B3 15 AB FD 92 53 07 32 C0 62 48 F0 19 22 E0 91 62 1A C1 00]。

资源反复该消息之后是保护间隔发送。该模型具有参数messagelength,消息被编码在符号的数目;和,它包括messagelength和保护间隔的长度。消息之间的保护间隔容纳编码器添加的奇偶校验码元的消息的等待时间,并且所述解码器执行Chien搜索。在该模型的initFcn回调时,messagelength被设定为36和被设置为236(这表明,在保护间隔的具有200个符号的长度)。

请注意,值messagelength可以根据需要而变化。

顶级RS子系统包含HDL优化RS编码器和解码器块。要打开RS子系统,运行下面的命令:

$ N $$ķ$在该模型的InitFcn回调被设置并且被用来配置所述HDL优化RS编码器和解码器块。值$ N $$ķ$不能在这个模型中被改变。

RS编码器推断缩短的代码,如果该消息的长度小于$ķ$符号。在这种情况下,则它会用所输入的消息$ 239-36 = $ 203零,编码填充消息,并追加16个的奇偶校验码元。块然后删除所添加的零码元,从而形成$ 36±16 = 52 $符号输出。

由IEEE所采用的场发生器多项式802.16标准是$ P(X)= X ^ 8 + X ^ 4 + X ^ 3 + X ^ 2 + 1 $。因此,对于RS编码器和解码器中,本原多项式的来源设为属性中,本原多项式被设置为[1 0 0 0 1 1 1 0 1],则B的源,其是启动功率为原始多项式的根设为属性B值设为0。由IEEE所使用的代码的生成多项式802.16标准是$ G(X)=(X + \拉姆达^ 0)(X + \拉姆达^ 1)(X + \拉姆达^ 2)\ ldots(X + \拉姆达^ {2T-1})$,其中$ \拉姆达= 02 _ {\ {TEXTRM六角}} $

上限制$ M $和码字长度$ N $在详述整数输入RS编码器块参照页。该ErrorGen子系统噪声添加到编码的消息的RS。要打开ErrorGen子系统,运行以下命令:

ErrorGen子系统实现所述逻辑在指定的场所的噪声添加到码字干扰的地方不变。如所期望的位置可以改变。在这个例子中,噪声将被添加到所述第五,第23,第34,和第12个码字中,对应于符号F2,07,如图1A所示,和图9C。的MATLAB®功能块输出逻辑仅在对每个分组这四个时间实例为真,并且激活原始符号和噪声之间的按位异或操作。

输出信号

使用以下命令运行模式:

查看信号

逻辑分析仪可以用于查看在一个窗口和查看信号的多个信号这种方式使得更容易观察的过渡。在该模型中的各个阶段,即,在编码之前,在编码后,加噪声后,和解码之后的信号流。在模型中的蓝色图标表示流信号。从模型的工具栏启动逻辑分析仪。

结果分析

在逻辑分析仪输出的inputdata信号表示RS编码器块的输入,这是在IEEE 802.16规范中给出的36字节消息。将编码后的数据示出了RS编码器块的输出。需要注意的是IEEE 802.16规范进行删的奇偶字节的和仅保留前四个字节16个字节的。在此演示所有16个字节的奇偶校验的被使用和前四个字节的奇偶校验的49个,31个,40个,和BF,匹配IEEE 802.16规范。

所述errdata信号表示在指定的位置处的噪声添加噪声的编码数据。这些噪声的位置标有在inserterr信号1秒。

出RS解码器块的解码和校正消息由outputdata信号所示。注意,RS解码器大约延迟周期3米的长度块介绍。观察outputdata地看到,由于噪声引起的错误得到纠正。

生成HDL代码和测试台

要检查并生成HDL代码在这个例子中,你必须有一个HDL编码器™许可证。

所生成文件获得一个唯一的临时目录名,

工作目录= tempname;

要检查是否有与模型的HDL代码生成的任何问题,你可以运行下面的命令:

checkhdl( 'commrshdl / RS子系统', 'targetdirectory中',工作目录);

输入以下命令生成HDL代码:

makehdl( 'commrshdl / RS子系统', 'targetdirectory中',工作目录);

输入以下命令生成测试平台:

makehdltb( 'commrshdl / RS子系统', 'targetdirectory中',工作目录);

输出的ModelSim®

下图显示了的ModelSim HDL仿真运行生成的。做文件脚本,将测试台后。与Simulink®的结果比较的ModelSim的结果之前绘制。万博1manbetx

选定参考

1,IEEE 802.16:IEEE标准的空中接口的宽带无线接入系统(IEEE修订标准802.16-2009)。IEEE-SA。2012 6月8日。

2.乔治C.克拉克JR,J。比伯该隐,纠错编码的数字通信,纽约:施普林格,1981。