<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 汽車(chē)電子 > 設計應用 > 一種高效的復信號處理芯片設計

一種高效的復信號處理芯片設計

作者:■ 北京理工大學(xué)電子工程系 劉明 陳禾 時(shí)間:2005-04-27 來(lái)源:eaw 收藏

摘    要:本文提出了一種高效的復信號處理芯片的設計方法。本芯片是某雷達信號處理機的一部分,接收3組ADC的輸出復數據,依次完成去直流、加窗、512點(diǎn)、求和累加3組信號的等功能。在這5種功能中,加窗、512點(diǎn)和求復用一個(gè)。本芯片由單片實(shí)現,計算精度高、速度較快,滿(mǎn)足雷達系統的實(shí)時(shí)處理要求。
關(guān)鍵詞:  ;;;功率譜;

引言
復信號處理芯片是某雷達系統的一部分。雷達系統的實(shí)時(shí)處理特點(diǎn)要求芯片運算速度快、精度高,能夠在500 內對三幀各512點(diǎn)復信號完成去直流、加窗、FFT、求功率譜和求3幀信號的功率譜之和這5種功能。在設計中,為了保證運算的精度和速度滿(mǎn)足要求,采用算法,使運算精度和速度之間有很好的折衷。為了在滿(mǎn)足運算精度要求的前提下進(jìn)一步提高速度,采用流水線(xiàn)結構。為了節約能源,單片實(shí)現雷達系統的要求,采用復用技術(shù),使加窗、512點(diǎn)FFT和求功率譜這三種功能復用一個(gè)單元??焖俑盗⑷~變換(FFT)是本信號處理芯片的核心算法,在本芯片中采用基二的蝶形算法和遞歸結構來(lái)實(shí)現512點(diǎn)FFT。
以其高速、高集成度和高性能等特點(diǎn),更適合現代數字信號處理系統的要求,在可編程單芯片上實(shí)現數字信號處理算法的應用越來(lái)越廣泛。復信號處理芯片便是基于FPGA實(shí)現的。

復信號處理芯片的設計
復信號處理芯片結構
圖1是復信號處理芯片的整體功能框圖,信號處理芯片由四部分組成:運算部分、部分、地址部分和存儲器部分,各部分又由相應的數個(gè)功能單元組成。運算部分完成數據的基數計算;塊浮點(diǎn)單元完成指數檢測與指數運算;地址部分生成地址線(xiàn)與各種控制信號;存儲器存儲全部原始數據、運算結果和系數。各部分相互作用,使系統穩定地工作。
輸入數據地址單元接收到使能信號start后,向片外存儲器發(fā)出地址與使能信號,并行讀入一幀512點(diǎn)復信號的實(shí)部數據與虛部數據,存入片內原始實(shí)部數據存儲器與原始虛部數據存儲器。同時(shí),分別將實(shí)部數據與虛部數據在累加器中累加,得到512點(diǎn)數據的和及其平均數。一幀數據被讀入片內后,輸入數據地址單元激活加窗地址單元。加窗地址單元控制原始實(shí)部數據存儲器與原始虛部數據存儲器,讀出原始實(shí)部數據與虛部數據,分別減去其平均數,便完成去直流功能,將結果送入。
接下來(lái)要完成加窗功能與512點(diǎn)FFT,本芯片采用基二的蝶形算法和遞歸結構實(shí)現FFT。MUX1選擇加窗地址單元與FFT地址單元產(chǎn)生的地址,送入系數存儲器的地址,分別讀出窗系數與蝶形運算系數。系數進(jìn)入蝶形單元,與數據進(jìn)行運算,得到加窗結果與FFT結果。加窗結果與前八級蝶形運算的結果存儲到中間結果存儲器,最后一級的蝶形運算結果存儲到FFT結果存儲器。指數檢測單元完成指數運算功能,構成塊浮點(diǎn)算法的一部分。
 模平方地址單元將FFT運算結果讀入蝶形單元,得到模平方結果。三幀數據的模平方結果在模平方累加單元中累加,將結果在輸出地址單元的控制下存入模平方累加結果存儲器,等待外部讀取。
