何林飛,李曉飛,韓俊博
(天津訊聯(lián)科技有限公司,天津 300308)
衛(wèi)星通信系統(tǒng)信道的特點是功率和頻帶均受限[1-2]。QPSK 基帶信號的帶寬與碼速率相等,如果發(fā)射前不對基帶信號帶寬進(jìn)行壓縮[3-7],不僅會占用大的頻率帶寬,還存在嚴(yán)重的碼間干擾,導(dǎo)致系統(tǒng)傳輸誤碼率變高[8-9]。針對上述問題,需要對基帶信號進(jìn)行帶限,減小碼間干擾。最常用的方法就是對基帶信號進(jìn)行成形濾波[10-12],減小基帶信號帶寬,同時使得最佳采樣點的碼間干擾盡可能小。
商業(yè)航天通常使用X 波段(8.0~8.4 GHz)下行數(shù)傳頻段,衛(wèi)星的體積、功耗、質(zhì)量與發(fā)射成本密切相關(guān),因而要求星載數(shù)傳發(fā)射機(jī)具備低功耗、小體積等優(yōu)點[13-14]。因而DAC 采樣頻率不宜太高,某個立方星上使用的X 波段數(shù)傳發(fā)射機(jī)中采用110 MHz 采樣率的DAC,需要實現(xiàn)QPSK 調(diào)制最高速率為40 Mbps(20 Msps),EVM≤10%的指標(biāo)要求。同時衛(wèi)星總體申請的頻率帶寬有限,需要壓縮信號帶寬。
常規(guī)成形濾波方法需要滿足采樣率和符號速率為整數(shù)倍關(guān)系。110 MHz 采樣率,20 Msps 的符號速率,采樣率和符號速率的比值為5.5,不滿足整數(shù)倍關(guān)系,無法使用常規(guī)的成形濾波方法。
基于以上背景,設(shè)計了一種成形濾波方法,該方法適用于采樣率和符號速率為非整數(shù)倍關(guān)系時的成形濾波處理。
滿足奈奎斯特準(zhǔn)則的成形濾波器有許多種,最簡單的是理想低通濾波器[15],但是其物理不可實現(xiàn)。在通信系統(tǒng)中使用最多的為升余弦濾波器,實際工程實現(xiàn)時采用收發(fā)組合方式實現(xiàn)升余弦濾波器,即發(fā)送端使用平方根升余弦濾波器,接收端采用相同平方根升余弦進(jìn)行濾波。平方根升余弦沖擊響應(yīng)的表達(dá)式為:
其中,Tb為符號周期,α為滾降系數(shù),信號占用帶寬W=Rb(1+α)/2,Rb為符號速率,Rb=1/Tb。
平方根升余弦沖擊響應(yīng)波形時域為無窮寬,在實際應(yīng)用時需要對其進(jìn)行截短,截短時間一般為8Tb,此時濾波器長度適中且對系統(tǒng)產(chǎn)生的誤差很小,如圖1所示。
圖1 平方根升余弦濾波器沖擊響應(yīng)波形
1.2.1 輸入序列插值處理
進(jìn)行成形濾波處理前,首先需要對輸入序列進(jìn)行插值處理。設(shè)x(h) (h=0,1,2,3...) 為輸入碼元序列,xfs(n)為對x(h)進(jìn)行插值后的序列,h(n)為成形濾波器單位脈沖響應(yīng)。Tb為符號周期,Ts為采樣周期,以下對Tb/TS為整數(shù)和非整數(shù)兩種情況進(jìn)行分析。
1)Tb/Ts為整數(shù)時,有如下關(guān)系:
①當(dāng)(Ts+Ts×n)>Ts×n≥h×Tb時,xfs(n)=x(h);
②其他時刻,xfs(n)=0。
例如,對于Tb/Ts=6,輸入序列:1,1,-1,1,1,1,-1;則插值后序列為1,0,0,0,0,0,1,0,0,0,0,0,-1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,-1,0,0,0,0,0。
每次插值0 的數(shù)量都為5 個。
2)Tb/Ts為非整數(shù)時,同樣有如下關(guān)系:
①當(dāng)(Ts+Ts×n)>Ts×n≥h×Tb時,xfs(n)=x(h);
②其他時刻,xfs(n)=0。
例如,對于Tb/Ts=4.5,輸入序列x(h) :1,1,-1,1,1,1,-1;則插值后序列xfs(n)為1,0,0,0,0,1,0,0,0,-1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,-1,0,0,0,0。
每次插值0 的數(shù)量不再固定,可能是4 個,也可能是3 個。
1.2.2 成形濾波器系數(shù)分析
同樣按照Tb/Ts為整數(shù)和非整數(shù)兩種情況分析:
1)Tb/Ts為整數(shù)
成形濾波器截短時間8Ts,每個Ts內(nèi)采樣Np個點,Np=Tb/Ts。每個Ts按Np個相位值等分,相位值Pn=n/Np(n=0,1,2…Np-1);
對每個輸入數(shù)據(jù)序列進(jìn)行Np倍插值后,與濾波器h(n)進(jìn)行卷積得到y(tǒng)(n),y(n)如下所示:
其中,第m個輸出對應(yīng)的h(n)系數(shù)的相位為m/N的小數(shù)部分,具有周期性。例如,Np=4,則相位為0,1/4,2/4,3/4,0,1/4,…依次循環(huán)。
2)Tb/Ts為非整數(shù)
此時仍需滿足數(shù)據(jù)相位與濾波器相位對齊,即第m個輸出對應(yīng)的h(n)系數(shù)的相位為m/Np的小數(shù)部分(N為非整數(shù),m=0,1,2,3…)。
例如,Np=4.5,則第1 個輸出對應(yīng)濾波器系數(shù)的相位為0。
第2 個輸出對應(yīng)濾波器系數(shù)的相位為0.222 2。
第3 個輸出對應(yīng)濾波器系數(shù)的相位為0.444 4。
第4 個輸出對應(yīng)濾波器系數(shù)的相位為0.666 7。
第5 個輸出對應(yīng)濾波器系數(shù)的相位為0.888 9。
第6 個輸出對應(yīng)濾波器系數(shù)的相位為0.111 1。
第7 個輸出對應(yīng)濾波器系數(shù)的相位為0.333 3。
第8 個輸出對應(yīng)濾波器系數(shù)的相位為0.555 6。
由上述分析可知,Np為非整數(shù)時,對應(yīng)的濾波器系數(shù)不再是一組固定值,對于每個輸出需要重新計算濾波器系數(shù)。
平方根升余弦沖擊響應(yīng)系數(shù)直接用FPGA 計算過于復(fù)雜,而如果提前用Matlab 將每個Ts分為Mp個相位點,將每個相位點值計算出來,并存儲到ROM,每次濾波FPGA 中只需要計算出濾波器相位,通過查表得到最接近該相位值的濾波器系數(shù)值,這樣實現(xiàn)的難度就大大降低。理論上Mp越大,濾波器系數(shù)精度越高。具體如下:
①對每個Ts內(nèi)進(jìn)行Mp個相位點的分割,例如Mp為512 點。并將8×Mp個值儲存到8 個ROM 中,ROM 的輸入地址即為相位,輸出即為對應(yīng)相位的濾波器系數(shù)值。
②對于相位m/Np(取小數(shù)部分)的系數(shù)值,轉(zhuǎn)變?yōu)榈刂?m/Np×Mp)對應(yīng)的ROM 輸出值。
綜上,得到Tb/Ts為非整數(shù)時成形濾波實現(xiàn)方法如下:
1)對升余弦濾波器進(jìn)行8Ts截短,每個Ts采樣點數(shù)為Mp(例如512),得到8 個濾波器系數(shù)ROM。
2)初始化數(shù)據(jù)移位寄存器DATA8 為{0,0,0,0,0,0,0,0}。
3)每個采樣點碼相位NCO 進(jìn)行一次累加,PHASE=PHASE+Ts/Tb。
4)如果累加完后的PHASE≥1,則移入一位輸入數(shù)據(jù),DATA8=[newbit DATA8(1:7)],newbit 為1 bit 新的輸入,同時PHASE=PHASE-1;否則DATA8 的值不變。
5)根據(jù)NCO 相位值,經(jīng)過運算得到對應(yīng)濾波器系數(shù)ROM 地址為PHASE×Mp(值取整),查表得到濾波器系數(shù)值lf_coef。
6)DATA8 與lf_coef 進(jìn)行相乘并累加,得到一個采樣點濾波輸出。
7)重復(fù)步驟3)-6),得到后續(xù)的濾波輸出。
Matlab 仿真參數(shù)設(shè)置:升余弦濾波器滾降系數(shù)為0.25,截短長度為8Tb,輸入碼元為隨機(jī)數(shù),碼元長度為2 000,符號速率Rb為20 Msps。Tb內(nèi)相位點數(shù)Mp分別選擇32、128、256 和512 進(jìn)行仿真,得到成形濾波后的輸出時域波形和頻譜如圖2-5 所示。
圖2 成形濾波仿真結(jié)果圖(Mp=32)
圖3 成形濾波仿真結(jié)果圖(Mp=128)
圖4 成形濾波仿真結(jié)果圖(Mp=256)
圖5 成形濾波仿真結(jié)果圖(Mp=512)
由波形圖可知,經(jīng)過成形濾波后的時域波形平滑,頻譜對應(yīng)的帶寬和理論相符。
同時也可以看出,Mp=32 時,頻偏中間出現(xiàn)了少許失真。這是由于Mp較小時擬合出的成形濾波器系數(shù)誤差變大,導(dǎo)致濾波器帶外抑制惡化。
Mp=128,256,512 時,頻譜失真不明顯,濾波后的頻譜帶外抑制性能差異很小。
對于其他速率成形濾波,只需修改符號周期Tb即可,例如,當(dāng)Rb為10 Msps時,仿真結(jié)果如圖6所示。
圖6 成形濾波仿真結(jié)果圖(Rb=10 Msps)
根據(jù)Matlab仿真結(jié)果,綜合考慮FPGA資源和速率的擴(kuò)展性,選取每個符號周期Tb采樣點Mp為256,進(jìn)行量化并轉(zhuǎn)化為補碼后,分段存儲到ROM1-ROM8中。
FPGA 成形濾波實現(xiàn)框圖如圖7 所示,主要由碼NCO、8 個系數(shù)ROM、乘法器、加法器、移位寄存器組成。NCO 相位每次溢出時讀取1 bit 輸入碼元,NCO 相位截取高8 bit 后作為ROM 的地址輸入。移位寄存器輸出的比特D1、D2、D3…D8分別與8 個ROM 輸出的系數(shù)值相乘,然后進(jìn)行相加后輸出,F(xiàn)PGA 內(nèi)部各級運算均采用流水線工作方式實現(xiàn)。由于比特D1-D8為1 或者0,乘法器運算可進(jìn)行簡化,使用判斷語句實現(xiàn)。如果Dn為1,則乘法器輸出等于ROM 輸出取反+1;如果Dn為0,則乘法器輸出等于ROM 輸出值。
圖7 FPGA成形濾波實現(xiàn)框圖
所研制的X 波段數(shù)傳發(fā)射機(jī)選用Xilinx 公司的FPGA 型號為XC7A200T,使用Veriolog HDL 實現(xiàn)了該成形濾波器算法。模擬輸入的碼元為周期1023的GOLD 偽隨機(jī)序列[16],碼速率為40 Mbps,成形系數(shù)為0.25,調(diào)制方式為QPSK,使用Modelsim 仿真得到,Ⅰ路、Q 路2 路濾波器輸出的波形如圖8 所示。由圖可知,濾波器輸出的波形平滑,達(dá)到預(yù)期的效果。
圖8 Modelsim仿真結(jié)果圖
在所研制的X 波段數(shù)傳發(fā)射機(jī)中加入成形濾波器后,使用頻譜儀測量數(shù)傳輸出速率40 Mbps 時的QPSK 調(diào)制頻譜如圖9 所示,可知經(jīng)過成形濾波后的信號帶寬在25 MHz 附近,實測頻譜和Matlab 仿真結(jié)果相符。
圖9 頻譜實測圖
成形濾波后的基帶信號經(jīng)過變頻、放大到X波段后,使用頻譜分析儀測量數(shù)傳輸出碼速率40 Mbps 和20 Mbps 時的EVM,如圖10 和圖11 所示。加入成形濾波后40 Mbps 速率下的EVM 為5.734 4%,20 Mbps速率下的EVM 為2.233 4%,滿足EVM≤10%的系統(tǒng)指標(biāo)要求。
圖10 EVM實測圖(40 Mbps QPSK)
圖11 EVM實測圖(20 Mbps QPSK)
對未加成形濾波處理的數(shù)傳輸出EVM 進(jìn)行對比測試,如圖12 和13 所示。在數(shù)傳速率為40 Mbps 時,EVM 為13.229%,在20 Mbps 時,EVM 為8.712 5%。相對于加入成形濾波時的EVM,EVM 惡化約2~3倍。
圖12 無形型濾波EVM實測圖(40 Mbps QPSK)
圖13 無形型濾波EVM實測圖(20 Mbps QPSK)
由上述測試結(jié)果可以看出,該成形濾波方法達(dá)到了預(yù)期效果,滿足指標(biāo)要求,能夠有效改善信號EVM 性能。
文中介紹了一種采樣率與符號速率不成整數(shù)倍關(guān)系,適用星載數(shù)傳發(fā)射機(jī)實現(xiàn)的成形濾波的方法。利用碼NCO 控制對輸入數(shù)據(jù)移位和取數(shù),碼NCO 相位實現(xiàn)對存儲濾波器系數(shù)的ROM 尋址,實現(xiàn)了非整數(shù)倍成形濾波。通過Matlab 和Modelsim 對算法進(jìn)行了仿真,同時在星載X 波段數(shù)傳發(fā)射機(jī)硬件平臺上得到工程驗證。該成形濾波方法對數(shù)傳發(fā)射機(jī)輸出信號的EVM 性能提升明顯,具備重要的工程意義和價值。