国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種資源友好的零延時(shí)Turbo交織器設(shè)計(jì)

2023-07-17 05:51
艦船電子對(duì)抗 2023年3期
關(guān)鍵詞:交織編碼器延時(shí)

梁 晨

(中國(guó)電子科技集團(tuán)公司第二十研究所,陜西 西安 710068)

0 引 言

Turbo碼綜合了級(jí)聯(lián)碼、卷積碼、迭代譯碼及最大后驗(yàn)概率的思想,考慮了C.E.Shannon信息速率達(dá)到信道容量可實(shí)現(xiàn)無差錯(cuò)傳輸假設(shè)的3個(gè)基本條件,獲得了接近Shannon極限的優(yōu)異性能,因而被廣泛應(yīng)用于各類無線通信協(xié)議中[1]。Turbo碼的編碼器結(jié)構(gòu)如圖1所示,主要包括交織器、分量編碼器、刪余矩陣和復(fù)用器。其中交織器的作用是改變輸入碼源的排列順序;分量編碼器的作用是對(duì)輸入碼源序列和交織后的碼源序列進(jìn)行編碼;刪余矩陣的作用是根據(jù)規(guī)則對(duì)編碼后的校驗(yàn)序列進(jìn)行選擇性刪除,以控制碼率;復(fù)用器的作用是按要求對(duì)碼源和校驗(yàn)序列重組輸出[2]。

圖1 Turbo碼編碼器結(jié)構(gòu)圖

在Turbo編碼器中,交織器是十分重要的組成部分,Turbo碼的交織器使得碼重分布合理,降低了數(shù)據(jù)序列的相關(guān)性,增大了輸出碼字的最小漢明距離,滿足了香農(nóng)信道編碼定理中的隨機(jī)性編碼條件[3]。LTE 中定義了一種二次置換多項(xiàng)式(QPP)交織器。對(duì)于交織器的實(shí)現(xiàn),哈爾濱工程大學(xué)的趙旦峰、雷李云和羅清華提出,如果將交織算法直接用硬件實(shí)現(xiàn),則會(huì)增加Turbo編譯碼器硬件實(shí)現(xiàn)復(fù)雜度,同時(shí)會(huì)增加編譯碼延時(shí),所以采用將預(yù)先計(jì)算好的交織地址序列存入現(xiàn)場(chǎng)可編程門陣列(FPGA)的只讀存儲(chǔ)器中,保證了交織器的電路簡(jiǎn)單和交織運(yùn)算的零延遲[4]。這種方法的弊端是對(duì)于不同的碼塊長(zhǎng)度需要存儲(chǔ)不同的交織地址表,當(dāng)碼塊長(zhǎng)度類型較多時(shí)會(huì)占用較多的存儲(chǔ)器資源。復(fù)旦大學(xué)專用集成電路與系統(tǒng)國(guó)家重點(diǎn)實(shí)驗(yàn)室黃躍斌、陳赟和曾曉洋采用遞推公式的方案來進(jìn)行QPP交織器設(shè)計(jì)[5],但未對(duì)遞推計(jì)算進(jìn)行進(jìn)一步的優(yōu)化改進(jìn)。

本文在QPP交織器遞推公式的基礎(chǔ)上進(jìn)行設(shè)計(jì)優(yōu)化,設(shè)計(jì)了一種零延時(shí)、資源友好的QPP交織器。QPP遞推公式涉及到取余運(yùn)算,如果在FPGA中調(diào)用除法器實(shí)現(xiàn),時(shí)序上就不能保證交織器的零延時(shí),則圖1中2路分量編碼器就不能同步工作,影響了編碼效率。本文通過比較器實(shí)現(xiàn)取余,簡(jiǎn)化了取余運(yùn)算,節(jié)約了乘法器資源。遞推算法的每一步都需要完成加法運(yùn)算和比較運(yùn)算,如果在FPGA的一拍時(shí)鐘完成2種運(yùn)算,勢(shì)必會(huì)帶來時(shí)序緊張,使得編碼器不能在較高的時(shí)鐘頻率下工作,影響了編碼效率。本文通過對(duì)遞推公式進(jìn)行改進(jìn),分別對(duì)交織地址的奇偶序列進(jìn)行并行遞推,利用乒乓的方式輸出交織地址,將之前一拍時(shí)鐘完成的運(yùn)算分為2個(gè)時(shí)鐘完成,簡(jiǎn)化了每一拍時(shí)鐘的邏輯運(yùn)算電路,使得交織器可以在較高的時(shí)鐘頻率下工作。在時(shí)序上,遞推運(yùn)算實(shí)現(xiàn)了交織器的零延時(shí)。

