關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 談基于聲卡的數據采集及波形發生器設計

        談基于聲卡的數據采集及波形發生器設計

        作者: 時間:2012-07-25 來源:網絡 收藏

        一、概述

        本文引用地址:http://www.104case.com/article/202232.htm

        是信號分析和處理的一個重要環節,在很多產業控制和生產狀態監控中,都需要對各種物理量進行和分析。但是,專用卡的價格一般比較昂貴,而我們PC機的就是一個很好的雙通道數據采集卡。實際丈量中,在滿足丈量要求的條件下,可以充分利用計算機自身資源,完成數據采集任務,從而節省本錢。

        本文利用vc編程實現了的雙通道數據采集,并且對信號進行頻譜分析同時實時丈量出信號的頻率。還利用的DA通道,實現了正弦波、方波、三角波輸出的信號發生器。產生的信號同時還可以作為內部測試用信號,檢驗數據采集的正確性。

        二、聲卡數據采集系統硬件組成

        Line Out

        利用聲卡進行數據采集的硬件組成如圖1所示。通常,利用聲卡的Line In端作為信號輸進端口,兩路被測的模擬信號經過左右聲道,A/D轉換進進計算機,通過vc編寫的虛擬儀器界面顯示出來。聲卡一般都具有單、雙聲道輸進,從而可實現單雙通道的采集.雙通道采集時,聲卡采用并行采集,并具有采樣保持功能,兩個通道的數據不存在時間差,第一通道和第二通道數據存儲在同一個數據緩沖區中,且等間隔存儲,奇數序列是一個通道數據,偶數序列為另一個通道數據.讀取數據時,將緩沖區中的數據全部讀進到一個數組中,然后對該數組數據,采用隔一點取一點的方法,將數據分開并分別存到另外的兩個數組中,即將兩個通道的數,轉自[92工作室]www.92game.net據分開,從而實現了雙通道的采集.單通道采集時,緩沖區中僅僅是一個通道的數據,直接保存到一個數組即可。同時,信號發生器產生的波形也可經過Line out端輸出。

        為了保護聲卡,被測信號并不是直接進進聲卡,而是先經過一個信號調理電路,對信號進行放大或限幅,濾波等處理,信號調理電路如圖2所示。(a)圖是直流電平疊加模塊摘要:C1代表信號的輸進,D1代表疊加直流電平后信號的輸出,電位器R8控制輸進直流電平的大小;(b)圖是信號疊加模塊摘要:A1、A2代表疊加信號的輸進,B1代表疊加后信號的輸出;(c)圖是模擬濾波模塊摘要:LPIN代表濾波器的輸出,LPOUT代表濾波器的輸出,調節R6可以控制輸出的、幅度大小。當然可以根據需要在調理電路中加進一些其它的模塊。

        三、聲卡采集系統的軟件編程

        微軟公司已經提供了一系列API函數用于對聲卡的操縱,為了將需要用到的函數封裝成了一個類,編程時只需直接調用。使用的API函數有摘要:

        waveInGetDevCaps   實現聲卡的性能測試

        waveInOpen     打開波形輸進設備

        waveInPrepareHeader 為波形輸進預備緩沖區

        waveInAddBuffer     將數據緩存發送給波形輸進設備驅動

        waveInStart       啟動向波形輸進緩沖區存儲數據

        waveInUnprepareHeader  開釋波形輸進緩沖區

        waveInStop       停止向波形輸進緩沖區存儲數據

        waveInClose       封閉波形輸進設備

        設計的軟件界面如圖3所示。目前所實現的功能有摘要:

        1.兩路。可產生正弦波、方波和三角波,并且頻率和幅值可調。

        2.頻譜分析儀。可以對采集的信號進行頻譜分析。頻譜分析采用了快速傅立葉變換(FFT)算法,并且將其封裝成獨立的函數,方便調用。

        3.頻率計。同時還可以實時地丈量出采集到的信號的頻率。在利用程序計算頻率時,一般采用兩種方法。一種是利用快速傅立葉變換,它的優點是不僅能對標準的周期波形進行丈量,而且能夠計算出各種復雜波形和信噪比非常低的信號的頻率值,缺點是分辨率受到限制。另一種計算頻率的方法是采用脈沖計數法。它的優點是丈量低頻信號時精度高,但它不適合波形復雜和信噪比低的信號頻率丈量。所以在丈量過程中,程序先判定信號上述的性質,根據信號的性質,自動地采用相應的丈量方法。

        更多計算機與外設信息請關注21ic計算機與外設頻道



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宜兰市| 山阳县| 吴堡县| 铁岭市| 平邑县| 永吉县| 峨眉山市| 龙泉市| 万宁市| 牟定县| 徐州市| 防城港市| 黄龙县| 碌曲县| 迭部县| 施甸县| 汉源县| 兰考县| 崇阳县| 星子县| 古交市| 莫力| 宁远县| 孝感市| 泗阳县| 旅游| 巫山县| 乌兰察布市| 嘉黎县| 慈溪市| 邛崃市| 车险| 永安市| 天气| 聂拉木县| 万荣县| 吉林省| 开封县| 茌平县| 广东省| 团风县|