欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種用可編程門陣列實(shí)現(xiàn)的第三代移動(dòng)通信標(biāo)準(zhǔn)協(xié)議中的Turbo碼內(nèi)交織器的制作方法

文檔序號(hào):7901952閱讀:223來源:國知局
專利名稱:一種用可編程門陣列實(shí)現(xiàn)的第三代移動(dòng)通信標(biāo)準(zhǔn)協(xié)議中的Turbo碼內(nèi)交織器的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于移動(dòng)通信領(lǐng)域,尤其涉及一種用FPGA實(shí)現(xiàn)的3GPP Turbo碼內(nèi)交織器。
背景技術(shù)
在3GPP中,共用到了兩種編碼方式,分別為卷積碼,Turbo編碼。正是因?yàn)門urbo碼具有良好的編碼性能,所以才被用作3GPP高速業(yè)務(wù)的首選編碼方案。而Turbo碼的良好性能在很大程度上源于其采用了一個(gè)具有很大交織深度的交織器,使得編出的碼字具有近似長碼的優(yōu)越性能。
現(xiàn)有交織器的實(shí)現(xiàn)有兩種方式一是采用高級(jí)軟件計(jì)算出交織地址,這種方法的缺陷在于無法完成硬件上的實(shí)時(shí)處理;二是采用一般的FPGA設(shè)計(jì)方法。后種方法的流程見圖1。
下面結(jié)合圖1對(duì)本發(fā)明最相關(guān)的現(xiàn)有技術(shù)進(jìn)行較詳細(xì)說明。步驟101開始進(jìn)入FPGA的設(shè)計(jì)過程,步驟102進(jìn)行交織參數(shù)以及矩陣的計(jì)算,該單元首先確定矩陣的行和列,然后將輸入的比特序列x1,x2,x3,...,xk寫入方形矩陣中(1)確定方形矩陣的行數(shù)R (2)確定行內(nèi)置換所需的質(zhì)數(shù)p,原根v以及方形矩陣的列數(shù)Cif(481≤K≤530)thenp=53 and C=p.
else從表1中找到最小質(zhì)數(shù)p,使得K≤R×(p+1),并確定C,使得
end if計(jì)算出質(zhì)數(shù)p后就可以根據(jù)表1查出對(duì)應(yīng)的原根v。
(3)逐行將比特序列x1,x2,x3,...,xk寫入R×C的方形矩陣中y1y2y3...yCy(C+1)y(C+2)y(C+3)...y2C...............y((R-1)C+1)y((R-1)C+2)y((R-1)C+3)...yR×C.]]>其中yk=xkfor k=1,2,...,K并且如果R×C>K,則用虛擬比特填充。這些虛擬比特在執(zhí)行完行內(nèi)和行間置換之后,需要從方形矩陣輸出中刪減掉。
步驟103進(jìn)入行內(nèi)行間置換過程,包括s、q、r序列計(jì)算以及行內(nèi)、行間置換等若干過程。
(1)s序列計(jì)算按如下方法構(gòu)造用于行內(nèi)置換的基序列⟨s(j)⟩j∈{0,1,···,p-2}]]>s(j)=(v×s(j-1))mod p,j=1,2,...(p-2),且s(0)=1此處采用乘法器完成乘法運(yùn)算,利用除法器完成求模運(yùn)算。
(2)q序列計(jì)算指定q0=1為序列 中的第一個(gè)質(zhì)整數(shù),序列 其他質(zhì)整數(shù)確定方法為對(duì)于每個(gè)i=1,2,...,R-1,qi是滿足g.c.d(qi,p-1)=1,qi>6,且qi>q(i-1)的最小質(zhì)整數(shù)。這里g.c.d.代表最大公約數(shù)。采用一般的比較查找的方法實(shí)現(xiàn)求最大公約數(shù)。
(3)r序列計(jì)算置換序列 得到序列 使得rT(i)=qi,i=0,1,....,r-1
其中 是行間置換模式,定義為表2所示的4種模式中的一種,具體模式選擇依賴于輸入比特?cái)?shù)K。
(4)行內(nèi)置換執(zhí)行第i行的行內(nèi)置換if(C=p)thenUi(j)=s((j×ri)mod(p-1)),j=0,1,...,(p-2),and Ui(p-1)=0,其中Ui(j)是第i行的第j個(gè)需要置換的比特的原始位置。
end ifif(C=p+1)thenUi(j)=s((j×ri)mod(p-1)),j=0,1,...,(p-2).Ui(p-1)=0,andUi(p)=p,其中Ui(j)是第i行的第j個(gè)需要置換的比特的原始位置,且if(K=R×C)then交換Ur-1(p)和Ur-1(0).
end ifend ifif(C=p-1)thenUi(j)=s((j×ri)mod(p-1))-1,j=0,1,...,(p-2),其中Ui(j)是第i行的第j個(gè)需要置換的比特的原始位置。
end if(5)按照模式 執(zhí)行方形矩陣的行間置換,其中T(i)是第i個(gè)置換行的原始行位置。
步驟104,輸出有刪減的方形矩陣比特。
完成行內(nèi)和行間置換執(zhí)行后,置換后的方形矩陣各比特以y′k表示y′1y′(R+1)y′(2R+1)...y′((C-1)R+1)y′2y′(R+2)y′(2R+2)...y′((C-1)R+2)...............y′Ry′2Ry′3R...y′C×R]]>
Turbo碼內(nèi)交織器的輸出是從R×C方形矩陣中按照一列一列的順序依次讀出的比特序列,該矩陣已經(jīng)過行內(nèi)和行間置換,比特序列開始于0行0列的y′1終止于R-1行C-1列的y′Cr。刪減操作是刪減在行內(nèi)和行間置換前填補(bǔ)到矩陣輸入中的所有虛擬比特,即對(duì)應(yīng)于yk,k>K的比特y′k需要從輸出中刪減掉。Turbo碼內(nèi)交織器的輸出比特記為x′1,x′2,...,x′K,其中x′1對(duì)應(yīng)刪減后指針k最小的比特y′k,x′2對(duì)應(yīng)刪減后指針k第二小的比特y′k,以此類推。Turbo碼內(nèi)交織器的輸出比特?cái)?shù)為K,刪減的比特總數(shù)為R×C-K。
步驟105,結(jié)束整個(gè)內(nèi)交織過程。
從上述處理的流程中,可以看出該方法主要由幾部分組成交織參數(shù)的計(jì)算單元、q序列的計(jì)算單元、s序列的計(jì)算單元、r序列的計(jì)算單元、行內(nèi)行間的置換單元和刪減輸出單元。在實(shí)現(xiàn)上會(huì)有以下缺陷(1)其中兩個(gè)單元用到求模電路,一是s序列計(jì)算單元,一個(gè)行內(nèi)置換單元,通常的求模運(yùn)算均需通過除法電路來實(shí)現(xiàn),將占用大量資源;(2)其中三個(gè)單元用到乘法電路,交織參數(shù)計(jì)算單元、s序列計(jì)算單元和行內(nèi)交織單元,按照常規(guī)處理方法,這三個(gè)單元需要用到三個(gè)乘法器;(3)q序列計(jì)算單元中用到求最大公約數(shù)的運(yùn)算,無論是常規(guī)方法還是其變通方法,直接進(jìn)行此運(yùn)算均要占用大量的資源。此外在行內(nèi)、行間置換的過程中需要計(jì)算r序列,這必然會(huì)加大計(jì)算延遲和存儲(chǔ)量。

