• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于SOVA與BCJR算法的CPM信號改進譯碼算法

      2017-03-06 21:09:52傅蕾王雷王亮
      軟件導(dǎo)刊 2017年1期

      傅蕾+王雷+王亮

      摘要摘要:BCJR算法是一種最優(yōu)譯碼算法,但是計算量大、譯碼復(fù)雜;SOVA算法譯碼簡單,但是性能稍差。針對這兩種算法的缺點,在連續(xù)相位調(diào)制信號系統(tǒng)中,提出一種基于減少搜索T-BCJR與SOVA算法的改進譯碼算法。該算法能在減少迭代譯碼時的搜索路徑數(shù)量、降低譯碼復(fù)雜度的同時達到比較好的譯碼性能。經(jīng)過實驗仿真,驗證了該算法的可行性與優(yōu)越性。

      關(guān)鍵詞關(guān)鍵詞:SOVA;T-BCJR;連續(xù)相位調(diào)制;迭代譯碼

      DOIDOI:10.11907/rjdk.162309

      中圖分類號:TP312文獻標識碼:A文章編號文章編號:16727800(2017)001003503

      引言

      連續(xù)相位調(diào)制CPM(Continuous Phase Modulation)信號是一種恒包絡(luò)且相位連續(xù)的調(diào)制信號,與其它調(diào)制方法相比,具有很高的頻譜和功率利用率。由于信號的包絡(luò)恒定,對功放的非線性特性不敏感,可以使用C類(非線性)功率放大器。另外,信號相位連續(xù),帶外輻射小,產(chǎn)生的鄰道干擾也比較小。

      因此,CPM調(diào)制技術(shù)近年來受到廣泛關(guān)注。G.Ungerboeck[1]提出了網(wǎng)格編碼調(diào)制TCM(Trellis Coded Modulation)的設(shè)計方法,將線性調(diào)制技術(shù)與信道編碼結(jié)合,很大程度上提高了系統(tǒng)的性能。C.Berrou[2]提出了Turbo碼,迭代解碼的結(jié)構(gòu)被應(yīng)用到串行級聯(lián)CPM系統(tǒng)的譯碼中。孫錦華[3]提出了一種基于RSSD思想的減狀態(tài)譯碼算法,降低了譯碼復(fù)雜度。

      本文主要探討連續(xù)相位調(diào)制信號在高斯白噪聲信道下的譯碼算法,并提出一種基于Turbo譯碼算法的改進結(jié)構(gòu),該算法結(jié)合了Turbo碼譯碼的SOVA與BCJR算法的優(yōu)點。通過仿真實驗,驗證了該算法的可行性,可以在減少算法復(fù)雜度的同時改善系統(tǒng)的譯碼性能。

      1基本概念

      1.1CPM概念與分解模型

      CPM信號的一般表達式為: S(t,α)=2ETcos(2πfct+φ(t,α)+φ0)(1)其中,fc是載波頻率,φ0是載波的初始相位,T為碼元周期,E是一個碼元周期T內(nèi)的信號能量,φ(t,α)是攜帶信息的相位,表示如下:φ(t,α)=2πh∑nk=-∞αkq(t-kT)

      nT≤t≤(n+1)T(2)其中,αk是M進制的信息符號,取值范圍是αk∈{±1,±3,…,±(M-1)};h=K/P(K,P為互斥正整數(shù))是調(diào)制指數(shù);q(t)為相位響應(yīng)函數(shù),定義為脈沖函數(shù)g(t)的積分:q(t)=∫τ0g(τ)dτ(3)常見的脈沖函數(shù)有L-REC方波、L-RC升余弦和L-GMSK高斯成形脈沖。

      令φ(t,α)=φ(t,α)+πh(M-1)t/T,Ui=[αi+(M-1)]/2,t=τ+nT,可得:φ(t,U)=R2π[2πhRP∑n-Li=0Ui+

      4πh∑L-1i=0Un-iq(t-(n-i)T)+W(τ)](4)其中,0≤t≤T,R2π[]和RP[]分別表示模2π和模P操作,W(τ)是與輸入信息序列無關(guān)的項。

      代入CPM信號的表達式,可以得到傾斜相位的CPM信號表達式[4]:S(t,U)=2ETcos(2πft+φ(t,U)+φ0)(5)其中,f=fc-h(M-1)/2T。

      從式(4)可看出,任意一個符號周期T內(nèi),CPM信號可以由當(dāng)前輸入Un、前L-1個輸入Un-L+1,…,Un-1、累加和Vn=RP[∑n-Li=0Ui]確定。

      因此,CPM可以分解為一個連續(xù)相位編碼器CPE與無記憶調(diào)制器MM的組合,CPE具有遞歸和記憶特性,可以將CPE看作是碼率為1的卷積編碼器[5]。

      連續(xù)相位編碼器CPE(Continuous Phase Encode)的輸出為Xn=[Vn,Un-L+1,...,Un],作為無記憶調(diào)制器MM(Memoryless Modulator)的輸入,然后MM選擇對應(yīng)的信號波形發(fā)送到接收端。CPM的分解模型[6]如圖1所示。

      SOVA算法,即軟輸出的維特比算法,是維特比算法的改進類型。這種算法不僅能得出最大似然路徑,而且能計算出每個信息比特的后驗概率[7]。假設(shè)網(wǎng)格圖上每個節(jié)點有2個分支,狀態(tài)數(shù)為2v,v是編碼器的移位寄存器個數(shù)。在k時刻,狀態(tài)為Sk,計算路徑的距離度量,度量最小的作為SOVA算法的幸存路徑。同時,狀態(tài)Sj還對應(yīng)一條待選路徑。將幸存路徑的度量定為M1,相應(yīng)的待選路徑定為M2,可以得到幸存路徑的錯選概率為:PSK=exp(-M2)exp(-M1)+exp(-M2)

      =11+exp(M2-M1)

      =1exp(Δ)(6)其中,Δ=M2-M1≥0,表示傳輸?shù)牟豢尚哦取?/p>

      已經(jīng)存儲的幸存路徑的錯誤概率為:Pj←Pj(1-PSK)+(1-Pj)PSK

      j=j1,…,jn(7)子譯碼器之間迭代的對數(shù)似然比為:Lj=lg1-PjPj(8)SOVA算法是基于序列的譯碼算法,譯碼延遲和計算復(fù)雜度較低,在硬件上易于實現(xiàn),但性能與BCJR算法有較大差距。

      1.3BCJR算法

      BCJR算法因為其計算量大和硬件實現(xiàn)高復(fù)雜性而一直沒有得到重視,直到1993年Turbo碼的發(fā)明者在其最初的Turbo迭代譯碼方案中采用了修正的BCJR算法,人們才重新開始研究該算法,并證明了此算法是實現(xiàn)Turbo迭代譯碼最好的次最優(yōu)算法[8]。

      BCJR算法是基于碼字格圖的軟輸出譯碼算法,目的是使比特錯誤概率最小[9]。根據(jù)MLD原理,譯碼器的主要任務(wù)是計算在接收采樣條件下不同發(fā)送符號的概率,即P(uk=u|r),r為接收序列,然后將概率值最大的信息符號判決為譯碼值。=arg{max(P(uk=u|r))}(9)其中,后驗概率:P(uk=u|Y)=∑(s',s),uk∈Up(s',s,r)(10)其中,s',s分別表示k-1和k時刻的狀態(tài)。將p(s',s,r)分解成下面的格式:p(s',s,r)=αk-1(s')βk(s)γ(s',s)(11)前向遞推αk(s)、后向遞推βk-1(s')以及分支度量γ(s',s)的計算公式如下:αk(s)=∑s'αk-1(s')γk(s',s)

      βk-1(s')=∑sβk(s)γk(s',s)(12)

      γ(s',s)=P(s,r/s')=P(uk)*P(r/uk)通常,為了降低計算量,實際中會采用對數(shù)域的BCJR算法,即Log-MAP算法。

      算法復(fù)雜度比較如表1所示,v是寄存器個數(shù)。

      1.4改進的減少搜索T-BCJR算法

      T-BCJR算法是廣度優(yōu)先算法,其基本思想是在BCJR算法的基礎(chǔ)上疊加閾值計算[10]。如果在計算前向度量的過程中得到的值很小,則對路徑的選擇作用不大,因此可以預(yù)先設(shè)定閾值,度量小于閾值的狀態(tài)節(jié)點可以舍棄,而度量大于閾值的狀態(tài)節(jié)點則保留,遞推搜索沿著被保留下來的節(jié)點進行運算。同樣,后向遞推也沿著保留的節(jié)點進行運算。這樣減少了需要搜索的路徑,達到節(jié)省運算量的目的。

      T-BCJR算法并不能根據(jù)信道的具體條件進行調(diào)整,針對算法的局限對T-BCJR算法進行改進,即在原算法的閾值T中添加與信道相關(guān)的量ΔT,使得閾值T達到自適應(yīng)的目的。文獻[10]中提出了一種刪除糾錯算術(shù)碼解碼樹中狀態(tài)節(jié)點的方法,將這種思想運用到刪除BCJR算法中路徑貢獻小的狀態(tài)節(jié)點上。由文獻[10]得到如下表達式:Δ T≈C21N0(13)在高斯白噪聲信道條件下: Δ T=12C21 [1-log2 (1-ε)]·10-SNR10(14)其中,信噪比SNR=Eb/N0,常數(shù)C1與正確狀態(tài)被刪除的概率Prc有關(guān)。實驗中,假定Prc=0.001,則C1=2.185,單位是dB。在對數(shù)BCJR(Log-MAP)中,取ΔT的對數(shù)。

      2基于SOVA與改進T-BCJR算法的組合譯碼算法SOVA算法與BCJR算法的輸出都需要計算概率的對數(shù)似然比。因此,這兩種算法的軟輸出信息都可以作為另一種算法的輸入來進行計算,兩種算法交互使得整體計算量降低,并且系統(tǒng)的性能也可以得到保證。算法流程如圖2所示。

      如果錯誤數(shù)據(jù)數(shù)量大于N,就將SOVA譯碼得到的錯誤數(shù)據(jù)幀信息輸入到改進的T-BCJR算法中,并且將SOVA迭代產(chǎn)生的外部軟輸出信息作為T-BCJR算法的先驗信息,進一步迭代譯碼,否則進行BCJR譯碼。由于該算法是在SOVA算法上疊加少量的錯誤幀信息的T-BCJR譯碼,復(fù)雜度與BCJR算法相比小很多,譯碼的性能也與BCJR算法接近。

      3仿真結(jié)果分析

      本文仿真實驗所用的連續(xù)相位調(diào)制信號是四進制L=2、h=1/2的信號,脈沖函數(shù)為升余弦信號,仿真信道為高斯白噪聲信道。

      誤比特率隨信噪比變化的曲線,圖4則是幀長為1 024時誤比特率隨信噪比變化的曲線??梢钥闯?,在相同信噪比條件下,改進的譯碼算法誤碼率要優(yōu)于SOVA算法。在誤比特率達到10-4時,改進譯碼的信噪比只比BCJR算法低0.15 dB左右。另外,由圖3、圖4對比可以看出,隨著數(shù)據(jù)幀長的增加,算法整體性能會變好。

      另外,在低信噪比時,SOVA譯碼的誤碼率低,得到的錯誤幀數(shù)據(jù)較多,此時改進譯碼算法的復(fù)雜度是在SOVA

      安平县| 石城县| 龙山县| 台中市| 乌拉特后旗| 青冈县| 柳河县| 汉寿县| 甘肃省| 营口市| 微山县| 泰和县| 澄城县| 永春县| 商河县| 珲春市| 五家渠市| 花垣县| 南和县| 永丰县| 安顺市| 邢台县| 康平县| 昆山市| 鹤山市| 兴山县| 喀什市| 田林县| 屏边| 乐山市| 宝清县| 乌拉特中旗| 大同县| 蓝田县| 兴业县| 咸宁市| 林口县| 二连浩特市| 敖汉旗| 军事| 株洲县|