0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

線性糾錯(cuò)碼的基石——奇偶校驗(yàn)

SSDFans ? 來(lái)源:未知 ? 作者:李倩 ? 2018-07-13 17:14 ? 次閱讀

糾錯(cuò)編碼的核心設(shè)計(jì)思想是通過(guò)增加冗余信息,使得原始信息的編碼之間有足夠大的區(qū)別。

編碼距離

還記得蛋蛋表白的時(shí)候,信息為“我 喜 歡 你”四個(gè)字,為了防止女神聽不到,他添加了冗余信息。經(jīng)過(guò)蛋蛋添加冗余后變?yōu)榱恕拔?我 我 喜 喜 喜 歡 歡歡 你 你 你”,其實(shí)女神收到的信號(hào)為(我 我 餓 T x x 歡 花 歡 x x 里),其中x表示為鄰座大媽的霸氣的笑聲,女神是如何正確的捕捉到蛋蛋的意圖呢?顯然女神在這方面很有經(jīng)驗(yàn),識(shí)破了蛋蛋重復(fù)三遍的伎倆,電光火石間,在她腦海里飛速搜索比對(duì)推理,得出一個(gè)通順而有意義的結(jié)論。換句話說(shuō),在女神的詞典中,有意義的語(yǔ)句全都列出來(lái),發(fā)現(xiàn)跟蛋蛋發(fā)出聲音最相似的就是:“我我 我 喜 喜 喜 歡 歡 歡 你 你 你“

女神的詞典可以看成所有可能編碼的集合,如何衡量這個(gè)編碼集合中,容易混淆的程度呢?這個(gè)參數(shù)就是編碼距離。什么是距離呢,這里指的是漢明距離,指的是兩個(gè)信號(hào)之間有多少bit 不同。比如信號(hào)(0,1,1)與(0,0,0)的距離為2,(1,1,1)與(0,0,0)的距離為3.

蛋蛋有4個(gè)信息,為00,01,10,11. 現(xiàn)在如何插入冗余呢?

首先想到的是重復(fù)法:

q 00 變?yōu)?00 00 00 00

q 01 變?yōu)?01 01 01 01

q 10 變?yōu)?10 10 10 10

q 11 變?yōu)?11 11 11 11

現(xiàn)在接收到信號(hào) 為 00 01 00 00, 我們發(fā)現(xiàn)跟這個(gè)信號(hào)最相似的是 00 00 00 00,距離為1.

一個(gè)編碼集合里,大家不一定是均勻分布的,有些編碼之間距離比較近,有些比較遠(yuǎn),編碼距離指的是最近的兩個(gè)編碼之間距離。

解碼的時(shí)候,一個(gè)最暴力的方法就是一一比較接收到的信號(hào)和所有有效編碼之間的編碼距離,選擇編碼距離最小的。所以編碼距離的重要作用是可以指示編碼可以糾錯(cuò)的bit個(gè)數(shù)。蛋蛋和阿呆住在不同的地方,相距為d,蛋蛋養(yǎng)了一群羊,阿呆也養(yǎng)了一群羊。羊會(huì)亂跑,顯然只要羊跑的距離小于d/2 距離,就可以判斷羊?qū)儆诘暗斑€是阿呆。所以對(duì)糾錯(cuò)碼而言,編碼距離為d,只要bit翻轉(zhuǎn)個(gè)數(shù)小于d/2,我們可以根據(jù)離得誰(shuí)近就歸誰(shuí)的原則去糾錯(cuò)(趕羊回家)。

線性糾錯(cuò)碼的基石——奇偶校驗(yàn)(parity-Check)

收錢的阿姨狐疑地拿起蛋蛋遞過(guò)來(lái)的皺巴巴的100塊錢,迎著燈光仔細(xì)打量過(guò)后,又取出了紫外線燈從頭到尾照了一下,終于把錢放進(jìn)錢盒子里,找了蛋蛋99塊5。阿姨擔(dān)心收到假幣,她檢查鈔票可不敢馬虎。

阿姨檢查鈔票的行為叫做信號(hào)校驗(yàn),信號(hào)校驗(yàn)的基本模型是:

對(duì)信號(hào)進(jìn)行某種特定的處理后,得到期望的結(jié)果是為校驗(yàn)通過(guò),否則校驗(yàn)失敗。

