趙祥偉,卿粼波,楊 紅,何小海
(四川大學 電子信息學院,四川 成都 610065)
在無線傳感器網(wǎng)絡、分布式視頻編碼和高光譜圖像壓縮傳輸?shù)葓鼍爸羞M行分布式壓縮編碼時,通常是多個信源的情況。在Slepian-Wolf理論[1]和Wyner-Ziv理論[2]基礎(chǔ)上,基于信源之間存在統(tǒng)計相關(guān)性,利用這些統(tǒng)計特性來進行高效的編解碼,這也是分布式信源編碼(Distributed Source Coding,DSC)研究的重點。分布式信源信道聯(lián)合編解碼與傳統(tǒng)的信源信道獨立編碼相比,大幅度降低了編譯碼的復雜度以及資源消耗,而且在編碼效率上相近,因此一直是研究的熱點。
2009年,土耳其教授Arikan[3]利用信道極化技術(shù)提出了可以達到香農(nóng)極限的極化碼,之后Arikan[4]又將極化技術(shù)引入信源編碼,用于信源壓縮的極化碼。由于極化技術(shù)可以運用于信源和信道,因此可以結(jié)合2種極化設計信源信道聯(lián)合編碼的極化碼。
目前分布式信源信道聯(lián)合編碼主要采用Turbo碼和LDPC碼,文獻[5-9]針對不同的信道碼設計了DJSCC方案,為了適應不同的速率,將檢驗位進行打孔,通過不同的打孔方案降低了發(fā)送端的功耗。文獻[10-14]根據(jù)不同的場景提出了不同的DJSCC模型,為DJSCC的應用提供了優(yōu)質(zhì)的解決方案。此外,近年來有部分學者將深度學習應用到了DJSCC的編譯碼中[15-18],為DJSCC提供了新的研究思路。但是這些研究主要是針對單信源和雙信源的情況,并沒有涉及多信源的復雜場景。
極化碼相比LDPC和Turbo碼,編譯碼的復雜度更低,并且理論上可以達到香農(nóng)容量。在DJSCC方面,文獻[19]針對自然語言文本提出了基于非系統(tǒng)極化碼的聯(lián)合信源信道譯碼方案;文獻[20-21]利用極化碼的不等差錯保護的性質(zhì),將重要的比特信息放在更好的子信道上進行傳輸;文獻[22]利用信源極化特性提出了單信源的信源信道聯(lián)合編碼方案;文獻[23]主要研究打孔方案,沒有充分利用多信源之間的相關(guān)性。這些研究都是根據(jù)信源的不等概率冗余信息設計,不涉及多個信源,并且沒有充分利用信源之間的相關(guān)性。受這些文獻的啟發(fā),本文利用信源相關(guān)性提出了基于系統(tǒng)極化碼的多信源DJSCC方案,并且以三信源為例,展示了所提DJSCC方案在不同信噪比條件下的實驗結(jié)果。
此外,系統(tǒng)極化碼在誤碼性能、魯棒性和編碼復雜度方面均優(yōu)于非系統(tǒng)極化碼[24],因此本文采用系統(tǒng)極化碼來設計分布式多信源信道聯(lián)合編碼。實驗結(jié)果表明,利用信源之間的相關(guān)性進行DJSCC設計時,在不同碼率、碼長、信源相關(guān)性下具有較好的抗噪性能。
由于傳統(tǒng)的信源信道單獨編譯碼方式存在復雜度高、功耗低等問題,因此分布式信源信道聯(lián)合編碼被廣泛研究。文獻[25]表明,在有噪聲的條件下,信道容量區(qū)域和Slipian-Wolf理論區(qū)域有交集,如圖1所示的DJSCC區(qū)域,在該區(qū)域分布式信源信道聯(lián)合編碼可以實現(xiàn)正確譯碼(圖1中H(*)表示熵,R*表示碼率,C*表示信道容量)。本文在該理論基礎(chǔ)上,提出了基于極化碼的多信源信道聯(lián)合編碼方案。
圖1 DJSCC區(qū)域:信道容量區(qū)域和Slipian-Wolf理論區(qū)域的交集
對于多信源的情況,以3個相關(guān)信源為例,假設信源X1,X2和X3的2個信源可以用1個BSC信道描述P(X2≠X1|X1)=p1,P(X3≠X2|X2)=p2,P(X3≠X1|X1)=p3,如果X3已知,則有:
(1)
由于X1,X2的交叉概率為p1,假設X3與X1,X2的數(shù)學模型是對稱的,即相互關(guān)系可以表示為P(X1=i|X2=j,X3=k)=P(X1≠i|X2≠j,X3≠k),i,j,k∈{0,1},那么可以得到X1X2X3的關(guān)系為:
(2)
經(jīng)計算,可得p,q:
(3)
根據(jù)式(2)和式(3),可以得出X1,X2和X3的相關(guān)模型,如圖2所示,利用p,q可以定量地表示信源X1,X2和信源X3的相關(guān)性。
圖2 三信源的相關(guān)模型
本小節(jié)推導出了3個信源的相關(guān)模型,可以推廣到其他多信源相關(guān)性模型的建立。下面以3個信源為例,利用信源之間的相關(guān)性設計基于極化碼的分布式多信源信道聯(lián)合編解碼方案。
圖3 多信源的DJSCC編碼結(jié)構(gòu)
圖4 系統(tǒng)極化碼編碼器
從第2個編碼器開始,對(N,K)系統(tǒng)極化碼編碼后的校驗位按照高斯近似算法的子信道可靠性排序進行打孔,優(yōu)先打孔可靠性低的校驗位,被打孔的校驗位對數(shù)似然比(Log Likelihood Ratio,LLR)設置為0,未打孔的校驗位信息在實際信道中傳輸,系統(tǒng)位信息不用傳輸。
譯碼器的結(jié)構(gòu)如圖5所示,譯碼器采用CA-SCL算法。SCL譯碼算法實質(zhì)是SC譯碼算法的擴展,SC譯碼算法是利用每個傳輸碼字的對數(shù)似然比值(LLR)進行譯碼,LLR定義為:
圖5 多信源的DJSCC譯碼結(jié)構(gòu)
(4)
(5)
在圖5所示的譯碼結(jié)構(gòu)中,對于第1個譯碼器,利用接收到的第1個編碼器的全部校驗位信息和系統(tǒng)位信息進行譯碼;從第2個譯碼器開始,對于第i個譯碼器,前面的第1,2,3,…,(i-1)個譯碼器的譯碼結(jié)果全部當作邊信息,譯碼器i的系統(tǒng)位LLR按照式(6)計算。式(6)主要是根據(jù)信源相關(guān)性來確定對應信息位的權(quán)重,然后結(jié)合對應第i個編碼器傳輸過來的校驗位信息進行譯碼。
(6)
本小節(jié)以三信源為例,充分利用信源之間的相關(guān)性設計了基于極化碼的分布式多信源信道聯(lián)合編解碼方案,實驗結(jié)果在第3小節(jié)展示。類似地,可以推廣到其他多信源的DJSCC系統(tǒng)的設計。
針對本文提出的基于極化碼的多信源分布式信源信道聯(lián)合編譯碼方案,以3個信源為例,實驗設置碼長N=2 048,信息位長度K=640,打孔長度為704,信源之間的交叉概率為0.11,譯碼采用CA-SCL算法,CRC校驗的長度16 bit,實驗進行10 000幀測試,實驗的結(jié)果如圖6所示。
圖6 三信源的DJSCC譯碼性能
實驗結(jié)果表明,在第1個信源X1作為邊信息的條件下,第2個譯碼器的誤碼性能良好,并且同等條件下比文獻[23]中的信源X2誤碼性能更優(yōu)異;在前2個信源X1,X2作為聯(lián)合邊信息的條件下,第3個譯碼器的誤碼性能優(yōu)越,并且比第2個譯碼器的誤碼性能更好,由于文獻[23]并沒有第3個信源的實驗結(jié)果,所以沒有對比對象。
此外,圖7,圖8和圖9展示了在不同碼長、碼率、信源相關(guān)性的情況下,本文提出的三信源DJSCC譯碼性能仿真結(jié)果。圖7表明在碼率為0.5,3個信源之間的相關(guān)性為0.11的情況下,碼長越長,則譯碼性能越好。圖8表明在相同碼長和信源相關(guān)性的情況下,碼率越小,誤碼性能越好。圖9表明在相同碼長和碼率時,信源之間相關(guān)性越大,誤碼性能越好。
圖7 不同碼長的三信源DJSCC譯碼性能
圖8 不同碼率的三信源DJSCC譯碼性能
圖9 不同信源相關(guān)性時的三信源DJSCC譯碼性能
為了彌補無線傳感器網(wǎng)絡中資源少、能量低的應用場景缺陷,提出了基于系統(tǒng)極化碼的DJSCC方案。其中,編碼的實現(xiàn)復雜度低,只需要根據(jù)預先產(chǎn)生的生成矩陣即可進行編碼,硬件實現(xiàn)簡單;在信道傳輸時,把打孔技術(shù)運用到校驗位的傳輸中;在譯碼端,聯(lián)合譯碼器根據(jù)信源相關(guān)性進行聯(lián)合譯碼。仿真實驗結(jié)果表明,譯碼器的誤碼性能優(yōu)異,滿足實際的無線傳感器應用場景要求,并且從第2個編碼器開始只傳輸部分校驗位,大幅度降低了發(fā)送端的功耗。提出的信源信道聯(lián)合編譯碼方案可以為未來多信源的分布式網(wǎng)絡提供重要參考。