亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

多核調(diào)度的高速并行低密度奇偶校驗譯碼器及其譯碼方法與流程

文檔序號:12789034閱讀:231來源:國知局
多核調(diào)度的高速并行低密度奇偶校驗譯碼器及其譯碼方法與流程

本發(fā)明屬于無線通信技術(shù)領(lǐng)域,涉及一種多核調(diào)度的高速并行低密度奇偶校驗譯碼器及其譯碼方法。



背景技術(shù):

隨著經(jīng)濟(jì)的高速發(fā)展,無論是民用領(lǐng)域還是軍事領(lǐng)域,都對高分辨率、高精度提出了更高的要求,而成熟穩(wěn)定的高分(即高分辨率)系統(tǒng)對于國家軍事安全以及諸多民用領(lǐng)域都是重要的支撐。在高分領(lǐng)域,美國最先研制出高分辨率觀測衛(wèi)星,使其該項技術(shù)處于世界領(lǐng)先地位,并且由于空間資源有限以及大數(shù)據(jù)時代下數(shù)據(jù)非同尋常的重要性,使得高分技術(shù)領(lǐng)先的國家不愿意共享資源,因此自主進(jìn)行高分研發(fā)刻不容緩。

隨著高分專項(即高分辨率對地觀測系統(tǒng)重大專項)的逐漸推進(jìn),各類航天器探測器等數(shù)量迅速增加,探測信息的數(shù)據(jù)率越來越高,產(chǎn)生的數(shù)據(jù)量空前龐大,加上近些年來數(shù)據(jù)采集技術(shù)發(fā)展迅速,數(shù)字圖像處理技術(shù)日趨成熟,為了獲得更加全面的數(shù)據(jù)分析要求接收機(jī)能夠接收并處理更加龐大的數(shù)據(jù)量。目前300Mbps的衛(wèi)星高速數(shù)據(jù)傳輸系統(tǒng)已經(jīng)獲得了廣泛的應(yīng)用,傳輸速率已經(jīng)要求達(dá)到3Gbps以上,未來還將繼續(xù)提高到10Gbps甚至30Gbps。因此,能夠適應(yīng)高速數(shù)傳要求的傳輸系統(tǒng)是高分專項發(fā)展的重要支撐。然而數(shù)據(jù)傳輸速率與系統(tǒng)功率存在正比例關(guān)系,速率增加必然會導(dǎo)致系統(tǒng)功率的提高,并且系統(tǒng)資源本身嚴(yán)格受限,因此如何在有限資源下處理更高速率的數(shù)據(jù)成為了高速數(shù)傳系統(tǒng)的重要問題。

低密度奇偶校驗(LDPC)碼由于其非常接近理論極限編碼增益的碼字構(gòu)造方式越來越受到人們的重視。其譯碼復(fù)雜度低,可并行譯碼并且譯碼是否有誤便于檢測,無論是高速數(shù)據(jù)傳輸還是高編碼增益的要求都能夠滿足,目前在高速衛(wèi)星數(shù)據(jù)傳輸系統(tǒng)中有著越來越廣泛的應(yīng)用。一般情況下,單個譯碼核譯碼能力有限,如果需要實現(xiàn)能夠與高速數(shù)傳相匹配的高速譯碼,通常需要多個譯碼核并行工作。如圖1所示,為傳統(tǒng)的高速LDPC譯碼器,包括依次相連的數(shù)據(jù)緩存模塊、多核調(diào)度模塊,以及由多個譯碼核組成的LDPC并行譯碼核;其中每個譯碼核由依次相連的輸入數(shù)據(jù)緩存模塊、軟信息存儲模塊、變量節(jié)點陣列模塊、控制模塊,及分別與控制模塊相連的校驗節(jié)點陣列模塊、變量節(jié)點存儲模塊、校驗節(jié)點存儲模塊,與變量節(jié)點陣列模塊依次相連的譯碼結(jié)果存儲模塊和輸出緩存模塊。各模塊均通過一塊FPGA芯片實現(xiàn)。

