一種m序列并行產生方法和裝置的制造方法
【技術領域】
[0001] 本發明涉及通信領域,更具體地,本發明涉及一種M序列并行產生方法和裝置。
【背景技術】
[0002] M序列是最長線性移位寄存器序列的簡稱,是一種偽隨機序列、偽噪聲(PN)碼或 偽隨機碼。可以預先確定并且可以重復實現的序列稱為確定序列;既不能預先確定又不能 重復實現的序列稱隨機序列;不能預先確定但可以重復產生的序列稱偽隨機序列。M序列 被廣泛地應用于無線通信擾碼技術中。
[0003] 擾碼技術是數字通信中常用的技術,其目的可以使信道中傳輸的數據具有隨機 性,從而能夠有效避免數據之間的干擾。擾碼序列通常由偽隨機序列M序列構成。隨著移 動通信的發展,傳輸速率越來越高,所需要的擾碼速率也越來越高,而擾碼并行化是提高擾 碼的產生速率一種很好的解決方案。
[0004] 傳統的并行擾碼技術主要有查表法,矩陣法,采樣法。查表法采用存儲器實現 并行化,一個周期為f-l (r是生成多項式階數)的擾碼序列,如果需要并行度為W,那么 ff*(2r_l)也是擾碼序列的周期。采用位寬為ff的存儲器,存儲(2r_l)列,每次提取一列進 行加擾,到最后一列后再循環到第一列。查表法優點是速度快,復雜度低,但是存儲開銷非 常大,適用于生成多項式階數較低的場合。但是隨著移動通信發展,擾碼序列的生成多項式 已經變的更加復雜,比如第四代移動通信LTE中,擾碼序列的生成多項式已經達到了 31階, 查表法已經不再適用。
[0005] 矩陣法采用矩陣狀態機轉移的方式,通過多個一步轉移矩陣的自乘,得到多步轉 移矩陣,從而能夠一次實現多個狀態機的更新,實現了擾碼并行化。矩陣法適合基于寄存器 組的硬件實現。然而,雖然矩陣法理論上能夠實現任意的并行度,但是由于需要實現矩陣狀 態機轉移,矩陣法擾碼生成裝置中某些寄存器單元之間的反饋往往較為復雜,導致生成擾 碼字時某些擾碼位的延時較長,由于木桶效應,生成整個擾碼字的延時也較長,進而導致系 統的整體運行頻率降低。當擾碼階數較高(例如31階的LTE系統的擾碼),并行度較高時, 上述缺陷尤為明顯。另外,矩陣法也不適合SHffi(單指令多數據)DSP實現,在需要新的擾 碼時,往往需要專用的硬件,通用性較弱。
[0006] 采樣法是對擾碼序列進行采樣,將原擾碼序列分解為w個抽樣序列(即子序列), 每個抽樣序列均設計獨立的生成單元,并在同一時鐘周期輸出一位擾碼,這樣w個抽樣序 列就能夠在一個時鐘周期輸出w位擾碼,從而提高擾碼生成速率。采樣法優點是并行度可 以很高,擾碼序列生成速度可以很快,但是每個獨立生成單元都需要獨立的資源,資源開銷 很大,并且每個獨立生成單元需要各自計算初始值,這樣導致初始值的實現復雜度也較大。
【發明內容】
[0007] 本發明的目的是提供了一種能夠克服上述現有技術缺陷的M序列并行產生方法 和裝置。
[0008] 根據本發明的一個方面,提供了一種M序列并行產生方法,包括下列步驟:
[0009] 1)獲取M序列的遞推公式,確定并行度w,輸入初始的M序列位;
[0010] 2)同步讀取w組已知M序列位作為輸入數據,根據遞推公式同步進行w路遞推計 算,得到原先未知的w個M序列位;其中,一組已知M序列位對應于一路遞推計算的遞推公 式右側的各個冪次項;
[0011] 3)記錄步驟2)所計算出的w個M序列位并將這w個M序列位同步輸出,然后重新 執行步驟2)以計算出下一組的w個M序列位。
[0012] 其中,所述步驟1)中,所述并行度w不大于最大并行度P = r_q,其中r表示所述 遞推公式的階數,q表示遞推公式的右側最高冪次項的序號。
[0013] 其中,所述步驟1)中,所述M序列為LTE協議中的第一 M序列或者LTE協議中的 第二M序列。
[0014] 根據本發明的另一方面,還提供了一種用于實現前述M序列并行產生方法的M序 列并行產生裝置,假設M序列的遞推公式的階數為r,遞推公式的右側最高冪次項的序號為 q,則所述M序列并行產生裝置包括r個寄存器和w個遞推運算單元,其中w不大于最大并 行度P = r-q ;
[0015] r個所述寄存器分別記為:0~r_l號寄存器,每個寄存器均包括輸出端、輸入端和 時鐘端,w個遞推運算單元分別記為:0~w-Ι號遞推運算單元;
[0016] 其中,所對應冪次項系數不為0的第i~i+q號寄存器的輸出端與第i號寄存器 的輸出端同時接入到第i號遞推運算單元的輸入端,第i號遞推運算單元用于完成第i路 遞推公式的運算,且第i號遞推運算單元的輸出端連接第i+r-w號寄存器的輸入端,形成第 一組反饋連線,其中i是〇至w-Ι的整數枚舉;
[0017] 第j+w號寄存器的輸出端連接第j號寄存器的輸入端,形成第二組反饋連線,其中 j是0至r-w-l的整數枚舉。
[0018] 其中,所述0~w-Ι號寄存器的輸出端作為M序列位的輸出端。
[0019] 其中,所述0~w-Ι號寄存器每個周期并行輸出w位M序列碼。
[0020] 根據本發明的又一方面,還提供了另一種方法M序列并行產生方法,所述M序列并 行產生方法基于具有SHffi結構的向量DSP實現,其中,M序列的遞推公式的階數為r,遞推 公式的右側最高冪次項的序號為q,則DSP中向量指令的向量長度為w,w不大于最大并行 度P = r-q,其中,r、q、w均為自然數;
[0021] 所述M序列并行產生方法包括下列步驟:
[0022] 1)通過多次向量讀取指令分別從內存中讀取w組已知M序列位至至少兩個讀入數 據向量寄存器,其中,每個所述讀入數據向量寄存器接收w個已知M序列位;
[0023] 2)然后通過向量異或操作指令對所述的至少兩個讀入數據向量寄存器中的數據 進行異或操作得到w個新M序列位,并將向量異或操作結果寫入輸出數據向量寄存器;
[0024] 3)通過向量存儲指令將輸出數據向量寄存器的數據緩存至內存中的相應位置,然 后返回步驟1),開始進行下一組M序列位的計算。
[0025] 其中,所述M序列為LTE協議中的第一 M序列或者LTE協議中的第二M序列。
[0026] 其中,所述步驟3)還包括:在通過向量存儲指令將輸出數據向量寄存器的數據緩 存至內存中的相應位置的同時,將內存中所緩存的w個M序列位輸出。
[0027] 與現有技術相比,本發明具有下列技術效果:
[0028] 1、本發明的M序列生成方案并行度較高,反饋簡單,初始化簡單,既適合硬件實現 也適合基于DSP的軟件實現。
[0029] 2、本發明的M序列生成方案特別適合于高速率,高并行度,高階數的擾碼生成。
【附圖說明】
[0030] 圖1是M序列并行產生方法示意圖;
[0031] 圖2示出了根據本發明一個實施例所提供的一種擾碼序列并行產生裝置的結構 示意圖;
[0032] 圖3示出了該裝置根據本發明另一個實施例所提供的一種擾碼序列并行產生裝 置的程序指令執行示意圖。
【具體實施方式】
[0033] 現有技術中,擾碼序列既可以串行生成,也可以并行生成。而在串行生成技術中, 通常是基于遞推公式,用已知的擾碼位來對推未知的新的擾碼位,并將新的擾碼位逐個輸 出。本案發明人對串行擾碼的遞推公式進行深入研究,將遞推公式轉用于并行擾碼序列生 成裝置,進而提出了一種并行擾碼序列生成方案,相對于傳統的并行擾碼技術,該方案