基于FPGA的混合擴(kuò)頻發(fā)射機(jī)設(shè)計與實現(xiàn)
2.2 組幀模塊設(shè)計
在信息發(fā)送端,經(jīng)過編碼的數(shù)據(jù)插入狀態(tài)標(biāo)識組成數(shù)據(jù)幀。再加上同步序列、幀同步,組成1幀。組幀器的設(shè)計思路:首先將輸入數(shù)據(jù)放入一個寄存器,輸出12 b的同步序列,以及幀同步碼——巴克碼;之后,將保存的部分狀態(tài)標(biāo)識數(shù)據(jù)依次輸出;最后,通過移位法將輸人數(shù)據(jù)依次移位輸出,輸完之后加上幀尾。設(shè)計結(jié)果如圖3所示。本文引用地址:http://2s4d.com/article/190567.htm
圖3中:
clk:時鐘采樣信號,組幀器在其上升沿處數(shù)據(jù)采樣,并進(jìn)行組幀運(yùn)算。
reset_n:組幀器異步復(fù)位控制信號。定義為1表示不進(jìn)行復(fù)位操作,采樣數(shù)據(jù)有效,組幀器正常操作;定義為0表示進(jìn)行復(fù)位操作,采樣數(shù)據(jù)寄存器清零,組幀器清零。
data_in:信啟、數(shù)據(jù)的輸入端口,其位寬為1 b。
state_in:狀態(tài)標(biāo)識輸入比特。
valid:輸入數(shù)據(jù)的有效位。
data_out:組幀后碼字輸出端口,其位寬為1 b。
outvalid:輸出數(shù)據(jù)的有效位。
2.3 擴(kuò)頻模塊設(shè)計
GOLD碼序列產(chǎn)生器的設(shè)計結(jié)果如圖4所示。在整個模塊中分為2個進(jìn)程。一是在時鐘上升沿到來并且復(fù)位結(jié)束時,進(jìn)行m序列優(yōu)選對的算法,分別將兩個31位的m序列值存入寄存器中,初值都為“11111”。另一個進(jìn)程通過輸入位valid進(jìn)行判斷。通過valid=1,進(jìn)行對位異或運(yùn)算,計算GOLD碼,產(chǎn)生一組碼后,將其保存,然后在連續(xù)零處添加1個零,然后輸出,其余的碼組通過移位實現(xiàn),這樣就生成了32 b×32 b的GOLD碼,串行輸出。
圖4中:
clk:時鐘采樣信號,GOLD碼編碼器在其上升沿處數(shù)據(jù)采樣,并進(jìn)行產(chǎn)生GOLD碼運(yùn)算。
reset_n:GOLD碼編碼器異步復(fù)位控制信號。定義為1表示不進(jìn)行復(fù)位操作,數(shù)據(jù)有效,GOLD碼編碼器正常操作;定義為0表示進(jìn)行復(fù)位操作,數(shù)據(jù)寄存器清零,并進(jìn)行初值賦值。
valid:開啟計算GOLD碼的開關(guān)。
out:GOLD碼輸出端口,其位寬為1 b。
outvalid:輸出數(shù)據(jù)的有效位。
2.4 調(diào)制模塊設(shè)計
根據(jù)MSK的基本原理,并且根據(jù)公式改變頻率控制字的值即可改變NCO的輸出頻率。其中FCW為用二進(jìn)制初碼表示的頻率控制字。fin為NCO的采樣頻率,n為頻率控制字的位數(shù),相當(dāng)為輸入二進(jìn)制初碼的位數(shù)。即為輸出所要求的頻率。
MSK調(diào)制器的實現(xiàn)需要3個必要條件。一是在碼元轉(zhuǎn)換時刻,進(jìn)行FPGA中控制NCO的頻率輸出的切換。二是相位連續(xù)。由于NCO輸出信號的相位始終能保持連續(xù),滿足了條件。三是在一個符號周期內(nèi)必須包含1/4載波周期的整數(shù)倍。根據(jù)必要條件三,可以得出下式:
因此,當(dāng)fs=4 MHz,即輸入MSK調(diào)制器的符號采樣率為4 MHz,當(dāng)n=20時,則fc為20 MHz,即載波頻率為20 MHz。因此,便完成了MSK調(diào)制器的FPGA實現(xiàn)。
根據(jù)上面的實現(xiàn)方式,需要一個開關(guān),根據(jù)輸入碼字“1”或“0”來改變NCO輸入頻率字,分別輸出頻率24 MHz與16 MHz。于是設(shè)計的MSK調(diào)制器如圖5所示,前面部分是開關(guān),后面部分是NCO。
圖5中clk:時鐘采樣信號,MSK調(diào)制器的開關(guān)在其上升沿處數(shù)據(jù)采樣。
評論