陳夢(mèng)妮
(重慶郵電大學(xué)光電工程學(xué)院,重慶 400065)
DAB發(fā)射機(jī)是數(shù)字音頻廣播(Digital Audio Broadcast,DAB)的重要組成部分。DAB發(fā)射系統(tǒng)包括信源編碼、信道編碼、時(shí)間交織、頻率交織、OFDM調(diào)制和射頻部分[1]。射頻部分包括上變頻和功率放大,這部分把DAB基帶信號(hào)搬移到發(fā)射頻率上并將其放大。
本文利用FPGA純數(shù)字可編程的特點(diǎn)實(shí)現(xiàn)了OFDM調(diào)制,并把嵌入FPGA的軟核nios作為CPU;利用正交數(shù)字上變頻芯片AD9957和數(shù)字可控增益放大芯片AD8369集成度高、功能強(qiáng)大的特點(diǎn),實(shí)現(xiàn)對(duì)DAB基帶信號(hào)的上變頻和信號(hào)放大,完成了DAB的發(fā)射。此DAB發(fā)射系統(tǒng)體積小,質(zhì)量輕,使用簡(jiǎn)單可靠,具有便攜式的特點(diǎn)。
DAB發(fā)射系統(tǒng)結(jié)構(gòu)如圖1所示。
首先是按照標(biāo)準(zhǔn)的ETI協(xié)議解ETI幀,經(jīng)解ETI還原的音頻、視頻、數(shù)據(jù)業(yè)務(wù)以及FIC(快速信息信道)數(shù)據(jù)需要進(jìn)行能量擴(kuò)散。它的基本方法就是用一個(gè)偽隨機(jī)二進(jìn)制序列與輸入的數(shù)據(jù)進(jìn)行模2相加,從而實(shí)現(xiàn)能量的擴(kuò)散。然后對(duì)數(shù)據(jù)進(jìn)行可刪除卷積編碼,DAB采用存儲(chǔ)深度為6、相應(yīng)的約束長(zhǎng)度為7和26(64)狀態(tài)的卷積編碼。不同的業(yè)務(wù)成分可采用不同的編碼率進(jìn)行信道保護(hù),通過對(duì)生成的母碼使用不同的刪除矢量來實(shí)現(xiàn)。時(shí)間交織的目的是把時(shí)間上可能出現(xiàn)的連續(xù)差錯(cuò)盡可能遠(yuǎn)地分開,改善時(shí)間選擇性衰落。頻率交織的目的是把頻域上連續(xù)出錯(cuò)頻譜按一定規(guī)律重新排列,改善頻率選擇性衰落效應(yīng)。DAB采用多載波調(diào)制方式,每個(gè)載波上面調(diào)制兩個(gè)比特的信息,因此還需進(jìn)行符號(hào)劃分。載波調(diào)試方式是采用四相差分相移鍵控(DQPSK)。最后將數(shù)據(jù)傳輸給FPGA。以上的信道編碼通過計(jì)算機(jī)軟件編程實(shí)現(xiàn)。
圖1 DAB發(fā)射系統(tǒng)結(jié)構(gòu)框圖
數(shù)據(jù)在FPGA的OFDM調(diào)制部分進(jìn)行IFFT運(yùn)算,OFDM調(diào)制后將數(shù)字基帶分為同相分量I和正交分量Q的標(biāo)準(zhǔn)DIQ接口的兩路信號(hào)。IQ數(shù)字基帶信號(hào)經(jīng)過正交數(shù)字上變頻芯片,也就是把數(shù)字基帶信號(hào)搬移到射頻中心頻率,然后轉(zhuǎn)換成模擬信號(hào)發(fā)射出去。由于上變頻后產(chǎn)生的信號(hào)功率比較低,通過天線發(fā)射后不能被DAB接收機(jī)正常接收。所以需要進(jìn)行信號(hào)增益放大。
系統(tǒng)是以FPGA芯片為核心,外圍有USB數(shù)據(jù)輸入電路、數(shù)字上變頻輸出電路、可變?cè)鲆嫘盘?hào)放大電路、外部存儲(chǔ)電路以及必要的I/O接口和供電電路,這些電路都是實(shí)現(xiàn)DAB發(fā)射所必須的。在FPGA芯片內(nèi)部主要完成IFFT算法實(shí)現(xiàn)OFDM調(diào)制,DIQ接口模塊和CPU軟核如圖2所示。整個(gè)系統(tǒng)通過niosⅡ軟核實(shí)現(xiàn)系統(tǒng)的控制和交互。
OFDM是一種多載波調(diào)制方式,選擇合適的載波間隔,在相鄰頻譜的過零點(diǎn)放置其他副載波,這樣雖然調(diào)制的副載波的頻譜有交疊,但是相鄰的副載波不會(huì)受到影響,OFDM的這個(gè)特點(diǎn)有效提高了頻譜利用率[2]。對(duì)于有K個(gè)副載波、符號(hào)持續(xù)時(shí)間為T的OFDM系統(tǒng)來說,它的信號(hào)可以用公式(1)來表示:
其中xK表示副載波的幅度和相位信息,上式從數(shù)學(xué)表達(dá)形式來看和離散傅里葉變換是一致的。由此OFDM調(diào)制可以通過離散傅里葉變換來實(shí)現(xiàn)。在實(shí)際運(yùn)用當(dāng)中離散傅里葉變換是通過其IFFT來實(shí)現(xiàn)的,這種算法可以節(jié)省運(yùn)算量和運(yùn)算時(shí)間,也使得OFDM的硬件實(shí)現(xiàn)變得容易。
圖2 FPGA實(shí)現(xiàn)的功能框圖
本設(shè)計(jì)采用ALTERA公司的CycloneⅢ系列FPGA芯片EP3C16Q240C8N來實(shí)現(xiàn)OFDM調(diào)制。將在計(jì)算機(jī)中完成信道編碼和載波調(diào)制的相位信息通過USB送入FPGA中的IFFT運(yùn)算模塊從而實(shí)現(xiàn)OFDM調(diào)制并輸出12位的IQ基帶信號(hào),其采樣率為4.096 Mbit/s。介于IFFT要求輸入序列的長(zhǎng)度為2的整數(shù)冪,而DAB載波的數(shù)目不滿足這個(gè)關(guān)系,所以必須進(jìn)行補(bǔ)零。對(duì)于DAB傳輸模式來說,載波數(shù)目為1 536,需要把-1 023 kHz到-769 kHz和769 kHz到1 024 kHz的幅度設(shè)置為0,也就是補(bǔ)512個(gè)零點(diǎn)構(gòu)成2 048點(diǎn)的IFFT[3]。
FPGA中除了實(shí)現(xiàn)OFDM調(diào)制,還使用到了嵌入FPGA的Nios CPU軟核。CPU實(shí)現(xiàn)對(duì)數(shù)據(jù)流的控制以及包括USB芯片、數(shù)字上變頻芯片和數(shù)字可變?cè)鲆娣糯笮酒某跏蓟涂刂啤?/p>
Nios CPU是一種采用流水線技術(shù)、單指令流的RISC處理器,其大部分指令可以在一個(gè)時(shí)鐘周期內(nèi)完成。Nios軟核處理器包括32位和16位兩種體系結(jié)構(gòu)的版本。設(shè)計(jì)中采用32位的Nios CPU,它規(guī)定字節(jié)寬度為8位,半字寬度為16位,字寬為32位。根據(jù)需求和現(xiàn)有的芯片資源,本設(shè)計(jì)中選擇NiosⅡ/f類型,它占用資源最多為1400-188LEs,功能也最多,速度也最快。
使用模擬的方式實(shí)現(xiàn)上變頻容易引入調(diào)制誤差,所以設(shè)計(jì)采用數(shù)字方式實(shí)現(xiàn)上變頻,即使用數(shù)字頻率合成器產(chǎn)生載波,然后把數(shù)字基帶信號(hào)搬移到產(chǎn)生的載波頻率上,最后轉(zhuǎn)換成模擬信號(hào)發(fā)射出去。
本文中的數(shù)字上變頻模塊AD9957是ADI公司推出的一款高性能的數(shù)字正交上變頻器件,內(nèi)置14 bit DAC模塊,內(nèi)部系統(tǒng)時(shí)鐘最高可達(dá)1 GSPs,其功耗減小到50%以上。根據(jù)采樣定理,一般要求DDS(數(shù)字頻率合成器)產(chǎn)生的載波頻率不能超過系統(tǒng)時(shí)鐘頻率的40%,所以芯片1 GHz的主頻可以產(chǎn)生400 MHz以內(nèi)正交載波[4],這樣就可以實(shí)現(xiàn)上變頻功能。圖3所示為芯片內(nèi)部結(jié)構(gòu)。圖中的IQ信號(hào)的時(shí)域表達(dá)式為:
(2)式中,I(t)和Q(t)為時(shí)域的同相分量和正交分量,ω是載波頻率。
圖3 AD9957的內(nèi)部結(jié)構(gòu)
經(jīng)過AD9957后的DAB信號(hào)只有-40 Bm,所以必須對(duì)DAB信號(hào)進(jìn)行放大。設(shè)計(jì)采用數(shù)字可變?cè)鲆娣糯笃鰽D8369,其帶寬范圍600 MHz,最大增益范圍-5 dB~40 dB,通過芯片使能端DENB和增益選擇控制端口BIT0~BIT3來控制信號(hào)放大[5]。
AD9957的輸出電阻為200 Ω,而AD8369的v輸入電阻為50 Ω,這兩塊芯片之間使用阻抗為50 Ω、變換比率為4的射頻變壓器TC4-1WG2+進(jìn)行阻抗匹配。由于AD9957和AD8369之間傳輸?shù)腄AB信號(hào)是寬帶信號(hào),所以使用射頻變壓器進(jìn)行阻抗匹配,相比較使用電阻網(wǎng)絡(luò)更加合適且運(yùn)用簡(jiǎn)單。
USB接口模塊主要是將在軟件編碼器上完成信道編碼的數(shù)字信號(hào)高速地傳輸?shù)紽PGA進(jìn)行IFFT運(yùn)算。在設(shè)計(jì)中,USB接口模塊的傳輸速度必須達(dá)到300 kbytes/s,才能滿足實(shí)時(shí)傳輸數(shù)據(jù)的要求。本文中選用了由FTDI公司推出的FT245BL芯片。該芯片性能優(yōu)良,提供了一種在PC主機(jī)和外設(shè)之間進(jìn)行數(shù)據(jù)傳輸?shù)暮?jiǎn)單、低成本、高效率的傳輸方法[6]。FT245BL需要6 MHz晶振,通過芯片內(nèi)部的振蕩器和倍頻產(chǎn)生12 MHz和48 MHz的時(shí)鐘供芯片使用。
SDRAM比FLASH速度快,比SRAM存儲(chǔ)空間大,一般把SDRAM作為Nios處理器的RAM和程序運(yùn)行空間。SDRAM在系統(tǒng)中還作為USB的緩存區(qū)使用。SDRAM的另一個(gè)好處就是可以節(jié)省引腳的資源。設(shè)計(jì)中選用IS42S16100-7T這款SDRAM作為FPGA的外部存儲(chǔ)器。IS42S16100-7T刷新周期為每4096行128 ms,有16 Mbits的存儲(chǔ)空間,速度達(dá)到了143 MHz。
圖4 SDRAM控制器核與外部SDRAM芯片的連接圖
FPGA與SDRAM的通信需要通過SOPCBuilder采用Nios內(nèi)部的SDRAM控制器,圖4所示為SDRAM控制器核與外部SDRAM芯片的連接圖,SDRAM的時(shí)鐘是由PLL時(shí)鐘專用于輸出外部時(shí)鐘提供。調(diào)試SDRAM和Nios的關(guān)鍵在于相位差,根據(jù)DAB發(fā)射系統(tǒng),由FPGA的專用PLL時(shí)鐘引腳輸出系統(tǒng)時(shí)鐘65.536 MHz,相位差計(jì)算如下:
所以對(duì)于控制器的時(shí)鐘,SDRAM的時(shí)鐘相移從-2.601 ns到2.601 ns。
圖5所示為DAB發(fā)射系統(tǒng)硬件電路實(shí)物圖,它的尺寸僅為100 mm×160 mm。
圖5 用于 DAB發(fā)射系統(tǒng)實(shí)物圖
對(duì)FPGA芯片進(jìn)行配置和Nios軟件程序下載后,電路板上電,初始化成功后即可使用。圖6所示為使用本文所設(shè)計(jì)的DAB發(fā)射電路產(chǎn)生的DAB信號(hào)頻譜,此DAB信號(hào)中心頻率為181.936 MHz,能被DAB接收終端接收,且播出的節(jié)目流暢。結(jié)果證明本文設(shè)計(jì)的這套便攜式DAB發(fā)射系統(tǒng)電路板工作穩(wěn)定。
圖6 DAB信號(hào)頻譜圖
[1] ETSI. Digital Audio Broadcasting (DAB) to mobile,portable and fixed receivers[M]. EN 300 401 3rd edition Radio broadcasting systems, 2000.
[2] Altera corporation. AN_503_1.0 Implementing OFDM Modulation for Wireless Communications[J]. 2008,1:1-2.
[3] 劉婷婷,杜偉韜. DAB系統(tǒng)中2048FFT的FPGA實(shí)現(xiàn)[J].電子產(chǎn)品世界,2008,1:80-83.
[4] ANALOG DEVICE. AD9957[R]. Norwood∶ DataSheet.Analog Device Inc, 2000.1-60.
[5] ANALOG DEVICE. AD8369[R]. Norwood∶ DataSheet.Analog Device Inc, 2000.1-60.
[6] FTDI. DS245BL Version1.7[S]. FT245BL USB FIFO(USBParallel) I.C. 2005.