北京疫情有多嚴(yán)重網(wǎng)站推廣優(yōu)化平臺(tái)
微信公眾號(hào)上線,搜索公眾號(hào)小灰灰的FPGA,關(guān)注可獲取相關(guān)源碼,定期更新有關(guān)FPGA的項(xiàng)目以及開(kāi)源項(xiàng)目源碼,包括但不限于各類檢測(cè)芯片驅(qū)動(dòng)、低速接口驅(qū)動(dòng)、高速接口驅(qū)動(dòng)、數(shù)據(jù)信號(hào)處理、圖像處理以及AXI總線等
1、漢明碼
(1)常見(jiàn)概念
代數(shù)碼,是指建立在代數(shù)學(xué)基礎(chǔ)上的編碼,常用的是線性碼。
線性碼,是指按照一組線性方程構(gòu)成的編碼,線性碼中信息位和監(jiān)督位是由一些線性代數(shù)方程聯(lián)系著。
漢明碼是一種能夠糾正1位錯(cuò)碼且編碼效率較高的線性分組碼。
(2)漢明碼的構(gòu)造原理
若碼長(zhǎng)為n,信息位數(shù)為k,則監(jiān)督位數(shù)為n-k;如果希望用r個(gè)監(jiān)督位構(gòu)造出r個(gè)監(jiān)督關(guān)系式來(lái)指示一位錯(cuò)碼的n種可能位,則要求:
2^ r-1≥n或2^ r≥k+r+1
一位監(jiān)督碼a0和信息位an-1……a1一起構(gòu)成偶數(shù)監(jiān)督碼的代數(shù)式
an-1⊕an-2⊕……⊕a0=0
在接收端解碼時(shí),需要根據(jù)監(jiān)督關(guān)系式,計(jì)算校正子S
監(jiān)督關(guān)系式:S=an-1⊕an-2⊕……⊕a0
因?yàn)樾U覵只有一位,只能代表有錯(cuò)和無(wú)措兩種信息
若S=0,則無(wú)錯(cuò)碼;若S=1,則有錯(cuò)碼
兩位校正子即2個(gè)監(jiān)督關(guān)系式,共四種組合00,01,10,11,可以表示四種不同的信息,可以指示一個(gè)錯(cuò)碼的3種不同位置
故若r個(gè)校正子,即r個(gè)監(jiān)督關(guān)系式,能指示一個(gè)錯(cuò)碼的(2^r-1)個(gè)位置。
(3)構(gòu)造監(jiān)督關(guān)系式和漢明碼
設(shè)分組碼(n,k)中k=4,為了糾正一位錯(cuò)碼,要求監(jiān)督位數(shù)r≥3。
令r=3,則n=k+r=7,用a6,a5,a4,a3,a2,a1,a0表示這7個(gè)碼元,用S1,S2,S3表示3個(gè)監(jiān)督關(guān)系式中的校正子,規(guī)定S1,S2,S3的值與錯(cuò)碼位置的關(guān)系如下表,
僅當(dāng)錯(cuò)碼位置在a6,a5,a4或a2時(shí),S1=1,由此構(gòu)成偶數(shù)監(jiān)督關(guān)系:
S1=a6⊕a5⊕a4⊕a2
僅當(dāng)錯(cuò)碼位置在a6,a5,a3或a1時(shí),S2=1,由此構(gòu)成偶數(shù)監(jiān)督關(guān)系:
S2=a6⊕a5⊕a3⊕a1
僅當(dāng)錯(cuò)碼位置在a6,a4,a3或a0時(shí),S3=1,由此構(gòu)成偶數(shù)監(jiān)督關(guān)系:
S3=a6⊕a4⊕a3⊕a0
當(dāng)發(fā)送端編碼時(shí),信息位a6,a5,a4,a3是隨機(jī)輸入的,而監(jiān)督位a2,a1,a0根據(jù)信息位的取值,按照監(jiān)督關(guān)系式來(lái)確定,要求編碼中無(wú)錯(cuò)碼則需要保持S1,S2,S3的值均為0,故:
a6⊕a5⊕a4⊕a2=0
a6⊕a5⊕a3⊕a1=0
a6⊕a4⊕a3⊕a0=0
由此可得出:
a2=a6⊕a5⊕a4
a1=a6⊕a5⊕a3
a0=a6⊕a4⊕a3
由此可構(gòu)造出漢明碼
2、線性分組碼的原理證明
線性碼時(shí)信息位和監(jiān)督位滿足一組線性代數(shù)方程式的碼
取一組線性方程式
(1×a6)⊕(1×a5)⊕(1×a4)⊕(0×a3)⊕(1×a2)⊕(0×a1)⊕(0×a0)=0
(1×a6)⊕(1×a5)⊕(0×a4)⊕(1×a3)⊕(0×a2)⊕(1×a1)⊕(0×a0)=0
(1×a6)⊕(0×a5)⊕(1×a4)⊕(1×a3)⊕(0×a2)⊕(0×a1)⊕(1×a0)=0
H—監(jiān)督矩陣(parity-check matrix)
若監(jiān)督矩陣H確定,則編碼時(shí)監(jiān)督位和信息位的關(guān)系就完全確定。
具有[PIr]形式的H矩陣稱為典型陣。
在信息位給定后,用信息位的行矩陣乘矩陣Q產(chǎn)生監(jiān)督位。
在Q的左邊加上k×k階單位矩陣,構(gòu)成矩陣G
具有[IkQ]形式的生成矩陣稱為典型生成矩陣G
由典型生成矩陣得出的碼組A中,信息位的位置不變,監(jiān)督位附加于其后,這種形式的碼稱為系統(tǒng)碼