1 QPP交織器的遞推公式

(1)

輸出序號(hào)i和輸入序號(hào)ε(i)的關(guān)系滿足如下二次形式:

ε(i)=(f1·i+f2·i2)modK

(2)

參數(shù)f1和f2與碼塊長(zhǎng)度K有關(guān),需要進(jìn)行巧妙設(shè)計(jì)來確保QPP交織器避免沖突。在長(zhǎng)期演進(jìn)(LTE)中,總共設(shè)計(jì)了188種碼塊長(zhǎng)度[6]。

交織地址可以通過遞推運(yùn)算來實(shí)現(xiàn),遞推公式如下[6]:

ε(i+1)=[ε(i)+δ(i)]modK

(3)

δ(i+1)=[δ(i)+b]modK

(4)

容易得到初始值ε(0)=0,δ(0)=(f1+f2)modK。b是一個(gè)常量,b=(2f2)modK。該遞推公式只涉及加法、取余運(yùn)算,可以相對(duì)容易在邏輯硬件上實(shí)現(xiàn)。但取余運(yùn)算在硬件實(shí)現(xiàn)中需要用到除法器,時(shí)序上不能保證交織器的零延時(shí),影響編碼效率。

在公式(3)中:

∵ε(i)

∴ε(i)+δ(i)<2K

因此遞推運(yùn)算中取余運(yùn)算可以用比較、選擇等簡(jiǎn)單運(yùn)算來實(shí)現(xiàn):

(5)

同理可得:

(6)

2 改進(jìn)后的QPP交織器遞推公式

如公式(5)所示,在上一個(gè)時(shí)鐘周期計(jì)算出來的ε(i)和δ(i)首先進(jìn)行加法運(yùn)算。ε(i)和δ(i)相加得到的結(jié)果一方面與K進(jìn)行比較,另一方面再減去K。比較的結(jié)果控制二選一選擇器,當(dāng)ε(i)和δ(i)之和小于K時(shí),選擇ε(i)+δ(i)作為ε(i+1);反之選擇ε(i)+δ(i)-K作為ε(i+1)的結(jié)果,邏輯電路實(shí)現(xiàn)示意圖如圖2所示。這個(gè)過程如果在同一個(gè)時(shí)鐘周期來完成,組合邏輯較為復(fù)雜,時(shí)序較為緊張,使得交織器不能在較高時(shí)鐘頻率下工作。如果分為2個(gè)時(shí)鐘節(jié)拍來完成,第1個(gè)時(shí)鐘完成ε(i)+δ(i)計(jì)算,第2個(gè)時(shí)鐘周期完成ε(i)+δ(i)求和值與K的比較,同時(shí)并行完成ε(i)+δ(i)求和值減去K,根據(jù)比較結(jié)果控制二選一選擇器給ε(i+1)賦值。邏輯電路實(shí)現(xiàn)示意如圖3所示,這樣時(shí)序較為寬松,交織器可以在較高的時(shí)鐘頻率下工作。

圖2 1個(gè)時(shí)鐘完成遞推計(jì)算邏輯電路示意圖

圖3 2個(gè)時(shí)鐘完成遞推計(jì)算邏輯電路示意圖

將公式(3)、(4)進(jìn)行改進(jìn),得出:

ε(i+k)=[ε(i)+δ(i)]modK

(7)

δ(i+k)=[δ(i)+b]modK

(8)

式中:k是一個(gè)大于0、小于K的任意整數(shù),可以推算出初始值ε(0)=0,δ(0)=(f1·k+f2·k2)modK;b是一個(gè)常量,b=(2k2f2)modK。

為了實(shí)現(xiàn)不提高時(shí)鐘的條件下零延遲交織器設(shè)計(jì),本文將交織地址序列分為奇偶2個(gè)序列進(jìn)行并行遞推,并利用乒乓的方式輸出交織地址。

將k=2代入公式(7)、(8)得到:

ε(i+2)=[ε(i)+δ(i)]modK

(9)

δ(i+2)=[δ(i)+b]modK

(10)

初始值為ε(0)=0,δ(0)=(2f1+4f2)modK,ε(1)=(f1+f2)modK,δ(1)=(2f1+8f2)modK。b是一個(gè)常量,b=(8f2)modK。

遞推運(yùn)算中取余仍可以用比較、選擇簡(jiǎn)單運(yùn)算來實(shí)現(xiàn):

(11)

同理可得:

(12)

3 零延時(shí)QPP交織器模塊設(shè)計(jì)

