第8章-直放站系統(tǒng)設計_第1頁
第8章-直放站系統(tǒng)設計_第2頁
第8章-直放站系統(tǒng)設計_第3頁
第8章-直放站系統(tǒng)設計_第4頁
第8章-直放站系統(tǒng)設計_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第8章直放站數(shù)字系統(tǒng)設計

18.1直放站FPGA系統(tǒng)設計直放站可以增強網(wǎng)絡覆蓋及網(wǎng)絡覆蓋質(zhì)量,可以顯著降低運營商的覆蓋成本。直放站(中繼器)屬于同頻放大設備,是指在無線通信傳輸過程中起到信號增強的一種無線電發(fā)射中轉設備。直放站的基本功能就是一個射頻信號功率增強器。直放站在下行鏈路中,由施主天線現(xiàn)有的覆蓋區(qū)域中拾取信號,通過帶通濾波器對帶通外的信號進行極好的隔離,將濾波的信號經(jīng)功放放大后再次發(fā)射到待覆蓋區(qū)域。在上行鏈接路徑中,覆蓋區(qū)域內(nèi)的移動臺手機的信號以同樣的工作方式由上行放大鏈路處理后發(fā)射到相應基站,從而達到基地站與手機的信號傳遞。

2直放站整體結構

3主要歸結起來主要有兩點,一是數(shù)據(jù)接口,二是數(shù)據(jù)處理。數(shù)據(jù)接口主要有數(shù)據(jù)鏈路接口和配置接口。數(shù)據(jù)接口包括ADC接口和DAC接口,這兩個接口主要承擔了信號的輸入輸出,配置接口,主要是對外圍器件的配置,如ATT(衰減器),PLL(鎖相環(huán))等。數(shù)據(jù)處理功能主要利用數(shù)字濾波器進行選頻,把外的干擾信號濾除。下面對上述提到的接口做詳細分析。

4數(shù)據(jù)接口ADC接口

以TI公司的ADS58C28為例介紹其數(shù)據(jù)接口的實現(xiàn)。ADS58C28是一個11bit的ADC,該ADC的詳細參數(shù)在其官方網(wǎng)站上有詳細的資料介紹,這里不在贅述,這里重點根據(jù)其時序圖介紹數(shù)據(jù)接口的實現(xiàn)。ADS58C28的時序圖如下圖所示:ADS58C28時序從圖中可以看到該ADC采用的是DDR(雙數(shù)據(jù)率)傳輸方式,即在一個時鐘周期內(nèi)傳輸兩個比特的數(shù)據(jù),在時鐘的下降降沿傳輸偶數(shù)比特,如D0,D2,D4等;在時鐘的上升沿傳輸奇數(shù)比特,如D1,D3,D5等;它總共有6對LVDS線,其中第一對數(shù)據(jù)線傳輸0和D0,第二對LVDS傳輸D1和D2,依次類推;ADC接口的作用就是將ADC的數(shù)據(jù)接收下來,轉換成FPGA能識別和方便處理的方式。其主要包含3個步驟第一,根據(jù)其時序圖將其DDR(雙數(shù)據(jù)率)傳輸方式轉換成SDR(單數(shù)據(jù)率)的傳輸方式,這是因為FPGA內(nèi)部的處理基本上都是單數(shù)據(jù)率的。第二,將已經(jīng)轉化成的SDR數(shù)據(jù)按照MSB(MostSignificantBit即最高有效位)排序。第三,隔離時鐘域,為什么還需要這個步驟呢?簡單來說就是因為ADC的隨路時鐘與FPGA的內(nèi)部時鐘是不同的時鐘源或者通過不同的傳輸路徑傳輸之后,會不同步,如果沒有將這兩個時鐘域隔離開關,那么在用FPGA內(nèi)部時鐘同步數(shù)據(jù)的時候就有可能會錯拍,導致數(shù)據(jù)出錯。

第一個步驟DDR轉SDR在QuartusII軟件中有專門的IPCore來實現(xiàn)該功能,生產(chǎn)方法如下:在Tools菜單下,選擇MegaWizardPlug-InManager選項

