国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種Viterbi譯碼的快速搜尋路徑方法與流程

      文檔序號:12309054閱讀:1035來源:國知局
      一種Viterbi譯碼的快速搜尋路徑方法與流程

      本發(fā)明涉及數(shù)字信息傳輸技術領域,具體涉及一種viterbi譯碼的快速搜尋路徑方法。



      背景技術:

      信道編碼是數(shù)字信息傳輸技術中的一個重要的研究領域,其中卷積碼因其優(yōu)良的抗噪聲特性、靈活編譯碼方法及時延小等特點受到了廣泛的研究和應用。卷積碼的譯碼方式也有很多,而比較常見的方法就是viterbi譯碼方法。

      viterbi譯碼方法既可以用于硬判決譯碼,也可以用于軟判決譯碼。viterbi硬判決譯碼是根據(jù)接收的硬判決比特序列在碼的籬笆圖上找到一條與之積累的漢明距離最小的編碼比特序列的一種算法。設(n0,k0,m)卷積碼信息序列段數(shù)為l,其中m為卷積碼的編碼存儲,則卷積碼編碼器有2^(k0m)個狀態(tài)、l+m+1個時間單位節(jié)點,以0至l+m予以標號。所以籬笆圖中可能有的全部路徑也有2^(k0l)條,但viterbi譯碼方法并不是比較可能的所有路徑,而是接收一段,計算比較一段,選擇一段最可能的分支,從而達到整個碼字序列是一個最大似然函數(shù)的序列。譯碼器從某個狀態(tài),例如從狀態(tài)s0出發(fā),每次向右延伸一個分支,并與接收序列相應分支進行比較,計算它們之間的距離,然后將計算所得距離加到被延伸路徑的累積距離值中。對到達每個狀態(tài)的各條路徑(有2^k0條)的距離累積值進行比較,保留距離值最小的一條路徑,稱為幸存路徑,當有兩條以上取最小值時,可任取其中之一。最后將籬笆圖回歸到全0狀態(tài),從而剩下一條幸存路徑,即為所求路徑,路徑回溯對應的信息比特就是譯碼輸出序列。

      viterbi譯碼算法雖然是一種性能高的算法,但在路徑搜尋過程中的復雜度是比較大的。對于(n0,k0,m)卷積碼,對每一時刻要做2^(k0m)次“加-比-存”操作,每一個操作包括2^k0次加法和2^k0-1次比較,同時要保留2^(k0m)條幸存路徑??梢娝惴ǖ膹碗s度與信道質量無關,其計算量和存儲量都隨編碼存儲m和信息元分組k0呈指數(shù)增長,故如果m和k0較大,viterbi譯碼并不適用。在信道條件比較好的前提下,為了進一步降低viterbi譯碼算法的計算復雜度及存儲量,我們將充分信道信息,尋求改進的viterbi譯碼算法中的路徑搜尋方法。



      技術實現(xiàn)要素:

      為了克服現(xiàn)有技術存在的缺點與不足,本發(fā)明提供一種viterbi譯碼的快速搜尋路徑方法。

      該方法針對卷積碼viterbi譯碼過程中路徑選擇問題,在較好信道前提條件下,加入確定性高的路徑選擇方案,使得路徑搜尋的計算復雜度和儲存量大大降低,具有較高的實用意義。

      本發(fā)明提出的viterbi譯碼的路徑搜尋方法即從狀態(tài)s0出發(fā),每次向右延伸一個分支,首先直接選擇輸出子組與當前時間節(jié)點接收序列相同的分支也就是滿足漢明距離為0作為本段路徑,若找不到與接收序列相同的分支,則保留從本狀態(tài)到次狀態(tài)的所有分支,然后再從所有次狀態(tài)向右延伸的分支中繼續(xù)搜尋輸出子組與對應接收序列相同的分支,在只存在隨機錯而且條件較好的信道中,一般不會連續(xù)出現(xiàn)2個錯,所以在本次的分支選擇中可以找到輸出子組與對應接收序列相同的分支,作為次段路徑,接著刪除之前保留的其他路徑,如此進行搜尋路徑,直到將籬笆圖回歸到全0狀態(tài),得到的路徑即為本算法的最佳路徑。若出現(xiàn)連續(xù)兩個以上錯誤,則連續(xù)錯誤部分的路徑搜尋按照傳統(tǒng)方法,尋找編碼輸出序列與接收序列漢明距離最小的中間路徑。

      本發(fā)明采用如下技術方案:

      一種viterbi譯碼的快速搜尋路徑方法,包括如下步驟:

      s1對(n0,k0,m)卷積碼,從單位時間節(jié)點j=0開始,即從狀態(tài)s0出發(fā),向右延伸一個分支,從分支中找到輸出子組與現(xiàn)時間節(jié)點的接收序列相同的分支作為本段譯碼路徑,若找不不到滿足條件的分支,則進入s2,否則j=j+1進入s4;

      s2保留從上個狀態(tài)到達次狀態(tài)的所有分支,接著對所有次狀態(tài)向右延伸一個分支,然后j=j+1,從向右延伸的分支中選擇輸出子組與現(xiàn)在時間節(jié)點的接收序列相同的分支作為次段譯碼路徑,進入s3;

      s3保留與次段譯碼路徑相連的到達次狀態(tài)的分支作為前段譯碼路徑,其他到達次狀態(tài)的分支刪除,進入s4;

      s4若j<l+m,則返回s1,否則停止,譯碼器得到具有前提條件的最大似然路徑,所述l為卷積碼中信息序列段數(shù),m為卷積碼的編碼存儲。

      若接收序列中出現(xiàn)連續(xù)兩個以上錯誤,則連續(xù)錯誤部分的路徑搜尋按照傳統(tǒng)方法,尋找編碼輸出序列與接收序列漢明距離最小的中間路徑。

      所述的(n0,k0,m)卷積碼有2^(k0m)個狀態(tài),為保證使得籬笆圖最終回到全0狀態(tài),其將有l(wèi)+m+1個時間單位節(jié)點,以0至l+m予以標號。

      所述輸出子組與現(xiàn)時間節(jié)點的接收序列相同是指輸出子組與現(xiàn)時間節(jié)點的接收序列之間的漢明距離為0。

      本發(fā)明的有益效果:

      (1)該viterbi譯碼的快速搜尋路徑方法適用于實際中應用較多的條件較好的信道,與傳統(tǒng)的viterbi譯碼路徑搜尋方法有同樣的最佳效果。

      (2)該發(fā)明相比于傳統(tǒng)的譯碼路徑搜尋方法具有更低的計算復雜度和更少的路徑存儲量,只需要存儲一條最佳路徑,從而路徑搜尋速度也得到極大的提升。

      附圖說明

      圖1是本發(fā)明的工作流程圖;

      圖2是本發(fā)明實施例中(2,1,2)卷積碼g(d)=(1+d+d2,1+d2)的籬笆圖表示法;

      圖3是本發(fā)明實施例中(2,1,2)卷積碼viterbi譯碼的快速搜尋路徑方法執(zhí)行過程示意圖。

      具體實施方式

      下面結合實施例及附圖,對本發(fā)明作進一步地詳細說明,但本發(fā)明的實施方式不限于此。

      實施例

      如圖1-圖3所示,一種viterbi譯碼的快速搜尋路徑方法,適用于接收序列沒有出現(xiàn)兩個連續(xù)錯誤,實施例中我們采用簡單的(2,1,2)卷積碼,即該卷積碼的信息元分組長度為1,輸出子組碼元長度為2,編碼存儲為2。該卷積碼的生成多項式為g(d)=(1+d+d2,1+d2),如圖2為該卷積碼的籬笆圖表示。在圖2的籬笆圖中,每一個狀態(tài)有兩個輸入和兩個輸出分支,在某一個單位時間節(jié)點j,離開每一狀態(tài)的虛線分支即下面分支表示輸入編碼器中的信息子組mi=1;而實線分支即上面分支表示此時刻輸入至編碼器的信息子組mi=0;每一個分支上的2個數(shù)字表示第j時刻編碼器輸出的子組,因而籬笆圖中每一條路徑都對應于不同輸入的信息序列。我們同時假設編碼信息序列為m=(1011100),接收到的碼字為r=(10,10,01,01,10,01,11,00….),r中第一序列段和第三序列段的第二個比特均發(fā)生了錯誤,即原來正確的碼字是c=(11,10,00,01,10,01,11,00…)。

      根據(jù)我們選取的簡單的卷積碼為例,如圖3為本實施例中卷積碼viterbi譯碼的快速搜尋路徑方法執(zhí)行過程示意圖。下面對viterbi譯碼的快速搜尋路徑方法的具體實施方式進行說明:

      s1:對(2,1,2)卷積碼,從單位時間節(jié)點j=0開始,即從狀態(tài)s0出發(fā),向右延伸一個分支,從分支中找到輸出子組與現(xiàn)時間節(jié)點的接收序列(10)相同的分支作為本段譯碼路徑,發(fā)現(xiàn)找不到滿足條件的分支,進入步驟2;

      s2:保留狀態(tài)s0到達次狀態(tài)即s0和s1的所有分支,如圖3中的兩個分支①,接著對所有次狀態(tài)向右延伸一個分支,j增加1,從分支中選擇輸出子組與現(xiàn)時間節(jié)點的接收序列(10)相同的分支,如圖3中的分支②,作為次段譯碼路徑,進入步驟3;

      步驟3:保留與次段譯碼路徑相連的到達次狀態(tài)的分支作為前段譯碼路徑,如圖3中的與分支②相連的分支①,刪除其它到達次狀態(tài)的分支,如圖3中的未與分支②相連的另一分支①,進入步驟4;

      步驟4:若j<7,則返回步驟1,否則停止,譯碼器得到了具有前提條件下的最大似然路徑,如圖3中的路徑①→②→③→④→⑤→⑥→⑦。按照此路徑回溯得到的信息序列與編碼器信息序列m=(1011100)是一致的,說明譯碼成功。

      所述的(2,1,2)卷積碼中信息序列段數(shù)為5,其中卷積碼的編碼存儲為2。

      所述的(2,1,2)卷積碼中有4個狀態(tài),分別為s0、s1、s2、s3,為保證使得籬笆圖最終回到全0狀態(tài),其將有8個時間單位節(jié)點,以0至7予以標號。

      在只存在隨機錯而且條件較好的信道中,一般不會連續(xù)出現(xiàn)2個錯,在這種信道前提下,按照以上方法進行viterbi譯碼的搜尋路徑,即在搜尋路徑過程中直接尋找輸出子組與接收序列相同的分支,即直接尋找輸出子組與接收序列漢明距離為0的分支,得到的路徑是一條最大似然路徑,是一種有前提條件下的最佳譯碼路徑。

      若出現(xiàn)連續(xù)兩個以上錯誤,則連續(xù)錯誤部分的路徑搜尋按照傳統(tǒng)方法,尋找編碼輸出序列與接收序列漢明距離最小的中間路徑。

      對于(n0,k0,m)卷積碼,n0表示碼元長度,k0表示信息元長度,運用傳統(tǒng)的譯碼路徑搜尋方法時,對每一時刻要做2^(k0m)次“加-比-存”操作,每一個操作包括2^k0次加法和2^k0-1次比較,同時要保留2^(k0m)條幸存路徑。從實施例中我們可以看到,該方法相比于傳統(tǒng)的譯碼路徑搜尋方法具有更低的計算復雜度和更少的路徑存儲量,每一個時刻一般情況下只要做2^k0次的匹配比較操作,不需要存儲臨時路徑。最壞情況下只需要存儲2^k0條臨時路徑,需要做2^(2k0)次的匹配比較操作。而總體上只需要存儲一條最佳路徑,從而路徑搜尋速度也得到極大的提升。同時,本方法與傳統(tǒng)的viterbi譯碼路徑搜尋方法有同樣的最佳效果。

      上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受所述實施例的限制,其他的任何未背離本發(fā)明的精神實質與原理下所作的改變、修飾、替代、組合、簡化,均應為等效的置換方式,都包含在本發(fā)明的保護范圍之內。

      當前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1