該傳統(tǒng)高速LDPC譯碼器的譯碼方法為:待譯碼數(shù)據(jù)首先進(jìn)入數(shù)據(jù)緩存模塊(由FPGA芯片內(nèi)的FIFO構(gòu)成),根據(jù)多核調(diào)度模塊發(fā)出的指令,將數(shù)據(jù)并行送入各個LDPC并行譯碼核中進(jìn)行譯碼。虛線框中為并行譯碼核,每個譯碼核工作方式相同,即單個碼字首先進(jìn)入輸入數(shù)據(jù)緩存模塊進(jìn)行緩存,其作用是為后級模塊提供與譯碼核工作時鐘同頻率的單個碼字信息,而后待譯信息進(jìn)入軟信息存儲模塊,根據(jù)控制模塊設(shè)定的固定迭代次數(shù)(記為N次)及譯碼周期,將軟信息從存儲模塊中讀出,并循環(huán)通過變量節(jié)點陣列模塊和校驗節(jié)點陣列模塊,達(dá)到迭代次數(shù)后輸出至譯碼結(jié)果存儲模塊以及輸出緩存模塊,輸出緩存模塊的作用是按照需求將譯碼結(jié)果以某種時鐘占空比輸出至后級模塊。多核調(diào)度模塊根據(jù)每個譯碼核的編號將數(shù)據(jù)拼接后經(jīng)由數(shù)據(jù)緩存模塊后直接輸出。可以看出,傳統(tǒng)的高速LDPC譯碼器通常采用多核并行方法實現(xiàn),該方法對單核譯碼器進(jìn)行簡單復(fù)制,前端連接傳統(tǒng)多核調(diào)度模塊以及數(shù)據(jù)緩存模塊對整個系統(tǒng)進(jìn)行控制。

然而傳統(tǒng)的高速LDPC譯碼器能夠進(jìn)行正確譯碼不僅與各并行譯碼器正常工作有關(guān),多核調(diào)度模塊的調(diào)度作用更加關(guān)鍵。傳統(tǒng)的多核調(diào)度模塊主要負(fù)責(zé)碼字的順序分配,即待譯信息緩存到數(shù)據(jù)緩存模塊中并且達(dá)到一個碼字長度的存儲深度后,多核調(diào)度模塊按照規(guī)定的單個碼字長度,將待譯碼字從數(shù)據(jù)緩存模塊中依次讀出,并將其按照譯碼核的編號順序依次賦給每個譯碼核。由于并行譯碼核中控制模塊設(shè)置的譯碼迭代次數(shù)N固定,多核調(diào)度模塊只需進(jìn)行固定時間的等待之后,即可得到各譯碼核譯碼后的數(shù)據(jù),再按照譯碼核的編號將數(shù)據(jù)進(jìn)行拼接處理并輸出即可。隨后多核調(diào)度模塊按照讀取、分配、拼接的步驟繼續(xù)將待譯碼字順序分配給各譯碼核,等待后輸出譯碼數(shù)據(jù),不斷重復(fù)該過程直至所有待譯碼字完成譯碼或接收到停止信號。由于傳統(tǒng)高速LDPC譯碼器中多核調(diào)度模塊功能簡單且時序固定,因此該多核調(diào)度模塊可直接使用計數(shù)器來完成。

