專利名稱:一種同時(shí)實(shí)現(xiàn)交織與解交織的Turbo譯碼器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種能同時(shí)實(shí)現(xiàn)交織與解交織操作Turbo譯碼器結(jié)構(gòu),屬于糾錯(cuò)碼領(lǐng)域。
背景技術(shù):
Turbo碼于 1993 年由 Claude Berrou 和 Alain Glavieux 提出。以其優(yōu)越的譯碼性能,已經(jīng)成功地應(yīng)用到磁介質(zhì)光介質(zhì)數(shù)據(jù)存儲(chǔ)、多媒體和有線、無(wú)線、光纖、星載通信等多個(gè)領(lǐng)域。傳統(tǒng)的Turbo譯碼器結(jié)構(gòu)如圖1所示。它由系統(tǒng)信息存儲(chǔ)模塊、校驗(yàn)信息存儲(chǔ)模塊、軟輸入軟輸出譯碼單元、軟輸入軟輸出譯碼單元緩沖器、前向遞推概率存儲(chǔ)器、外信息存儲(chǔ)模塊、譯碼輸出存儲(chǔ)模塊、順序地址生成模塊、交織地址生成模塊、解交織地址生成模塊、Turbo譯碼器控制模塊組成。Turbo譯碼器控制模塊對(duì)軟輸入軟輸出譯碼單元的計(jì)算次數(shù)進(jìn)行計(jì)數(shù)。Turbo譯碼過(guò)程是一個(gè)迭代的過(guò)程,軟輸入軟輸出譯碼單元計(jì)算2次才能完成一次迭代過(guò)程。例如假設(shè)譯碼需要迭代8次,那么軟輸出軟輸出譯碼單元需要進(jìn)行16次計(jì)算。Turbo譯碼器控制模塊向交織地址生成模塊、順序地址生成模塊、系統(tǒng)信息存儲(chǔ)模塊、解交織地址生成模塊和外信息存儲(chǔ)模塊輸出計(jì)數(shù)值cnt,向軟輸入軟輸出譯碼單元輸出迭代結(jié)束信號(hào)。交織地址生成模塊從Turbo譯碼器控制模塊接受軟輸入軟輸出譯碼單元計(jì)數(shù)值 cnt,當(dāng)cnt為奇數(shù)時(shí),向外信息存儲(chǔ)模塊和系統(tǒng)信息存儲(chǔ)模塊輸出交織地址;解交織地址生成模塊從Turbo譯碼器控制模塊接受計(jì)數(shù)值cnt,當(dāng)cnt為奇數(shù)時(shí),向外信息存儲(chǔ)模塊和譯碼輸出存儲(chǔ)模塊輸出解交織地址;順序地址生成模塊從Turbo譯碼器控制模塊接受計(jì)數(shù)值cnt,向校驗(yàn)信息存儲(chǔ)模塊輸出順序地址,而當(dāng)cnt為偶數(shù)時(shí),向系統(tǒng)信息存儲(chǔ)模塊輸出順序地址。系統(tǒng)信息存儲(chǔ)模塊保存待譯碼的系統(tǒng)信息。它從交織地址生成模塊接收交織地址、從順序地址生成模塊接收順序地址、從Turbo譯碼器控制模塊接收軟輸入軟輸出譯碼單元計(jì)算次數(shù)cnt。當(dāng)cnt為偶數(shù)時(shí),系統(tǒng)信息存儲(chǔ)模塊以順序地址作為讀地址,將該順序地址對(duì)應(yīng)的待譯碼的系統(tǒng)信息送到軟輸入軟輸出譯碼單元緩沖器;當(dāng)cnt為奇數(shù)時(shí),系統(tǒng)信息存儲(chǔ)模塊以交織地址作為讀地址,將該交織地址對(duì)應(yīng)的待譯碼的系統(tǒng)信息送到軟輸入軟輸出譯碼單元緩沖器。校驗(yàn)信息存儲(chǔ)模塊保存待譯碼的校驗(yàn)信息。它以從順序地址生成模塊接收的順序地址為讀地址,將該順序地址對(duì)應(yīng)的待譯碼的校驗(yàn)信息送到軟輸入軟輸出譯碼單元緩沖
ο軟輸入軟輸出譯碼單元緩沖器接收三部分?jǐn)?shù)據(jù)系統(tǒng)信息存儲(chǔ)模塊輸出的系統(tǒng)信息、校驗(yàn)信息存儲(chǔ)模塊輸出的校驗(yàn)信息、外信息存儲(chǔ)模塊輸出的先驗(yàn)信息。軟輸入軟輸出譯碼單元緩沖器將接收到的三部分?jǐn)?shù)據(jù)進(jìn)行打包,將打包后的待譯碼數(shù)據(jù)傳遞到軟輸入軟輸出譯碼單元。軟輸入軟輸出譯碼單元從軟輸入軟輸出譯碼單元緩沖器接收打包后的待譯碼數(shù)據(jù),從前向遞推概率存儲(chǔ)器接收前向遞推概率,從Turbo譯碼器控制模塊接收迭代結(jié)束信號(hào)。當(dāng)?shù)Y(jié)束信號(hào)無(wú)效時(shí),執(zhí)行滑窗算法,即將接收到的待譯碼數(shù)據(jù)分成S個(gè)小段進(jìn)行計(jì)算,S為正整數(shù),S個(gè)小段稱為S個(gè)“窗”,每個(gè)“窗”包含的待譯碼數(shù)據(jù)的個(gè)數(shù)稱為窗長(zhǎng)L,譯碼時(shí)對(duì)窗個(gè)數(shù)進(jìn)行的計(jì)數(shù)值為sw,當(dāng)對(duì)每個(gè)窗的數(shù)據(jù)計(jì)算到最后一個(gè)待譯碼數(shù)據(jù)時(shí),SW就自增1,然后計(jì)算下一個(gè)窗的數(shù)據(jù),即sw等于1、2、……、S。計(jì)算每段數(shù)據(jù)得到外信息和前向遞推概率,外信息是待譯碼數(shù)據(jù)的“增益”,輸出到外信息存儲(chǔ)模塊,前向遞推概率送到前向遞推概率存儲(chǔ)器。當(dāng)?shù)Y(jié)束信號(hào)有效時(shí),軟輸入軟輸出譯碼單元計(jì)算硬判決(即譯碼得到的比特序列),將硬判決傳遞到譯碼輸出存儲(chǔ)模塊。前向遞推概率存儲(chǔ)器作為軟輸入軟輸出譯碼單元的中間結(jié)果的暫存區(qū),保存前向遞推概率。譯碼輸出存儲(chǔ)模塊從軟輸入軟輸出譯碼單元接收硬判決,從解交織地址生成模塊接收解交織地址,以解交織地址作為讀地址,將解交織地址對(duì)應(yīng)的硬判決輸出,輸出完畢表示此次譯碼過(guò)程結(jié)束,也表示Turbo譯碼器的工作結(jié)束。外信息存儲(chǔ)模塊從軟輸入軟輸出譯碼單元接收外信息,從交織地址生成模塊接收交織地址、從解交織地址生成模塊接收解交織地址,從Turbo譯碼器控制模塊接收cnt,輸出先驗(yàn)信息(位置順序打亂后的外信息)到軟輸入軟輸出譯碼單元緩沖器。它由第一存儲(chǔ)體和第二存儲(chǔ)體組成,第一存儲(chǔ)體和第二存儲(chǔ)體完成交織與解交織操作。假設(shè)一次交織操作的時(shí)間開(kāi)銷是τ ρ —次解交織操作的時(shí)間開(kāi)銷是τ DI,一次外信息計(jì)算的時(shí)間開(kāi)銷是τ E,一次Turbo譯碼需要的迭代次數(shù)是NIT。當(dāng)cnt等于0時(shí),即軟輸入軟輸出譯碼單元進(jìn)行第一次計(jì)算,外信息存儲(chǔ)模塊輸出先驗(yàn)信息到軟輸入軟輸出譯碼單元緩沖器,且本次輸出的先驗(yàn)信息為全0,外信息存儲(chǔ)模塊接收到的外信息存儲(chǔ)到第一存儲(chǔ)體,時(shí)間開(kāi)銷為τΕ。當(dāng)cnt為奇數(shù)時(shí),以交織地址作為第一存儲(chǔ)體的讀地址,將該交織地址對(duì)應(yīng)的外信息輸出到第二存儲(chǔ)體,此時(shí)向第二存儲(chǔ)體輸出的外信息成為先驗(yàn)信息,完成交織操作,時(shí)間開(kāi)銷為T(mén)1 ;然后將第二存儲(chǔ)體中的先驗(yàn)信息輸出到軟輸入軟輸出譯碼單元緩沖器,同時(shí)將從軟輸入軟輸出譯碼單元接收到的外信息存儲(chǔ)到第一存儲(chǔ)體,時(shí)間開(kāi)銷是τΕ。當(dāng)cnt不等于0且為偶數(shù)時(shí),以解交織地址作為第一存儲(chǔ)體的讀地址,將該解交織地址對(duì)應(yīng)的外信息輸出到第二存儲(chǔ)體,輸出的外信息成為先驗(yàn)信息,即完成解交織操作,時(shí)間開(kāi)銷是tdi,然后將第二存儲(chǔ)體中的先驗(yàn)信息輸出到軟輸入軟輸出譯碼單元緩沖器,同時(shí)將從軟輸入軟輸出譯碼單元接收到的外信息存儲(chǔ)到第一存儲(chǔ)體,時(shí)間開(kāi)銷是τΕ。那么,傳統(tǒng)的 Turbo 譯碼的時(shí)間開(kāi)銷是 τ ε+ΝΙΤΧ ( τ ^ τ Ε) + (ΝΙΤ-1) X ( τ DI+ τ Ε)。其中 NITX τ Σ 和 (NIT-I) X τ m用來(lái)進(jìn)行交織與解交織操作,不進(jìn)行外信息的計(jì)算,該部分時(shí)間開(kāi)銷是迭代過(guò)程轉(zhuǎn)換的開(kāi)銷,即外信息的計(jì)算過(guò)程不連續(xù)。如果一幀數(shù)據(jù)較長(zhǎng)時(shí),這部分的開(kāi)銷很大, 使得傳統(tǒng)Turbo譯碼的計(jì)算效率很低,導(dǎo)致譯碼速率低。傳統(tǒng)Turbo譯碼器設(shè)計(jì)中的另一個(gè)問(wèn)題就是交織、解交織地址生成模塊只支持一種交織方案,可擴(kuò)展性差。例如專門(mén)針對(duì)3GPP LTE通信協(xié)議規(guī)定的交織方案進(jìn)行電路設(shè)計(jì), 那么交織與解交織地址生成模塊就只能產(chǎn)生3GPPLTE協(xié)議里的交織地址和解交織地址。但是隨著通信協(xié)議的發(fā)展,協(xié)議中規(guī)定的參數(shù)都在不斷變化,固定交織方案的電路設(shè)計(jì)思想已經(jīng)適應(yīng)不了這種發(fā)展趨勢(shì)。TI公司推出的TMS320C6416芯片里設(shè)計(jì)了一款Turbo譯碼協(xié)處理器,它采用一塊存儲(chǔ)器保存主處理器傳遞到協(xié)處理器中的交織地址,利用該塊存儲(chǔ)器來(lái)實(shí)現(xiàn)交織。這樣設(shè)計(jì)最大的好處是該Turbo譯碼協(xié)處理器可以支持任意的交織方案,可以跟上通信協(xié)議發(fā)展的步伐。但TI公司沒(méi)有公布該塊交織存儲(chǔ)器具體結(jié)構(gòu),也沒(méi)有公布針對(duì)上面指出的譯碼計(jì)算效率低下方面的解決措施。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是在保持Turbo譯碼器可擴(kuò)展性(即能支持任意的交織方案)的同時(shí),提高計(jì)算效率和譯碼速率。本發(fā)明提出的Turbo譯碼器由系統(tǒng)信息存儲(chǔ)模塊、校驗(yàn)信息存儲(chǔ)模塊、軟輸入軟輸出譯碼單元、軟輸入軟輸出譯碼單元緩沖器、前向遞推概率存儲(chǔ)器、Turbo譯碼器控制模塊、乒乓模塊、硬判決模塊構(gòu)成。Turbo譯碼器控制模塊、系統(tǒng)信息存儲(chǔ)模塊、校驗(yàn)信息存儲(chǔ)模塊、軟輸入軟輸出譯碼單元、軟輸入軟輸出譯碼單元緩沖器、前向遞推概率存儲(chǔ)器的結(jié)構(gòu)與傳統(tǒng)的Turbo譯碼器結(jié)構(gòu)中的相同。Turbo譯碼器控制模塊與系統(tǒng)信息存儲(chǔ)模塊、乒乓模塊和硬判決模塊相連。它將軟輸入軟輸出譯碼單元計(jì)數(shù)值cnt輸出到系統(tǒng)信息存儲(chǔ)模塊和乒乓模塊,將迭代結(jié)束信號(hào)輸出到系統(tǒng)信息存儲(chǔ)模塊、硬判決模塊和乒乓模塊,將窗計(jì)數(shù)值sw輸出到乒乓模塊。系統(tǒng)信息存儲(chǔ)模塊與乒乓模塊、Turbo譯碼器控制模塊、軟輸入軟輸出譯碼單元緩沖器和硬判決模塊相連。它從乒乓模塊接收順序地址和交織地址,從Turbo譯碼器控制模塊接收軟輸入軟輸出譯碼單元計(jì)算計(jì)數(shù)值cnt和迭代結(jié)束信號(hào)。當(dāng)cnt為偶數(shù)且迭代結(jié)束信號(hào)無(wú)效時(shí),以順序地址作為讀地址,將該順序地址對(duì)應(yīng)的系統(tǒng)信息輸出到軟輸入軟輸出譯碼單元緩沖器;當(dāng)cnt為奇數(shù)且迭代結(jié)束信息無(wú)效時(shí),以交織地址作為讀地址,將該交織地址對(duì)應(yīng)的系統(tǒng)信息輸出到軟輸入軟輸出譯碼單元緩沖器;當(dāng)?shù)Y(jié)束信號(hào)有效時(shí),以順序地址作為讀地址,將該順序地址對(duì)應(yīng)的系統(tǒng)信息輸出到硬判決模塊。校驗(yàn)信息存儲(chǔ)模塊與乒乓模塊和軟輸入軟輸出譯碼單元緩沖器相連。它以從乒乓模塊接收的順序地址作為讀地址,將該順序地址對(duì)應(yīng)的校驗(yàn)信息輸出到軟輸入軟輸出譯碼單元緩沖器。軟輸入軟輸出譯碼單元緩沖器與系統(tǒng)信息存儲(chǔ)模塊、校驗(yàn)信息存儲(chǔ)模塊、乒乓模塊和軟輸入軟輸出譯碼單元相連。它從系統(tǒng)信息存儲(chǔ)模塊接收系統(tǒng)信息、從校驗(yàn)信息存儲(chǔ)模塊接收校驗(yàn)信息、從乒乓模塊接收先驗(yàn)信息,將接收到的三部分?jǐn)?shù)據(jù)打包,然后把打包后的待譯碼數(shù)據(jù)輸出到軟輸入軟輸出譯碼單元。軟輸入軟輸出譯碼單元與軟輸入軟輸出譯碼單元緩沖器、前向遞推概率存儲(chǔ)器、 乒乓模塊相連。它從軟輸入軟輸出譯碼單元緩沖器接收打包后的數(shù)據(jù),采用滑窗算法計(jì)算外信息,將執(zhí)行滑窗算法時(shí)每個(gè)窗產(chǎn)生的中間結(jié)果——前向遞推概率存儲(chǔ)到前向遞推概率存儲(chǔ)器中,將外信息存儲(chǔ)到乒乓模塊。乒乓模塊與軟輸入軟輸出譯碼單元、Turbo譯碼器控制模塊、軟輸入軟輸出譯碼單元緩沖器、系統(tǒng)信息存儲(chǔ)模塊、校驗(yàn)信息存儲(chǔ)模塊和硬判決模塊相連。乒乓模塊由順序地址產(chǎn)生單元、反相器、第一外信息存儲(chǔ)器、第二外信息存儲(chǔ)器、交織解交織器、加法器、輸出開(kāi)關(guān)、第一多路選擇器、第二多路選擇器、第三多路選擇器、第四多路選擇器構(gòu)成。順序地址產(chǎn)生單元與第二多路選擇器、第三多路選擇器、系統(tǒng)信息存儲(chǔ)模塊和校驗(yàn)信息存儲(chǔ)模塊相連。它產(chǎn)生順序地址,將順序地址輸出到第二多路選擇器、第三多路選擇器、系統(tǒng)信息存儲(chǔ)模塊和校驗(yàn)信息存儲(chǔ)模塊。反相器與Turbo譯碼器控制模塊、第三多路選擇器、第四多路選擇器、第二外信息存儲(chǔ)器相連。它從Turbo譯碼器控制模塊接收cnt信號(hào),將cnt信號(hào)取反得到的cnt_n輸出到第三多路選擇器、第四多路選擇器、第二外信息存儲(chǔ)器。取反的含義是當(dāng)cnt為偶數(shù)時(shí),反相器的輸出cnt_n為奇數(shù);當(dāng)cnt為奇數(shù)時(shí),反相器的輸出cnt_n為偶數(shù)。第一外信息存儲(chǔ)器與Turbo譯碼器控制模塊、第一多路選擇器、第二多路選擇器、 交織解交織器、第四多路選擇器和加法器相連。它從Turbo譯碼器控制模塊接收cnt信號(hào)和迭代結(jié)束信號(hào),從第一多路選擇器接收外信息,從第二多路選擇器接收順序地址,從交織解交織器接收交織地址。當(dāng)cnt為偶數(shù)且迭代結(jié)束信號(hào)無(wú)效時(shí),以順序地址作為寫(xiě)地址存儲(chǔ)接收到的外信息;當(dāng)cnt為奇數(shù)且迭代結(jié)束信號(hào)無(wú)效時(shí),以交織地址作為讀地址,該交織地址對(duì)應(yīng)的外信息即為先驗(yàn)信息,將先驗(yàn)信息輸出到第四多路選擇器;當(dāng)?shù)Y(jié)束信號(hào)有效時(shí),以順序地址作為讀地址,將該順序地址對(duì)應(yīng)的外信息輸出到加法器。第二外信息存儲(chǔ)器與Turbo譯碼器控制模塊、反相器、第一多路選擇器、第三多路選擇器、交織解交織器、第四多路選擇器和加法器相連。它從Turbo譯碼器控制模塊接收迭代結(jié)束信號(hào),從反相器接收cnt_n信號(hào),從第一多路選擇器接收外信息,從第三多路選擇器接收順序地址,從交織解交織器接收解交織地址。當(dāng)cnt_n為偶數(shù)且迭代結(jié)束信號(hào)無(wú)效時(shí), 以解交織地址作為寫(xiě)地址保存接收到的外信息,這樣操作后外信息即為順序打亂后的先驗(yàn)信息;當(dāng)cnt_n為奇數(shù)且迭代結(jié)束信號(hào)無(wú)效時(shí),以順序地址作為讀地址,將該順序地址對(duì)應(yīng)的先驗(yàn)信息輸出到第四多路選擇器;當(dāng)?shù)Y(jié)束信號(hào)有效時(shí),以順序地址作為讀地址,將該順序地址對(duì)應(yīng)的外信息輸出到加法器。第一多路選擇器與Turbo譯碼器控制模塊、軟輸入軟輸出譯碼單元、第一外信息存儲(chǔ)器和第二外信息存儲(chǔ)器相連。它從Turbo譯碼器控制模塊接收cnt信號(hào),從軟輸入軟輸出譯碼單元接收外信息。當(dāng)cnt為偶數(shù)時(shí),將外信息輸出到第一外信息存儲(chǔ)器;當(dāng)cnt為奇數(shù)時(shí),將外信息輸出到第二外信息存儲(chǔ)器。第二多路選擇器與Turbo譯碼器控制模塊、順序地址生成單元、第一外信息存儲(chǔ)器、交織解交織器相連。它從Turbo譯碼器控制模塊接收cnt信號(hào),從順序地址產(chǎn)生單元接收順序地址。當(dāng)cnt為偶數(shù)時(shí),將順序地址輸出到第一外信息存儲(chǔ)器;當(dāng)cnt為奇數(shù)時(shí),將順序地址輸出到交織解交織器。第三多路選擇器與反相器、順序地址產(chǎn)生單元、第二外信息存儲(chǔ)器和交織解交織器相連。它從反相器接收cnt_n,從順序地址產(chǎn)生單元接收順序地址,當(dāng)cnt_n為奇數(shù)時(shí),將順序地址輸出到第二外信息存儲(chǔ)器;當(dāng)cnt_n為偶數(shù)時(shí),將順序地址輸出到交織解交織器。第四多路選擇器與反相器、第一外信息存儲(chǔ)器、第二外信息存儲(chǔ)器、軟輸入軟輸出譯碼單元緩沖器相連。它從反相器接收cnt_n,從第一外信息存儲(chǔ)器和第二外信息存儲(chǔ)器接收先驗(yàn)信息,當(dāng)cnt_n為偶數(shù)時(shí),將從第一外信息存儲(chǔ)器接收到的先驗(yàn)信息輸出到軟輸入軟輸出譯碼單元緩沖器;當(dāng)cnt_n為奇數(shù)時(shí),將從第二外信息存儲(chǔ)器接收到的先驗(yàn)信息輸出到軟輸入軟輸出譯碼單元緩沖器。交織解交織器與Turbo譯碼器控制模塊、第二多路選擇器、第三多路選擇器、第一外信息存儲(chǔ)器和第二外信息存儲(chǔ)器相連。交織解交織器由單端口存儲(chǔ)器、窗地址反序單元、 減法器和解交織緩沖器組成。單端口存儲(chǔ)器保存交織地址,該交織地址是在Turbo譯碼器譯碼之前預(yù)先存儲(chǔ)到單端口存儲(chǔ)器中的。它的容量由無(wú)線通信協(xié)議規(guī)定的最大幀長(zhǎng)Z決定,即單端口存儲(chǔ)器的
深度等于Z,寬度是「log^。例如3GPP LTE協(xié)議中最大幀長(zhǎng)6144,那么單端口存儲(chǔ)器的深度是6144,寬度是Ilogf44 |。單端口存儲(chǔ)器與Turbo譯碼控制模塊、第二多路選擇器、解交織緩沖器和第一外信息存儲(chǔ)器相連。單端口存儲(chǔ)器從Turbo譯碼器控制模塊接收cnt信號(hào)和迭代結(jié)束信號(hào),從第二多路選擇器接收順序地址。當(dāng)cnt為奇數(shù)且迭代結(jié)束信號(hào)無(wú)效時(shí), 以順序地址作為讀地址,將該讀地址對(duì)應(yīng)的交織地址輸出到第一外信息存儲(chǔ)器和解交織緩沖器。窗地址反序單元與第三多路選擇器和解交織緩沖器相連。它從第三多路選擇器接
收順序地址,將順序地址按照滑窗的最大長(zhǎng)度L取反,即順序地址為O、1.....L-I時(shí),那么
反序后的地址是L-l、L-2.....1、0,記為反序地址,并將反序地址輸出到解交織緩沖器。減法器與Turbo譯碼器控制模塊、解交織緩沖器相連。它從Turbo譯碼器控制模塊接收窗計(jì)數(shù)SW,將SW減去3后作為減計(jì)數(shù)sub,然后將減計(jì)數(shù)SUb輸出到解交織緩沖器。解交織緩沖器與Turbo譯碼器控制模塊、單端口存儲(chǔ)器、第二多路選擇器、第三多路選擇器、第二外信息存儲(chǔ)器、減法器和窗地址反序單元相連。解交織緩沖器由4個(gè)存儲(chǔ)體 DI-BUFO, DI-BUFU DI-BUF2、DI_BUF3、4選1多路選擇器和先入先出緩沖構(gòu)成。DI-BUF0、 DI-BUFU DI-BUF2、DI-BUF3的深度均等于滑窗算法支持的最大長(zhǎng)度L,寬度均等于單端口存儲(chǔ)器的寬度。先入先出緩沖的級(jí)數(shù)為4,等于軟輸入軟輸出譯碼單元中流水線的級(jí)數(shù)。解交織緩沖器從Turbo譯碼器控制模塊接收cnt信號(hào)、窗計(jì)數(shù)值sw和迭代結(jié)束信號(hào),從減法器接收減計(jì)數(shù)sub,從單端口存儲(chǔ)器接收交織地址,從第三多路選擇器接收順序地址,從窗地址反序單元接收反序地址。當(dāng)cnt為奇數(shù)且迭代結(jié)束信號(hào)無(wú)效時(shí),以順序地址作為4個(gè)存儲(chǔ)體的寫(xiě)地址,窗計(jì)數(shù)值sw的低兩位作為4個(gè)存儲(chǔ)體的寫(xiě)使能信號(hào),將從單端口存儲(chǔ)器接收到的交織地址依次存儲(chǔ)到DI-BUFO、DI-BUFl、DI-BUF2、DI-BUF3中;當(dāng)開(kāi)始寫(xiě)DI-BUF3 時(shí),以反序地址作為讀地址,減計(jì)數(shù)sub的低兩位作為4個(gè)存儲(chǔ)體的讀使能信號(hào),依次從 DI-BUFO, DI-BUFl、DI-BUF2、DI-BUF3中讀取交織地址,將反序地址對(duì)應(yīng)的交織地址輸出到 4選1多路選擇器。4選1多路選擇器以減計(jì)數(shù)sub的低兩位作為選擇信號(hào),從DI-BUF0、 DI-BUFU DI-BUF2、DI-BUF3中選擇交織地址輸出到先入先出緩沖,再由先入先出緩沖輸出到第二外信息存儲(chǔ)器。加法器與第一外信息存儲(chǔ)器、第二外信息存儲(chǔ)器和輸出開(kāi)關(guān)相連。它將從第一外信息存儲(chǔ)器和第二外信息存儲(chǔ)器接收外信息相加,相加的結(jié)果輸出到輸出開(kāi)關(guān)。輸出開(kāi)關(guān)與Turbo譯碼器控制模塊、加法器和硬判決模塊相連。它從Turbo譯碼器控制模塊接收迭代結(jié)束信號(hào),從加法器接收相加的結(jié)果。當(dāng)?shù)Y(jié)束信號(hào)有效時(shí),將乒乓模塊的加法結(jié)果輸出到硬判決模塊。硬判決模塊與系統(tǒng)信息存儲(chǔ)模塊、乒乓模塊和Turbo譯碼器控制模塊相連,硬判決模塊是一個(gè)加法器,它從系統(tǒng)信息存儲(chǔ)模塊接收系統(tǒng)信息、從乒乓模塊的輸出開(kāi)關(guān)接收加法結(jié)果、從Turbo譯碼器控制模塊接收迭代結(jié)束信號(hào),當(dāng)?shù)Y(jié)束信號(hào)有效時(shí),將系統(tǒng)信息和從乒乓模塊接收的加法結(jié)果再相加,相加的最終結(jié)果的符號(hào)位取反得到硬判決,然后將硬判決輸出,輸出完畢后表示Turbo譯碼器工作過(guò)程結(jié)束。本發(fā)明能同時(shí)實(shí)現(xiàn)交織與解交織,譯碼過(guò)程是Turbo譯碼器控制模塊對(duì)軟輸入軟輸出譯碼單元計(jì)算次數(shù)進(jìn)行計(jì)數(shù),向系統(tǒng)信息存儲(chǔ)模塊、乒乓模塊輸出計(jì)數(shù)值cnt,向系統(tǒng)信息存儲(chǔ)模塊、硬判決模塊和乒乓模塊輸出迭代結(jié)束信號(hào)。
當(dāng)cnt等于0時(shí),即軟輸入軟輸出譯碼單元進(jìn)行第一次計(jì)算,乒乓模塊輸出先驗(yàn)信息到軟輸入軟輸出譯碼單元緩沖器,由于此次是第一計(jì)算,故輸出的先驗(yàn)信息為全0,以從順序地址產(chǎn)生單元獲得的順序地址作為系統(tǒng)信息存儲(chǔ)模塊和校驗(yàn)信息存儲(chǔ)模塊的讀地址, 將該順序地址對(duì)應(yīng)的系統(tǒng)信息和校驗(yàn)信息在軟輸入軟輸出譯碼單元緩沖器中打包,軟輸入軟輸出譯碼單元接收到打包后的數(shù)據(jù),計(jì)算外信息輸出到第一外信息存儲(chǔ)器。軟輸入軟輸出譯碼單元的計(jì)算過(guò)程是流水的,第一次計(jì)算的時(shí)間開(kāi)銷為τ Ε。當(dāng)cnt為奇數(shù)時(shí),第一外信息存儲(chǔ)器和系統(tǒng)信息存儲(chǔ)模塊以從交織解交織器獲得的交織地址作為讀地址,將該交織地址對(duì)應(yīng)的外信息和系統(tǒng)信息輸出到軟輸入軟輸出譯碼單元緩沖器,同時(shí)以順序地址作為校驗(yàn)信息存儲(chǔ)模塊的讀地址,將該順序地址對(duì)應(yīng)的校驗(yàn)信息輸出到軟輸入軟輸出譯碼單元緩沖器。軟輸入軟輸出譯碼單元接收到打包后的數(shù)據(jù), 按照流水的方式進(jìn)行計(jì)算,即交織操作的時(shí)間開(kāi)銷被隱藏到軟輸入軟輸出譯碼單元的計(jì)算開(kāi)銷中了。計(jì)算得到的外信息輸出到乒乓模塊,在乒乓模塊中,第二外信息存儲(chǔ)器以從交織解交織器獲得的解交織地址作為寫(xiě)地址,將接收到的外信息寫(xiě)入第二外信息存儲(chǔ)器。由于此過(guò)程中以交織地址讀取第一外信息存儲(chǔ)器、軟輸入軟輸出譯碼單元的計(jì)算、以解交織地址寫(xiě)入第二外信息存儲(chǔ)器都是按照流水的方式進(jìn)行,總的時(shí)間開(kāi)銷即為軟輸入軟輸出譯碼單元的計(jì)算開(kāi)銷τΕ。當(dāng)cnt不等于0且為偶數(shù)時(shí),系統(tǒng)信息存儲(chǔ)模塊、乒乓模塊和校驗(yàn)信息存儲(chǔ)模塊以從順序地址產(chǎn)生單元獲得的順序地址作為讀地址,將該順序地址對(duì)應(yīng)的系統(tǒng)信息、先驗(yàn)信息和校驗(yàn)信息在軟輸入軟輸出譯碼單元緩沖器中打包,軟輸入軟輸出譯碼單元接收到打包后的數(shù)據(jù),計(jì)算外信息輸出到第一外信息存儲(chǔ)器。軟輸入軟輸出譯碼單元的計(jì)算過(guò)程是流水的,第一次計(jì)算的時(shí)間開(kāi)銷為τΕ。當(dāng)?shù)邮招盘?hào)有效,即軟輸入軟輸出譯碼單元計(jì)算完畢時(shí),系統(tǒng)信息存儲(chǔ)模塊和乒乓模塊以從獲得的順序地址作為讀地址,分別將順序地址對(duì)應(yīng)的系統(tǒng)信息和乒乓模塊的加法結(jié)果輸出到硬判決模塊。硬判決模塊將接收到的系統(tǒng)信息和加法結(jié)果再相加,輸出最終硬判決。因此設(shè)計(jì)硬判決模塊后能節(jié)省傳統(tǒng)Turbo譯碼器中的譯碼輸出存儲(chǔ)模塊,而只增加少量控制邏輯,相比于面積龐大的存儲(chǔ)模塊而言,本發(fā)明節(jié)省了存儲(chǔ)面積。綜上所述,采用本發(fā)明可以達(dá)到以下技術(shù)效果1、乒乓模塊的結(jié)構(gòu)能將傳統(tǒng)Turbo譯碼結(jié)構(gòu)中交織與解交織操作的時(shí)間開(kāi)銷隱藏,本發(fā)明提出的Turbo譯碼的時(shí)間開(kāi)銷是τ ε+ΝΙΤ* τ E+ (NIT-I) * τ Ε,相比傳統(tǒng)的Turbo譯碼的時(shí)間開(kāi)銷τ ε+ΝΙΤΧ ( τ Ι+τ Ε) +(NIT-I) X ( τ Μ+ τ Ε),乒乓模塊節(jié)省了 NIT* τ Ι+(NIT-I)* τ DI,在節(jié)省的這部分時(shí)間開(kāi)銷內(nèi)Turbo譯碼器沒(méi)有做任何的計(jì)算操作, 因此本發(fā)明提高了計(jì)算效率和譯碼速率。2、采用硬判決模塊來(lái)完成最終比特信息的計(jì)算,直接輸出硬判決,簡(jiǎn)化了軟輸入軟輸出譯碼單元的邏輯電路,且節(jié)省了譯碼輸出存儲(chǔ)器。特別是當(dāng)待譯碼的數(shù)據(jù)幀較長(zhǎng)時(shí), 譯碼輸出存儲(chǔ)模塊所需的面積相比增加的硬判決模塊的面積而言也是相當(dāng)大的,因此本發(fā)明減小了硬件面積。3、可擴(kuò)展性好,本發(fā)明乒乓模塊中的交織解交織器由單端口存儲(chǔ)器和解交織緩沖器構(gòu)成,當(dāng)交織地址變化后,只需要將新的交織地址重新存儲(chǔ)到單端口存儲(chǔ)器中,就可以根據(jù)新的交織地址進(jìn)行譯碼。即本發(fā)明的Turbo譯碼器能支持交織地址的變更,可以跟上通信協(xié)議發(fā)展的步伐。
圖1為傳統(tǒng)Turbo譯碼器邏輯結(jié)構(gòu)圖;圖2為本發(fā)明Turbo譯碼器邏輯結(jié)構(gòu)圖;圖3為本發(fā)明乒乓模塊結(jié)構(gòu)圖;圖4為本發(fā)明乒乓模塊中交織解交織器邏輯結(jié)構(gòu)圖;圖5為本發(fā)明交織解交織器中解交織緩沖器結(jié)構(gòu);圖6為本發(fā)明解交織器緩沖器的讀寫(xiě)時(shí)序。
具體實(shí)施例方式圖1為傳統(tǒng)Turbo譯碼器邏輯結(jié)構(gòu)圖。圖2是本發(fā)明提出的Turbo譯碼器框圖。它由系統(tǒng)信息存儲(chǔ)模塊、校驗(yàn)信息存儲(chǔ)模塊、軟輸入軟輸出譯碼單元、軟輸入軟輸出譯碼單元緩沖器、前向遞推概率存儲(chǔ)器、硬判決模塊、Turbo譯碼器控制模塊、乒乓模塊構(gòu)成。Turbo譯碼器控制模塊、系統(tǒng)信息存儲(chǔ)模塊、校驗(yàn)信息存儲(chǔ)模塊、前向遞推概率存儲(chǔ)器和軟輸入軟輸出譯碼單元緩沖器、軟輸入軟輸出譯碼單元的結(jié)構(gòu)和功能與傳統(tǒng)Turbo 譯碼器的一樣。Turbo譯碼器控制模塊與系統(tǒng)信息存儲(chǔ)模塊、乒乓模塊和硬判決模塊相連。它將軟輸入軟輸出譯碼單元計(jì)數(shù)值cnt輸出到系統(tǒng)信息存儲(chǔ)模塊和乒乓模塊,將迭代結(jié)束信號(hào)輸出到系統(tǒng)信息存儲(chǔ)模塊、硬判決模塊和乒乓模塊,將窗計(jì)數(shù)值sw輸出到乒乓模塊。系統(tǒng)信息存儲(chǔ)模塊與乒乓模塊、Turbo譯碼器控制模塊、軟輸入軟輸出譯碼單元緩沖器和硬判決模塊相連。它從乒乓模塊接收順序地址和交織地址,從Turbo譯碼器控制模塊接收軟輸入軟輸出譯碼單元計(jì)算計(jì)數(shù)值cnt和迭代結(jié)束信號(hào)。當(dāng)cnt為偶數(shù)且迭代結(jié)束信號(hào)無(wú)效時(shí),以順序地址作為讀地址,將該順序地址對(duì)應(yīng)的系統(tǒng)信息輸出到軟輸入軟輸出譯碼單元緩沖器;當(dāng)cnt為奇數(shù)且迭代結(jié)束信息無(wú)效時(shí),以交織地址作為讀地址,將該交織地址對(duì)應(yīng)的系統(tǒng)信息輸出到軟輸入軟輸出譯碼單元緩沖器;當(dāng)?shù)Y(jié)束信號(hào)有效時(shí),以順序地址作為讀地址,將該順序地址對(duì)應(yīng)的系統(tǒng)信息輸出到硬判決模塊。校驗(yàn)信息存儲(chǔ)模塊與乒乓模塊和軟輸入軟輸出譯碼單元緩沖器相連。它以從乒乓模塊接收的順序地址作為讀地址,將該順序地址對(duì)應(yīng)的校驗(yàn)信息輸出到軟輸入軟輸出譯碼單元緩沖器。軟輸入軟輸出譯碼單元緩沖器與系統(tǒng)信息存儲(chǔ)模塊、校驗(yàn)信息存儲(chǔ)模塊、乒乓模塊和軟輸入軟輸出譯碼單元相連。它從系統(tǒng)信息存儲(chǔ)模塊接收系統(tǒng)信息、從校驗(yàn)信息存儲(chǔ)模塊接收校驗(yàn)信息、從乒乓模塊接收先驗(yàn)信息,將接收到的三部分?jǐn)?shù)據(jù)打包,然后把打包后的待譯碼數(shù)據(jù)輸出到軟輸入軟輸出譯碼單元。軟輸入軟輸出譯碼單元與軟輸入軟輸出譯碼單元緩沖器、前向遞推概率存儲(chǔ)器、 乒乓模塊相連。它從軟輸入軟輸出譯碼單元緩沖器接收打包后的數(shù)據(jù),采用滑窗算法計(jì)算外信息,將執(zhí)行滑窗算法時(shí)每個(gè)窗產(chǎn)生的中間結(jié)果——前向遞推概率存儲(chǔ)到前向遞推概率存儲(chǔ)器中,將外信息存儲(chǔ)到乒乓模塊。
硬判決模塊與系統(tǒng)信息存儲(chǔ)模塊、乒乓模塊和Turbo譯碼器控制模塊相連。硬判決模塊是一個(gè)加法器,它從系統(tǒng)信息存儲(chǔ)模塊接收系統(tǒng)信息、從乒乓模塊接收加法結(jié)果、從 Turbo譯碼器控制模塊接收迭代結(jié)束信號(hào)。當(dāng)?shù)Y(jié)束信號(hào)有效時(shí),將系統(tǒng)信息和從乒乓模塊接收到的相加的結(jié)果再相加,并將相加的最終結(jié)果的符號(hào)位取反,即為硬判決,將硬判決從Turbo譯碼器輸出完畢表示此次譯碼過(guò)程結(jié)束。乒乓模塊與軟輸入軟輸出譯碼單元、Turbo譯碼器控制模塊、軟輸入軟輸出譯碼單元緩沖器、系統(tǒng)信息存儲(chǔ)模塊、校驗(yàn)信息存儲(chǔ)模塊和硬判決模塊相連。圖3是乒乓模塊的結(jié)構(gòu)圖。乒乓模塊由順序地址產(chǎn)生單元、反相器、第一外信息存儲(chǔ)器、第二外信息存儲(chǔ)器、交織解交織器、加法器、輸出開(kāi)關(guān)、第一多路選擇器、第二多路選擇器、第三多路選擇器、第四多路選擇器構(gòu)成。順序地址產(chǎn)生單元與第二多路選擇器、第三多路選擇器、系統(tǒng)信息存儲(chǔ)模塊和校驗(yàn)信息存儲(chǔ)模塊相連。它產(chǎn)生順序地址,將順序地址輸出到第二多路選擇器、第三多路選擇器、系統(tǒng)信息存儲(chǔ)模塊和校驗(yàn)信息存儲(chǔ)模塊。反相器與Turbo譯碼器控制模塊、第三多路選擇器、第四多路選擇器、第二外信息存儲(chǔ)器相連。它從Turbo譯碼器控制模塊接收cnt信號(hào),將cnt信號(hào)取反得到的cnt_n輸出到第三多路選擇器、第四多路選擇器、第二外信息存儲(chǔ)器。取反的含義是當(dāng)cnt為偶數(shù)時(shí),反相器的輸出cnt_n為奇數(shù);當(dāng)cnt為奇數(shù)時(shí),反相器的輸出cnt_n為偶數(shù)。第一外信息存儲(chǔ)器與Turbo譯碼器控制模塊、第一多路選擇器、第二多路選擇器、 交織解交織器、第四多路選擇器和加法器相連。它從Turbo譯碼器控制模塊接收cnt信號(hào)和迭代結(jié)束信號(hào),從第一多路選擇器接收外信息,從第二多路選擇器接收順序地址,從交織解交織器接收交織地址。當(dāng)cnt為偶數(shù)且迭代結(jié)束信號(hào)無(wú)效時(shí),以順序地址作為寫(xiě)地址存儲(chǔ)接收到的外信息;當(dāng)cnt為奇數(shù)且迭代結(jié)束信號(hào)無(wú)效時(shí),以交織地址作為讀地址,該交織地址對(duì)應(yīng)的外信息即為先驗(yàn)信息,將先驗(yàn)信息輸出到第四多路選擇器;當(dāng)?shù)Y(jié)束信號(hào)有效時(shí),以順序地址作為讀地址,將該順序地址對(duì)應(yīng)的外信息輸出到加法器。第二外信息存儲(chǔ)器與Turbo譯碼器控制模塊、反相器、第一多路選擇器、第三多路選擇器、交織解交織器、第四多路選擇器和加法器相連。它從Turbo譯碼器控制模塊接收迭代結(jié)束信號(hào),從反相器接收cnt_n信號(hào),從第一多路選擇器接收外信息,從第三多路選擇器接收順序地址,從交織解交織器接收解交織地址。當(dāng)cnt_n為偶數(shù)且迭代結(jié)束信號(hào)無(wú)效時(shí), 以解交織地址作為寫(xiě)地址保存接收到的外信息,這樣操作后外信息即為順序打亂后的先驗(yàn)信息;當(dāng)cnt_n為奇數(shù)且迭代結(jié)束信號(hào)無(wú)效時(shí),以順序地址作為讀地址,將該順序地址對(duì)應(yīng)的先驗(yàn)信息輸出到第四多路選擇器;當(dāng)?shù)Y(jié)束信號(hào)有效時(shí),以順序地址作為讀地址,將該順序地址對(duì)應(yīng)的外信息輸出到加法器。第一多路選擇器與Turbo譯碼器控制模塊、軟輸入軟輸出譯碼單元、第一外信息存儲(chǔ)器和第二外信息存儲(chǔ)器相連。它從Turbo譯碼器控制模塊接收cnt信號(hào),從軟輸入軟輸出譯碼單元接收外信息。當(dāng)cnt為偶數(shù)時(shí),將外信息輸出到第一外信息存儲(chǔ)器;當(dāng)cnt為奇數(shù)時(shí),將外信息輸出到第二外信息存儲(chǔ)器。第二多路選擇器與Turbo譯碼器控制模塊、順序地址生成單元、第一外信息存儲(chǔ)器、交織解交織器相連。它從Turbo譯碼器控制模塊接收cnt信號(hào),從順序地址產(chǎn)生單元接收順序地址。當(dāng)cnt為偶數(shù)時(shí),將順序地址輸出到第一外信息存儲(chǔ)器;當(dāng)cnt為奇數(shù)時(shí),將順序地址輸出到交織解交織器。第三多路選擇器與反相器、順序地址產(chǎn)生單元、第二外信息存儲(chǔ)器和交織解交織器相連。它從反相器接收cnt_n,從順序地址產(chǎn)生單元接收順序地址,當(dāng)cnt_n為奇數(shù)時(shí),將順序地址輸出到第二外信息存儲(chǔ)器;當(dāng)cnt_n為偶數(shù)時(shí),將順序地址輸出到交織解交織器。第四多路選擇器與反相器、第一外信息存儲(chǔ)器、第二外信息存儲(chǔ)器、軟輸入軟輸出譯碼單元緩沖器相連。它從反相器接收cnt_n,從第一外信息存儲(chǔ)器和第二外信息存儲(chǔ)器接收先驗(yàn)信息,當(dāng)cnt_n為偶數(shù)時(shí),將從第一外信息存儲(chǔ)器接收到的先驗(yàn)信息輸出到軟輸入軟輸出譯碼單元緩沖器;當(dāng)cnt_n為奇數(shù)時(shí),將從第二外信息存儲(chǔ)器接收到的先驗(yàn)信息輸出到軟輸入軟輸出譯碼單元緩沖器。加法器與第一外信息存儲(chǔ)器、第二外信息存儲(chǔ)器和輸出開(kāi)關(guān)相連。它將從第一外信息存儲(chǔ)器和第二外信息存儲(chǔ)器接收外信息相加,相加的結(jié)果輸出到輸出開(kāi)關(guān)。輸出開(kāi)關(guān)與Turbo譯碼器控制模塊、加法器和硬判決模塊相連。它從Turbo譯碼器控制模塊接收迭代結(jié)束信號(hào),從加法器接收加法結(jié)果。當(dāng)?shù)Y(jié)束信號(hào)有效時(shí),將乒乓模塊的加法結(jié)果輸出到硬判決模塊。圖4是乒乓模塊中交織解交織器的詳細(xì)結(jié)構(gòu)圖。交織解交織器與Turbo譯碼器控制模塊、第二多路選擇器、第三多路選擇器、第一外信息存儲(chǔ)器和第二外信息存儲(chǔ)器相連。 它由單端口存儲(chǔ)器、窗地址反序單元、減法器和解交織緩沖器組成。單端口存儲(chǔ)器保存交織地址,該交織地址是在Turbo譯碼器譯碼之前預(yù)先存儲(chǔ)到單端口存儲(chǔ)器中的。它的容量由無(wú)線通信協(xié)議規(guī)定的最大幀長(zhǎng)Z決定,即單端口存儲(chǔ)器的
深度等于Z,寬度是「log。。例如3GPP LTE協(xié)議中最大幀長(zhǎng)6144,那么單端口存儲(chǔ)器的深
度是6144,寬度是I Iogf44 |。單端口存儲(chǔ)器與Turbo譯碼控制模塊、第二多路選擇器、解交織緩沖器和第一外信息存儲(chǔ)器相連。單端口存儲(chǔ)器從Turbo譯碼器控制模塊接收cnt信號(hào)和迭代結(jié)束信號(hào),從第二多路選擇器接收順序地址。當(dāng)cnt為奇數(shù)且迭代結(jié)束信號(hào)無(wú)效時(shí),以順序地址作為讀地址,將該讀地址對(duì)應(yīng)的交織地址輸出到第一外信息存儲(chǔ)器和解交織緩沖
ο窗地址反序單元與第三多路選擇器和解交織緩沖器相連。它從第三多路選擇器接
收順序地址,將順序地址按照滑窗的最大長(zhǎng)度L取反,即順序地址為0、1.....L-I時(shí),那么
反序后的地址是L-1、L_2.....1、0,記為反序地址,并將反序地址輸出到解交織緩沖器。減法器與Turbo譯碼器控制模塊、解交織緩沖器相連。它從Turbo譯碼器控制模塊接收窗計(jì)數(shù)SW,將SW減去3后作為減計(jì)數(shù)sub,然后將減計(jì)數(shù)SUb輸出到解交織緩沖器。
圖5是解交織緩沖器的詳細(xì)結(jié)構(gòu)圖。解交織緩沖器與Turbo譯碼器控制模塊、單端口存儲(chǔ)器、第二多路選擇器、第三多路選擇器、第二外信息存儲(chǔ)器、減法器和窗地址反序單元相連。解交織緩沖器由4個(gè)存儲(chǔ)體DI-BUF0、DI-BUF1、DI-BUF2、DI-BUF3、4選1多路選擇器和先入先出緩沖構(gòu)成。DI-BUFO、DI-BUFl、DI-BUF2、DI-BUF3的深度均等于滑窗算法支持的最大長(zhǎng)度L,寬度均等于單端口存儲(chǔ)器的寬度。先入先出緩沖的級(jí)數(shù)為4,等于軟輸入軟輸出譯碼單元中流水線的級(jí)數(shù)。解交織緩沖器從Turbo譯碼器控制模塊接收cnt信號(hào)、窗計(jì)數(shù)值sw和迭代結(jié)束信號(hào),從減法器接收減計(jì)數(shù)sub,從單端口存儲(chǔ)器接收交織地址,從第三多路選擇器接收順序地址,從窗地址反序單元接收反序地址。當(dāng)cnt為奇數(shù)且迭代結(jié)束信號(hào)無(wú)效時(shí),以順序地址作為4個(gè)存儲(chǔ)體的寫(xiě)地址,窗計(jì)數(shù)值SW的低兩位作為4個(gè)存儲(chǔ)體的寫(xiě)使能信號(hào),將從單端口存儲(chǔ)器接收到的交織地址依次存儲(chǔ)到DI-BUF0、DI-BUF1、DI-BUF2、 DI-BUF3中;當(dāng)開(kāi)始寫(xiě)DI-BUF3時(shí),以反序地址作為讀地址,減計(jì)數(shù)sub的低兩位作為4個(gè)存儲(chǔ)體的讀使能信號(hào),依次從DI-BUFO、DI-BUFU DI-BUF2、DI-BUF3中讀取交織地址,將反序地址對(duì)應(yīng)的交織地址輸出到4選1多路選擇器。4選1多路選擇器以減計(jì)數(shù)sub的低兩位作為選擇信號(hào),從DI-BUF0、DI-BUF1、DI-BUF2、DI-BUF3中選擇交織地址輸出到先入先出緩沖,再由先入先出緩沖輸出到第二外信息存儲(chǔ)器。詳細(xì)讀寫(xiě)時(shí)序見(jiàn)圖6的解交織緩沖器讀寫(xiě)時(shí)序圖。4選1多路選擇器輸出交織地址到先入先出緩沖,先入先出緩沖輸出交織地址到
第二外信息存儲(chǔ)器。圖6為本發(fā)明解交織器緩沖器的讀寫(xiě)時(shí)序。解交織緩沖器從順序地址產(chǎn)生單元接
收順序地址0、1、.......L-I,從窗地址反序單元接收反序地址L-I、L-2、......、1、0,從
Turbo譯碼器控制模塊接收窗計(jì)算sw,從單端口存儲(chǔ)器接收交織地址。解交織緩沖器以接收到的順序地址0、1........L-I作為寫(xiě)地址,以sw的低兩位
作為寫(xiě)使能。例如,當(dāng)sw的低兩位等于01時(shí),如圖6所示,即sw等于1或5,那么解交織緩沖器中的DI-BUFl的寫(xiě)使能有效,DI-BUFl以順序地址為寫(xiě)地址,將接收到的交織地址保存起來(lái)。依次類推,當(dāng)sw的低兩位分別等于00、10、11時(shí),那么DI-BUFO、DI-BUF2、DI-BUF3 的寫(xiě)使能分別有效。減計(jì)數(shù)sub由sw減去3得到,那么當(dāng)sw大于或等于3時(shí),減計(jì)數(shù)sub開(kāi)始從0開(kāi)
始計(jì)數(shù)。解交織緩沖器以接收到的反序地址L-l、L-2........1、0作為讀地址,以sub的低
兩位作為讀使能。例如,當(dāng)sub的低兩位等于01時(shí),如圖6所示,即sub等于1或5,那么解交織緩沖器中的DI-BUFl的讀使能有效,DI-BUFl以反序地址作為讀地址,將之前保存的交織地址輸出,這樣輸出的交織地址即稱為解交織地址。圖6的讀寫(xiě)時(shí)序?qū)崿F(xiàn)了 DI-BUFO、DI-BUFU DI-BUF2、DI-BUF3這4個(gè)存儲(chǔ)體的訪存沖突,即同一個(gè)時(shí)刻內(nèi)1個(gè)存儲(chǔ)體要么進(jìn)行寫(xiě)操作,要么進(jìn)行讀操作。如圖6中一個(gè)周期的跨度內(nèi),當(dāng)sw等于3時(shí),DI-BUF3進(jìn)行寫(xiě)操作,而DI-BUFO進(jìn)行讀操作;當(dāng)sw等于4 時(shí),DI-BUFO進(jìn)行寫(xiě)操作,而DI-BUFl進(jìn)行讀操作;當(dāng)sw等于5時(shí),DI-BUFl進(jìn)行寫(xiě)操作,而 DI-BUF02進(jìn)行讀操作;當(dāng)sw等于6時(shí),DI-BUF2進(jìn)行寫(xiě)操作,而DI-BUF3進(jìn)行讀操作;此后都是按照該周期重復(fù)地對(duì)4個(gè)存儲(chǔ)體進(jìn)行的訪存,并且在該周期中,始終不可能發(fā)生體沖突。
權(quán)利要求
1. 一種同時(shí)實(shí)現(xiàn)交織與解交織的Turbo譯碼器,該Turbo譯碼器包括系統(tǒng)信息存儲(chǔ)模塊、校驗(yàn)信息存儲(chǔ)模塊、軟輸入軟輸出譯碼單元、軟輸入軟輸出譯碼單元緩沖器、前向遞推概率存儲(chǔ)器,其特征在于還包括Turbo譯碼器控制模塊、乒乓模塊、硬判決模塊Turbo譯碼器控制模塊與系統(tǒng)信息存儲(chǔ)模塊、硬判決模塊和乒乓模塊相連,它將軟輸入軟輸出譯碼單元計(jì)數(shù)值cnt輸出到系統(tǒng)信息存儲(chǔ)模塊和乒乓模塊,將迭代結(jié)束信號(hào)輸出到系統(tǒng)信息存儲(chǔ)模塊、硬判決模塊和乒乓模塊,將窗計(jì)數(shù)值sw輸出到乒乓模塊;將待譯碼數(shù)據(jù)分成S個(gè)小段進(jìn)行計(jì)算,S個(gè)小段稱為S個(gè)“窗”,每個(gè)“窗”包含的待譯碼數(shù)據(jù)的個(gè)數(shù)稱為窗長(zhǎng)L,譯碼時(shí)對(duì)窗個(gè)數(shù)進(jìn)行的計(jì)數(shù)值為sw,當(dāng)對(duì)每個(gè)窗的數(shù)據(jù)計(jì)算到最后一個(gè)待譯碼數(shù)據(jù)時(shí),sw就自增1,然后計(jì)算下一個(gè)窗的數(shù)據(jù),即sw等于1、2、……、S, S為正整數(shù);系統(tǒng)信息存儲(chǔ)模塊與乒乓模塊、Turbo譯碼器控制模塊、軟輸入軟輸出譯碼單元緩沖器和硬判決模塊相連,它從乒乓模塊接收順序地址和交織地址,從Turbo譯碼器控制模塊接收軟輸入軟輸出譯碼單元計(jì)算計(jì)數(shù)值cnt和迭代結(jié)束信號(hào);當(dāng)cnt為偶數(shù)且迭代結(jié)束信號(hào)無(wú)效時(shí),以順序地址作為讀地址,將該順序地址對(duì)應(yīng)的系統(tǒng)信息輸出到軟輸入軟輸出譯碼單元緩沖器,當(dāng)cnt為奇數(shù)且迭代結(jié)束信息無(wú)效時(shí),以交織地址作為讀地址,將該交織地址對(duì)應(yīng)的系統(tǒng)信息輸出到軟輸入軟輸出譯碼單元緩沖器;當(dāng)?shù)Y(jié)束信號(hào)有效時(shí),以順序地址作為讀地址,將該順序地址對(duì)應(yīng)的系統(tǒng)信息輸出到硬判決模塊;校驗(yàn)信息存儲(chǔ)模塊與乒乓模塊和軟輸入軟輸出譯碼單元緩沖器相連,它以從乒乓模塊接收的順序地址作為讀地址,將該順序地址對(duì)應(yīng)的校驗(yàn)信息輸出到軟輸入軟輸出譯碼單元緩沖器;軟輸入軟輸出譯碼單元緩沖器與系統(tǒng)信息存儲(chǔ)模塊、校驗(yàn)信息存儲(chǔ)模塊、乒乓模塊和軟輸入軟輸出譯碼單元相連,它從系統(tǒng)信息存儲(chǔ)模塊接收系統(tǒng)信息、從校驗(yàn)信息存儲(chǔ)模塊接收校驗(yàn)信息、從乒乓模塊接收先驗(yàn)信息,將接收到的三部分?jǐn)?shù)據(jù)打包,然后把打包后的待譯碼數(shù)據(jù)輸出到軟輸入軟輸出譯碼單元;軟輸入軟輸出譯碼單元與軟輸入軟輸出譯碼單元緩沖器、前向遞推概率存儲(chǔ)器、乒乓模塊相連,它從軟輸入軟輸出譯碼單元緩沖器接收打包后的數(shù)據(jù),采用滑窗算法計(jì)算外信息,將執(zhí)行滑窗算法時(shí)每個(gè)窗產(chǎn)生的中間結(jié)果——前向遞推概率存儲(chǔ)到前向遞推概率存儲(chǔ)器中,將外信息存儲(chǔ)到乒乓模塊;乒乓模塊與軟輸入軟輸出譯碼單元、Turbo譯碼器控制模塊、軟輸入軟輸出譯碼單元緩沖器、系統(tǒng)信息存儲(chǔ)模塊、校驗(yàn)信息存儲(chǔ)模塊和硬判決模塊相連,乒乓模塊由順序地址產(chǎn)生單元、反相器、第一外信息存儲(chǔ)器、第二外信息存儲(chǔ)器、交織解交織器、加法器、輸出開(kāi)關(guān)、第一多路選擇器、第二多路選擇器、第三多路選擇器、第四多路選擇器構(gòu)成;順序地址產(chǎn)生單元與第二多路選擇器、第三多路選擇器、系統(tǒng)信息存儲(chǔ)模塊和校驗(yàn)信息存儲(chǔ)模塊相連,它產(chǎn)型幌序地址,將順序地址輸出到第二多路選擇器、第三多路選擇器、 系統(tǒng)信息存儲(chǔ)模塊和校驗(yàn)信息存儲(chǔ)模塊;反相器與Turbo譯碼器控制模塊、第三多路選擇器、第四多路選擇器、第二外信息存儲(chǔ)器相連,它從Turbo譯碼器控制模塊接收cnt信號(hào),將cnt信號(hào)取反得到的cnt_n輸出到第三多路選擇器、第四多路選擇器、第二外信息存儲(chǔ)器;取反的含義是當(dāng)cnt為偶數(shù)時(shí),反相器的輸出cnt_n為奇數(shù);當(dāng)cnt為奇數(shù)時(shí),反相器的輸出cnt_n為偶數(shù);第一外信息存儲(chǔ)器與Turbo譯碼器控制模塊、第一多路選擇器、第二多路選擇器、交織解交織器、第四多路選擇器和加法器相連。它從Turbo譯碼器控制模塊接收cnt信號(hào)和迭代結(jié)束信號(hào),從第一多路選擇器接收外信息,從第二多路選擇器接收順序地址,從交織解交織器接收交織地址;當(dāng)cnt為偶數(shù)且迭代結(jié)束信號(hào)無(wú)效時(shí),以順序地址作為寫(xiě)地址存儲(chǔ)接收到的外信息,當(dāng)cnt為奇數(shù)且迭代結(jié)束信號(hào)無(wú)效時(shí),以交織地址作為讀地址,該交織地址對(duì)應(yīng)的外信息即為先驗(yàn)信息,將先驗(yàn)信息輸出到第四多路選擇器;當(dāng)?shù)Y(jié)束信號(hào)有效時(shí), 以順序地址作為讀地址,將該順序地址對(duì)應(yīng)的外信息輸出到加法器;第二外信息存儲(chǔ)器與Turbo譯碼器控制模塊、反相器、第一多路選擇器、第三多路選擇器、交織解交織器、第四多路選擇器和加法器相連,它從Turbo譯碼器控制模塊接收迭代結(jié)束信號(hào),從反相器接收Cnt_n信號(hào),從第一多路選擇器接收外信息,從第三多路選擇器接收順序地址,從交織解交織器接收解交織地址;當(dāng)Cnt_n為偶數(shù)且迭代結(jié)束信號(hào)無(wú)效時(shí),以解交織地址作為寫(xiě)地址保存接收到的外信息,這樣操作后外信息即為順序打亂后的先驗(yàn)信息,當(dāng)cnt_n為奇數(shù)且迭代結(jié)束信號(hào)無(wú)效時(shí),以順序地址作為讀地址,將該順序地址對(duì)應(yīng)的先驗(yàn)信息輸出到第四多路選擇器;當(dāng)?shù)Y(jié)束信號(hào)有效時(shí),以順序地址作為讀地址,將該順序地址對(duì)應(yīng)的外信息輸出到加法器;第一多路選擇器與Turbo譯碼器控制模塊、軟輸入軟輸出譯碼單元、第一外信息存儲(chǔ)器和第二外信息存儲(chǔ)器相連,它從Turbo譯碼器控制模塊接收cnt信號(hào),從軟輸入軟輸出譯碼單元接收外信息;當(dāng)cnt為偶數(shù)時(shí),將外信息輸出到第一外信息存儲(chǔ)器,當(dāng)cnt為奇數(shù)時(shí), 將外信息輸出到第二外信息存儲(chǔ)器;第二多路選擇器與Turbo譯碼器控制模塊、順序地址生成單元、第一外信息存儲(chǔ)器、交織解交織器相連,它從Turbo譯碼器控制模塊接收cnt信號(hào),從順序地址產(chǎn)生單元接收順序地址;當(dāng)cnt為偶數(shù)時(shí),將順序地址輸出到第一外信息存儲(chǔ)器,當(dāng)cnt為奇數(shù)時(shí),將順序地址輸出到交織解交織器;第三多路選擇器與反相器、順序地址產(chǎn)生單元、第二外信息存儲(chǔ)器和交織解交織器相連,它從反相器接收cnt_n,從順序地址產(chǎn)生單元接收順序地址;當(dāng)cnt_n為奇數(shù)時(shí),將順序地址輸出到第二外信息存儲(chǔ)器,當(dāng)cnt_n為偶數(shù)時(shí),將順序地址輸出到交織解交織器;第四多路選擇器與反相器、第一外信息存儲(chǔ)器、第二外信息存儲(chǔ)器、軟輸入軟輸出譯碼單元緩沖器相連,它從反相器接收cnt_n,從第一外信息存儲(chǔ)器和第二外信息存儲(chǔ)器接收先驗(yàn)信息;當(dāng)cnt_n為偶數(shù)時(shí),將從第一外信息存儲(chǔ)器接收到的先驗(yàn)信息輸出到軟輸入軟輸出譯碼單元緩沖器,當(dāng)cnt_n為奇數(shù)時(shí),將從第二外信息存儲(chǔ)器接收到的先驗(yàn)信息輸出到軟輸入軟輸出譯碼單元緩沖器;交織解交織器與Turbo譯碼器控制模塊、第二多路選擇器、第三多路選擇器、第一外信息存儲(chǔ)器和第二外信息存儲(chǔ)器相連,交織解交織器由單端口存儲(chǔ)器、窗地址反序單元、減法器和解交織緩沖器組成;單端口存儲(chǔ)器保存交織地址,單端口存儲(chǔ)器與Turbo譯碼控制模塊、第二多路選擇器、 解交織緩沖器和第一外信息存儲(chǔ)器相連,單端口存儲(chǔ)器從Turbo譯碼器控制模塊接收cnt 信號(hào)和迭代結(jié)束信號(hào),從第二多路選擇器接收順序地址;當(dāng)cnt為奇數(shù)且迭代結(jié)束信號(hào)無(wú)效時(shí),以順序地址作為讀地址,將該讀地址對(duì)應(yīng)的交織地址輸出到第一外信息存儲(chǔ)器和解交織緩沖器;窗地址反序單元與第三多路選擇器和解交織緩沖器相連,它從第三多路選擇器接收順序地址,將順序地址按照滑窗的最大長(zhǎng)度L取反,即順序地址為0、1.....L-I時(shí),那么反序后的地址是L-1、L_2.....1、0,記為反序地址,并將反序地址輸出到解交織緩沖器;減法器與Turbo譯碼器控制模塊、解交織緩沖器相連,它從Turbo譯碼器控制模塊接收窗計(jì)數(shù)sw,將sw減去3后作為減計(jì)數(shù)sub,然后將sub輸出到解交織緩沖器;解交織緩沖器與Turbo譯碼器控制模塊、單端口存儲(chǔ)器、第二多路選擇器、第三多路選擇器、第二外信息存儲(chǔ)器、減法器和窗地址反序單元相連;解交織緩沖器由4個(gè)存儲(chǔ)體 DI-BUF0、DI-BUF1、DI-BUF2、DI-BUF3、4選1多路選擇器和先入先出緩沖構(gòu)成;解交織緩沖器從Turbo譯碼器控制模塊接收cnt信號(hào)、窗計(jì)數(shù)值sw和迭代結(jié)束信號(hào),從減法器接收減計(jì)數(shù)sub,從單端口存儲(chǔ)器接收交織地址,從第三多路選擇器接收順序地址,從窗地址反序單元接收反序地址;當(dāng)cnt為奇數(shù)且迭代結(jié)束信號(hào)無(wú)效時(shí),以順序地址作為4個(gè)存儲(chǔ)體的寫(xiě)地址,窗計(jì)數(shù)值sw的低兩位作為4個(gè)存儲(chǔ)體的寫(xiě)使能信號(hào),將從單端口存儲(chǔ)器接收到的交織地址依次存儲(chǔ)到DI-BUFO、DI-BUFl、DI-BUF2、DI-BUF3中;當(dāng)開(kāi)始寫(xiě)DI-BUF3時(shí),以反序地址作為讀地址,減計(jì)數(shù)sub的低兩位作為4個(gè)存儲(chǔ)體的讀使能信號(hào),依次從DI-BUF0、 DI-BUFl、DI-BUF2、DI-BUF3中讀取交織地址,將反序地址對(duì)應(yīng)的交織地址輸出到4選1多路選擇器;4選1多路選擇器以減計(jì)數(shù)sub的低兩位作為選擇信號(hào),從DI-BUFO、DI-BUFU DI-BUF2、DI-BUF3中選擇交織地址輸出到先入先出緩沖,再由先入先出緩沖輸出到第二外信息存儲(chǔ)器;加法器與第一外信息存儲(chǔ)器、第二外信息存儲(chǔ)器和輸出開(kāi)關(guān)相連,它將從第一外信息存儲(chǔ)器和第二外信息存儲(chǔ)器接收外信息相加,相加的結(jié)果輸出到輸出開(kāi)關(guān);輸出開(kāi)關(guān)與Turbo譯碼器控制模塊、加法器和硬判決模塊相連,它從Turbo譯碼器控制模塊接收迭代結(jié)束信號(hào),從加法器接收加法結(jié)果,當(dāng)?shù)Y(jié)束信號(hào)有效時(shí),將乒乓模塊的加法結(jié)果輸出到硬判決模塊;硬判決模塊與系統(tǒng)信息存儲(chǔ)模塊、乒乓模塊和Turbo譯碼器控制模塊相連,硬判決模塊是一個(gè)加法器,它從系統(tǒng)信息存儲(chǔ)模塊接收系統(tǒng)信息、從乒乓模塊的輸出開(kāi)關(guān)接收加法結(jié)果、從Turbo譯碼器控制模塊接收迭代結(jié)束信號(hào),當(dāng)?shù)Y(jié)束信號(hào)有效時(shí),將系統(tǒng)信息和接收到的加法結(jié)果再相加,相加的最終結(jié)果的符號(hào)位取反得到硬判決,然后將硬判決輸出。
2.如權(quán)利要求1所述的一種同時(shí)實(shí)現(xiàn)交織與解交織的Turbo譯碼器,其特征在于所述單端口存儲(chǔ)器的深度等于無(wú)線通信協(xié)議規(guī)定的最大幀長(zhǎng)Z,寬度是「log。。
3.如權(quán)利要求1所述的一種同時(shí)實(shí)現(xiàn)交織與解交織的Turbo譯碼器,其特征在于所述解交織緩沖器的4個(gè)存儲(chǔ)體DI-BUFO、DI-BUFU DI-BUF2、DI-BUF3的深度均等于滑窗算法支持的最大長(zhǎng)度L,寬度均等于單端口存儲(chǔ)器的寬度。
4.如權(quán)利要求1所述的一種同時(shí)實(shí)現(xiàn)交織與解交織的Turbo譯碼器,其特征在于所述解交織緩沖器的先入先出緩沖的級(jí)數(shù)為4。
全文摘要
本發(fā)明公開(kāi)了一種同時(shí)實(shí)現(xiàn)交織與解交織的Turbo譯碼器,目的是既保持Turbo譯碼器可擴(kuò)展性,又提高計(jì)算效率和譯碼速率。本發(fā)明由系統(tǒng)信息存儲(chǔ)模塊、校驗(yàn)信息存儲(chǔ)模塊、軟輸入軟輸出譯碼單元、軟輸入軟輸出譯碼單元緩沖器、前向遞推概率存儲(chǔ)器、Turbo譯碼器控制模塊、乒乓模塊、硬判決模塊構(gòu)成。乒乓模塊由順序地址產(chǎn)生單元、反相器、第一外信息存儲(chǔ)器、第二外信息存儲(chǔ)器、交織解交織器、加法器、輸出開(kāi)關(guān)、第一多路選擇器、第二多路選擇器、第三多路選擇器、第四多路選擇器構(gòu)成。交織解交織器由單端口存儲(chǔ)器、窗地址反序單元、減法器和解交織緩沖器組成。硬判決模塊是一個(gè)加法器。本發(fā)明能提高計(jì)算效率和譯碼速率,減小硬件面積,且可擴(kuò)展性好。
文檔編號(hào)H04L1/00GK102270993SQ20111007221
公開(kāi)日2011年12月7日 申請(qǐng)日期2011年3月24日 優(yōu)先權(quán)日2011年3月24日
發(fā)明者萬(wàn)江華, 劉威, 孫書(shū)為, 孫永節(jié), 許邦建, 郭陽(yáng), 陳書(shū)明 申請(qǐng)人:中國(guó)人民解放軍國(guó)防科學(xué)技術(shù)大學(xué)