運算部分
運算部分完成數據的基數運算,包括去直流功能單元、蝶形運算單元和模平方累加單元。
蝶形運算單元
蝶形運算單元完成加窗、512點(diǎn)FFT和求模平方三個(gè)功能,是本芯片的核心部分。圖2是它的整體框圖。 
* 窗系數是實(shí)數,窗系數和去直流后的數據的實(shí)部與虛部按原始順序并行進(jìn)入蝶形運算單元。在控制信號S1的作用下直接到達乘法器。這樣數據可以通過(guò)兩個(gè)乘法器在兩個(gè)時(shí)鐘周期內完成加窗操作。結果通過(guò)控制信號S3的作用輸出蝶形單元,存儲到中間結果存儲器。
* 時(shí)分基二蝶形算法公式如下:
Am(i)=Am-1(i)+Am-1(j)W      (1)
Am(j)=Am-1(i)-Am-1(j)W       (2)  
復乘公式為:
(Am-1(j)W)R= Am-1(j)RW-Am-1 (j)IW                                         (3)     
(Am-1(j)W)I= Am-1(j)IW+Am-1 (j)RW                                        (4)
在上面的公式中,i和j是數據的順序號,R和I分別表示實(shí)數與虛數,W表示旋轉因子,m表示FFT的運算級數。旋轉因子的實(shí)部首先進(jìn)入蝶形單元,一個(gè)時(shí)鐘周期后,虛部再進(jìn)入。加窗后的復數據以Am-1 (i), Am-1(j)的順序進(jìn)入蝶形單元,其實(shí)部與虛部并行進(jìn)入。因為Am-1(i)不進(jìn)行復乘運算,它在控制信號C2的控制下延遲,與復乘結果進(jìn)行加法或減法操作。將Am-1(j)同W相乘得到Am-1(j)RW和Am-1(j)IW,將Am-1(j)延遲1個(gè)時(shí)鐘周期后和W 相乘得到Am-1(j)IW和Am-1(j)RW,在C3的控制下,Am-1(j)RW和Am-1 (j)IW相減,Am-1(j)RW和 Am-1 (j)IW相加。這樣便完成了復乘運算。復乘結果同Am-1(i)相加減變得到一階蝶形運算的結果??刂菩盘朇3控制結果輸出蝶形單元,存入中間結果存儲器或FFT結果存儲器。
*求模平方的公式定義為I2+R2=M2。FFT結果的實(shí)部定義為I,虛部定義為R。I和R并行進(jìn)入蝶形單元,與此同時(shí),I和R依次由進(jìn)入蝶形單元的系數通路進(jìn)入,相乘得到I2、IR與R2、IR,在控制信號C3的控制下,將IR與IR相減,I2與R2相加得到M2。在控制信號S2與S3的控制下,直接輸出蝶形單元。為了保證計算的精確性,模平方結果保持32位。
模平方累加單元
由于采用塊浮點(diǎn)算法,所以模平方結果由兩部分組成,一是蝶形單元輸出的基數部分,二是數據在蝶形單元中運算時(shí)產(chǎn)生的指數部分。在模平方結果累加之前,必須將較小的指數同較大的指數對齊,且相應的基數部分右移,右移量為指數差的兩倍。在模平方累加單元中完成三幀模平方結果的累加,溢出檢測單元檢測累加溢出。累加結果的指數部分由此溢出,同2倍的蝶形單元形成的指數之和組成。
塊浮點(diǎn)部分
塊浮點(diǎn)算法的速度比浮點(diǎn)算法的速度高,其精度比定點(diǎn)算法的精度高,所以采用塊浮點(diǎn)算法可以很好地在速度與精度之間取得平衡。塊浮點(diǎn)部分由兩個(gè)功能單元組成:指數檢測單元和指數累加單元。假設蝶形單元的輸入數據為n位,且每進(jìn)行一次加減法就擴展一位,則蝶形單元的輸出數據應為n+2位。溢出檢測單元檢測這n+2位數據。如果它的高三位為000或111,則溢出為零;如果為001或110,則溢出為1;如果為01x或10x(x表示無(wú)關(guān)),則溢出為2。指數累加單元將每級蝶形運算的溢出相加,構成指數部分。
地址部分
地址部分由輸入數據地址單元、加窗地址單元、FFT地址單元、模平方地址單元和輸出地址單元5部分組成。地址單元產(chǎn)生地址與控制信號,使整個(gè)芯片穩定工作。這里要介紹一下FFT地址單元的地址生成。
9級蝶形運算的輸入數據地址與輸入系數地址是FFT地址單元中計數器輸出的變換。圖3為其變換關(guān)系。由于蝶形運算采用同址運算,所以輸出數據的地址是輸入數據地址的延遲,延遲量為一組數據一次蝶形運算經(jīng)歷的時(shí)鐘周期數。
存儲器部分
本芯片采用FPGA內部嵌入的雙口RAM保存所有數據與系數,所有存儲器都采用同步形式,有自己的時(shí)鐘端口、使能和片選端口,可以同時(shí)對同一存儲器進(jìn)行讀和寫(xiě)操作,這樣提高了整個(gè)系統的速度。

