1.一種多核調(diào)度的高速并行低密度奇偶校驗譯碼器,該譯碼器采用一塊FPGA芯片實現(xiàn),包括依次相連的數(shù)據(jù)緩存模塊、多核調(diào)度模塊,以及由多個譯碼核組成的LDPC并行譯碼核;其特征在于:所述數(shù)據(jù)緩存模塊由FPGA內(nèi)部的FIFO構成,該FIFO具有更深的存儲深度,以保證下一個碼字到來時,能有足夠緩存空間;所述多核調(diào)度模塊用于控制整個高速LDPC譯碼器的調(diào)度,當上級數(shù)據(jù)緩存模塊存入多于一個碼字的數(shù)據(jù)量,即向后級并行譯碼核發(fā)出譯碼起始信號,將緩存數(shù)據(jù)調(diào)配至各譯碼核譯碼,同時接收后級并行譯碼核反饋的譯碼結束信號,檢驗各譯碼核是否處于空閑狀態(tài),將前級數(shù)據(jù)緩存模塊中下一個待譯碼字送入空閑狀態(tài)的譯碼核進行譯碼;所述的LDPC并行譯碼核中的每個譯碼核由依次相連的軟信息存儲模塊、變量節(jié)點陣列模塊、控制模塊,及分別與控制模塊相連的校驗節(jié)點陣列模塊、變量節(jié)點存儲模塊、校驗節(jié)點存儲模塊,與變量節(jié)點陣列模塊相連的譯碼結果存儲模塊;所述變量節(jié)點陣列模塊還與校驗節(jié)點存儲模塊、變量節(jié)點存儲模塊相連。
2.一種如權利要求1所述的譯碼器的譯碼方法,其特征在于,待譯碼字流首先進入數(shù)據(jù)緩存模塊,由多核調(diào)度模塊根據(jù)后端并行譯碼核的工作狀況,將單個碼字長度的待譯碼字分配給完成譯碼的處于空閑狀態(tài)的譯碼核,而每個譯碼核的在接收到待譯碼字后,首先將其放入軟信息存儲模塊,循環(huán)通過變量節(jié)點陣列模塊以及校驗節(jié)點陣列模塊進行譯碼,每次譯碼結果均存儲于譯碼結果存儲模塊中,由多核調(diào)度模塊檢驗該譯碼核是否已經(jīng)譯碼完成,若符合譯碼結果校驗,則輸出譯碼結果至多核調(diào)度模塊,該譯碼核轉為空閑狀態(tài);否則該譯碼核繼續(xù)進行迭代譯碼,直至達到設定的最大迭代次數(shù),若此時還未完成譯碼,則強制停止該譯碼核對當前碼字的譯碼,輸出譯碼結果并反饋譯碼失敗信息;多核調(diào)度模塊再將下一個待譯碼字送入空閑譯碼核進行譯碼;譯碼結束后多核調(diào)度模塊根據(jù)碼字分配順序,并按照相同順序將各譯碼核的譯碼結果統(tǒng)一輸出至數(shù)據(jù)緩存模塊,數(shù)據(jù)緩存模塊將譯碼數(shù)據(jù)輸出。
3.如權利要求2所述譯碼方法,其特征在于,所述譯碼結果校驗為將每個與校驗節(jié)點j有鏈接關系的變量節(jié)點i的輸出外信息的正負值進行異或運算,并將異或運算的結果作為校驗結果,如下式所示:
其中i為與校驗節(jié)點j相連的變量節(jié)點,其數(shù)量為qij表示與校驗節(jié)點j有連結關系的變量節(jié)點i的輸出外信息,check為校驗的輸出結果,sgn()為符號函數(shù)即返回輸出外信息的正負值、0為正1為負,為異或運算;check=0說明滿足校驗關系;如果所有的校驗節(jié)點均滿足check=0的校驗關系,則該碼字已經(jīng)譯碼正確,或者該碼字被譯成了碼字空間中的另外一個碼字;以上兩種情況均表示著譯碼已經(jīng)完成,該譯碼核為空閑狀態(tài)。
4.如權利要求2所述譯碼方法,其特征在于,多核調(diào)度模塊將待分配碼字分配的具體方法如下:設LDPC并行譯碼核為m個,當輸入FIFO內(nèi)存儲量達到一個碼字后多核調(diào)度模塊開始工作,多核調(diào)度模塊首先按照各譯碼核編號由小到大的順序進行碼字初次分配,分別將前m個碼字送往m個譯碼核進行譯碼;初次分配后,多核調(diào)度模塊一直處于待機檢測狀態(tài),當多核調(diào)度模塊要進行后續(xù)的每個碼字的分配時,根據(jù)譯碼核反饋回來的結果判斷出哪個譯碼核處于空閑狀態(tài),記錄下該譯碼核的編號并將其完成譯碼的碼字暫存,同時從數(shù)據(jù)緩存模塊中讀出一個待譯碼字,分配給該當前處于空閑狀態(tài)的譯碼核進行譯碼,之后繼續(xù)進入待機檢測狀態(tài),等待下一個譯碼核完成譯碼;則依次將后續(xù)碼字分別調(diào)度到處于空閑狀態(tài)的譯碼核進行譯碼;如果多個譯碼核同時完成譯碼,則按照譯碼核的編號從小到大的順序進行待譯碼字的分配。