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