无速率码(入门五):Raptor Codes
2006《Raptor Codes》學(xué)習(xí)筆記
??Raptor碼是LT碼的擴(kuò)展,采用線性時間編碼和解碼。 對比LT碼,Raptor碼具有更低的解碼器錯誤概率。
Raptor碼開源項(xiàng)目參考
9.20補(bǔ)充:
6.3 如何生成系統(tǒng)的Raptor碼
??先給出一個非系統(tǒng)Raptor碼案例,用源符號(x1,x2,…xk)去生成冗余(z1,z2,…z(n-k))時采用預(yù)編碼,如果接收端知道這些預(yù)編碼關(guān)系,相當(dāng)于接收端在接受到的符號外,具有n-k個約束符號,即部分符號的和一定為0。
??而系統(tǒng)Raptor碼要求:
思路是:給定非系統(tǒng)Raptor碼R,其編解碼過程相當(dāng)于符號的逆映射。
??假設(shè)接收機(jī)收到了一共包含n個符號的(y‘)序列,相當(dāng)于上述(y)序列的隨機(jī)符號擦除。繼續(xù)假設(shè)前m個(y’)符號和原符號相同,即(xi1,…,xim)=(yi1,…,yim)\left(x_{i_1}, \ldots, x_{i_m}\right)=\left(y_{i_1}, \ldots, y_{i_m}\right)(xi1??,…,xim??)=(yi1??,…,yim??),而剩余n-m個為修復(fù)符號,從整體中先回復(fù)(z)序列,然后從(z)序列中恢復(fù)(x)序列:
這一方法缺點(diǎn)在于源符號和修復(fù)符號的度分布不同了,導(dǎo)致其overhead-failure曲線表現(xiàn)的不太好。
Raptor(三): Shokrollahi, A. and M. Luby, “Raptor Codes”中補(bǔ)充
目錄
- 6.3 如何生成系統(tǒng)的Raptor碼
- 1. Distribution on F2k\mathbb{F}_{2}^{k}F2k?
- 2. 噴泉碼和LT碼
- 3. Raptor碼
- 4. 具有良好漸近性能的Raptor碼設(shè)計(jì)分析(非實(shí)用角度)
- 4.1 預(yù)設(shè)度分布
- 4.2 適配的預(yù)編碼
- 6. 有限長Raptor分析
- 6.1 CNs度分布
- 6.2 LDPC+LT分總式解碼錯誤概率分析(sec7bcd)
- 6.3 短塊Raptor設(shè)計(jì)
1. Distribution on F2k\mathbb{F}_{2}^{k}F2k?
??以Ω0,Ω1,…,Ωk\Omega_{0}, \Omega_{1}, \ldots, \Omega_{k}Ω0?,Ω1?,…,Ωk?表示取值{0,…,k}\{0, \ldots, k\}{0,…,k}的概率分布,后續(xù)用生成多項(xiàng)式Ω(x)=∑i=0kΩixi\Omega(x)=\sum_{i=0}^{k} \Omega_{i} x^{i}Ω(x)=∑i=0k?Ωi?xi表示概率分布,此時分布的期望為Ω′(1)\Omega^{\prime}(1)Ω′(1)(一般來說Ω0=0\Omega_{0}=0Ω0?=0)。
??Ω(x)\Omega(x)Ω(x) on F2k\mathbb{F}_{2}^{k}F2k?表示具有權(quán)重值 w 的向量 v 在空間 F2k\mathbb{F}_{2}^{k}F2k? 上的概率分布為Ωw/(kw)\Omega_{w} /\left(\begin{array}{l}k \\ w\end{array}\right)Ωw?/(kw?),該分布可由一個抽樣算法產(chǎn)生:首先從分布Ω(x)\Omega(x)Ω(x)中抽選一個權(quán)重w,然后再 F2k\mathbb{F}_{2}^{k}F2k?依照均勻隨機(jī)抽樣的分布多項(xiàng)式Ω(x)=12k(1+x)k\Omega(x)=\frac{1}{2^{k}}(1+x)^{k}Ω(x)=2k1?(1+x)k得出具有權(quán)重w的向量。
關(guān)于 F2k\mathbb{F}_{2}^{k}F2k? 的理解參考伽羅華域
2. 噴泉碼和LT碼
??對于正整數(shù) kkk 和 F2k\mathbb{F}_{2}^{k}F2k? 上的度分布 D\mathcal{D}D ,(k,D)(k, \mathcal{D})(k,D)噴泉碼就是將其F2k\mathbb{F}_{2}^{k}F2k? 中的長度為k的二進(jìn)制bit流(x1,…,xk)\left(x_{1}, \ldots, x_{k}\right)(x1?,…,xk?)線性映射成F2N\mathbb{F}_{2}^{\mathbb{N}}F2N?中長度為N的新序列{∑ivixi}\{\sum_{i} v_{i} x_{i}\}{∑i?vi?xi?},其中序列中每一個碼字的(v1,…,vk)\left(v_{1}, \ldots, v_{k}\right)(v1?,…,vk?)經(jīng)過兩步生成:先從度分布中抽選一個整數(shù)k,然后根據(jù)整數(shù)k從Ω(x)=12k(1+x)k\Omega(x)=\frac{1}{2^{k}}(1+x)^{k}Ω(x)=2k1?(1+x)k均勻抽選出k個值的向量。這樣每一組輸入符號都有對應(yīng)關(guān)聯(lián)的噴泉碼。
??編碼器開銷即得到symbol預(yù)期的運(yùn)算次數(shù)
??解碼算法開銷即得到每個symbol預(yù)期的平均運(yùn)算次數(shù)
??以下討論擦除概率為p的無記憶BEC上的噴泉碼,通過其解碼圖分析其編解碼開銷的信息論下界:
Proposition1:編碼器開銷為Ω′(1)\Omega^{\prime}(1)Ω′(1),其下界為o(log?(k))o( \log (k))o(log(k))
要點(diǎn):解碼器的錯誤概率由未覆蓋VNs的存在概率下限決定。(該概率與CNs的平均度存在關(guān)系)對指數(shù)形式進(jìn)行泰勒展開后放縮得到CNs的平均度α\alphaα下限為clog?(k)c \log (k)clog(k),其中c為一個常數(shù)。解碼器錯誤下限為1?α/k1-\alpha / k1?α/k。解碼器的解碼圖邊數(shù)至少為o(klog?(k))o( k \log (k))o(klog(k)),
Proposition2:假定權(quán)重向量使用均勻分布生成,則其期望為k2\frac{k}{2}2k?,對應(yīng)CNs連接的平均邊數(shù)和編碼器平均開銷。則ML解碼器的開銷下界為O(log?(k)/k)O(\log (k) / k)O(log(k)/k)
要點(diǎn):解碼過程等價于線性方程組的求解,矩陣非滿秩的概率(2k?1)/2n≤2k?n\left(2^{k}-1\right) / 2^{n} \leq 2^{k-n}(2k?1)/2n≤2k?n:矩陣所有行都屬于同一超平面的概率為2?n2^{-n}2?n,一共有2k?12^{k}-12k?1超平面,非滿秩即所有行都不在一個超平面。之后利用Proposition1結(jié)論:令n=k+clog?(k)n=k+c \log (k)n=k+clog(k)可使得解碼器錯誤概率趨近下限。故ML解碼器對于nnn階線性方程操作次數(shù)為O(n)O(n)O(n),解碼器開銷為O(log?(k)/k)O(\log (k) / k)O(log(k)/k)
BP解碼器執(zhí)行以下步驟,直到圖中不存在一級輸出符號或者直到所有輸入符號都已恢復(fù):
3. Raptor碼
在保留LT碼解碼錯誤率趨近信息論下界的基礎(chǔ)上,Raptor:
??提出思想:從Proposition1入手,解碼器的解碼圖邊數(shù)至少為o(klog?(k))o( k \log (k))o(klog(k)),是為了每一個VNs都有足夠高的概率被納入覆蓋范圍。Raptor碼考慮只將一定比例的VNs納入被覆蓋范圍。
??利用上述思路需要實(shí)現(xiàn):1. 如何設(shè)計(jì)編解碼算法趨近理論下界——靠調(diào)整LT碼編解碼方案解決 2. 需要恢復(fù)所有VNs而不是一定比例的VNs——靠糾正擦除的預(yù)編碼實(shí)現(xiàn)
如上圖所示,(k,C,Ω(x))(k, \mathcal{C}, \Omega(x))(k,C,Ω(x)) Raptor碼即經(jīng)過k→nk→nk→n預(yù)編碼過程C\mathcal{C}C后,再經(jīng)過預(yù)設(shè)度分布Ω(x)\Omega(x)Ω(x)對新n個中間節(jié)點(diǎn)生成的無限長的或截?cái)嗟膰娙a碼字。
Raptor碼編碼開銷為E(C)/k+Ω′(1)\mathrm{E}(\mathcal{C}) / k+\Omega^{\prime}(1)E(C)/k+Ω′(1),其中E(C)\mathrm{E}(\mathcal{C})E(C)即預(yù)編碼的期望運(yùn)算次數(shù)。
研究Raptor碼性能:
4. 具有良好漸近性能的Raptor碼設(shè)計(jì)分析(非實(shí)用角度)
目的:使得空間開銷趨近1,解碼器間接開銷趨近0
做法:選擇合適的CNs預(yù)設(shè)度分布和預(yù)編碼
4.1 預(yù)設(shè)度分布
設(shè)最大的度D:=?4(1+ε)/ε?D:=\lceil 4(1+\varepsilon) / \varepsilon\rceilD:=?4(1+ε)/ε?,并定義度分布ΩD(x)=1μ+1(μx+∑i=2Dxi(i?1)i+xD+1D)\Omega_{D}(x)=\frac{1}{\mu+1}\left(\mu x+\sum_{i=2}^{D} \frac{x^{i}}{(i-1) i}+\frac{x^{D+1}}{D}\right) ΩD?(x)=μ+11?(μx+i=2∑D?(i?1)ixi?+DxD+1?)其中μ=(ε/2)+(ε/2)2\mu=(\varepsilon / 2)+(\varepsilon / 2)^{2}μ=(ε/2)+(ε/2)2。
有如下定理(定理4):
?c(ε)>0\exist c(\varepsilon)> 0?c(ε)>0,使得在(n,ΩD(x))\left(n, \Omega_{D}(x)\right)(n,ΩD?(x))LT碼中BP解碼器能通過(1+ε/2)n+1(1+\varepsilon / 2) n+1(1+ε/2)n+1個CNs恢復(fù)出至少(1?δ)n(1-\delta) n(1?δ)n個VNs,其中δ=(ε/4)/(1+ε)\delta=(\varepsilon / 4) /(1+\varepsilon)δ=(ε/4)/(1+ε),解碼器無法恢復(fù)δn\delta nδn個VNs(或更多)的錯誤概率上界為e?cne^{-c n}e?cn
4.2 適配的預(yù)編碼
預(yù)編碼方式不是一定的,但參數(shù)是一定的,該參數(shù)下無論什么預(yù)編碼都能使得-n變化-空間開銷趨近1,解碼器間接開銷趨近0,只是趨近速度不同
定理5在說:采用在定理四的條件下(D=?4(1+ε)/ε?,R=(1+ε/2)/(1+ε),n=?k/(1?R)?D=\lceil 4(1+\varepsilon) / \varepsilon\rceil, R=(1+\varepsilon / 2) /(1+\varepsilon), n=\lceil k /(1-R)\rceilD=?4(1+ε)/ε?,R=(1+ε/2)/(1+ε),n=?k/(1?R)?)的預(yù)編碼,Raptor碼可以實(shí)現(xiàn)空間開銷1/R,解碼器間接開銷ε\varepsilonε,和解碼開銷O(log?(1/ε))O(\log (1 / \varepsilon))O(log(1/ε))
Todo: 定理證明
6. 有限長Raptor分析
6.1 CNs度分布
input symbol released at time T:如果一個VN在T個VN被解碼后度數(shù)降為1,稱該VN在T時刻被釋放
input ripple at time T:定義為在時刻T被釋放的VNs的集合
度分布的衡量指標(biāo):要使得解碼過程中input ripplle盡可能大
方法:and-or tree分析法
結(jié)論:文中的k大于等于65536,k較短時需要參考別的論文
6.2 LDPC+LT分總式解碼錯誤概率分析(sec7bcd)
ToDo
6.3 短塊Raptor設(shè)計(jì)
CNs度分布的設(shè)計(jì)+解碼器的設(shè)計(jì)(文中僅引用未細(xì)說)
總結(jié)
以上是生活随笔為你收集整理的无速率码(入门五):Raptor Codes的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 针尖对麦芒 两款旗舰级GPS户外腕表对比
- 下一篇: 各种格式文件ocr成word文件的方法