新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM的振動信號采集及文件存儲系統

        基于ARM的振動信號采集及文件存儲系統

        作者: 時間:2016-09-12 來源:網絡 收藏

        3.2 算法設計和軟件流程實現

        LPC1768微控制器內置一個8通道的12位A/D轉換器,而該采集系統僅用到單路信號輸入,可以實現較高頻率的采樣,提高了采集數據的精度。軟件設計思想是在系統初始化后首先進行模式的判斷,分為采集模式和USB通信模式。在采集模式下,正式數據采集存儲前先進行數據預采集,對預采集的信號進行采樣處理,計算采集到的信號的幅值差,并與滿量程3.3 V進行判斷是否需要調節和計算出調節值。通過I2C總線來調節AD5245,預調節完成后進行正式,把采集到的數據進行數字濾波并存儲到數組中,數組中的數據通過SPI總線存儲在中,存儲完成后通過功放播放語音信號提示完成。USB模式主要為中數據與PC機的通信。主流程如圖5所示。

        基于ARM的振動信號采集及文件存儲系統

        3.2.1 信號幅值檢測的算法

        在程控放大器的設計中,對被測信號振幅的檢測至關重要,它是實現程控放大的關鍵。以往的程控放大器,多數是根據被測信號的幅值來調節程控放大器的放大倍數,此方法比較適合直流信號的檢測。交流信號的幅值是變化的,若根據被測信號的幅值調節程控放大器的增益,需要時刻改變程控放大器的增益,這將浪費CPU的很多資源,影響了A/D轉換的速度,限制了被測信號的范圍。因器件程序的計算和器件的延時也會給測量結果帶來很大的誤差,不適合做高頻信號的采集。

        故本設計采用預采集進行幅值判斷,具體方法為開辟定長的數組Buffer用來存儲預采集信號,同時注意在設定此Buffer長度的時候,一定要滿足該長度至少為待采集信號的一個周期,然后對預采集信號進行處理判斷,確定調節值及調節方向。

        對預采集信號的處理:首先要計算出數組中的最大值和最小值,由于定義的數組可能較大,故給出一種新的算法代碼,以大幅提高其效率(n很大時)。具體做法是:每次成對地處理數據,先將一對元素進行比較,然后把較大者與當前最大值比較,較小者與當前最小者比較,因此每兩個元素需要比較3次。具體實現時需考慮n的奇偶,n為奇數,3×(n /2)次;n為偶數,3n/2—2次,因此總的比較次數至多為3×(n-2),大大提高了計算的速度。

        根據以上算法可得△V=Vmax-Vmin,故需要調節的放大倍數β約為:

        基于ARM的振動信號采集及文件存儲系統

        這樣就計算出了需要調節的AD5245_W的調節值,通過I2C總線通信完成調節,進而進行數據的正式采集。

        4 實驗結果及分析

        通過對系統進行設計和實現,并對系統進行了測試,在采樣頻率為50 kHz下,對振動信號進行采樣分析,預采集信號時間長度為50 ms,正式采集長度為4 00ms,由頻帶為1~10 kHz的激勵源來激振被測物體,同時實驗存儲數據格式為標準的WAV格式。通過USB接口上傳到PC,用上位機頻譜分析軟件對實驗數據原信號和頻譜分析進行對比試驗,試驗現象如圖6所示。

        基于ARM的振動信號采集及文件存儲系統

        通過對普通采樣系統和本系統采樣的原信號對比,可見在相同振動激勵下普通系統采集出信號的幅值最大值約為1000,并未填滿A/D轉換采集模塊最大的量程4096而本系統通過對信號的放大,可將采集信號幅值最大提高到4 000左右,在一定程度上提高了的精度。

        對普通采樣系統和本系統采樣信號的頻譜分析圖進行對比,如圖7所示。

        基于ARM的振動信號采集及文件存儲系統

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


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 荣成市| 台州市| 本溪市| 屏山县| 儋州市| 老河口市| 离岛区| 无锡市| 富宁县| 宜君县| 怀来县| 黄梅县| 宿州市| 宝应县| 穆棱市| 屏边| 大竹县| 舞阳县| 阳原县| 太白县| 湖州市| 哈尔滨市| 白水县| 怀宁县| 泾源县| 喜德县| 凌源市| 阳朔县| 乾安县| 彝良县| 嘉兴市| 崇州市| 彰化县| 龙南县| 汨罗市| 施甸县| 兰州市| 韩城市| 久治县| 房山区| 金华市|