傳統(tǒng)多核調(diào)度模塊工作流程如圖2所示,以四核并行譯碼器為例。在設(shè)置了固定的最大迭代次數(shù)之后,多核調(diào)度模塊等待輸入數(shù)據(jù)緩存模塊的數(shù)據(jù)達(dá)到一個碼字后開始工作。其將輸入數(shù)據(jù)緩存模塊的數(shù)據(jù)以一個碼字長度為單位進(jìn)行讀出,按照順序分別送給譯碼核1、譯碼核2、譯碼核3以及譯碼核4,每個譯碼核一直工作,多核調(diào)度模塊在譯碼期間進(jìn)行等待,直到所有譯碼核達(dá)到最大迭代次數(shù),將譯碼后數(shù)據(jù)按照譯碼核1、譯碼核2、譯碼核3、譯碼核4的順序重新組合并輸出。多核調(diào)度模塊再繼續(xù)執(zhí)行上述分配工作直至系統(tǒng)停止。由于四個譯碼核均在達(dá)到最大迭代次數(shù)后停止譯碼,因此這四個譯碼核工作進(jìn)度保持一致,在每個譯碼周期內(nèi)能夠完成且僅能完成四個碼字的譯碼工作。

該方法實現(xiàn)難度低,但是在此過程中,傳統(tǒng)的并行譯碼僅僅將單個譯碼核進(jìn)行簡單復(fù)制,將待譯碼字依次送入每個譯碼核進(jìn)行譯碼,由于通常情況下,每個譯碼核均按照仿真情況,提前設(shè)置好固定的迭代次數(shù)以保證規(guī)定要求下的誤碼率,因此各譯碼核也保持同步的工作狀態(tài),碼字分配容易實現(xiàn)。但是實際譯碼過程中,每個譯碼核譯碼時均需要執(zhí)行固定的迭代次數(shù),并不是每個碼字均需要進(jìn)行最大迭代次數(shù)才能譯碼成功,大部分碼字在小于迭代次數(shù)時已經(jīng)完成譯碼,對于已經(jīng)成功譯碼的碼字,繼續(xù)進(jìn)行迭代不會帶來性能上的提高,反而降低了譯碼效率,造成了資源的浪費。

這些對于高速譯碼器而言是非常關(guān)鍵的問題。

由此可見,傳統(tǒng)并行譯碼器由于其固定的迭代次數(shù)造成整體譯碼效率不夠高,在資源有限的情況下造成硬件資源的浪費。目前亟需能夠根據(jù)實際譯碼完成情況對迭代次數(shù)進(jìn)行控制,并且可以整體調(diào)度整個譯碼器的新型多核調(diào)度模塊,以更加充分利用有限資源,提高整體譯碼效率。



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

本發(fā)明的目的是為了解決傳統(tǒng)有限資源下高速LDPC譯碼器,存在的硬件資源未充分利用的問題,提出一種新型的多核調(diào)度高速并行低密度奇偶校驗(LDPC)譯碼器及其譯碼方法,能夠通過新型多核調(diào)度模塊控制譯碼核進(jìn)行非固定次數(shù)的迭代,從而有效地提高譯碼效率,并使硬件資源更充分地利用。

本發(fā)明提出的一種多核調(diào)度的高速并行低密度奇偶校驗譯碼器,該譯碼器采用一塊FPGA芯片實現(xiàn),包括依次相連的數(shù)據(jù)緩存模塊、多核調(diào)度模塊,以及由多個譯碼核組成的LDPC并行譯碼核;其特征在于:所述數(shù)據(jù)緩存模塊由FPGA內(nèi)部的FIFO構(gòu)成,該FIFO具有更深的存儲深度,以保證下一個碼字到來時,能有足夠緩存空間;所述多核調(diào)度模塊用于控制整個高速LDPC譯碼器的調(diào)度,當(dāng)上級數(shù)據(jù)緩存模塊存入多于一個碼字的數(shù)據(jù)量,即向后級并行譯碼核發(fā)出譯碼起始信號,將緩存數(shù)據(jù)調(diào)配至各譯碼核譯碼,同時接收后級并行譯碼核反饋的譯碼結(jié)束信號,檢驗各譯碼核是否處于空閑狀態(tài),將前級數(shù)據(jù)緩存模塊中下一個待譯碼字送入空閑狀態(tài)的譯碼核進(jìn)行譯碼;譯碼結(jié)束后根據(jù)碼字分配順序,并按照相同順序?qū)⒏髯g碼核的譯碼結(jié)果統(tǒng)一輸出至數(shù)據(jù)緩存模塊;所述的LDPC并行譯碼核中的每個譯碼核由依次相連的軟信息存儲模塊、變量節(jié)點陣列模塊、控制模塊,及分別與控制模塊相連的校驗節(jié)點陣列模塊、變量節(jié)點存儲模塊、校驗節(jié)點存儲模塊,與變量節(jié)點陣列模塊相連的譯碼結(jié)果存儲模塊;所述變量節(jié)點陣列模塊還與校驗節(jié)點存儲模塊、變量節(jié)點存儲模塊相連。

