Turbo碼譯碼裝置和方法
【專利摘要】本發明實施例提供了Turbo碼譯碼裝置和方法。該Turbo碼譯碼裝置包括:交織地址計算模塊,以數字電路實現,計算交織地址和處理解交織地址;軟輸入軟輸出譯碼模塊,以模擬電路實現,用于計算數據包的軟信息,并進行循環迭代以產生譯碼結果;交織器和解交織器,以交織地址和解交織地址對軟信息進行交織和解交織,以與該軟信息進行循環迭代;判決模塊,對譯碼結果進行判決以產生判決結果數據;以及,數據輸出模塊,輸出該判決結果數據。通過根據本發明實施例的Turbo碼譯碼裝置和方法,可以結合數字電路和模擬電路兩者的優勢實現高速的Turbo碼譯碼,減小了譯碼時間,提高了數據吞吐量,從而改進了Turbo碼的譯碼性能。
【專利說明】Turbo碼譯碼裝置和方法
【技術領域】
[0001]本發明涉及Turbo碼譯碼裝置和方法。
【背景技術】
[0002]Turbo碼作為一種性能優異的信道編碼方式,已應用到多種移動通信標準中。高速Turbo碼譯碼技術已成為LTE/4G系統中的一項核心技術,用來實現LTE系統的IOOMbps的數據吞吐量,但是,高速Turbo碼譯碼方案也是業界一個實現的難點。
[0003]目前的Turbo碼譯碼裝置主要有兩種實現方式,第一種是純ASIC(特定用途集成電路)實現方式,如TurboBest公司的Turbo碼譯碼裝置,其市場占有率達到60%以上;第二種是DSP (數字信號處理)實現方式,如Tensilica公司的Turbo碼譯碼裝置,在3G以及之前的較低數據吞吐量的通信系統中得到廣泛應用。
[0004]圖1是示出純ASIC實現方式的Turbo碼譯碼裝置的示意性框圖。如圖1所示,在純ASIC方式實現的Turbo碼譯碼裝置中,軟輸入軟輸出(SISO)譯碼模塊計算速度快,占用資源少,但是,交織地址計算模塊的計算效率低,并且占用資源多。例如,在LTE系統中,交織地址計算模塊的交織地址計算公式如下:
[0005]Π (i) = (f! X i+f2 X i2) modK公式 I
[0006]c/ =cn (i), i = O, I, 2...(K-1) 公式 2
[0007]在上述交織地址的計算中,需要涉及乘法、平方和取模運算(TD-SCDMA系統的交織地址計算更加復雜),計算交織地址不僅占用大量的硬件資源,而且占用大量的時鐘周期。另外,交織地址是在Turbo碼譯碼裝置的初始化階段完成計算,在譯碼迭代階段,交織地址計算模塊一直處于空閑狀態,造成硬件資源利用率很低。
[0008]在DSP實現方式的Turbo碼譯碼裝置中,交織地址的計算簡單、排序方便,并且,由于可采用64位、128位等的總線,交換數據高效便捷。但是,在DSP實現方式的Turbo碼譯碼裝置的譯碼過程中,分支轉移概率Gamma、狀態度量值Alpha、Beta以及對數似然比LLR等參數的計算效率較低,造成譯碼延時大,數據吞吐量低,這無法滿足LTE/4G系統的高數據吞吐量,并且,功耗較大。
[0009]因此,需要一種新穎的和改進的Turbo碼譯碼裝置和方法,能夠實現高速的Turbo碼譯碼。
【發明內容】
[0010]因此,針對上述現有技術中存在的問題和需求做出本發明。
[0011]本發明實施例的目的是提供一種Turbo碼譯碼裝置和方法,其能夠在保證譯碼速度的同時,增大數據吞吐量,從而實現高速的Turbo碼譯碼。
[0012]根據本發明實施例的一個方面,提供了一種Turbo碼譯碼裝置,包括:數據輸入模塊,用于接收數據包的輸入;交織地址計算模塊,以數字電路實現,用于計算交織地址和處理解交織地址;軟輸入軟輸出譯碼模塊,以模擬電路實現,用于計算所述數據包的軟信息,并進行循環迭代以產生譯碼結果;交織器和解交織器,用于依據從所述交織地址計算模塊輸出的所述交織地址和解交織地址對從所述軟輸入軟輸出譯碼模塊輸出的軟信息進行交織和解交織,以與所述軟輸入軟輸出譯碼模塊輸出的軟信息進行循環迭代;判決模塊,用于對所述交織器和解交織器產生的譯碼結果進行判決以產生判決結果數據;以及,數據輸出模塊,用于輸出所述判決模塊的判決結果數據。
[0013]在上述Turbo碼譯碼裝置中,所述軟輸入軟輸出譯碼模塊以及所述交織器和解交織器對所述數據包進行的循環迭代的次數是6到10次。
[0014]在上述Turbo碼譯碼裝置中,所述交織器和解交織器具體是所述交織地址計算模塊所計算的交織地址和所處理的解交織地址的查找表,且所述軟輸入軟輸出譯碼模塊輸出的軟信息按照所述查找表進行交織和解交織。
[0015]在上述Turbo碼譯碼裝置中,進一步包括:數據緩存模塊,用于緩存由數據輸入模塊輸入的數據包,并將緩存的數據包發送給軟輸入軟輸出譯碼模塊。
[0016]在上述Turbo碼譯碼裝置中,所述數據緩存模塊以數字電路實現。
[0017]在上述Turbo碼譯碼裝置中,所述軟輸入軟輸出譯碼模塊具體為多個并行的軟輸入軟輸出譯碼單元,用于并行處理輸入的多路數據并產生多個軟信息。
[0018]在上述Turbo碼譯碼裝置中,進一步包括:排序模塊,用于接收由所述多路數據產生的多個軟信息的判決結果數據,并進行排序以由所述數據輸出模塊輸出排序后的判決結果數據。
[0019]在上述Turbo碼譯碼裝置中,所述排序模塊以數字電路實現。
[0020]根據本發明實施例的另一方面,提供了一種Turbo碼譯碼方法,包括:接收數據包的輸入;以數字電路計算交織地址和處理解交織地址;以模擬電路計算所述數據包的軟信息并進行循環迭代,以產生譯碼結果;以所述交織地址和解交織地址對所述軟信息進行交織和解交織,以與所述軟信息進行循環迭代;對所述譯碼結果進行判決以產生判決結果數據;以及,輸出所述判決結果數據。
[0021 ] 在上述Turbo碼譯碼方法中,所述循環迭代的次數是6到10次。
[0022]在上述Turbo碼譯碼方法中,以所述交織地址和解交織地址對所述軟信息進行交織和解交織具體為:配置所計算的交織地址和所處理的解交織地址的查找表,且按照所述查找表對所述軟信息進行交織和解交織。
[0023]在上述Turbo碼譯碼方法中,接收數據包的輸入進一步包括:緩存輸入的數據包;以及,以模擬電路計算所述數據包的軟信息并進行循環迭代以產生譯碼結果具體為:以模擬電路計算所述緩存的數據包的軟信息并進行循環迭代,以產生譯碼結果。
[0024]在上述Turbo碼譯碼方法中,緩存輸入的數據包具體為:以數字電路實現輸入的數據的緩存。
[0025]在上述Turbo碼譯碼方法中,以模擬電路計算所述數據包的軟信息并進行循環迭代以產生譯碼結果具體為:以多個并行的軟輸入軟輸出譯碼單元對輸入的多路數據進行并行處理,以產生多個軟信息。
[0026]在上述Turbo碼譯碼方法中,在對所述譯碼結果進行判決以產生判決結果數據進一步包括:接收由所述多路數據產生的多個軟信息的判決結果數據,并進行排序;以及,輸出所述判決結果數據具體為:輸出排序后的判決結果數據。[0027]在上述Turbo碼譯碼方法中,接收由所述多路數據產生的多個軟信息的判決結果數據并進行排序具體為:以數字電路實現所述多路數據產生的多個軟信息的判決結果數據的接收和排序。
[0028]通過根據本發明實施例的Turbo碼譯碼裝置和方法,可以結合數字電路和模擬電路兩者的優勢實現高速的Turbo碼譯碼,減小了譯碼時間,提高了數據吞吐量,從而改進了Turbo碼的譯碼性能。
【專利附圖】
【附圖說明】
[0029]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0030]圖1是示出純ASIC實現方式的Turbo碼譯碼裝置的示意性框圖;
[0031]圖2是根據本發明實施例的Turbo碼譯碼裝置的示意性框圖;
[0032]圖3是軟輸入軟輸出譯碼模塊以及交織器和解交織器的迭代示意圖;
[0033]圖4是根據本發明實施例的Turbo碼譯碼裝置的具體實現方案的示意圖;和
[0034]圖5是根據本發明實施例的Turbo碼譯碼方法的示意性流程圖。
【具體實施方式】
[0035]下面,將結合附圖詳細描述根據本發明實施例的Turbo碼譯碼裝置和方法。
[0036]根據本發明實施例的一個方面,提供了一種Turbo碼譯碼裝置,包括:數據輸入模塊,用于接收數據包的輸入;交織地址計算模塊,以數字電路實現,用于計算交織地址和處理解交織地址;軟輸入軟輸出譯碼模塊,以模擬電路實現,用于計算所述數據包的軟信息,并進行循環迭代以產生譯碼結果;交織器和解交織器,用于依據從所述交織地址計算模塊輸出的所述交織地址和解交織地址對從所述軟輸入軟輸出譯碼模塊輸出的軟信息進行交織和解交織,以與所述軟輸入軟輸出譯碼模塊輸出的軟信息進行循環迭代;判決模塊,用于對所述交織器和解交織器產生的譯碼結果進行判決以產生判決結果數據;以及,數據輸出模塊,用于輸出所述判決模塊的判決結果數據。
[0037]圖2是根據本發明實施例的Turbo碼譯碼裝置的示意性框圖。如圖2所示,Turbo碼譯碼裝置100包括:數據輸入模塊101,用于接收數據包的輸入;交織地址計算模塊102,以數字電路實現,用于計算交織地址和處理解交織地址;軟輸入軟輸出譯碼模塊103,以模擬電路實現,用于計算所述數據包的軟信息,并進行循環迭代以產生譯碼結果;交織器和解交織器104,用于依據從所述交織地址計算模塊輸出的所述交織地址和解交織地址對從所述軟輸入軟輸出譯碼模塊輸出的軟信息進行交織和解交織,以與所述軟輸入軟輸出譯碼模塊輸出的軟信息進行循環迭代;判決模塊105,用于對所述交織器和解交織器產生的譯碼結果進行判決以產生判決結果數據;以及,數據輸出模塊106,用于輸出所述判決模塊的判決結果數據。
[0038]在上述根據本發明實施例的Turbo碼譯碼裝置中,數字電路的示例是數字信號處理器DSP,并且模擬電路的示例是特定用途集成電路ASIC、場可編程門陣列FPGA和片上系統SOC。以下,將以數字信號處理器DSP和特定用途集成電路ASIC作為數字電路和模擬電路的示例進行描述,當然,本領域技術人員可以理解,數字電路和模擬電路也可以采用其它數字形式和模擬形式的電路。
[0039]由于數字電路,諸如數字信號處理器DSP具有計算速度快的特點,且模擬電路,例如特定用途集成電路ASCI具有數據吞吐量大的特點,通過分別由DSP和ASCI實現交織地址計算模塊和軟輸入軟輸出譯碼模塊,可以分別利用DSP和ASCI的優點,提高譯碼速度,增強了整體性能,并且,通過減小了硬件資源的占用,從而降低了資源消耗,減小了整體成本。
[0040]在上述Turbo碼譯碼裝置中,所述軟輸入軟輸出譯碼模塊以及所述交織器和解交織器對所述數據包進行多次迭代計算以產生所述譯碼結果。
[0041]在根據本發明實施例的Turbo碼譯碼裝置中,軟輸入軟輸出譯碼模塊SISO是核心模塊,并且,在Turbo碼譯碼裝置中,通常采用迭代譯碼方式,將軟信息在SISO之間傳遞更新。圖3是軟輸入軟輸出譯碼模塊以及交織器和解交織器的迭代示意圖,如圖3所示,該Turbo碼譯碼裝置是由兩個分量碼構成的Turbo譯碼器,其由分別與分量碼對應的兩個子譯碼單元以及交織器和解交織器組成,其中,將子譯碼單元I通過計算輸出的軟輸出信息進行交織,以作為另一子譯碼單元2的輸入,并將子譯碼單元2通過計算輸出的軟輸出信息進行解交織,以作為子譯碼單元I的輸入,這樣的一個操作循環就是一次迭代,通常為了獲得更好的譯碼性能,可進行多次迭代。
[0042]在根據本發明實施例的Turbo碼譯碼裝置中,基于運行結果的準確性和運行速度和運行成本方面的考慮,通常將軟輸入軟輸出譯碼模塊以及交織器和解交織器的循環迭代的次數設置為6到10次。
[0043]在上述Turbo碼譯碼裝置中,進一步包括:數據緩存模塊,用于緩存由數據輸入模塊輸入的數據包,并將緩存的數據包發送給軟輸入軟輸出譯碼模塊。
[0044]通常,對于根據本發明實施例的Turbo譯碼裝置,由于以DSP實現交織地址和解交織地址的計算,并以ASIC實現軟信息的計算,可以實現Turbo碼裝置的高速譯碼,從而基本上可以實時地處理數據。但是,對于某些應用場景,仍可能需要將接收的數據包首先緩存,在將緩存的數據包提供給SISO以進行軟信息的計算。
[0045]在上述Turbo碼譯碼裝置中,所述數據緩存模塊以數字信號處理器實現。這里,通過以DSP實現數據緩存模塊,除了對接收的數據包進行緩存之外,還可以對其進行多種其它處理,例如,將數據包中的數據按照正序或者逆序排列等。例如,對于軟輸入軟輸出譯碼模塊來說,需要計算狀態度量值Alpha和Beta,其中,狀態度量值Alpha的計算需要正向數據,而狀態度量值Beta的計算則需要逆向數據。
[0046]在上述Turbo碼譯碼裝置中,所述交織器和解交織器具體為所述交織地址計算模塊的交織地址和解交織地址的查找表,且所述多個軟輸入軟輸出譯碼單元輸出的軟信息按照所述查找表進行交織和解交織,以產生譯碼結果。
[0047]如上面關于圖3所述的,在現有的Turbo碼譯碼裝置中,從子譯碼單元I通過計算輸出的軟信息由交織器進行交織以作為另一子譯碼單元2的輸入,具體地說,通過特定的交織公式計算出交織地址,在將從子譯碼單元I輸出的順序的軟信息按照該交織地址在緩存器中進行交織存儲,這樣,從緩存器中輸出的就是交織后的軟信息,并輸入到子譯碼單元
2。同樣,子譯碼單元2輸出的軟信息按照與上述交織公式計算出的交織地址對應的解交織地址在緩存器中進行解交織存儲,這樣,從緩存器中輸出的就是解交織之后的順序軟信息,從而輸入到子譯碼單元I。并且,在現有的Turbo碼譯碼裝置中,通過硬件邏輯進行交織地址的計算和解交織地址的處理,并按照交織地址和解交織地址存儲在緩存器中。
[0048]在根據本發明實施例的Turbo碼譯碼裝置中,以DSP實現交織地址的計算和解交織地址的處理,由于DSP具有快速數據處理的優勢,可以避免以硬件邏輯電路完成乘法、平方、取模等運算,可以快速地獲得交織地址和解交織地址。因此,通過DSP將交織器和解交織器配置為由DSP計算好的交織地址和解交織地址的查找表LUT,從而按照查找表LUT中對應地址將多個SISO譯碼單元輸出的軟信息存儲到緩存器RAM中,就可以獲得交織存儲數據和解交織存儲數據,以實現軟信息的交織和解交織。
[0049]這樣,在經過了多次迭代之后,最后一次從SISO譯碼模塊輸出的軟信息作為譯碼結果輸出。
[0050]在上述Turbo碼譯碼裝置中,所述軟輸入軟輸出譯碼模塊具體為多個并行的軟輸入軟輸出譯碼單元,用于并行處理輸入的多路數據并產生多個軟信息。
[0051]為了減少SISO的譯碼時間,在根據本發明實施例的Turbo碼譯碼裝置中,可以采用并行的多個Siso譯碼單元來從多路數據輸入產生軟信息輸出。這里,并行的多個SISO譯碼單元中的每個具有如圖3所示的迭代結構,即包括兩個單獨的SISO子譯碼單元以及交織器和解交織器。在根據本發明實施例的Turbo碼譯碼裝置中,綜合考慮譯碼的速度和硬件的成本以及占用的面積等因素,優選地將SISO譯碼單元的數目設置為8個。
[0052]并且,如上所述,當采用LUT表實現交織器和解交織器時,對于多個SISO譯碼單元,并不需要對于每個Siso譯碼單元都配置一對交織器和解交織器,而是可以由該多個SISO譯碼單元共用一對交織地址和解交織地址的查找表。因為在交織地址計算模塊計算交織地址和處理解交織地址時,會將接收到的多路數據的計算得出的交織地址和解交織地址形成為查找表,由每個Siso譯碼單元產生的軟信息可以根據各自的輸入數據的交織地址和解交織地址進行交織和解交織,從而產生譯碼結果。
[0053]在上述Turbo碼譯碼裝置中,進一步包括:排序模塊,用于接收多路數據的判決結果,并進行排序以由所述數據輸出模塊輸出排序后的判決結果數據。
[0054]在采用多個并行的SISO譯碼單元以并行地計算多路輸入數據的軟信息的情況下,所產生的軟信息在經過判決模塊的判決之后,所產生的判決結果數據是亂序的,因此,需要進一步提供排序模塊以對多路數據的判決結果進行排序,從而由數據輸出模塊輸出排序后的判決結果數據。
[0055]在上述Turbo碼譯碼裝置中,所述排序模塊以數字信號處理器實現。這里,同樣是由于DSP的快速數據處理的優勢,在譯碼結果輸出階段完成輸出結果的排序,從而節省硬件資源并減少結果數據的產生時間。
[0056]綜上所述,本發明實施例提供的Turbo碼譯碼裝置采用模擬電路來實現譯碼的主體部分,即SISO譯碼和交織,而由數字電路實現數據的緩存、交織地址的計算以及譯碼結果的輸出排序。相對于純模擬電路實現方式,通過將不適于模擬電路設計的交織地址計算、排序等交由數字電路完成,減小了硬件資源的占用,同時節省了初始化和譯碼結果輸出時間,提高了整體性能。同時,相對于純數字電路的實現方式,通過采用模擬電路的Siso譯碼的結構,提高了譯碼的數據吞吐量,同時降低了整體的功耗。[0057]在本發明示實施例的Turbo碼譯碼裝置中,DSP實現部分和ASIC實現部分通過16位總線進行數據交換,保證了高吞吐量的數據處理和快速運算,當然,這里本領域技術人員可以理解,當采用多個SISO譯碼單元的并行結構時,可以相應地擴充總線寬度,例如,如果如上所述地采用8個并行的SISO譯碼單元,優選地通過128位總線進行數據交換。
[0058]這樣,通過將諸如ASIC/FPGA的模擬電路與諸如DSP的數字電路相結合,還可以使Turbo碼譯碼裝置的設計更加靈活,并且易于擴展,從而更好地適應未來高速通信系統中高吞吐量的需求。
[0059]圖4是根據本發明實施例的Turbo碼譯碼裝置的具體實現方案的示意圖。如圖4所示,單元①是DSP處理器,用于實現數據緩存、交織地址計算、解交織地址處理、數據排序四個模塊;單元②是ASIC/FPGA實現的并行Turbo碼譯碼部分,完成并行SISP子譯碼器的譯碼、軟信息的交織/解交織和硬判決。
[0060]如圖4所示,單元①在初始化階段完成交織地址的計算和解交織地址的處理,在譯碼迭代階段完成數據的緩存,在譯碼結果輸出階段完成輸出結果的排序,發揮了 DSP的快速數據處理的優勢,避免用硬件邏輯完成乘法、平方、取模運算,節省了硬件資源,減少了初始化的時間。單元②在初始化階段配置交織地址/解交織地址的LUT表,在譯碼迭代階段,8個SISO子譯碼器采用如圖5所示的結構,并行處理8路數據并輸出8個軟信息,這8個軟信息按照各自的交織地址/解交織地址的LUT表同時存入對應的RAM中。通常,LTE的數據包的長度為40-6144,在圖4的Turbo碼譯碼裝置中,交織地址用13位表示,前3位表示RAM的片選,即0-7 —共8個RAM,而后10位表示RAM的偏移,表示范圍為0-767,在譯碼結果輸出階段同時對8個軟信息進行硬判決。此外,采用128位的總線來完成ASIC/FPGA和DSP處理器之間的數據交換,在譯碼初始化階段,單元①向單元②發送計算完的交織地址和解交織地址,且在譯碼迭代階段,單元①向單元②發送待譯碼的數據,單元②對輸入的數據進行迭代譯碼,在譯碼結果輸出階段,單元②向單元①發送譯碼輸出結果。在圖4所示的Turbo碼譯碼裝置的配置中,采用ASIC+DSP的方式實現了高速并行Turbo碼譯碼器,充分發揮了 DSP和ASIC各自的優勢,減少了譯碼時間,提高了數據吞吐量,提高了性能,也可根據需要進行擴展,適應未來高速通信系統中的高數據吞吐量的需求。
[0061]根據本發明實施例的另一方面,提供了一種Turbo碼譯碼方法,包括:接收數據包的輸入;以數字電路計算交織地址和處理解交織地址;以模擬電路計算所述數據包的軟信息并進行循環迭代,以產生譯碼結果;以所述交織地址和解交織地址對所述軟信息進行交織和解交織,以與所述軟信息進行循環迭代;對所述譯碼結果進行判決以產生判決結果數據;以及,輸出所述判決結果數據。
[0062]圖5是示出根據本發明實施例的Turbo碼譯碼方法的示意性流程圖。如圖5所示,根據本發明實施例的Turbo碼譯碼方法包括:S1,接收數據包的輸入;S2,以數字電路計算交織地址和處理解交織地址;S3,以模擬電路計算所述數據包的軟信息并進行循環迭代,以產生譯碼結果;S4,以所述交織地址和解交織地址對所述軟信息進行交織和解交織,以與所述軟信息進行循環迭代;S5,對所述譯碼結果進行判決以產生判決結果數據;以及,S6,輸出所述判決結果數據。
[0063]在上述Turbo碼譯碼方法中,所述循環迭代的次數是6到10次。
[0064]在上述Turbo碼譯碼方法中,以所述交織地址和解交織地址對所述軟信息進行交織和解交織具體為:配置所計算的交織地址和所處理的解交織地址的查找表,且按照所述查找表對所述軟信息進行交織和解交織。
[0065]在上述Turbo碼譯碼方法中,接收數據包的輸入進一步包括:緩存輸入的數據包;以及,以模擬電路計算所述數據包的軟信息并進行循環迭代以產生譯碼結果具體為:以模擬電路計算所述緩存的數據包的軟信息并進行循環迭代,以產生譯碼結果。
[0066]在上述Turbo碼譯碼方法中,緩存輸入的數據包具體為:以數字電路實現輸入的數據的緩存。
[0067]在上述Turbo碼譯碼方法中,以模擬電路計算所述數據包的軟信息并進行循環迭代以產生譯碼結果具體為:以多個并行的軟輸入軟輸出譯碼單元對輸入的多路數據進行并行處理,以產生多個軟信息。
[0068]在上述Turbo碼譯碼方法中,在對所述譯碼結果進行判決以產生判決結果數據進一步包括:接收由所述多路數據產生的多個軟信息的判決結果數據,并進行排序;以及,輸出所述判決結果數據具體為:輸出排序后的判決結果數據。
[0069]在上述Turbo碼譯碼方法中,接收由所述多路數據產生的多個軟信息的判決結果數據并進行排序具體為:以數字電路實現所述多路數據產生的多個軟信息的判決結果數據的接收和排序。
[0070]另外,根據本發明實施例的Turbo碼譯碼方法的其它細節與之前描述的Turbo譯碼裝置的相應部分相同,為了避免冗余便不再贅述。
[0071]通過根據本發明實施例的Turbo碼譯碼裝置和方法,可以結合數字電路和模擬電路兩者的優勢實現高速的Turbo碼譯碼,減小了譯碼時間,提高了數據吞吐量,從而改進了Turbo碼的譯碼性能。
[0072]本發明已經參考具體實施例進行了詳細說明。然而,很明顯,在不背離本發明的精神的情況下,本領域技術人員能夠對實施例執行更改和替換。換句話說,本發明用說明的形式公開,而不是被限制地解釋。要判斷本發明的要旨,應該考慮所附的權利要求。
【權利要求】
1.一種Turbo碼譯碼裝置,包括: 數據輸入模塊,用于接收數據包的輸入; 交織地址計算模塊,以數字電路實現,用于計算交織地址和處理解交織地址; 軟輸入軟輸出譯碼模塊,以模擬電路實現,用于計算所述數據包的軟信息,并進行循環迭代以產生譯碼結果; 交織器和解交織器,用于依據從所述交織地址計算模塊輸出的所述交織地址和解交織地址對從所述軟輸入軟輸出譯碼模塊輸出的軟信息進行交織和解交織,以與所述軟輸入軟輸出譯碼模塊輸出的軟信息進行循環迭代; 判決模塊,用于對所述交織器和解交織器產生的譯碼結果進行判決以產生判決結果數據;以及 數據輸出模塊,用于輸出所述判決模塊的判決結果數據。
2.如權利要求1所述的Turbo碼譯碼裝置,其中,所述軟輸入軟輸出譯碼模塊以及所述交織器和解交織器對所述數據包進行的循環迭代的次數是6到10次。
3.如權利要求1所述的Turbo碼譯碼裝置,其中,所述交織器和解交織器具體是所述交織地址計算模塊所計算的交織地址和所處理的解交織地址的查找表,且所述軟輸入軟輸出譯碼模塊輸出的軟信息按照所述查找表進行交織和解交織。
4.如權利要求1所述的Turbo碼譯碼裝置,進一步包括: 數據緩存模塊,用于緩存由數據輸入模塊輸入的數據包,并將緩存的數據包發送給軟輸入軟輸出譯碼模塊。
5.如權利要求4所述的Turbo碼譯碼裝置,其中,所述數據緩存模塊以數字電路實現。
6.如權利要求1所述的Turbo碼譯碼裝置,其中,所述軟輸入軟輸出譯碼模塊具體為多個并行的軟輸入軟輸出譯碼單元,用于并行處理輸入的多路數據并產生多個軟信息。
7.如權利要求6所述的Turbo碼譯碼裝置,進一步包括: 排序模塊,用于接收由所述多路數據產生的多個軟信息的判決結果數據,并進行排序以由所述數據輸出模塊輸出排序后的判決結果數據。
8.如權利要求7所述的Turbo碼譯碼裝置,其中,所述排序模塊以數字電路實現。
9.一種Turbo碼譯碼方法,包括: 接收數據包的輸入; 以數字電路計算交織地址和處理解交織地址; 以模擬電路計算所述數據包的軟信息并進行循環迭代,以產生譯碼結果; 以所述交織地址和解交織地址對所述軟信息進行交織和解交織,以與所述軟信息進行循環迭代; 對所述譯碼結果進行判決以產生判決結果數據;以及 輸出所述判決結果數據。
10.如權利要求9所述的Turbo碼譯碼方法,其中,所述循環迭代的次數是6到10次。
11.如權利要求9所述的Turbo碼譯碼方法,其中,以所述交織地址和解交織地址對所述軟信息進行交織和解交織具體為: 配置所計算的交織地址和所處理的解交織地址的查找表,且按照所述查找表對所述軟信息進行交織和解交織。
12.如權利要求9所述的Turbo碼譯碼方法,接收數據包的輸入進一步包括: 緩存輸入的數據包;以及 以模擬電路計算所述數據包的軟信息并進行循環迭代以產生譯碼結果具體為: 以模擬電路計算所述緩存的數據包的軟信息并進行循環迭代,以產生譯碼結果。
13.如權利要求12所述的Turbo碼譯碼方法,其中,緩存輸入的數據包具體為: 以數字電路實現輸入的數據的緩存。
14.如權利要求9所述的Turbo碼譯碼方法,其中,以模擬電路計算所述數據包的軟信息并進行循環迭代以產生譯碼結果具體為: 以多個并行的軟輸入軟輸出譯碼單元對輸入的多路數據進行并行處理,以產生多個軟信息。
15.如權利要求14所述的Turbo碼譯碼方法,在對所述譯碼結果進行判決以產生判決結果數據進一步包括: 接收由所述多路數據產生的多個軟信息的判決結果數據,并進行排序;以及 輸出所述判決結果數據具體為: 輸出排序后的判決結果數據。
16.如權利要求15所述的Turbo碼譯碼方法,其中,接收由所述多路數據產生的多個軟信息的判決結果數據 并進行排序具體為: 以數字電路實現所述多路數據產生的多個軟信息的判決結果數據的接收和排序。
【文檔編號】H03M13/27GK103905066SQ201210572590
【公開日】2014年7月2日 申請日期:2012年12月25日 優先權日:2012年12月25日
【發明者】嚴小平, 李蒙 申請人:聯想(北京)有限公司