朱泳霖,羅桂娥
(中南大學(xué) 信息科學(xué)與工程學(xué)院,湖南 長(zhǎng)沙 410083)
在現(xiàn)代通信中,頻譜和功率都是珍貴的資源,如何有效提高頻譜利用率一直是人們關(guān)注的焦點(diǎn)之一。單獨(dú)使用幅度或者相位攜帶信息時(shí),不能充分利用信號(hào)平面,頻譜利用率不高,對(duì)頻譜資源是一種浪費(fèi)。因此傳統(tǒng)的數(shù)字調(diào)制方式已不能滿足應(yīng)用的需要,需要采用新的數(shù)字調(diào)制方式以減小信道對(duì)所傳輸信號(hào)的影響,以便在有限的帶寬資源條件下獲得更高的傳輸速率。這些技術(shù)的研究主要是圍繞充分節(jié)省頻譜和高效率地利用頻帶資源展開的。多進(jìn)制調(diào)制是提高頻譜利用率的有效方法,恒包絡(luò)技術(shù)能適應(yīng)信道的非線性,并且保持較小的頻譜利用率。正交幅度調(diào)制QAM(Quadrature Amplitude Modulation)就是一種頻譜利用率很高的調(diào)制方式,這種調(diào)制方式用2個(gè)獨(dú)立的基帶波形對(duì)相互正交的載波進(jìn)行雙邊帶調(diào)制,充分利用整個(gè)信號(hào)平面,頻譜利用率很高,目前已經(jīng)在中、大容量微波通信系統(tǒng)、有線電視網(wǎng)絡(luò)高速數(shù)據(jù)傳輸、衛(wèi)星通信系統(tǒng)等領(lǐng)域得到了廣泛應(yīng)用[1]。
采用CORDIC算法很容易實(shí)現(xiàn)正交載波,也利于在FPGA上進(jìn)行控制,很適合于系統(tǒng)的VLSI實(shí)現(xiàn)。本文給出了一種基于流水線CORDIC算法的QAM調(diào)制系統(tǒng)的FPGA實(shí)現(xiàn),并給出了最后的仿真結(jié)果。
正交振幅調(diào)制是用2個(gè)獨(dú)立的基帶數(shù)字信號(hào)對(duì)2個(gè)相互正交的同頻載波信號(hào)進(jìn)行抑制載波的雙邊帶調(diào)制,利用這種已調(diào)信號(hào)在同一帶寬內(nèi)頻譜正交的性質(zhì)來實(shí)現(xiàn)兩路并行的數(shù)字信息傳輸。
正交振幅調(diào)制信號(hào)的一般表示式為:
式中,An是基帶信號(hào)幅度,g(t-nTs)是寬度為Ts的單個(gè)基帶信號(hào)波形。式(1)還可以變換為正交表示形式:
令 Xn=Ancosφn、Yn=Ansinφn,則式(2)變?yōu)椋?/p>
QAM中的振幅Xn和Yn可以表示為:
式中,A 是固定振幅,cn、dn由輸入數(shù)據(jù)確定。 cn、dn決定了已調(diào)QAM信號(hào)在信號(hào)空間中的坐標(biāo)點(diǎn)。
QAM信號(hào)調(diào)制原理圖如圖1所示。圖中,輸入的二進(jìn)制序列經(jīng)過串/并變換器輸出速率減半的2路并行序列,再分別經(jīng)過2電平到L電平的變換,形成L電平的基帶信號(hào)。為了抑制已調(diào)信號(hào)的帶外輻射,該L電平的基帶信號(hào)還要經(jīng)過預(yù)調(diào)制低通濾波器,形成X(t)和Y(t),再分別對(duì)同相載波和正交載波相乘。最后將2路信號(hào)相加即可得到QAM信號(hào)。
圖1 QAM調(diào)制原理圖
圖2給出了基于流水線CORDIC算法的QAM調(diào)制系統(tǒng)的組成框圖。偽隨機(jī)序列發(fā)生器產(chǎn)生的高速數(shù)字序列通過串并轉(zhuǎn)換、差分編碼和星座圖映射后變成I、Q 2路數(shù)據(jù)流,經(jīng)過成形濾波后分別與2路相互正交的載波相乘,再把2路信號(hào)相加就得到已調(diào)的QAM信號(hào)。本文選取的電平數(shù)L為4,即對(duì)16QAM調(diào)制系統(tǒng)進(jìn)行研究和設(shè)計(jì)。本設(shè)計(jì)中除了D/A轉(zhuǎn)換以外,每個(gè)功能模塊都用FPGA實(shí)現(xiàn)。
圖2 QAM調(diào)制系統(tǒng)組成框圖
成形濾波模塊的設(shè)計(jì)和載波信號(hào)的產(chǎn)生及調(diào)制實(shí)現(xiàn)是本設(shè)計(jì)的重點(diǎn)及難點(diǎn),下面作重點(diǎn)描述。
為了讓信號(hào)在有限的信道中傳輸,提高頻譜利用率,通常在發(fā)送端把信號(hào)經(jīng)過成形濾波器進(jìn)行帶寬限制,由此就會(huì)引入碼間干擾。為了有效地減少碼間干擾,按照最佳接受理論,收發(fā)基帶濾波器應(yīng)共軛匹配,設(shè)計(jì)時(shí)收發(fā)基帶濾波器采用均方根升余弦滾降濾波器即可滿足要求。
在實(shí)際電路設(shè)計(jì)中,采用具有線性相位的FIR濾波器來實(shí)現(xiàn)均方根升余弦滾降特性的成形濾波器。1個(gè)N階FIR濾波器的差分方程表達(dá)式為:
線性相位的FIR濾波器的系數(shù)是偶對(duì)稱或奇對(duì)稱的,利用系數(shù)的對(duì)稱性可減少乘法器的數(shù)量,本系統(tǒng)采用N為偶數(shù)且系數(shù)偶對(duì)稱的線性相位的FIR濾波器。濾波器的系數(shù)是一個(gè)固定的值,根據(jù)均方根升余弦的沖擊響應(yīng)特性,利用MATLAB軟件可以直接生成FIR濾波器系數(shù)hk(k=0,1,…,N-1)。所以濾波器系數(shù)的乘法都是固定系數(shù)的乘法。
利用FPGA實(shí)現(xiàn)FIR濾波器的方法一般有串行實(shí)現(xiàn)、并行實(shí)現(xiàn)和分布式實(shí)現(xiàn)等幾種。串行濾波器只有1個(gè)乘累加單元,在硬件資源上比較節(jié)省,但是需要多個(gè)時(shí)鐘才能完成1次濾波運(yùn)算。直接并行FIR濾波器雖然可以在1個(gè)時(shí)鐘周期內(nèi)完成1次濾波,但由于其中的乘累加器都是用大面積的組合邏輯完成,器件延時(shí)比較大,所以其工作速度不可能太高。而如果采用基于流水線的并行結(jié)構(gòu),雖然多消耗了寄存器資源,但它可以大大縮短其中關(guān)鍵路徑的長(zhǎng)度,使程序的工作速度有很大提高。分布式算法(DA)的優(yōu)勢(shì)是不用乘法器資源,但它的濾波速度比較慢,濾波速度由輸入數(shù)據(jù)的位寬決定,所以該算法適合于對(duì)資源敏感,并且輸入位寬比較窄的濾波系統(tǒng)。
本文采用DA算法,利用FPGA查找表代替乘法器來實(shí)現(xiàn)FIR濾波器,其基本思想如下。
與T0時(shí)點(diǎn)相比,C組在T2和T3時(shí)點(diǎn)BP、HR均明顯增高,術(shù)中及術(shù)后各時(shí)點(diǎn)VAS評(píng)分均升高(P<0.05);與 T0時(shí)點(diǎn)相比,D組患者BP、HR在各時(shí)點(diǎn)差異無統(tǒng)計(jì)學(xué)意義(P>0.05),在T1~T5時(shí)點(diǎn)VAS評(píng)分升高(P<0.05)。在 T2和 T3時(shí)點(diǎn),D組BP均明顯低于C組(P<0.05);在T2時(shí)點(diǎn),D組患者HR明顯低于C組(P<0.05)。兩組患者各時(shí)點(diǎn)VAS評(píng)分變化趨勢(shì)基本相同,但T1~T5時(shí)點(diǎn)C組VAS評(píng)分明顯高于D組,差異有統(tǒng)計(jì)學(xué)意義(P<0.05)。見表1。兩組術(shù)后各時(shí)點(diǎn)SpO2變化曲線基本重合,差異無統(tǒng)計(jì)學(xué)意義(P>0.05)。
假設(shè)輸入信號(hào)數(shù)據(jù)的位為B位,則濾波器在n時(shí)刻的第k個(gè)輸入為:
若濾波器的階數(shù)為 N,抽頭系數(shù)為 hk(k=0,1,…,N-1),則輸出信號(hào)為:
從式(8)可以看出,F(xiàn)IR濾波器中累加單元的運(yùn)算是算法核心。如果建立1個(gè)查找表(LUT),表中數(shù)據(jù)由所有固定系數(shù)的所有加的組合構(gòu)成,那么,用N位輸入數(shù)據(jù)構(gòu)成的N位地址去尋址LUT。如果N位都為1,則LUT的輸出為N位系數(shù)的和;如果N位中有0,則其對(duì)應(yīng)的系數(shù)將從和中去掉。這樣乘法運(yùn)算就成了查找操作,整數(shù)乘法可以通過左移b位實(shí)現(xiàn)。
圖3為信號(hào)通過成形濾波器前后的仿真結(jié)果對(duì)比。通過波形對(duì)比,可以很明顯地看出,經(jīng)過成形濾波之后的信號(hào)更適合在信道中進(jìn)行傳輸。
2.2.1 CORDIC算法原理
CORDIC算法由Volder J于1959年提出,并首先應(yīng)用于導(dǎo)航系統(tǒng),使得矢量的旋轉(zhuǎn)和定向運(yùn)算不需要做查三角函數(shù)表、乘方、開方以及反三角函數(shù)等復(fù)雜運(yùn)算。該算法的基本思想是通過一系列固定的、與運(yùn)算基數(shù)相關(guān)的角度的不斷偏擺以逼近所需的旋轉(zhuǎn)角度。由于其基本運(yùn)算單元只有移位與加減法,這就為該算法的VLSI實(shí)現(xiàn)打下了良好的基礎(chǔ)[2]。
2.2.2 基于流水線CORDIC算法的FPGA實(shí)現(xiàn)及仿真結(jié)果
有很多途徑可以實(shí)現(xiàn)一個(gè)CORDIC處理器,其中比較常用的CORDIC處理結(jié)構(gòu)有迭代結(jié)構(gòu)和流水線結(jié)構(gòu)2種[3]。迭代結(jié)構(gòu)也稱為串并結(jié)構(gòu),此結(jié)構(gòu)的移位寄存器不能很好地應(yīng)用于FPGA,因?yàn)檫@個(gè)結(jié)構(gòu)需要比較大的扇入系數(shù)。如果用FPGA實(shí)現(xiàn),可能會(huì)造成比較大的延時(shí),處理速度上不去。并且它的輸出結(jié)果由它的迭代次數(shù)決定。而如果采用流水線結(jié)構(gòu)的CORDIC處理器,這些移位寄存器各自有不同的固定的移位次數(shù),并且角度累加器原本需要的查找角度值被拆分,作為角度累加器鏈中每個(gè)加法器的1個(gè)常量輸入。這些常量可以用硬件連線來代替存儲(chǔ)空間。整個(gè)CORDIC處理器被精簡(jiǎn)成一個(gè)內(nèi)部互連的加/減法器陣列。這樣的電路完全是由組合邏輯電路組成的,在FPGA中實(shí)現(xiàn)的時(shí)候,電路的延遲比較大,但如果在每個(gè)加/減法器中插入寄存器,構(gòu)成流水線結(jié)構(gòu),就可以提高系統(tǒng)工作速度。
本文中的設(shè)計(jì)采用流水線結(jié)構(gòu),仿真圖如圖4所示。clk為時(shí)鐘信號(hào),rst_n為復(fù)位信號(hào),ena為使能信號(hào),phase為輸入相位,sin、cos為2路相互正交的載波信號(hào)。這2路信號(hào)具有很好的正交性,由于存儲(chǔ)精度的影響,存在量化誤差。
根據(jù)以上各模塊單元的設(shè)計(jì),最后完成了16QAM調(diào)制系統(tǒng)的實(shí)現(xiàn)。圖5為整個(gè)調(diào)制系統(tǒng)的局部功能仿真結(jié)果圖。clk為偽隨機(jī)序列發(fā)生器的時(shí)鐘信號(hào),clk1為載波生成的時(shí)鐘信號(hào),其頻率遠(yuǎn)高于clk,reset為系統(tǒng)復(fù)位信號(hào),最下方的信號(hào)為同相和正交相的I、Q 2路數(shù)據(jù)流,y是系統(tǒng)輸出的16QAM信號(hào),即為I、Q 2路信號(hào)的疊加。
本文討論了16QAM調(diào)制器設(shè)計(jì)與實(shí)現(xiàn)、本設(shè)計(jì)的重點(diǎn)是成形濾波模塊和載波信號(hào)的產(chǎn)生模塊。
多進(jìn)制正交幅度調(diào)制由于具有很高的頻譜利用率,而被廣泛應(yīng)用在中、大容量數(shù)字微波通信系統(tǒng)的載波鍵控方式之中。特別是當(dāng)MQAM在未來4G移動(dòng)通信采樣以O(shè)FDM為主導(dǎo)技術(shù)的基帶調(diào)制中,它將成為實(shí)現(xiàn)大容量的重要調(diào)制技術(shù)。本文利用VerilogHDL來實(shí)現(xiàn)16QAM調(diào)制器的設(shè)計(jì)是體現(xiàn)現(xiàn)代數(shù)字通信與EDA技術(shù)相結(jié)合的一個(gè)典型應(yīng)用,這種電子設(shè)計(jì)自動(dòng)化的方法也必將在數(shù)字通信領(lǐng)域得到廣泛的應(yīng)用。
[1]樊昌信,曹麗娜.通信原理(第 6版)[M].北京:國(guó)防工業(yè)出版社,2006.
[2]姜宇柏,游思晴.軟件無線電原理與工程應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2007.
[3]王鈿,卓興旺.基于Verilog HDL的數(shù)字系統(tǒng)應(yīng)用設(shè)計(jì)[M].北京:國(guó)防工業(yè)出版社,2007.
[4]周媛,賈懷義.基于FPGA的全數(shù)字64QAM調(diào)制解調(diào)器設(shè)計(jì)[J].電視技術(shù),2007,31(8):40-42.