發(fā)明內(nèi)容
為了解決上述問題,本發(fā)明仍然采用FPGA的設(shè)計(jì)方法,但在各個(gè)單元的計(jì)算上進(jìn)行了處理,尤其是用減法電路來實(shí)現(xiàn)s序列、q序列和行內(nèi)置換中的求模運(yùn)算,而且還采用查表來求q序列計(jì)算中的最大公約數(shù),從而大大減少了資源消耗。
本發(fā)明采用的技術(shù)方案如下,一種用FPGA實(shí)現(xiàn)的3GPP Turbo碼內(nèi)交織器,其特征在于,所述交織器包括交織參數(shù)計(jì)算單元,根據(jù)輸入的交織數(shù)據(jù)塊長,計(jì)算方形矩陣行數(shù)和列數(shù)R和C,查表計(jì)算質(zhì)數(shù)p,原根v,刪除值g等參數(shù),所述刪除值g用于s序列計(jì)算單元中的查表;
s序列計(jì)算單元,包括第一乘法單元,對(duì)交織參數(shù)計(jì)算單元得出的原根v和第一求模單元輸出的行內(nèi)置換基序列進(jìn)行乘法運(yùn)算;第一求模單元,完成對(duì)質(zhì)數(shù)p的求模運(yùn)算,判斷乘法結(jié)果是否小于質(zhì)數(shù)p,如果小于質(zhì)數(shù)p直接輸出結(jié)果,否則累減質(zhì)數(shù)p值,直至得到最后的求模結(jié)果;計(jì)數(shù)控制單元,根據(jù)交織參數(shù)計(jì)算單元輸出的原根v,控制第一求模單元的累減次數(shù)和存儲(chǔ)單元的地址計(jì)數(shù)值;第一存儲(chǔ)單元,對(duì)所述計(jì)數(shù)控制單元的地址計(jì)數(shù)值和第一求模單元的求模結(jié)果進(jìn)行存儲(chǔ);q序列計(jì)算單元,包括第一查表單元,將逐位查出的質(zhì)數(shù)p和刪除值g相比較,如果相同,則刪除該質(zhì)數(shù),否則送入第二求模單元,并繼續(xù)查找,直到找滿R個(gè)數(shù)據(jù);第二求模單元,完成對(duì)q序列對(duì)p-1求模運(yùn)算,判斷查出的質(zhì)數(shù)是否小于質(zhì)數(shù)p-1,如果小于質(zhì)數(shù)p-1直接輸出結(jié)果,否則累減質(zhì)數(shù)p-1值,得出求模結(jié)果;第二存儲(chǔ)單元,用于存放第二求模單元輸出的求模結(jié)果;置換及刪減單元,包括行列計(jì)數(shù)控制單元,實(shí)現(xiàn)對(duì)矩陣行和列的計(jì)數(shù),根據(jù)矩陣行的計(jì)數(shù)查表得出需處理的行順序和質(zhì)數(shù);第三求模單元,完成置換位置值計(jì)算中對(duì)p-1的求模運(yùn)算,將查表得到的值與上一次該行得出的求模結(jié)果的和對(duì)p-1進(jìn)行比較,當(dāng)該和大于p-1時(shí),就減去p-1后輸出求模值,否則直接輸出。
第二查表單元,查表確定置換后的質(zhì)數(shù),行置換位置以及s值;第二乘法單元,完成經(jīng)過T(i)查表得出的行對(duì)應(yīng)值和矩陣列的相乘;交織地址存儲(chǔ)單元,根據(jù)交織地址和存儲(chǔ)地址值,確定交織地址。