本發(fā)明提出的一種如上述的多核調(diào)度的高速并行低密度奇偶校驗譯碼器的譯碼方法,其特征在于:

待譯碼字流首先進(jìn)入數(shù)據(jù)緩存模塊,由多核調(diào)度模塊根據(jù)后端并行譯碼核的工作狀況,將單個碼字長度的待譯碼字分配給完成譯碼的處于空閑狀態(tài)的譯碼核,而每個譯碼核的在接收到待譯碼字后,首先將其放入軟信息存儲模塊,循環(huán)通過變量節(jié)點陣列模塊以及校驗節(jié)點陣列模塊進(jìn)行譯碼,每次譯碼結(jié)果均存儲于譯碼結(jié)果存儲模塊中,由多核調(diào)度模塊檢驗該譯碼核是否已經(jīng)譯碼完成,若符合譯碼結(jié)果校驗,則輸出譯碼結(jié)果至多核調(diào)度模塊,該譯碼核轉(zhuǎn)為空閑狀態(tài);否則該譯碼核繼續(xù)進(jìn)行迭代譯碼,直至達(dá)到設(shè)定的最大迭代次數(shù),若此時還未正確譯碼,則強(qiáng)制停止該譯碼核對當(dāng)前碼字的譯碼,輸出譯碼結(jié)果并反饋譯碼失敗信息;多核調(diào)度模塊再將下一個待譯碼字送入空閑譯碼核進(jìn)行譯碼;譯碼結(jié)束后多核調(diào)度模塊根據(jù)碼字分配順序,并按照相同順序?qū)⒏髯g碼核的譯碼結(jié)果統(tǒng)一輸出至數(shù)據(jù)緩存模塊,數(shù)據(jù)緩存模塊將譯碼數(shù)據(jù)輸出。

本發(fā)明的技術(shù)特點及有益效果:

1)本發(fā)明的數(shù)據(jù)緩存模塊增加了存儲深度,以保證下一個碼字到來時,能有足夠緩存空間,直到某個譯碼核完成上一碼字的譯碼后,將新碼字賦給該譯碼核;

2)多核調(diào)度模塊控制整個高速LDPC譯碼器的調(diào)度,通過多核調(diào)度模塊控制譯碼核進(jìn)行非固定次數(shù)的迭代,從而有效地提高譯碼效率。

3)由于多核調(diào)度模塊前端有數(shù)據(jù)緩存模塊,用于緩存待譯碼數(shù)據(jù),同時存在多核調(diào)度模塊的碼字調(diào)度和控制,因此單個譯碼核內(nèi)省略了輸入、輸出FIFO,以節(jié)省硬件資源。

本發(fā)明通過非常小的硬件開銷,大幅降低了傳統(tǒng)方法的運算量,并且顯著提高了系統(tǒng)整體的效率并節(jié)約了整體的硬件資源。

附圖說明

圖1是傳統(tǒng)多核并行LDPC譯碼器結(jié)構(gòu)框圖。

圖2是傳統(tǒng)多核調(diào)度模塊工作示意圖。

圖3是本發(fā)明的多核調(diào)度的高速LDPC譯碼器結(jié)構(gòu)框圖。

