本發(fā)明屬于無(wú)線通信系統(tǒng)的信號(hào)檢測(cè)領(lǐng)域,具體涉及一種改進(jìn)的串行策略的多用戶檢測(cè)方法。
背景技術(shù):
多址接入是無(wú)線通信物理層的核心技術(shù)之一,它使基站能區(qū)分并同時(shí)服務(wù)多個(gè)終端用戶。為了滿足5g(第五代移動(dòng)通信)大容量、海量連接、低延時(shí)接入等需求,在申請(qǐng)?zhí)枮?01380059380.x,申請(qǐng)名稱為“用于稀疏碼多址接入的系統(tǒng)和方法”的專利申請(qǐng)中提出了一種scma(sparsecodemultipleaccess,稀疏碼多址接入)技術(shù),在該方法中,首先通過(guò)scma編碼器在預(yù)定義的碼本集合中為每個(gè)數(shù)據(jù)層或用戶選擇一個(gè)碼本,然后基于所選擇的碼本將數(shù)據(jù)比特直接映射到相應(yīng)的碼字中,最后將多個(gè)數(shù)據(jù)層或用戶的碼字進(jìn)行非正交疊加,接收端對(duì)接收信號(hào)進(jìn)行基于消息傳遞算法的多用戶檢測(cè)技術(shù),即并行策略多用戶檢測(cè)方法(mpa檢測(cè)),,并行mpa檢測(cè)方法在每次迭代過(guò)程中,首先更新所有的資源節(jié)點(diǎn),接著更新所有的用戶節(jié)點(diǎn)。
文獻(xiàn)“shuffledmultiuserdetectionschemesforuplinksparsecodemultipleaccesssystems”(“ieeecommunicationsletters”,vol.20,no.6,pp.1231-1234,jun.2016)在專利申請(qǐng)201380059380.x的基礎(chǔ)上提出了一種串行策略的scma多用戶檢測(cè)方法,該方法基于用戶節(jié)點(diǎn)順序依次進(jìn)行消息傳遞,已更新的消息可以及時(shí)傳遞給后面的節(jié)點(diǎn),而不必等到下一輪迭代過(guò)程,進(jìn)而加快了收斂速率,其具體包括以下步驟:
步驟s-1、初始化:scma在迭代開(kāi)始時(shí),用戶沒(méi)有先驗(yàn)信息,因此用戶節(jié)點(diǎn)uj到資源節(jié)點(diǎn)ck的消息為:
步驟s-2、設(shè)定最大迭代次數(shù)為tmax;
步驟s-3、在第t次迭代過(guò)程中,首先將第j個(gè)用戶節(jié)點(diǎn)以及與第j個(gè)用戶節(jié)點(diǎn)相連的所有資源節(jié)點(diǎn)作為一組,將用戶節(jié)點(diǎn)和資源節(jié)點(diǎn)分為j組,j=1,2,...,j,j組節(jié)點(diǎn)分別標(biāo)記為γ1,γ2,...,γj組;然后,計(jì)算第γ1組的所有的資源節(jié)點(diǎn)到用戶節(jié)點(diǎn)的消息
步驟s-4、判斷t>tmax是否成立,若成立,執(zhí)行步驟s-5;若不成立,則令t=t+1,返回步驟s-3,進(jìn)行下一次迭代;
步驟s-5、經(jīng)過(guò)tmax次迭代后退出循環(huán),計(jì)算碼字消息:
步驟s-6、計(jì)算數(shù)據(jù)比特的軟信息
bj為第j個(gè)用戶的數(shù)據(jù)比特;
步驟7、數(shù)據(jù)比特的判決
上述基于串行策略的scma多用戶檢測(cè)方法,雖然與傳統(tǒng)并行策略的洪泛消息機(jī)制相比,在消息更新策略上有了一定的改進(jìn),該串行策略基于用戶節(jié)點(diǎn)順序依次進(jìn)行消息傳遞,已更新的消息可以及時(shí)傳遞給后面的節(jié)點(diǎn),而不必等到下一輪迭代過(guò)程,進(jìn)而加快了收斂速率,但該消息更新策略中的用戶節(jié)點(diǎn)順序并沒(méi)加以甄別和選擇,因而仍然不能非常有效地把最新更新的消息應(yīng)用于下一個(gè)消息的更新當(dāng)中。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對(duì)背景技術(shù)存在的缺陷,提出了一種改進(jìn)的串行策略的scma多用戶檢測(cè)方法,在現(xiàn)有串行策略的多用戶檢測(cè)方法的基礎(chǔ)上,首先對(duì)用戶節(jié)點(diǎn)順序加以甄別和選擇,進(jìn)而將甄別出來(lái)的用戶節(jié)點(diǎn)順序應(yīng)用于串行策略中的消息更新中,使多用戶檢測(cè)方法在每次迭代譯碼過(guò)程中可有效地把最新更新的消息應(yīng)用于下一個(gè)用戶節(jié)點(diǎn)消息的更新當(dāng)中。
本發(fā)明的一種改良串行策略的scma通信系統(tǒng)多用戶檢測(cè)方法,包括初始化、選定用戶節(jié)點(diǎn)更新的順序、資源節(jié)點(diǎn)和用戶節(jié)點(diǎn)消息的更新、數(shù)據(jù)比特軟信息的計(jì)算、數(shù)據(jù)比特的判決步驟;其特征在于,在進(jìn)行洗牌策略mpa檢測(cè)算法前,選定用戶節(jié)點(diǎn)更新順序,接著在每一次迭代過(guò)程中,按照選定的用戶節(jié)點(diǎn)的更新順序依次將各用戶節(jié)點(diǎn)及其與該用戶節(jié)點(diǎn)相連的所有資源節(jié)點(diǎn)作為一組,將用戶節(jié)點(diǎn)和資源節(jié)點(diǎn)分為j組,j為用戶節(jié)點(diǎn)的個(gè)數(shù);然后依次對(duì)每一組中所有的資源節(jié)點(diǎn)到用戶節(jié)點(diǎn)的消息以及用戶節(jié)點(diǎn)到資源節(jié)點(diǎn)的消息進(jìn)行更新,即完成一次迭代的過(guò)程。即本發(fā)明的一種改良串行策略的scma通信系統(tǒng)多用戶檢測(cè)方法包括兩個(gè)階段,即用戶節(jié)點(diǎn)順序選擇階段和傳統(tǒng)串行策略消息更新階段,具體包括以下步驟:
階段一:用戶節(jié)點(diǎn)消息更新順序選擇階段:
步驟1-1:初始化順序集合為s={},用戶節(jié)點(diǎn)權(quán)值ζj和資源節(jié)點(diǎn)權(quán)值ηk為0,查找集t={ζj|j=1,…,j},其中j=1,2,...,j,k=1,2,...,k;
步驟1-2:從查找集t中查找最大值,若最大值的個(gè)數(shù)大于1,則在所有最大值中隨機(jī)選取一個(gè)為ζr,r∈{1,...,j};
步驟1-3:將r存入順序集合s,并將ζr從查找集t中刪除;
步驟1-4:查找與用戶節(jié)點(diǎn)ur(對(duì)應(yīng)ζr的用戶節(jié)點(diǎn))連接的資源節(jié)點(diǎn),得到第一更新集;將與第一更新集中各資源節(jié)點(diǎn)對(duì)應(yīng)的資源節(jié)點(diǎn)權(quán)值均自增1;
步驟1-5:判斷查找集t是否為空,若是,則執(zhí)行步驟2-1,即基于順序集合s執(zhí)行串行策略消息更新;否則,對(duì)查找集t進(jìn)行更新:基于當(dāng)前資源節(jié)點(diǎn)權(quán)值,重新計(jì)算查找集t的各用戶節(jié)點(diǎn)權(quán)值ζq,其中ζq為連接到用戶節(jié)點(diǎn)uq的所有資源節(jié)點(diǎn)的資源節(jié)點(diǎn)權(quán)值之和,q∈{1,...,j},基于更新后的查找集t執(zhí)行步驟1-2。
進(jìn)一步的,為了減少運(yùn)算量,步驟1-5中,在對(duì)查找集t進(jìn)行更新時(shí),僅更新與第一更新集的資源節(jié)點(diǎn)存在連接的用戶節(jié)點(diǎn)對(duì)應(yīng)的用戶節(jié)點(diǎn)權(quán)值。
階段二:串行策略多用戶檢測(cè)階段:
步驟2-1、初始化:scma在迭代開(kāi)始時(shí),用戶沒(méi)有先驗(yàn)信息,因此用戶節(jié)點(diǎn)uj到資源節(jié)點(diǎn)ck的消息為:
步驟2-2、設(shè)定最大迭代次數(shù)為tmax;
步驟2-3、在第t次迭代過(guò)程中,首先將集合s中的第j個(gè)用戶節(jié)點(diǎn)以及與第j個(gè)用戶節(jié)點(diǎn)相連的所有資源節(jié)點(diǎn)作為一組,將用戶節(jié)點(diǎn)和資源節(jié)點(diǎn)分為j組,j=1,2,...,j,j組節(jié)點(diǎn)分別標(biāo)記為γ1,γ2,...,γj組;然后,計(jì)算第γ1組的所有的資源節(jié)點(diǎn)到用戶節(jié)點(diǎn)的消息
步驟2-4、判斷t>tmax是否成立,若成立,執(zhí)行步驟2-5;若不成立,則令t=t+1,返回步驟2-3,進(jìn)行下一次迭代;
步驟2-5、經(jīng)過(guò)tmax次迭代后退出循環(huán),計(jì)算碼字消息:
步驟2-6、計(jì)算數(shù)據(jù)比特的軟信息
bj為第j個(gè)用戶的數(shù)據(jù)比特;
步驟2-7、數(shù)據(jù)比特的判決
綜上所述,由于采用了上述技術(shù)方案,本發(fā)明的有益效果為:本發(fā)明對(duì)用戶節(jié)點(diǎn)更新順序進(jìn)行了甄別與選擇,使其在迭代過(guò)程中能夠更加充分地利用已更新的節(jié)點(diǎn)消息,加快了多用戶檢測(cè)方法的收斂速率;且用戶節(jié)點(diǎn)的更新順序只需在串行策略多用戶檢測(cè)前選擇一次,計(jì)算復(fù)雜度很低,可忽略不計(jì)。因此,在每一次迭代過(guò)程中,本發(fā)明的計(jì)算復(fù)雜度與傳統(tǒng)串行策略多用戶檢測(cè)方法的計(jì)算復(fù)雜度近似相同。
附圖說(shuō)明
圖1為本發(fā)明方法多用戶檢測(cè)方法的流程圖;
圖2為本發(fā)明方法多用戶檢測(cè)方法中消息更新順序選取過(guò)程示意圖;
圖3為現(xiàn)有串行策略的消息更新方式示意圖;
圖4為本發(fā)明多用戶檢測(cè)方法中消息更新方式示意圖;
圖5為本發(fā)明方法與背景技術(shù)方法的ber性能對(duì)比圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合實(shí)施方式和附圖,對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述。
參見(jiàn)圖1,本發(fā)明的改良串行策略的scma通信系統(tǒng)多用戶檢測(cè)方法在現(xiàn)有串行策略的多用戶檢測(cè)方法的基礎(chǔ)上,首先基于輸入的用戶節(jié)點(diǎn)與資源節(jié)點(diǎn)的連接關(guān)系對(duì)用戶節(jié)點(diǎn)順序加以甄別和選擇,進(jìn)而將甄別出來(lái)的用戶節(jié)點(diǎn)順序應(yīng)用于串行策略(串行mpa迭代檢測(cè))中的消息更新中,使多用戶檢測(cè)方法在每次迭代譯碼過(guò)程中可有效地把最新更新的消息應(yīng)用于下一個(gè)用戶節(jié)點(diǎn)消息的更新當(dāng)中。
為合理選擇出用戶節(jié)點(diǎn)更新的順序,需定義關(guān)于用戶節(jié)點(diǎn)和資源節(jié)點(diǎn)的權(quán)值ζj、ηk,其中用戶節(jié)點(diǎn)標(biāo)識(shí)符j=1,2,...,j,資源節(jié)點(diǎn)標(biāo)識(shí)符k=1,2,...,k,j、k分別表示用戶節(jié)點(diǎn)、資源節(jié)點(diǎn)總數(shù)目,即ηk表示資源節(jié)點(diǎn)ck處的權(quán)值權(quán)值,ζj表示連接到用戶節(jié)點(diǎn)uj的資源節(jié)點(diǎn)的權(quán)值權(quán)值的和,簡(jiǎn)稱用戶節(jié)點(diǎn)權(quán)值。
為了更好地描述上述過(guò)程,現(xiàn)舉例如下。圖2為本發(fā)明方法在稀疏擴(kuò)頻矩陣為
根據(jù)下列步驟得到用于串行策略多用戶檢測(cè)的用戶節(jié)點(diǎn)順序:
首先定義用戶節(jié)點(diǎn)權(quán)值權(quán)值為ζj,資源節(jié)點(diǎn)權(quán)值計(jì)權(quán)值為ηk(j=1,2,...,9,k=1,2,...,6),且初始值均為0,如圖2-①所示,初始化順序集合為s為空集,初始化查找集t={ζj|j=1,…,9};
(1)在查找集t中選擇最大值作為ζr,由于初始情況下每個(gè)用戶節(jié)點(diǎn)權(quán)值都相同為0,則隨機(jī)選取一個(gè)(即當(dāng)最大用戶節(jié)點(diǎn)權(quán)值為2個(gè)及其以上時(shí),從中隨機(jī)選取一個(gè)即可),假設(shè)選取ζ1(對(duì)應(yīng)用戶節(jié)點(diǎn)u1),則將1存入順序集合s,并將ζ1從查找集t中刪除;
查找與用戶節(jié)點(diǎn)u1連接的資源節(jié)點(diǎn),得到第一更新集{c4,c5},將η4,η5都自增1,并將與c4、c5相連接的用戶節(jié)點(diǎn)權(quán)值(除u1)都自增1并對(duì)應(yīng)更新查找集t中的戶節(jié)點(diǎn)權(quán)值的值,即基于變化后的η4,η5,更新查找集t中與c4、c5存在連接的用戶節(jié)點(diǎn)對(duì)應(yīng)的用戶節(jié)點(diǎn)權(quán)值的值,如圖2-②所示;
(2)在查找集t={ζ2,ζ3,ζ4,ζ5,ζ6,ζ7,ζ8,ζ9}中選擇最大值作為ζr,因ζ5,ζ6,ζ8,ζ9均為最大,則隨機(jī)選擇ζ5(對(duì)應(yīng)用戶節(jié)點(diǎn)u5),因此將5存入順序集合s,并將ζ5從查找集t中刪除;
與u5連接的資源節(jié)點(diǎn)為c4,c6,因此將η4,η6都自增1,并將與c4,c6相連接的用戶節(jié)點(diǎn)權(quán)值(除u1、u5)都自增1完成對(duì)查找集t的更新,如圖2-③所示;
(3)重復(fù)上述過(guò)程,直到完成對(duì)所有用戶節(jié)點(diǎn)的節(jié)點(diǎn)順序的甄別和選擇,即當(dāng)查找集t為空時(shí)結(jié)束重復(fù),最終得到的序列順序?yàn)?→5→8→2→6→4→3→7→9,如圖2-⑩所示。對(duì)于上述稀疏擴(kuò)頻矩陣f,現(xiàn)有的串行策略多用戶檢測(cè)方法中的用戶節(jié)點(diǎn)順序?yàn)?→2→3→4→5→6→7→8→9如圖3所示,而本發(fā)明方法是將4選出的用戶節(jié)點(diǎn)序列順序1→5→8→2→6→4→3→7→9用于串行策略的多用戶迭代消息更新機(jī)制中如圖4所示。本發(fā)明對(duì)用戶節(jié)點(diǎn)更新順序進(jìn)行了甄別與選擇,使其在迭代過(guò)程中能夠更加充分地利用已更新的節(jié)點(diǎn)消息,加快了多用戶檢測(cè)方法的收斂速率。
實(shí)施例
根據(jù)傳輸條件及檢測(cè)過(guò)程的程序,初始化設(shè)置以下參數(shù):
用戶節(jié)點(diǎn)的個(gè)數(shù)j=80,碼字長(zhǎng)度k=40,系統(tǒng)過(guò)載率
利用matlab對(duì)背景技術(shù)的并行策略、串行策略和本發(fā)明實(shí)施例的改進(jìn)的串行策略的scma通信系統(tǒng)多用戶檢測(cè)方法在awgn信道中的ber誤碼性能進(jìn)行仿真對(duì)比分析,仿真結(jié)果如圖5所示。由圖5可知,在相同的檢測(cè)性能的情況下,如ber=1.0×10-4,本發(fā)明2次迭代的ber性能相較于背景技術(shù)中傳統(tǒng)串行策略2次迭代的ber性能有2db的增益;其次,本發(fā)明2次迭代的ber性能近似于背景技術(shù)中并行策略6次迭代的性能;最后由于背景技術(shù)中串行策略與并行策略一次迭代的計(jì)算復(fù)雜度相同,而本發(fā)明僅僅在傳統(tǒng)串行策略的基礎(chǔ)上根據(jù)節(jié)點(diǎn)計(jì)數(shù)器來(lái)選取節(jié)點(diǎn)更新順序,計(jì)數(shù)器的計(jì)算復(fù)雜度相對(duì)于多用戶檢測(cè)方法的計(jì)算復(fù)雜度可忽略不計(jì)。因此,本發(fā)明采用2次迭代過(guò)程就可實(shí)現(xiàn)背景技術(shù)6次迭代的ber性能,大大降低系統(tǒng)的計(jì)算復(fù)雜度。