下面,參照附圖,對(duì)于熟悉本技術(shù)領(lǐng)域的人員而言,從對(duì)本發(fā)明方法的詳細(xì)描述中,本發(fā)明的上述和其他目的、特征和優(yōu)點(diǎn)將顯而易見。
圖1是現(xiàn)有技術(shù)中用FPGA設(shè)計(jì)交織器的流程圖;圖2是本發(fā)明交織器實(shí)現(xiàn)的總體結(jié)構(gòu)框圖;圖3是s序列計(jì)算電路的單元圖;圖4是q序列計(jì)算電路的單元圖;圖5是行內(nèi)、行間置換及存儲(chǔ)電路的單元圖。
具體實(shí)施例方式
本發(fā)明交織器的總體結(jié)構(gòu)框圖見圖2。首先通過一個(gè)交織參數(shù)計(jì)算單元21求出本發(fā)明交織器計(jì)算所需具體參數(shù),然后將各參數(shù)送給s、q序列的計(jì)算單元22、23進(jìn)行序列的生成計(jì)算,然后在置換及刪減單元24內(nèi)進(jìn)行行內(nèi)、行間的置換,生成交織地址和存儲(chǔ)地址,進(jìn)行刪減輸出,最后存入交織地址存儲(chǔ)單元25。下面結(jié)合圖2對(duì)各部分進(jìn)行詳細(xì)的說明。
1、交織參數(shù)計(jì)算單元21主要實(shí)現(xiàn)方形矩陣行數(shù)R,方形矩陣列數(shù)C,質(zhì)數(shù)p,原根v,刪除值g等參數(shù)的計(jì)算。
輸入該單元的參數(shù)為交織數(shù)據(jù)塊長K,輸出包括方形矩陣行數(shù)R,方形矩陣列數(shù)C,質(zhì)數(shù)p,原根v,刪除值g。其中方形矩陣數(shù)行數(shù)R,方形矩陣列數(shù)C,質(zhì)數(shù)p,原根v的計(jì)算方法與圖1中基本一致,只是增加一刪除值參數(shù)g用于q序列計(jì)算單元23的查表,刪除值g與原根v的計(jì)算方法相同,質(zhì)數(shù)p計(jì)算出來以后查表1即得出。