圖4是本發(fā)明實施例的最大迭代次數(shù)分布情況。

圖5是本發(fā)明實施例的迭代次數(shù)與譯碼性能的關(guān)系。

圖6是本發(fā)明實施例的迭代次數(shù)與節(jié)省運算量的關(guān)系。

圖7是本發(fā)明實施例的輸入FIFO深度增加量。

具體實施方式

下面結(jié)合附圖對本發(fā)明作進(jìn)一步的詳細(xì)描述。

本發(fā)明提出的一種多核調(diào)度的高速LDPC譯碼器,如圖2所示,包括依次相連的數(shù)據(jù)緩存模塊、多核調(diào)度模塊,以及由多個譯碼核組成的LDPC并行譯碼核,可與傳統(tǒng)LDPC譯碼器相同采用一塊FPGA芯片實現(xiàn);這種多核調(diào)度的高速LDPC譯碼器與傳統(tǒng)譯碼器的區(qū)別特征在于:

1)數(shù)據(jù)緩存模塊由FPGA內(nèi)部的FIFO構(gòu)成,該FIFO比傳統(tǒng)LDPC譯碼器數(shù)據(jù)緩存模塊中的FIFO具有更深的存儲深度,以便能夠緩存更多的碼字序列信息,保證下一個碼字到來時,能有足夠緩存空間,待某個譯碼核完成上一碼字的譯碼后,將新碼字賦給該譯碼核;

2)多核調(diào)度模塊用于控制整個高速LDPC譯碼器的調(diào)度,當(dāng)上級數(shù)據(jù)緩存模塊存入多于一個碼字的數(shù)據(jù)量,即向后級并行譯碼核發(fā)出譯碼起始信號,將緩存數(shù)據(jù)調(diào)配至各譯碼核譯碼,同時接收后級并行譯碼核反饋的譯碼結(jié)束信號,檢驗各譯碼核是否處于空閑狀態(tài),將前級數(shù)據(jù)緩存模塊中下一個待譯碼字送入空閑狀態(tài)的譯碼核進(jìn)行譯碼;譯碼結(jié)束后根據(jù)碼字分配順序,并按照相同順序?qū)⒏髯g碼核的譯碼結(jié)果統(tǒng)一輸出至數(shù)據(jù)緩存模塊;

3)LDPC并行譯碼核中的每個譯碼核由依次相連的軟信息存儲模塊、變量節(jié)點陣列模塊、控制模塊,及分別與控制模塊相連的校驗節(jié)點陣列模塊、變量節(jié)點存儲模塊、校驗節(jié)點存儲模塊,與變量節(jié)點陣列模塊相連的譯碼結(jié)果存儲模塊;所述變量節(jié)點陣列模塊還與校驗節(jié)點存儲模塊、變量節(jié)點存儲模塊相連。其中控制模塊不再對全部并行譯碼核設(shè)置固定迭代次數(shù),僅設(shè)置最大迭代次數(shù)(最大迭代次數(shù)的設(shè)定比傳統(tǒng)控制模塊設(shè)定的固定迭代次數(shù)N稍大即可)。并控制每次迭代的譯碼周期,即按照順序?qū)④浶畔⒁来未胱兞抗?jié)點陣列模塊與校驗節(jié)點陣列模塊中進(jìn)行運算。由于數(shù)據(jù)緩存模塊用于緩存待譯碼數(shù)據(jù),并且存儲深度增加,同時存在多核調(diào)度模塊的碼字調(diào)度和控制,因此本發(fā)明的LDPC并行譯碼核省略了傳統(tǒng)LDPC譯碼器每個譯碼核內(nèi)的用于為后級模塊提供與譯碼核工作時鐘同頻率的單個碼字信息的輸入數(shù)據(jù)緩存模塊及用于按照需求將譯碼結(jié)果以某種時鐘占空比輸出至后級模塊的輸出數(shù)據(jù)緩存模塊,以節(jié)省硬件資源。