基于改進(jìn)后的遞推公式,QPP交織器設(shè)計(jì)架構(gòu)如圖4所示,主要包括碼源序列存儲(chǔ)雙口模塊、控制模塊、交織地址奇數(shù)序列遞推模塊、交織地址偶數(shù)序列遞推模塊和乒乓選擇模塊組成。其中原始碼序列存儲(chǔ)雙口模塊一端用來寫入編碼前的碼源序列,另一端按照交織地址讀出碼源數(shù)據(jù)完成交織功能??刂颇K輸入交織碼塊的類型和交織使能信號(hào),根據(jù)輸入的交織碼塊類型得出不同碼塊大小對(duì)應(yīng)的f1、f2、K值以及遞推公式中ε(0)、δ(0)、ε(1)、δ(1)和b的值;根據(jù)輸入的交織使能脈沖信號(hào)開始交織器的工作,交織器工作時(shí)間等于K個(gè)時(shí)鐘周期。交織地址奇數(shù)序列遞推模塊,利用初值ε(1)和δ(1),2個(gè)時(shí)鐘遞推出一個(gè)奇數(shù)序列的交織地址。交織地址偶數(shù)序列遞推模塊,利用初值ε(0)和δ(0),2個(gè)時(shí)鐘遞推出1個(gè)偶數(shù)序列的交織地址。乒乓選擇模塊根據(jù)交織工作計(jì)數(shù)器的奇偶交替,分別選擇輸出奇偶序列的交織地址。該交織器的輸出延時(shí)等于RAM IP核的讀延遲,同順序碼源序列讀延遲一致,實(shí)現(xiàn)了交織模塊的零延遲。

圖4 QPP交織器設(shè)計(jì)架構(gòu)圖

4 QPP交織器功能驗(yàn)證

依照設(shè)計(jì)方案在FPGA上完成編程實(shí)現(xiàn),該交織器支持全部碼塊大小類型進(jìn)行交織運(yùn)算。功能仿真驗(yàn)證時(shí)按照一種碼塊大小為例(K=264,f1=7,f2=66),邏輯運(yùn)算結(jié)果如圖5所示。其中pi_odd和pi_even分別為交織地址的奇偶序列,經(jīng)乒乓選擇器選擇后合路的交織地址為信號(hào)addr2,可以看出addr2和順序序列地址addr1同步對(duì)齊,輸出順序序列c和交織序列c_i也同步對(duì)齊,交織器工作的零延時(shí)保證了編碼效率。交織地址和Matlab計(jì)算的交織地址波形如圖6所示,經(jīng)數(shù)值對(duì)比結(jié)果一一對(duì)應(yīng)。交織器實(shí)現(xiàn)后資源使用情況如圖7所示,可以看出該交織器使用資源極少,實(shí)現(xiàn)了資源友好的設(shè)計(jì)目標(biāo)。

圖5 QPP交織器邏輯軟件仿真時(shí)序圖

圖6 邏輯軟件和MATLAB仿真結(jié)果對(duì)比圖

圖7 交織器實(shí)現(xiàn)后資源使用情況圖

5 結(jié)束語

本文提出了一種零延時(shí)、資源友好的Turbo交織器優(yōu)化設(shè)計(jì)方案。該方案簡(jiǎn)化了遞推公式中的復(fù)雜運(yùn)算,通過奇偶序列進(jìn)行并行遞推和乒乓輸出的方式,將遞推運(yùn)算中的邏輯運(yùn)算由1個(gè)時(shí)鐘完成改為2個(gè)時(shí)鐘完成,使得交織器時(shí)序?qū)捤?可在較高的時(shí)鐘頻率下工作。經(jīng)仿真驗(yàn)證,交織結(jié)果準(zhǔn)確無誤;經(jīng)工程驗(yàn)證,該設(shè)計(jì)方案可在240 MHz時(shí)鐘工作頻率的Xilinx FPGA中穩(wěn)定工作。

猜你喜歡
交織編碼器延時(shí)
美食(2022年2期)2022-04-19
基于級(jí)聯(lián)步進(jìn)延時(shí)的順序等效采樣方法及實(shí)現(xiàn)
交織冷暖
基于FPGA的同步機(jī)軸角編碼器
一種改進(jìn)的塊交織方法及FPGA實(shí)現(xiàn)
基于PRBS檢測(cè)的8B/IOB編碼器設(shè)計(jì)
奧運(yùn)夢(mèng)與中國(guó)夢(mèng)交織延展
JESD204B接口協(xié)議中的8B10B編碼器設(shè)計(jì)
Two-dimensional Eulerian-Lagrangian Modeling of Shocks on an Electronic Package Embedded in a Projectile with Ultra-high Acceleration
多總線式光電編碼器的設(shè)計(jì)與應(yīng)用