本發(fā)明涉及通信
技術(shù)領(lǐng)域:
,更具體地說,涉及一種譯碼方法及裝置。
背景技術(shù):
:低密度奇偶校驗(yàn)(Low-DensityParity-Check,LDPC)碼是一類接近香農(nóng)限的好碼,由于其優(yōu)異的糾錯(cuò)性能而在通信領(lǐng)域得到廣泛應(yīng)用。準(zhǔn)循環(huán)低密度奇偶校驗(yàn)(Quasi-CyclicLow-DensityParity-Check,QC-LDPC)碼是一種基于幾何構(gòu)造的LDPC碼,繼承了LDPC碼的優(yōu)點(diǎn),同時(shí)降低了編碼譯碼復(fù)雜度,從而具有較高的可實(shí)現(xiàn)性。QC-LDPC碼的校驗(yàn)矩陣H的結(jié)構(gòu)如下所示:H=A00A01...A0NA10A11...A1N......AM0AM1...AMN]]>校驗(yàn)矩陣H由若干子矩陣構(gòu)成,其中,子矩陣Aij(0≤i≤M,0≤j≤N)是循環(huán)矩陣,它的每一行由其上一行向右循環(huán)移位一位構(gòu)成,第一行是最后一行的循環(huán)移位。在通過校驗(yàn)矩陣對接收到的QC-LDPC碼進(jìn)行譯碼時(shí),校驗(yàn)矩陣中的一列對應(yīng)QC-LDPC碼中的一位。目前QC-LDPC碼的譯碼算法有很多,最小和(min-sum)譯碼算法是較常用的一種,最小和譯碼算法的基本思想是:根據(jù)一行中的最小值和次最小值對校驗(yàn)矩陣的每一行元素進(jìn)行更新,當(dāng)校驗(yàn)矩陣的所有行都更新完成后,根據(jù)更新的校驗(yàn)矩陣的每一列元素得到與該列對應(yīng)的一位QC-LDPC碼的變量節(jié)點(diǎn)信息,得到譯碼結(jié)果,若譯碼結(jié)果滿足譯碼停止條件,則停止迭代,否則根據(jù)本次譯碼結(jié)果繼續(xù)進(jìn)行下一次譯碼,直至譯碼結(jié)果滿足譯碼停止條件。發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中發(fā)現(xiàn),傳統(tǒng)的最小和譯碼算法所需的譯碼時(shí)間較長,譯碼效率較低。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的是提供一種譯碼方法及裝置,以降低譯碼時(shí)長,提高譯碼效率。為實(shí)現(xiàn)上述目的,本發(fā)明提供了如下技術(shù)方案:一種譯碼方法,包括:在一次譯碼迭代過程中,以子矩陣為單位對校驗(yàn)矩陣進(jìn)行更新,對每一個(gè)子矩陣以相同的方式進(jìn)行更新得到新的子矩陣;對校驗(yàn)矩陣進(jìn)行更新的過程包括:確定至少一個(gè)未更新的子矩陣為待更新子矩陣,讀取與所確定的至少一個(gè)待更新子矩陣中的第一待更新子矩陣對應(yīng)的更新信息;依據(jù)所述更新信息對所述第一待更新子矩陣進(jìn)行更新,得到第一更新子矩陣,以及與第一子矩陣對應(yīng)的第一子更新信息和與第二子矩陣對應(yīng)的第二子更新信息;其中,所述第一待更新子矩陣為所述至少一個(gè)待更新子矩陣中的任意一個(gè)子矩陣;所述第一子矩陣為所述校驗(yàn)矩陣中與所述第一待更新子矩陣處于同一行的未更新的子矩陣;所述第二子矩陣為所述校驗(yàn)矩陣中與所述第一待更新子矩陣處于同一列的未更新的子矩陣;當(dāng)所述至少一個(gè)待更新子矩陣更新完成時(shí),判斷是否還存在未更新的子矩陣;若判斷結(jié)果為是,則返回執(zhí)行所述確定至少一個(gè)未更新的子矩陣為待更新子矩陣的步驟;若判斷結(jié)果為否則,則判斷譯碼結(jié)果是否滿足譯碼停止條件;若判斷結(jié)果為滿足譯碼停止條件,則結(jié)束;若判斷結(jié)果為不滿足譯碼停止條件,則執(zhí)行下一次譯碼迭代過程。上述方法,優(yōu)選的,所述與第一待更新子矩陣對應(yīng)的更新信息包括:與所述第一待更新子矩陣對應(yīng)的第一子更新信息,以及與所述第一待更新子矩陣對應(yīng)的第二子更新信息;其中,所述與第一待更新子矩陣對應(yīng)的第一子更新信息為對第三子矩陣進(jìn)行更新得到的第一子更新信息;所述與第一待更新子矩陣對應(yīng)的第二子更新信息為對第四子矩陣進(jìn)行更新得到的第二子更新信息;所述第一子矩陣、所述第一待更新子矩陣和所述第三子矩陣處于同一行;所述第二子矩陣、所述第一待更新子矩陣和所述第四子矩陣處于同一列。上述方法,優(yōu)選的,在第一次譯碼迭代時(shí),若第一待更新子矩陣為校驗(yàn)矩陣中第一個(gè)進(jìn)行更新的子矩陣,則所述與第一待更新子矩陣對應(yīng)的更新信息為初始更新信息。上述方法,優(yōu)選的,所述校驗(yàn)矩陣中最后一行子矩陣的下一行子矩陣為所述校驗(yàn)矩陣中第一行子矩陣;所述校驗(yàn)矩陣中最后一列子矩陣的下一列子矩陣為所述校驗(yàn)矩陣中第一列子矩陣。上述方法,優(yōu)選的,所述校驗(yàn)矩陣中包括N列、M行子矩陣;所述方法還包括:預(yù)先將所述校驗(yàn)矩陣中的子矩陣分為n組,每一組包括處于不同行、不同列的m個(gè)子矩陣;其中,n=max(N,M),m=min(N,M)。上述方法,優(yōu)選的,所述確定至少一個(gè)未更新的子矩陣為待更新子矩陣包括:確定未更新的一組子矩陣為待更新子矩陣。一種譯碼裝置,包括:更新模塊,用于在一次譯碼迭代過程中,以子矩陣為單位對校驗(yàn)矩陣進(jìn)行更新,對每一個(gè)子矩陣以相同的方式進(jìn)行更新得到新的子矩陣;具體包括:確定子模塊,用于確定至少一個(gè)未更新的子矩陣為待更新子矩陣;讀取子模塊,用于讀取與所確定的至少一個(gè)待更新子矩陣中的第一待更新子矩陣對應(yīng)的更新信息;更新子模塊,用于依據(jù)所述更新信息對所述第一待更新子矩陣進(jìn)行更新,得到第一更新子矩陣,以及與第一子矩陣對應(yīng)的第一子更新信息和與第二子矩陣對應(yīng)的第二子更新信息;其中,所述第一待更新子矩陣為所述至少一個(gè)待更新子矩陣中的任意一個(gè)子矩陣;所述第一子矩陣為所述校驗(yàn)矩陣中與所述第一子矩陣處于同一行的未更新的子矩陣;所述第二子矩陣為所述校驗(yàn)矩陣中與所述第一子矩陣處于同一列的未更新的子矩陣;判斷子模塊,用于當(dāng)所述至少一個(gè)待更新子矩陣更新完成時(shí),判斷是否還存在未更新的子矩陣;若判斷結(jié)果為是,則觸發(fā)所述確定子模塊 確定至少一個(gè)未更新的子矩陣為待更新子矩陣;若判斷結(jié)果為否,則觸發(fā)判斷模塊判斷譯碼結(jié)果是否滿足譯碼停止條件;判斷模塊,用于判斷譯碼結(jié)果是否滿足譯碼停止條件;若判斷結(jié)果為是,則結(jié)束;若判斷結(jié)果為否,則觸發(fā)更新模塊執(zhí)行下一次譯碼迭代過程。上述裝置,優(yōu)選的,所述與第一待更新子矩陣對應(yīng)的更新信息包括:與所述第一待更新子矩陣對應(yīng)的第一子更新信息,以及與所述第一待更新子矩陣對應(yīng)的第二子更新信息;其中,所述與第一待更新子矩陣對應(yīng)的第一子更新信息為對第三子矩陣進(jìn)行更新得到的第一子更新信息;所述與第一待更新子矩陣對應(yīng)的第二子更新信息為對第四子矩陣進(jìn)行更新得到的第二子更新信息;所述第一子矩陣、所述第一待更新子矩陣和所述第三子矩陣處于同一行;所述第二子矩陣、所述第一待更新子矩陣和所述第四子矩陣處于同一列。上述裝置,優(yōu)選的,在第一次譯碼迭代時(shí),若第一待更新子矩陣為校驗(yàn)矩陣中第一個(gè)進(jìn)行更新的子矩陣,則所述與第一待更新子矩陣對應(yīng)的更新信息為初始更新信息。上述裝置,優(yōu)選的,所述校驗(yàn)矩陣中最后一行子矩陣的下一行子矩陣為所述校驗(yàn)矩陣中第一行子矩陣;所述校驗(yàn)矩陣中最后一列子矩陣的下一列子矩陣為所述校驗(yàn)矩陣中第一列子矩陣。上述裝置,優(yōu)選的,還包括:分組模塊,用于將所述校驗(yàn)矩陣中的子矩陣分為n組,每一組包括處于不同行、不同列的m個(gè)子矩陣;其中,n=max(N,M),m=min(N,M)。上述裝置,優(yōu)選的,所述確定子模塊具體用于,確定未更新的一組子矩陣為待更新子矩陣。通過以上方案可知,本申請?zhí)峁┑囊环N譯碼方法及裝置,以校驗(yàn)矩陣中的子矩陣為單位進(jìn)行更新,對每一個(gè)子矩陣以相同的方式進(jìn)行更新。每更新一個(gè)子矩陣(為方便敘述,記為待更新子矩陣),得到更新的子矩陣,以及與第一子矩陣對應(yīng)的第一子更新信息和與第二子矩陣對應(yīng)的第二子更新信息;其中,第一子矩陣為校驗(yàn)矩陣中與所述待更新子矩陣處于同一行的未更新的子矩陣;所述第二子矩陣為所述校驗(yàn)矩陣中與所述待更新子矩陣處于同一列的未更新的子矩陣;當(dāng)所有子矩陣都更新完時(shí),獲得譯碼結(jié)果,若譯碼 結(jié)果不滿足停止條件,則進(jìn)行下一次譯碼迭代過程,否則結(jié)束。通過本發(fā)明實(shí)施例提供的譯碼方法及裝置,降低了譯碼時(shí)長,提高了譯碼效率。附圖說明為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本申請實(shí)施例提供的譯碼方法的一種實(shí)現(xiàn)流程圖;圖2為本申請實(shí)施例提供的校驗(yàn)矩陣的一種示意圖;圖3為本申請實(shí)施例提供的對校驗(yàn)矩陣進(jìn)行分組的一種示意圖;圖4為本申請實(shí)施例提供的譯碼裝置的一種結(jié)構(gòu)示意圖;圖5為本申請實(shí)施例提供的譯碼裝置的一種硬件實(shí)現(xiàn)結(jié)構(gòu)示意圖;圖6為本申請實(shí)施例提供的處理單元的一種結(jié)構(gòu)示意圖。說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”、“第三”“第四”等(如果存在)是用于區(qū)別類似的部分,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本申請的實(shí)施例能夠以除了在這里圖示的以外的順序?qū)嵤?。具體實(shí)施方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實(shí)施例中,以子矩陣為單位對校驗(yàn)矩陣進(jìn)行更新,對每一個(gè)子矩陣以相同的方式進(jìn)行更新得到新的子矩陣。請參閱圖1,圖1為本申請實(shí)施例提供的譯碼方法的一種實(shí)現(xiàn)流程圖,可以包括:步驟S11:確定至少一個(gè)未更新的子矩陣為待更新子矩陣;發(fā)明實(shí)施例中,每次可以確定一個(gè)未更新的子矩陣為待更新子矩陣,也可以每次確定兩個(gè)或兩個(gè)以上未更新的子矩陣為待更新子矩陣。步驟S12:讀取與所確定的至少一個(gè)待更新子矩陣中的第一待更新子矩陣對應(yīng)的更新信息;本發(fā)明實(shí)施例中,與第一待更新子矩陣對應(yīng)的更新信息可以由兩部分構(gòu)成,一部分由與第一待更新子矩陣處于同一行的一個(gè)子矩陣更新得到,另一部分由與第一待更新子矩陣處于同一列的一個(gè)子矩陣更新得到。步驟S13:依據(jù)所述更新信息對所述第一待更新子矩陣進(jìn)行更新,得到第一更新子矩陣,以及與第一子矩陣對應(yīng)的第一子更新信息和與第二子矩陣對應(yīng)的第二子更新信息;其中,所述第一待更新子矩陣為所述至少一個(gè)待更新子矩陣中的任意一個(gè)子矩陣;所述第一子矩陣為所述校驗(yàn)矩陣中與所述第一待更新子矩陣處于同一行的未更新的子矩陣;所述第二子矩陣為所述校驗(yàn)矩陣中與所述第一待更新子矩陣處于同一列的未更新的子矩陣;與第一待更新子矩陣對應(yīng)的子矩陣包括4個(gè),本發(fā)明實(shí)施例中,第一待更新子矩陣依據(jù)與其處于同一行的一個(gè)子矩陣和與其處于同一列的一個(gè)子矩陣更新后的更新信息進(jìn)行更新,更新后得到的第一子更新信息和第二子更新信息供與其處于同一行的另一個(gè)子矩陣和與其處于同一列的另一個(gè)子矩陣更新使用。步驟S14:當(dāng)所述至少一個(gè)待更新子矩陣更新完成時(shí),判斷是否還存在未更新的子矩陣;若是,則返回執(zhí)行步驟S11,否則,執(zhí)行步驟S15;步驟S15:判斷譯碼結(jié)果是否滿足譯碼停止條件;若是,則結(jié)束;否則,執(zhí)行下一次譯碼迭代過程。當(dāng)校驗(yàn)矩陣中的所有子矩陣都更新完成時(shí),一次譯碼迭代過程結(jié)束,從而得到譯碼結(jié)果,若譯碼結(jié)果滿足譯碼停止條件,則停止譯碼,否則,執(zhí)行下一次譯碼迭代過程,即在上一次譯碼迭代結(jié)束后得到的新的校驗(yàn)矩陣的基礎(chǔ)上再次執(zhí)行步驟S11至步驟S15。本發(fā)明實(shí)施例提供的一種譯碼方法,以校驗(yàn)矩陣中的子矩陣為單位進(jìn)行更新,對每一個(gè)子矩陣以相同的方式進(jìn)行更新。每更新一個(gè)子矩陣(為方便敘述,記為待更新子矩陣),得到更新的子矩陣,以及與第一子矩陣對應(yīng)的 第一子更新信息和與第二子矩陣對應(yīng)的第二子更新信息;其中,第一子矩陣為校驗(yàn)矩陣中與所述待更新子矩陣處于同一行的未更新的子矩陣;所述第二子矩陣為所述校驗(yàn)矩陣中與所述待更新子矩陣處于同一列的未更新的子矩陣;當(dāng)所有子矩陣都更新完時(shí),獲得譯碼結(jié)果,若譯碼結(jié)果不滿足停止條件,則進(jìn)行下一次譯碼迭代過程,否則結(jié)束。通過本發(fā)明實(shí)施例提供的譯碼方法及裝置,降低了譯碼時(shí)長,提高了譯碼效率。上述實(shí)施例中,可選的,所述與第一待更新子矩陣對應(yīng)的更新信息可以包括:與所述第一待更新子矩陣對應(yīng)的第一子更新信息,以及與所述第一待更新子矩陣對應(yīng)的第二子更新信息;其中,所述與第一待更新子矩陣對應(yīng)的第一子更新信息為對第三子矩陣進(jìn)行更新得到的第一子更新信息;所述與第一待更新子矩陣對應(yīng)的第二子更新信息為對第四子矩陣進(jìn)行更新得到的第二子更新信息;所述第一子矩陣、所述第一待更新子矩陣和所述第三子矩陣處于同一行;所述第二子矩陣、所述第一待更新子矩陣和所述第四子矩陣處于同一列。其中,第一子矩陣、第二子矩陣、第三子矩陣和第四子矩陣可以是與第一待更新子矩陣相鄰的子矩陣,也可以是不相鄰的子矩陣,例如:假設(shè)第一待更新子矩陣為Axy,那么,與其相鄰的四個(gè)子矩陣分別為:Ax(y-1),Ax(y+1),A(x-1)y,A(x+1)y;本發(fā)明實(shí)施例中,第一子矩陣可以為Ax(y-1),第二子矩陣可以為A(x-1)y,第三子矩陣可以為Ax(y+1),第四子矩陣可以為A(x+1)y。當(dāng)然,本發(fā)明實(shí)施例中,第一子矩陣也可以為Ax(y+1),第二子矩陣可以為A(x-1)y,第三子矩陣也可以為Ax(y-1),第四子矩陣可以為A(x+1)y。或者,第一子矩陣為Ax(y-1),第二子矩陣為A(x+1)y;第三子矩陣為Ax(y+1),第四子矩陣為A(x-1)y?;蛘?,第一子矩陣為Ax(y+1),第二子矩陣為A(x+1)y,第三子矩陣為Ax(y-1),第四子矩陣為A(x-1)y。當(dāng)然,第一子矩陣和/或第三子矩陣也可以是與第一待更新子矩陣處于同一行但不相鄰的子矩陣,例如,第一子矩陣可以是Ax(y+2),第三子矩陣可以為Ax(y-3),第二子矩陣可以是A(x-4)y,第四子矩陣可以是A(x+3)y。只要第一子矩陣、所述第一待更新子矩陣和所述第三子矩陣處于同一行,所述第二子矩陣、所述第一待更新子矩陣和所述第四子矩陣處于同一列即可??蛇x的,在進(jìn)行第一次譯碼迭代時(shí),若第一待更新子矩陣為校驗(yàn)矩陣中第一個(gè)進(jìn)行更新的子矩陣,則所述與第一待更新子矩陣對應(yīng)的更新信息為初始校驗(yàn)節(jié)點(diǎn)信息,以及與第一待更新子矩陣對應(yīng)的接收到的待譯碼的碼字。本發(fā)明實(shí)施例中,在進(jìn)行第一次譯碼迭代時(shí),第一個(gè)進(jìn)行更新的子矩陣所需的更新信息為初始更新信息。初始更新信息可以根據(jù)譯碼算法確定。例如,若譯碼算法為最小和譯碼算法,則與第一待更新子矩陣對應(yīng)的更新信息為初始校驗(yàn)節(jié)點(diǎn)信息,即待更新子矩陣每一行在校驗(yàn)矩陣中所在行的最小值和次最小值,以及與第一待更新子矩陣對應(yīng)的接收到的待譯碼的碼字。可選的,校驗(yàn)矩陣中最后一行子矩陣的下一行子矩陣為所述校驗(yàn)矩陣中第一行子矩陣;所述校驗(yàn)矩陣中最后一列子矩陣的下一列子矩陣為所述校驗(yàn)矩陣中第一列子矩陣。例如,若QC-LDPC碼的校驗(yàn)矩陣H如下所示,H=A00A01...A0NA10A11...A1N......AM0AM1...AMN]]>子矩陣Aij(0≤i≤M,0≤j≤N)是循環(huán)矩陣,它的每一行由其上一行向右循環(huán)移位一位構(gòu)成,第一行是最后一行的循環(huán)移位。則校驗(yàn)矩陣H最后一行子矩陣AM0AM1…AMN的下一行子矩陣為A00A01…A0N;最后一列子矩陣A0NA1N…AMN的下一列子矩陣為A00A10…AM0;換句話說,第一行子矩陣A00A01…A0N的前一行子矩陣為AM0AM1…AMN;第一列子矩陣A00A10…AM0的前一列子矩陣為A0NA1N…AMN??蛇x的,假設(shè)校驗(yàn)矩陣中包括N列、M行子矩陣;本發(fā)明實(shí)施例提供的譯碼方法還可以包括:預(yù)先將所述校驗(yàn)矩陣中的子矩陣分為n組,每一組包括處于不同行、不同列的m個(gè)子矩陣;其中,n=max(N,M),m=min(N,M)。也就是說,本發(fā)明實(shí)施例中,將校驗(yàn)矩陣中的子矩陣分為n組,每一組包括m個(gè)子矩陣,所述m個(gè)子矩陣屬于不同行、不同列。通常QC-LDPC碼的校驗(yàn)矩陣的列數(shù)N會(huì)大于行數(shù)M,因此,可以將校驗(yàn)矩陣中的子矩陣分為N組,每一組包括M個(gè)子矩陣。本發(fā)明實(shí)施例中,可以對校驗(yàn)矩陣中的子矩陣進(jìn)行分組,進(jìn)行分組后,在確定至少一個(gè)未更新的子矩陣為待更新子矩陣時(shí),可以按分組進(jìn)行確定,即每次確定一組未更新的子矩陣為待更新子矩陣。在確定未更新的一組子矩陣為待更新子矩陣后,可以對這一組待更新子矩陣同時(shí)進(jìn)行更新,即,一組待更新子矩陣并行進(jìn)行更新。下面以最小和譯碼算法為例對本發(fā)明實(shí)施例的一種具體應(yīng)用場景進(jìn)行說明。為了更好的說明本發(fā)明的基于最小和譯碼算法的譯碼方法,首先對目前較常用的基于最小和譯碼算法的譯碼方法進(jìn)行說明。目前,較常用的基于最小和譯碼算法的譯碼方法有兩種實(shí)現(xiàn)方式,一種為基于行分層的實(shí)現(xiàn)方式,一種為基于列分層的實(shí)現(xiàn)方式。其中,基于行分層的實(shí)現(xiàn)方式中,每個(gè)子循環(huán)矩陣行為一層,更新順序從上到下,每層的行更新完后把新的校驗(yàn)節(jié)點(diǎn)信息(即第二子更新信息)加到其對應(yīng)列的硬判決信息上,下面層的子矩陣更新時(shí)使用新的硬判決信息減去前一次更新得到的校驗(yàn)節(jié)點(diǎn)信息,這種方法能夠使的最小和譯碼的迭代次數(shù)減少一半。但是,由于校驗(yàn)節(jié)點(diǎn)(對應(yīng)矩陣的行)更新的核心是找到一行中的最小值和次最小值(最小值和次最小值即為第一子更新信息),所以,基于行分層的實(shí)現(xiàn)方式在進(jìn)行校驗(yàn)節(jié)點(diǎn)更新時(shí),需要較多的比較器,隨著校驗(yàn)矩陣一行中1的個(gè)數(shù)增多,尋找最小值和次最小值所耗費(fèi)的周期也會(huì)變長(注:一行中最小值和次最小值是從一行中1對應(yīng)的位置進(jìn)行尋找)。為了解決上述問題,有人提出基于列分層的譯碼方法,這種譯碼方法中,每個(gè)子循環(huán)矩陣列為一層,更新順序從左到右,左邊的層更新完后向右邊的層傳遞最新的最小值和次最小值,這樣,每個(gè)子矩陣更新時(shí)只需要在它的變量節(jié)點(diǎn)信息和左邊層的子矩陣傳遞過來的最小值和次最小值三個(gè)值之間進(jìn)行最小值查找,從而減少了查找最小值所需的周期個(gè)數(shù)。但是這種基于列分層的譯碼方法需要較多的變量節(jié)點(diǎn)處理單元。本應(yīng)用實(shí)例中,校驗(yàn)矩陣中的一個(gè)子矩陣用一個(gè)CPM表征,校驗(yàn)矩陣包括5列,4行子矩陣,如圖2所示。本應(yīng)用實(shí)例中,將該校驗(yàn)矩陣劃分為5組,如圖3所示,為本發(fā)明實(shí)施例提供的對校驗(yàn)矩陣進(jìn)行分組的一種示意圖。其中,每一組的4個(gè)子矩陣并行進(jìn)行更新。其中,向下的實(shí)線箭頭代表校驗(yàn)節(jié)點(diǎn)信息(即第二子更新信息)傳遞的方向,向右虛線箭頭代表變量節(jié)點(diǎn)信息(即第一子更新信息)傳遞方向。在譯碼開始之前,依據(jù)接收到的碼字符號(hào)的似然比,找到校驗(yàn)矩陣的每行的最小值m1和次最小值m2(其中,每行的最小值和次最小值,從一行中1對應(yīng)的接收到的碼字符號(hào)的似然比中確定),以及最小值m1的位置。用qij代表第i行第j列的變量節(jié)點(diǎn)信息,用rij代表第i行第j列的校驗(yàn)節(jié)點(diǎn)信息,Qj表示第j列的硬判決信息。初始時(shí)rij=0,qij=Qj,Qj為新到接收到碼字符號(hào)的似然比。如果是第一次譯碼迭代,那么,第一個(gè)周期CPM0,CPM9,CPM13和CPM17并行更新,它們只需要進(jìn)行行的更新,即rij,而不需要進(jìn)行列的更新。CPM0更新完的信息與初始變量節(jié)點(diǎn)信息Q0相加得到新的Q0,傳遞到CPM5,同時(shí)CPM9將CPM9更新得到的新的最小值m1和次最小值m2以及最小值的位置傳遞給CPM5,新的Q0減去CPM5上一次迭代得到的rij得到新的qij,新的qij與CPM9更新得到的新的最小值m1和次最小值m2進(jìn)行比較,確定新的最小值和次最小值,如果qij是最小值,m1是次最小值,則CPM5的rji更新為m1。如果qij不是最小值,那么m1是最小值,則CPM5的rji依然更新為m1,更新結(jié)束后將rji進(jìn)行存儲(chǔ)以備下次使用更新CPM5后,將rji與新的Q0相加得到新的硬判決信息,將其傳遞到CPM10,并將新的最小值和次最小值,以及最小值的位置傳遞給CPM6。CPM0將新的Q0傳遞到CPM的同時(shí),將更新得到的新的最小值和次最小值,以及最小值的位置傳遞給CPM1,如果是第一次迭代,由于CPM1沒有其它CPM傳遞過來的變量信息,因此,CPM1不需要進(jìn)行列的更新,CPM1只需要根據(jù)初始的最小值和次最小值進(jìn)行rji的更新。但如果不是第一次迭代,CPM1會(huì)接收到來自CPM16的列信息,CPM1與CPM5同樣的方法得到新的qij和rij,以及m1,m2以及它們的位置,并將其傳遞到CPM6和CPM2。當(dāng)執(zhí)行完5個(gè)周期后,所有的CPM都更新完成,一次迭代接收,從而得到每一列的硬判決信息,并且譯碼輸出,根據(jù)譯碼結(jié)果是否滿足譯碼迭代停止條件判斷是否進(jìn)行下一次迭代。本發(fā)明實(shí)施例中,以子矩陣為單位進(jìn)行更新,同時(shí)具備行分層和列分層的優(yōu)點(diǎn),即減少了譯碼迭代次數(shù),也減少了行更新時(shí)最小值的比較次數(shù)。而且,可以多個(gè)子矩陣并行進(jìn)行更新,增加了譯碼吞吐量,進(jìn)一步降低了譯碼時(shí)長。與方法實(shí)施例相對應(yīng),本發(fā)明實(shí)施例還提供一種譯碼裝置,本發(fā)明實(shí)施例提供的譯碼裝置的一種結(jié)構(gòu)示意圖如圖4所述,可以包括;更新模塊41和判斷模塊42;其中,更新模塊41用于在一次譯碼迭代過程中,以子矩陣為單位對校驗(yàn)矩陣進(jìn)行更新,對每一個(gè)子矩陣以相同的方式進(jìn)行更新得到新的子矩陣;具體包括:確定子模塊411,用于確定至少一個(gè)未更新的子矩陣為待更新子矩陣;發(fā)明實(shí)施例中,每次可以確定一個(gè)未更新的子矩陣為待更新子矩陣,也可以每次確定兩個(gè)或兩個(gè)以上未更新的子矩陣為待更新子矩陣。讀取子模塊412,用于讀取與所確定的至少一個(gè)待更新子矩陣中的第一待更新子矩陣對應(yīng)的更新信息;本發(fā)明實(shí)施例中,與第一待更新子矩陣對應(yīng)的更新信息可以由兩部分構(gòu)成,一部分由與第一待更新子矩陣處于同一行的一個(gè)子矩陣更新得到,另一部分由與第一待更新子矩陣處于同一列的一個(gè)子矩陣更新得到。更新子模塊413,用于依據(jù)所述更新信息對所述第一待更新子矩陣進(jìn)行更新,得到第一更新子矩陣,以及與第一子矩陣對應(yīng)的第一子更新信息和與第二子矩陣對應(yīng)的第二子更新信息;其中,所述第一待更新子矩陣為所述至少一個(gè)待更新子矩陣中的任意一個(gè)子矩陣;所述第一子矩陣為所述校驗(yàn)矩陣中與所述第一子矩陣處于同一行的未更新的子矩陣;所述第二子矩陣為所述校驗(yàn)矩陣中與所述第一子矩陣處于同一列的未更新的子矩陣;與第一待更新子矩陣對應(yīng)的子矩陣包括4個(gè),本發(fā)明實(shí)施例中,第一待更新子矩陣依據(jù)與其處于同一行的一個(gè)子矩陣和與其處于同一列的一個(gè)子矩陣更新后的更新信息進(jìn)行更新,更新后得到的第一子更新信息和第二子更新信息供與其處于同一行的另一個(gè)子矩陣和與其處于同一列的另一個(gè)子矩陣更新使用。判斷子模塊414,用于當(dāng)所述至少一個(gè)待更新子矩陣更新完成時(shí),判斷是否還存在未更新的子矩陣;若判斷結(jié)果為是,則觸發(fā)所述確定子模塊確定至少一個(gè)未更新的子矩陣為待更新子矩陣;若判斷結(jié)果為否,則觸發(fā)判斷模塊42判斷譯碼結(jié)果是否滿足譯碼停止條件;判斷模塊42用于判斷譯碼結(jié)果是否滿足譯碼停止條件;若判斷結(jié)果為是,則結(jié)束;若判斷結(jié)果為否,則觸發(fā)更新模塊執(zhí)行下一次譯碼迭代過程。當(dāng)校驗(yàn)矩陣中的所有子矩陣都更新完成時(shí),一次譯碼迭代過程結(jié)束,從而得到譯碼結(jié)果,若譯碼結(jié)果滿足譯碼停止條件,則停止譯碼,否則,執(zhí)行下一次譯碼迭代過程。本發(fā)明實(shí)施例提供的譯碼裝置,以校驗(yàn)矩陣中的子矩陣為單位進(jìn)行更新,對每一個(gè)子矩陣以相同的方式進(jìn)行更新。每更新一個(gè)子矩陣(為方便敘述,記為待更新子矩陣),得到更新的子矩陣,以及與第一子矩陣對應(yīng)的第一子更新信息和與第二子矩陣對應(yīng)的第二子更新信息;其中,第一子矩陣為校驗(yàn)矩陣中與所述待更新子矩陣處于同一行的未更新的子矩陣;所述第二子矩陣為所述校驗(yàn)矩陣中與所述待更新子矩陣處于同一列的未更新的子矩陣;當(dāng)所有子矩陣都更新完時(shí),獲得譯碼結(jié)果,若譯碼結(jié)果不滿足停止條件,則進(jìn)行下一次譯碼迭代過程,否則結(jié)束。通過本發(fā)明實(shí)施例提供的譯碼方法及裝置,降低了譯碼時(shí)長,提高了譯碼效率??蛇x的,所述與第一待更新子矩陣對應(yīng)的更新信息包括:與所述第一待更新子矩陣對應(yīng)的第一子更新信息,以及與所述第一待更新子矩陣對應(yīng)的第二子更新信息;其中,所述與第一待更新子矩陣對應(yīng)的第一子更新信息為對第三子矩陣進(jìn)行更新得到的第一子更新信息;所述與第一待更新子矩陣對應(yīng)的第二子更新信息為對第四子矩陣進(jìn)行更新得到的第二子更新信息;所述第一子矩陣、所述第一待更新子矩陣和所述第三子矩陣處于同一行;所述第二子矩陣、所述第一待更新子矩陣和所述第四子矩陣處于同一列。其中,第一子矩陣、第二子矩陣、第三子矩陣和第四子矩陣可以是與第一待更新子矩陣相鄰的子矩陣,也可以是不相鄰的子矩陣,例如:假設(shè)第一待更新子矩陣為Axy,那么,與其相鄰的四個(gè)子矩陣分別為:Ax(y-1),Ax(y+1),A(x-1)y,A(x+1)y;本發(fā)明實(shí)施例中,第一子矩陣可以為Ax(y-1),第二子矩陣可以為A(x-1)y,第三子矩陣可以為Ax(y+1),第四子矩陣可以為A(x+1)y。當(dāng)然,本發(fā)明實(shí)施例中,第一子矩陣也可以為Ax(y+1),第二子矩陣可以為A(x-1)y,第三子矩陣也可以為Ax(y-1),第四子矩陣可以為A(x+1)y。或者,第一子矩陣為Ax(y-1),第二子矩陣為A(x+1)y;第三子矩陣為Ax(y+1),第四子矩陣為A(x-1)y?;蛘?,第一子矩陣為Ax(y+1),第二子矩陣為A(x+1)y,第三子矩陣為Ax(y-1),第四子矩陣為A(x-1)y。當(dāng)然,第一子矩陣和/或第三子矩陣也可以是與第一待更新子矩陣處于同一行但不相鄰的子矩陣,例如,第一子矩陣可以是Ax(y+2),第三子矩陣可以為Ax(y-3),第二子矩陣可以是A(x-4)y,第四子矩陣可以是A(x+3)y。只要第一子矩陣、所述第一待更新子矩陣和所述第三子矩陣處于同一行,所述第二子矩陣、所述第一待更新子矩陣和所述第四子矩陣處于同一列即可。可選的,在第一次譯碼迭代時(shí),若第一待更新子矩陣為校驗(yàn)矩陣中第一個(gè)進(jìn)行更新的子矩陣,則所述與第一待更新子矩陣對應(yīng)的更新信息為初始校驗(yàn)節(jié)點(diǎn)信息,以及與第一待更新子矩陣對應(yīng)的接收到的待譯碼的碼字。本發(fā)明實(shí)施例中,在進(jìn)行第一次譯碼迭代時(shí),第一個(gè)進(jìn)行更新的子矩陣所需的更新信息為初始更新信息。初始更新信息可以根據(jù)譯碼算法確定。例如,若譯碼算法為最小和譯碼算法,則與第一待更新子矩陣對應(yīng)的更新信息為初始校驗(yàn)節(jié)點(diǎn)信息,即待更新子矩陣每一行在校驗(yàn)矩陣中所在行的最小值和次最小值,以及與第一待更新子矩陣對應(yīng)的接收到的待譯碼的碼字??蛇x的,校驗(yàn)矩陣中最后一行子矩陣的下一行子矩陣為所述校驗(yàn)矩陣中第一行子矩陣;所述校驗(yàn)矩陣中最后一列子矩陣的下一列子矩陣為所述校驗(yàn)矩陣中第一列子矩陣。可選的,本發(fā)明實(shí)施例提供的譯碼裝置還可以包括:分組模塊,用于將所述校驗(yàn)矩陣中的子矩陣分為n組,每一組包括處于不同行、不同列的m個(gè)子矩陣;其中,n=max(N,M),m=min(N,M)。也就是說,本發(fā)明實(shí)施例中,將校驗(yàn)矩陣中的子矩陣分為n組,每一組包括m個(gè)子矩陣,所述m個(gè)子矩陣屬于不同行、不同列。通常QC-LDPC碼的校驗(yàn)矩陣的列數(shù)N會(huì)大于行數(shù)M,因此,可以將校驗(yàn)矩陣中的子矩陣分為N組,每一組包括M個(gè)子矩陣??蛇x的,所述確定子模塊具體用于,確定未更新的一組子矩陣為待更新子矩陣。本發(fā)明實(shí)施例中,可以對校驗(yàn)矩陣中的子矩陣進(jìn)行分組,進(jìn)行分組后,在確定至少一個(gè)未更新的子矩陣為待更新子矩陣時(shí),可以按分組進(jìn)行確定,即每次確定一組未更新的子矩陣為待更新子矩陣。在確定未更新的一組子矩陣為待更新子矩陣后,可以對這一組待更新子矩陣同時(shí)進(jìn)行更新,即,一組待更新子矩陣并行進(jìn)行更新??蛇x的,本發(fā)明實(shí)施例提供譯碼裝置的一種硬件實(shí)現(xiàn)結(jié)構(gòu)示意圖,如圖5所示,可以包括:由至少一個(gè)運(yùn)算器,校驗(yàn)節(jié)點(diǎn)信息存儲(chǔ)器,硬判決信息存儲(chǔ)器,處理單元控制器和譯碼停止條件判決器;其中,運(yùn)算器完成子矩陣的更新,運(yùn)算器由若干處理單元PU組成,一個(gè)PU對應(yīng)一個(gè)子矩陣的一行,PU的開關(guān)狀態(tài),以及并行度由處理單元控制器進(jìn)行控制。處理單元的一種結(jié)構(gòu)示意圖如圖6所示。包括減法器和比較器;新的硬判決信息Qj與本更新位置的rij相減,得到新的qij,新的qij與新的最小值m1和次最小值m2進(jìn)行比較,確定新的rij,以及新的最小值m1和次最小值m2,新的rij與所述新的硬判決信息Qj相加,得到新的硬判決信息。通過本發(fā)明實(shí)施例提供的譯碼裝置,通過較少的處理單元數(shù)量實(shí)現(xiàn)較高的譯碼吞吐量,在降低譯碼器實(shí)現(xiàn)成本的基礎(chǔ)上,提高了譯碼效率。另外,本發(fā)明實(shí)施例提供的譯碼裝置易于擴(kuò)展,實(shí)現(xiàn)簡單。本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)(若存在)、裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。在本申請所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)(若存在)、裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-OnlyMemory)、隨機(jī)存取存儲(chǔ)器(RAM,RandomAccessMemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。當(dāng)前第1頁1 2 3