基于DSP的OFDM系統(tǒng)的設計.doc_第1頁
基于DSP的OFDM系統(tǒng)的設計.doc_第2頁
基于DSP的OFDM系統(tǒng)的設計.doc_第3頁
基于DSP的OFDM系統(tǒng)的設計.doc_第4頁
基于DSP的OFDM系統(tǒng)的設計.doc_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

摘要:設計了基于TMS320C5509DSP的OFDM系統(tǒng),針對軟硬件特性對方法做了詳細闡述并完 成了對該系統(tǒng)的實現(xiàn),給出了關鍵的測試結果。探討了整個基帶系統(tǒng)的軟件開發(fā)過程和步驟,論述了編程思路和說明了應用到的多通道串口和DMA,以及解釋程序 的關鍵代碼。 關鍵詞:數(shù)字信號處理器,正交頻分復用,多通道串口,直接存儲器存取 1、引言信息化已經(jīng)成為社會發(fā)展的大趨勢。信息化是以數(shù)字化為背景的,而DSP技術則是數(shù)字化最重要的基本技術之一。DSP 處理器是專門設計用來進行高速數(shù)字信號處理的微處理器。與許多通用的CPU和微控制器(MCU)相比,DSP處理器在結構上采用了許多的專門技術和措施來 提高處理速度。DSP處理器與通用微處理器不同,它沒有采用將程序代碼和數(shù)據(jù)公用一個公共的存儲空間和單一的地址與數(shù)據(jù)總線的馮諾依曼結構(Von Neumann Architecture),而是毫無例外的將程序代碼和數(shù)據(jù)的存儲空間分開,各有自己的地址與數(shù)據(jù)總線,即所謂的哈佛結構(Harvard Architecture),增大了處理器的數(shù)據(jù)交換能力。OFDM(正交頻分復用),是直接利用離散傅里葉變換(DFT),實現(xiàn)的一種多載波調制技術,它采用并行傳輸,將所 傳送的高速數(shù)據(jù)分解并調制到多個相互交疊并且正交的子信道中,使得每個子通道的碼元寬度大于擴展延時,若在碼元之間增加一定長度的保護間隔,則多徑傳輸引 起的碼間串擾基本被消除。OFDM的上述特點使其特別適于在存在多徑傳播和有多普勒頻移的移動無線傳輸信道中傳輸高速數(shù)據(jù)。目前應用于電力線通信,數(shù)字聲 廣播(DAB)和歐洲高清晰度電視傳輸標準(DVB-T), 無線局域網(wǎng)(WLAN)等業(yè)務中。論文在TMS320C5509DSP上根據(jù)系統(tǒng)的總體框圖,實現(xiàn)OFDM基帶系統(tǒng)的設計,并給出了具體的性能指標。2、OFDM系統(tǒng)的設計實現(xiàn)21 實現(xiàn)系統(tǒng)的任務流程圖系統(tǒng)每幀可以傳送56bits的有效信息,數(shù)據(jù)的傳輸速率將達到100kbit/s,并且為了減小傳輸過程中的信道 的不理想,用了BSPK對信源進行編碼映射,在傳輸過程中,傳輸?shù)氖菚r域的信號,但是實際有用的是這些時域信號的頻譜,這些信號在時域中是無規(guī)則的隨機信 號,但在其頻譜上的各個子載波攜帶著需傳輸?shù)男畔ⅰ,F(xiàn)工作框圖如圖1:圖1.系統(tǒng)的任務框圖整個系統(tǒng)由DSP和FPGA、D/A、A/D以及一些其他的硬件共同完成。任務流程是由 DSP接受由串/并轉換過后的并行數(shù)據(jù),在DSP內進行BPSK信源編碼,將0和1分別映射為0xbffd 和0x3fff兩個十六進制的數(shù),再送入IFFT單元將數(shù)據(jù)變到時域進行處理,然后把數(shù)據(jù)加上循環(huán)前綴,串行送給FPGA進行處理,由FPGA將數(shù)據(jù)發(fā)送 給接收板。接收板上由FPGA接到數(shù)據(jù)進行一系列處理后,將數(shù)據(jù)又串行傳給接收板的DSP。在接收板的DSP上將接受到的數(shù)據(jù)移走循環(huán)前綴,送入FFT單 元將數(shù)據(jù)還原到頻域,然后以0為門限進行判決,映射后得到最早的原始數(shù)據(jù)。21 任務流程詳解原始數(shù)據(jù)每幀攜帶56bit的二進制信息(即只有0和1兩種取值),在框圖中D/A和A/D部分都是由專門的硬件來完成,項目選用的是ADS828e,和DAC902u。發(fā)送部分:信源編碼部分我們采用的是BPSK,為的是進一步增大信號間的歐式距離,通過計算,我們決定選用0xbffd 和0x3fff兩個16進制的數(shù)來分別代表0和1。由于FFT變換要求數(shù)據(jù)是2N個數(shù)據(jù),所以將數(shù)據(jù)插入若干個零來補足。具體做法是,將映射后的第28個數(shù)據(jù)位置開始插入7個零。由于零頻時不能有信號(為了無直流分量),在幀的開始不傳信息,將第一個數(shù)插入零(不是0xbffd),把56個數(shù)變?yōu)?4個數(shù),在接收板上將把同樣位置的16個數(shù)去掉。將編碼映射后的16位數(shù)進行64點的IFFT,把數(shù)據(jù)由頻域變換到時域,等候下一步處理。在OFDM系統(tǒng)中,為了防止多徑延遲,必須加上循環(huán)前綴,而這些循環(huán)前綴又不能破壞子信道間的正交性,于是將最后 16位數(shù)提到前面來形成80個數(shù)。具體做法是,在IFFT完成后,要加上循環(huán)前綴才能將數(shù)據(jù)發(fā)送給FPGA,將數(shù)據(jù)的最后16位復制到數(shù)據(jù)開頭(原來的 16個數(shù)不動),把數(shù)據(jù)變?yōu)?0個,送給串口發(fā)送給FPGA。 在FPGA上進行FIR濾波,和一系列處理后,發(fā)送板的任務完成,接下來就將數(shù)據(jù)送給接收板。接收部分:由接收板上的FPGA接收到發(fā)送板送來的數(shù)據(jù),經(jīng)過一系列處理后將數(shù)據(jù)串行送給DSP等待進一步處理。接收板的DSP接收到FPGA發(fā)過來的80個串行數(shù)據(jù)后,先將循環(huán)前綴去掉,即去掉前16位數(shù),將80位的數(shù)據(jù)變?yōu)?4位,交給下一步處理。在把數(shù)據(jù)變回為64位后,將數(shù)據(jù)進行FFT變換,由時域變回頻域,交由下一步處理。在進行判決之前,先要把插入的16個數(shù)去掉,將64位數(shù)變?yōu)?6位,然后進行判決,BPSK有一個好處就是判決時可以直接以零為門限。經(jīng)過判決后,將數(shù)據(jù)還原成原來的初試值。綜上所述,在DSP部分,共有10項任務,發(fā)送端1 BPSK編碼和插入數(shù)據(jù)(數(shù)據(jù)個數(shù)由56變?yōu)?4個)2 作N=64的IFFT變換,將頻域的數(shù)據(jù)變到時域。3 加入循環(huán)前綴(數(shù)據(jù)個數(shù)由64個變?yōu)?0個),防止多徑延遲。4 通過DMA將數(shù)據(jù)送到Mcbsp發(fā)給FPGA。接收端5 由Mcbsp接到數(shù)據(jù)通過DMA存入數(shù)據(jù)空間(此時數(shù)據(jù)應該與第四步結束時相同)。6 去掉循環(huán)前綴(數(shù)據(jù)個數(shù)又由80個變?yōu)?4個,此時數(shù)據(jù)應該與第三步結束時相同)7 作64點FFT變換(此時結果應該與第一步結束時相同)8 去掉插入的數(shù)據(jù),反映射(數(shù)據(jù)個數(shù)由64個變?yōu)?6個,此時結果應該與第一步開始時相同)并解碼。23 DSP串口的接發(fā)配置和DMA的設置 系統(tǒng)實現(xiàn)關鍵在FFT的實現(xiàn)和DSP串口的接發(fā)配置和DMA的設置。這里詳細說明串口和DMA的設計方法。 系統(tǒng)用Mcbsp1發(fā)送數(shù)據(jù),用Mcbsp2來接收數(shù)據(jù),為了不占用過多的CPU資源,用DMA的4通道來傳送數(shù)據(jù)給串口,用5通道來接收數(shù)據(jù)。對于DMA和Mcbsp的使用主要是寄存器的配置問題,在這些配置當中可以對工作模式等一系列東西進行設置?,F(xiàn)分別介紹如下:對于Mcbsp來說,接收和發(fā)送可以配置在一起,采用了DSP自身帶有的CSL庫函數(shù),它對寄存器的配置是通過結構體來定義的,可以方便的修改成自己所需要的模式。在進行將DSP片內數(shù)據(jù)地址賦DMA中的地址時要注意,DMA中數(shù)據(jù)是以byte為單位存儲的,存儲的最小數(shù)據(jù)單位上byte,而片內存儲區(qū)間是以word為單位的,所以將地址交過去時,要將地址右依、移1位。如:srcAddrHi = (Uint16)(Uint32)(dmaXmtConfig.dmacssal) 15) & 0xFFFFu;srcAddrLo = (Uint16)(Uint32)(dmaXmtConfig.dmacssal) 15) &0xFFFFu; dstAddrLo = (Uint16)(Uint32)(dmaXmtConfig.dmacdsal) 1) & 0xFFFFu; 在進行中斷處理是時,要注意執(zhí)行的順序,首先要保存原來的中斷向量表,再清除原來的中斷,然后將局部中斷允許位開放(即關屏蔽位),開全局中斷,最后將中斷服務程序填入中斷向量表。old_intm = IRQ_globalDisable();IRQ_clear(xmtEventId);IRQ_enable(xmtEventId);IRQ_setVecs(0x10000);IRQ_plug(xmtEventId,&dmaXmtIsr);在程序任務完成之后,還要記得還原中斷,關掉Mcbsp和DMA。 MCBSP_close(hMcbspr); DMA_close(hDmaRcv);DMA_close(hDmaXmt);DMA_stop(hDmaXmt); IRQ_disable(xmtEventId);DMA_stop(hDmaRcv); IRQ_disable(rcvEventId);在設定的控制字下,串口1將以CPU時鐘頻率的1/70發(fā)出幀定位信號,寬度為一個碼元長度,上升沿有效,以幀定位 信號的1/80發(fā)出時鐘定位信號(因為一幀有80個元素),也是上升沿有效,發(fā)送元素是32bit的數(shù),這是因為發(fā)散的數(shù)據(jù)是復數(shù),分為虛部和實部,先放 實部后放虛部,所以一個元素是32個bit。串口2是接收端,接收外部幀同步信號和時鐘同步信號用來同步。外部傳來的各種信號和數(shù)據(jù)格式和串口1發(fā)送的相同,不過收的時鐘定位信號是下降沿有效。 在DMA方面,通道4是發(fā)送通道,通道5是接收通道,同步事件分別是發(fā)送串口和接收串口,在一個數(shù)據(jù)串口接收到了后會發(fā)中斷給DMA,使其接收數(shù)據(jù)或傳下一個數(shù)據(jù),所以在發(fā)端,需要手工先送一個數(shù)據(jù)過去。3 性能分析可靠性以外,速度是一個通信系統(tǒng)最重要的評估因素,而數(shù)據(jù)的處理速度在很大程度上限制了傳輸速度,成為了提高系統(tǒng)速 度的瓶頸。在設計中對系統(tǒng)傳輸由于是用DMA和Mcbsp的結合使用,速度超出了其他程序的執(zhí)行速度,只要傳輸在主函數(shù)的執(zhí)行時間內完成就不會造成系統(tǒng)的 阻塞,所以這部分只測試和評估各程序的執(zhí)行速度,傳輸?shù)臅r鐘定位脈沖是對CPU時鐘的35分頻遠遠快于處理速度,忽略它的測試不會對整個測試有很大影響。系統(tǒng)數(shù)據(jù)的傳輸速度達到100kbit/s,傳輸只要在上次數(shù)據(jù)處理完前完成就可以不計算傳輸?shù)乃俣龋园凑瘴覀?的預期速度,和我們DSP的CPU時鐘140MHz,可以算出所有的數(shù)據(jù)要在多少條指令周期內完成才不會對下一階段的任務產(chǎn)生影響,而CCS就有專門的測 試工具幫助我們測試執(zhí)行的指令周期。期望的最大執(zhí)行周期為14012564=71680條指令周期。由CCS自帶的時間測試是以執(zhí)行周期為單位的,在程序沒有進行編譯優(yōu)化時,我們測試得各部分和主函數(shù)的執(zhí)行速度如圖2所示:圖2 未優(yōu)化前的程序執(zhí)行時間測試結果在此結果中,我們可以看到main函數(shù)的執(zhí)行時間是39786個指令周期,完全可以滿足前面算出的最大指令執(zhí)行周期。順便一提,在這個測試工具中還可以看到所編譯的程序代碼的大小。在由CCS自帶的優(yōu)化工具進行調試的優(yōu)化后(即o2優(yōu)化),程序代碼的長度和執(zhí)行時間還可以大大的縮短。其結果見圖3所示:圖3 用參數(shù)o2優(yōu)化后的程序測試比較圖2和圖3,可以看出經(jīng)過優(yōu)化后的程序不僅在代碼長度上減少了進40%,在執(zhí)行速度上更是提高了2倍以上,有的子程序甚至提高了45倍。系統(tǒng)效率有了很大的提高,并且有較大的余量來實現(xiàn)其他任務。4 結論實現(xiàn)了OFDM系統(tǒng)基帶系統(tǒng)的DSP實現(xiàn),實現(xiàn)基帶信號的發(fā)送與接收??紤]到物理層的時延要求和實現(xiàn)的復雜度,本系 統(tǒng)采用串口和DMA結合的方法,對信號幀進行處理,將DSP核心處理單元解放出來,能完成復雜的信號處理任務。我們設計的系統(tǒng)數(shù)據(jù)的傳輸速度達到 100kbit/s,如果要達到更高的傳輸速率,可以改用更先進的DSP型號。參考文獻1 邱立存等,TMS320C54X系列DSP上FFT運算的實現(xiàn),微計算機信息,2005(21卷),136-1372 Orthogonal frequency division multiplexing. U.S. Patent 3488445.field Nov .14, 1996.3 TI, TMS320C55x Chip Support Library API Users Guide, SPRU433C October 20024 TI, Comparison of the TMS320C55x DSP EMIF and the TMS320C6000 DSP EMIF, Application Report SPRA7

溫馨提示

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

最新文檔

評論

0/150

提交評論