田澄睿,余然,顧浚哲,楊旻薈
(南京信息工程大學(xué)電子與信息工程學(xué)院,江蘇南京,210044)
關(guān)鍵字:快速傅里葉變換;總諧波失真測量;MSP432E401Y;ESP32
隨著信號處理領(lǐng)域的發(fā)展,信號失真度測量技術(shù)也越來越得到研究人員的重視??傊C波失真度(THD)是信號的重要參數(shù)之一,其是對信號偏離正弦波信號的程度的體現(xiàn),同時也是衡量各種放大器、信號發(fā)生器等儀器的重要指標(biāo),THD在電子領(lǐng)域有著廣泛的應(yīng)用與重要的研究意義。本文通過FFT算法處理得到輸入信號的基波幅值及二至五次諧波幅值,進而計算得出信號的失真度并進行顯示,本文的技術(shù)方案能夠為測量信號THD的應(yīng)用場景提供有用參考。
本系統(tǒng)的硬件主要由MSP432為主控芯片,前端接模擬電路將輸入信號放大、抬升,并經(jīng)過AD模塊采入單片機。后端接ESP32通訊模塊與Android studio制作的手機app進行交互。整體系統(tǒng)設(shè)計如圖1所示。
圖1 系統(tǒng)總框架圖
本系統(tǒng)設(shè)計旨在設(shè)計開發(fā)一種測量范圍廣、測量精度高的信號失真度測量裝置,可測信號峰峰值電壓范圍為30mV~600mV、輸入信號基頻范圍為 1kHz~100kHz、失真度誤差≤3%。
為使在輸入信號峰峰值變化時輸出給后續(xù)模擬電路的電壓穩(wěn)定,本文采用AD603 AGC自動增益控制放大電路,可針對強度不同的信號產(chǎn)生不同的放大倍數(shù),使得最終的輸出電壓穩(wěn)定在同一標(biāo)準(zhǔn)。與普通放大器不同的是,AGC自動增益控制放大器有一個引腳Vtune,通過控制其電壓即可控制輸出電壓的范圍。原理如圖2所示。
圖2 AGC結(jié)構(gòu)原理圖
由于MSP432單片機的可承受電壓范圍均為正電壓,因此信號發(fā)生器信號無法直接輸入單片機進行A/D采樣。本文設(shè)計的加法電路可為輸入信號增加直流分量,使單片機可以承受。電路原理如圖3所示。
圖3 加法電路原理圖
A/D模塊使用MSP板載模塊。包括兩個相同的轉(zhuǎn)換器模塊,它們共享24個輸入通道。ADC模塊具有12位的轉(zhuǎn)換分辨率,支持24個輸入通道,外加一個內(nèi)部的溫度傳感器。每個ADC模塊包含四個可編程的順序器,允許對多個模擬輸入源進行采樣而無需控制器干預(yù)。多個模擬輸入源的采樣,無需控制器干預(yù)。每個采樣序列器提供靈活的編程,具有完全可配置的輸入源、觸發(fā)事件、中斷生成和序列器優(yōu)先級。此外,轉(zhuǎn)換值可以選擇轉(zhuǎn)移到一個數(shù)字比較器模塊。每個ADC模塊提供八個數(shù)字比較器。每個數(shù)字比較器評估ADC轉(zhuǎn)換值,以確定信號的工作范圍。ADC的轉(zhuǎn)換頻率是采樣和保持?jǐn)?shù)的一個函數(shù),由公式(1)給出:
其中,NSH為ADC時鐘中的采樣和保持寬度,TADC為ADC轉(zhuǎn)換時鐘周期。
ADC使用內(nèi)部信號VREFP和VREFN作為參考,從選定的模擬輸入產(chǎn)生一個轉(zhuǎn)換值。這個轉(zhuǎn)換值的范圍是0x000到0xFFF。在單端輸入模式下,0x000值相當(dāng)于VREFN上的電壓水平;0xFFF值相當(dāng)于VREFP上的電壓水平。分辨率可由公式(2)得出。
轉(zhuǎn)換公式如圖4所示。
圖4 AD 轉(zhuǎn)換公式
信號經(jīng)過傅里葉級數(shù)分解后可得到一系列正余弦信號,其中具有一定頻率且振幅最大的信號即為基波,而頻率大于基波頻率振幅較小的信號即為諧波。諧波的頻率為基波頻率的整數(shù)倍,基波頻率3倍的波稱之為三次諧波,以此類推。為此本文對輸入信號進行快速傅里葉變換(FFT),通過尋峰算法找出最大幅值的正弦分量,其對應(yīng)的頻率即為基波頻率?;l率的高次整數(shù)倍頻率即為對應(yīng)的諧波頻率。
對于頻率從1k-100k的輸入信號,需要FFT的采樣頻率能夠基于輸入信號頻率做出可自動適應(yīng)的調(diào)整。FFT的采樣間隔可由公式(3)計算。
其中,si為采樣間隔,sf為采樣頻率。由此可知,sf越小采樣間隔越小,精度越高。但為了滿足采樣定理,sf固定以后,可處理的信號范圍被限制在了≤2sf的區(qū)間內(nèi)。為處理這個矛盾,本文對輸入信號的頻率做分段處理,1k、2k~50k、50k~60k、60k~100k。
本文采用的數(shù)據(jù)上傳與下載的整體思路為:信號經(jīng)FFT后計算測得的失真度測量值THDx和基波諧波頻率的數(shù)據(jù)首先通過串口傳給ESP32模塊,ESP32將數(shù)據(jù)上傳給服務(wù)器,最后通過Android Studio制作的手機APP從服務(wù)器下載數(shù)據(jù)。本文通過網(wǎng)絡(luò)連接服務(wù)器,采用HTTP協(xié)議和RESTful風(fēng)格的api接口進行數(shù)據(jù)的傳遞,流程如圖5所示。
其中,ESP32主頻高達230MHz,計算能力可達600DMIPS。涵蓋精細分辨時鐘門控、省電模式和動態(tài)電壓調(diào)整等特征。
圖5 數(shù)據(jù)傳輸原理
系統(tǒng)的整體系統(tǒng)設(shè)計如圖6所示。主要包含uDMA,AD采樣,測頻,頻率判斷,數(shù)據(jù)擬合,串口收發(fā)。
圖6 軟件系統(tǒng)設(shè)計
本文利用KJS-4825電源變壓器、DG4102信號發(fā)生器及DS2202A-EDU示波器來搭建信號失真度測量系統(tǒng)的測試環(huán)境,本測量系統(tǒng)被測信號的電壓峰峰值范圍是30mV~600mV,被測信號的頻率范圍是1kHz~100kHz,在給定信號諧波失真度THDo的情況下記錄測量值THDx,并計算絕對誤差。因1kHz的正弦波信號具有典型性,故將其單獨進行測試。
表1 1kHz的 THD測量
表2 2kHz~100kHz的 THD測量
串口顯示與手機app顯示分別如圖7、圖8所示。
圖7 串口屏本地顯示
圖8 手機app顯示
本文的誤差主要來源于以下幾個方面:①經(jīng)過AGC放大模塊的信號幅值會在一定范圍內(nèi)發(fā)生微小波動。②MSP432開發(fā)板在DMA中存儲的AD采樣數(shù)據(jù)有限,無法直接提高采樣精度,THDx需要通過擬合逼近。
本文設(shè)計的基于MSP432E401Y的信號失真度測量系統(tǒng),可以實現(xiàn)30mv~600mv,頻率1kHz~100kHz交流信號諧波失真度的測量,并能夠通過串口屏和手機app進行數(shù)據(jù)顯示。本文通過FFT算法處理輸入信號數(shù)據(jù)的技術(shù)方案能夠為測量信號失真度的研究提供有益的參考,符合當(dāng)今電子測量的發(fā)展趨勢。