亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Matlab的USB數(shù)據(jù)采集卡上位機(jī)處理系統(tǒng)

        2011-06-05 11:02:12張聰慧鄭正奇
        電子設(shè)計(jì)工程 2011年22期
        關(guān)鍵詞:程序信號(hào)

        張聰慧,鄭正奇

        (華東師范大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海200241)

        以多通道測(cè)距雷達(dá)信號(hào)的處理為研究背景,要求對(duì)USB數(shù)據(jù)采集卡傳輸?shù)缴衔粰C(jī)的數(shù)據(jù)進(jìn)行數(shù)字信號(hào)處理,得到多路測(cè)距雷達(dá)差頻信號(hào)的頻率與電壓幅度。為此以Matlab為平臺(tái),接收USB傳輸?shù)臄?shù)據(jù),然后進(jìn)行處理,并使用Matlab GUI設(shè)計(jì)用戶(hù)操作界面,完成了一個(gè)完整的基于Matlab的USB數(shù)據(jù)采集卡上位機(jī)程序。

        1 系統(tǒng)架構(gòu)介紹

        本上位機(jī)系統(tǒng)對(duì)應(yīng)的USB數(shù)據(jù)采集卡與上位機(jī)的接口基于Cypress公司的CY7C68013A,它支持USB 2.0協(xié)議,且自帶增強(qiáng)型8051單片機(jī)。利用Mex文件作為Matlab與C語(yǔ)言的程序接口,實(shí)現(xiàn)了Matlab對(duì)USB接口數(shù)據(jù)的讀寫(xiě)操作,并利用Matlab進(jìn)行進(jìn)一步的數(shù)據(jù)處理和界面顯示。系統(tǒng)框圖如圖1所示。

        圖1 系統(tǒng)框圖Fig.1 System block diagram

        2 Matlab讀取USB數(shù)據(jù)

        Matlab不能直接對(duì)USB數(shù)據(jù)進(jìn)行操作,但可通過(guò)API與外部程序接口,即Mex文件,來(lái)調(diào)用C語(yǔ)言程序加以實(shí)現(xiàn)。

        2.1 Mex文件及其編寫(xiě)環(huán)境

        Mex文件是個(gè)動(dòng)態(tài)鏈接子程序,它可在Matlab中被直接調(diào)用來(lái)控制多種硬件接口。Mex文件分為兩部分:控制實(shí)現(xiàn)部分以及入口程序部分,它們分別負(fù)責(zé)程序的功能實(shí)現(xiàn)和與Matlab的數(shù)據(jù)連接。

        本設(shè)計(jì)中,Mex文件使用VC2008進(jìn)行編寫(xiě),新建工程類(lèi)型為MFC DLL,Cypress公司提供適用于CY7C68013A的API函數(shù)庫(kù),可以通過(guò)將CyAPI.h和CyAPI.lib添加到VC工程中直接加以調(diào)用,從而實(shí)現(xiàn)各種USB接口操作[1-2]。

        2.2 Mex控制實(shí)現(xiàn)部分

        程序中,Mex控制實(shí)現(xiàn)部分的具體功能依次為:調(diào)用USB驅(qū)動(dòng)模塊,打開(kāi)USB設(shè)備,讀取USB數(shù)據(jù),將讀取的數(shù)據(jù)寫(xiě)到緩沖區(qū)中。它由入口程序調(diào)用,部分程序代碼[3]如下:

        2.3 Mex入口程序

        Mex入口程序是Matlab與Mex控制實(shí)現(xiàn)部分的接口,其參數(shù)prhs、nrhs、plhs、nlhs分別為輸入?yún)?shù)數(shù)列、輸入?yún)?shù)的個(gè)數(shù)、輸出參數(shù)數(shù)列以及輸出參數(shù)的個(gè)數(shù)。

        本段代碼只負(fù)責(zé)接收USB數(shù)據(jù),所以Mex接口程序中沒(méi)有輸入?yún)?shù),輸入?yún)?shù)數(shù)列為空,程序?qū)⒆x取的USB數(shù)據(jù)直接通過(guò)plhs指針傳輸給主程序,實(shí)現(xiàn)與主程序的數(shù)據(jù)傳遞功能。相關(guān)程序代碼如下:

        2.4 Mex文件的調(diào)用

        在Mex文件編寫(xiě)完之后,通過(guò)VC生成.DLL文件,將此文件復(fù)制到Matlab的當(dāng)前目錄(current path)下,在Matlab的命令窗口或者.M文件中輸入.DLL文件的文件名即可實(shí)現(xiàn)Matlab對(duì)其的調(diào)用,從而實(shí)現(xiàn)了Matlab對(duì)USB數(shù)據(jù)的讀寫(xiě)操作。

        3 數(shù)據(jù)處理和GUI操作界面

        在通過(guò)Mex文件完成了對(duì)USB數(shù)據(jù)的讀取和存儲(chǔ)后,在Matlab環(huán)境中利用數(shù)字信號(hào)處理函數(shù)對(duì)數(shù)據(jù)進(jìn)行濾波、FFT等處理,從而實(shí)時(shí)地處理6個(gè)通道的數(shù)據(jù),并將各自的頻率、電壓幅度等值顯示在GUI界面上。

        3.1 Matlab數(shù)字信號(hào)處理部分

        使用Matlab進(jìn)行數(shù)字信號(hào)處理的步驟如下[4-6]:

        1)在.M文件調(diào)用Mex文件生成的.DLL得到USB接口傳輸?shù)缴衔粰C(jī)的數(shù)據(jù),并將每個(gè)通道的數(shù)據(jù)分別放入各自數(shù)組中。

        2)因?yàn)槔走_(dá)差頻信號(hào)經(jīng)采集卡的信號(hào)調(diào)理電路后,原本的交流信號(hào)疊加在1 V的直流電平之上,因此在進(jìn)行FFT之前需要通過(guò)數(shù)字信號(hào)處理去掉直流分量,以保證直流分量不會(huì)對(duì)頻率和幅度測(cè)量結(jié)果產(chǎn)生影響。利用detrend函數(shù)去掉信號(hào)中疊加的直流成分。

        3)因?yàn)樵摾走_(dá)差頻信號(hào)夾雜有低頻干擾信號(hào),所以在FFT之前需要進(jìn)行高通濾波。

        本程序利用[B,A]=ellip(N,Rp,Rs,wn,‘high’)函數(shù)設(shè)計(jì)數(shù)字橢圓高通濾波器,再利用filter函數(shù)對(duì)各通道數(shù)據(jù)進(jìn)行濾波。其中,橢圓濾波器參數(shù)N,Rp,Rs,wn在本程序中設(shè)有默認(rèn)值,用戶(hù)也可以在GUI界面中根據(jù)需要對(duì)任意參數(shù)的值進(jìn)行修改。

        4)利用FFT函數(shù)對(duì)濾波后的數(shù)據(jù)進(jìn)行快速傅里葉變換。因?yàn)镕FT程序中所用數(shù)據(jù)點(diǎn)數(shù)與原含有信號(hào)數(shù)據(jù)點(diǎn)數(shù)相同時(shí),頻譜圖具有較高的質(zhì)量,可以減少因補(bǔ)零或截?cái)喽a(chǎn)生的影響,本程序中每個(gè)通道數(shù)據(jù)緩存區(qū)數(shù)組大小為1 024,所以對(duì)每個(gè)通道進(jìn)行1 024點(diǎn)FFT,通過(guò)進(jìn)一步地運(yùn)算,便可得到信號(hào)的瞬時(shí)頻率和電壓幅度。

        3.2 GUI操作界面

        MATLAB GUI是一種新型的圖形用戶(hù)界面開(kāi)發(fā)方式,用戶(hù)可以通過(guò)GUI界面與Matlab程序進(jìn)行交互。本程序的GUI操作界面如圖2所示,該界面應(yīng)用的控件包括控制按鈕、參數(shù)設(shè)置編輯框和結(jié)果顯示文本框[7]。

        圖2 GUI操作界面Fig.2 GUI operating interface

        4 結(jié) 論

        Matlab擁有強(qiáng)大的數(shù)據(jù)處理和分析功能,但不能直接對(duì)USB接口數(shù)據(jù)進(jìn)行實(shí)時(shí)讀寫(xiě)操作。文中將Mex文件作為Matlab與C語(yǔ)言程序的軟件接口,使Matlab能夠調(diào)用VC函數(shù)來(lái)接收USB數(shù)據(jù)采集卡傳遞的數(shù)據(jù),然后進(jìn)一步對(duì)采集到的多通道數(shù)據(jù)分別進(jìn)行數(shù)字信號(hào)處理,得到每個(gè)通道的信號(hào)頻率和電壓幅度,并顯示在Matlab GUI界面上,從而實(shí)現(xiàn)了基于Matlab的USB數(shù)據(jù)接收與處理軟件系統(tǒng)。

        [1]石波,陳淑珍,沈海鷗.VC與Matlab接口方法的剖析[J].計(jì)算機(jī)工程,2000,26(3):98-100.SHI Bo, CHEN Shu-zhen,SHEN Hai-ou.The analyze of interface method between Matlab and visual C++[J].Computer Engineering, 2000, 26(3):98-100.

        [2]許大好,李詢(xún),謝倩.用Matlab控制NI數(shù)據(jù)采集卡實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)采集[J].常州工學(xué)院學(xué)報(bào),2006,19(5):35-38.XU Da-hao, LI Xun, XIE Qian.Data acquisition system based on NI card and Matlab environment[J].Journal of Changzhou Institute of Technology, 2006, 19(5):35-38.

        [3]王世香.精通MATLAB接口與編程[M].1版.北京:電子工業(yè)出版社,2007.

        [4]胡廣書(shū).數(shù)字信號(hào)處理理論算法與實(shí)現(xiàn)[M].2版.北京:清華大學(xué)出版社,2003.

        [5]萬(wàn)永革.數(shù)字信號(hào)處理的 MATLAB實(shí)現(xiàn)[M].北京:科學(xué)出版社,2007.

        [6]方勇.數(shù)字信號(hào)處理——原理與實(shí)踐[M].北京:清華大學(xué)出版社,2005.

        [7]蘇金明.MATLAB7.0實(shí)用指南[M].北京:電子工業(yè)出版社,2006.

        猜你喜歡
        程序信號(hào)
        信號(hào)
        鴨綠江(2021年35期)2021-04-19 12:24:18
        完形填空二則
        試論我國(guó)未決羈押程序的立法完善
        孩子停止長(zhǎng)個(gè)的信號(hào)
        失能的信仰——走向衰亡的民事訴訟程序
        “程序猿”的生活什么樣
        英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
        基于LabVIEW的力加載信號(hào)采集與PID控制
        創(chuàng)衛(wèi)暗訪(fǎng)程序有待改進(jìn)
        一種基于極大似然估計(jì)的信號(hào)盲抽取算法
        99精品一区二区三区无码吞精| 国产普通话对白视频二区| 色翁荡息又大又硬又粗又视频图片| 亚洲av成人无码网天堂| 日本熟妇hd8ex视频| 天堂视频一区二区免费在线观看| 亚洲综合中文字幕日韩| 中文字幕无码成人片| 国产黄在线观看免费观看不卡| 亚洲AV无码资源在线观看| 欧美熟妇与小伙性欧美交| 亚洲中文字幕诱惑第一页| 自拍偷自拍亚洲一区二区| 风流老太婆大bbwbbwhd视频| 久久久精品欧美一区二区免费| 人妻中出精品久久久一区二 | 久久国产成人午夜av影院| 免费a级毛片无码a∨免费| 网站在线观看视频一区二区| 极品嫩模大尺度av在线播放| 99久久99久久精品免费看蜜桃 | 在线观看一区二区三区视频| 丰满熟妇人妻av无码区| 国产精品福利自产拍久久 | 亚洲精品无码久久久久y| 国产va免费精品高清在线 | 国产一区二区三区口爆在线| 日本一区二区三区视频网站| 亚洲av无码之国产精品网址蜜芽| 精品国产免费久久久久久| 亚洲精品二区在线观看| 中文字幕中文字幕在线中二区| 亚洲人成网站色www| 精品人妻系列无码一区二区三区| 97日日碰日日摸日日澡| 日韩精品自拍一区二区| 丰满精品人妻一区二区| 九九久久精品无码专区| 日本a级大片免费观看| 青青草视频在线观看绿色| 国产熟女内射oooo|