发明名称 一种用于10G EPON的RS解码装置及方法
摘要 本发明提供了一种用于10G无源光网络(EPON)的RS解码装置,包括接收缓存模块、校正子计算模块、关键方程求解模块、钱搜索与错误值计算模块、延时缓存模块和发送缓存模块。本发明还提供了一种用于10G无源光网络EPON的RS解码方法。本发明可以实现RS解码与数据速率相协调,并实现多字节的并行处理。
申请公布号 CN102546109B 申请公布日期 2015.07.01
申请号 CN201110448771.3 申请日期 2011.12.28
申请人 北京格林伟迪科技有限公司;北京邮电大学 发明人 陈雪;李西聪;高卫东;王磊;聂克庆
分类号 H04L1/00(2006.01)I 主分类号 H04L1/00(2006.01)I
代理机构 北京德琦知识产权代理有限公司 11018 代理人 牛峥;王丽琴
主权项 一种用于10G无源光网络EPON的里所码RS解码装置,其特征在于,包括接收缓存模块、校正子计算模块、关键方程求解模块、钱搜索与错误值计算模块、延时缓存模块和发送缓存模块;所述接收缓存模块用于将输入的并行66比特位宽数据进行填零处理,调整为72比特位宽数据,将所述72比特位宽数据输出至校正子计算模块;所述校正子计算模块用于根据输入的72比特位宽数据计算校正子s<sub>i</sub>,每隔31个时钟周期将所述校正子s<sub>i</sub>输出至关键方程求解模块;所述校正子计算模块根据公式<maths num="0001" id="cmaths0001"><math><![CDATA[<mfenced open='' close=''><mtable><mtr><mtd><msub><mi>s</mi><mi>i</mi></msub><mo>=</mo><msub><mi>r</mi><mn>254</mn></msub><msup><mrow><mo>(</mo><msup><mi>&alpha;</mi><mi>i</mi></msup><mo>)</mo></mrow><mn>254</mn></msup><mo>+</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>+</mo><msub><mi>r</mi><mn>1</mn></msub><mrow><mo>(</mo><msup><mi>&alpha;</mi><mi>i</mi></msup><mo>)</mo></mrow><mo>+</mo><msub><mi>r</mi><mn>0</mn></msub></mtd></mtr><mtr><mtd><mo>=</mo><mo>{</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>{</mo><mo>{</mo><mo>{</mo><msub><mi>r</mi><mn>260</mn></msub><msup><mrow><mo>(</mo><msup><mi>&alpha;</mi><mi>i</mi></msup><mo>)</mo></mrow><mn>8</mn></msup><mo>+</mo><msub><mi>r</mi><mn>259</mn></msub><msup><mrow><mo>(</mo><msup><mi>&alpha;</mi><mi>i</mi></msup><mo>)</mo></mrow><mn>7</mn></msup><mo>+</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>+</mo><msub><mi>r</mi><mn>253</mn></msub><mrow><mo>(</mo><msup><mi>&alpha;</mi><mi>i</mi></msup><mo>)</mo></mrow><mo>+</mo><msub><mi>r</mi><mn>252</mn></msub><mo>}</mo><msup><mrow><mo>(</mo><msup><mi>&alpha;</mi><mi>i</mi></msup><mo>)</mo></mrow><mn>9</mn></msup><mo>+</mo><msub><mi>r</mi><mn>251</mn></msub><msup><mrow><mo>(</mo><msup><mi>&alpha;</mi><mi>i</mi></msup><mo>)</mo></mrow><mn>8</mn></msup><mo>+</mo></mtd></mtr><mtr><mtd><msub><mi>r</mi><mn>250</mn></msub><msup><mrow><mo>(</mo><msup><mi>&alpha;</mi><mi>i</mi></msup><mo>)</mo></mrow><mn>7</mn></msup><mo>+</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>+</mo><msub><mi>r</mi><mn>244</mn></msub><mrow><mo>(</mo><msup><mi>&alpha;</mi><mi>i</mi></msup><mo>)</mo></mrow><mo>+</mo><msub><mi>r</mi><mn>243</mn></msub><mo>}</mo><msup><mrow><mo>(</mo><msup><mi>&alpha;</mi><mi>i</mi></msup><mo>)</mo></mrow><mn>9</mn></msup><mo>+</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>}</mo><msup><mrow><mo>(</mo><msup><mi>&alpha;</mi><mi>i</mi></msup><mo>)</mo></mrow><mn>9</mn></msup><mo>+</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>}</mo><msup><mrow><mo>(</mo><msup><mi>&alpha;</mi><mi>i</mi></msup><mo>)</mo></mrow><mn>9</mn></msup><mo>+</mo></mtd></mtr><mtr><mtd><msub><mi>r</mi><mn>8</mn></msub><msup><mrow><mo>(</mo><msup><mi>&alpha;</mi><mi>i</mi></msup><mo>)</mo></mrow><mn>8</mn></msup><mo>+</mo><msub><mi>r</mi><mn>7</mn></msub><msup><mrow><mo>(</mo><msup><mi>&alpha;</mi><mi>i</mi></msup><mo>)</mo></mrow><mn>7</mn></msup><mo>+</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>+</mo><msub><mi>r</mi><mn>1</mn></msub><mrow><mo>(</mo><msup><mi>&alpha;</mi><mi>i</mi></msup><mo>)</mo></mrow><mo>+</mo><msub><mi>r</mi><mn>0</mn></msub><mo>,</mo><mi>i</mi><mo>=</mo><mn>0,1</mn><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><mn>2</mn><mi>t</mi><mo>-</mo><mn>1</mn></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000665628100000011.GIF" wi="1877" he="566" /></maths>计算校正子;其中r<sub>254</sub>至r<sub>0</sub>为经信道传输后接收到的码字;r<sub>260</sub>至r<sub>255</sub>为接收缓存模块填充的全零数据,α为本原多项式x<sup>8</sup>+x<sup>4</sup>+x<sup>3</sup>+x<sup>2</sup>+1=0的根,t=16;关键方程求解模块用于每隔31个时钟周期接收来自校正子计算模块的校正子s<sub>i</sub>,将关键方程求解模块中的寄存器序列R、Q、L和U及度数变量degQ和degR设置为初始值,然后采用并行方式进行31次迭代计算,在新校正子到达的同时将计算得到的错误位置σ(x)和错误值多项式ω(x)寄存输出至钱搜索与错误值计算模块,并同时向钱搜索与错误值计算模块给出有效指示信号VALID,x=0,1,2,…,15;延时缓存模块,用于缓存接收缓存模块输出的72比特位宽数据,并将所缓存的数据提供给钱搜索与错误值计算模块进行读取;钱搜索与错误值计算模块,用于根据错误位置σ(x)和错误值多项式ω(x)搜索出实际发生错误的错误位置和错误值,其中,每个时钟周期并行搜索9个位置;在计算出错误位置和错误值后,从延时缓存模块中提取出72比特位宽数据,并根据所述错误位置和错误值对所提取的72比特位宽数据进行纠错,将纠错之后的72比特位宽数据输出至发送缓存模块;发送缓存模块,用于将纠错之后的72比特位宽数据重排,去掉填充数据之后恢复为66比特位宽以适应出口的线路码型,并把FEC校验码替换为空闲码,并输出处理后的66比特位宽数据;所述钱搜索与错误值计算模块包括:反馈倍增电路、偶次项函数值计算电路、奇次项函数值计算电路以及判断纠错电路;所述反馈倍增电路将来自关键方程求解模块的错误位置多项式系数(σ<sub>0</sub>,σ<sub>1</sub>,…,σ<sub>16</sub>)每次分别乘以对应系数((α<sup>9</sup>)<sup>0</sup>,(α<sup>9</sup>)<sup>1</sup>,…,(α)<sup>9</sup>)<sup>16</sup>),其中奇次幂项得出的结果继续输出至奇次项函数值计算电路,偶次幂项得出的结果输出至偶次项函数值计算电路;偶次项函数值计算电路,用于并行计算9个字节位置上的错误位置多项式函数σ(x)的偶次项函数值,电路设计中表现为:标准行计算结果分别为位置r<sub>254</sub>、r<sub>245</sub>、...、r<sub>2</sub>上的函数值σ(0)、σ(9)、…、σ(252),标准行前的第l行系数为标准行对应系数的‑(l‑1)次幂,其后的第l行系数为标准行对应系数的(l+1)次幂;按照以上方法设计的电路即可完成对原码字所有位置是否出错的判断,相应地,每行运算电路输出的函数值结果为<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>&sigma;</mi><mi>even</mi></msub><mrow><mo>(</mo><mn>9</mn><mi>l</mi><mo>+</mo><mi>m</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><munder><mrow><mn>0</mn><mo>&le;</mo><mi>j</mi><mo>&le;</mo><mn>16</mn><mo>,</mo></mrow><mrow><mi>j</mi><mn> </mn><mi>even</mi></mrow></munder></munder><msub><mi>&sigma;</mi><mi>j</mi></msub><msup><mi>&alpha;</mi><mrow><mn>9</mn><mi>lj</mi><mo>+</mo><mi>m</mi><mo>-</mo><mn>5</mn></mrow></msup><mo>,</mo><mi>m</mi><mo>=</mo><mn>0,1</mn><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><mn>8</mn><mo>,</mo><mi>l</mi><mo>=</mo><mn>0,1</mn><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><mn>28</mn><mo>;</mo></mrow>]]></math><img file="FDA0000665628100000021.GIF" wi="1605" he="198" /></maths>奇次项函数值计算电路,用于并行计算9个字节位置上的错误位置多项式函数σ(x)的奇次项函数值,电路设计方法与偶次项函数值计算电路相同,每行运算电路输出的函数值结果为<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>&sigma;</mi><mi>odd</mi></msub><mrow><mo>(</mo><mn>9</mn><mi>l</mi><mo>+</mo><mi>m</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><munder><mrow><mn>0</mn><mo>&le;</mo><mi>j</mi><mo>&le;</mo><mn>15</mn><mo>,</mo></mrow><mrow><mi>j</mi><mn> </mn><mi>odd</mi></mrow></munder></munder><msub><mi>&sigma;</mi><mi>j</mi></msub><msup><mi>&alpha;</mi><mrow><mn>9</mn><mi>lj</mi><mo>+</mo><mi>m</mi><mo>-</mo><mn>5</mn></mrow></msup><mo>,</mo><mi>m</mi><mo>=</mo><mn>0,1</mn><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><mn>8</mn><mo>,</mo><mi>l</mi><mo>=</mo><mn>0,1</mn><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><mn>28</mn><mo>;</mo></mrow>]]></math><img file="FDA0000665628100000031.GIF" wi="1583" he="202" /></maths>判断纠错电路,用于接收来自偶次项函数值计算电路的偶数项函数值以及来自奇次项函数值计算电路的奇次项函数值,计算偶次项函数值、奇次项函数值之和,若所述和为零,说明该位置上发生了错误,将根据公式<img file="FDA0000665628100000032.GIF" wi="644" he="172" />计算得出的错误值与延时缓存模块输出的原数据相加以完成纠错,并将纠错之后的数据输出至发送缓存模块。
地址 100085 北京市海淀区上地信息产业基地西路38号