選擇Createanewcustommegafunctionvariation創(chuàng)建一個新的IP;在左邊的導航欄中展開I/O文件夾,選ALTDDIO_IN,這個就是專門用于DDR輸入轉換的,下面的ALTDDIO_OUT則是用于輸出的。在右手邊的選項中根據(jù)自己的需要選擇要生產(chǎn)的語言類型和產(chǎn)生的IPCore路徑和名稱;選擇ALTDDIO_IN根據(jù)ADS58C28的數(shù)據(jù)位寬,選擇6bits,為使后續(xù)排序能更好的采到穩(wěn)定數(shù)據(jù),這里勾選Invertinputclock,這個在后面的介紹中會說明原因;在仿真模型中,列出了要仿真該IPCore需要的元器件庫有altera_mf,另外如果需要還可以勾選生成網(wǎng)表,如無特殊要求,一般不用勾選;在在后一頁列出了所生成的文件,其中灰色不可選的是IPCore的核心文件,其他的文件可以根據(jù)需要勾選,如想用原理圖來實現(xiàn)的可以選擇.bsf文件,用代碼實現(xiàn)的可以選擇inst.v或bb.v文件,其中inst.v文件列出了IP例化的端口,二bb.v文件則是一個黑盒子形式,可以根據(jù)個人習慣選擇,這里選擇inst.v文件,當然你也可以全部都選上,這個不會有沖突的。選擇實現(xiàn)文件形式生成IPCore后,頂層文件inst.v文件代碼,我們可以直接利用該文件對其進行例化。第二個步驟是對轉換成SDR格式的數(shù)據(jù)進行排序。ALTDDIO_IN的時序圖如下[23]:根據(jù)該時序圖,轉換之后,我們在inclock的下降沿去采輸出數(shù)據(jù)就能采到比較穩(wěn)定的數(shù)據(jù),由于我們一般都用上升沿去采數(shù)據(jù),所以在前面生成IPCore的時候,選擇了Invertinputclock。第三個步驟是隔離時鐘域,該功能主要利用一個異步FIFO(FirstInFirstOut,即先進先出),F(xiàn)IFO的輸入時鐘(寫時鐘)是ADC的隨路時鐘,該時鐘將ADC數(shù)據(jù)寫入FIFO的存儲區(qū)。輸出時鐘(讀時鐘)是FPGA內(nèi)部的系統(tǒng)時鐘,該時鐘在FIFO的存儲區(qū)將已經(jīng)被穩(wěn)定保存的數(shù)據(jù)從存儲區(qū)讀出來,這樣就能將ADC的數(shù)據(jù)與FPGA的內(nèi)部系統(tǒng)時鐘進行同步。其他的選項按默認即可異步FIFOFIFOIP選項DAC接口

以NXP公司的DAC1405為例,其數(shù)據(jù)接口的時序圖如下根據(jù)DAC1405的datasheet可知,SYNC(即clock)是輸出信號,F(xiàn)PGA要將處理完的數(shù)據(jù)用這個時鐘打出2來,傳輸格式為SDR,所以相對ADC接口來說比較簡單,只要用一個FIFO隔離FPGA內(nèi)部時鐘和DAC的時鐘即可,做法與ADC接口大同小異。要注意的一點是由于通過FPGA處理之后,數(shù)據(jù)分為IQ兩路,為了使IQ在FIFO上電時不錯位,需將IQ信號按位拼接成一個28bits的數(shù)據(jù)經(jīng)過FIFO之后再分離。SPI接口

以TI公司的LMX2531為例,講解FPGA通過SPI接口配置PLL。從官方的datasheet中可以找到LMX2531的配置時序圖,如下圖所示:上面分別介紹了ADC接口,DAC接口,SPI接口,跟FPGA相關的接口還有UART接口,I2C接口等等,由于篇幅問題不再一一介紹,有興趣的讀者可以參考相關資料,自己設計。這里推薦一個叫opencores的開源網(wǎng)站,該網(wǎng)站上有各種IPCore可以下載。網(wǎng)址是:。信號處理部分

