本發(fā)明涉及無線通信技術領域,特別涉及一種基于門限的低復雜度mpa算法。。
背景技術:
隨著4glte系統(tǒng)投入商用,面對不斷增長的用戶數(shù)量、無處不在的網(wǎng)絡接入以及更高的通信質(zhì)量需求,人們開始了對5g的研究。稀疏碼分多址(scma)系統(tǒng)因為其優(yōu)于lte系統(tǒng)的鏈路傳輸質(zhì)量和成倍的系統(tǒng)容量而成為新的研究熱點。
scma技術作為一種新型的非正交多址技術,由于碼字具有稀疏特性,即碼字中非零元個數(shù)遠小于碼字長度,接收機可以利用消息傳遞算法(mpa)進行多用戶聯(lián)合譯碼。
mpa算法是一種基于因子圖求邊緣概率分布的迭代算法,該算法中外信息在變量節(jié)點(vn)和函數(shù)節(jié)點(fn)之間不斷的傳遞,最后獲得一個穩(wěn)定的概率分布作為判決量,最終最優(yōu)的判決量對應的碼字即為判決輸出結(jié)果。相對于聯(lián)合最優(yōu)最大后驗概率(map)檢測算法,mpa是一種次優(yōu)的方法,但是mpa利用了碼本的稀疏性,極大地降低了多用戶檢測的復雜度。
雖然mpa算法的復雜度相對于最優(yōu)的map有所降低,但是在系統(tǒng)嚴重過載或碼本尺寸過大的情況下,硬件實現(xiàn)仍然很困難。事實上,在迭代過程中用戶碼字的收斂速度存在差異,收斂快的碼字不需要迭代到最大迭代步數(shù)就可以譯碼,同時對于一些置信度極低的碼字可以在迭代過程中舍棄。然而,在原始mpa的迭代過程中所有的碼字都被同等對待,每次迭代都需要更新所有的節(jié)點消息,直到迭代到最大迭代步數(shù)后才對所有的用戶進行譯碼,這種不顧碼字置信度的迭代譯碼方式導致很多冗余的計算復雜度。
技術實現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術的不足,提供一種基于門限的低復雜度mpa算法,該算法通過設置置信度門限來及時對可靠的碼字進行譯碼,或?qū)Πl(fā)送概率極低的碼字進行舍棄,從而有效地降低了原始mpa算法的復雜度。
一種基于門限的低復雜度mpa算法,具體步驟如下:
s1、輸入基帶信號;
s2、初始化變量節(jié)點消息,具體為:
s3、根據(jù)公式
s4、根據(jù)公式
s5、判斷s4所述碼字置信度是否滿足門限,確定對碼字進行譯碼、舍棄還是繼續(xù)迭代,具體如下:
s51、判斷置信度最高的碼字是否滿足第一門限,若是則直接將該碼字作為譯碼結(jié)果輸出,反之,則進入s52,其中,所述第一門限為經(jīng)驗設定;
s52、判斷置信度最低的碼字是否滿足第二門限,若否則進入步驟s6,若是則舍棄該碼字并進入s53,其中,所述第二門限為經(jīng)驗設定,第一門限與第二門限不相等;
s53、判斷舍棄一個置信度最低的碼字后剩余的碼字個數(shù)是否為1,若是則將剩下的碼字作為譯碼結(jié)果輸出,反之則進入步驟s3,且迭代步數(shù)加1;
s6、當s5完成后若存在未被譯碼的用戶,則判斷是否達到最大迭代步數(shù),若達到最大迭代步數(shù)則對用戶進行譯碼,反之,則回到步驟s3,且迭代步數(shù)加1。
進一步地,s3所述
本發(fā)明的有益效果是:
利用門限將迭代過程中的置信度足夠高的碼字挑選出來進行譯碼,從而減少同一頻點上疊加的用戶數(shù);同時,對置信度足夠低的碼字進行舍棄,可以縮小后續(xù)迭代過程中消息更新所需的搜素范圍,有效地降低算法復雜度。
附圖說明
圖1為本發(fā)明的算法流程圖。
圖2為原始mpa算法流程圖。
圖3為上行scma系統(tǒng)模型圖。
圖4為scma編碼器工作原理圖。
圖5為scma因子圖。
具體實施方式
下面將結(jié)合實施例和附圖,對本發(fā)明方法進行進一步說明。
本實施例在matlab仿真平臺進行實驗,實施例中的系統(tǒng)參數(shù)如表1所示,碼本如表2所示,其系統(tǒng)模型如圖3所示。在awgn信道下對6個用戶共享4個頻率資源,過載率為150%的scma系統(tǒng)進行仿真,包括發(fā)送端處理過程和接收端處理過程。
表1仿真系統(tǒng)參數(shù)
表2所用碼本
發(fā)送端處理流程包括以下步驟:
s101:隨機生成6組長度為2的二進制比特流;
s102:利用scma編碼器進行編碼,將各用戶數(shù)據(jù)中的2個比特映射為一個碼字,分別獲得碼字x1,x2,...,x6,編碼器工作原理圖如圖4所示;
s103:經(jīng)過編碼后的碼字經(jīng)歷不同的信道衰落后疊加在一起發(fā)送到接收端;
接收端處理流程包括以下步驟:
s201:接收到長度為4的向量y,其表達式如下:
其中xj=(xj,1,xj,2,···,xj,4)t表示第j個用戶發(fā)送的碼字,hj=(hj,1,hj,2,...,hj,4)t表示第j個用戶經(jīng)歷的信道衰落,n=(n1,n2,...,n4)表示白高斯噪聲向量,且n服從均值為零,方差為σ2i的復高斯分布。
s202:將y輸入到本發(fā)明的譯碼器中進行譯碼,如圖1所示,具體包括以下步驟:
s2021:初始化變量節(jié)點消息;
其中
s2022:更新函數(shù)節(jié)點和變量節(jié)點消息,消息沿著如圖5所示的因子圖的邊傳遞;
其中yk表示第k個頻點的觀測值,
其中σ2表示噪聲方差,hj,k表示第j個用戶的第k個分量經(jīng)歷的信道衰落系數(shù),xj,k表示第j個用戶發(fā)送碼字的第k維取值。
s2023:計算各碼字的置信度;
其中
s2024:判斷碼字置信度是否滿足門限,來決定對碼字進行譯碼、舍棄還是繼續(xù)迭代,具體包括以下步驟:
s20241:判斷置信度最高的碼字是否滿足第一門限th1,若是則直接將該碼字作為譯碼結(jié)果輸出,反之,則進入下一步;
s20242:判斷置信度最低的碼字是否滿足第二門限th2,若否則進入步驟s2022,反之,則舍棄該碼字并進入下一步;
s20243:判斷舍棄一個置信度最低的碼字后剩余的碼字個數(shù)是否為1,若是則將剩下的碼字作為譯碼結(jié)果輸出,反之則進入步驟s3,且迭代步數(shù)加1;
s2025:當s2024完成后若存在未被譯碼的用戶,則判斷是否達到最大迭代步數(shù),若是則對剩下的所有用戶進行譯碼,反之,則回到步驟s2022;且迭代步數(shù)加1;
本發(fā)明在接收端利用基于門限的mpa算法進行多用戶聯(lián)合譯碼,能夠及時譯碼置信度高的碼字,同時也能及時舍棄置信度低的碼字,從而避免了原始mpa中不管碼字置信度造成的多余的消息更新,如圖2所示,有效地降低了算法復雜度。