數(shù)字調(diào)制解調(diào)器在點(diǎn)對(duì)點(diǎn)的數(shù)據(jù)傳輸中得到了廣泛的應(yīng)用。通常的二進(jìn)制數(shù)字調(diào)制解調(diào)器是建立在模擬載波上的,在電路實(shí)現(xiàn)時(shí)需要模擬信號(hào)源,這會(huì)給全數(shù)字應(yīng)用場合帶來不方便。本文分析了MSK(最小頻移鍵控)數(shù)字調(diào)制信號(hào)特征,提出一種全數(shù)字固定數(shù)據(jù)速率MSK調(diào)制解調(diào)器的設(shè)計(jì)方法,應(yīng)用VHDL 語言進(jìn)行了模塊設(shè)計(jì)和時(shí)序仿真。硬件部分在Altera公司 EP2C15AF256C8N FPGA 上實(shí)現(xiàn)了MSK 數(shù)字調(diào)制解調(diào)器,并在常州市科技攻關(guān)項(xiàng)目:糧庫儲(chǔ)糧安全網(wǎng)絡(luò)智能監(jiān)測系統(tǒng)的嵌入式測控部分應(yīng)用。實(shí)測表明,數(shù)字MSK 調(diào)制解調(diào)器具有包絡(luò)恒定,相位連續(xù),頻帶利用率高的優(yōu)點(diǎn)。并且在FPGA 上實(shí)現(xiàn)時(shí)設(shè)計(jì)效率高,可與其他模塊共用片上資源,對(duì)于全數(shù)字系統(tǒng)中的短距離數(shù)據(jù)通信是較好的解決方案。
1 數(shù)字MSK 調(diào)制的載波頻率與相位常數(shù)
最小頻移鍵控MSK ( Minimum Frequency Shift Keying ) 是二進(jìn)制連續(xù)相位FSK 的一種特殊形式。有時(shí)也稱為快速頻移鍵控(FFSK)。MSK 調(diào)制方式能以最小的調(diào)制指數(shù)(0.5)獲得正交信號(hào), 同時(shí)MSK 比2PSK 的數(shù)據(jù)傳輸速率高,且在帶外的頻譜分量要比2PSK 衰減更快。
MSK 調(diào)制必須同時(shí)滿足調(diào)制指數(shù)0.5 和相位連續(xù)條件,由MSK 信號(hào)表示可知,為了使調(diào)制指數(shù)為0.5,MSK 信號(hào)的兩個(gè)頻率應(yīng)分別為:
對(duì)于固定數(shù)據(jù)速率的數(shù)字MSK 調(diào)制,應(yīng)用上式可以計(jì)算出對(duì)應(yīng)“0”、“1”信號(hào)的載波頻率。系統(tǒng)設(shè)計(jì)傳輸數(shù)據(jù)速率R =2400bps,選擇波形系數(shù)n = 9,中心載頻fc=5400Hz,計(jì)算可得f0=6000Hz,f1=4800Hz,調(diào)制指數(shù)h = R / (f0-f1) =0.5。
MSK 信號(hào)的相位連續(xù)是由對(duì)相位常數(shù)φk的選擇保證的。若取初始相位為零,則φk = 0 或±π k = 0,1,2,…
上式反映了MSK 信號(hào)前后碼元區(qū)間的約束關(guān)系。MSK 信號(hào)在第k 個(gè)碼元的相位常數(shù)不僅與當(dāng)前碼元的取值有關(guān),而且還與前一個(gè)碼元的取值及相位常數(shù)有關(guān)。在數(shù)字載波的情況下,上述條件等同于根據(jù)前*元的相位,選擇當(dāng)前碼元的相位是同相或反相,以保證數(shù)字MSK信號(hào)的相位連續(xù)。
2 數(shù)字MSK 調(diào)制解調(diào)器FPGA 模塊實(shí)現(xiàn)
用FPGA 實(shí)現(xiàn)的MSK 調(diào)制器模塊如圖1 所示。
圖中預(yù)分頻器和“0”、“1”碼分頻器組成載波發(fā)生器,在輸入碼序列同步信號(hào)的控制下分別產(chǎn)生“0”碼和“1”碼的數(shù)字載波。為了方便設(shè)計(jì)與調(diào)整,預(yù)分頻器設(shè)置2 級(jí)分頻電路,分頻系數(shù)分別為D1 和D2,從分頻效率考慮,D1 和D2 的乘積應(yīng)為總分頻系數(shù)的最大公共因子。
“0”碼和“1”碼分頻器的分頻系數(shù)C1、C2 的設(shè)置必須滿足調(diào)制指數(shù)0.5 的條件。輸入調(diào)制信號(hào)數(shù)字序列控制2 選1 多路選擇器,選出對(duì)應(yīng)輸入碼流中“0”、“1”碼元的數(shù)字載波。
相位檢測模塊與第二級(jí)2 選1 多路選擇器、碼長分頻器和反相器組成連續(xù)相位形成電路。在前面確定“0”、“1”碼元的數(shù)字載波時(shí),每個(gè)碼元的載波周期數(shù)也隨之確定, 其中“0”、“1”數(shù)字載波相位差固定為180°,因此可以簡單地用0、1 來表示2 個(gè)載波相位。在相位檢測模塊中,碼長分頻器作為1bit 延時(shí)的時(shí)鐘信號(hào),輸入數(shù)字信號(hào)延遲*元信號(hào)D-1 與前次產(chǎn)生的2 選1 選擇器控制信號(hào)S 比較,得到前*元結(jié)束時(shí)的相位Q-1,其結(jié)果如表1 所示。
對(duì)于不同的前次相位Q-1 值,按照相位連續(xù)的原則,得到當(dāng)前碼元的相位選擇S 值,控制2選1 多路選擇器輸出前后碼元載波相位連續(xù)的MSK 已調(diào)信號(hào)。數(shù)字MSK 信號(hào)的FPGA 解調(diào)模塊如圖2 所示。
數(shù)字MSK 信號(hào)的解調(diào)是由碼元同步和碼序列檢測二部分實(shí)現(xiàn)的。預(yù)分頻器、“1”碼分頻器和同步檢測模塊組成碼元同步電路,通過對(duì)輸入信號(hào)中的“1”碼檢測建立碼元同步。在同步檢測模塊中,“1”碼分頻器的同相和反相碼同時(shí)與輸入信號(hào)比較,并由同步碼長計(jì)數(shù)器計(jì)數(shù),當(dāng)計(jì)數(shù)長度等于碼元長度時(shí)輸出同步信號(hào)。進(jìn)入碼元同步狀態(tài)后,在碼長分頻器輸出的碼元同步信號(hào)控制下,碼序列檢測器對(duì)輸入信號(hào)中的“1”碼(同相及反相碼)進(jìn)行檢測并輸出解調(diào)數(shù)字序列。解調(diào)模塊中的預(yù)分頻器和“1”碼分頻器和在半雙工通信方式中可與調(diào)制模塊合用以減少目標(biāo)器件片上資源的占用。