DVB-T RS编码

           本想直接使用Xilinx  RS IP核直接实现RS编码功能,使用中发现每次都要发送一个start 信号,而且数据还得延时3个时钟周期,晕倒。怎么就不能够连续不断的编码了(或许我没有找对方法,那位大神知道麻烦告诉我一声,谢谢)。

           还是自己动手写一个RS编码的了,编码器如下图:

         DVB-T RS编码_第1张图片

            运算由加法器,乘法器,寄存器组成,说下乘法的实现方法:

            输入的任意两个元素A,B,他们的乘积C可以表示为:

            A(x)=A7x^7+A6x^6+.....+A1x+A0;

            B(x)=B7x^7+B6x^6+.....+B1x+B0;

            C(x)=A(x)*B(x);

           没有人会愿意用手算吧,用Matlab 计算下

           fa=sym('A7*x^7 + A6*x^6 + A5*x^5 + A4*x^4 + A3*x^3 + A2*x^2 + A1*x^1 + A0');
           fb=sym('B7*x^7 + B6*x^6 + B5*x^5 + B4*x^4 + B3*x^3 + B2*x^2 + B1*x^1 + B0');

           collect(fa*fb);

          对x大于x^7的次数用域多项式p(x)=x^8+x^4+x^3+x^2+1;进行变换一下.最后算出的多项式只会有x^7及以下的次数。

          到这里以后都是异或与移位运算了.下面是具体的C实现方法.

          http://download.csdn.net/detail/dqsong123/5625889

你可能感兴趣的:(DVB-T RS编码)