本發(fā)明設(shè)置FIFO的深度增加量(與傳統(tǒng)LDPC譯碼器數(shù)據(jù)緩存模塊中FIFO相比更深)具體說明如下:若共需譯M個碼字,其中a個碼字在迭代N次之后正確譯碼,b個碼字在迭代N+1次后正確譯碼,c個碼字在迭代N+2次后正確譯碼,則該M個碼字的所需的平均迭代次數(shù)N′可以根據(jù)b與c的概率計算得到,根據(jù)此平均迭代次數(shù)即可計算出FIFO需要增加的比特深度存儲量。以此類推,根據(jù)不同數(shù)量的碼字需要不同數(shù)量的大于N的迭代次數(shù),使用該方法即可得出多核調(diào)度的高速LDPC譯碼器中數(shù)據(jù)緩存模塊中FIFO深度的增加量。

本發(fā)明提出的多核調(diào)度的高速LDPC譯碼器的譯碼方法為:待譯碼字流首先進(jìn)入數(shù)據(jù)緩存模塊,由多核調(diào)度模塊根據(jù)后端并行譯碼核的工作狀況,將單個碼字長度的待譯碼字分配給完成譯碼的處于空閑狀態(tài)的譯碼核,而每個譯碼核的在接收到待譯碼字后,首先將其放入軟信息存儲模塊,在未達(dá)到最大迭代次數(shù)前,循環(huán)通過變量節(jié)點陣列模塊以及校驗節(jié)點陣列模塊進(jìn)行譯碼,每次譯碼結(jié)果均存儲于譯碼結(jié)果存儲模塊中,由多核調(diào)度模塊檢驗該譯碼核是否已經(jīng)譯碼完成,若符合譯碼結(jié)果校驗,則輸出譯碼結(jié)果至多核調(diào)度模塊,該譯碼核轉(zhuǎn)為空閑狀態(tài);否則該譯碼核繼續(xù)進(jìn)行迭代譯碼,直至達(dá)到設(shè)定的最大迭代次數(shù),若此時還未正確譯碼,則強(qiáng)制停止該譯碼核對當(dāng)前碼字的譯碼,輸出譯碼結(jié)果并反饋譯碼失敗信息;多核調(diào)度模塊再將下一個待譯碼字送入空閑譯碼核進(jìn)行譯碼;譯碼結(jié)束后多核調(diào)度模塊根據(jù)碼字分配順序,并按照相同順序?qū)⒏髯g碼核的譯碼結(jié)果統(tǒng)一輸出至數(shù)據(jù)緩存模塊,數(shù)據(jù)緩存模塊將譯碼數(shù)據(jù)輸出。

本發(fā)明的核心是多核調(diào)度模塊對系統(tǒng)整體的綜合控制調(diào)度,而多核調(diào)度模塊的工作信號取決于各并行譯碼核是否完成譯碼,也即非固定迭代次數(shù)譯碼機(jī)制。該機(jī)制表現(xiàn)在多核調(diào)度模塊若檢測到某譯碼核譯碼后碼字符合校驗關(guān)系,則該譯碼核立即停止迭代成為空閑譯碼核,等待調(diào)度模塊分配新碼字。譯碼結(jié)果校驗為將每個與校驗節(jié)點j有鏈接關(guān)系的變量節(jié)點i的輸出外信息的正負(fù)值進(jìn)行異或運算,并將異或運算的結(jié)果作為校驗結(jié)果,如下式所示:

