關於迴圈冗餘碼具體是幹嘛的,舉個例子就可明白。
你要給遠在他鄉的好友送禮物,假設路上艱險重重,你怎麼保證你的好友收到的禮物一定是你給他傳送的原品呢?這時你想到了乙個辦法,在禮物中額外加點東西,針對這個新的禮物設計一種規則,使得你的好友用這套規則開啟禮物後呈現你倆約定好的模樣,如果能夠實現那麼就是原品,如果實現不了那麼禮物就被動了手腳了。
話鋒一轉,怎麼保證傳送的位元不出差錯?可以在位元中加點東西(新位元),這些新位元怎麼來的?就是用那個餘數加在原位元串的後面,然後接收方用這個新的位元串除以事先商量好的除數就可以知曉位元串到底有沒有被動過手腳了。
問題的關鍵是怎麼得到那個餘數呢?有點小夥伴想,直接用原位元串除以除數嘛?但是這樣不行呀,新位元既然加了餘數進去,這個被除數也應該加點東西保證二者長度一致。如果除數n位,那就加n-1個0。好了,被除數、除數都知道,餘數就可以得出了,這時候你偷偷把餘數加在原位元串末尾,等你的好友用得到的位元串除以你倆約定好的除數,看是否結果為0就可以判斷你發的位元串有沒有被動過手腳啦。
以上屬個人拙見,希望可以加深理解,溫故而知新,記錄下來是為了更好的學習,歡迎批評指正。
迴圈冗餘碼crc
待編碼的有效資訊組多項式 m x 生成多項式 產生校驗碼的多項式 g x 餘數多項式 r x 商 q x 生成多項式是四次的,所以某個多項式除以生成多項式的余式肯定是三次的,所以要加四位0000。生成多項式的選擇是經過實際應用選擇出來的,要滿足一定的要求。r x 為r階,在m x 後面添上r個0 r...
迴圈冗餘校驗碼
crc cyclic redundancy check 迴圈冗餘校驗碼 是常用的校驗碼,在早期的通訊中運用廣泛,因為早期的通訊技術不夠可靠 不可靠性的 是通訊技術決定的,比如電磁波通訊時受雷電等因素的影響 不可靠的通訊就會帶來 確認資訊 的困惑,書上提到紅軍和藍軍通訊聯合進攻山下的敵軍的例子,第一天...
迴圈冗餘校驗碼
crc碼是由兩部分組成,前部分是資訊碼,就是需要校驗的資訊,後部分是校驗碼,如果crc碼共長n個bit,資訊碼長k個bit,就稱為 n,k 碼。它的編碼規則是 將原資訊碼 kbit 左移r位 k r n 運用乙個生成多項式g x 也可看成二進位制數 用模2除上面的式子,得到的餘數就是校驗碼。非常簡單...