伯利坎普-韋爾奇算法
算法
伯利坎普-韋爾奇算法通常被用于解碼里德-所羅門碼。假使在有限體GF(q){\displaystyle GF(q)}上有n{\displaystyle n}個數(shù)字m1,… … -->,mn{\displaystyle m_{1},\dots ,m_{n}},利用RS碼編為n? ? -->1{\displaystyle n-1}次多項式P(i)=mi{\displaystyle P(i)=m_{i}}。如果已知傳輸信道會錯誤傳輸k{\displaystyle k}個值,那么RS碼可以傳輸P(i){\displaystyle P(i)}上的n+2k{\displaystyle n+2k}個點(i,P(i)){\displaystyle (i,P(i))}。因此,解碼者的問題在于要辨認出哪k{\displaystyle k}個點是錯誤的。令解碼者接收到的點值為R(i){\displaystyle R(i)},可以看出對于且僅對于所有正確傳輸?shù)狞ci{\displaystyle i},P(i)=R(i){\displaystyle P(i)=R(i)}。
錯誤辨認多項式
伯利坎普-韋爾奇算法引入了錯誤辨認多項式的概念,也即多項式E(i)=(i? ? -->e1)(i? ? -->e2)… … -->(i? ? -->ek){\displaystyle E(i)=(i-e_{1})(i-e_{2})\dots (i-e_{k})},其中e{\displaystyle e}的值為所有k{\displaystyle k}個錯誤傳輸?shù)狞c的i{\displaystyle i}值(均未知)。由于E(i)=0{\displaystyle E(i)=0}當且僅當i{\displaystyle i}對應一個錯誤傳輸?shù)狞c,可以看出對于所有i{\displaystyle i}值,P(i)E(i)=R(i)E(i){\displaystyle P(i)E(i)=R(i)E(i)},其中R(i){\displaystyle R(常數(shù)}對于所有i均為已知常數(shù)。令Q(i)=R(i)E(i){\displaystyle Q(i)=R(i)E(i)},可以看出左側為一個n+k? ? -->1{\displaystyle n+k-1}次的多項式,右側為一個k{\displaystyl系數(shù)k}次的多項式,但其最高次系數(shù)為1。因此,整個線性系統(tǒng)有n+2k{\displaystyle n+2k}個方程式與n+2k{\displaystyle n+2k}個未知數(shù),可以用線性代數(shù)的方法解出,并可以由P(i)=Q(i)/E(i){\displaystyle P(i)=Q(i)/E(i)}解出原始的編碼多項式并讀出編碼值m1,… … -->,mn{\displaystyle m_{1},\dots ,m_{n}}。
免責聲明:以上內(nèi)容版權歸原作者所有,如有侵犯您的原創(chuàng)版權請告知,我們將盡快刪除相關內(nèi)容。感謝每一位辛勤著寫的作者,感謝每一位的分享。
- 有價值
- 一般般
- 沒價值
{{item.userName}} 舉報
{{item.time}} {{item.replyListShow ? '收起' : '展開'}}評論 {{curReplyId == item.id ? '取消回復' : '回復'}}
{{_reply.userName}} 舉報
{{_reply.time}}