本發明涉及無線通信技術領域,尤其是一種基于SCMA系統的DMPA譯碼方法及譯碼器架構。
背景技術:
近年來,隨著無線通信技術在各領域的廣泛應用,社會通信需求呈現快速激增態勢,傳統通信技術日益無法滿足社會發展需要。據主要運營商和權威咨詢機構的預測,移動寬帶業務流量將在未來10年增長1000倍之多。為應對即將到來的巨大通信壓力,5G作為全新的移動通信技術應運而生。其中,“Gbps用戶體驗速率”將是5G的最關鍵技術指標。為實現這一超高速傳輸速率,5G將運用到大規模天線陣列、新型多址、超密集組網、新型網絡架構、全頻譜接入等重要技術。而新型多址技術作為5G實現的關鍵技術之一,將在整個系統中扮演至關重要的角色。新型多址技術將對發送信號進行高效疊加傳輸以使系統的接入能力得到進一步提升,從而保證5G網絡的大規模設備連接需求。
回溯多址技術,其自產生以來,經歷了相當長時間的演進和變革,在現代無線通信中有著無法替代的重要地位。傳統的多址技術包括頻分多址(FDMA)、時分多址(TDMA)、碼分多址(CDMA)、空分多址(SDMA)等,而4G技術中所使用的則是正交頻分多址(OFDMA)。多有這些多址技術都是正交層面上的多址技術,受到資源數量的極大限制。相比之下,在非正交多址技術中,接入用戶則可以成倍大于資源數,從而有效解決這一瓶頸。
稀疏碼分多址技術(SCMA)正是5G通信中期待使用的新型多址技術,并具備著重要的非正交特性。理論分析表明SCMA有著極其出色的過載承受能力以及資源復用能力,與傳統多址技術相比,其接入量可至少提升50%,并隨著系統內部往來互聯數目的增加可進一步提升。在關于SCMA的相關文獻中,針對譯碼提出了基于最大后驗概率的譯碼策略,使用該譯碼策略的SCMA系統在保證高水平接入量的同時仍可維持較優的誤碼率水平,但是在其實現上有著極高的復雜度。
技術實現要素:
本發明所要解決的技術問題在于,提供一種基于SCMA系統的DMPA譯碼方法,可以極大的降低SCMA系統的譯碼復雜度,極大降低了硬件消耗,提高了硬件使用效 率。
為解決上述技術問題,本發明提供一種基于SCMA系統的DMPA譯碼方法,包括如下步驟:
(1)初始化;設(K,N)SCMA系統,SCMA碼維度為K,星座維度為N,則該系統的最大用戶層數為其中,(K,N)SCMA系統為(4,2),最大用戶數為6;
這里yk代表接收信號的第k位比特,xk,1,xk,2,xk,3分別代表與第k個資源節點相連的3個用戶層在此節點上相互重疊的3個比特,N0,k表示的即為第k個資源節點對應的環境中高斯噪聲的功率密度;
(2)資源節點更新;
其中,Rk代表的是第k個資源節點,m1,m2,m3=1,...,M代表與此資源節點相連的三個用戶層各自不同的發射符號;代表從與資源節點相連的那些用戶層傳遞給該資源節點的置信值,則代表從與用戶層相連的那些資源節點傳遞給該用戶層的置信值,是一種相反的傳遞方向;
(3)層節點更新;
其中,m=1,...,M代表發送符號集中不同的符號;步驟(3)結束后,返回步驟(2),并由此構成一次迭代;迭代次數的設置與實際的信道環境相關,當迭代次數滿足置信值 的收斂條件后,由步驟(3)進入步驟(4);具體的收斂條件為:根據目標誤碼率水平,設定閾值a(通常設置為a≤10-5);設第n-1次的資源節點更新置信值和層節點更新置信值分別為和第n次分別為和若所有的置信值滿足則判定為收斂,迭代結束;此時的迭代次數為n,針對不同的信道環境n的數值不同,且信道環境惡劣時,n的數值往往較大;
(4)概率計算與符號判決;
其中,Lj代表第j個用戶層;挑選出各用戶層具有最大概率值的符號,即為最終估計出的原始發送符號。
一種基于SCMA系統的DMPA譯碼器架構,包括用于初始化的初始化單元、用于資源節點更新的資源節點更新單元、用于層節點更新的層節點更新單元和用于概率計算與符號判決的概率計算單元;初始化單元與資源節點更新節點相連,資源節點更新單元與層節點更新單元相連,層節點更新單元與概率計算單元相連;譯碼器輸入為y、H和N0,輸出為
優選的,原始架構是以“步”的形式進行數據迭代更新,對“步”進行細化,得到更小的計算單位“階段”,在當前“步”沒有全部計算完的情況下即可跳入下一個“步”,使各個“步”的硬件模塊在同一時間都處于運轉狀態;在得到“階段級”時序后,采用折疊技術進行資源復用上的優化。
優選的,將折疊操作在每個“步”內進行,“步”內的折疊過程可以描述為四個主要步驟:確定折疊集、求取折疊方程、壽命分析以及寄存器分配;在確定折疊集步驟中,首先規定架構需要進行折疊的折疊階數以及折疊集個數,然后依據各“步”的原始數據流圖DFG對圖中各類運算元件進行分組標號,將標號在集合內合理排列,以滿足DFG折疊后路徑上延時非負的要求;在求取折疊方程步驟中,則根據折疊集和原始DFG路徑中的延時個數,按照折疊復用公式計算出折疊后DFG各路徑上的延時單元數目;在壽命分析步驟中,根據折疊集和折疊方程確定數據的輸入時刻以及最終的消亡時刻從而確定出其在系統中的存在時間長度以分析出系統所需要的最小寄存器個數并通過壽命 表和壽命圖的方式加以展示;在寄存器分配過程中,利用前向-后向的寄存器分配策略來達到前一步驟中確定的最小寄存器數目,該策略在數據分配時先就近分配給第一個未被占用的寄存器,并在接下來的每一個時鐘周期中由前向后依次分配給緊隨其后的下一個寄存器直至達到最后一個寄存器或者數據已經消亡,對于達到最后一個寄存器的情況,數據又由后向前分配給第一個未被占用的寄存器,并在下一個時鐘周期再次由前向后分配給后一個寄存器,如此反復,直至全部分配完成。
本發明的有益效果為:利用MPA解碼原理在稀疏系統中低復雜度的性質提出DMPA算法,極大降低了SCMA系統的譯碼復雜度,并針對DMPA算法的硬件架構作出時序和資源復用上的系列優化,得到極為簡單的低復雜度譯碼器架構,使得在處理速度允許的范圍內,極大降低了硬件消耗,并提高了硬件使用效率。
附圖說明
圖1為本發明DMPA譯碼方法的塊誤碼率的性能曲線。
圖2為本發明DMPA譯碼方法的各層比特誤碼率的性能曲線。
圖3為本發明DMPA原始“步”級架構的示意圖。
圖4為本發明DMPA原始“步”級架構的時序圖。
圖5為本發明DMPA“階段”級架構的時序圖。
圖6為本發明DMPA步驟一待優化部分的數據流圖。
圖7為本發明DMPA步驟一待優化部分的壽命圖。
圖8為本發明DMPA步驟一待優化部分的寄存器分配過程示意圖。
圖9為本發明DMPA“階段”級時序的最終低復雜度架構。
具體實施方式
如圖1和2所示,一種基于SCMA系統的DMPA譯碼方法,包括如下步驟:
(1)初始化;設(K,N)SCMA系統,SCMA碼維度為K,星座維度為N,則該系統的最大用戶層數為其中,(K,N)SCMA系統為(4,2),最大用戶數為6;
這里yk代表接收信號的第k位比特,xk,1,xk,2,xk,3分別代表與第k個資源節點相連的3個用戶層在此節點上相互重疊的3個比特,N0,k表示的即為第k個資源節點對應 的環境中高斯噪聲的功率密度;
(2)資源節點更新;
其中,Rk代表的是第k個資源節點,m1,m2,m3=1,...,M代表與此資源節點相連的三個用戶層各自不同的發射符號;代表從與資源節點相連的那些用戶層傳遞給該資源節點的置信值,則代表從與用戶層相連的那些資源節點傳遞給該用戶層的置信值,是一種相反的傳遞方向;
(3)層節點更新;
其中,m=1,...,M代表發送符號集中不同的符號;步驟(3)結束后,返回步驟(2),并由此構成一次迭代;迭代次數的設置與實際的信道環境相關,當迭代次數滿足置信值的收斂條件后,由步驟(3)進入步驟(4);具體的收斂條件為:根據目標誤碼率水平,設定閾值a(通常設置為a≤10-5);設第n-1次的資源節點更新置信值和層節點更新置信值分別為和第n次分別為和若所有的置信值滿足和則判定為收斂,迭代結束;此時的迭代次數為n,針對不同的信道環境n的數值不同,且信道環境惡劣時,n的數值往往較大;
(4)概率計算與符號判決;
其中,Lj代表第j個用戶層;挑選出各用戶層具有最大概率值的符號,即為最終估計出 的原始發送符號。
在初始化步驟中,基于SCMA的內部節點互聯網絡,通過諸如環境噪聲、信道狀況和接收信號等外界信息計算出初始所需的符號條件概率,為接下來迭代譯碼中的置信值互傳做好前期準備工作;在資源節點更新步驟中,資源節點更新公式表達為和積的形式,以完成對邊緣概率求取的逼近和近似;在層節點更新步驟中,主要進行歸一化操作,將前一步驟中計算出的置信值限制在區間[0,1]內,以方便算法在硬件中的實現;概率計算與符號判決步驟中,通過由經過一定迭代次數后得到的收斂置信值,輸出可靠軟信息,并依據軟信息計算出各用戶層各個符號的發送概率,挑選出各用戶層具有最大概率值的符號作為最終估計出的原始發送符號。
如圖3所示,基于上述的譯碼流程,得到基本的譯碼器架構,包括用于初始化的初始化單元、用于資源節點更新的資源節點更新單元、用于層節點更新的層節點更新單元和用于概率計算與符號判決的概率計算單元;初始化單元與資源節點更新節點相連,資源節點更新單元與層節點更新單元相連,層節點更新單元與概率計算單元相連;譯碼器
輸入為y、H和N0,輸出為原始架構是以“步”的形式進行數據迭代更新的,具體時序示意圖如4所示。按照以“步”為單位的方式的最大的問題在于當運行當前“步”時,其他“步”的硬件模塊處于空閑狀態,使得整個系統的硬件使用效率并不高。于是對“步”進行細化,得到更小的計算單位“階段”,從而方便深度流水線在系統中的引入,在當前“步”沒有全部計算完的情況下即可跳入下一個“步”,使各個“步”的硬件模塊在同一時間都處于運轉狀態,相應的優化后的“階段”級時序圖如圖5所示。各個“步”的計算都已細化為更小的運算時隙,使深度流水線的穿插成為可能。
在得到“階段級”時序后,其相應的硬件架構依然非常復雜,進一步采用折疊技術進行資源復用上的優化。由于整體的結構相當復雜龐大,很難從整體層面進行復用優化,因此將折疊操作在每個“步”內進行,從而成為一種分塊的折疊策略,既達到了復用的目的又極大降低了設計復雜度。“步”內的折疊過程可以描述為四個主要步驟:確定折疊集、求取折疊方程、壽命分析以及寄存器分配。在確定折疊集步驟中,首先規定架構需要進行折疊的折疊階數以及折疊集個數,然后依據各“步”的原始數據流圖(DFG)對圖中各類運算元件進行分組標號,將標號在集合內合理排列,以滿足DFG折疊后路徑上延時非負的要求;在求取折疊方程步驟中,則根據折疊集和原始DFG路徑中的延 時個數,按照折疊復用公式計算出折疊后DFG各路徑上的延時單元數目;在壽命分析步驟中,根據折疊集和折疊方程確定數據的輸入時刻以及最終的消亡時刻從而確定出其在系統中的存在時間長度以分析出系統所需要的最小寄存器個數并通過壽命表和壽命圖的方式加以展示;在寄存器分配過程中,利用前向-后向的寄存器分配策略來達到前一步驟中確定的最小寄存器數目,該策略在數據分配時先就近分配給第一個未被占用的寄存器,并在接下來的每一個時鐘周期中由前向后依次分配給緊隨其后的下一個寄存器直至達到最后一個寄存器或者數據已經消亡,對于達到最后一個寄存器的情況,數據又由后向前分配給第一個未被占用的寄存器,并在下一個時鐘周期再次由前向后分配給后一個寄存器,如此反復,直至全部分配完成。通過以上的折疊技術,對每個“步”對應的模塊進行“步”內折疊,則可得到最終的“階段”級低復雜度架構。
DMPA“階段”級時序低復雜度架構的“步”內分塊折疊復用將以步驟一初始化步驟的原始架構為例進行說明。步驟一待優化部分的數據流圖如圖6所示。
首先,如圖4所示,原始架構中共有2個輸入端,7個加法器以及3個乘法器,于是確定折疊集個數為3,類型分別為輸入端折疊集、加法器折疊集以及乘法器折疊集,并規定折疊階數為7。按照圖4的方式對各運算元件進行分類標號,將同一類型的標號放在同一折疊集中,并對這些標號在折疊集內進行合理的位置安排以滿足折疊后DFG各路徑上的延時個數非負。最終得到的折疊集描述為:
接著,結合折疊集和原始DFG中各路徑上的延時數目,利用折疊計算公式求取各折疊方程。折疊計算公式為:
其中DF(U→V)為折疊后路徑U→V上的延時個數,N為折疊階數,PU為節點U的流水線階數,v和u分別為節點U和V在相應折疊集中的折疊序數。由此公式得到的步驟一待優化部分的折疊方程為:
在得到折疊集和折疊方程后,就可以進一步對折疊架構進行壽命分析,確定出各數據的輸入時刻以及消亡時刻從而得出數據在系統中的存在時間。通過對系統中同一時刻存在數據個數即“激活數”的統計找出同時存在的數據的最大個數,由此獲取折疊架構實現所需的最小寄存器個數。依照此原理,得到相應的壽命表和壽命圖已分別示于表1和圖7中,并確定出架構所需的最小寄存器個數為8。
表1.DMPA步驟一待優化部分的壽命表。
最后,利用前向-后向的寄存器分配技術以達到上述步驟中確定的最小寄存器個數。分配過程中,數據從前向后選擇第一個未被占用的寄存器,并在接下來的時鐘周期中依次分配至后一個寄存器直至達到末端寄存器或者數據已經消亡,若寄存器達到末端寄存器但是壽命仍為結束,則由后向前非配給緊鄰的第一個未被占用寄存器,并在下一個時鐘周期再次由前向后分配給下一個寄存器,如此往復,直至將所有數據分配完成。依照此原理,步驟一待優化部分的寄存器分配示意圖如圖8所示。
完成上述步驟后即可得到步驟一最終的“步”內折疊架構,依照同樣的原理可對步驟二、三、四進行相應的折疊復用。在完成各“步”的折疊操作后,就得到了圖9中所示的DMPA“階段”級時序的低復雜度架構。因此,本發明極大簡化了SCMA系統譯碼器的復雜度,并使硬件使用效率得到提高。
盡管本發明就優選實施方式進行了示意和描述,但本領域的技術人員應當理解,只要不超出本發明的權利要求所限定的范圍,可以對本發明進行各種變化和修改。