王靈芝,凌佳樂,蔡 萍,王志輝,陳穎頻
(閩南師范大學物理與信息工程學院,福建漳州363000)
頻譜分析儀是研究電信號最基本的儀器之一,利用頻譜儀進行頻域分析,可以使信號的觀測分析擺脫了時域的限制,因此成為測試頻域信號的重要工具.根據工作原理和應用領域的不同,頻譜儀可以分成實時頻譜儀和外差式掃頻頻譜儀兩大類[1].實時頻譜儀是在一個特定的時間內采用FFT 變換來對信號進行處理,從而得到信號的幅度和頻率以及相位等信息.實時頻譜儀多采用FPGA配合高速AD構成數字信號處理方案,其價格昂貴,且體積龐大[2].
因此,選擇超外差頻譜分析方案來設計一款低成本便攜式頻譜儀,系統包含一個基于鎖相環的本振源、混頻器、中頻濾波器和檢波器[3].本振源頻率范圍覆蓋80~120 MHz,頻率步進為100 KHz,在頻率范圍內可自動掃描,掃描時間在1~5 s之間可調.頻譜分析儀可在頻段內掃描并能顯示信號的頻譜分量.此外,系統還搭載了μC/OSIII嵌入式操作系統,通過STemWin設計GUI界面實現人機交互.最終實現實時頻譜分析、頻率掃描時間控制、最大頻率分量自動捕捉等功能.
本頻譜分析系統主要由本振源、混頻器、鎖相環、中頻濾波器、功率檢測和STM32單片機五部分組成,輸入信號在ADL5801混頻器中與ADF4351鎖相環產生的本振信號進行混頻,輸出差頻信號到10.7 MHz中頻濾波器.再由AD8361功率檢測模塊將功率轉換為直流信號送入STM32進行ADC采集.系統結構框圖如圖1所示.
假設輸入信號fi的頻率范圍80~120 MHz,與本振源fls=Alssin()2πflst相乘得到混頻輸出信號fm.將fm送入中頻濾波器,可得到下變頻后的信號分量.由此可推出被測信號fi在對應頻點的信號幅度.系統選擇10.6 MHz的中頻濾波器,當設置鎖相環輸出本振頻率90 MHz,通過混頻、濾波和功率檢測即可得到輸入信號為80 MHz的頻譜分量功率.對于不同的頻率分量,只要步進地改變本征信號的頻率就可獲得所有頻率分量.
系統采用的是AD 公司的ADF4351 芯片產生本振信號.ADF4351 是一款PLL 頻率合成器,頻率范圍35~4 400 MHz,可實現整數N分頻和小數N分頻的鎖相環.芯片支持SPI協議,模擬和數字鎖定檢測,可通過編程控制內部6個32位寄存器[4].
ADF4351 模塊電路圖如圖2 所示. 引腳REF_IN接外部20 MHz 有源晶振作為參考頻率,引腳CP_OUT連接V_TUNE_F環路濾波器濾除V_TUNE引腳的高頻分量,從而提供給芯片內部壓控振蕩器;當芯片內部鎖相環鎖定后,LD引腳輸出高電平;輸出信號通過引腳RFOUTA+和RFOUTA-差分輸出.ADF4351 與STM32 通過SPI 接口相連.DATA引腳在CLK上升沿時將引腳數據存入移位寄存器.當LE引腳上升沿時將移位寄存器內的數值送入對應的內部寄存器.
圖1 系統結構框圖Fig.1 System structure block diagram
圖2 ADF4351模塊硬件電路圖Fig.2 Hardware circuit diagram of ADF4351 module
如圖3所示,系統采用ADL5801芯片來實現混頻功能.ADL5801是一款具有高線性度、雙平衡的有源混頻器,頻率范圍10~6 000 MHz[5].輸入信號與本振源分別通過兩路差分引腳LOIN,LOIP,RFIN,RFIP輸入,混頻結果由引腳IFON,IFOP輸出.隨著本振源頻率的變化,輸出信號的幅值也會發生改變,這將影響到混頻結果.借助ADL5801的VSET端的偏置調節功能可優化輸入線性度、噪聲系數和直流工作電流.
圖3 ADL5801模塊電路圖Fig.3 Hardware circuit diagram of ADL5801 modul
本設計采用村田Murata低損耗10.7 M陶瓷濾波器作為中頻濾波器,與π型低通濾波器組成中頻濾波器模塊.測試電路對多種濾波器組合電路進行性能測試,五種電路如圖4 所示.濾波器性能分析如圖5 所示,可以看出單個晶振+低通濾波器的組合選頻特性曲線選擇性較好,選擇作為中頻濾波電路.
圖4 中頻濾波器電路圖Fig.4 Circuit diagram of IF filter
圖5 濾波器性能分析圖Fig.5 Filter performance diagram
AD8361 是一款均值響應的功率檢測器,帶寬高達2. 5 GHz,工作電壓為2. 7~5. 5 V[6]. 如表1 所示,AD8361 有3 種工作模式以適應各種的模數轉換的需求.本設計使用接地模式,在無信號輸入時輸出0 V更加直觀.設計電路中,RFIN引腳接入輸入信號,在接地模式下輸入信號被轉換為相對應的直流電壓信號由VRMS腳輸出.FLTR引腳和之間放置一個100 nF 電容,可以降低調制濾波器的角頻率,用于小信號輸入.STM32單片機通過ADC轉換即可得到對應的輸入信號的有效值.AD8361電路如圖6所示.
表1 AD8361模式配置表Tab.1 AD8361 mode configuration table
圖6 AD8361模塊電路圖Fig.6 Hardware circuit diagram of AD8361 module
STM32 運行μC/OSIII 實時操作系統[7-8],上電后創建子任務及堆棧、設置任務優先級、初始化外設和操作系統.操作系統調度執行各子任務,包括圖形任務,觸摸屏任務,內存任務,頻譜分析任務和待機任務,系統主程序流程圖如圖7所示:
圖7 系統流程圖Fig.7 System flow chart
頻譜分析包含掃頻驅動函數和頻譜分析算法.掃頻驅動函數驅動ADF4351 芯片步進輸出本振頻率.ADF4351 內部簡化圖如圖8 所示,ADF4351 輸出頻率由內部的壓控振蕩器(VCO)分頻后提供,鑒頻鑒相器(PFD)控制壓控振蕩器的輸出頻率,當外部參考頻率分頻后的頻率與壓控振蕩器分頻后的頻率相等時,壓控振蕩器的頻率不再變化,完成頻率鎖定.系統設定頻率步進為100 KHz.
圖8 ADF4351內部簡化框圖Fig.8 Internal simplified block diagram of ADF4351
根據原理得到以下公式(1)和(2):
其中,RFVCO為VCO輸出頻率;RFOUT為ADF4351輸出頻率;REFIN為外部參考頻率;INT為16位的整數分頻比;MOD為12 位的小數模數;FRAC為12 位的小數分頻的分子.DIV是VCO輸出分頻器的值,可配置為1、2、4、8、16、32、64;R、D和T構成輸入參考頻率的分頻系數.將D和T設置為0,R設置為1,則可以得到簡化后的公式(3):
因為RFVCO頻率范圍在2 200~4 400 MHz之間,若RFOUT確定則可以通過窮盡法得到一個合適的分頻值DIV.將INT、MOD、FRAC看作一個整體變量,帶入公式求解,其中INT代表整數部分,代表小數部分,窮盡法求解小數部分即可得到誤差足夠小的MOD、FRAC.最終獲得以上公式多種解的其中一種解,使得ADF4351輸出對應的頻率.
本設計采用STM32 單片機內置ADC 采集AD8361 有效值檢測模塊的直流信號,配置ADC1 通道5,采用軟件觸發連續轉換模式,配置DMA 將ADC 轉換的數據搬運到內存.程序通過STM32單片機執行掃頻操作,即初始設定ADF4351頻率為80 MHz,讀取50次ADC數值累加后取平均,之后送入卡爾曼濾波器濾波后保存在數組中,步進100 KHz,重復以上步驟,直到頻率達到120 MHz.
由于卡爾曼濾波器的特性,在掃頻的結束點和下一次掃頻的開始點之間的跳變較為明顯時,濾波器會將這段跳變視為噪聲進行消除,可能會影響掃頻前期的結果.圖9 顯示初始狀態為0 的卡爾曼濾波曲線.圖9中橫坐標代表ADF4351的輸出頻率,縱坐標為ADC采集的數值.虛線代表原始數據的曲線,實線代表卡爾曼濾波后的曲線,可以看出因為卡爾曼濾波器的連續性,在80 MHz附近與原始數據差距略大.
因此,為了更好地實現數據的分析與處理,去除系統噪聲,本文將AD 采集后的數據上傳至PC 端,編寫Python程序進行可視化分析,取待測信號頻率為103 MHz,幅值為5 V的數據.圖10顯示經過優化的卡爾曼濾波后的曲線,橫坐標代表ADF4351 的輸出頻率,縱坐標為ADC 采集的數值,虛線代表原始數據的曲線,實線代表卡爾曼濾波后的曲線,可以看出優化后的卡爾曼濾波算法,不受起始狀態的影響,消除原始信號的毛刺、貼近原始數據的同時不丟失原始數據的特征.分析圖像得到曲線在103 MHz 附近幅值最小,103±10.7 MHz附近幅值較大,根據這些特征即可獲得曲線對應的輸入待測信號頻率.
為了求解頻譜分量,數據分析算法采用滑動窗口的方法對整段數據進行極值掃描,取出滿足條件的極值進行二輪判斷,根據極值周圍梯度特征進行一定的偏移和功率計算,最終輸出對應的頻譜[9].取待測信號頻率為103 MHz,幅值為5 V 的數據,圖11 中點線代表頻率特征提取后的曲線,可以看出,經過算法處理后,可得到最大的頻率分量為103 MHz.
圖9 初始狀態的卡爾曼濾波效果圖Fig.9 The Kalman filter effect diagram of the initial state
圖11 頻率f=103 MHz的頻譜分量圖Fig.11 Spectrum component map of f=103 MHz
由于算法未采用Python庫函數,因此通過簡單的修改就能移植到STM32單片機上進行頻譜分析.
系統的界面采用STemWin設計GUI界面,可通過觸屏實現人機交互.系統可測試頻率范圍為80~120 MHz.可實現自動頻譜分析、頻率掃描時間控制、最大頻率分量自動捕捉等功能.圖11顯示輸入信號為82 MHz,1 V 的正弦波時輸出的頻譜分析圖;圖12 顯示輸入信號為103 MHz,3 V 的正弦波時輸出的頻譜分析圖.實驗結果表明各項指標均滿足要求,信號測量準確性高,頻譜純度高.
圖12 輸入信號為頻率82 MHz幅值1 V正弦波頻譜分析結果Fig. 12 Spectrum analysis of frequency 82 MHz amplitude 1V sine wave
圖13 輸入信號為頻率103 MHz幅值3 V正弦波頻譜分析結果Fig.13 Spectrum analysis of frequency 103 MHz amplitude 3V sine wave
本文設計了基于STM32 的便攜式超外差頻譜分析系統,頻率范圍80~120 MHz.系統由STM32 控制ADF4351鎖相環模塊進行掃頻,產生步進為100 KHz的本振源.本振信號與輸入信號經ADL5801混頻后送入10.7 MHz 濾波器濾波,再經有效值檢測模塊進行AD 采樣與處理.系統搭載μC/OSIII 操作系統,最終實現了快速實時頻譜分析功能.調試結果表明,各項設計指標均滿足要求.