国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于C++、數(shù)據(jù)庫與MATLAB協(xié)作編程的信號處理系統(tǒng)研究

2012-12-28 06:12解萍王偉
淮南師范學(xué)院學(xué)報 2012年3期
關(guān)鍵詞:淮南數(shù)據(jù)源信號處理

解萍,王偉

(淮南師范學(xué)院 電氣信息工程學(xué)院,安徽 淮南 232038)

基于C++、數(shù)據(jù)庫與MATLAB協(xié)作編程的信號處理系統(tǒng)研究

解萍,王偉

(淮南師范學(xué)院 電氣信息工程學(xué)院,安徽 淮南 232038)

把Visual C++,MATLAB和數(shù)據(jù)庫合作編程整合在一起,可以使信號處理更加自動,高效。樣本數(shù)據(jù)使用ADO方法存儲在數(shù)據(jù)庫中,可以通過COM接口提取出來,并利用Add-in技術(shù)被MATLAB計算與處理。Visual C++是完成整個程序的編程平臺。

聯(lián)合編程;ADO;COM

1 引言

隨著模型科學(xué)與技術(shù)的發(fā)展,計算機(jī)的研究與軟件水平已經(jīng)有了快速提高。工業(yè)生產(chǎn)與科學(xué)實(shí)驗(yàn)所需要的信號數(shù)據(jù)變得越來越復(fù)雜,而我們所使用的軟件一般都是針對普通領(lǐng)域的,工作人員很難將它們整合到具有特殊需要的應(yīng)用場景,而在這些場合中,通常需要準(zhǔn)確的實(shí)際研究。

2 基于Access的VC++和MATLAB的聯(lián)合編程

集成VC++、數(shù)據(jù)庫和MATLAB,可以使信號處理高效且成本低??紤]到便捷與成本,選擇Microsoft Access作為數(shù)據(jù)存儲數(shù)據(jù)庫,并使用ADO技術(shù)進(jìn)行數(shù)據(jù)操作,這種技術(shù)也可以用在大型數(shù)據(jù)庫管理系統(tǒng)如SQLSERVER和ORACLE當(dāng)中。樣本數(shù)據(jù)被存儲在數(shù)據(jù)庫當(dāng)中,用戶可以通過可視化界面進(jìn)行索引、檢測和進(jìn)倉的一些操作,比使用文件系統(tǒng)更加先進(jìn)。對于工程人員來說,MATLAB是一種有力的數(shù)據(jù)庫,擁有多種工具箱。所需要的數(shù)據(jù)可以從數(shù)據(jù)庫中提出來并為MATLAB處理,然后轉(zhuǎn)換成所需的數(shù)據(jù)格式。用戶可以使用他們自己的M型文件,并將它們集成到VC平臺以進(jìn)行數(shù)據(jù)分析與處理。所有的功能都可以通過程序來完成,從而大大提高了準(zhǔn)確度,降低了時間消耗。

2.1 ADO的應(yīng)用結(jié)構(gòu)

以前大量數(shù)據(jù)存儲在相應(yīng)的文件中,難以被其他程序索引和共享。為了克服文件系統(tǒng)帶來的不足,可將數(shù)據(jù)存儲在具有良性定義的數(shù)據(jù)庫中,以適合使用ADO技術(shù)的信號處理系統(tǒng)。ADO是一種與語言無關(guān)的數(shù)據(jù)接入技術(shù),所有的組件包含了標(biāo)準(zhǔn)的COM的介面系列。ADO是OLEDB的一個高層次的抽象,使客戶端應(yīng)用程序通過OLE DB接口來訪問和操作數(shù)據(jù)。數(shù)據(jù)庫訪問結(jié)構(gòu)如圖1所示。

圖1 ADO對象訪問數(shù)據(jù)庫的結(jié)構(gòu)

2.2 ADO的編程模型

為了使用ADO來訪問數(shù)據(jù)庫,應(yīng)首先定義ADO對象模型。使用如下的經(jīng)典對象:

1 Connection對象:代表一到數(shù)據(jù)源的開放連接。這是一個與數(shù)據(jù)源的唯一會話?;诩?、方法以及一個連接對象的屬性,我們可以從應(yīng)用程序建立一個連接到數(shù)據(jù)庫,這是第一步驟操作數(shù)據(jù)庫。

2 Command對象:定義一個特定的命令對數(shù)據(jù)源執(zhí)行。使用命令對象,可以在一個Recordset對象查詢數(shù)據(jù)庫并返回記錄,執(zhí)行批量操作,或操作數(shù)據(jù)庫的結(jié)構(gòu)。它的語法與SQL兼容。

3 Recordset對象:代表從基表的記錄集或整個一個執(zhí)行命令的結(jié)果。Recordset對象包括所有記錄(行)和字段(列)。可以操作的數(shù)據(jù)幾乎完全使用在ADO記錄集。這是一個記錄對象和Fields對象聚合。

4 記錄對象:代表了從一個記錄集或數(shù)據(jù)。記錄對象可能會直接返回一排Recordset或得到一個Recordset對象。

5 領(lǐng)域?qū)ο螅捍砹艘粋€共同的數(shù)據(jù)類型的列。每個字段對象對應(yīng)于Recordset中的列。

6 Parameter對象:代表與參數(shù)化查詢相關(guān)的參數(shù),或者輸入/輸出參數(shù)和存儲過程的返回值。

圖2 Object model of ADO

下面的源代碼顯示操縱與ADO在Visual C++方法的數(shù)據(jù)的步驟:

1 預(yù)處理:由于ADO使用標(biāo)準(zhǔn)的COM接口,我們必須在初始化程序,這是由調(diào)用AfxOleInit在CWinApp()來完成它的開始::InitInstance()中。

2 引入ADO庫:必須加上 “C:\程序文件\共同文件\系統(tǒng)\msado15.dll”no_namespace重命名 (“EOF 分析”,“adoEOF”)'在 stdafx.h 為了生成兩個C的msado15.tlh,ado15.tli++頭文件編譯。

3 數(shù)據(jù)庫操作:首先要打開一個連接,可以配置連接屬性,然后打開它。所有其他對象都可以用類似的方式。參考代碼:

3 Visual C++和MATLAB的聯(lián)合編程

可以使用MAT-files,硬盤中數(shù)據(jù)的存儲使用MATLAB數(shù)據(jù)文件格式,以方便在MATLAB環(huán)境中使用。MAT-files為在不同平臺中交換數(shù)據(jù)提供了一種方便的高度可移植的機(jī)制。MAT-file文件格式公開,但是Mathworks公司因?yàn)槠浼嫒菪詥栴}所以不建議用戶開發(fā)自己的I/O例程文件。使用MATLAB提供的例程來完成數(shù)據(jù)的通信,下面的源代碼顯示了如何利用這一機(jī)制。

COM是一個與平臺無關(guān)的、分布式的、面向?qū)ο蟮南到y(tǒng),用以創(chuàng)建可以交互的二進(jìn)制軟件組件。COM是一種標(biāo)準(zhǔn),制定了一種對象之間互操作的對象模型與編程需求。一個COM對象是提供了一個或多個接口或方法用以成功訪問對象數(shù)據(jù)的實(shí)體。自動化是一個基于COM的技術(shù),允許在運(yùn)行時或后置地綁定到一個對象的方法及屬性并能夠進(jìn)行跨平臺編程。自動化客戶(端)是一個應(yīng)用程序或編程工具,或者是一個腳本語言,以訪問由其他自動化對象提供的服務(wù);自動化服務(wù)器是一個應(yīng)用程序或類型庫,或者是其他的一些應(yīng)用,使得其中的自動化對象可以被其他的應(yīng)用程序用來編程、提供編程所需的工具或腳本語言。在本文所提的程序中,MATLAB就是一個自動化的服務(wù)器,它提供了支持VC的服務(wù),將VC當(dāng)作客戶端,從而實(shí)現(xiàn)了

4 結(jié)論

通過MATLAB實(shí)現(xiàn)了利用數(shù)據(jù)庫技術(shù)與信號處理技術(shù)完成數(shù)據(jù)操作的功能,利用每種開發(fā)工具的特點(diǎn),通過組合不同的平臺來完成系統(tǒng)的功能。這種方法可以被廣泛地應(yīng)用于開發(fā)人員在系統(tǒng)研發(fā)初期的理論驗(yàn)證。然而由于使用了MATLAB庫,所以源代碼不能直接應(yīng)用到最后的生產(chǎn)過程中,還需要做進(jìn)一步的人工處理。

[1]劉驚雷.Visual C++實(shí)用教程[M].北京:電子工業(yè)出版社,2005

[2]求是科技.Visual C++6.0信息管理系統(tǒng)開發(fā)實(shí)例導(dǎo)航[M].北京:人民郵電出版社,2005

[3]黃維通.Visual C++面向?qū)ο笈c可視化程序設(shè)計[M].北京:清華大學(xué)出版社,2003

[4]Peter Rob.Database Systems:Design,Implementation,and Management(Fifth Edition)[M].Course Technology,2001

[5]Alan Gordon.The COM and COM+Programming Primer[M].Prentice Hall PTR,2000

[6]David Sceppa,David Sceppa.Microsoft ADO.NET(Core Reference)[M].Microsoft Press,2003

[7]Bob Beauchemin.Essential ADO.NET[M].Addison-Wesley Pub Co.,2002

TP392

A

1009-9530(2012)03-0036-03

2011-11-28

淮南師范學(xué)院科研項目(2010LK16);安徽省高校省級科學(xué)研究項目 (kj2012z371)

[作者簡介]解萍(1979-),女,淮南師范學(xué)院電氣信息工程學(xué)院講師,主要從事數(shù)據(jù)庫與信號系統(tǒng)研究。

猜你喜歡
淮南數(shù)據(jù)源信號處理
《淮南師范學(xué)院學(xué)報》投稿須知
《信號處理》征稿簡則
《信號處理》第九屆編委會
《信號處理》征稿簡則
《信號處理》第九屆編委會
Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評價研究
CRADLE OF TOFU BY DAVID dawson
基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評價算法
民國時期淮南經(jīng)濟(jì)近代化的歷史進(jìn)程及特點(diǎn)
赣榆县| 龙江县| 嵩明县| 黔西县| 湟源县| 江口县| 桐柏县| 桐庐县| 武威市| 林州市| 弥勒县| 鄂伦春自治旗| 沭阳县| 龙州县| 马尔康县| 运城市| 百色市| 宜宾县| 遵义市| 枝江市| 和林格尔县| 海城市| 临猗县| 会宁县| 宜良县| 鹤壁市| 富蕴县| 分宜县| 平凉市| 满洲里市| 耒阳市| 英超| 西峡县| 乐都县| 涿州市| 通榆县| 余姚市| 云和县| 青龙| 双牌县| 饶河县|