其中i為與校驗節(jié)點j相連的變量節(jié)點,其數(shù)量為qij表示與校驗節(jié)點j有連結(jié)關(guān)系的變量節(jié)點i的輸出外信息,check為校驗的輸出結(jié)果,sgn()為符號函數(shù)即返回輸出外信息的正負(fù)值、0為正1為負(fù),為異或運算;check=0說明滿足校驗關(guān)系;如果所有的校驗節(jié)點均滿足check=0的校驗關(guān)系,則說明該碼字已經(jīng)譯碼正確,或者該碼字被譯成了碼字空間中的另外一個碼字;以上兩種情況均表示著譯碼已經(jīng)完成,繼續(xù)迭代也對譯碼結(jié)果產(chǎn)生不了作用,因此此時就應(yīng)當(dāng)停止當(dāng)前碼字的迭代,該譯碼核為空閑狀態(tài)并可開始新碼字的譯碼。

本發(fā)明針對傳統(tǒng)多核調(diào)度無法充分利用譯碼周期的問題,對傳統(tǒng)的調(diào)度方法做出了改進(jìn),本發(fā)明的多核調(diào)度模塊將待分配碼字分配的具體方法如下:設(shè)LDPC并行譯碼核為m個,當(dāng)輸入FIFO內(nèi)存儲量達(dá)到一個碼字后多核調(diào)度模塊開始工作,多核調(diào)度模塊首先按照各譯碼核編號由小到大的順序進(jìn)行碼字初次分配,分別將前m個碼字送往m個譯碼核進(jìn)行譯碼;初次分配后,多核調(diào)度模塊一直處于待機(jī)檢測狀態(tài),當(dāng)多核調(diào)度模塊要進(jìn)行后續(xù)的每個碼字的分配時,根據(jù)譯碼核反饋回來的結(jié)果判斷出哪個譯碼核處于空閑狀態(tài),記錄下該譯碼核的編號并將其完成譯碼的碼字暫存,同時從前端數(shù)據(jù)緩存模塊中讀出一個待譯碼字,分配給該當(dāng)前處于空閑狀態(tài)的譯碼核進(jìn)行譯碼,之后繼續(xù)進(jìn)入待機(jī)檢測狀態(tài),等待下一個譯碼核完成譯碼;則依次將后續(xù)碼字分別調(diào)度到處于空閑狀態(tài)的譯碼核進(jìn)行譯碼(而不必等待m個譯碼核全部完成譯碼后再進(jìn)行新一輪的碼字分配,充分利用了各譯碼核的譯碼時間)。如果多個譯碼核同時完成譯碼,則按照譯碼核的編號從小到大的順序進(jìn)行待譯碼字的分配。

下面給出本發(fā)明的實施例的應(yīng)用效果:

以碼長為12288比特,信息位長度10240比特的LDPC碼為例,譯碼過程無最大迭代次數(shù),停止譯碼的條件為譯碼正確。

如圖4所示為每個碼字正確譯碼執(zhí)行的迭代次數(shù),橫坐標(biāo)為每個碼字的序號,縱坐標(biāo)為該碼字正確譯碼時執(zhí)行的迭代次數(shù)。圖中最大迭代次數(shù)為29次,最小迭代詞素為12次,完成譯碼的迭代次數(shù)在16次處十分密集,并且僅有0.2%的碼字需要進(jìn)行最大次數(shù)的迭代。傳統(tǒng)并行譯碼器中,為了滿足譯碼要求且控制過程簡單,通每個常需要設(shè)置最大迭代次數(shù),每個譯碼周期均按照最大迭代次數(shù)進(jìn)行設(shè)置。對于本實施例而言,最大迭代次數(shù)設(shè)置為29次,那么實際上僅有0.2%的碼字需要迭代29次,而99.8%的碼字并不需要達(dá)到最大迭代次數(shù),因此造成了迭代次數(shù)的浪費,進(jìn)而造成硬件資源的浪費。

