国产精品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>

      Rs譯碼中的重數(shù)計算方法、裝置和譯碼器及譯碼方法

      文檔序號:7539630閱讀:317來源:國知局
      專利名稱:Rs譯碼中的重數(shù)計算方法、裝置和譯碼器及譯碼方法
      技術領域
      本發(fā)明涉及RS譯碼技術領域,更具體地,本發(fā)明涉及一種RS譯碼中的重數(shù)計算方法、裝置和譯碼器及譯碼方法。

      背景技術
      Reed-Solomon(RS)編碼于二十世紀六十年代就已經(jīng)提出,目前已經(jīng)廣泛應用于諸如有線、無線和深空通信系統(tǒng)等數(shù)字通信系統(tǒng)以及數(shù)據(jù)存儲、壓縮編碼等系統(tǒng)中。RS編碼是一類線性分組碼,其碼字具有最大距離分隔(MDS)特性,具有良好的抗突發(fā)差錯以及抗信道衰落能力。
      多年以來,人們使用硬判決或者非代數(shù)軟判決的方法對RS碼進行譯碼,這使得RS編碼的糾錯潛力沒有得到充分發(fā)揮,因而RS碼的譯碼性能長期不能與接近香農(nóng)(Shannon)限的渦輪(Turbo)碼或低密度奇偶校驗碼(LDPC)碼相媲美。
      最近,RS碼代數(shù)軟判決譯碼出現(xiàn)了若干突破性進展,使得該編碼在包括抗信道衰落、短碼、信源壓縮等諸多應用領域顯示出比Turbo碼和LDPC碼更具性能優(yōu)勢。RS碼代數(shù)軟判決譯碼的工作開始于1997年Sudan的RS碼列碼譯碼工作。Sudan的列碼譯碼工作極大地提高了RS碼譯碼器的糾錯能力。Guruswami等改進了Sudan的工作,進一步增強了RS碼譯碼器的糾錯性能。在Guruswami和Sudan工作的基礎上,Koetter和Vardy提出了代數(shù)軟判決譯碼,使該碼譯碼性能可以與Turbo碼和LDPC碼相媲美,甚至超過這些編碼。
      下面對RS代數(shù)軟判決解碼進行說明。RS碼代數(shù)軟判決解碼包括三個關鍵步驟,分別是重數(shù)計算、二變量多項式插值計算和二變量多項式分解。對于重數(shù)計算,大多數(shù)情況下,輸入到RS譯碼器的信息為接收符號的概率可靠度量信息,該信息一般被稱為“軟信息”。概率軟信息需要轉換成Guruswami-Sudan(G-S)列碼譯碼的插值點重數(shù)才能進行G-S列碼譯碼。
      相對于硬判決解碼以及非代數(shù)的軟判決解碼來說,代數(shù)軟判決RS碼譯碼器具有更優(yōu)的譯碼性能,但其譯碼復雜度也更高。為了降低代數(shù)軟判決RS碼解碼復雜度,人們已經(jīng)對二變量多項式插值以及二變量多項式分解進行了大量研究,研究出包括分治法在內的多種方法。
      然而,即使作出了一些改進,現(xiàn)有技術中重數(shù)計算步驟的復雜度依然很高,造成代數(shù)軟判決RS碼譯碼復雜度依然非常高。而且,即使現(xiàn)有技術中能夠通過某種方式控制重數(shù)計算步驟的復雜度,由于無法控制目標值,其結果仍可能導致插值和分解步驟的復雜度提高,或者造成譯碼器性能下降,而這兩種情況在實際系統(tǒng)中都是難以接受的。


      發(fā)明內容
      有鑒于此,本發(fā)明的主要目的是提出一種RS譯碼中的重數(shù)計算方法,以降低重數(shù)計算的復雜度。
      本發(fā)明的另一目的是提出一種RS譯碼中的重數(shù)計算裝置,以降低重數(shù)計算的復雜度。
      本發(fā)明的再一目的是提出一種RS譯碼器,以降低代數(shù)軟判決RS碼譯碼復雜度。
      本發(fā)明的又一目的是提出一種RS譯碼方法,以降低代數(shù)軟判決RS碼譯碼復雜度。
      為達到上述目的,本發(fā)明的技術方案是這樣實現(xiàn)的 一種RS譯碼中的重數(shù)計算方法,該方法包括 輸入可靠度矩陣和重數(shù)計算的目標值,將所述目標值表示成一個獨立變量的單調遞增或單調遞減函數(shù); 利用目標值為該獨立變量的單調遞增或單調遞減函數(shù)的特性,對該獨立變量進行快速迭代以計算目標值所對應的獨立變量值,并根據(jù)該可靠度矩陣和計算出的所述獨立變量值計算重數(shù)矩陣。
      所述對獨立變量進行快速迭代為利用二分法算法或者黃金分割算法對獨立變量進行快速迭代。
      所述目標值為重數(shù)計算的插值點數(shù),所述快速迭代具體包括 A1、對獨立變量取上界值和下界值,其中上界值大于目標值所對應的獨立變量值,下界值小于目標值所對應的獨立變量值; B1、計算上界值和下界值之間一點的目標函數(shù)值,并判斷該點的目標函數(shù)值是否小于所述插值點數(shù),如果小于,用該點的獨立變量值更新下界值,如果不小于,則用該點的獨立變量值更新上界值; C1、判斷上界值和下界值之差是否小于預先設定的門限值,如果小于,結束所述快速迭代,否則返回執(zhí)行步驟B1。
      所述下界值為λ0,所述上界值為λ1, 其中N為RS碼的碼長,s為所述插值點數(shù),q為調制階數(shù)。
      所述目標值為代價值,所述快速迭代具體包括 A2、對獨立變量取上界值和下界值,其中上界值大于目標值所對應的獨立變量值,下界值小于目標值所對應的獨立變量值; B2、計算上界值和下界值之間一點的目標函數(shù)值,并判斷該點的目標函數(shù)值是否小于所述代價值,如果小于,用該點的獨立變量值更新下界值,如果不小于,則用該點的獨立變量值更新上界值; C2、判斷上界值和下界值之差是否小于預先設定的門限值,如果小于,結束所述快速迭代,否則返回執(zhí)行步驟B2。
      所述下界值為λ0,所述上界值為λ1,并且 其中N為RS碼的碼長,C為所述代價值,q為調制階數(shù),πij為可靠度矩陣第i行第j列的元素。
      所述可靠度矩陣為滿可靠度矩陣或稀疏可靠度矩陣。
      一種用于RS譯碼的重數(shù)計算裝置,該裝置包括 輸入模塊,用于接收可靠度矩陣和重數(shù)計算的目標值; 目標值表示模塊,用于將所述目標值表示成一個獨立變量的單調函數(shù); 重數(shù)矩陣計算模塊,用于利用目標值為獨立變量的單調函數(shù)的特性,對該獨立變量進行快速迭代以計算目標值所對應的獨立變量值,并根據(jù)該可靠度矩陣和計算出的所述獨立變量值計算重數(shù)矩陣。
      所述目標值表示模塊,用于將所述目標值表示成一個獨立變量的單調遞增函數(shù),或用于將所述目標值表示成一個獨立變量的單調遞減函數(shù)。
      所述輸入模塊,用于接收滿可靠度矩陣或稀疏可靠度矩陣。
      所述重數(shù)矩陣計算模塊,用于利用二分法算法或者黃金分割算法對該獨立變量進行快速迭代。
      一種RS碼譯碼器,該譯碼器包括 重數(shù)計算裝置,用于根據(jù)輸入的可靠度矩陣和重數(shù)計算的目標值計算重數(shù)矩陣,其中目標值表示成一個獨立變量的單調函數(shù),利用目標值為獨立變量的單調函數(shù)的特性,對該獨立變量進行快速迭代以計算目標值所對應的獨立變量值,并根據(jù)計算出的所述獨立變量值和該可靠度矩陣計算出重數(shù)矩陣; 二變量多項式插值裝置,用于根據(jù)所述計算出的重數(shù)矩陣計算二變量多項式的系數(shù),以得到二變量多項式; 二變量多項式分解裝置,用于對得到的二變量多項式進行分解,以得到列碼譯碼的候選碼字。
      一種RS碼譯碼方法,該方法包括 輸入可靠度矩陣和重數(shù)計算的目標值,將所述目標值表示成一個獨立變量的單調函數(shù),利用目標值為該獨立變量的單調函數(shù)的特性,對該獨立變量進行快速迭代以計算目標值所對應的獨立變量值,并根據(jù)該可靠度矩陣和計算出的所述獨立變量值計算重數(shù)矩陣; 根據(jù)所述計算出的重數(shù)矩陣計算二變量多項式的系數(shù),以得到二變量多項式,并對得到的二變量多項式進行分解,以得到列碼譯碼的候選碼字。
      所述目標值為重數(shù)計算的插值點數(shù),所述快速迭代具體包括 A3、對獨立變量取上界值和下界值,其中上界值大于目標值所對應的獨立變量值,下界值小于目標值所對應的獨立變量值; B3、計算上界值和下界值之間一點的目標函數(shù)值,并判斷該點的目標函數(shù)值是否小于所述插值點數(shù),如果小于,用該點的獨立變量值更新下界值,如果不小于,則用該點的獨立變量值更新上界值; C3、判斷上界值和下界值之差是否小于預先設定的門限值,如果小于,結束所述快速迭代,否則返回執(zhí)行步驟B3。
      所述目標值為代價值,所述快速迭代具體包括 A4、對獨立變量取上界值和下界值,其中上界值大于目標值所對應的獨立變量值,下界值小于目標值所對應的獨立變量值; B4、計算上界值和下界值之間一點的目標函數(shù)值,并判斷該點的目標函數(shù)值是否小于所述代價值,如果小于,用該點的獨立變量值更新下界值,如果不小于,則用該點的獨立變量值更新上界值; C4、判斷上界值和下界值之差是否小于預先設定的門限值,如果小于,結束所述快速迭代,否則返回執(zhí)行步驟B4。
      從上述技術方案中可以看出,在本發(fā)明中,目標值表示成一個獨立變量的單調函數(shù),并利用目標值為該獨立變量的單調函數(shù)的特性,對該獨立變量進行快速迭代以計算目標值所對應的獨立變量值,再根據(jù)該可靠度矩陣和計算出的所述獨立變量值計算重數(shù)矩陣。由此可見,本發(fā)明正是將單調函數(shù)特征引入到代數(shù)軟判決RS譯碼重數(shù)計算中,尋找到恰當?shù)某跏贾?,從而能夠采用各種快速迭代算法快速計算出重數(shù)矩陣,因此顯著降低了重數(shù)計算的復雜度,從而降低了RS碼的譯碼復雜度。
      另外,本發(fā)明中,通過在所設定的獨立變量下界值和上界值之間選取一個點,比較該點的函數(shù)值與目標值的大小并根據(jù)該比較結果更新下界值或上界值,從而實現(xiàn)了快速搜索。
      而且,本發(fā)明中所采用的迭代算法可以為包括黃金分割算法、二分法算法等各種算法在內的各種快速迭代算法,因此本發(fā)明還非常方便各種具體應用。



      圖1為根據(jù)本發(fā)明RS譯碼中重數(shù)計算方法的示范性流程圖; 圖2為根據(jù)本發(fā)明第一實施例的RS譯碼中重數(shù)計算方法的流程圖; 圖3為根據(jù)本發(fā)明第二實施例的RS譯碼中重數(shù)計算方法的流程圖; 圖4為本發(fā)明第一實施例中選取上界值和下界值的示范性示意圖; 圖5為本發(fā)明第二實施例中選取上界值和下界值的示范性示意圖; 圖6為根據(jù)本發(fā)明的RS譯碼中重數(shù)計算裝置的示范性結構圖; 圖7為根據(jù)本發(fā)明的RS譯碼器的示范性結構圖; 圖8為根據(jù)本發(fā)明的RS譯碼方法的示范性流程圖。

      具體實施例方式 為使本發(fā)明的目的、技術方案和優(yōu)點表達得更加清楚明白,下面結合附圖及具體實施例對本發(fā)明再作進一步詳細的說明。
      代數(shù)軟判決RS碼譯碼解碼與傳統(tǒng)的硬判決解碼以及非代數(shù)軟判決解碼相比具有更好的譯碼性能,但復雜度也更高。重數(shù)計算步驟的運算量在整個代數(shù)軟判決譯碼器中占有的相當?shù)谋戎亍?br> 通常情況下,實現(xiàn)代數(shù)軟判決RS碼解碼的重數(shù)計算的計算量為O(N3),其中N為碼長。當調制階數(shù)q比較大時,重數(shù)計算所需計算量很高。對于經(jīng)??赡苓x取到的q值,如256,實現(xiàn)重數(shù)計算需要的運算操作(如存儲器存取、比較等)數(shù)可能達到224。
      本發(fā)明通過降低重數(shù)計算步驟的復雜度,能夠顯然降低代數(shù)軟判決RS碼譯碼器的復雜度。
      首先,對本發(fā)明的算法原理進行詳細說明 對于碼長為N,信息位數(shù)為K的RS碼,設信息多項式為m(x)=a0+a1·x+…+aK-1·xK-1,信息元ai(i=0,1,…,K-1)是定義于有限域GF(q)的元素; 在有限域GF(q)中,選取N個不同的非零元素,得到集合N<q,集合D可以用來進行RS編碼; RS碼字集合可以寫成 設發(fā)送的RS編碼序列為v1=f(x1),v2=f(x2),…,vN=f(xN); 該序列經(jīng)調制后送入信道,經(jīng)信道噪聲和干擾作用后到達接收端得到序列
      代數(shù)軟判決RS譯碼器根據(jù)接收到的復數(shù)序列

      重構發(fā)送端的若干個最大可能發(fā)送的信息多項式,該過程稱為列碼譯碼。
      為了實現(xiàn)RS碼的列碼譯碼,需要從接收輸入信息中提取出插值點信息以及插值點對應的重數(shù)信息。
      在實際系統(tǒng)中,接收端能夠得到的信息往往是概率可靠度信息,為了實現(xiàn)代數(shù)軟判決RS譯碼,這些概率信息需要轉換成插值點及對應重數(shù)信息,該轉換即為重數(shù)計算。
      設譯碼器列舉出多項式f(x),接收矢量

      對應的概率可靠度矩陣為
      矩陣∏的元素(1≤i≤q,1≤j≤N)表示在接收序列為

      的條件下,當發(fā)送信息多項式為f(x)時,第j個編碼符號為i-1的概率; 如果某個πij≠0,則得到插值點(xj,yi)=(xj,i-1),該插值點將對應一個非負整數(shù)mij,稱為重數(shù); 如果一個插值點(xj,yi)對應的重數(shù)為mij,則該點在代數(shù)軟判決RS譯碼的插值步驟將會產(chǎn)生mij·(mij+1)/2個約束方程; 設矩陣∏對應的重數(shù)矩陣為M,M=[mij],則插值步驟產(chǎn)生的約束方程數(shù)量為并稱之為代價; 代價值越高,插值和分解步驟所需復雜度也越高。
      另一方面,重數(shù)矩陣的每一個元素mij與概率相乘的值為πij·mij。重數(shù)矩陣為M對應得到q·N個這樣的乘積,將這些乘積作和得到的值定義為得分。由Koetter等的研究知道,該分值越高,代數(shù)軟判決譯碼器輸出性能越好。
      實際的譯碼器只能具有有限的復雜度。重數(shù)計算需要在插值和分解步驟復雜度一定的情況下最大化得分,或者在得分一定的情況下最小化插值和分解步驟的復雜度。
      換句話說,重數(shù)計算需要在代價一定時最大化得分或者在得分一定的情況下最小化代價。對于前者,設重數(shù)矩陣集合為實際就是尋找矩陣Mopt=arg maxM∈m(C)<M,∏>。
      為了更清楚地說明現(xiàn)有技術與本發(fā)明的區(qū)別,先對現(xiàn)有的Kotter算法進行大概說明。為計算最優(yōu)的重數(shù)矩陣,Kotter等給出了下面的算法。
      當輸入為可靠度矩陣∏和以重數(shù)計量的插值點數(shù)量s時 輸入可靠度矩陣∏和以重數(shù)計量的插值點數(shù)量s; 輸出滿足的最優(yōu)重數(shù)矩陣M。
      第一步設置∏*=∏,M=全零矩陣以及k=0; 第二步尋找矩陣∏*中最大值位置πij*對應的位置(i,j),并更新位置(i,j)對應的值mij=mij+1以及k=k+1。
      第三步若k≥s,返回并輸出矩陣M;否則轉第二步。
      對于輸入為可靠度矩陣∏和代價值C的情形 輸入可靠度矩陣∏和代價值C; 輸出滿足的最優(yōu)重數(shù)矩陣M。
      第一步設置∏*=∏,M=全零矩陣以及CM=0。
      第二步尋找矩陣∏*中最大值位置πij*對應的位置(i,j),并更新位置(i,j)對應的值和CM=CM+mij+1。
      第三步若C<CM,設置mij=mij+1并轉第二步,否則返回并輸出矩陣M。
      在第一種情形中,首先輸入插值點數(shù)量s和可靠度矩陣∏,然后給矩陣∏*、重數(shù)矩陣M和計數(shù)器k賦初值,接著搜索矩陣∏*中最大值位置πij*對應的位置(i,j),并且更新矩陣∏*和重數(shù)矩陣M在位置(i,j)處對應的元素。然后,計數(shù)器加1,并判斷迭代次數(shù)是否已經(jīng)達到指定的插值點數(shù)s,如果還沒有達到,則繼續(xù)迭代,否則停止迭代并輸出重數(shù)矩陣M。
      第二種情形的過程與第一種情形區(qū)別僅在于其停止控制參數(shù)不同,因此不再詳細枚舉其算法步驟。
      下面討論Koetter等算法的計算復雜度。第一種情形和第二種情形對應同一算法,僅有的區(qū)別是它們的停止控制參數(shù)不同,因此只考慮第一種情形的復雜度。
      第一種情形在一個大小為q×N的矩陣中進行了s次最大值搜尋,RS碼有s≥N。因此該過程的復雜度為O(N3)。
      如果考慮稀疏矩陣,即對于每一接收到的符號,只將該接收點周圍最近的J個參數(shù)點的對應的概率納入可靠度矩陣,則可靠度矩陣每一列僅J個元素,過程1的計算復雜度為O(N2)。
      令M(∏,s)為Koetter等的算法第一種情形在第s步生成的重數(shù)矩陣,定義V為一q×N實矩陣,其(i,j)處元素Vij滿足0≤Vij<1(i=1,2,…,q;j=1,2,…,N)。
      Koetter等證明了下面的定理 對于每一個正數(shù)λ,存在非負整數(shù)s,使
      反之,對于每一個非負整數(shù)s,存在正實數(shù)λ使上式成立。
      根據(jù)上述定理,分析如下 由該定理,申請人可以得到下面的推論(推論1和推論2)。
      推論1設二正實數(shù)λ1和λ0滿足λ1≥λ0,非負整數(shù)s1和s0分別對應重數(shù)矩陣



      則必有s1≥s0。
      證令



      Koetter等算法第一情形中,每一迭代步都有唯一的一個位置(i,j),其對應重數(shù)mij加1,從而有和 注意到λ1≥λ0,故
      于是
      推論2設λ為正數(shù),其對應Koetter等算法第一種情形在迭代步產(chǎn)生的重數(shù)矩陣

      則代價值

      關于參數(shù)λ單調遞增。
      該推論可應用引理1直接得到,故此處略去其證明。
      因此,可以得出結論代數(shù)軟判決RS譯碼重數(shù)計算的目標值(以重數(shù)計算的插值點數(shù)s或者代價值C)可以表示成參量λ的單調遞增函數(shù)。也就是說,重數(shù)計算可以轉化為一個單調遞增函數(shù)目標值求解問題。對于單調遞增或者遞減函數(shù)目標值求解,不必采用復雜度很高的逐步迭代方法,而可以采用諸如二分法或者黃金分割法等方法快速求解,二分法或黃金分割法的收斂速度很快,因而其復雜度很低。
      當代數(shù)軟判決RS譯碼重數(shù)計算步驟的目標值可以表示成某個獨立變量的單調遞增函數(shù)時對于一個單調遞增函數(shù)y=g(x),給定目標值y0,如那能夠找到兩個初始值x1和x2,分別滿足g(x1)≤y0和g(x2)≥y0,則可以使用二分法或黃金分割法等各種方法解方程g(x)-y0=0快速計算出目標值。
      本發(fā)明中,正是通過將單調函數(shù)特征引入到代數(shù)軟判決RS譯碼重數(shù)計算,同時尋找到恰當?shù)某跏贾?,從而能夠采用二分法或者黃金分割法等快速迭代方法快速計算出重數(shù)矩陣。
      由于引入了單調函數(shù)特性,使用收斂速度很快的二分法或者黃金分割法,只需要很少的迭代步數(shù)就可以得到所需要的結果,本發(fā)明避免了Koetter等方法逐步搜索計算量大的缺點,極大地降低了重數(shù)計算的復雜度。
      具體地說,對于滿可靠度矩陣,本發(fā)明計算重數(shù)所需復雜度從Koetter等方法的O(N3)降低到O(N2);對于稀疏可靠度矩陣,本發(fā)明所需要的復雜度從Koetter等方法的O(N2)降低到O(N)及關于N的線性復雜度。
      不僅本發(fā)明所需計算量在關于N的量級上有降低,而且本發(fā)明與Koetter的方法具有相同的輸入和相同的輸出,因而既不會導致插值和分解步驟的復雜度的上升,也不會造成整個譯碼器譯碼性能下降。
      下面以二分法為例說明單調遞增函數(shù)目標值的快速搜索。
      假設函數(shù)y=g(x)單調遞增且有g(x1)<y0和g(x2)>y0,目標值y0對應的解x0為需要求解的量。首先計算x1和x2的中點x3所對應的函數(shù)值。由于g(x3)>y0,用x3作為新的上界,并計算x1和x3的中點x4所對應的函數(shù)值。因為g(x4)<y0,用x4作為新的下界,重復該過程可快速得到目標值。
      為了應用二分法或者黃金分割法計算重數(shù)矩陣,還需要設置初始值。設函數(shù)g(λ)是λ關于的遞增函數(shù),給定目標值g,現(xiàn)求λ使方程g(λ)=g。如果能夠預先給定二初始值λL和λH,使g(λL)≤g且g(λH)≥g,則立即可以使用二分法或者黃金分割法快速搜索目標值。當然,如果沒有初始值,對于單調遞增或遞減函數(shù),還是可以應用二分法或黃金分割法搜索目標值,只是因為算法第一步需要確定初始值,其復雜度比有初始值的方法稍高。
      關于重數(shù)計算初始值的設定,有下面的推論(推論3和推論4)。
      推論3設有可靠度矩陣∏和正整數(shù)s,設置和非負整數(shù)s1和s0分別對應重數(shù)矩陣



      則s1≥s,s0≤s。
      證定義


      于是有

      推論4設有可靠度矩陣∏和正實數(shù)C,設置和 定義



      則下面的不等式成立 證容易驗證λ0是一元二次方程的一個根,因此
      即左半部分不等式成立。
      下證右半部分不等式 由定理對于每一個正數(shù)λ,存在非負整數(shù)s,使
      反之,對于每一個非負整數(shù)s,存在正實數(shù)λ使上式成立可知
      此處V=[vij](i=1,2,…,q;j=1,2,…N)一個q×N的矩陣,滿足0≤Vij<1; 記則λ1=λ0+a; 于是可得
      該式最后一個等式的第一項的值恰為C,第三項為非負值; 現(xiàn)單獨寫出第二項有 該式與其上面的式子聯(lián)立得 推論3和推論4分別給出目標值為插值點數(shù)s和代價值C時的初始值。此二推論說明,只要按照上述式子設定初值,則所求的目標λ一定夾在λ0和λ1之間。
      通過上述詳細分析可見 已經(jīng)知道,代數(shù)軟判決RS譯碼重數(shù)計算的目標值(以重數(shù)計算的插值點數(shù)s或者代價值C)可以表示成參量λ的單調遞增函數(shù)或者單調遞減函數(shù)。同時,可以設定初始值上界和下界,將目標值s或C對應的λ夾在該下界和上界之間。于是,可以使用諸如二分法或者黃金分割法來實現(xiàn)重數(shù)矩陣的快速計算。
      綜上,圖1為根據(jù)本發(fā)明RS譯碼中重數(shù)計算方法的示范性流程圖。如圖1所示,該方法包括 步驟101輸入可靠度矩陣和重數(shù)計算的目標值,將所述目標值表示成一個獨立變量的單調函數(shù); 在這里,單調函數(shù)既可以為單調遞增函數(shù),還可以是單調遞減函數(shù)。而且,可靠度矩陣既可以是滿可靠度矩陣,也可以是稀疏可靠度矩陣。
      步驟102利用目標值為該獨立變量的單調函數(shù)的特性,對該獨立變量進行快速迭代以計算目標值所對應的獨立變量值,并根據(jù)該可靠度矩陣和計算出的所述獨立變量值計算重數(shù)矩陣。
      其中,可以利用二分法算法或者黃金分割算法等各種快速迭代算法對獨立變量進行快速迭代。
      當目標值為重數(shù)計算的插值點數(shù)時,快速迭代具體包括首先,對獨立變量取上界值和下界值,其中上界值大于目標值所對應的獨立變量值,下界值小于目標值所對應的獨立變量值;然后計算上界值和下界值之間一點的目標函數(shù)值,并判斷該點的目標函數(shù)值是否小于所述插值點數(shù),如果小于,用該點的獨立變量值更新下界值,如果不小于,則用該點的獨立變量值更新上界值;再判斷上界值和下界值之差是否小于預先設定的門限值,如果小于,結束所述快速迭代,否則繼續(xù)執(zhí)行迭代。優(yōu)選地,所述下界值為λ0,所述上界值為λ1, 其中N為RS碼的碼長,s為所述插值點數(shù),q為調制階數(shù)。
      當目標值為代價值時,快速迭代具體包括首先,對獨立變量取上界值和下界值,其中上界值大于目標值所對應的獨立變量值,下界值小于目標值所對應的獨立變量值;然后計算上界值和下界值之間一點的目標函數(shù)值,并判斷該點的目標函數(shù)值是否小于所述代價值,如果小于,用該點的獨立變量值更新下界值,如果不小于,則用該點的獨立變量值更新上界值;再判斷上界值和下界值之差是否小于預先設定的門限值,如果小于,結束所述快速迭代,否則返回繼續(xù)迭代。
      優(yōu)選地,下界值為λ0,所述上界值為λ1,并且 其中N為RS碼的碼長,C為所述代價值,q為調制階數(shù),πij為可靠度矩陣第i行第j列的元素。
      現(xiàn)考察本發(fā)明算法的計算復雜度。本發(fā)明的每一迭代步需要一次2×q×N次加操作、一次q×N乘法操作以及一次q×N操作。二分法或黃金分割法在只需要很少的迭代步數(shù)即可完成計算(通常低于次迭代就已經(jīng)滿足要求。由于計算機的有限字長效應,更多的迭代次數(shù)只是徒然增加計算量而沒有實際價值)。這樣,改進算法的計算復雜度為O(N2)。
      如果考慮稀疏矩陣,即對于每一接收到的符號,只將該接收點周圍最近的J個參數(shù)點的對應的概率納入可靠度矩陣,則可靠度矩陣每一列僅J個元素,改進算法計算復雜度為O(N)。
      上面已經(jīng)詳細描述了本發(fā)明的算法,下面結合上述算法對本發(fā)明的優(yōu)選實施例進行詳細說明。
      針對當輸入為可靠度矩陣∏和以重數(shù)計量的插值點數(shù)量s時的第一種情形,下面具體描述本發(fā)明的第一實施例 其中 輸入可靠度矩陣∏和以重數(shù)計量的插值點數(shù)量s; 輸出滿足的最優(yōu)重數(shù)矩陣M。
      第一步設置和 第二步設置λ=λL+ρ·(λH-λL)及

      若sM<s,設置λL=λ,否則設置λH=λ; 第三步若λH-λL≤ε返回并輸出

      否則轉第二步。
      圖2為根據(jù)本發(fā)明第一實施例的RS譯碼中重數(shù)計算方法的流程圖。如圖2所示,該方法包括 步驟201輸入插值點數(shù)量s和可靠度矩陣∏以及預先設定的參數(shù)ρ和ε; 其中ρ和ε是兩個預先設定的正數(shù),參量ρ可以滿足0<ρ<1,對應二分法或者黃金分割法,例如可設為0.5或0.618。ε是一個很小的正數(shù),例如可取0.0001。如果迭代過程中λL到λH的線段長度小于等于ε,則認為該線段已經(jīng)收斂成一個點,因而可以停止迭代。
      步驟202設置迭代初值和 步驟203計算出λL到λH之間的點λ,λ=λL+ρ·(λH-λL); 步驟204計算對應λ處的目標函數(shù)值s(λ) 步驟205比較該目標函數(shù)值與輸入目標值s,如果函數(shù)值小于目標值,在步驟206用λ更新下界λL的值,否則在步驟207用λ更新上界λH的值; 步驟208,檢測λH-λL的值是否小于預先設定的門限ε,如果該值小于ε,表示已滿足停止迭代條件,在步驟209返回原調用者并輸出重數(shù)矩陣

      否則轉步驟203繼續(xù)迭代。
      針對當輸入為可靠度矩陣∏和代價值C時的第二種情形,下面具體描述本發(fā)明的第二實施例 輸入可靠度矩陣∏和代價值C 輸出滿足的最優(yōu)重數(shù)矩陣M; 第一步設置及 第二步設置λ=λL+ρ·(λH-λL)及

      若CM<C,設置λL=λ;否則,設置λH=λ。
      第三步如果λH-λL≤ε返回并輸出

      否則轉第二步。
      圖3為根據(jù)本發(fā)明第二實施例的RS譯碼中重數(shù)計算方法的流程圖。如圖3所示,該方法包括 步驟301輸入插值點數(shù)量s和可靠度矩陣∏以及預先設定的參數(shù)ρ和ε; 其中ρ和ε是兩個預先設定的正數(shù),參量ρ可以滿足0<ρ<1,對應二分法或者黃金分割法,例如可設為0.5或0.618。ε是一個很小的正數(shù),例如可取0.0001。如果迭代過程中λL到λH的線段長度小于等于ε,則認為該線段已經(jīng)收斂成一個點,因而可以停止迭代。
      步驟302設置迭代初值及 步驟303計算λL到λH之間的點λ,然后在步驟304計算對應λ處的目標函數(shù)值C(λ); 步驟305比較該目標函數(shù)值與輸入目標值C,如果函數(shù)值小于目標值,在步驟306用λ更新下界λL的值,否則在步驟307用λ更新上界λH的值 步驟308,檢測λH-λL的值是否小于預先設定的門限ε,如果該值小于ε,表示已滿足停止迭代條件,在步驟309返回原調用者并輸出重數(shù)矩陣

      否則轉步驟303繼續(xù)迭代。
      推論3和推論4分別給出目標值為S和C時的初始值,此二推論說明,所求的目標λ一定夾在λ0和λ1之間。圖4為本發(fā)明第一實施例中選取上界值和下界值的示范性示意圖;圖5為本發(fā)明第二實施例中選取上界值和下界值的示范性示意圖。
      基于上述算法和流程,本發(fā)明還提出了一種RS譯碼中重數(shù)計算裝置。圖6為根據(jù)本發(fā)明的RS譯碼中重數(shù)計算裝置的示范性結構圖。如圖6所示,該裝置600包括 輸入模塊601,用于接收可靠度矩陣和重數(shù)計算的目標值; 目標值表示模塊602,用于將所述目標值表示成一個獨立變量的單調函數(shù); 重數(shù)矩陣計算模塊603,用于利用目標值為獨立變量的單調函數(shù)的特性,對該獨立變量進行快速迭代以計算目標值所對應的獨立變量值,并根據(jù)該可靠度矩陣和計算出的所述獨立變量值計算重數(shù)矩陣。
      其中,目標值表示模塊602,可以用于將所述目標值表示成一個獨立變量的單調遞增函數(shù);目標值表示模塊602,還可以用于將所述目標值表示成一個獨立變量的單調遞減函數(shù)。輸入模塊601接收的可靠度矩陣既可以是滿可靠度矩陣,也可以是稀疏可靠度矩陣。
      優(yōu)選地,重數(shù)矩陣計算模塊603,用于利用二分法算法或者黃金分割算法對該獨立變量進行快速迭代。
      基于上述RS譯碼中重數(shù)計算裝置,本發(fā)明還提出了一種RS碼譯碼器。圖7為根據(jù)本發(fā)明的RS譯碼器的示范性結構圖。如圖7所示,該譯碼器700包括 重數(shù)計算裝置701,用于根據(jù)輸入的可靠度矩陣和重數(shù)計算的目標值計算重數(shù)矩陣,其中目標值表示成一個獨立變量的單調函數(shù),利用目標值為獨立變量的單調函數(shù)的特性,對該獨立變量進行快速迭代以計算目標值所對應的獨立變量值,并根據(jù)計算出的所述獨立變量值和該可靠度矩陣計算出重數(shù)矩陣; 二變量多項式插值裝置702,用于根據(jù)所述計算出的重數(shù)矩陣計算二變量多項式的系數(shù),以得到二變量多項式; 二變量多項式分解裝置703,用于對得到的二變量多項式進行分解,以得到列碼譯碼的候選碼字。
      具體地考慮編碼長度為N,信息長度為K的RS碼解碼,對于二變量多項式插值裝置702,當插值點及對應每一插值點重數(shù)得到以后,二變量多項式插值裝置列出系數(shù)定義于有限域GF(q)若干線性方程,得到的線性方程組的未知數(shù)對應二元多項式Q(x,y)的系數(shù),解此線性方程組可得到二元多項式Q(x,y)的系數(shù),求取Q(x,y)的系數(shù)的運算稱為Q(x,y)插值。
      對于二變量多項式分解裝置703,當二元多項式Q(x,y)得到以后,求出Q(x,y)的因子y-f(x),其中f(x)為定義于GF(q)的次數(shù)至多為K-1的多項式。分解出的次數(shù)至多為K-1的每一個多項式為列碼譯碼的一個候選碼字多項式,將所有列出的碼字與收到的序列進行比較即可得出最佳譯碼碼字。
      本發(fā)明還提出了一種RS碼譯碼方法。圖8為根據(jù)本發(fā)明的RS譯碼方法的示范性流程圖。如圖8所示,該方法包括 步驟801輸入可靠度矩陣和重數(shù)計算的目標值,將所述目標值表示成一個獨立變量的單調函數(shù),利用目標值為該獨立變量的單調函數(shù)的特性,對該獨立變量進行快速迭代以計算目標值所對應的獨立變量值,并根據(jù)該可靠度矩陣和計算出的所述獨立變量值計算重數(shù)矩陣; 步驟802根據(jù)所述計算出的重數(shù)矩陣計算二變量多項式的系數(shù),以得到二變量多項式,并對得到的二變量多項式進行分解,以得到列碼譯碼的候選碼字。
      其中,對于目標值為重數(shù)計算的插值點數(shù)的情形,所述快速迭代具體包括 首先,對獨立變量取上界值和下界值,其中上界值大于目標值所對應的獨立變量值,下界值小于目標值所對應的獨立變量值;然后計算上界值和下界值之間一點的目標函數(shù)值,并判斷該點的目標函數(shù)值是否小于所述插值點數(shù),如果小于,用該點的獨立變量值更新下界值,如果不小于,則用該點的獨立變量值更新上界值;再判斷上界值和下界值之差是否小于預先設定的門限值,如果小于,結束所述快速迭代,否則再返回計算上界值和下界值之間點的目標函數(shù)值,從而繼續(xù)迭代。
      對于目標值為代價值的情形,所述快速迭代具體包括 首先,對獨立變量取上界值和下界值,其中上界值大于目標值所對應的獨立變量值,下界值小于目標值所對應的獨立變量值;然后計算上界值和下界值之間一點的目標函數(shù)值,并判斷該點的目標函數(shù)值是否小于所述代價值,如果小于,用該點的獨立變量值更新下界值,如果不小于,則用該點的獨立變量值更新上界值;再判斷上界值和下界值之差是否小于預先設定的門限值,如果小于,結束所述快速迭代,否則返回計算上界值和下界值之間點的目標函數(shù)值,從而繼續(xù)迭代。
      下面說明本發(fā)明的性能實例 為了驗證本方法計算重數(shù)的有效性,可以采用C++編寫程序在奔騰(Pentium)4 Windows XP平臺上對算法計算速度進行仿真。為了排除算法運行結果對機器的相關性,考察Koetter等所提出的方法與本發(fā)明所需運行時間的比值。
      為了準確計算運行時間,可以將待測試的算法調用多次求取其平均時間。在仿真中,調用次數(shù)的設定以保證得到的運行時間具有99%的置信程度為原則。選取二RS碼,一個編碼為定義于有限域GF(256)的(255,144,112),另一編碼為定義于有限域GF(64)的(63,32,32)碼,使用該碼進行仿真觀察其運行速度。使用加性高斯白噪聲信道(AWGN)信道進行仿真,觀察信噪比(Eb/N0)為10dB時的結果。對于每一接收到的符號,將該接收點周圍最近的J個參數(shù)點的對應的概率納入可靠度矩陣。
      由于第一實施例和第二實施例對應同一算法不同的目標值,只比較改進第二實施例與現(xiàn)有技術的第二種情形的運行時間。
      對于列碼譯碼,設列碼碼字數(shù)不超過L,則按照Koetter等的定義,設K為信息長度,目標值C可定義為C=(K-1)·L2/2。設置參數(shù)ρ=0.5,ε=0.0001。選取若干(L,J)參數(shù)對進行仿真。仿真結果如表一所示。本發(fā)明的方法與原有Koetter等算法具有相同的輸入和相同的輸出。
      表1為若干RS codes運行時間結果,列S-R表示Koetter等算法與本發(fā)明計算重數(shù)的時間比。

      表1 從表1可以看出,本發(fā)明的方法運行速度遠遠高于原有算法。本發(fā)明在保證RS代數(shù)軟判決譯碼性能不變的情況下降低了實現(xiàn)復雜度。
      綜上所述,代數(shù)軟判決RS譯碼重數(shù)計算步驟的目標值可以表示成某個獨立變量的單調遞增或遞減函數(shù)。
      本發(fā)明正是將增函數(shù)特征引入到代數(shù)軟判決RS譯碼重數(shù)計算,同時尋找到恰當?shù)某跏贾?,從而能夠采用二分法或者黃金分割法快速計算出重數(shù)矩陣。由于引入了增函數(shù)特性,使用收斂速度很快的二分法或者黃金分割法,只需要很少的迭代步數(shù)就可以得到所需要的結果,避免了Koetter等方法逐步搜索計算量大的缺點,極大地降低了重數(shù)計算的復雜度。
      以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
      權利要求
      1.一種RS譯碼中的重數(shù)計算方法,其特征在于,該方法包括
      輸入可靠度矩陣和重數(shù)計算的目標值,將所述目標值表示成一個獨立變量的單調遞增或單調遞減函數(shù);
      利用目標值為該獨立變量的單調遞增或單調遞減函數(shù)的特性,對該獨立變量進行快速迭代以計算目標值所對應的獨立變量值,并根據(jù)該可靠度矩陣和計算出的所述獨立變量值計算重數(shù)矩陣。
      2.根據(jù)權利要求1所述的RS譯碼中的重數(shù)計算方法,其特征在于,所述對獨立變量進行快速迭代為利用二分法算法或者黃金分割算法對獨立變量進行快速迭代。
      3.根據(jù)權利要求1所述的RS譯碼中的重數(shù)計算方法,其特征在于,所述目標值為重數(shù)計算的插值點數(shù),所述快速迭代具體包括
      A1、對獨立變量取上界值和下界值,其中上界值大于目標值所對應的獨立變量值,下界值小于目標值所對應的獨立變量值;
      B1、計算上界值和下界值之間一點的目標函數(shù)值,并判斷該點的目標函數(shù)值是否小于所述插值點數(shù),如果小于,用該點的獨立變量值更新下界值,如果不小于,則用該點的獨立變量值更新上界值;
      C1、判斷上界值和下界值之差是否小于預先設定的門限值,如果小于,結束所述快速迭代,否則返回執(zhí)行步驟B1。
      4.根據(jù)權利要求3所述的RS譯碼中的重數(shù)計算方法,其特征在于,所述下界值為λ0,所述上界值為λ1,
      其中N為RS碼的碼長,s為所述插值點數(shù),q為調制階數(shù)。
      5.根據(jù)權利要求1所述的RS碼的譯碼方法,其特征在于,所述目標值為代價值,所述快速迭代具體包括
      A2、對獨立變量取上界值和下界值,其中上界值大于目標值所對應的獨立變量值,下界值小于目標值所對應的獨立變量值;
      B2、計算上界值和下界值之間一點的目標函數(shù)值,并判斷該點的目標函數(shù)值是否小于所述代價值,如果小于,用該點的獨立變量值更新下界值,如果不小于,則用該點的獨立變量值更新上界值;
      C2、判斷上界值和下界值之差是否小于預先設定的門限值,如果小于,結束所述快速迭代,否則返回執(zhí)行步驟B2。
      6.根據(jù)權利要求5所述的RS碼的譯碼方法,其特征在于,所述下界值為λ0,所述上界值為λ1,并且
      其中N為RS碼的碼長,C為所述代價值,q為調制階數(shù),πij為可靠度矩陣第i行第j列的元素。
      7.根據(jù)權利要求1-6中任一項所述的RS譯碼中的重數(shù)計算方法,其特征在于,所述可靠度矩陣為滿可靠度矩陣或稀疏可靠度矩陣。
      8.一種用于RS譯碼的重數(shù)計算裝置,其特征在于,該裝置包括
      輸入模塊,用于接收可靠度矩陣和重數(shù)計算的目標值;
      目標值表示模塊,用于將所述目標值表示成一個獨立變量的單調函數(shù);
      重數(shù)矩陣計算模塊,用于利用目標值為獨立變量的單調函數(shù)的特性,對該獨立變量進行快速迭代以計算目標值所對應的獨立變量值,并根據(jù)該可靠度矩陣和計算出的所述獨立變量值計算重數(shù)矩陣。
      9.根據(jù)權利要求8所述的RS譯碼的重數(shù)計算裝置,其特征在于,所述目標值表示模塊,用于將所述目標值表示成一個獨立變量的單調遞增函數(shù),或用于將所述目標值表示成一個獨立變量的單調遞減函數(shù)。
      10.根據(jù)權利要求8所述的RS譯碼的重數(shù)計算裝置,其特征在于,所述輸入模塊,用于接收滿可靠度矩陣或稀疏可靠度矩陣。
      11.根據(jù)權利要求8-10中任一項所述的RS譯碼的重數(shù)計算裝置,其特征在于,所述重數(shù)矩陣計算模塊,用于利用二分法算法或者黃金分割算法對該獨立變量進行快速迭代。
      12.一種RS碼譯碼器,其特征在于,該譯碼器包括
      重數(shù)計算裝置,用于根據(jù)輸入的可靠度矩陣和重數(shù)計算的目標值計算重數(shù)矩陣,其中目標值表示成一個獨立變量的單調函數(shù),利用目標值為獨立變量的單調函數(shù)的特性,對該獨立變量進行快速迭代以計算目標值所對應的獨立變量值,并根據(jù)計算出的所述獨立變量值和該可靠度矩陣計算出重數(shù)矩陣;
      二變量多項式插值裝置,用于根據(jù)所述計算出的重數(shù)矩陣計算二變量多項式的系數(shù),以得到二變量多項式;
      二變量多項式分解裝置,用于對得到的二變量多項式進行分解,以得到列碼譯碼的候選碼字。
      13.一種RS碼譯碼方法,其特征在于,該方法包括
      輸入可靠度矩陣和重數(shù)計算的目標值,將所述目標值表示成一個獨立變量的單調函數(shù),利用目標值為該獨立變量的單調函數(shù)的特性,對該獨立變量進行快速迭代以計算目標值所對應的獨立變量值,并根據(jù)該可靠度矩陣和計算出的所述獨立變量值計算重數(shù)矩陣;
      根據(jù)所述計算出的重數(shù)矩陣計算二變量多項式的系數(shù),以得到二變量多項式,并對得到的二變量多項式進行分解,以得到列碼譯碼的候選碼字。
      14.根據(jù)權利要求13所述的RS碼譯碼方法,其特征在于,
      所述目標值為重數(shù)計算的插值點數(shù),所述快速迭代具體包括
      A3、對獨立變量取上界值和下界值,其中上界值大于目標值所對應的獨立變量值,下界值小于目標值所對應的獨立變量值;
      B3、計算上界值和下界值之間一點的目標函數(shù)值,并判斷該點的目標函數(shù)值是否小于所述插值點數(shù),如果小于,用該點的獨立變量值更新下界值,如果不小于,則用該點的獨立變量值更新上界值;
      C3、判斷上界值和下界值之差是否小于預先設定的門限值,如果小于,結束所述快速迭代,否則返回執(zhí)行步驟B3。
      15.根據(jù)權利要求13所述的RS碼譯碼方法,其特征在于,所述目標值為代價值,所述快速迭代具體包括
      A4、對獨立變量取上界值和下界值,其中上界值大于目標值所對應的獨立變量值,下界值小于目標值所對應的獨立變量值;
      B4、計算上界值和下界值之間一點的目標函數(shù)值,并判斷該點的目標函數(shù)值是否小于所述代價值,如果小于,用該點的獨立變量值更新下界值,如果不小于,則用該點的獨立變量值更新上界值;
      C4、判斷上界值和下界值之差是否小于預先設定的門限值,如果小于,結束所述快速迭代,否則返回執(zhí)行步驟B4。
      全文摘要
      本發(fā)明公開了一種RS譯碼中的重數(shù)計算方法,該方法包括輸入可靠度矩陣和重數(shù)計算的目標值,將所述目標值表示成一個獨立變量的單調遞增或單調遞減函數(shù);利用目標值為該獨立變量的單調遞增或單調遞減函數(shù)的特性,對該獨立變量進行快速迭代以計算目標值所對應的獨立變量值,并根據(jù)該可靠度矩陣和計算出的所述獨立變量值計算重數(shù)矩陣。本發(fā)明還公開了一種RS譯碼中的重數(shù)計算裝置和RS譯碼器及其譯碼方法。應用本發(fā)明以后,能夠顯著降低重數(shù)計算的復雜度,并由此降低RS碼代數(shù)軟判決的譯碼復雜度,而且本發(fā)明還非常便于各種具體應用。
      文檔編號H03M13/05GK101202550SQ20061016801
      公開日2008年6月18日 申請日期2006年12月15日 優(yōu)先權日2006年12月15日
      發(fā)明者李祥明, 李安新, 加山英俊 申請人:株式會社Ntt都科摩
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1