基于DSP的電力線(xiàn)載波OFDM調制解調器

發(fā)布時(shí)間:2010-11-25 12:00    發(fā)布者:eetech
利用電力線(xiàn)作為信道進(jìn)行通信是解決“最后一公里”問(wèn)題的一個(gè)很好的方法。然而電力線(xiàn)作為通信信道,存在著(zhù)高噪聲、多徑效應和衰落的特點(diǎn)。OFDM技術(shù)能夠在抗多徑干擾、信號衰減的同時(shí)保持較高的數據傳輸速率,在具體實(shí)現中還能夠利用離散傅立葉變換簡(jiǎn)化調制解調模塊的復雜度,因此它在電力線(xiàn)高速通信系統中的應用有著(zhù)非常樂(lè )觀(guān)的前景。文中給出一種基于正交頻分復用技術(shù)(OFDM技術(shù))的調制解調器的設計方案。

1 OFDM原理

OFDM全稱(chēng)為正交頻分復用(Orthogonal Frequency Division Multiplexing),其基本思想是把高速數據流經(jīng)過(guò)串/并變換,分成幾個(gè)低比特率的數據流,經(jīng)過(guò)編碼、交織,它們之間具有一定的相關(guān)性,然后用這些低速率的數據流調制多個(gè)正交的子載波并迭加在一起構成發(fā)送信號。每個(gè)數據流僅占用帶寬的一部分,系統由許多子載波組成。在接收端用同樣數量的載波對發(fā)送信號進(jìn)行相干接收,獲得低速率信息數據后,再通過(guò)并/串變換得到原來(lái)的高速信號。從而降低子載波上的碼率,加長(cháng)碼元的持續時(shí)間,加強時(shí)延擴展的抵抗力。

在OFDM中,為了提高頻帶利用率,令各載波上的信號頻譜相互重疊,但載波間隔的選擇要使這些載波在整個(gè)符號周期上正交,即相加于符號周期上的任何兩個(gè)子載波乘積為零。這樣,即使各載波上的信號頻譜間存在重疊,也能無(wú)失真復原。當載波間最小間隔等于符號周期的倒數的整數倍時(shí),可滿(mǎn)足正交性條件。實(shí)際上為實(shí)現最大頻譜效率,一般取載波間最小間隔等于符號周期的倒數。

OFDM允許各載波間頻率互相混疊,采用了基于載波頻率正交的IFFT/FFT調制,直接在基帶處理。1971年,Weinstein和Ebert將DFT引入到并行傳輸系統的調制解調部分。應用時(shí)去掉了頻分復用所需要的子載波振蕩器組、解調部分的帶通濾波器組,并且可以利用FFT的專(zhuān)用器件實(shí)現全數字化的調制解調過(guò)程。 OFDM技術(shù)具有頻譜利用率高、抗多徑干擾能力強、易于實(shí)現等優(yōu)點(diǎn),尤其適于多徑效應嚴重的寬帶傳輸系統,是一門(mén)具有發(fā)展前景、非常適合電力線(xiàn)高速數字通信的新興技術(shù)。




2 電力線(xiàn)載波通信系統結構

