王鋒,彭華仁,呂天志
(中電科思儀科技股份有限公司,山東青島,266555)
國(guó)際電信聯(lián)盟(ITU)是主管信息通信技術(shù)事務(wù)的聯(lián)合國(guó)機(jī)構(gòu),負(fù)責(zé)分配和管理全球無(wú)線電頻譜與衛(wèi)星軌道資源,制定全球電信標(biāo)準(zhǔn)。為了保障頻譜監(jiān)測(cè)的數(shù)據(jù)有效性、和權(quán)威性,最為關(guān)鍵的就是依據(jù)統(tǒng)一的標(biāo)準(zhǔn)—ITU建議。對(duì)于模擬調(diào)制信號(hào)的監(jiān)測(cè),ITU建議給出了設(shè)計(jì)標(biāo)準(zhǔn),具體表現(xiàn)在以下三個(gè)方面:
(1)《ITU頻譜監(jiān)測(cè)手冊(cè)》指出,根據(jù)ITU-R建議書(shū),執(zhí)行頻譜監(jiān)測(cè)任務(wù)的接收機(jī)應(yīng)具備“FM, AM, CW, SSB,ISB,IQ 和pulse 的音頻監(jiān)測(cè)功能。
(2)ITU-R SM.1138-2建議書(shū)—《必要帶寬的確定及其計(jì)算舉例與相應(yīng)的發(fā)射標(biāo)志的舉例》確定了各類信號(hào)的振幅、頻率和脈沖調(diào)制的必要發(fā)射帶寬,必要帶寬是所有自動(dòng)頻譜管理系統(tǒng)的關(guān)鍵數(shù)據(jù)元素,頻率指配需要確定發(fā)射的必要帶寬[6]。
(3)ITU-R SM.1840建議書(shū)—《測(cè)量使用模擬調(diào)制信號(hào)無(wú)線電監(jiān)測(cè)接收機(jī)靈敏度的測(cè)試程序》給出了接收機(jī)靈敏度測(cè)試程序的定義,建議所有制造商均使用這一測(cè)試程序定義,使此類接收機(jī)的用戶能夠更為方便、客觀地對(duì)產(chǎn)品質(zhì)量做出評(píng)估;其中在描述“HF和VHF/UHF頻段的AM調(diào)制”的靈敏度測(cè)試時(shí)明確指出“測(cè)試期間須打開(kāi)自動(dòng)增益控制(AGC)”[5]。
從以上三方面而言,模擬調(diào)制信號(hào)解調(diào)系統(tǒng)應(yīng)具備“FM,AM, CW, SSB, ISB,IQ 和pulse 的音頻監(jiān)測(cè)功能,在此基礎(chǔ)上,針對(duì)各種調(diào)制類型必須根據(jù)ITU-R SM.1138-2建議書(shū)設(shè)計(jì)相應(yīng)的解調(diào)帶寬,并且針對(duì)幅度類調(diào)制信號(hào)設(shè)計(jì)自動(dòng)增益控制功能。本文根據(jù)軟件無(wú)線電模擬調(diào)制信號(hào)數(shù)字正交解調(diào)的通用模型,設(shè)計(jì)并在FPGA內(nèi)實(shí)現(xiàn)了適應(yīng)各種模擬調(diào)制信號(hào)的解調(diào)架構(gòu),并基于此架構(gòu)設(shè)計(jì)實(shí)現(xiàn)了解調(diào)帶寬可調(diào)功能,以及IQ信號(hào)增益自動(dòng)調(diào)整功能,進(jìn)而實(shí)現(xiàn)模擬調(diào)制信號(hào)高效解調(diào)系統(tǒng)。
軟件無(wú)線電的解調(diào)一般采用數(shù)字相干解調(diào)的方法,數(shù)字相干解調(diào)法從原理上講與模擬相干解調(diào)法一樣,然而在解調(diào)時(shí)當(dāng)本地載波與信號(hào)的載波不滿足同頻同相時(shí),模擬相干解調(diào)輸出就會(huì)嚴(yán)重失真,由于正交解調(diào)法在一定程度上能克服以上這些弱點(diǎn),因此軟件無(wú)線電的解調(diào)一般采用數(shù)字正交解調(diào)法。
對(duì)于連續(xù)波調(diào)制信號(hào)的解調(diào),設(shè)已調(diào)信號(hào)的數(shù)字表達(dá)式是s(n) =a(n) cos [ωcn+?(n)],ωc表示載波角頻率,調(diào)制信號(hào)可以分別調(diào)制在已調(diào)信號(hào)的振幅a(n)、頻率 ù (n)和相位?(n)中,相應(yīng)的調(diào)制就是調(diào)幅、調(diào)頻及調(diào)相。所以已調(diào)信號(hào)的表達(dá)式可表示如下:
圖1 數(shù)字正交解調(diào)的通用模型
數(shù)字正交解調(diào)的通用模型說(shuō)明了采用正交分解實(shí)現(xiàn)解調(diào)的基本原理,首先將采樣信號(hào)混頻到基帶,然后低通濾波后執(zhí)行模擬調(diào)制信號(hào)解調(diào)功能,圖中的低通濾波器帶寬為信號(hào)帶寬的一半,而為了得到特定解調(diào)帶寬,該低通濾波器實(shí)際上是一個(gè)抽取濾波器,將抽取濾波器后的IQ數(shù)據(jù)送給幅度自動(dòng)增益控制模塊,經(jīng)過(guò)自動(dòng)增益控制的IQ信號(hào)最后執(zhí)行各種模擬調(diào)制信號(hào)的解調(diào)功能,從而形成完整的模擬調(diào)制型號(hào)解調(diào)系統(tǒng)流程,并在FPGA內(nèi)部實(shí)現(xiàn),如圖2所示。
圖2 模擬調(diào)制信號(hào)解調(diào)系統(tǒng)流程圖
下面,從模擬調(diào)制信號(hào)的解調(diào)算法、解調(diào)帶寬可調(diào)功能、自動(dòng)增益控制控制三個(gè)角度闡述模擬調(diào)制信號(hào)高效解調(diào)系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)。
由模擬調(diào)制信號(hào)解調(diào)系統(tǒng)流程圖可知在低通濾波器輸出的基帶IQ信號(hào)先執(zhí)行自動(dòng)增益控制,然后再進(jìn)入模擬調(diào)制信號(hào)解調(diào)模塊,最終輸出AM、SSB、ISB、PULSE、IQ、CW或FM的解調(diào)信號(hào),每種解調(diào)類型都具有各自特點(diǎn),具體如下:
1.2.1 AM解調(diào)算法
同相分量:XI(n) =a(n) c os (?0);正交分量XQ(n)=a(n) s i n (?0)。求它們的平方和開(kāi)平方得A0+m(n),減掉直流分量A0即得到調(diào)制信號(hào)m(n)。當(dāng)存在載頻失配時(shí),同相分量和正交分量可表示為:
其中, Δω=ωc?ωLO, Δ?=?c??LO,ωLO為本地載波的角頻率;?LO為本地載波的初始相位。對(duì)同相、正交分量計(jì)算平方和開(kāi)平方得因此AM信號(hào)具有較強(qiáng)的抗載頻失配能力,使用正交解調(diào)算法解調(diào)時(shí),不要求載頻嚴(yán)格的同頻同相。
由上述可知,AM解調(diào)模塊中有幅度計(jì)算模塊和去直流分量模塊。其中直流分量的獲取需要用到低通濾波器,并且濾波器的通帶要足夠小。將幅度計(jì)算結(jié)果減掉低通濾波器的結(jié)果即為AM的基帶信號(hào)。
1.2.2 FM解調(diào)算法
?(n)然后,對(duì)相位差分,即可求的FM的基帶信號(hào)m(n):
?(n) ??(n? 1 ) =m(n),為論述方便,此處省略了比例因子k。當(dāng)存在載頻失配時(shí),同相分量和正交分量可表示為:
求相位序列?(n) = Δω*n+ Δ?+k∑m(n),再對(duì)相位求差分,得解調(diào)信號(hào)為 Δω+m(n),可見(jiàn),此時(shí)解調(diào)輸出增加了一個(gè)直流分量,減去此直流分量可得到調(diào)制信號(hào)m(n)。因此FM信號(hào)具有較強(qiáng)的抗載頻失配能力,使用正交解調(diào)算法解調(diào)時(shí),不要求載頻嚴(yán)格的同頻同相。
由上述可知,F(xiàn)M解調(diào)模塊中有相位計(jì)算模塊、求相位差模塊、去直流分量模塊。其中直流分量的獲取需要用到低通濾波器,并且濾波器的通帶要足夠小。將相位差計(jì)算結(jié)果減掉低通濾波器的結(jié)果即為FM的基帶信號(hào)。
1.2.3 PULSE解調(diào)算法
PULSE調(diào)制指的是脈沖幅度調(diào)制(PAM),計(jì)算PULSE信號(hào)在AGC后的幅度即為PULSE信號(hào)的解調(diào)結(jié)果。
1.2.4 IQ解調(diào)算法
任意一個(gè)IQ信號(hào)都是由IQ調(diào)制產(chǎn)生的,其中I路信號(hào)稱之為同相信號(hào),Q路信號(hào)稱之為正交信號(hào)。IQ調(diào)制通常又稱為正交調(diào)制。因此自動(dòng)增益控制輸出的IQ信號(hào)即為IQ解調(diào)結(jié)果。
1.2.5 SSB解調(diào)(USB/LSB)算法
單邊帶(SSB)信號(hào)調(diào)制是通過(guò)濾除雙邊帶信號(hào)的一個(gè)邊帶而得到的,其中雙邊帶信號(hào)是由調(diào)制信號(hào)和載波直接相乘得到的,它只有上下邊帶分量,沒(méi)有載波分量。濾除其上邊帶得到是下邊帶(LSB)信號(hào),濾除其下邊帶得到上邊帶(USB)信號(hào)。SSB信號(hào)的表達(dá)式為:
無(wú)論上下邊帶,同相分量輸出就是調(diào)制信號(hào)。
1.2.6 CW解調(diào)算法
CW稱為等幅報(bào),它是一個(gè)斷斷續(xù)續(xù)的單頻信號(hào),記為s(t) =A(t)cos( 2πft),A(t)代表發(fā)送端按鍵是否壓下的狀態(tài),當(dāng)按鍵壓下時(shí)A(t)是一個(gè)大于零的常數(shù);當(dāng)按鍵松開(kāi)時(shí)A(t)為0。對(duì)CW信號(hào)s(t) =A(t)cos( 2πft)進(jìn)行解調(diào)時(shí),CW信號(hào)被搬移到零中頻,然后經(jīng)低通濾波濾除高頻成分后得到同相分量I=A(t)和正交分量Q=0,同相分量I即為CW基帶信號(hào)。
1.2.7 ISB解調(diào)算法
ISB信號(hào)具有兩個(gè)邊帶,上下邊帶中獨(dú)立含有不同的信息,這種調(diào)制方式就稱獨(dú)立邊帶(ISB)。ISB信號(hào)可以看做是LSB和USB的疊加,設(shè)ISB中的LSB和USB信號(hào)分別為sU(t)和sL(t),則ISB的數(shù)學(xué)表達(dá)式是:
I(t) =sU(t) +sL(t),Q(t) =s?L(t) ?sU(t)。在接收端,執(zhí)行IQ解調(diào)得IQ兩路信號(hào),其中I路信號(hào)I(t) =sU(t) +sL(t)即為ISB信號(hào)。
采樣數(shù)據(jù)率和解調(diào)帶寬的比值一般為數(shù)百或數(shù)千倍,要實(shí)現(xiàn)解調(diào)帶寬可調(diào),首先需要降低數(shù)據(jù)率,然后在降下來(lái)的數(shù)據(jù)率上以解調(diào)帶寬為通帶設(shè)計(jì)濾波器。此時(shí)若采用一個(gè)濾波器完成抽取濾波的話,很大的采樣數(shù)據(jù)率和解調(diào)帶寬比值會(huì)要求濾波器通帶非常窄,過(guò)渡帶特別陡,這樣的濾波器階數(shù)極大,F(xiàn)PGA資源難以滿足,這種問(wèn)題一般采用濾波器級(jí)聯(lián)的方法來(lái)解決—依次采用CIC濾波器、半帶濾波器和FIR濾波器級(jí)聯(lián)實(shí)現(xiàn)抽取濾波,如圖3所示。
圖3 解調(diào)帶寬可調(diào)功能的濾波器級(jí)聯(lián)結(jié)構(gòu)
圖3中的濾波器級(jí)聯(lián)方式主要考慮以下因素:
(1)積分疏狀濾波器(CIC)適合任意整數(shù)倍抽取,其系數(shù)全為1,濾波運(yùn)算為加減運(yùn)算,結(jié)構(gòu)簡(jiǎn)單,大幅節(jié)約了FPGA的乘法器資源,因此我們將CIC濾波器作為抽取濾波器級(jí)聯(lián)的第一級(jí)來(lái)完成高數(shù)據(jù)率的濾波運(yùn)算。
(2)半帶(HB)濾波器適合抽取因子為2的冪次的抽取濾波。半帶濾波器的系數(shù)一半為0,相對(duì)于同階的普通fir濾波器減少了一半左右的乘法器需求并且通帶平坦,比普通fir濾波器更適合實(shí)時(shí)處理,因此將若干半帶濾波器放在CIC抽取濾波之后。
(3)CIC濾波器和HB濾波器都是混疊濾波器,F(xiàn)IR濾波器的選擇性要比CIC和半帶濾波器強(qiáng),并且經(jīng)過(guò)前級(jí)的CIC和HB濾波抽取,數(shù)據(jù)速率相對(duì)來(lái)說(shuō)已經(jīng)很低,在最后一級(jí)FIR濾波器階數(shù)可設(shè)計(jì)地比較高,從而性能比較好的FIR濾波器來(lái)濾除可引起混疊的高頻分量,優(yōu)化濾波器的通帶波動(dòng)、過(guò)渡帶帶寬、阻帶最小衰減等系統(tǒng)的指標(biāo)。
圖3中的最后一級(jí)FIR濾波器需設(shè)計(jì)成濾波器系數(shù)可編程的,這是基于以下考慮:
(1)ITU-R SM.1138-2建議書(shū)—《必要帶寬的確定及其計(jì)算舉例與相應(yīng)的發(fā)射標(biāo)志的舉例》制定了各種模擬調(diào)制信號(hào)的典型帶寬;
(2)濾波器級(jí)聯(lián)的最后一級(jí)FIR濾波器的輸入信號(hào)含有混疊成分,ITU要求模擬調(diào)制信號(hào)解調(diào)的目的是音頻監(jiān)測(cè),為了得到良好的解調(diào)音質(zhì),需要濾除混疊成分。
因此將最后一級(jí)FIR濾波器需設(shè)計(jì)成濾波器系數(shù)可編程的,可得到不含CIC和半帶濾波器帶來(lái)的混疊成分,并可以根據(jù)ITU建議獲得精確的解調(diào)帶寬。
FIR濾波器具有線性相位特性,其系數(shù)具有對(duì)稱性,只需要半數(shù)的濾波器系數(shù)轉(zhuǎn)換為有符號(hào)整型數(shù)據(jù)送給FPGA即可[7]。使用Xilinx軟件Vivado集成的IP核FIR Compiler生成并行雙通道FIR濾波器。
信號(hào)在傳播過(guò)程中,由于電磁波本身輻射功率有差異、距離有遠(yuǎn)近、氣象條件以及多徑傳播因此,接收天線接收到的信號(hào)功率變化很大,自動(dòng)增益控制功能通過(guò)調(diào)整所接收信號(hào)的增益,可保證接收設(shè)備的輸出信號(hào)保持在最佳水平,在ITU建議對(duì)模擬調(diào)制信號(hào)進(jìn)行音頻監(jiān)測(cè)的要求下具有重要意義。
對(duì)于一部接收設(shè)備,在前端需要自動(dòng)適應(yīng)輸入信號(hào)的變化,將模擬信號(hào)控制在ADC的接入范圍之內(nèi);在后端,需要數(shù)字AGC將輸出信號(hào)保持在一定的幅度上,在這里只討論后端數(shù)字AGC。為了監(jiān)聽(tīng)模擬調(diào)制信號(hào)的解調(diào)音頻,AGC應(yīng)保障用戶能夠聽(tīng)到最清晰的基帶信號(hào)。由于數(shù)字基帶信號(hào)通過(guò)DAC轉(zhuǎn)換成模擬基帶信號(hào)來(lái)驅(qū)動(dòng)揚(yáng)聲器,那么解調(diào)生成的數(shù)字基帶信號(hào)在驅(qū)動(dòng)DAC時(shí),DAC的位寬利用率應(yīng)該最高,以此原則來(lái)確定AGC的參考輸出。
AGC使得的輸出信號(hào)保持在一定的幅度上,那么此模塊必須具有下述功能:
(1)根據(jù)DAC位寬利用率最高的原則設(shè)置AGC的參考輸出。
(2)AGC是個(gè)負(fù)反饋系統(tǒng),根據(jù)反饋的信號(hào)幅度和目標(biāo)值比較結(jié)果來(lái)動(dòng)態(tài)調(diào)整增益。
(3)AGC的輸入輸出都是IQ數(shù)據(jù),因此AGC內(nèi)部需要幅度計(jì)算過(guò)程。
(4)音頻速率有差異,因此AGC調(diào)整速率需可調(diào),有關(guān)聲音測(cè)量采用的是反饋數(shù)據(jù)加權(quán),在時(shí)間上越是靠前的事件要比所關(guān)注的剛剛發(fā)生的事件具有更小的權(quán)重[8]。
根據(jù)以上反饋回路在增益調(diào)整后的IQ驅(qū)動(dòng)下依次執(zhí)行幅度計(jì)算、與目標(biāo)輸出比較、數(shù)據(jù)加權(quán)和累加過(guò)程,生成新的增益再執(zhí)行計(jì)算。圖4是自動(dòng)增益控制流程圖。
圖4 IQ數(shù)據(jù)自動(dòng)增益控制流程圖
其中AGC調(diào)整快慢是通過(guò)調(diào)整數(shù)據(jù)加權(quán)因子α來(lái)實(shí)現(xiàn)的,α越小,調(diào)整的周期會(huì)越大,AGC的反應(yīng)速率就越慢;α越大,調(diào)整的周期會(huì)縮小,AGC的反應(yīng)速率就越快。
本文使用Xilinx軟件Vivado2017.4,使用硬件描述語(yǔ)言VHDL編碼實(shí)現(xiàn)數(shù)字下變頻、適應(yīng)各種解調(diào)帶寬的抽取濾波、自動(dòng)增益控制和各種模擬調(diào)制信號(hào)的解調(diào)功能,進(jìn)而實(shí)現(xiàn)一種模擬調(diào)制信號(hào)高效解調(diào)系統(tǒng)。其中重點(diǎn)是解調(diào)帶寬可調(diào)功能和幅度自動(dòng)增益控制功能,下面介紹這兩種功能的實(shí)現(xiàn)。
為實(shí)現(xiàn)解調(diào)帶寬可調(diào),需要設(shè)計(jì)多套濾波器系數(shù)。這些多套濾波器系數(shù)可以固定在FPGA中,這需要一次性將濾波器系數(shù)存儲(chǔ)于FPGA的ROM中,當(dāng)需要更新濾波器系數(shù)時(shí)需要重新往FPGA芯片下載濾波器系數(shù),不方便;本文實(shí)現(xiàn)濾波器系數(shù)實(shí)時(shí)更新,將FIR濾波器設(shè)計(jì)成系數(shù)可重載的,通過(guò)上位機(jī)文件操作的方式即可實(shí)現(xiàn),不必直接操作FPGA芯片,因此這種方式不僅節(jié)約FPGA的ROM資源,并且在整機(jī)層面調(diào)試可編程濾波器時(shí)避免了頻繁拆機(jī)、頻繁操作FPGA的麻煩。圖5是濾波器重載時(shí)序圖。
圖5 濾波器系數(shù)重載的Vivado平臺(tái)仿真結(jié)果
為驗(yàn)證整個(gè)抽取濾波方案,采樣并解調(diào)FM信號(hào),其中基帶頻率5kHz,頻偏25kHz;設(shè)置解調(diào)帶寬為50kHz時(shí)的抽取濾波效果如圖6所示,其中IQ信號(hào)為抽取濾波前后的基帶信號(hào),圖6中正弦曲線為FM解調(diào)輸出效果。
圖6 加FM信號(hào)抽取濾波和解調(diào)效果圖
自動(dòng)增益控制是針對(duì)幅度類模擬調(diào)制信號(hào)的解調(diào)而設(shè)計(jì)的,以AM解調(diào)為例驗(yàn)證自動(dòng)增益控制過(guò)程。施加調(diào)制率為50kHz的AM信號(hào),執(zhí)行AGC過(guò)程如圖所示。如圖7所示,施加具有一定功率的AM信號(hào)的IQ信號(hào),對(duì)于AM而言,調(diào)制信息全部保存在I路信號(hào)中,Q路數(shù)據(jù)為0。如圖所示,I_data_in[31:0]為I路信號(hào),在AGC調(diào)整過(guò)程中,增益gain_forth[31:0]漸漸趨于穩(wěn)定,使得幅度輸出radius_out[31:0]漸漸趨近于穩(wěn)定值。
圖7 自動(dòng)增益控制過(guò)程效果圖
本文根據(jù)ITU頻譜監(jiān)測(cè)相關(guān)建議,基于軟件無(wú)線電數(shù)字正交解調(diào)通用模型設(shè)計(jì)在FPGA中實(shí)現(xiàn)了模擬調(diào)制信號(hào)高效解調(diào)系統(tǒng)。應(yīng)ITU建議的要求,該系統(tǒng)具備解調(diào)帶寬可靈活調(diào)整,可適應(yīng)不同解調(diào)帶寬的模擬信號(hào);并且幅度可自動(dòng)增益控制,使得解調(diào)結(jié)果保持在一定幅度上,針對(duì)幅度類模擬調(diào)制信號(hào)可提供幅度穩(wěn)定的解調(diào)音頻輸出。