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