Homeplug是工業(yè)界第一個(gè)電力線(xiàn)家庭網(wǎng)絡(luò )標準。系統參考Homeplug采用的頻譜范圍4.5MHz~21MHz,并在Homeplug物理參數的基礎上確定本系統參數為: 采樣頻率fs=1/T = 15MHz 數據符號時(shí)間Td = 256;T=17.07μs 循環(huán)前綴時(shí)間Tcp = 172;T=11.47μs OFDM符號時(shí)間Ts = 428;T=28.5μs 數據子載波數為256 子載波間隔Δf=1/Td=0.05858MHz 總子載波占用帶寬 N;Δf=15MHz 由于加入了11.47μs的循環(huán)前綴,系統可以消除11.47μs以?xún)鹊幕夭ǜ蓴_。但是同時(shí)也付出頻帶利用率僅0.59B/Hz和損失功率2.23dB的代價(jià)。考慮到電力線(xiàn)惡劣的通信環(huán)境,付出的代價(jià)是值得的。 電力線(xiàn)高速通信系統的系統結構如圖1所示。輸入數據在OFDM信號調制部分依次經(jīng)過(guò)串/并變換、IFFT、加入循環(huán)前綴、并/串變換后,輸出調制后的信號,其頻帶范圍為0~15MHz、數據速率為8.97MB。經(jīng)過(guò)調制的信號經(jīng)過(guò)數/模變換和上變頻后,通過(guò)系統耦合部分進(jìn)入電力線(xiàn)。 電力線(xiàn)上的信號通過(guò)系統耦合部分,輸出的信號通過(guò)下變頻、模/數變換后輸入給OFDM信號解調部分。在經(jīng)過(guò)串/并變換、去除循環(huán)前綴、FFT、并/串變換后,輸出串行數據流。

3 OFDM調制解調器的硬件實(shí)現

基于TMS320C6201的OFDM調制解調器的硬件實(shí)現分別如圖2和圖3?1?所示。CI總線(xiàn)實(shí)現OFDM系統和計算機之間的通信。S5933是32bit PCI控制器。FPGA是系統的控制核心,系統的邏輯控制信號及時(shí)鐘由FPGA提供。DSP部分為系統的核心,完成OFDM的調制與解調。 PCI總線(xiàn)是寬度為32bits或64bits的地址數據復用線(xiàn),支持猝發(fā)傳輸,數據率為132Mbps,可滿(mǎn)足高速數據要求。CI總線(xiàn)能自動(dòng)配置參數,定義配置空間,使設備具備自動(dòng)配置功能,支持即插即用,采用多路復用技術(shù),支持多處理器64位尋址、5V和3.3V環(huán)境。其獨特的同步操作及對總線(xiàn)主控功能,可確保CPU能與總線(xiàn)同步操作,而無(wú)需等待總線(xiàn)完成任務(wù)。 S5933是AMCC?Applied Micro Circuits Corporation 公司開(kāi)發(fā)的32bit PCI控制器,具備強大、靈活的PCI接口功能,適用于高速數據傳輸場(chǎng)合。S5933芯片的特點(diǎn)是符合PCI2.1規范,支持PCI主、從兩種工作方式,支持多種數據傳輸方式,適用于不同的數據傳輸場(chǎng)合,支持PCI全速傳輸,提供8/16/32bit的Add-On用戶(hù)總線(xiàn),有高低字節順序調整功能,支持穿行和并行的BOOT/POST碼功能,160腳PQFP封裝。 DSP部分選用TI公司的TMS320C6201。TMS320C6201有32位的外部存儲接口EMIF,為CPU訪(fǎng)問(wèn)外圍設備提供了無(wú)縫接口。為了便于多信道數字信號處理,TMS320C6201配備了多信道帶緩沖能力的串口McBSP。McBSP的功能非常強大,除具有一般DSP串口功能之外,還可以支持T1/E1、ST-BUS、IOM2、SPI、IIS等不同標準。TMS32C6201提供的16位主機接口(HPI)使得主機設備可以直接訪(fǎng)問(wèn)DSP的存儲空間。通過(guò)內部或外部存儲空間,主機可以與DSP交換信息,也可以利用HPI直接訪(fǎng)問(wèn)映射進(jìn)存儲空間的外圍設備。TMS320C6201的DMA控制器有四個(gè)獨立的可編程通道,可以同時(shí)進(jìn)行四種不同的DMA操作。




4 OFDM在DSP上的軟件實(shí)現