表1
2、s序列計(jì)算單元22s序列的長度是p-1,其中s(0)=1,需要實(shí)現(xiàn)的計(jì)算如下s(j)=(v×s(j-1))modp,j=1,2,3......(p-2)......(1)其中p為質(zhì)數(shù),s(j)表示行內(nèi)置換基序列,v為原根,j為方形矩陣列編號(hào)指針。
從(1)式中可以看出,s序列計(jì)算的難度在于求模運(yùn)算,其中的乘法運(yùn)算v×(j-1)可以用乘法器來實(shí)現(xiàn)。表1列舉出了該公式中質(zhì)數(shù)p、原根v、刪除值g的關(guān)系。
從表1可以看出原根v的最大取值為19,最小取值為2,所以考慮采用連續(xù)的減運(yùn)算來實(shí)現(xiàn)這一功能。
s序列計(jì)算單元22包括乘法單元31,計(jì)數(shù)控制單元32,累減求模單元33和存儲(chǔ)單元34,請(qǐng)參見圖3。
乘法單元31一輸入為原根v,另一輸入與累減求模單元33的輸出相連,實(shí)現(xiàn)上述的v×s(j-1)運(yùn)算,該乘法結(jié)果輸出給累減求模單元33進(jìn)行對(duì)質(zhì)數(shù)p的求模處理。
計(jì)數(shù)控制單元32的輸入也是原根v,主要完成減法次數(shù)的控制以及存儲(chǔ)單元34的地址發(fā)生。具體來說,首先由計(jì)數(shù)器控制減法的次數(shù),因?yàn)槔蹨p求模的累減次數(shù)不可能超過原根v,因此每當(dāng)計(jì)數(shù)至原根v,累減求模單元33計(jì)算出一個(gè)s值,此時(shí)地址計(jì)數(shù)增加一個(gè),并將該值按照地址計(jì)數(shù)值存入存儲(chǔ)單元34中。
累減求模單元33包括減法單元35和判決單元36兩部分,其中(a)減法單元35的輸入包括乘法單元31的相乘結(jié)果和判決單元36的輸出信號(hào),主要完成減法處理,將乘法單元31的輸出進(jìn)行減p的累減運(yùn)算。具體來說,首先根據(jù)判斷單元36的輸出信號(hào)判斷乘法單元31的結(jié)果是否小于質(zhì)數(shù)p,如果小于p則直接輸出結(jié)果,否則進(jìn)行減p處理。其中第一次判斷的參數(shù)為乘法單元31的輸出值,以后采用計(jì)算的結(jié)果值,不斷累減,直至最終值小于p,此時(shí)的值就是求模結(jié)果,進(jìn)行輸出保存。
(b)判決單元36的輸入?yún)?shù)為減法單元35的輸出結(jié)果,該單元判斷減法單元35的輸出結(jié)果是否小于質(zhì)數(shù)p,如果小于p,則判決信號(hào)為高電平,否則為低電平。
存儲(chǔ)單元34的輸入包括求模結(jié)果s序列值和存儲(chǔ)地址值,這里采用一塊256×8的存儲(chǔ)器來實(shí)現(xiàn)。
下面分析該單元計(jì)算所需要的時(shí)間。因?yàn)樵O(shè)計(jì)中的一次減法運(yùn)算需要一個(gè)時(shí)鐘周期來完成,所以實(shí)現(xiàn)求模運(yùn)算所需要時(shí)鐘周期的數(shù)目和相減的次數(shù)相同,影響減法次數(shù)的主要因素有質(zhì)數(shù)p和原根v,每一個(gè)當(dāng)前的s序列值都是通過前一個(gè)s序列值和原根v相乘以后對(duì)質(zhì)數(shù)p求模而得來的,所以有v×Si-1<v×p......(2)因此減法次數(shù)為v次,所以最大次數(shù)為19次,最小次數(shù)為2次,在交織電路的計(jì)算過程中,采用這種計(jì)算方法所需要的計(jì)算周期為v×(p-2) ......(3)因?yàn)関×(p-2)≤K ......(4)其中K表示Turbo碼內(nèi)交織器輸入比特?cái)?shù)目,所以計(jì)算所需的總周期數(shù)不會(huì)超出塊長大小,這一點(diǎn)非常重要,這決定了交織的計(jì)算延遲是否能夠滿足譯碼器的定時(shí)要求。
3、q序列計(jì)算單元23q序列的生成過程是一個(gè)按順序?qū)ふ屹|(zhì)數(shù)的過程,根據(jù)要求g.c.d(qi,p-1)=1,qi>qi-1,qi>6,i=0,2.........R-1......(5)其中q為最小質(zhì)整數(shù),p為質(zhì)數(shù),q序列的數(shù)目是R個(gè),R為方形矩陣行數(shù)??梢钥吹奖?可用于查找,因?yàn)镽的最大值為20,因此查表所需的時(shí)鐘周期數(shù)最多為21個(gè),在查找的過程中需要解決的問題是如何保證q和p-1之間的最大公約數(shù)關(guān)系,采用一般的實(shí)現(xiàn)方法很難解決這個(gè)問題。我們發(fā)現(xiàn)對(duì)于每一個(gè)p-1值,它在表中存在和它可約質(zhì)數(shù)的數(shù)目一般為1個(gè),只有在p=239的情況下,存在兩個(gè)值7、17,這些針對(duì)于每一個(gè)p值的可約數(shù)稱為刪除值g,并將它們進(jìn)行列表,見表1中的刪除值g序列。
該單元的組成請(qǐng)參見圖4,包括查表單元40,累減求模單元41,存儲(chǔ)單元42。
查表單元40由三部分組成,計(jì)數(shù)單元43,質(zhì)數(shù)查表單元44和比較單元45。在計(jì)算q序列的過程中,可以將逐位查出的質(zhì)數(shù)p和刪除值g對(duì)比,如果和g值相同則去除此值,否則將此質(zhì)數(shù)送給累減求模單元,并繼續(xù)查找,直至最后找滿R個(gè)數(shù)據(jù)。采用這種查表方法最大可能的縮短了計(jì)算時(shí)間,降低了實(shí)現(xiàn)復(fù)雜度。
(a)計(jì)數(shù)單元43的輸入為質(zhì)數(shù)p和比較單元45的輸出信號(hào),其輸出的查表地址和q存儲(chǔ)地址分別送到質(zhì)數(shù)查表單元44和存儲(chǔ)單元42。q序列的數(shù)目是R個(gè),計(jì)數(shù)單元43根據(jù)比較單元45的輸出信號(hào)來判斷是否繼續(xù)下一個(gè)查表,當(dāng)所查質(zhì)數(shù)符合條件時(shí),進(jìn)行存儲(chǔ)地址計(jì)數(shù),否則將查表地址累加輸出,繼續(xù)向下查表,直至查到R個(gè)質(zhì)數(shù)。
(b)質(zhì)數(shù)查表單元44的輸入為查表地址,根據(jù)查表地址在表1中讀出質(zhì)數(shù)。
(c)比較單元45的輸入包括由質(zhì)數(shù)查表單元44查出的質(zhì)數(shù)和交織參數(shù)計(jì)算單元21輸出的刪除值g,當(dāng)質(zhì)數(shù)查表單元44查出的質(zhì)數(shù)等于刪除值g時(shí),表示此質(zhì)數(shù)無效,進(jìn)行下一個(gè)查找,輸出判決信號(hào)為高電平,否則輸出為低電平,表示該值有效。
查出的質(zhì)數(shù)送到累減求模單元41,輸出為對(duì)p-1的求模結(jié)果。該求模單元的工作方式與上面s序列計(jì)算中的累減求模單元33原理一樣,唯一的區(qū)別是,在該累減求模單元41中累減次數(shù)是固定的8次,而不是一個(gè)變量,其原理不再贅述。在后面的分析中可以發(fā)現(xiàn),在計(jì)算過程中只需要q對(duì)p-1的求模值,為了方便后面的計(jì)算,需要將查出的質(zhì)數(shù)對(duì)(p-1)求模,即qmod(p-1),該求模運(yùn)算采用累減的方法來實(shí)現(xiàn),統(tǒng)計(jì)發(fā)現(xiàn)所需要的最大減法次數(shù)是8次,因此所需要的最大計(jì)算周期為8r,不會(huì)超出K值的大小。
累減求模單元41輸出的求模結(jié)果和計(jì)算單元43的存儲(chǔ)地址值送到存儲(chǔ)單元42,當(dāng)其他模塊要求采用求模結(jié)果時(shí),進(jìn)行輸出。存儲(chǔ)單元42用于存儲(chǔ)計(jì)算出來的值,因?yàn)閞最大的值是20,而q mod(p-1)的最大值是255,因此可以用8比特來存儲(chǔ),所以存儲(chǔ)空間的大小是20×8比特。由于存儲(chǔ)空間需求不大,所以采用分布式RAM結(jié)構(gòu)來實(shí)現(xiàn)。
4、置換及刪減單元24和交織地址存儲(chǔ)單元25為了最大限度的減少硬件開銷,減少交織延遲,本實(shí)施例中把置換及刪減單元和交織地址存儲(chǔ)單元的操作并在一起進(jìn)行處理。
根據(jù)最終以列順序輸出的方式,找出每一個(gè)輸出的原始行位置,由于每一列的輸出過程中其行變化的順序都相同,所以處理的行順序是周期性變化的,表2給出行間置換模式的行順序。
在選定了行處理順序以后開始執(zhí)行行內(nèi)置換模式處理,在計(jì)算的過程中可以發(fā)現(xiàn)不需要r序列參與計(jì)算,這樣就可以省略掉r序列計(jì)算單元,只需要將q(經(jīng)過累減求模運(yùn)算)序列按順序讀出就可以,在將第i行的行內(nèi)置換模式Ui(j)中各值計(jì)算出來以后,我們判斷該值是否大于比特序列指針K,如果該值大于K則不作任何操作,否則就將順序計(jì)數(shù)出來的計(jì)數(shù)值寫入輸出RAM的Ui(j)地址中,這就完成了交織地址的計(jì)算和存儲(chǔ)。
在行內(nèi)置換過程中,需要處理下面的公式計(jì)算Ui(j)=s((j×ri)mod(p-1)),j=0,1.......,(p-2)......(6)其中,Ui(j)表示第i行的行內(nèi)置換模式,其他參數(shù)含義與前述一致。
由該公式可見,這里需要處理一個(gè)乘法運(yùn)算和一個(gè)求模運(yùn)算,按照正常的處理方法需要一個(gè)乘法器和一個(gè)求模電路,這兩個(gè)電路的資源耗費(fèi)是難以接受的,如果采用累減的方法來實(shí)現(xiàn)求模運(yùn)算,會(huì)發(fā)現(xiàn)需要的時(shí)鐘周期的數(shù)目無法確定,而且所需的減法次數(shù)有可能非常多,會(huì)造成計(jì)算的極大延遲,所以必須采用新的方法來實(shí)現(xiàn)這一計(jì)算電路。
經(jīng)過對(duì)公式(6)仔細(xì)研究發(fā)現(xiàn)有下面的規(guī)律j=0 Ui(0)=s(0)j=1 Ui(1)=s(rimod(p-1))=s(x1)j=2 Ui(2)=s((2*ri)mod(p-1))=s{[(rimod(p-1))+(rimod(p-1))]mod(p-1)}=s{[s(x1)+(rimod(p-1))]mod(p-1)}=s(x2)j=3 Ui(3)=s{[x2+(rimod(p-1))]mod(p-1)}...............(7)
這樣就可以利用每一次計(jì)算的中間值xi-1和rimod(p-1)的和對(duì)p-1再累減求模就可以完成該操作,因?yàn)閤i-1和rimod(p-1)的值都小于p-1,所以它們的和值最多只需要一次減法就可以完成計(jì)算。
采用這種處理方法極大的簡化了處理的流程,所占用的硬件資源也很少,而且使得該單元計(jì)算所需要的總時(shí)鐘周期數(shù)目和塊長近似相同。

