田澄睿,余然,顧浚哲,楊旻薈
(南京信息工程大學電子與信息工程學院,江蘇南京,210044)
關鍵字:快速傅里葉變換;總諧波失真測量;MSP432E401Y;ESP32
隨著信號處理領域的發展,信號失真度測量技術也越來越得到研究人員的重視。總諧波失真度(THD)是信號的重要參數之一,其是對信號偏離正弦波信號的程度的體現,同時也是衡量各種放大器、信號發生器等儀器的重要指標,THD在電子領域有著廣泛的應用與重要的研究意義。本文通過FFT算法處理得到輸入信號的基波幅值及二至五次諧波幅值,進而計算得出信號的失真度并進行顯示,本文的技術方案能夠為測量信號THD的應用場景提供有用參考。
本系統的硬件主要由MSP432為主控芯片,前端接模擬電路將輸入信號放大、抬升,并經過AD模塊采入單片機。后端接ESP32通訊模塊與Android studio制作的手機app進行交互。整體系統設計如圖1所示。

圖1 系統總框架圖
本系統設計旨在設計開發一種測量范圍廣、測量精度高的信號失真度測量裝置,可測信號峰峰值電壓范圍為30mV~600mV、輸入信號基頻范圍為 1kHz~100kHz、失真度誤差≤3%。
為使在輸入信號峰峰值變化時輸出給后續模擬電路的電壓穩定,本文采用AD603 AGC自動增益控制放大電路,可針對強度不同的信號產生不同的放大倍數,使得最終的輸出電壓穩定在同一標準。與普通放大器不同的是,AGC自動增益控制放大器有一個引腳Vtune,通過控制其電壓即可控制輸出電壓的范圍。原理如圖2所示。

圖2 AGC結構原理圖
由于MSP432單片機的可承受電壓范圍均為正電壓,因此信號發生器信號無法直接輸入單片機進行A/D采樣。本文設計的加法電路可為輸入信號增加直流分量,使單片機可以承受。電路原理如圖3所示。

圖3 加法電路原理圖
A/D模塊使用MSP板載模塊。包括兩個相同的轉換器模塊,它們共享24個輸入通道。ADC模塊具有12位的轉換分辨率,支持24個輸入通道,外加一個內部的溫度傳感器。每個ADC模塊包含四個可編程的順序器,允許對多個模擬輸入源進行采樣而無需控制器干預。多個模擬輸入源的采樣,無需控制器干預。每個采樣序列器提供靈活的編程,具有完全可配置的輸入源、觸發事件、中斷生成和序列器優先級。此外,轉換值可以選擇轉移到一個數字比較器模塊。每個ADC模塊提供八個數字比較器。每個數字比較器評估ADC轉換值,以確定信號的工作范圍。ADC的轉換頻率是采樣和保持數的一個函數,由公式(1)給出:

其中,NSH為ADC時鐘中的采樣和保持寬度,TADC為ADC轉換時鐘周期。
ADC使用內部信號VREFP和VREFN作為參考,從選定的模擬輸入產生一個轉換值。這個轉換值的范圍是0x000到0xFFF。在單端輸入模式下,0x000值相當于VREFN上的電壓水平;0xFFF值相當于VREFP上的電壓水平。分辨率可由公式(2)得出。

轉換公式如圖4所示。

圖4 AD 轉換公式
信號經過傅里葉級數分解后可得到一系列正余弦信號,其中具有一定頻率且振幅最大的信號即為基波,而頻率大于基波頻率振幅較小的信號即為諧波。諧波的頻率為基波頻率的整數倍,基波頻率3倍的波稱之為三次諧波,以此類推。為此本文對輸入信號進行快速傅里葉變換(FFT),通過尋峰算法找出最大幅值的正弦分量,其對應的頻率即為基波頻率。基波頻率的高次整數倍頻率即為對應的諧波頻率。
對于頻率從1k-100k的輸入信號,需要FFT的采樣頻率能夠基于輸入信號頻率做出可自動適應的調整。FFT的采樣間隔可由公式(3)計算。

其中,si為采樣間隔,sf為采樣頻率。由此可知,sf越小采樣間隔越小,精度越高。但為了滿足采樣定理,sf固定以后,可處理的信號范圍被限制在了≤2sf的區間內。為處理這個矛盾,本文對輸入信號的頻率做分段處理,1k、2k~50k、50k~60k、60k~100k。
本文采用的數據上傳與下載的整體思路為:信號經FFT后計算測得的失真度測量值THDx和基波諧波頻率的數據首先通過串口傳給ESP32模塊,ESP32將數據上傳給服務器,最后通過Android Studio制作的手機APP從服務器下載數據。本文通過網絡連接服務器,采用HTTP協議和RESTful風格的api接口進行數據的傳遞,流程如圖5所示。
其中,ESP32主頻高達230MHz,計算能力可達600DMIPS。涵蓋精細分辨時鐘門控、省電模式和動態電壓調整等特征。

圖5 數據傳輸原理
系統的整體系統設計如圖6所示。主要包含uDMA,AD采樣,測頻,頻率判斷,數據擬合,串口收發。

圖6 軟件系統設計
本文利用KJS-4825電源變壓器、DG4102信號發生器及DS2202A-EDU示波器來搭建信號失真度測量系統的測試環境,本測量系統被測信號的電壓峰峰值范圍是30mV~600mV,被測信號的頻率范圍是1kHz~100kHz,在給定信號諧波失真度THDo的情況下記錄測量值THDx,并計算絕對誤差。因1kHz的正弦波信號具有典型性,故將其單獨進行測試。

表1 1kHz的 THD測量

表2 2kHz~100kHz的 THD測量
串口顯示與手機app顯示分別如圖7、圖8所示。

圖7 串口屏本地顯示

圖8 手機app顯示
本文的誤差主要來源于以下幾個方面:①經過AGC放大模塊的信號幅值會在一定范圍內發生微小波動。②MSP432開發板在DMA中存儲的AD采樣數據有限,無法直接提高采樣精度,THDx需要通過擬合逼近。
本文設計的基于MSP432E401Y的信號失真度測量系統,可以實現30mv~600mv,頻率1kHz~100kHz交流信號諧波失真度的測量,并能夠通過串口屏和手機app進行數據顯示。本文通過FFT算法處理輸入信號數據的技術方案能夠為測量信號失真度的研究提供有益的參考,符合當今電子測量的發展趨勢。