調制部分的子程序被系統調用前,發(fā)送的數據已裝入數據存儲器。子程序被調用時(shí),數據區的首地址以及長(cháng)度被作為入口參數傳遞給子程序。程序執行時(shí)首先進(jìn)行一系列的配置工作,如配置DSP片內外設以及數模轉換器的各種參數等。之后,串口中斷產(chǎn)生,中斷服務(wù)程序自動(dòng)依次讀取發(fā)送存儲器中的內容,經(jīng)串口輸出給數模轉換器。然后程序從數據存儲區讀取一幀數據,并行放入IFFT工作區的相應位置,隨后進(jìn)行IFFT以及加入循環(huán)前綴(即復制數據的后若干位插入到數據的前段)。所得數據存入發(fā)送存儲器以便中斷服務(wù)程序將其輸出。 解調部分的程序首先執行DSP片內外設以及模數轉換器的配置,然后開(kāi)串行口,接收中斷,使接收中斷程序接收來(lái)自模數轉換器的采樣數據,并將采樣數據依次存入接收存儲器。每得到一幀數據,程序首先去除循環(huán)前綴(即刪去數據的前若干位),然后對去除循環(huán)前綴后的數據進(jìn)行FFT變換。

圖3 OFDM調制解調器電路原理圖 5 FFT在TMS320C6201上的優(yōu)化算法 表1給出256點(diǎn)Radix2FFT和Radix4FFT在TMS320C6201上所需的指令周期,以及在不同的工作頻率下完成FFT所需的時(shí)間。 由表1可以看出,在TMS320C6201上采用Raidx4算法比采用Radix2算法更加高效。并且,為了滿(mǎn)足系統需求,即在17.07μs之內完成256個(gè)復數點(diǎn)的FFT運算,TMS320C6201必須采用200MHz的工作頻率。 表1 6201上實(shí)現256點(diǎn)FFT所需的時(shí)間   

TMS320C6201工作頻率 256點(diǎn)復數FFT運算所需的總指令周期數 256點(diǎn)FFT所需時(shí)間 R2 100MHz 4225 42.25μs 200MHz 4225 21.1μs R4 100MHz 2763 27.63μs 200MHz 2763 13.8μs TMS320C6201的數據通路和流水線(xiàn)工作方式是對算法進(jìn)行優(yōu)化從而獲得高性能的基礎。TMS320C6201有兩個(gè)可以進(jìn)行數據處理的數據通路A和B2,每個(gè)通路有4個(gè)功能單元(.L.S.M.D)和一個(gè)包括16個(gè)32位寄存器的寄存器組。功能單元執行邏輯、位移、乘法、加法和數據尋址等操作。兩個(gè)數據尋址單元(.D1和.D2)專(zhuān)門(mén)負責寄存器組和存儲器之間的數據傳遞。在同一時(shí)刻,這些功能單元能夠并行地執行多條指令。TMS320C6201對任何指令的操作都能分為幾個(gè)子操作,每個(gè)子操作由不同單元完成。對每個(gè)單元來(lái)說(shuō),每個(gè)時(shí)鐘周期可進(jìn)入一條新指令,這樣在不同周期內,不同單元可以處理不同的指令,這種工作方式稱(chēng)為“流水線(xiàn)”工作方式。TMS320C6201的特殊結構,可使8條指令同時(shí)通過(guò)流水線(xiàn)的每個(gè)節拍,從而大大提高了機器的吞吐量。 為使代碼達到最大效率,程序將盡可能將指令安排為并行執行。為使指令并行操作,程序確定指令間的相關(guān)性,即一條指令必須發(fā)生在另一條指令之后。根據TMS320C6201的數據通路和流水線(xiàn)工作方式,在此給出一種高效實(shí)現16點(diǎn)Radix4FFT的方法。其基本思想是分解傳統的FFT蝶型算法循環(huán)體,將其分別展開(kāi)在A(yíng)、B通路內計算兩個(gè)FFT蝶型算法。每個(gè)蝶型算法分別只分配自己這一側的寄存器組和功能單元。這樣在循環(huán)體內兩個(gè)蝶型算法是完全不相關(guān)的,能夠并行執行。下面給出基于C.S.Burrus和T.W.Parks的Radix4FFT算法

3 的優(yōu)化算法的代碼實(shí)現。






void radix4(int n,short x[], short w[])


