實(shí)現(xiàn)模2除法的線路
圖2.2 實(shí)現(xiàn)模2除的邏輯圖
對(duì)前述用G(x)=1011產(chǎn)生(7,4)校驗(yàn)碼的例子,可采用圖2.2所示線路,產(chǎn)生3位的余數(shù)。圖中的模2減用異或門實(shí)現(xiàn),左移一位由移位寄存器實(shí)現(xiàn);用異或門的輸出控制左邊一位寄存器的D輸入端,可同時(shí)實(shí)現(xiàn)模2減和左移。用最左一位的取值控制是否做模2減,當(dāng)其為1時(shí),減去的數(shù)就是生成多項(xiàng)式G(x)=1011。這里,被除數(shù)D是逐位串行送到移位寄存器的,且由CP脈沖同步。
圖2.3 實(shí)現(xiàn)G(x)=1011的線性(7,4)分組碼模2除線路圖
由于G(x)固定不變,故G2可省去;只求三位余數(shù),故G3和T0也失去意義。圖2.2可簡(jiǎn)化為圖2.3(a)。
對(duì)圖2.3(a)的線路來說,在發(fā)送端,輸入信息碼D為1100,串行從低位送入,先左移三位形成1100000,再通過7步模2除,可在移位寄存器 T3 T2 T1 中得到余數(shù)010;在接收端,對(duì)7位的CRC碼字1100010,執(zhí)行7步模2除之后,若在 T3 T2 T1 得到000,表明CRC碼字中無任何一位出錯(cuò);若余數(shù)不為全0,可根據(jù)表2.4確定出錯(cuò)位置。
設(shè)Ti為T3T2T1某觸發(fā)器當(dāng)前狀態(tài),Ti'為次態(tài),可用次態(tài)方程表示圖2.3(a)的模2除電路: T3'=T2, T2'=T3⊕T1 , T1'=T3⊕D。
分別用被除數(shù)1100000和1010000驗(yàn)證取得余數(shù)為010和011的工作過程,見表2.6。讀者可用模2除豎式計(jì)算各步結(jié)果并與之比較。
步驟 | 信息碼1100 | 信息碼1010 |
輸入D TTT | 輸入D TTT | |
初態(tài) 1 2 3 4 5 6 7 | 0 000 1 001 1 011 0 110 0 111 0 101 0 001 0 010 | 0 000 1 001 0 010 1 101 0 001 0 010 0 100 0 011 |
可以將圖2.3(a)的線路稍加變化,即得到圖2.3(b)的線路,用作為G(x)=1011的系統(tǒng)線性(7,4)分組碼的編碼線路。待編碼信息D由高位端送入,CRC碼由T送出。開始時(shí),開關(guān)K1閉合,K2打到b位置,輸入信息進(jìn)入除法線路的同時(shí)送到T輸出。經(jīng)過4步之后,T3T2T1即為余數(shù)。然后,K1斷開,K2打到a,T3T2T1只有移位功能,正好將余數(shù)拼接在信息碼后經(jīng)T送出。圖2.3(b)中,開關(guān)K1閉合,K2打到b,T3T2T1及輸出T可表達(dá)為: T=b=D, T3' =T2 , T2' =T1⊕T3⊕D, T1'=T3⊕D 。 當(dāng)開關(guān)K1斷開,K2打到a,T3T2T1及輸出T可表達(dá)為: T=a=T3⊕D=T3(D為0), T3'=T2, T2' =T1, T1' =0。信息碼為1100和1010取得的CRC碼1100010和1010011的工作過程見表2.7。
表2.7 圖2.3(b)線路編碼過程舉例
步驟 | 信息碼1100 | 信息碼1010 |
輸入D TTT 輸出T | 輸入D TTT 輸出T | |
初態(tài) 1 2 3 4 5 6 7 | 0 000 0 1 011 1 1 101 1 0 001 0 0 010 0 0 100 0 0 000 1 0 000 0 | 0 000 0 1 011 1 0 110 0 1 100 1 0 011 0 0 110 0 0 100 1 0 000 1 |
評(píng)論