處理器的單芯片實(shí)現
本復信號處理器在一塊FPGA上實(shí)現,采用自頂向下的設計方法學(xué)。首先將整個(gè)處理器分成幾個(gè)模塊,用寄存器級的VHDL語(yǔ)言描述,然后形成整個(gè)處理器代碼,最后將代碼由Xilinx公司的ISE軟件進(jìn)行綜合與布局布線(xiàn),形成優(yōu)化的FPGA門(mén)級網(wǎng)表。
Xilinx公司的Virtex系列FPGA內部含有大量的塊RAM,還嵌入了高速的乘法器,很適合本設計的需要。另外,芯片內部的時(shí)鐘管理單元為整個(gè)處理器提供了穩定的時(shí)鐘。
復信號處理芯片的主要性能特征如表1所示。
讓復信號處理芯片對一組有代表性的數據進(jìn)行處理,并分析其處理精度和速度。輸入數據為:
第一組數據的數學(xué)表達式:
10*cos(2*pi/512*30*t)-5+randn(1,512)+
j*(10*sin(2*pi/512*30*t)-5+randn(1,512)), 
第二組數據的數學(xué)表達式:
-10*cos(2*pi/512*30*t)
+5+j*(-10*sin(2*pi/512*30*t)+5),
第三組數據的數學(xué)表達式:
-15*cos(2*pi/512*30*t)
+5+j*(-15*sin(2*pi/512*30*t)-5),
芯片處理結果的信噪比同Matlab仿真結果的信噪比對比如圖4所示,由圖可看出本芯片有很高的精度。
將芯片應用到雷達系統中,芯片工作的起始時(shí)間為211.16ms。當時(shí)鐘為50MHz時(shí),讀入第一幀數據的完成時(shí)間為211.37ms,讀入第二幀數據的完成時(shí)間為263.41ms,讀入第三幀數據的完成時(shí)間為392.29ms,計算出三幀數據功率譜之和的結束時(shí)間為659.72ms。本芯片可以在500ms內計算三幀數據的功率譜之和,適合雷達系統的實(shí)時(shí)要求。

結語(yǔ)
復信號處理芯片在一個(gè)FPGA芯片上實(shí)現,可以在500ms內對三幀各512點(diǎn)復信號完成5種功能:去直流、加窗、FFT、求功率譜和求3幀信號的功率譜之和。蝶形單元的復用大大節省了資源,采用塊浮點(diǎn)算法使處理的速度和精度都比較高。自頂向下的設計方法方便了功能擴展?!?/P>

參考文獻
1  C.D.Thompson, Fourier transforms in VLSI,  IEEE transactions on computers, vol.C-32, pp.1047-1057, November 1983
2  S.He and M.Torkelson, A new approach to pipeline FFT processor, in Proc.IEEE International Parallel Processing Symposium, pp.760-770,IPPS?6,IEEE,April 1996



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>