{
int n1,n2,ie,wa1,wa2,wa3, wb1,wb2,wb3,ia0,ia1,ia2,ia3,ib0,ib1,ib2,ib3,j,k;


short ta,tb,ra1,ra2,rb1,rb2,sa1,sa2,sb1,sb2,coa1,coa2,coa3,cob1,cob2,cob3,sia1,sia2,sia3,sib1,sib2,sib3;


n2=n;


ie=1;


for(k=n;k>1;k>>=2)


{ //number of stage
n1=n2;


n2>>=2;
//distance between input datas
wa1=0;


for(j=0;j wb1=wa1+ie;


wa2=wa1+wa1;






wb2=wb1+wb1;
//since here most of the folow-ering two instructions areparallel
wa3=wa2+wa1;


wb3=wb2+wb1;


coa1=w[wa1*2+1];


cob1=w[wb1*2+1];


sia1=w[wa1*2];


sib1=w[wb1*2];


coa2=w[wa2*2+1];


cob2=w[wb2*2+1];


sia2=w[wa2*2];


sib2=w[wb2*2];


coa3=w[wa3*2+1];


cob3=w[wb3*2+1];


sia3=w[wa3*2];


sib3=w[wb3*2];


wa1=wb1+ie;


for(ia0=j,ib0=j+1;ia0


{//loop of two butterflies caculation
ia1=ia0+n2;


ib1=ib0+n2;


ia2=ia1+n2;


ib2=ib1+n2;


ia3=ia2+n2;


ib3=ib2+n2;


ra1=x[2*ia0]+x[2*ia2];


rb1=x[2*ib0]+x[2*ib2];


ra1=x[2*ia0]-x[2*ia2];


rb1=x[2*ib0]-x[2*ib2];


ta=x[2*ia1]+x[2*ia3];


tb=x[2*ib1]+x[2*ib3];


x[2*ia0]=ra1+ta;
//x[2*ia0]


x[2*ib0]=rb1+tb;
//x[2*ia0]


ra1=ra1-ta;


rb1=rb1-tb;


sa1=x[2*ia0+1]+x[2*ia2+1];


sb1=x[2*ib0+1]+x[2*ib2+1];


sa2=x[2*ia0+1]-x[2*ia2+1];


sb2=x[2*ib0+1]-x[2*ib2+1];


ta=x[2*ia1+1]+x[2*ia3+1];


tb=x[2*ib1+1]+x[2*ib3+1];


x[2*ia0+1]=sa1+ta;


x[2*ib0+1]=sb1+tb;


sa1=sa1-ta;


sb1=sb1-tb;

x[2*ia2]=(ra1*coa2+sa1*sia2)>>15;


x[2*ib2]=(rb1*cob2+sb2*sib2)>>15;


x[2*ia2+1]=(sa1*coa2-ra1*sia2)>>15;


x[2*ib2+1]=(sb1*cob2-rb1*sib2)>>15;


ta=x[2*ia1+1]-x[2*ia3+1];

ra1=ra2+ta;


rb1=rb2+tb;


ra2=ra2-ta;


rb2=rb2-tb;


ta=x[2*ia1]-x[2*ia3];


tb=x[2*ib1]-x[2*ib3];


sa1=sa2-ta;


sb1=sb2-tb;


sa2=sa2+ta;


sb2=sb2+tb;


x[2*ia1]=(ra1*coa1+sa1*sia1) >>15;


x[2*ib1]=(rb1*cob1+sb1*sib1) >>15;


x[2*ia1+1]=(sa1*coa1-ra1*sia1)>>15;


x[2*ib1+1]=(sb1*cob1-rb1*sib1)>>15;


x[2*ia3]=(ra2*coa3+sa2*sia3) >>15;


x[2*ib3]=(rb2*cob3+sb2*sib3) >>15;


x[2*ia3+1]=(sa2*coa3-ra2*sia3)>>15;


x[2*ib3+1]=(sb2*cob3-rb2*sib3)>>15;



}

}
ie <<=2



}
}
本文地址:http://selenalain.com/thread-41598-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页