基于A(yíng)RM的振動(dòng)信號采集及文件存儲系統
3.2 算法設計和軟件流程實(shí)現
LPC1768微控制器內置一個(gè)8通道的12位A/D轉換器,而該采集系統僅用到單路信號輸入,可以實(shí)現較高頻率的采樣,提高了采集數據的精度。軟件設計思想是在系統初始化后首先進(jìn)行模式的判斷,分為采集模式和USB通信模式。在采集模式下,正式數據采集存儲前先進(jìn)行數據預采集,對預采集的信號進(jìn)行采樣處理,計算采集到的信號的幅值差,并與滿(mǎn)量程3.3 V進(jìn)行判斷是否需要調節和計算出調節值。通過(guò)I2C總線(xiàn)來(lái)調節AD5245,預調節完成后進(jìn)行正式信號采集,把采集到的數據進(jìn)行數字濾波并存儲到數組中,數組中的數據通過(guò)SPI總線(xiàn)存儲在SD卡中,存儲完成后通過(guò)功放播放語(yǔ)音信號提示完成。USB模式主要為SD卡中數據與PC機的通信。主流程如圖5所示。

3.2.1 信號幅值檢測的算法
在程控放大器的設計中,對被測信號振幅的檢測至關(guān)重要,它是實(shí)現程控放大的關(guān)鍵。以往的程控放大器,多數是根據被測信號的幅值來(lái)調節程控放大器的放大倍數,此方法比較適合直流信號的檢測。交流信號的幅值是變化的,若根據被測信號的幅值調節程控放大器的增益,需要時(shí)刻改變程控放大器的增益,這將浪費CPU的很多資源,影響了A/D轉換的速度,限制了被測信號的范圍。因器件程序的計算和器件的延時(shí)也會(huì )給測量結果帶來(lái)很大的誤差,不適合做高頻信號的采集。
故本設計采用預采集進(jìn)行幅值判斷,具體方法為開(kāi)辟定長(cháng)的數組Buffer用來(lái)存儲預采集信號,同時(shí)注意在設定此Buffer長(cháng)度的時(shí)候,一定要滿(mǎn)足該長(cháng)度至少為待采集信號的一個(gè)周期,然后對預采集信號進(jìn)行處理判斷,確定調節值及調節方向。
對預采集信號的處理:首先要計算出數組中的最大值和最小值,由于定義的數組可能較大,故給出一種新的算法代碼,以大幅提高其效率(n很大時(shí))。具體做法是:每次成對地處理數據,先將一對元素進(jìn)行比較,然后把較大者與當前最大值比較,較小者與當前最小者比較,因此每?jì)蓚€(gè)元素需要比較3次。具體實(shí)現時(shí)需考慮n的奇偶,n為奇數,3×(n /2)次;n為偶數,3n/2—2次,因此總的比較次數至多為3×(n-2),大大提高了計算的速度。
根據以上算法可得△V=Vmax-Vmin,故需要調節的放大倍數β約為:

這樣就計算出了需要調節的AD5245_W的調節值,通過(guò)I2C總線(xiàn)通信完成調節,進(jìn)而進(jìn)行數據的正式采集。
4 實(shí)驗結果及分析
通過(guò)對系統進(jìn)行設計和實(shí)現,并對系統進(jìn)行了測試,在采樣頻率為50 kHz下,對振動(dòng)信號進(jìn)行采樣分析,預采集信號時(shí)間長(cháng)度為50 ms,正式采集長(cháng)度為4 00ms,由頻帶為1~10 kHz的激勵源來(lái)激振被測物體,同時(shí)實(shí)驗存儲數據格式為標準的WAV格式。通過(guò)USB接口上傳到PC,用上位機頻譜分析軟件對實(shí)驗數據原信號和頻譜分析進(jìn)行對比試驗,試驗現象如圖6所示。

通過(guò)對普通采樣系統和本系統采樣的原信號對比,可見(jiàn)在相同振動(dòng)激勵下普通信號采集系統采集出信號的幅值最大值約為1000,并未填滿(mǎn)A/D轉換采集模塊最大的量程4096而本系統通過(guò)對信號的自適應放大,可將采集信號幅值最大提高到4 000左右,在一定程度上提高了信號采集的精度。
對普通采樣系統和本系統采樣信號的頻譜分析圖進(jìn)行對比,如圖7所示。

可見(jiàn)普通采集系統的信號的頻譜分析不僅能量值較小,而且易受到其他頻率波的干擾,信噪比較低,影響了對信號特征的有效分析,而本采集系統則能較好地解決此類(lèi)問(wèn)題。
評論