並行多碼率卷積碼解碼方法及其實現裝置的製作方法
2023-05-25 22:51:46 2
專利名稱:並行多碼率卷積碼解碼方法及其實現裝置的製作方法
技術領域:
本發明涉及數字信息傳輸技術領域,具體為一種並行多碼率卷積碼解碼方法及其實現裝置。
背景技術:
卷積碼是在數位電視、衛星通信、移動通信等各種通信體制中經常採用的信道編碼方法。自提出至今,在理論、性能和硬體實現等方面的研究都已經相當成熟,並因其較好的性能和較低的實現複雜度在各種通信場合中得到了廣泛的應用。但是隨著科學技術的發展,各種通信系統所要求的傳輸速率越來越高,如衛星通信的傳輸速率將達到1G比特/秒以上,這對卷積碼解碼器的性能也提出了更高的要求。以當前Altera公司生產Stratix II系列FPGA晶片為例,採用該公司Viterbi IP core,(2,1,7)卷積碼Viterbi解碼器可以達到220Mbps的吞吐率,但無法滿足當今高速率的傳輸要求。
傳統刪餘卷積碼解碼器的實現原理框圖如圖1所示,其解碼步驟如下 步驟1在控制信號控制下,對輸入I、Q兩路信號進行移位及旋轉。
步驟2根據刪餘模式,解刪餘。
步驟3卷積解碼。
步驟4數據存儲,存儲解刪餘後的待解碼數據。
步驟5卷積編碼,對解碼後數據重新進行卷積編碼。
步驟6將步驟4數據存儲數據與步驟5卷積編碼後數據進行比較分析,判斷解刪餘及旋轉狀態是否正確,輸出移位旋轉控制信號。
步驟7差分解碼,輸出最終數據。
傳統卷積碼解碼器是針對單路串行數據提出的,由於受到器件及成本等因素的限制,很難滿足高速大數據量的處理要求。
發明內容
(一)要解決的技術問題 本發明的目的是針對現有技術的不足,提出了一種能夠提高解碼吞吐率、有效淨荷速率,因此能夠滿足衛星通信等高速率信息傳輸通信系統的要求的卷積碼解碼方案。
(二)技術方案 為達到上述目的,本發明提供了一種並行多碼率卷積碼解碼方法,包括以下步驟 S1,接收Nin路並行輸入信號,並在移位控制信號的作用下將該輸入信號移位後輸出,輸出信號也為Nin路並行信號,Nin為正整數; S2,通過相位旋轉的方式部分消除所述輸出信號的相位模糊度; S3,將步驟S2處理之後的信號作為有效數據,將該有效數據加上保護間隔,組裝成數據幀,作為並行卷積解碼的輸入; S4,將步驟S3處理之後組裝成的數據幀進行並行卷積解碼; S5,將並行卷積解碼的多路輸出合併成一路,並行輸出。
其中,所述方法使用了三個工作時鐘,所述步驟S1、S2和S3使用同一時鐘f1;所述步驟S4使用時鐘f2;所述步驟S5使用時鐘f3。
其中,所述保護間隔包括前保護間隔和後保護間隔。
其中,對於第m數據幀,其前保護間隔為第m-1數據幀有效數據的結尾部分,其後保護間隔為第m+1數據幀有效數據的起始部分,前保護間隔及後保護間隔的長度均大於步驟S4中進行解碼時的解碼約束長度。
其中,通過鎖相環產生所述時鐘。
其中,在進行並行卷積解碼的步驟中包括以差分解碼的方式消除所述數據幀中剩餘的相位模糊度的步驟。
其中,對於每一數據幀,前保護間隔、有效數據及後保護間隔的第一個符號均對應各自相應工作碼率的刪餘矩陣的第一列。
本發明提供了一種並行多碼率卷積碼解碼實現裝置,包括 並行移位控制單元,用於接收Nin路並行輸入信號,並在移位控制信號的作用下將該輸入信號移位後輸出,輸出的信號也為Nin路並行信號,Nin為正整數; 並行相位旋轉單元,用於通過相位旋轉的方式部分消除所述輸出信號的相位模糊度; 分塊成數據幀單元,用於將所述並行相位旋轉單元處理後的信號作為有效數據,將該有效數據加上保護間隔,組裝成數據幀; 並行卷積解碼單元,用於將所述分塊成數據幀單元處理後組裝成的數據幀進行並行卷積解碼; 輸出控制單元,用於將所述並行卷積解碼單元的多路輸出合併成一路,並行輸出。
還包括時鐘管理單元,用於為所述裝置的各單元提供工作時鐘,具體為用於為所述並行移位控制單元、並行相位旋轉單元和分塊成數據幀單元提供同一時鐘f1,為所述並行卷積解碼單元提供時鐘f2,且為所述輸出控制單元提供時鐘f3。
其中,所述並行卷積解碼單元包括Np個卷積解碼子單元,所述卷積解碼子單元包括Npe個誤碼分析子單元和Npu個普通解碼子單元,且滿足Np=Npe+Npu; 所述普通解碼子單元包括輸入緩存單元,用於將所述分塊成數據幀單元處理後組裝成的數據幀輸入緩衝器後輸出,以使得所述並行卷積解碼單元可以在時鐘f2下運行;解刪餘單元,用於依據刪餘模式在所述輸入緩存單元輸出的數據幀中被刪除的碼字位置添加0碼字,並在該被刪除的碼字位置置刪餘標誌位;卷積解碼單元,用於對所述解刪餘單元輸出的信號進行卷積解碼;差分解碼單元,用於將卷積解碼單元輸出的信號進行差分解碼,以消除180度相位模糊;輸出緩存單元,用於將差分解碼後的數據存儲到緩存器中,存儲時去掉前、後保護間隔; 所述誤碼分析子單元包括所述普通解碼子單元的各組成單元,還包括數據存儲單元,用於存儲所述輸出緩存單元解刪餘後的數據及刪餘標誌位;卷積編碼單元,用於將卷積解碼後的數據重新編碼;誤碼分析單元,用於統計當前工作狀態的誤碼性能,判斷解刪餘碼字是否添加到正確位置,輸出移位及相位旋轉控制信號,以保證當前工作在正確狀態,此時誤碼率最低。
其中,所述並行移位控制單元由一組移位寄存器組成,移位寄存器組長度為Nreg,為Nin的整數倍,且Nreg≥Nst+Nin-1,移位控制信號的位寬大於等於log2Nst,在所述刪餘模式中所使用的各種刪餘碼中,解刪餘最大操作周期為Nst。
(三)有益效果 上述技術方案針對傳統卷積解碼吞吐率無法滿足高速通信的缺點提出了並行多碼率分塊卷積解碼方法,通過採用並行分塊處理技術,提高了解碼吞吐率、有效淨荷速率,可滿足衛星通信等高速率信息傳輸通信系統的要求。
圖1是現有技術中刪餘卷積碼解碼器的實現原理框圖; 圖2為本發明實施例的1/2卷積碼編碼器原理框圖; 圖3為本發明實施例的各種刪餘卷積碼編碼器原理框圖; 圖4為本發明實施例的方法的實施原理框圖; 圖5為本發明實施例的各並行卷積解碼支路信號數據幀結構示意圖; 圖6為本發明實施例的並行卷積解碼普通解碼支路原理框圖; 圖7為本發明實施例的並行卷積解碼誤碼分析支路原理框圖。
具體實施例方式 下面結合附圖和實施例,對本發明的具體實施方式
作進一步詳細描述。以下實施例用於說明本發明,但不用來限制本發明的範圍。
本發明實施例的方法採用CCSDS(Consultative Committee forSpace Data Systems,空間數據系統諮詢委員會)《Recommendation forSpace Data System Standard——TM Synchronization and ChannelCoding》建議的(2,1,7)卷積碼,碼率為1/2,經刪餘後得到2/3、3/4、5/6、7/8四種碼率。基本1/2碼率(2,1,7)卷積碼的原理框圖如圖2所示,其生成矢量為G1=1111001(171),G2=1011011(133),約束長度為7,G2輸出的符號取反,因此其輸出符號序列可定義為C1(1),C2(1),C1(2),C2(2)…。四種刪餘碼的原理框圖如圖3所示,其刪餘模式及輸出序列如表1所示。其中,圖2、3中的「D」表示比特延遲,「INPUT」表示「輸入」,「OUTPUT」表示「輸出」。
表1 本發明實施例採用QPSK調製方式,輸入I、Q各Nin路並行數據,每路數據用n比特表示,共有Np路並行解碼支路,解碼後數據Nout比特並行輸出。各種刪餘碼中,解刪餘最大操作周期為Nst,本發明實施例中Nst=4。信號幀中有效數據長度為leff,前保護間隔長度lpgua,後保護間隔長度為lqgua。
如圖4所示,依據本發明實施例的方法的具體步驟如下(為描述方便,該步驟中結合了對本發明實施例的裝置的說明) S1.時鐘管理 時鐘管理單元通過PLL(Phase Locking Loop,鎖相環)IP Core(IP內核)產生多個時鐘。
S2.並行移位控制 在本發明實施例的裝置中,並行移位控制單元由一組移位寄存器組成,長度為Nreg,Nreg為Nin的整數倍,且要求Nreg大於等於Nst+Nin-1。移位控制信號的位寬大於等於log2Nst。並行移位控制單元輸入、輸出均為Nin路覆信號。在接收Nin路復輸入信號後,先進行數據更新 然後在移位控制信號的控制下,輸出相應的數據。若移位控制信號對應的十進位數為k,則並行移位控制單元輸出的Nin路覆信號為 dso(i)=dsi(i+k-1),i=1,2,...,Nin,k=1,2,...Nst(2) 並行移位控制單元的工作時鐘為f1,該時鐘由解碼單元上一級模塊提供。
S3.並行相位旋轉 在本發明實施例的裝置中,並行相位旋轉單元的作用是部分消除相位模糊度,其輸入輸出均為Nin路覆信號。對於QPSK調製方式,相位模糊度為4,並行相位旋轉單元只進行90度的相位旋轉,而180度的相位模糊由差分解碼單元糾正。相位旋轉控制信號位寬為1,用b1表示,可通過如下旋轉方式得到旋轉後的數據 式中,i=1,2,...,Nin。b1=0、1分別代表相位需要旋轉0、90度。jdso(i)表示將旋轉前的數據dso(i)旋轉90度。
並行相位旋轉單元的工作時鐘為f1。
S4.分塊成幀 分塊成幀單元的作用是將待解碼數據按照圖5所示方法組裝成幀,其輸出依次為各並行卷積解碼支路的輸入數據。具體方法如下
這裡,dro(n)為並行相位旋轉單元輸出經並串轉換後的串行數據,deff(m,i,j)表示第i條支路信號幀中第j個有效數據,m表示第m幀,滿足n=(m-1)leff+j,
表示對「*」進行下取整操作。
第m幀前保護間隔為 第m幀後保護間隔為 分塊成幀單元的工作時鐘為f1。
S5.並行卷積解碼 並行卷積解碼單元由Np個卷積解碼子單元組成,包括Npe條誤碼分析單元和Npu條普通解碼單元兩大類,且滿足Np=Npe+Npu。如圖6所示,對於普通解碼支路,卷積解碼的具體步驟為 S51.輸入緩存 將輸入數據存儲到FIFO(FIFO是英文First In First Out的縮寫,是一種先進先出的數據緩存器)中。FIFO中的數據是完整的一幀數據,包括前保護間隔、有效數據及後保護間隔。FIFO的輸入數據時鐘為f1,輸出數據時鐘為f2。
S52.解刪餘 根據工作碼率,按照表1所示刪餘模式進行解刪餘,在原先被刪除的碼字位置添0,並置刪餘標誌位為1。在同一工作時鐘模式下,為保證解刪餘前後數據速率匹配,存在讀停等周期,即在某一時鐘周期,不從FIFO中讀取數據,只輸出解刪餘後的數據。解刪餘單元的工作時鐘為f2。
S53.卷積解碼 本實施例採用Viterbi解碼,工作時鐘為f2。
S54.差分解碼 對I、Q兩路分別進行BPSK差分解碼,以消除180度相位模糊,工作時鐘為f2。
S55.輸出緩存 輸出緩存單元將差分解碼後的數據存儲到FIFO當中,存儲數據時去掉前後保護間隔,只存儲有效數據部分。FIFO的輸入數據時鐘為f2,輸出數據時鐘為f3。
如圖7所示,對於誤碼分析單元,卷積解碼的步驟還包括 S56.數據存儲 將解刪餘輸出數據的符號位及刪餘標誌位存儲到FIFO,工作時鐘為f2。
S57.卷積編碼 將卷積解碼後的輸出數據按照(2,1,7)卷積碼重新編碼,工作時鐘為f2。
S58.誤碼分析 將步驟S55中存儲在FIFO中數據與經步驟S56卷積編碼後的數據進行比較分析,分析解刪餘碼字是否添加到了刪餘矩陣的正確位置,以及相位旋轉狀態是否正確,並根據分析結果設置控制信號。對於刪餘標誌位為1的比特,不參與誤碼分析。其中,進行誤碼分析時,以誤碼分析塊為單位進行統計,塊長度為Nes。若一個誤碼分析塊內Nes個碼字中,錯誤碼字的數目超過門限Tr,則認為現階段的控制信號不正確,更改控制信號到下一個狀態,直到錯誤碼字的數目小於門限Tr。
上述實施例中,採用對解刪餘狀態進行遍歷搜索法運算,以確定正確的移位及相位旋轉控制信號,狀態總數目為2Nst。當位於正確的狀態時誤碼最少。該單元工作時鐘為f2。
S6.輸出控制 將並行卷積解碼Np個卷積解碼子單元的輸出數據合併成一路輸出,即按照順序從各解碼支路的輸出緩存FIFO中讀取單比特數據,將Nout位並行輸出,工作時鐘為f3。
以下舉例說明
具體實施例方式 在本實施例的並行多碼率卷積解碼方法中,選擇1/2卷積碼,各參數選擇如下輸入I、Q數據各Nin=4路,每路數據n=3比特,並行Np=6條解碼支路,誤碼分析支路Npe=1條,普通解碼支路Npu=5條,解刪餘最大操作周期Nst=4,並行輸出位數Nout=8,移位控制單元寄存器組長度Nreg=8,誤碼分析塊長度Nes=1024,門限Tr=256。選擇有效數據長度leff=4096符號,前保護間隔長度lpgua=144符號,後保護間隔長度lqgua=120符號。時鐘工作頻率為f1=300MHz,f2=220MHz,f3=150MHz。在卷積解碼之後,前保護間隔、有效數據及後保護間隔分別變更為144、4096和120比特,S55輸出緩存單元存儲4096比特。實驗表明,採用這套參數使用本發明實施例的方法進行解碼時,並行卷積解碼單元的吞吐率為2.4G比特/秒,淨荷速率為1.2G比特/秒。
若選擇3/4卷積碼,f1=200MHz,其它參數不變,在解刪餘及卷積解碼之後,前保護間隔、有效數據及後保護間隔分別變更為216、6144和180個比特,步驟S55的輸出緩存單元存儲6144個比特。實驗表明,採用這套參數使用本發明實施例的方法進行解碼時,並行卷積解碼單元的吞吐率為1.6G比特/秒,淨荷速率為1.2G比特/秒。
以上所述僅是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明技術原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。
權利要求
1.一種並行多碼率卷積碼解碼方法,其特徵在於,包括以下步驟
S1,接收Nin路並行輸入信號,並在移位控制信號的作用下將該輸入信號移位後輸出,輸出信號也為Nin路並行信號,Nin為正整數;
S2,通過相位旋轉的方式部分消除所述輸出信號的相位模糊度;
S3,將步驟S2處理之後的信號作為有效數據,將該有效數據加上保護間隔,組裝成數據幀,作為並行卷積解碼的輸入;
S4,將步驟S3處理之後組裝成的數據幀進行並行卷積解碼;
S5,將並行卷積解碼的多路輸出合併成一路,並行輸出。
2.如權利要求1所述的並行多碼率卷積碼解碼方法,其特徵在於,所述方法使用了三個工作時鐘,所述步驟S1、S2和S3使用同一時鐘f1;所述步驟S4使用時鐘f2;所述步驟S5使用時鐘f3。
3.如權利要求1所述的並行多碼率卷積碼解碼方法,其特徵在於,所述保護間隔包括前保護間隔和後保護間隔。
4.如權利要求3所述的並行多碼率卷積碼解碼方法,其特徵在於,對於第m數據幀,其前保護間隔為第m-1數據幀有效數據的結尾部分,其後保護間隔為第m+1數據幀有效數據的起始部分,前保護間隔及後保護間隔的長度均大於步驟S4中進行解碼時的解碼約束長度。
5.如權利要求2所述的並行多碼率卷積碼解碼方法,其特徵在於,通過鎖相環產生所述時鐘。
6.如權利要求1~5之任一項所述的並行多碼率卷積碼解碼方法,其特徵在於,在進行並行卷積解碼的步驟中包括以差分解碼的方式消除所述數據幀中剩餘的相位模糊度的步驟。
7.如權利要求3或4所述的並行多碼率卷積碼解碼方法,其特徵在於,對於每一數據幀,前保護間隔、有效數據及後保護間隔的第一個符號均對應各自相應工作碼率的刪餘矩陣的第一列。
8.一種並行多碼率卷積碼解碼實現裝置,其特徵在於,包括
並行移位控制單元,用於接收Nin路並行輸入信號,並在移位控制信號的作用下將該輸入信號移位後輸出,輸出的信號也為Nin路並行信號,Nin為正整數;
並行相位旋轉單元,用於通過相位旋轉的方式部分消除所述輸出信號的相位模糊度;
分塊成數據幀單元,用於將所述並行相位旋轉單元處理後的信號作為有效數據,將該有效數據加上保護間隔,組裝成數據幀;
並行卷積解碼單元,用於將所述分塊成數據幀單元處理後組裝成的數據幀進行並行卷積解碼;
輸出控制單元,用於將所述並行卷積解碼單元的多路輸出合併成一路,並行輸出。
9.如權利要求8所述的並行多碼率卷積碼解碼實現裝置,其特徵在於,還包括時鐘管理單元,用於為所述裝置的各單元提供工作時鐘,具體為用於為所述並行移位控制單元、並行相位旋轉單元和分塊成數據幀單元提供同一時鐘f1,為所述並行卷積解碼單元提供時鐘f2,且為所述輸出控制單元提供時鐘f3。
10.如權利要求9所述的並行多碼率卷積碼解碼實現裝置,其特徵在於,所述並行卷積解碼單元包括Np個卷積解碼子單元,所述卷積解碼子單元包括Npe個誤碼分析子單元和Npu個普通解碼子單元,且滿足Np=Npe+Npu;
所述普通解碼子單元包括輸入緩存單元,用於將所述分塊成數據幀單元處理後組裝成的數據幀輸入緩衝器後輸出,以使得所述並行卷積解碼單元可以在時鐘f2下運行;解刪餘單元,用於依據刪餘模式在所述輸入緩存單元輸出的數據幀中被刪除的碼字位置添加0碼字,並在該被刪除的碼字位置置刪餘標誌位;卷積解碼單元,用於對所述解刪餘單元輸出的信號進行卷積解碼;差分解碼單元,用於將卷積解碼單元輸出的信號進行差分解碼,以消除180度相位模糊;輸出緩存單元,用於將差分解碼後的數據存儲到緩存器中,存儲時去掉前、後保護間隔;
所述誤碼分析子單元包括所述普通解碼子單元的各組成單元,還包括數據存儲單元,用於存儲所述輸出緩存單元解刪餘後的數據及刪餘標誌位;卷積編碼單元,用於將卷積解碼後的數據重新編碼;誤碼分析單元,用於統計當前工作狀態的誤碼性能,判斷解刪餘碼字是否添加到正確位置,輸出移位及相位旋轉控制信號,以保證當前工作在正確狀態,此時誤碼率最低。
11.如權利要求10所述的並行多碼率卷積碼解碼實現裝置,其特徵在於,所述並行移位控制單元由一組移位寄存器組成,移位寄存器組長度為Nreg,為Nin的整數倍,且Nreg≥Nst+Nin-1,移位控制信號的位寬大於等於log2Nst,在所述刪餘模式中所使用的各種刪餘碼中,解刪餘最大操作周期為Nst。
全文摘要
本發明公開了一種並行多碼率卷積碼解碼方法,包括以下步驟S1,接收Nin路並行輸入信號,並在移位控制信號的作用下將該輸入信號移位後輸出,輸出信號也為Nin路並行信號,Nin為正整數;S2,部分消除所述輸出信號的相位模糊度;S3,將步驟S2處理之後的信號作為有效數據,將該有效數據加上保護間隔,組裝成數據幀,作為並行卷積解碼的輸入;S4,將步驟S3處理之後組裝成的數據幀進行並行卷積解碼;S5,將並行卷積解碼的多路輸出合併成一路,並行輸出。本發明針對傳統卷積解碼吞吐率無法滿足高速通信的缺點提出了並行多碼率分塊卷積解碼方法,通過採用並行分塊處理技術,提高了解碼吞吐率、有效淨荷速率,可滿足衛星通信等高速率信息傳輸通信系統的要求。
文檔編號H03M13/23GK101764622SQ201010034520
公開日2010年6月30日 申請日期2010年1月19日 優先權日2010年1月19日
發明者張彧, 蘇承毅, 萬曉峰, 楊知行, 邱松 申請人:清華大學