這里信號(hào)用表示,特定的處理用H表示,表示對(duì)信號(hào)y進(jìn)行了處理。處理結(jié)果用CR表示。

在二進(jìn)制的世界里,最基礎(chǔ)的校驗(yàn)方法是奇偶校驗(yàn)即parity-Check。

對(duì)于nbit 二進(jìn)制信號(hào):

例如長(zhǎng)度為16的二進(jìn)制數(shù)據(jù):1000100111011011,其中1的個(gè)數(shù)為9,故CR = 1。

判斷信號(hào)里的1的個(gè)數(shù)為奇還是偶,有非常簡(jiǎn)單的方法。在二進(jìn)制里,有一種異或

(即xor)運(yùn)算,符號(hào)為 ,運(yùn)算方式先進(jìn)行加法運(yùn)算,然后運(yùn)算結(jié)果對(duì)2取余數(shù)(mod(2)),或者更簡(jiǎn)單的記憶為“相加不進(jìn)位”:

圖1 異或運(yùn)算表達(dá)式

可以驗(yàn)證只要把二進(jìn)制的每一個(gè)bit依次進(jìn)行xor運(yùn)算,奇數(shù)個(gè)bit 1的結(jié)果為1,偶數(shù)個(gè)bit 1的結(jié)果為0,與bit 0的個(gè)數(shù)無(wú)關(guān)。

所以,用 表示第bit i的值(0或1),有

利用奇偶校驗(yàn)可以構(gòu)造最簡(jiǎn)單的校驗(yàn)碼——單bit校驗(yàn)碼SPC(即single bit parity check code)。

把長(zhǎng)度為n的二進(jìn)制信息,增加1 bit 變成y’,使得:

現(xiàn)在y’構(gòu)成了y的單bit校驗(yàn)碼。(a)又叫做奇偶校驗(yàn)方程。

顯然,y’中任意一個(gè)bit如果發(fā)生bit反轉(zhuǎn),無(wú)論從0到1,還是1到0,校驗(yàn)方程 CR = 1 。

SPC 可以探知任意單bit的反轉(zhuǎn)。對(duì)于偶數(shù)個(gè)bit 反轉(zhuǎn)SPC無(wú)法探知。而且校驗(yàn)方程并無(wú)法知道是bit反轉(zhuǎn)的位置,所以無(wú)法糾錯(cuò)。

一個(gè)自然的想法是,增加SPC的個(gè)數(shù),增加冗余的校驗(yàn)信息。同一個(gè)bit被好幾個(gè)校驗(yàn)方程保護(hù),當(dāng)它出現(xiàn)錯(cuò)誤時(shí)候,就不會(huì)被漏掉。

后面的文章中,用 + 代替

校驗(yàn)矩陣H和 生成矩陣G

蛋蛋的丈母娘,在女兒結(jié)婚前對(duì)未來(lái)女婿有一個(gè)要求列表,前五條是1)一定是博士學(xué)位,2)脾氣要好,3)人要長(zhǎng)得帥,4)會(huì)做家務(wù), 5)財(cái)政上交

這樣,蛋蛋的丈母娘通過(guò)提出要求,就輕而易舉實(shí)現(xiàn)了對(duì)地球上所有男性同胞的一個(gè)劃分。每一條要求都是一個(gè)校驗(yàn)方程。什么樣的校驗(yàn)方程組,決定了這個(gè)男性同胞群到底有哪些人組成。

多個(gè)校驗(yàn)方程可以表示為校驗(yàn)矩陣 H。有了H 就可以確定所有可能的編碼。

對(duì)于所有x(〖x_0 ,x〗_1 ,x_2,x_3,x_4,x_5…),只要滿足

Hx^T= 0

x 就是合理的編碼。如果不滿足,x不屬于合理的編碼,認(rèn)為在傳輸?shù)倪^(guò)程中x出現(xiàn)了錯(cuò)誤。

舉例:長(zhǎng)度為4的信號(hào),x(x_0 ,x_1 ,x_2,x_3),有2個(gè)校驗(yàn)方程:

x_0+x_2=0

x_1+x_2+x_3=0

現(xiàn)在用 + 代替 ?,