在直放站中,數(shù)據(jù)處理最常用的有抽取,下變頻,選頻濾波,上變頻,內(nèi)插等。另外還有一些特殊功能,如數(shù)字預失真,自激對消等,這些系統(tǒng)比較復雜,有專門的書籍對此做詳細介紹,本章不做介紹,有興趣的讀者可以參考相關資料學習。以下的章節(jié)將重點介紹最常用的抽取內(nèi)插,上下變頻,選頻等數(shù)字信號處理實現(xiàn)方法。數(shù)據(jù)的抽取和內(nèi)插。由于在無線通信中,信號的帶寬一般比較寬,如:GSM在國內(nèi)是30MHz(每載波200kHz),CDMA是10MHz(每載波1.2288MHz)WCDMA是60MHz(每載波5MHz),TD-SCDMA目前國內(nèi)使用的A頻段15MHz(每載波1.6MHz)。在采樣定理中我們知道,要完全恢復信號,對信號的采樣速率必須大于等于2倍的信號帶寬。而在工程中為達到更好的性能,一般會留一定的余量,比如3~4倍甚至更高。因此一般ADC的采樣率一般都會比較高。ADC采樣后送給FPGA的高采樣率數(shù)據(jù)對FPGA來說意味著需要更高的系統(tǒng)時鐘和更高的資源使用,當然這就會帶來更高的成本和功耗。為了解決該問題,在FPGA接收到ADC的數(shù)據(jù)后,一般會做抽取處理,將數(shù)據(jù)率降到FPGA能處理又不影響性能的速率。在信號與系統(tǒng)的課程中我們知道對信號進行抽取時,為避免高頻分量混疊到帶內(nèi),要在抽取之前加上抗混疊濾波器,所以整個抽取包括兩部分:濾波和抽取。下圖為4倍抽取,即4個點留下一個。抽取濾波器一般有CIC(級聯(lián)積分梳狀)濾波器,F(xiàn)IR(有限長單位沖激響應)濾波器和HB(半帶)濾波器(2倍抽?。┑?。CIC濾波器的主要特點是僅利用加法器、減法器和寄存器(無需乘法器),因此占用資源少、實現(xiàn)簡單且速度高。FIR濾波器是數(shù)字信號處理系統(tǒng)中最基本的元件,它可以在保證任意幅頻特性的同時具有嚴格的線性相頻特性,同時其單位抽樣響應是有限長的,因而濾波器是穩(wěn)定的系統(tǒng)。因此,F(xiàn)IR濾波器在通信、圖像處理、模式識別等領域都有著廣泛的應用。其實HB濾波器是一種特殊的FIR濾波器,這種濾波器由于通帶和阻帶相對于二分之一Nyquist頻率對稱,因而有近一半的濾波器系數(shù)精確為零。當作為抽取因子為2的抽取濾波器時,可大大減少濾波的運算量。下面的章節(jié)以HB濾波器為例介紹抽取濾波器的實現(xiàn),起到一個拋磚引玉的作用,其他的濾波器有興趣的讀者可以根據(jù)其原理自己實現(xiàn)。FIR濾波器的數(shù)學表達式為:,其中,xn-i是時刻n-i的輸入信號,hi是第i個系數(shù)。這里涉及到一個系數(shù)如何產(chǎn)生的問題。一般我們會在Matlab里面有一個叫FDATool的工具里面先設計一個濾波器,并將其系數(shù)導出來,放在FPGA的BlockROM里面。在做運算時將系數(shù)從ROM里面讀出來做運算。下面介紹一下如何用Matlab的FDATool工具設計濾波器。打開Matlab,在命令行窗口輸入fdatool指令,按回車,就會彈出FDATool工具的窗口。FDATool界面我們以采樣率為122.88MHz,兩倍抽取,帶寬30MHz,帶內(nèi)紋波0.01dB,為例設計一個半帶濾波器。參數(shù)設置如下:點擊DesignFilter按鈕,生成如下濾波器:點擊按鈕,可以切換到系數(shù)從上圖我們可以看到半帶濾波器中間有幾個系數(shù)是0,這些系數(shù)在做乘法的時候可以不用參與運算,所以可以節(jié)省乘法器資源。我們可以通過File菜單下的Export選項將系數(shù)導出。導出格式我們下面將利用QuartusII的IPCore來生成這個濾波器。所以要將系數(shù)整理成IPCore工具能識別的格式。并將其保存下來,這里保存成hb_filter.fcf。如下圖所示:導出的濾波器參數(shù)在Tools菜單下,選擇MegaWizardPlug-InManager選項,打開IPCore工具,并選擇Createanewcustommegafunctionvariation創(chuàng)建一個新的IP。在左邊的導航欄中展開DSP文件夾,選中Filters中的FIRCompilerIIv12.0。在右邊選擇語言種類并命名,這里以VerilogHDL為例,命名為hb_filter。使用FIRComplier生成濾波器按如下配置濾波器的參數(shù),并導入上面用Matlab生成的系數(shù)。導入FDATool生成的濾波器參數(shù)濾波器輸入輸出設置濾波器實現(xiàn)參數(shù)選擇點擊Finish完成。在生成的文件中有一個hb_filter_sim文件夾,該文件夾包含了該濾波器仿真的所有文件,有興趣的讀者可以利用該文件夾中的文件用Modelsim對其仿真。內(nèi)插濾波器的設計與抽取是一個逆過程,實現(xiàn)方法大同小異。有興趣的讀者可以行設計。信號的上變頻(DUC)和下變頻(DDC)經(jīng)過抽取后的信號是一個寬帶的信號(如上例30MHz),以WCDMA為例,30MHz有6個載波,在FPGA中對載波進行選頻濾波,需要將各個載波分別移到零頻,再用一個低通濾波器(如FIR濾波器)將其他載波信號濾除。如圖9.25所示。下變頻的原理主要是將輸入信號與一個數(shù)控振蕩器(NCO)相乘,得到指定載波頻譜向下搬移到零頻的頻譜。原理框圖如下圖所示:下變頻原理NCO采用的直接數(shù)字頻率合成技術(DDS)是一種實用的頻率合成技術,DDS由相位概念出發(fā)直接合成所需波形的一種新的頻率合成技術。DDS合成技術采用了簡便和有效的查表法,

即根據(jù)各個正弦波相位計算好相位對應的正弦值,存在ROM中。隨著時鐘周期變換,相位累加器不斷頻率控制字累加,送出相應的相位累加值;按照產(chǎn)生的相位累加值在正弦數(shù)據(jù)存儲單元中查出對應的正弦幅度值并輸出。當一個周期相位滿后,查找表回到初始值。DDC的數(shù)學模型如下式所示:從上式可以看出,輸出:通過上述分析可以看出,下變頻最主要的是完成NCO和一個復數(shù)乘法。下面介紹如何用QuartusII的IPCore工具生成NCO。在Tools菜單下,選擇MegaWizardPlug-InManager選項,打開IPCore工具,并選擇Createanewcustommegafunctionvariation創(chuàng)建一個新的IP。在左邊的導航欄中展開DSP文件夾,選中SignalGeneration中的NCOv12.0。在右邊選擇語言種類并命名,這里選擇VerilogHDL,命名為nco。選擇NCOIP在彈出的對話框中點擊配置NCO的參數(shù),可按照如下參數(shù)配置好NCO。由于系統(tǒng)時鐘是122.88MHz,而ADC輸入的122.88MSPS的數(shù)據(jù)率在前面已經(jīng)被抽取了2倍,變成61.44MSPS,所以這里通道數(shù)我們選擇2通道,可以進行多路復用??梢赃M行下列參數(shù)設置,如下如:NCO實現(xiàn)選項設置最后一頁顯示了該NCO的資源使用情況。點擊Finish按鈕完成配置。點擊可以配置仿真模型,勾選GenerateSimulatonModel,在Language欄選擇VerilogHDL。這樣在生成IPCore的同時會生成一個仿真模型,在Modelsim中仿真時可以調(diào)用。設置NCO仿真最后點擊按鈕,IPCore工具會自動按照配置要求生成所需的文件。如下圖所示。有了NCO之后,我們還需要做復數(shù)乘法,就需要用到FPGA里面的硬件乘法器。當然IPCore工具也可以直接生成一個復數(shù)乘法器,只要直接調(diào)用即可。為了更好的講述復數(shù)乘法的實現(xiàn)過程,這里選擇先生成乘法器,再用乘法器運算實現(xiàn)復數(shù)乘法器。下面介紹硬件乘法器的生成。打開IPCore工具,創(chuàng)建一個新的IPCore,在左邊的導航欄展開Arithmetic文件夾,選中LPM_MULT。在左邊選擇VerilogHDL,并命名為mult_s18xs18。乘法器IP由于Altera的FPGA里面的乘法器最小單元是9bit*9bit,用兩個9bit*9bit就可以組成一個18bit*18bit的乘法器。為了達到更好的精度又能盡可能的利用好FPGA的乘法器資源,我們選擇生成18bit*18bit的乘法器。參數(shù)配置如下:乘法器選項由于我們要進行處理的數(shù)據(jù)都是有符號數(shù)的,所以在MultiplicationType選項中選擇Signed。其他默認即可由于Altera的硬件乘法在輸入輸出各配置了一個寄存器,可根據(jù)需要進行選擇,為了達到跟好的時序收斂性能,在處理中我們一般都會用到流水

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論