本發(fā)明涉及一種信號(hào)采集方法和系統(tǒng),尤其涉及一種交流電信號(hào)的高精度采集方法和采集系統(tǒng)。
背景技術(shù):
各類通用性儀表的設(shè)計(jì),尤其是高精度電學(xué)儀器設(shè)備的設(shè)計(jì)過(guò)程中,數(shù)據(jù)采集一直是不可或缺的一環(huán),數(shù)據(jù)采集系統(tǒng)的指標(biāo)直接影響了所設(shè)計(jì)的儀表、傳感器的技術(shù)指標(biāo)。目前在儀表的設(shè)計(jì)和通用信號(hào)的幅頻特性測(cè)試過(guò)程中,其信號(hào)采集及顯示一般采用示波器,而一般示波器的垂直分辨力為8位、內(nèi)置計(jì)數(shù)器分辨力為6位,這就難以滿足高精度儀表的設(shè)計(jì)需求,而垂直分辨力或頻率指標(biāo)較高的專用示波器的價(jià)格在普通示波器基礎(chǔ)上會(huì)成幾何量的增加,這就對(duì)低成本、高精度的信號(hào)采集方法提出了迫切的需求。
通常為了滿足高精度的要求,需要采用更為高級(jí)的芯片和處理電路,這樣就會(huì)使成本非常高昂。因此,如何采用低成本的硬件電路、配合高精度的采樣算法,降低采樣系統(tǒng)對(duì)硬件條件的需求、同時(shí)提高系統(tǒng)處理能力、加快處理速度是目前的一個(gè)急需的技術(shù)。
技術(shù)實(shí)現(xiàn)要素:
為了解決上述問(wèn)題,本發(fā)明提供一種信號(hào)采集分析系統(tǒng),包括:主控制器、數(shù)據(jù)轉(zhuǎn)換器ADC,其特征在于:還包括測(cè)頻模塊,其中主控制器包括主控制單元、輔助控制單元、邏輯門陣列,邏輯門陣列負(fù)責(zé)驅(qū)動(dòng)ADC、測(cè)量并計(jì)算被測(cè)信號(hào)頻率,主控單元負(fù)責(zé)人機(jī)交互及與輔助控制單元、上位機(jī)通信其中:邏輯門陣列及前端電路能精確測(cè)量信號(hào)頻率,在信號(hào)頻率已知的情況下主控制單元能精確計(jì)算出信號(hào)幅值,輔助控制單元能擴(kuò)展主控制單元的其他低速需求,其中所述系統(tǒng)的工作過(guò)程包括:a)測(cè)頻模塊將被測(cè)信號(hào)進(jìn)行處理,調(diào)整為邏輯門陣列的輸入輸出單元(IO)輸入范圍能的晶體管-晶體管邏輯(TTL)電平;由邏輯門陣列內(nèi)部的等精度測(cè)頻模塊測(cè)量并計(jì)算出被測(cè)信號(hào)的精確頻率值,并上傳至主控制單元;作為快速傅里葉變換所得頻譜計(jì)算幅值的參考頻率;b)邏輯門陣列驅(qū)動(dòng)數(shù)據(jù)轉(zhuǎn)換器對(duì)測(cè)量數(shù)據(jù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換,配合前端電路測(cè)量并計(jì)算出被測(cè)信號(hào)頻率值,并將數(shù)據(jù)發(fā)送給主控制單元;c)主控制單元對(duì)被測(cè)信號(hào)的進(jìn)行加窗、快速傅里葉變換計(jì)算進(jìn)而得到該信號(hào)的頻譜,計(jì)算出信號(hào)的幅度。
進(jìn)一步地,其特征在于:所述步驟c)的具體實(shí)現(xiàn)如下,將頻譜內(nèi)最大的幅值所對(duì)應(yīng)的頻率標(biāo)號(hào)乘以頻率分辨率,可得到與被測(cè)信號(hào)頻率差最小的分辨率頻率值。通過(guò)比較測(cè)頻模塊所得頻率值與FFT(快速傅里葉變換)計(jì)算得出的頻率,可確定頻譜上的被測(cè)信號(hào)頻率在該分辨率頻率的左旁瓣還是右旁瓣,同時(shí)與得到的次最大幅度值作為對(duì)比驗(yàn)證,在確定信號(hào)頻譜的分辨率頻率范圍內(nèi)后即可以通過(guò)內(nèi)差法得到該頻率點(diǎn)處的更精確的幅度值。
進(jìn)一步地,其特征在于:所述系統(tǒng)還包括通信模塊、外圍擴(kuò)展模塊、觸摸顯示屏,主控制單元Core1通過(guò)通信模塊可與遠(yuǎn)程終端連接,可與系統(tǒng)內(nèi) 的觸控顯示屏進(jìn)行交互;輔助控制單元Core2可通過(guò)外圍擴(kuò)展模塊與外圍其他電路連接。
進(jìn)一步地,其特征在于:邏輯門陣列內(nèi)部具有IP,在所述a)步驟中,通過(guò)調(diào)用IP核生成抗混疊數(shù)字濾波器,濾掉2倍采樣頻率以上及FFT(快速傅里葉變換)窗配置過(guò)程中的無(wú)效旁瓣頻率的無(wú)用信號(hào)。
進(jìn)一步地,其特征在于:測(cè)頻模塊內(nèi)的波形處理電路包括同向比例放大電路、限幅電路、濾波放大電路、施密特觸發(fā)器;被測(cè)信號(hào)先經(jīng)同向比例放大電路,隨后經(jīng)過(guò)限幅電路將1~12V的信號(hào)限制在0.7V以下,再經(jīng)過(guò)后級(jí)濾波放大后輸入遲滯比較器轉(zhuǎn)換成方波,此時(shí)信號(hào)幅值范圍滿足可編程邏輯門陣列(FPGA)的IO輸入范圍。
進(jìn)一步地,其特征在于:主控制單元在多線程的支持下可以將邏輯門陣列發(fā)送來(lái)的原始數(shù)據(jù)通過(guò)通信模塊轉(zhuǎn)發(fā)給遠(yuǎn)程終端,同時(shí)支持接收遠(yuǎn)程終端的控制命令;輔助控制單元接收到主控制單元的命令后,將頻譜圖輸出到觸摸顯示屏顯示,并可選擇當(dāng)前顯示的波形為原始信號(hào)的波形或者加窗后的波形或者頻譜圖。
進(jìn)一步地,其特征在于:所述C步驟中,采用Flat Top窗函數(shù)進(jìn)行分析,其中,函數(shù)的形式為
其中,
ωj=1-1.985844164102cos(z)+1.71176438506cos(2z)
-1.282075284005cos(3z)+0.667777530266cos(4z)
+0.240160796576cos(5z)+0.056656381764cos(6z)
-0.008134974479cos(7z)+0.000624544650cos(8z)
-0.000019808998cos(9z)+0.000000132974cos(10z)
其中ck為關(guān)于k的常數(shù),k為窗函數(shù)的階數(shù),N為FFT計(jì)算點(diǎn)數(shù),
進(jìn)一步地,其特征在于:原始信號(hào)為:
其中Adc為直流分量幅值,f1為被測(cè)信號(hào)頻率,P1為初始相位,fn為干擾信號(hào)頻率。
進(jìn)一步地,其特征在于:得到FFT結(jié)果后通過(guò)下面的公式可得到更精確的幅度值:
其中Aavr為最終計(jì)算恢復(fù)得到的幅度值,Aindex為幅度頻譜中幅度值最大點(diǎn)的值。
本發(fā)明還提供一種前面所述信號(hào)采集分析系統(tǒng)的分析方法,其特征在于:包括如下步驟:
測(cè)頻模塊將被測(cè)信號(hào)進(jìn)行處理,調(diào)整為邏輯門陣列的輸入輸出單元(IO)輸入范圍能的晶體管-晶體管邏輯(TTL)電平;由邏輯門陣列內(nèi)部的等精度測(cè)頻模塊測(cè)量并計(jì)算出被測(cè)信號(hào)的精確頻率值,并上傳至主控制單元;作為快速傅里葉變換計(jì)算的參考頻率;
邏輯門陣列驅(qū)動(dòng)數(shù)據(jù)轉(zhuǎn)換器對(duì)測(cè)量數(shù)據(jù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換,配合前端電路測(cè)量并計(jì)算出被測(cè)信號(hào)頻率值,并將數(shù)據(jù)發(fā)送給主控制單元;
主控制單元對(duì)被測(cè)信號(hào)的進(jìn)行加窗、快速傅里葉變換計(jì)算進(jìn)而得到該信號(hào)的頻譜,計(jì)算出信號(hào)的幅度;
其中,所述C步驟中,采用Flat Top窗函數(shù)進(jìn)行分析,其中,函數(shù)的形式為
其中,
ωj=1-1.985844164102cos(z)+1.71176438506cos(2z)
-1.282075284005cos(3z)+0.667777530266cos(4z)
+0.240160796576cos(5z)+0.056656381764cos(6z)
-0.008134974479cos(7z)+0.000624544650cos(8z)
-0.000019808998cos(9z)+0.000000132974cos(10z)
其中ck為關(guān)于k的常數(shù),N為FFT計(jì)算點(diǎn)數(shù),
發(fā)明效果:
通過(guò)本發(fā)明的系統(tǒng),能實(shí)時(shí)采集被測(cè)信號(hào),分析出被測(cè)信號(hào)中的頻譜成分,給出信號(hào)頻率的精確測(cè)量結(jié)果、幅值測(cè)量精確結(jié)果、實(shí)時(shí)畫出被測(cè)信號(hào)波形、頻譜、還可以通過(guò)TCP與遠(yuǎn)程終端協(xié)同工作、控制外圍電路。而且本發(fā)明在硬件上采用了FPGA取代了傳統(tǒng)的高級(jí)芯片和處理電路,從而使系統(tǒng)處理能力提高、速度加快、成本降低。
基于本發(fā)明的數(shù)據(jù)采樣和分析方法所設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng),可以實(shí)現(xiàn)交直流信號(hào)的高精度測(cè)量,仿真和試驗(yàn)結(jié)果表明,對(duì)頻率未知信號(hào)采樣,其幅值精度可達(dá)10-4,頻率精度可達(dá)10-6,而一般示波器的垂直分辨力為8位、內(nèi)置計(jì)數(shù)器分辨力為6位,因此與傳統(tǒng)的示波器相比,基于本發(fā)明所設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、成本低、精度高。垂直分辨力最高可達(dá)14位,頻率測(cè)量精度可達(dá)12位,因此基于本發(fā)明設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)能夠切實(shí)提高準(zhǔn)確度,有良好的應(yīng)用前景。
本方案還有一個(gè)優(yōu)點(diǎn)在于整套系統(tǒng)都基于一個(gè)平臺(tái)設(shè)計(jì),設(shè)備接口簡(jiǎn)單還可以根據(jù)實(shí)際需要進(jìn)行更換,且系統(tǒng)集成度高、可擴(kuò)展性強(qiáng),系統(tǒng)后續(xù)的優(yōu)化升級(jí)都較為方便,同時(shí),本方案設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)采樣數(shù)據(jù)和示波器的測(cè)試波形和結(jié)果進(jìn)行對(duì)比驗(yàn)證是一致的,證明了系統(tǒng)的可靠性和準(zhǔn)確度。
附圖說(shuō)明
圖1是本發(fā)明數(shù)據(jù)采集分析系統(tǒng)框圖。
圖2是本發(fā)明分析方法時(shí)域及頻域圖。
圖3是原始時(shí)域波形。
圖4是加窗后時(shí)域波形。
圖5是經(jīng)過(guò)FFT變換后時(shí)域波形。
圖6是采用本發(fā)明分析方法的計(jì)算實(shí)例。
圖7是測(cè)頻模塊的波形調(diào)理電路。
具體實(shí)施方式
參見圖1,示出了本發(fā)明信號(hào)采集分析系統(tǒng),包括主控制器、數(shù)據(jù)轉(zhuǎn)換器ADC、測(cè)頻模塊、通信模塊、外圍擴(kuò)展模塊、電源模塊和觸摸顯示屏幕等。
其中,主控制器包括主控制單元Core1、輔助控制單元Core2、邏輯門陣列FPGA,主控制單元Core1可與輔助控制單元Core2和邏輯門陣列之間發(fā)送接收信號(hào)。并且主控制單元Core1通過(guò)通信模塊可與遠(yuǎn)程終端連接;輔助控制單元Core2可通過(guò)外圍擴(kuò)展模塊與外圍其他電路連接,并且可與觸摸顯示屏之間收發(fā)信號(hào)。邏輯門陣列FPGA分別通過(guò)數(shù)據(jù)轉(zhuǎn)換器ADC、測(cè)頻模塊接入 被測(cè)信號(hào)。
數(shù)據(jù)轉(zhuǎn)換器ADC用于將測(cè)量信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),測(cè)頻模塊能將被測(cè)信號(hào)轉(zhuǎn)換為FPGA的IO輸入能力范圍內(nèi)的TTL電平;
通過(guò)通信模塊,計(jì)算的結(jié)果可以上傳至遠(yuǎn)程終端,遠(yuǎn)程終端也可以與主控制單元Core1、輔助控制單元Core2、邏輯門陣列FPGA進(jìn)行通信,調(diào)整各個(gè)參數(shù),顯示測(cè)量結(jié)果,保存實(shí)時(shí)采集的數(shù)據(jù)以便后期回調(diào)、分析數(shù)據(jù);
外圍擴(kuò)展模塊包括各種通信接口、連接方式等,優(yōu)選采用低功耗高性能的ATXMega128作為控制器,包括1路USB、16路AD采集(12bit/1MSPS)、4路SPI、4路IIC等,可以完外圍電路的控制、數(shù)據(jù)采集、通信等功能。
此外,數(shù)據(jù)采集電路優(yōu)選采用工業(yè)級(jí)ADC,擁有8通道同時(shí)輸入,位數(shù)高達(dá)16位,采樣速率510kHz,滿足絕大部分采集需求,同時(shí)通過(guò)COX-M口可選擇使用外部時(shí)鐘還是內(nèi)部時(shí)鐘,使用外部時(shí)鐘可以實(shí)現(xiàn)同步采樣傳輸。
測(cè)頻模塊內(nèi)的波形調(diào)理電路包括同向比例放大電路、限幅電路、濾波放大電路、施密特觸發(fā)器;被測(cè)信號(hào)先經(jīng)過(guò)同比例放大電路,隨后經(jīng)過(guò)限幅電路將1~12V的信號(hào)限制在0.7V以下,再經(jīng)過(guò)后級(jí)濾波放大后輸入遲滯比較器轉(zhuǎn)換成方波,此時(shí)信號(hào)幅值范圍滿足FPGA的IO輸入范圍。利用FPGA內(nèi)的等精度測(cè)量模塊可測(cè)量并計(jì)算出被測(cè)信號(hào)頻率值。測(cè)頻模塊和FGPA等實(shí)現(xiàn)了完整的測(cè)頻功能。
下面說(shuō)明所述系統(tǒng)的工作過(guò)程:
(1)邏輯門陣列FPGA驅(qū)動(dòng)數(shù)據(jù)轉(zhuǎn)換器ADC對(duì)測(cè)量數(shù)據(jù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換,同時(shí)調(diào)用內(nèi)部的IP核(Intellectual Property core)生成抗混疊數(shù)字濾波器(例如FIR濾波器),濾掉2fs(采樣頻率)以上及FFT窗配置過(guò)程中的無(wú) 效旁瓣頻率的無(wú)用信號(hào),將數(shù)據(jù)發(fā)送至主控制單元Core1(例如通過(guò)內(nèi)部的AHP總線),由主控制單元Core1進(jìn)行加窗運(yùn)算等操作。
(2)測(cè)頻模塊將被測(cè)信號(hào)進(jìn)行限幅、放大、波形轉(zhuǎn)換,調(diào)整為FPGA的IO輸入范圍能的TTL電平,由FPGA內(nèi)部的等精度測(cè)頻模塊測(cè)量并計(jì)算出被測(cè)信號(hào)的準(zhǔn)確頻率,該頻率精度能達(dá)到10-7級(jí)別。同時(shí)通過(guò)通信總線將該頻率值數(shù)據(jù)發(fā)送至主控制單元Core1,作為FFT(快速傅里葉變換)計(jì)算的參考頻率。
(3)主控制單元Core1進(jìn)行被測(cè)信號(hào)的加窗、FFT計(jì)算進(jìn)而得到該信號(hào)的頻譜。將頻譜內(nèi)最大的幅值處標(biāo)號(hào)(即坐標(biāo)軸橫軸序號(hào))乘以頻率分辨率,可以得到與被測(cè)信號(hào)頻率差最小的分辨率頻率值。通過(guò)比較測(cè)頻模塊所得頻率值與FFT計(jì)算得出的頻率,可以確定頻譜上的被測(cè)信號(hào)頻率在該分辨率頻率的左旁瓣還是右旁瓣(FFT計(jì)算得頻率小于測(cè)量頻率則在左旁瓣,F(xiàn)FT計(jì)算頻率大于測(cè)量頻率則在右旁瓣),同時(shí)與得到的次最大幅度值作為對(duì)比驗(yàn)證,在確定信號(hào)頻譜在哪兩個(gè)分辨率頻率范圍內(nèi)后即可以通過(guò)內(nèi)差法的公式得到該頻率點(diǎn)處的較精確的幅度值。
(4)主控制單元Core1在多線程的支持下可以將FPGA發(fā)送來(lái)的原始數(shù)據(jù)通過(guò)通信模塊轉(zhuǎn)發(fā)給遠(yuǎn)程終端,同時(shí)支持接收遠(yuǎn)程終端的控制命令。
(5)主控制單元Core1向輔助控制單元Core2發(fā)送命令后,Core2將頻譜圖輸出到觸摸顯示屏顯示,可以選擇當(dāng)前顯示的波形為原始信號(hào)的波形或者加窗后的波形或者頻譜圖。
(6)根據(jù)需要Core2通過(guò)外圍擴(kuò)展模塊向外圍電路發(fā)出命令。
其中,第3)步中,為了在被測(cè)信號(hào)頻率未知的情況下能夠快速分析出 信號(hào)的頻率及幅值,本發(fā)明提出了一種較新穎的信號(hào)分析方法,該方法以等精度測(cè)量得到的頻率值為輔助參考,通過(guò)改變FFT計(jì)算點(diǎn)數(shù),將被測(cè)信號(hào)頻率無(wú)限靠近FFT計(jì)算的頻率分辨率所在頻率,以得到更精確的幅值結(jié)果。,其幅值測(cè)量范圍為0~12V,準(zhǔn)確度達(dá)0.05%。
該方法采用了Flat Top窗函數(shù),F(xiàn)lat Top窗函數(shù)的基本函數(shù)形式為
其中,ωj為窗函數(shù),ck為關(guān)于k的常數(shù),k為窗函數(shù)的階數(shù),N為FFT計(jì)算點(diǎn)數(shù),j為計(jì)算參量(計(jì)算所需的點(diǎn)數(shù)、是一個(gè)整數(shù)值序號(hào))。
Flat Top窗的不同維度能得到不同的精度,經(jīng)過(guò)試驗(yàn)比較,本發(fā)明了采用了誤差較小的10維FlatTop算法公式,公式具體內(nèi)容如下:
ωj=1-1.985844164102cos(z)+1.71176438506cos(2z)
-1.282075284005cos(3z)+0.667777530266cos(4z)
+0.240160796576cos(5z)+0.056656381764cos(6z)
-0.008134974479cos(7z)+0.000624544650cos(8z)
-0.000019808998cos(9z)+0.000000132974cos(10z)
其中,
其時(shí)域、頻域的波形如圖2所示,左圖為FlatTop的時(shí)域波形,右圖為頻譜圖,F(xiàn)lat Top窗的主瓣稍胖,對(duì)于計(jì)算某頻率點(diǎn)幅值很重要。
假如原始信號(hào)為:
其中Adc為直流分量幅值,f1為被測(cè)信號(hào)頻率,P1為初始相位,fn為干擾信號(hào)頻率。
在Adc=1.5,A1=3.1,A2=1.5,f1=6274.25,f2=2000.5,P1=-30,P2=90時(shí),其時(shí)域波形如圖3所示,N點(diǎn)的Flat Top加窗操作即每個(gè)點(diǎn)對(duì)應(yīng)乘以Flat Top窗函數(shù),加窗后時(shí)域波形如圖4所示,F(xiàn)FT結(jié)果如圖5所示。原始信號(hào)的時(shí)域波形可與看出是4個(gè)信號(hào)的疊加,圖4加窗后減小了頻譜的泄露,該數(shù)據(jù)進(jìn)行FFT計(jì)算后就可得到各頻率分量的幅度譜,如圖5所示。
得到FFT結(jié)果后,通過(guò)所述內(nèi)差法可得到更精確的幅度值,優(yōu)選地,所述內(nèi)差法的公式為:
其中Aavr為最終計(jì)算恢復(fù)得到的幅度值,Aindex為FFT計(jì)算得幅度頻譜中幅度值最大點(diǎn)的值,Aindex±1為幅度值次大的點(diǎn)的幅度值,index為該點(diǎn)的標(biāo)號(hào),fres為頻率分辨率。此時(shí)根據(jù)Flat top的頻譜特性可知被測(cè)信號(hào)頻率在該點(diǎn)的0.5bin內(nèi)。
如圖6所示,計(jì)算得出被測(cè)信號(hào)附近的頻率分辨率點(diǎn)分別為6250Hz、6347.6Hz,由Flat top窗的頻譜分析可以將這兩點(diǎn)間的幅度近似成線性關(guān)系,所以在這區(qū)間內(nèi)的頻率點(diǎn)的幅度值可以用內(nèi)差法得出。通過(guò)仿真計(jì)算,該方法得到的幅值A(chǔ)avr=3.1008,且在整個(gè)分辨率范圍內(nèi)精確能達(dá)到0.05%。
在一優(yōu)選的方案中,測(cè)頻模塊的波形調(diào)理電路如圖7所示,包括同比例放大電路、限幅電路、濾波放大電路、遲滯比較器;被測(cè)信號(hào)經(jīng)過(guò)同比例放大電路,防止后級(jí)的限幅電路影響被測(cè)信號(hào)的幅值特性。隨后經(jīng)過(guò)限幅電路將0.1~12V的信號(hào)限制在0.7V以下,再經(jīng)過(guò)后級(jí)濾波放大后輸入遲滯比較器轉(zhuǎn)換成方波,此時(shí)信號(hào)幅值范圍滿足FPGA的IO輸入范圍,此時(shí)利用等精度測(cè)量模塊即可測(cè)量該信號(hào)的頻率值。