可見,H矩陣?yán)锩恳恍锌梢员硎疽粋€(gè)校驗(yàn)方程。行里的1的位置i表示信號(hào)中第i bit 參與校驗(yàn)方程。

所有滿足奇偶校驗(yàn)方程的x組成了一個(gè)編碼集合。一般來(lái)說(shuō),編碼長(zhǎng)度為n bit,有r個(gè)線性獨(dú)立的校驗(yàn)方程,則可以提供k = (n – r)個(gè)有效信息bit,和r個(gè)校驗(yàn)bit。

對(duì)于線性分組編碼而言,原始信號(hào)u經(jīng)過(guò)一定的線性變換可以生成糾錯(cuò)碼c。完成冗余的添加。線性變換可以寫成矩陣的形式,這個(gè)矩陣就是生成矩陣G。

表示為,c =uG

c為 n bit 信號(hào)。u 為k bit 信號(hào),G 為 k x n 大小的矩陣。由H 矩陣可以推導(dǎo)出生成矩陣G。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 冗余
    +關(guān)注

    關(guān)注

    1

    文章

    109

    瀏覽量

    20163
  • 信號(hào)
    +關(guān)注

    關(guān)注

    11

    文章

    2773

    瀏覽量

    76539
  • 編碼
    +關(guān)注

    關(guān)注

    6

    文章

    932

    瀏覽量

    54731

原文標(biāo)題:蛋蛋表白地鐵女孩與閃存糾錯(cuò)編碼