如圖5所示為迭代次數(shù)與譯碼性能關(guān)系圖,橫坐標(biāo)為最大迭代次數(shù),縱坐標(biāo)為該最大迭代次數(shù)下譯碼結(jié)果的誤碼率。當(dāng)信噪比合適時迭代次數(shù)的增加對于BER的降低有明顯的作用,并且每增加兩次次迭代,BER大約降低一個量級。因此采用非固定迭代次數(shù)的新型多核調(diào)度并行譯碼方式,將譯碼所需迭代次數(shù)少的碼字節(jié)省下的時間分配給需要更多次迭代的才能正確譯碼的碼字,相當(dāng)于增加了整體的有效迭代次數(shù),且降低了平均迭代次數(shù)。從譯碼運算量角度看,平均迭代次數(shù)與譯碼器工作時鐘正相關(guān),即平均迭代次數(shù)少,譯碼器工作時鐘低,而低時鐘速率有助于提高硬件電路的穩(wěn)定性,并且在相同譯碼處理速率下,帶來運算量的降低。如圖6所示為最大迭代次數(shù)與節(jié)省運算量之間的關(guān)系,橫坐標(biāo)為最大迭代次數(shù),縱坐標(biāo)為節(jié)省運算量的百分比。在本例情況下,平均迭代次數(shù)從29次降為16次,運算量減少了46.7%,一方面硬件資源相比于傳統(tǒng)方法利用更充分,另一方面運算量大幅降低,因此在達(dá)到相同指標(biāo)的前提下,本發(fā)明顯著提高了系統(tǒng)整體效率并節(jié)約了硬件資源。

新型多核調(diào)度大幅提高了譯碼核部分的利用率,同時也引入了額外的兩種開銷,其一為校驗節(jié)點增加的校驗關(guān)系檢驗?zāi)K,其二為輸入FIFO的深度增加。檢驗?zāi)K的本質(zhì)是所有輸入外信息符號位的異或運算,在硬件上表現(xiàn)為少許LUT資源。

在傳統(tǒng)模式中最大迭代次數(shù)N的設(shè)置往往根據(jù)實際數(shù)據(jù)率、譯碼性能指標(biāo)以及硬件支持的譯碼速率進(jìn)行設(shè)定,而新型多核調(diào)度方式所需增加的FIFO深度在N的基礎(chǔ)上進(jìn)行計算。假設(shè)共需譯10個碼字,其中9個碼字在迭代N次之后正確譯碼,1個碼字在迭代N+1次后正確譯碼,則FIFO需要加深比特數(shù)深度的概率即為這1個碼字出現(xiàn)的概率;若8個碼字在迭代N次之后正確譯碼,1個碼字在迭代N+1次后正確譯碼,1個碼字在迭代N+2次后正確譯碼,則FIFO需要加深比特數(shù)深度的概率即為出現(xiàn)迭代N+1次與N+2次各一次的概率。由于需要大于N次迭代的碼字出現(xiàn)的時間不同,對FIFO深度影響也不同,因此該概率的計算還需要將碼字出現(xiàn)的順序考慮其中。圖7所示為每一個碼字譯碼后計算得到的FIFO深度增加比特量,橫坐標(biāo)為待譯碼字的序號,縱坐標(biāo)為當(dāng)前FIFO緩存的待譯比特數(shù)??梢钥闯鲎畲蟮螖?shù)從29降至16時,輸入FIFO深度只需增加兩個碼字的長度,但是譯碼性能得到了巨大的提升,并且圖7中緩存的比特數(shù)最大不超過兩個碼字,因此在FIFO深度增加兩個碼字長度的情況下,整個譯碼過程中FIFO不會出現(xiàn)寫滿的情況。而在圖6中,如果迭代次數(shù)從16次增加為29次,輸入FIFO只增加兩個碼字的深度,誤碼率從10-4量級降至10-9量級,故FIFO深度的增加量與校驗關(guān)系檢驗?zāi)K帶來的少量LUT使用量同譯碼性能的改善相比完全可以接受。因此,本發(fā)明通過非常小的硬件開銷,大幅降低了傳統(tǒng)方法的運算量,并且顯著提高了系統(tǒng)整體的效率并節(jié)約了整體的硬件資源。

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