利用LFSR实现模2除法的原理
生活随笔
收集整理的這篇文章主要介紹了
利用LFSR实现模2除法的原理
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
對于利用LFSR實(shí)現(xiàn)模2除法的原理,不解,找了很多資料,沒有一個(gè)講明白的,下面的一個(gè)算是有那么一點(diǎn)靠譜的,先記下來,以后有時(shí)間了沿著這個(gè)思路慢慢推導(dǎo)吧!
轉(zhuǎn)自:http://www.elecfans.com/dianzichangshi/2009101396345.html
實(shí)現(xiàn)模2除法的線路
循環(huán)校驗(yàn)碼的核心邏輯線路是實(shí)現(xiàn)模2除的線路。按照前面介紹的方法,可將模2除的步驟分解歸納為兩種操作:如果被除數(shù)或者余數(shù)最高位的值為0,直接將余數(shù)左移一位;如果被除數(shù)或部分余數(shù)最高位的值為1,用生成多項(xiàng)式G(x)作模2減,然后余數(shù)左移一位。
圖2.2?實(shí)現(xiàn)模2除的邏輯圖
對前述用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可簡化為圖2.3(a)。
對圖2.3(a)的線路來說,在發(fā)送端,輸入信息碼D為1100,串行從低位送入,先左移三位形成1100000,再通過7步模2除,可在移位寄存器 T3?T2?T1?中得到余數(shù)010;在接收端,對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é)果并與之比較。?
表2.6 圖2.3(a)線路工作過程舉例
| 步驟 | 信息碼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 |
總結(jié)
以上是生活随笔為你收集整理的利用LFSR实现模2除法的原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IOS使用通知回调方法
- 下一篇: android安全问题(二) 程序锁