文章出處:【微信號(hào):SSDFans,微信公眾號(hào):SSDFans】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    認(rèn)證系統(tǒng)與糾錯(cuò)碼的應(yīng)用研

    針對(duì)數(shù)字簽名,探討了糾錯(cuò)碼理論和技術(shù)在數(shù)字簽名中的重要作用,介紹了一類糾錯(cuò)碼數(shù)字簽名方案;提出了一種將簽名與加密、糾錯(cuò)相結(jié)合的公鑰密碼新體制,新體制比較充分
    發(fā)表于 08-13 10:49 ?6次下載

    新的非對(duì)稱量子糾錯(cuò)碼的構(gòu)造

    量子糾錯(cuò)碼在量子通信和量子計(jì)算中起著非常重要的作用,之前的量子糾錯(cuò)碼的構(gòu)造大部分都集中在對(duì)稱的量子信道,即量子比特翻轉(zhuǎn)的錯(cuò)誤概率與量子相位翻轉(zhuǎn)的錯(cuò)誤概率相等。
    發(fā)表于 02-10 11:13 ?6次下載

    奇偶校驗(yàn)

    奇偶校驗(yàn)碼   奇偶校驗(yàn)碼是一種開銷最小,能發(fā)現(xiàn)數(shù)據(jù)代碼中一位出錯(cuò)情況的編碼,常用于存儲(chǔ)器讀寫檢查,或ASCII字符、其它類
    發(fā)表于 10-13 16:42 ?5267次閱讀

    奇偶校驗(yàn)器,奇偶校驗(yàn)器是什么意思

    奇偶校驗(yàn)器,奇偶校驗(yàn)器是什么意思 奇偶校驗(yàn)器定義 為了系統(tǒng)的可靠性,對(duì)于位數(shù)
    發(fā)表于 03-08 17:32 ?2186次閱讀

    奇偶校驗(yàn)碼,奇偶校驗(yàn)碼原理是什么?

    奇偶校驗(yàn)碼,奇偶校驗(yàn)碼原理是什么? 奇偶校驗(yàn)碼是奇校驗(yàn)碼和偶校驗(yàn)碼的統(tǒng)稱,是一種最基本的檢錯(cuò)碼
    發(fā)表于 03-17 17:39 ?6.3w次閱讀

    RS糾錯(cuò)碼在圖文電視數(shù)據(jù)廣播中的應(yīng)用

    Reed-Solomon 以下稱 RS 碼 是性能優(yōu)良的糾錯(cuò)碼線性分組碼中它的糾錯(cuò)能力和編碼效率是最高的例如日本的BEST 糾錯(cuò)碼是(272 190)大數(shù)邏輯碼可以糾8 個(gè)錯(cuò)誤比特編
    發(fā)表于 07-21 15:20 ?35次下載

    奇偶校驗(yàn)器_奇偶校驗(yàn)設(shè)計(jì)程序

    本內(nèi)容提供了奇偶校驗(yàn)器_奇偶校驗(yàn)設(shè)計(jì)的程序代碼,希望對(duì)大家有幫助
    發(fā)表于 11-11 10:04 ?5690次閱讀

    糾錯(cuò)碼與通信系統(tǒng)的保密

    糾錯(cuò)碼與通信系統(tǒng)的保密,有需要的下來(lái)看看。
    發(fā)表于 07-29 19:05 ?0次下載

    適用于SRAM_PUF的糾錯(cuò)碼研究

    適用于SRAM_PUF的糾錯(cuò)碼研究_馮志華
    發(fā)表于 01-08 15:15 ?10次下載

    基于糾錯(cuò)碼的灰度位信息隱藏算法

    針對(duì)空域圖像信息隱藏(IH)算法健壯性較差的缺陷,研究了基于糾錯(cuò)碼的圖像信息隱藏算法。利用糾錯(cuò)碼能夠糾正隨機(jī)錯(cuò)誤的特性提高空域信息隱藏算法抵抗攻擊者修改載體的能力。給出了兩類不同的算法:基于糾錯(cuò)碼
    發(fā)表于 01-07 10:12 ?0次下載
    基于<b class='flag-5'>糾錯(cuò)碼</b>的灰度位信息隱藏算法

    stm32 usart奇偶校驗(yàn)如何配置

    stm32 usart奇偶校驗(yàn)如何配置?或許你在stm32 usart奇偶校驗(yàn)過(guò)程中會(huì)遇到如下一些坑,stm32 usart偶校驗(yàn)錯(cuò)誤標(biāo)志位以及出現(xiàn)偶校驗(yàn)錯(cuò)誤,
    的頭像 發(fā)表于 07-23 09:55 ?7398次閱讀
    stm32 usart<b class='flag-5'>奇偶校驗(yàn)</b>如何配置

    增強(qiáng)FIFO模式下的奇偶校驗(yàn)

    自昊芯推出專題講解SCI串口通訊奇偶校驗(yàn),分為兩期講解,上期主要講解標(biāo)準(zhǔn)SCI模式下的奇偶校驗(yàn),本期主要講解增強(qiáng)FIFO模式下的奇偶校驗(yàn)。
    的頭像 發(fā)表于 11-02 09:30 ?976次閱讀

    什么是奇偶校驗(yàn) 奇偶校驗(yàn)的基本原理 奇偶校驗(yàn)電路什么意思

    什么是奇偶校驗(yàn) 奇偶校驗(yàn)的基本原理 奇偶校驗(yàn)電路什么意思? 奇偶校驗(yàn)是一種用于檢測(cè)二進(jìn)制數(shù)據(jù)中錯(cuò)誤的方法。它的基本原理是在二進(jìn)制數(shù)據(jù)的末尾添加一個(gè)額外的位,使得數(shù)據(jù)中二進(jìn)制 1 的數(shù)量
    的頭像 發(fā)表于 10-17 16:16 ?3548次閱讀

    什么是奇偶校驗(yàn)電路?奇偶校驗(yàn)器是時(shí)序邏輯電路嗎?

    什么是奇偶校驗(yàn)電路?奇偶校驗(yàn)器是時(shí)序邏輯電路嗎? 奇偶校驗(yàn)電路是一種數(shù)字電路,在數(shù)據(jù)傳輸過(guò)程中用于檢測(cè)數(shù)據(jù)是否發(fā)生錯(cuò)誤。在每個(gè)數(shù)據(jù)字節(jié)(通常是8位)的最高位添加一位(偶校驗(yàn))或兩位(奇
    的頭像 發(fā)表于 10-17 16:16 ?3439次閱讀

    奇偶校驗(yàn)和crc校驗(yàn)的區(qū)別 CRC校驗(yàn)奇偶校驗(yàn)之間有什么關(guān)系?

    奇偶校驗(yàn)和crc校驗(yàn)的區(qū)別 CRC校驗(yàn)奇偶校驗(yàn)之間有什么關(guān)系? 奇偶校驗(yàn)和 CRC(Cyclic Redundancy Check)
    的頭像 發(fā)表于 10-17 16:28 ?3208次閱讀