本發明專利技術揭示了一種咬尾卷積碼譯碼方法與裝置,根據最后一次迭代得到的末狀態對應的量度生成可能的初狀態集,而后對該初狀態集中的狀態進行回溯,在回溯過程中更新初狀態集,且根據回溯的結果調整優先級,優先回溯已在狀態集中的狀態,以盡量減少回溯次數,進而達到減少時延的效果。同時,優先搜索最可能成為咬尾解初狀態的狀態,而不單純地以末狀態的狀態量度或者一次迭代的結果作為考量的依據,達到了性能和時延較優的折中效果,具有較好的魯棒性。
【技術實現步驟摘要】
本專利技術涉及通信
,特別是涉及ー種咬尾卷積碼譯碼方法與裝置。
技術介紹
隨著通信技術的發展,數字通信已逐步取代模擬通信成為通信技術的主流。然而,數字信息在信道中傳輸時,會受到噪聲的干擾,誤碼的產生總是不可避免的。為了在已知信噪比的情況下達到一定的誤碼率指標,在合理設計基帶信號,選擇調制、解調方式,并采用頻域均衡或時域均衡措施的基礎上,還應該采用差錯控制編碼等信道編碼技術,使誤碼率進ー步降低。卷積碼和分組碼是差錯控制編碼的兩種主要形式,在編碼器復雜度相同的情況下,卷積碼的性能優于分組碼,因此卷積碼被應用在許多無線通信的標準之中。 通常使用的卷積碼是零尾(zero-termination)卷積碼,但是零尾卷積碼需要額外的零尾比持,帶來額外的開銷,而咬尾(tail-biting)卷積碼很好的克服了這個問題,且可以在不犧牲性能的條件下避免碼率的損失,從而具有比零尾卷積碼更好的性能。咬尾卷積碼是建立在卷積碼基本原理基礎之上的,與通常使用的零尾卷積碼不同,咬尾卷積碼沒有使用零比特收尾的過程,為了避免缺少尾巴導致接近網格末尾的信息位比網格中更早的比特得到更少差錯保護(非對稱錯誤保護),咬尾卷積碼要求編碼器從和終止狀態相同的狀態開始,且該狀態可以通過信息序列確定。咬尾卷積碼的這ー限制使其網格表現出不同于零尾卷積碼的対稱性,可以用循環網格來表述,它環繞著每個末狀態并把該末狀態連到所對應的初狀態,從而形成一個循環的結構。且由于初狀態不再如零尾卷積碼那樣是已知信息(零狀態),其譯碼的算法與傳統的卷積碼相比需要額外的復雜度。目前常用的咬尾卷積碼譯碼方法都利用的網格的循環特性,使用前一次度量計算的結果初始化下一次度量計算的初狀態,具體方法請參考圖1,并描述如下I)將所有狀態的度量值(量度)設為0,做一次維特比(Viterbi)迭代,即從所有狀態量度為O的初始條件下作第一次迭代(采用Viterbi譯碼方法);2)如果得到的最大似然解是咬尾的(即初狀態與末狀態相同),則結束譯碼并輸出結果;如果不是咬尾的,則繼續執行步驟3);3)對于第i (i > I)次迭代,用第i_l次迭代的末狀態的狀態量度作為初始狀態做一次Viterbi譯碼,如果第i次迭代的最大似然解是咬尾的,則結束解碼并輸出結果;如果不是咬尾的,則繼續執行步驟4);4)重復步驟3),直到解碼被中止或者i達到設定的上限N ;5)對所有末狀態進行回溯,如果最后一次循環存在咬尾解,則輸出狀態量度最大的咬尾解。如果不存在咬尾解,則譯碼失敗。其中N為預設的最大迭代次數,通常N設為2就能獲得較好的譯碼效果。上面的流程圖是理想情況下的最優算法,因為步驟5)中考慮了所有可能的解,即當i達到設定的上限N時,需要對所有末狀態進行回溯,而在實際應用中,實現所有末狀態回溯的復雜度非常高。以LTE標準使用的咬尾卷積碼為例,其約束長度為7,網格狀態數為64,所有可能的64個末狀態作回溯,其時延過大不可接受,所以必須對上述算法作簡化。常見的簡化方法是對所有狀態度量值進行排序,只對其中部分度量值較大的解進行回溯,在這部分解中尋找度量值最大的咬尾解,如果在這部分解中不存在咬尾解,就認為譯碼失敗,這種方法可以節省不少計算量,但進行回溯的狀態數也不能太少,否則會影響譯碼性能。另外ー種簡化方法是利用Viterbi譯碼器的特性,即當編碼塊長度超過編碼器約束長度約4 5倍(該長度設為τ)之后,所有狀態回溯的留存路徑在τ個長度之前以接近于I的概率合并為同一路徑,即所有狀態回溯后的初狀態以接近于I的概率相等來減少回溯量度數,在編碼塊大于一定長度時,先回溯最大量度的狀態得到初狀態,再使用該初狀態回溯得到咬尾解,該方法的缺點在于 (I)對碼塊長度有一定的要求;(2)僅回溯最大量度作咬尾嘗試,減小了時延但犧牲了一部分性能.。可見,理想的咬尾卷積碼譯碼方法由于譯碼時延過大無法采用,而現存的各種簡化方法都偏重于性能和時延中的一方面,沒有達到較優的折中及較好的魯棒性。
技術實現思路
有鑒于此,本專利技術提供ー種咬尾卷積碼譯碼方法與系統,以解決現有譯碼方法偏重于性能和時延中的一方面,沒有達到較優的折中及較好的魯棒性的問題。為解決以上技術問題,本專利技術提供ー種咬尾卷積碼譯碼方法,包括從所有狀態量度為O的初始條件作第一次迭代;而后依次利用第i-Ι次迭代的末狀態的狀態量度作為初始狀態做第i次迭代,其中I < i < N,N為預設的最大迭代次數;其間,如果迭代得到的結果是咬尾的,則結束譯碼并輸出結果;其特征是,若以上迭代過程中得到的結果不是咬尾的,則還包括以第N-I次迭代的末狀態的狀態量度作為初始狀態作第N次迭代;從第N次迭代的末狀態中選取多個最大狀態量度對應的末狀態,構成狀態集;按狀態量度由大到小的順序設置狀態集中的末狀態優先級;按優先級高低依次回溯狀態集中的末狀態,其間,如果回溯的結果是咬尾的,則結束解碼并輸出結果;如果回溯的結果不是咬尾的,且回溯得到的初狀態在所述狀態集中,則將該初狀態設為最高優先級,優先回溯該初狀態;如果回溯的結果不是咬尾的,且回溯得到的初狀態不在所述狀態集中,則將該初狀態加入所述狀態集,并設為最低優先級;如果回溯達最大回溯次數,則譯碼失敗。進ー步的,所述最大回溯次數小于等于2M,其中L為咬尾卷積碼編碼約束長度。進ー步的,所述最大回溯次數小于等于8。進ー步的,所述狀態集的中的末狀態的數量小于等于2M,其中L為咬尾卷積碼編碼約束長度。本專利技術還提供ー種咬尾卷積碼譯碼裝置,包括初始狀態模塊、前向迭代模塊、回溯模塊、狀態集生成模塊以及譯碼輸出模塊,其中初始狀態模塊內預設有狀態量度為O的初始狀態;前向迭代模塊以初始狀態模塊內預設的初始狀態作為初始條件作第一次迭代,而后依次利用第i_l次迭代的末狀態的狀態量度作為初始狀態做第i次迭代,其中I く i<N,N為預設的最大迭代次數,其間,回溯模塊對每次迭代的結果進行回溯,判斷是否咬尾,如果是,譯碼輸出模塊輸出結果,否則,前向迭代模塊以第N-I次迭代的末狀態的狀態量度作為初始狀態作第N次迭代;狀態集生成模塊從第N次迭代的末狀態中選取多個最大狀態量度對應的末狀態,構成狀態集,其中狀態集中的末狀態按狀態量度由大到小的順序設置優先級;回溯模塊按優先級高低依次回溯狀態集中的末狀態,其間,如果回溯的結果是咬尾的,譯碼輸出模塊輸出結果;如果回溯的結果不是咬尾的,指示狀態集更新,即若回溯得到的初狀態在所述狀態集中,則將該初狀態設為最高優先級,優先回溯該初狀態,若回溯得到的初狀態不在所述狀態集中,則將該初狀態加入所述狀態集,并設為最低優先級;如果回溯達最大回溯次數,則譯碼失敗。進ー步的,所述最大回溯次數小于等于2M,其中L為咬尾卷積碼編碼約束長度。進ー步的,所述最大回溯次數小于等于8。進ー步的,所述狀態集的中的末狀態的數量小于等于2M,其中L為咬尾卷積碼編碼約束長度。 可見,以上咬尾卷積碼譯碼方法與裝置根據最后一次迭代得到的末狀態對應的量度生成可能的初狀態集,而后對該初狀態集中的狀態進行回溯,在回溯過程中更新初狀態集,且根據回溯的結果調整優先級,優先回溯已在狀態集中的狀態,以盡量減少回溯次數,進而達到減少時延的效果。同時,優先搜索最可能成為咬尾解初狀態的狀態,而不單純地本文檔來自技高網...
【技術保護點】
一種咬尾卷積碼譯碼方法,包括:從所有狀態量度為0的初始條件作第一次迭代;而后依次利用第i?1次迭代的末狀態的狀態量度作為初始狀態做第i次迭代,其中1<i<N,N為預設的最大迭代次數;其間,如果迭代得到的結果是咬尾的,則結束譯碼并輸出結果;其特征是,若以上迭代過程中得到的結果不是咬尾的,則還包括:以第N?1次迭代的末狀態的狀態量度作為初始狀態作第N次迭代;從第N次迭代的末狀態中選取多個最大狀態量度對應的末狀態,構成狀態集;按狀態量度由大到小的順序設置狀態集中的末狀態優先級;按優先級高低依次回溯狀態集中的末狀態,其間,如果回溯的結果是咬尾的,則結束解碼并輸出結果;如果回溯的結果不是咬尾的,且回溯得到的初狀態在所述狀態集中,則將該初狀態設為最高優先級,優先回溯該初狀態;如果回溯的結果不是咬尾的,且回溯得到的初狀態不在所述狀態集中,則將該初狀態加入所述狀態集,并設為最低優先級;如果回溯達最大回溯次數,則譯碼失敗。
【技術特征摘要】
【專利技術屬性】
技術研發人員:陳穎,徐兵,
申請(專利權)人:聯芯科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。