摘要:介紹了相乘微分型AFC環(huán)解調(diào)FSK信號(hào)的原理,分析了環(huán)路的控制模型。采用模塊化的設(shè)計(jì)思想,利用VHDL語(yǔ)言設(shè)計(jì)了相乘微分型AFC環(huán)路,闡述了關(guān)鍵部件的設(shè)計(jì)方法。在Xilinx的FPGA器件XC3S200-4FT200上對(duì)AFC環(huán)進(jìn)行了實(shí)現(xiàn),利用Modelsim6.0軟件進(jìn)行了仿真測(cè)試。仿真結(jié)果表明,環(huán)路工作穩(wěn)定,滿(mǎn)足性能要求。
1 引言
FSK(Frequency Shift Keying ,頻移鍵控)是繼ASK(Amplitude Shift Keying,振幅鍵控)之后出現(xiàn)比較早的一種調(diào)制方式。由于FSK的抗衰落能力較強(qiáng),因而在一些衰落信道的傳輸中得到了廣泛的應(yīng)用[1]。近年來(lái),數(shù)字調(diào)頻技術(shù)有了相當(dāng)大的發(fā)展。CPFSK(Continuous Phase Frequency Shift Keying ,連續(xù)相位頻移鍵控)在調(diào)制指數(shù)h=0.7及采用相干檢測(cè)及延遲判決的條件下,功率與頻帶利用方面可以達(dá)到比BPSK(Binary Phase Shift Keying,二進(jìn)制相移鍵控)好1dB的水平。MSK(Minimum Shift Keying,最小頻率鍵控)在功率與頻帶的利用方面都與4PSK相當(dāng),而且它的頻譜特性比PSK信號(hào)優(yōu)越,已在數(shù)字衛(wèi)星通信系統(tǒng)中采用[2]。
FSK信號(hào)的解調(diào)方法很多,總的來(lái)講可以分為相干解調(diào)法和非相干解調(diào)法兩類(lèi)。相干解調(diào)法是指需要獲取相干載波信號(hào)的解調(diào)方法,非相干解調(diào)法則不需在解調(diào)前獲取相干載波。從抗干擾性能看,相干解調(diào)法是最佳的,但從FSK信號(hào)中提取相干載波比較困難,實(shí)現(xiàn)技術(shù)相對(duì)較為復(fù)雜,所需硬件資源也較多,故目前多采用非相干解調(diào)法。文獻(xiàn)[1]給出的一種最佳非相干解調(diào)器結(jié)構(gòu),在相同誤碼率的條件下,所需的信噪比只比相干解調(diào)法高1~2dB。非相干解調(diào)法的種類(lèi)很多,如基于FFT的頻譜分析法[3、4]、基于自適應(yīng)濾波的解調(diào)法[5]、差分檢波算法[6]、AFC(Automatic Frequency Control,自動(dòng)頻率控制)環(huán)解調(diào)法等。
近年來(lái),隨著可編程邏輯器件的發(fā)展,采用FPGA實(shí)現(xiàn)信號(hào)解調(diào)等數(shù)字系統(tǒng)具有速度快、使用靈活、可編程配置等一系列優(yōu)點(diǎn),已逐漸成為數(shù)字通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)的首選方案。本文主要討論相乘微分型AFC環(huán)解調(diào)FSK信號(hào)的原理及FPGA(Field Programmable Gate Array,現(xiàn)場(chǎng)可編程門(mén)陣列)實(shí)現(xiàn)方法。
2 AFC環(huán)解調(diào)FSK信號(hào)的工作原理
2.1 相乘微分型AFC環(huán)原理
AFC環(huán)是一個(gè)負(fù)反饋系統(tǒng),從電路結(jié)構(gòu)上看,AFC環(huán)主要有3種結(jié)構(gòu)形式[7]:相乘微分型、延遲叉積型以及離散傅立葉變換型。本文只討論應(yīng)用比較廣泛的相乘微分型AFC環(huán)路。
相乘微分型AFC環(huán)路的結(jié)構(gòu)如圖1所示[7]。如果接收信號(hào)與本振信號(hào)存在頻差,則在一定時(shí)間間隔內(nèi)必然存在相差,將鑒相器輸出的相位誤差信號(hào)微分后,得到反映頻差的誤差信號(hào),此信號(hào)經(jīng)環(huán)路濾波器平滑處理后,控制VCO(Voltage Controlled Oscillator,壓控振蕩器)的振蕩頻率向輸入信號(hào)頻率靠近,最終使得頻差近似為零。
設(shè)輸入信號(hào)
濾波判決,即可完成FSK信號(hào)的解調(diào)。
2.2 AFC環(huán)的數(shù)學(xué)模型分析
由相乘微分型AFC環(huán)路的工作原理可知,AFC環(huán)是一個(gè)頻率負(fù)反饋系統(tǒng),可以得到圖2所示的AFC環(huán)路的頻率控制模型。環(huán)路中,鑒頻器的輸出電壓與頻率誤差信號(hào)成正比。對(duì)于無(wú)線(xiàn)通信中常用的鎖相環(huán)路來(lái)講,VCO的輸出信號(hào)對(duì)相位信號(hào)有一個(gè)積分關(guān)系,壓控振蕩器是鎖相環(huán)路中的固有積分環(huán)節(jié)[9];在AFC環(huán)路中,VCO的輸出信號(hào)與信號(hào)頻率成正比,環(huán)路不再具有積分環(huán)節(jié),因此,整個(gè)AFC環(huán)不是一個(gè)二階線(xiàn)性系統(tǒng),而是更為簡(jiǎn)單的一階線(xiàn)性系統(tǒng)。
?
AFC環(huán)路的工作過(guò)程完全可以采用通用的一階線(xiàn)性環(huán)路模型來(lái)進(jìn)行分析。根據(jù)一階線(xiàn)性環(huán)路的工作原理可知[8],環(huán)路鎖定的條件是環(huán)路增益K 必須大于固有頻差Δω ,且環(huán)路增益越大,則捕獲及鎖定時(shí)間越短。由圖2可以看出,環(huán)路增益由鑒頻器、濾波器、VCO增益組成,控制環(huán)路總增益的方法比較靈活,可以通過(guò)增加環(huán)路中任何一個(gè)環(huán)節(jié)的增益來(lái)實(shí)現(xiàn)提高環(huán)路總增益的目的。
3 AFC環(huán)的VHDL設(shè)計(jì)
工程實(shí)例中,輸入數(shù)據(jù)為連續(xù)相位的2FSK信號(hào),量化位數(shù)為8比特,原始數(shù)據(jù)速率為4Mbit/s,采樣速率為32MHz,載波頻率為6MHz,調(diào)制指數(shù)為0.715,F(xiàn)PGA系統(tǒng)時(shí)鐘速率為32MHz。
3.1 環(huán)路參數(shù)設(shè)計(jì)
(1) 濾波器參數(shù)設(shè)計(jì)
由圖1所示,AFC環(huán)中有3個(gè)濾波器,其中兩個(gè)正交支路的低通濾波器完全相同,用于濾除前級(jí)混頻后的高頻分量;環(huán)路濾波器用于濾除鑒頻器(由微分器及乘法器組成)輸出產(chǎn)生的高頻分量,產(chǎn)生VCO的控制信號(hào)。低通濾波器通帶截止頻率選擇與信號(hào)帶寬一致,考慮發(fā)射端成形濾波器的作用,本實(shí)例中取3.6MHz。過(guò)渡帶帶寬的選擇原則為[9]:一是必須確保濾除相鄰的A/D鏡像頻率成分;二是需要濾除數(shù)字下變頻引入的倍頻分量,本實(shí)例中取8.4MHz。
根據(jù)AFC環(huán)的工作原理,鑒頻器的輸出信號(hào)反映了原始調(diào)制數(shù)據(jù)的變化情況,為進(jìn)一步簡(jiǎn)化解調(diào)器結(jié)構(gòu),可以將環(huán)路濾波器也設(shè)計(jì)成FIR低通濾波器,這樣就可以直接從環(huán)路濾波器的輸出信號(hào)中獲取解調(diào)數(shù)據(jù)。環(huán)路濾波器的帶寬、過(guò)渡帶等參數(shù)與混頻器的低通濾波器保持一致。
采用MATLAB很容易根據(jù)濾波器參數(shù)設(shè)計(jì)出FIR濾波器的系數(shù)并畫(huà)出頻率響應(yīng)圖,如圖3。
設(shè)計(jì)出FIR濾波器系數(shù)后,還需要對(duì)其進(jìn)行量化處理,以適應(yīng)FPGA處理。13比特量化后的濾波器系數(shù)如下:
h_pm=[ 20,77,28,-197,-319,123,1145,2047,2047,1145,123,-319,-197,28,77,20]
由于中頻信號(hào)的采樣位數(shù)為8比特,本地振蕩器的輸出載波信號(hào)也選用8比特。根據(jù)二進(jìn)制乘法原理,考慮節(jié)約寄存器字長(zhǎng),同時(shí)保留全部有效數(shù)據(jù)位,AFC環(huán)前端混頻乘法器為8 × 8的乘法器,取低15比特的有效位輸出數(shù)據(jù)。混頻器的低通濾波器取全部的28比特有效位輸出數(shù)據(jù)。環(huán)路濾波器的濾波器系數(shù)與混頻器中的濾波器完全相同,但輸入輸出數(shù)據(jù)位寬不同,輸入數(shù)據(jù)位寬由積分器及后端的加法器決定。本實(shí)例中,環(huán)路濾波器輸入有效數(shù)據(jù)位寬取17比特,輸出信號(hào)取全部30比特有效數(shù)據(jù)。
(2) 微分器參數(shù)設(shè)計(jì)
采用FPGA進(jìn)行數(shù)學(xué)意義上的微分運(yùn)算十分困難。根據(jù)微分的運(yùn)算規(guī)則,可以采用一種簡(jiǎn)單的近似處理方法,即通過(guò)求取前后兩個(gè)數(shù)據(jù)之差來(lái)代替微分運(yùn)算。前后兩個(gè)數(shù)據(jù)之間的時(shí)間間隔為一個(gè)系統(tǒng)時(shí)鐘周期,則有
根據(jù)式(6)可知,采用前后兩個(gè)數(shù)據(jù)之差來(lái)代替微分運(yùn)算,相當(dāng)于數(shù)學(xué)上的微分運(yùn)算乘以系統(tǒng)時(shí)鐘速率這個(gè)常數(shù),反映在整個(gè)AFC環(huán)路上則相當(dāng)于環(huán)路增益乘了一個(gè)常數(shù)。
由圖1所示,微分運(yùn)算后還需要進(jìn)行乘加運(yùn)算,考慮到FPGA芯片中集成的硬件乘法器IP核大多數(shù)都是18x18比特的,綜合考慮運(yùn)算速度、硬件資源及運(yùn)算精度,微分器后面直接采用18x18比特的乘法器,且取36比特輸出數(shù)據(jù),這樣乘法后面的減法運(yùn)算不再需要進(jìn)行符號(hào)位擴(kuò)展,可直接相減。
根據(jù)上面的分析,環(huán)路濾波器的輸入數(shù)據(jù)位寬為36比特。如果采用所有36比特?cái)?shù)據(jù)作為濾波器輸入,則需耗費(fèi)大量的硬件資源,濾波器輸出數(shù)據(jù)位寬也將達(dá)到49比特。這樣多的數(shù)據(jù)位寬雖然可以獲得極高的運(yùn)算精度,但所需的代價(jià)是硬件資源的成倍增加,以及運(yùn)算速度的降低。綜合考慮各種因素的影響,該實(shí)例采用17比特有效數(shù)據(jù)作為環(huán)路濾波器的輸入,濾波器的有效輸出數(shù)據(jù)位寬為30比特。
(3) NCO參數(shù)設(shè)計(jì)及環(huán)路增益計(jì)算
FPGA中可以采用NCO(Numerical Controlled Oscillator,數(shù)字控制振蕩器)來(lái)實(shí)現(xiàn)VCO的功能。NCO的參數(shù)設(shè)計(jì)比較簡(jiǎn)單,驅(qū)動(dòng)時(shí)鐘頻率取系統(tǒng)時(shí)鐘即可,為32MHz;頻率字位寬取環(huán)路濾波器輸出的有效數(shù)據(jù)位寬,為30比特;頻率字更新周期取一個(gè)系統(tǒng)時(shí)鐘周期;輸出的本地載波信號(hào)數(shù)據(jù)位寬與輸入數(shù)據(jù)位寬相同,為8比特。則NCO的頻率分辨率
解調(diào),環(huán)路增益K 只要大于1.43M即可, K 值越大,則環(huán)路鎖定速度越快。
對(duì)于AFC環(huán)來(lái)講,整個(gè)AFC環(huán)路為線(xiàn)性一階環(huán),環(huán)路的增益實(shí)際上就是NCO的輸入電壓幅值與頻率字更新周期的乘積。考慮到微分運(yùn)算對(duì)環(huán)路增益的貢獻(xiàn),由于NCO的輸入數(shù)據(jù)有效位寬為30比特,則環(huán)路總增益因此,環(huán)路能夠穩(wěn)定跟蹤FSK信號(hào)的變化,解調(diào)出原始數(shù)據(jù)。
3.2 環(huán)路的VHDL設(shè)計(jì)
根據(jù)圖1的結(jié)構(gòu),在完成AFC環(huán)路各部件的參數(shù)設(shè)計(jì)之后,本文采用VHDL語(yǔ)言對(duì)相乘微分型AFC環(huán)進(jìn)行了設(shè)計(jì),圖4是AFC環(huán)頂層文件用Synplify Pro綜合后的RTL原理圖。由圖4中可以清楚地看出系統(tǒng)由1個(gè)NCO模塊(u0),2個(gè)8×8 bit的乘法器模塊mult8_8(u1,u2),2個(gè)低通濾波器模塊fir_lpf(u3,u4),1個(gè)環(huán)路濾波器模塊(u5),1個(gè)鑒頻器模塊FrequencyD(U6)以及少量邏輯電路組成。其中的nco模塊、乘法器模塊、低通濾波器模塊、環(huán)路濾波器模塊均由ISE提供的IP核直接產(chǎn)生。鑒頻器由兩個(gè)微分器、兩個(gè)乘法器及一個(gè)減法器組成,其中微分器采用前后兩個(gè)數(shù)據(jù)相減的方法獲取。
4 AFC環(huán)的FPGA實(shí)現(xiàn)及仿真測(cè)試
本實(shí)例的目標(biāo)器件為XC6SLX16-2CSG225,F(xiàn)PGA實(shí)現(xiàn)后,查找表資源(Slice LUTs)占用了491個(gè)(5%),存儲(chǔ)塊資源(RAMB8BWERs)占用了1個(gè)(1%),乘法器DSP資源(DSP48A1s)占用了28個(gè)(87%),全局時(shí)鐘資源(BUFG/BUFGMUXs)占用了1個(gè)(6%)。最高系統(tǒng)時(shí)鐘頻率可達(dá)83.25MHz,顯然滿(mǎn)足工程實(shí)例中要求的32MHz。從系統(tǒng)所占用的資源來(lái)看,普通邏輯資源占用較少,乘法器資源用得比較多,乘法器資源主要用于濾波器等乘法運(yùn)算。
進(jìn)行系統(tǒng)的FPGA測(cè)試之前,首先需要編寫(xiě)測(cè)試激勵(lì)文件代碼產(chǎn)生測(cè)試數(shù)據(jù)。測(cè)試數(shù)據(jù)通過(guò)MATLAB軟件仿真產(chǎn)生,并將量化后的數(shù)據(jù)寫(xiě)入TXT文本文件中,激勵(lì)文件通過(guò)讀取TXT文件內(nèi)容產(chǎn)生測(cè)試數(shù)據(jù)。
圖5為采用Modelsim 6.0軟件仿真AFC解調(diào)FSK信號(hào)的工作波形圖。從仿真圖中可以清楚地看出環(huán)路濾波器的輸出信號(hào),即FSK的解調(diào)信號(hào)dout呈現(xiàn)規(guī)則波形,只需對(duì)解調(diào)信號(hào)進(jìn)行抽樣判決即可完成FSK信號(hào)的數(shù)據(jù)解調(diào)。
5 結(jié)束語(yǔ)
FSK信號(hào)的解調(diào)方法很多,非相干解調(diào)法因?yàn)閷?shí)現(xiàn)簡(jiǎn)單,性能優(yōu)良而得到了更為廣泛的應(yīng)用。本文對(duì)相乘微分型AFC環(huán)的模型進(jìn)行了討論。在進(jìn)行環(huán)路的FPGA實(shí)現(xiàn)時(shí),關(guān)鍵在于設(shè)計(jì)環(huán)路各部件的參數(shù),以及運(yùn)算中數(shù)據(jù)有效字長(zhǎng)的處理。仿真結(jié)果表明,設(shè)計(jì)的相乘型AFC環(huán)可以有效解調(diào)FSK信號(hào)。
評(píng)論