表2根據(jù)上述原理,置換及刪減單元和交織地址存儲(chǔ)單元的單元框圖見圖5。
(1)行列計(jì)數(shù)控制單元51的輸入為矩陣的行R和列C,輸出包括存儲(chǔ)地址計(jì)數(shù)控制信號(hào)和行計(jì)數(shù)信號(hào)。行列計(jì)數(shù)控制單元51實(shí)現(xiàn)對(duì)行列的計(jì)數(shù)控制,根據(jù)行的計(jì)數(shù)從行間置換模式表中查出需處理的行順序T(i)和q值,以及求模單元52中余數(shù)FIFO單元53的對(duì)應(yīng)余數(shù)。另外,該單元51還產(chǎn)生一個(gè)存儲(chǔ)地址計(jì)數(shù)控制信號(hào)來啟動(dòng)存儲(chǔ)地址的計(jì)數(shù)發(fā)生。
(2)T(i)查表單元56的輸入為行計(jì)數(shù)信號(hào),輸出為行置換位置。根據(jù)行計(jì)數(shù)信號(hào)在表2中查出對(duì)應(yīng)的行置換位置。
(3)q值查表單元55的輸入為行計(jì)數(shù)信號(hào),輸出為處理該行時(shí)所采用的r值,即為置換后的q值(經(jīng)過對(duì)p-1求模),記為x(i)。由于計(jì)算q序列時(shí),該值經(jīng)過了求模(p-1)運(yùn)算,而且存儲(chǔ)的順序按照T(i)的順序,所以此時(shí)得到的就是公式推導(dǎo)中的rimod(p-1)值,即為x(i),該單元就是根據(jù)行計(jì)數(shù)信號(hào)在q存儲(chǔ)單元中查出對(duì)應(yīng)的x(i)值。
求模單元52,包括余數(shù)FIFO單元53和判決相減單元54,主要完成Ui(j)序列的計(jì)算功能,該單元主要完成公式(7)推導(dǎo)過程。首先利用行計(jì)數(shù)查出x(i)值,然后將該值送入求模單元52,計(jì)算出求模結(jié)果,送入s值查表單元57查表。該求模單元52由判決相減單元54和余數(shù)FIFO單元53組成。
下面分析這兩個(gè)單元的工作過程(a)判決相減單元54的輸入為由q值查表單元55輸出的x(i)信號(hào)和余數(shù)FIFO單元53輸出的查表值,輸出為s序列查表位置。根據(jù)式(7)的推導(dǎo)式將x(i)信號(hào)和余數(shù)FIFO單元53輸出查表值的和對(duì)p-1進(jìn)行判決相減,當(dāng)該和大于p-1時(shí),就減去p-1,否則不變,將結(jié)果輸出,完成求模運(yùn)算,同時(shí)將該值存入余數(shù)FIFO單元53中,這樣以便計(jì)算下一個(gè)求模值的計(jì)算。
(b)余數(shù)FIFO單元53的輸入?yún)?shù)包括行計(jì)數(shù)信號(hào)和s序列查表位置,輸出查表值。之所以采用余數(shù)FIFO單元53是因?yàn)樘幚淼捻樞蚴前葱刑幚?,而不是按列處理,這就造成處理的流水中斷,為了解決這一問題本發(fā)明采用一個(gè)FIFO作延遲處理,這樣就可以保證處理的連續(xù)性,消除可能造成的電路延遲。其功能就是按照行計(jì)數(shù)信號(hào),先讀出查表值,然后再存儲(chǔ)判決相減單元54計(jì)算出的s序列查表位置。
s值查表單元57的輸入為判決相減單元54輸出的s序列查表位置,輸出為查表得出的s值,累減求模單元52送出的值就是查表的位置值。利用該位置值在s值查表單元57中查出s值。
乘法器單元58的輸入包括T(i)查表單元56輸出的行置換位置和交織參數(shù)計(jì)算單元21輸出的矩陣列C,輸出為二者的乘積值,從s值的存儲(chǔ)單元34中找出該s值,將s值和乘法器單元58中輸出的乘積值相加就可以得到刪除前的交織地址。
計(jì)數(shù)單元59的輸入為行列計(jì)數(shù)控制單元51輸出的存儲(chǔ)地址計(jì)數(shù)控制信號(hào)和交織地址存儲(chǔ)單元25輸出的存儲(chǔ)單元的反饋信號(hào),根據(jù)存儲(chǔ)地址計(jì)數(shù)控制信號(hào),計(jì)數(shù)單元59進(jìn)行位置計(jì)數(shù),同時(shí)交織地址存儲(chǔ)單元25的反饋信號(hào)為高電平時(shí)停止計(jì)數(shù),計(jì)數(shù)地址保持不變,輸出存儲(chǔ)地址值,否則繼續(xù)計(jì)數(shù)。
交織地址存儲(chǔ)單元25的輸入包括交織地址(乘積值和s值的和)和計(jì)數(shù)單元59輸出的存儲(chǔ)地址值,當(dāng)交織地址的值超出交織數(shù)據(jù)塊長K的范圍時(shí),刪除該值,同時(shí)控制計(jì)數(shù)單元59使其計(jì)數(shù)地址保持不變,否則就將計(jì)數(shù)器值為地址將交織地址值存入存入存儲(chǔ)單元59中,這樣就計(jì)算出了交織地址。
本發(fā)明的三個(gè)單元中用到求模電路,一處是s序列計(jì)算單元,一個(gè)是q序列計(jì)算單元,一個(gè)行內(nèi)置換單元。前兩個(gè)求模電路可以通過累減操作來實(shí)現(xiàn),并且可以復(fù)用。第二個(gè)求模運(yùn)算則通過一個(gè)減法電路就可以完成。此外,本發(fā)明的中行內(nèi)置換單元的乘法器則轉(zhuǎn)化成了了一個(gè)加法器來實(shí)現(xiàn),在q序列計(jì)算單元,將求最大公約數(shù)的運(yùn)算簡化成了查表運(yùn)算。這樣大大減少了資源消耗。在行內(nèi)、行間置換的過程中省略了r序列的計(jì)算。上述方案完全可以FPGA硬件的方式實(shí)現(xiàn),做到實(shí)時(shí)處理。
前面提供了對(duì)較佳實(shí)施例的描述,以使本領(lǐng)域內(nèi)的任何技術(shù)人員可使用或利用本發(fā)明。對(duì)這些實(shí)施例的各種修改對(duì)本領(lǐng)域內(nèi)的技術(shù)人員是顯而易見的,可把這里所述的總的原理應(yīng)用到其他實(shí)施例而不使用創(chuàng)造性。因而,本發(fā)明將不限于這里所示的實(shí)施例,而應(yīng)依據(jù)符合這里所揭示的原理和新特征的最寬范圍。
權(quán)利要求
1.一種用FPGA實(shí)現(xiàn)的3GPP Turbo碼內(nèi)交織器,其特征在于,所述交織器包括交織參數(shù)計(jì)算單元,根據(jù)輸入的交織數(shù)據(jù)塊長,計(jì)算方形矩陣行數(shù)和列數(shù)R和C,查表計(jì)算質(zhì)數(shù)p,原根v,刪除值g等參數(shù),所述刪除值g用于s序列計(jì)算單元中的查表;s序列計(jì)算單元,包括第一乘法單元,對(duì)交織參數(shù)計(jì)算單元得出的原根v和第一求模單元輸出的行內(nèi)置換基序列進(jìn)行乘法運(yùn)算;第一求模單元,完成對(duì)質(zhì)數(shù)p的求模運(yùn)算,判斷乘法結(jié)果是否小于質(zhì)數(shù)p,如果小于質(zhì)數(shù)p直接輸出結(jié)果,否則累減質(zhì)數(shù)p值,直至得到最后的求模結(jié)果;計(jì)數(shù)控制單元,根據(jù)交織參數(shù)計(jì)算單元輸出的原根v,控制第一求模單元的累減次數(shù)和存儲(chǔ)單元的地址計(jì)數(shù)值;第一存儲(chǔ)單元,對(duì)所述計(jì)數(shù)控制單元的地址計(jì)數(shù)值和第一求模單元的求模結(jié)果進(jìn)行存儲(chǔ);q序列計(jì)算單元,包括第一查表單元,將逐位查出的質(zhì)數(shù)p和刪除值g相比較,如果相同,則刪除該質(zhì)數(shù),否則送入第二求模單元,并繼續(xù)查找,直到找滿R個(gè)數(shù)據(jù);第二求模單元,完成對(duì)q序列對(duì)p-1求模運(yùn)算,判斷查出的質(zhì)數(shù)是否小于質(zhì)數(shù)p-1,如果小于質(zhì)數(shù)p-1直接輸出結(jié)果,否則累減質(zhì)數(shù)p-1值,得出求模結(jié)果;第二存儲(chǔ)單元,用于存放第二求模單元輸出的求模結(jié)果;置換及刪減單元,包括行列計(jì)數(shù)控制單元,實(shí)現(xiàn)對(duì)矩陣行和列的計(jì)數(shù),根據(jù)矩陣行的計(jì)數(shù)查表得出需處理的行順序和質(zhì)數(shù);第三求模單元,完成置換位置值計(jì)算中對(duì)p-1的求模運(yùn)算,將查表得到的值與上一次該行得出的求模結(jié)果的和對(duì)p-1進(jìn)行比較,當(dāng)該和大于p-1時(shí),就減去p-1后輸出求模值,否則直接輸出。第二查表單元,查表確定置換后的質(zhì)數(shù),行置換位置以及s值;第二乘法單元,完成經(jīng)過T(i)查表得出的行對(duì)應(yīng)值和矩陣列的相乘;交織地址存儲(chǔ)單元,根據(jù)交織地址和存儲(chǔ)地址值,確定交織地址。
2.根據(jù)權(quán)利要求1所述的一種用FPGA實(shí)現(xiàn)的3GPP Turbo碼內(nèi)交織器,其特征在于,所述第三求模單元包括判決相減單元,將查表得到的值與余數(shù)FIFO單元中得到的值的和對(duì)p-1進(jìn)行比較,當(dāng)該和大于p-1減去p-1,否則輸出求模結(jié)果;余數(shù)FIFO單元,按照行計(jì)數(shù)信號(hào),查表讀出該行對(duì)應(yīng)的置換后的質(zhì)數(shù)值,然后存儲(chǔ)所述判決相減單元計(jì)算出的求模結(jié)果,作為下一次計(jì)算的查表值,所述求模結(jié)果就是s序列查表位置。
3.根據(jù)權(quán)利要求1或2所述的一種用FPGA實(shí)現(xiàn)的3GPP Turbo碼內(nèi)交織器,其特征在于,所述第二查表單元包括T(i)查表,根據(jù)行列計(jì)數(shù)控制單元的行計(jì)數(shù)值查出對(duì)應(yīng)的置換行;q值查表,根據(jù)行列計(jì)數(shù)控制單元的行計(jì)數(shù)值在第二存儲(chǔ)單元中查出對(duì)應(yīng)的q值;s查表,根據(jù)第三求模單元的結(jié)果在第一存儲(chǔ)單元中查出對(duì)應(yīng)的s值。
4.根據(jù)權(quán)利要求1所述的一種用FPGA實(shí)現(xiàn)的3GPP Turbo碼內(nèi)交織器,其特征在于,第二求模單元得出的求模結(jié)果經(jīng)累減八次得出。
全文摘要
本發(fā)明公開了一種用FPGA實(shí)現(xiàn)的3GPP Turbo碼內(nèi)交織器,該交織器包括交織參數(shù)計(jì)算單元,s序列計(jì)算單元,q序列計(jì)算單元,置換及刪減單元四個(gè)部分。其中的s序列計(jì)算單元和q序列計(jì)算單元中的求模電路通過累減操作來實(shí)現(xiàn),并且可以復(fù)用。一個(gè)行內(nèi)置換單元中的求模運(yùn)算則通過一個(gè)減法電路完成。本發(fā)明的行內(nèi)置換單元的乘法器則轉(zhuǎn)化成了一個(gè)加法器來實(shí)現(xiàn),在q序列計(jì)算單元,將求最大公約數(shù)的運(yùn)算簡化成了查表運(yùn)算。這樣大大減少了資源消耗。在行內(nèi)、行間置換的過程中省略了r序列的計(jì)算。本發(fā)明完全可以采用FPGA硬件來實(shí)現(xiàn),做到實(shí)時(shí)處理。
文檔編號(hào)H04W28/16GK1531353SQ03115710
公開日2004年9月22日 申請(qǐng)日期2003年3月10日 優(yōu)先權(quán)日2003年3月10日
發(fā)明者榮 王, 王榮, 路成業(yè), 雷旭, 王曉虎 申請(qǐng)人:大唐移動(dòng)通信設(shè)備有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
广宁县| 伊吾县| 霍邱县| 苍山县| 化州市| 九江县| 柳江县| 富裕县| 凤台县| 疏附县| 临颍县| 西安市| 东阳市| 桂阳县| 开平市| 荆州市| 蒙山县| 蕲春县| 抚州市| 青田县| 任丘市| 南江县| 定安县| 鄯善县| 昌乐县| 湟源县| 宜丰县| 镇坪县| 东乡县| 永新县| 洪雅县| 乌鲁木齐县| 石阡县| 定南县| 钟山县| 大石桥市| 缙云县| 日喀则市| 景德镇市| 福贡县| 临汾市|