數(shù)字?jǐn)?shù)字信號(hào)處理課程設(shè)計(jì)--基于da轉(zhuǎn)換的信號(hào)發(fā)生與分析_第1頁(yè)
已閱讀1頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  課 程 設(shè) 計(jì) 說(shuō) 明 書(shū)</p><p>  題目:基于D/A轉(zhuǎn)換的信號(hào)發(fā)生與分析</p><p>  學(xué)院(系): 電氣工程學(xué)院 </p><p><b>  年級(jí)專業(yè): </b></p><p><b>  學(xué) 號(hào):</b></p><p

2、><b>  學(xué)生姓名: </b></p><p><b>  指導(dǎo)教師: </b></p><p><b>  教師職稱: </b></p><p>  課程名稱: “單片機(jī)原理及應(yīng)用——數(shù)字信號(hào)處理”課程設(shè)計(jì) 基層教學(xué)單位:

3、 指導(dǎo)教師 :</p><p>  說(shuō)明:1、此表一式四份,系、指導(dǎo)教師、學(xué)生各一份,報(bào)送院教務(wù)科一份。</p><p>  2、學(xué)生那份任務(wù)書(shū)要求裝訂到課程設(shè)計(jì)報(bào)告前面。</p><p>  摘要……………………………………………………3</p><p>  第一章 MATLAB簡(jiǎn)介…

4、……………………………4</p><p>  第二章 采集信號(hào)級(jí)處理的相關(guān)知識(shí)………………..5</p><p>  2.1MATLAB信號(hào)采集相關(guān)知識(shí)……………………………5</p><p>  2.2快速傅里葉變換……………………………………7</p><p>  第三章MATLAB處理流程……………………………8</p>

5、<p>  3.1圖形界面設(shè)計(jì)………………………………………8</p><p>  3.2程序設(shè)計(jì)……………………………………………10</p><p>  第四章MATLAB處理后的仿真圖……………………14</p><p>  4.1方波及其頻譜圖……………………………………14</p><p>  4.2鋸齒波及其頻譜圖……

6、……………………………15</p><p>  4.3三角波及其頻譜圖…………………………………16</p><p>  4.4正弦波及其頻譜圖…………………………………17</p><p>  第五章 心得總結(jié)……………………………………18</p><p>  參考文獻(xiàn)………………………………………………19</p><

7、;p><b>  摘要</b></p><p>  本次課程設(shè)計(jì)利用MATLAB對(duì)產(chǎn)生的信號(hào)進(jìn)行采集與分析,實(shí)現(xiàn)了D/A轉(zhuǎn)換的信號(hào)發(fā)生與分析。通過(guò)MATLAB GUI設(shè)計(jì)信號(hào)采集與分析系統(tǒng),對(duì)來(lái)自上位機(jī)的正弦波,三角波,鋸齒波等函數(shù)信號(hào)進(jìn)行采集與幅頻特性分析,并將分析的結(jié)果通過(guò)串口發(fā)送命令給單片機(jī)系統(tǒng),控制相應(yīng)的數(shù)碼管或LED發(fā)光顯示相應(yīng)信號(hào)參數(shù),從而達(dá)到對(duì)數(shù)字信號(hào)的分析與處理的目的。

8、</p><p>  第一章 MATLAB簡(jiǎn)介</p><p>  MATLAB是一種面向工程和科學(xué)計(jì)算的交互式計(jì)算軟件,它以矩陣運(yùn)算為基礎(chǔ),把計(jì)算、可視化、程序設(shè)計(jì)融合到了一個(gè)簡(jiǎn)單易用的交互式工作環(huán)境中。同時(shí)由于MATLAB是一個(gè)數(shù)據(jù)分析和處理功能十分強(qiáng)大的工程實(shí)用軟件,它的信號(hào)處理與分析工具箱為語(yǔ)音信號(hào)分析提供了十分豐富的功能函數(shù),利用這些功能函數(shù)可以快捷而又方便地完成語(yǔ)音信號(hào)的處理

9、和分析以及信號(hào)的可視化,使人機(jī)交互更加便捷。</p><p>  MATLAB是解決工程技術(shù)問(wèn)題的技術(shù)平臺(tái)。利用它能夠輕松完成復(fù)雜的數(shù)值計(jì)算,數(shù)據(jù)分析,符號(hào)計(jì)算和數(shù)據(jù)可視化等任務(wù)。MATLAB軟件由主包和各類工具箱構(gòu)成。其中,主包基本是一個(gè)用C/C++等語(yǔ)言編寫成的函數(shù)庫(kù)。該函數(shù)庫(kù)提供矩陣(或數(shù)組)的各種算法以及建立在此基礎(chǔ)上的各種應(yīng)用函數(shù)和一些相關(guān)的用戶有好操作界面。而工具箱從深度和廣度上大大擴(kuò)展了MATLAB

10、主包的功能和應(yīng)用領(lǐng)域。隨著自身的不斷完善和發(fā)展,MATLAB功能越來(lái)越強(qiáng)大,應(yīng)用也越來(lái)越廣泛。</p><p>  隨著計(jì)算機(jī)技術(shù)和信息技術(shù)的發(fā)展,語(yǔ)音交互已經(jīng)成為人機(jī)交互的必要手段,而語(yǔ)音信號(hào)的采集和處理是人機(jī)交互的前提和基礎(chǔ)。聲卡是計(jì)算機(jī)對(duì)語(yǔ)音信號(hào)進(jìn)行加工的重要部件,它具有對(duì)信號(hào)濾波、放大、采樣保持、A/D和D/A轉(zhuǎn)換等功能。盡管在Windows附件的娛樂(lè)中帶有一個(gè)錄音機(jī),通過(guò)它可以驅(qū)動(dòng)聲卡采集語(yǔ)音信號(hào)并保存

11、為語(yǔ)音文檔。但是要對(duì)采集的信號(hào)進(jìn)一步分析處理就必須另外編程或通過(guò)其它軟件,而且Windows附件中的錄音機(jī)功能極其有限且不能擴(kuò)展。MATLAB是美國(guó)Math Works公司推出的一種面向工程和科學(xué)計(jì)算的交互式計(jì)算軟件,它以矩陣運(yùn)算為基礎(chǔ),把計(jì)算、可視化、程序設(shè)計(jì)融合到了一個(gè)簡(jiǎn)單易用的交互式工作環(huán)境中。在MATLAB環(huán)境中,可以通過(guò)多種編程方法驅(qū)動(dòng)聲卡,實(shí)現(xiàn)對(duì)語(yǔ)音信號(hào)的采集和回放。同時(shí)由于MATLAB是一個(gè)數(shù)據(jù)分析和處理功能十分強(qiáng)大的工程

12、實(shí)用軟件,它的信號(hào)處理與分析工具箱為語(yǔ)音信號(hào)分析提供了十分豐富的功能函數(shù),利用這些功能函數(shù)可以快捷而又方便地完成語(yǔ)音信號(hào)的處理和分析以及信號(hào)的可視化,使人機(jī)交互更加便捷。</p><p>  第二章 采集信號(hào)級(jí)處理的相關(guān)知識(shí)</p><p>  2.1MATLAB信號(hào)采集的相關(guān)知識(shí)</p><p>  MATLAB對(duì)串行口的編程控制主要分為四個(gè)步驟。</

13、p><p>  ①創(chuàng)建串口設(shè)備對(duì)象并設(shè)置其屬性。</p><p>  scom=serial('com1');%創(chuàng)建串口1的設(shè)備對(duì)象scom</p><p>  scom.InputBufferSize=1024;%輸入緩沖區(qū)為256B缺省值為512B</p><p>  scom.Timeout=0.5;%Y設(shè)置一次讀或?qū)懖僮?/p>

14、的最大完成時(shí)間為0.5s, 缺省值為10s</p><p>  s.ReadAsyncMode='continuous'(缺省方式);%在異步通信模式方式下, 讀取串口數(shù)據(jù)采用連續(xù)接收數(shù)據(jù)(continuous)的缺省方式,那么下位機(jī)返回的數(shù)據(jù)會(huì)自動(dòng)地存入輸入緩沖區(qū)中.</p><p>  這里串口還有很多其他屬性可以設(shè)置不一一列舉。</p><p&

15、gt; ?、诖蜷_(kāi)串口設(shè)備對(duì)象。fopen(scom);</p><p> ?、圩x寫串口操作。初始化并打開(kāi)串口調(diào)協(xié)對(duì)象之后現(xiàn)在可以對(duì)串口設(shè)備對(duì)象進(jìn)行讀寫操作</p><p>  串口的讀寫操作支持二進(jìn)制和文本ASCII兩種方式。當(dāng)MATLAB通信數(shù)據(jù)采用西方ASCII</p><p>  方式時(shí)讀寫串口設(shè)備的命令分別是fscanf、fpritf當(dāng)MAT

16、LAB通信數(shù)據(jù)采用二進(jìn)制方式時(shí)</p><p>  讀寫串口設(shè)備的命令分別是fread、fwrite。我們這里使用fread可以一次性把數(shù)據(jù)讀進(jìn)來(lái)。</p><p> ?、荜P(guān)閉并清除設(shè)備對(duì)象。</p><p>  fclose(scom)%關(guān)閉串口設(shè)備對(duì)象</p><p>  delete(scom);%刪除內(nèi)存中的串口設(shè)備對(duì)象<

17、/p><p>  clear scom; %清除工作空間中的串口設(shè)備對(duì)象</p><p>  當(dāng)不再使用該串口設(shè)備對(duì)象時(shí)順序使用以上3條命令可以將所創(chuàng)建的串口對(duì)象清除,以免占用系統(tǒng)資源。</p><p>  (2)基于MATLAB中斷方式的實(shí)時(shí)串行通信編程</p><p>  在MATLAB環(huán)境下以中斷的方式進(jìn)行串行通信實(shí)際上是采用事件驅(qū)動(dòng)

18、的方法實(shí)現(xiàn)的。MATLAB提供了instrcallback(obj,event)回調(diào)函數(shù)用戶根據(jù)需要可以自行設(shè)置具體的串行通信事件。</p><p><b>  其編程步驟如下</b></p><p> ?、俳⒁粋€(gè)串行通信主程序serial.m文件在主程序中進(jìn)行串口設(shè)備初始化操作,并指定</p><p>  回調(diào)函數(shù)中串行通信的事件。

19、設(shè)置回調(diào)函數(shù)觸發(fā)事件—當(dāng)串口緩沖區(qū)中有n字節(jié)的數(shù)據(jù)時(shí),觸發(fā)中斷事件。此后主程序自動(dòng)調(diào)用instrcallback(obj,event)回調(diào)函數(shù)s.BytesAvaibleFcnMode='byte';%中斷觸發(fā)事件為‘bytes-available Event’</p><p>  s.BytesAvailableFcnCount=n;%接收緩沖區(qū)每收到n個(gè)字節(jié)時(shí),觸發(fā)回調(diào)函數(shù)</p>

20、<p>  s.BytesAvailableFcn=@instrcallback;%得到回調(diào)函數(shù)句柄。</p><p>  %另外s.BytesAvailableFcn={@instrcallback,s};得到回調(diào)函數(shù)句柄,并將變量s滲透到instrcallback中。</p><p>  fopen(s);%連接串口設(shè)備對(duì)象</p><p>  

21、fwrite(s,255);%寫串口發(fā)送握手信號(hào)0xFF(等價(jià)于十進(jìn)制下的數(shù)值255)</p><p> ?、谛薷膇nstrcallback(obj,event)回調(diào)函數(shù)對(duì)所發(fā)生的串口通信事件進(jìn)行處理。</p><p>  MATLAB缺省的回調(diào)函數(shù)instrcallback(obj,event)存在于instrcallback.m文件中。該文件實(shí)際上是一個(gè)有待于用戶修改的程序模塊。其

22、中只有一些最基本的程序代碼能夠顯示導(dǎo)致串口中斷發(fā)生的是哪一類事件,中斷事件所發(fā)生的時(shí)間以及導(dǎo)致事件發(fā)生的對(duì)象名等信息。修改回調(diào)函數(shù)文件時(shí),注意要取消文件中相應(yīng)信息后的分號(hào)才能夠在MATLAB的命令窗口command</p><p>  window中將這些信息顯示出來(lái)。中斷發(fā)生后的通信事件處理以及通信數(shù)據(jù)的分析處理任</p><p>  務(wù)需要用戶自行添加相應(yīng)的服務(wù)程序代碼。M

23、ATLAB安裝目標(biāo)下有兩個(gè)instrcallback.m文件</p><p>  我們只需要修改@instrument目錄下的instrcallback.m文件即可。如果MATLAB安裝在C盤</p><p>  instrcallback.m文件目錄為</p><p>  C:\Program Files\MATLAB\R2007a\toolbox\MATL

24、AB\iofun\@instrument。</p><p>  (一定要替換,不然串口無(wú)法啟動(dòng))</p><p>  1.gui_cc2430receive.m是數(shù)據(jù)采集程序運(yùn)行后選擇‘開(kāi)始’開(kāi)始采集數(shù)據(jù)點(diǎn)擊希望觀</p><p>  察的節(jié)點(diǎn)可查看該節(jié)點(diǎn)的數(shù)據(jù)波形圖。此程序有針對(duì)目前使用的“節(jié)點(diǎn)上有五個(gè)傳感器”的</p><p>&

25、lt;b>  情況不一定通用。</b></p><p>  2.instrcallback.m是系統(tǒng)的回調(diào)函數(shù)滿足中斷條件時(shí)會(huì)進(jìn)入此函數(shù)。</p><p>  3.callbackDealWithData.m是實(shí)時(shí)處理函數(shù)當(dāng)程序進(jìn)入回調(diào)函數(shù)instrcallback時(shí)就會(huì)調(diào)用此函</p><p>  數(shù)在callbackDealWithDa

26、ta里面可以添加希望執(zhí)行的指令代碼完成數(shù)據(jù)解析、保存、數(shù)</p><p>  據(jù)濾波、畫(huà)圖、實(shí)時(shí)跟蹤等功能。</p><p>  gui_cc2430receive.m文件是啟動(dòng)本采集系統(tǒng)的關(guān)鍵其中設(shè)置的“開(kāi)始”按鈕為代碼中的b1</p><p>  按下按鈕會(huì)進(jìn)入b1callback函數(shù)。</p><p>  2.2快速傅里葉變換&

27、lt;/p><p>  有限長(zhǎng)序列可以通過(guò)離散傅里葉變換(DFT)將其頻域也離散化成有限長(zhǎng)序列.但其計(jì)算量太大,很難實(shí)時(shí)地處理問(wèn)題,因此引出了快速傅里葉變換(FFT). 1965年,Cooley和Tukey提出了計(jì)算離散傅里葉變換(DFT)的快速算法,將DFT的運(yùn)算量減少了幾個(gè)數(shù)量級(jí)。從此,對(duì)快速傅里葉變換(FFT)算法的研究便不斷深入,數(shù)字信號(hào)處理這門新興學(xué)科也隨FFT的出現(xiàn)和發(fā)展而迅速發(fā)展。根據(jù)對(duì)序列分解與選取方

28、法的不同而產(chǎn)生了FFT的多種算法,基本算法是基2DIT和基2DIF。FFT在離散傅里葉反變換、線性卷積和線性相關(guān)等方面也有重要應(yīng)用。</p><p>  快速傅氏變換(FFT),是離散傅氏變換的快速算法,它是根據(jù)離散傅氏變換的奇、偶、虛、實(shí)等特性,對(duì)離散傅立葉變換的算法進(jìn)行改進(jìn)獲得的。它對(duì)傅氏變換的理論并沒(méi)有新的發(fā)現(xiàn),但是對(duì)于在計(jì)算機(jī)系統(tǒng)或者說(shuō)數(shù)字系統(tǒng)中應(yīng)用離散傅立葉變換,可以說(shuō)是進(jìn)了一大步。</p>

29、<p>  設(shè)x(n)為N項(xiàng)的復(fù)數(shù)序列,由DFT變換,任一X(m)的計(jì)算都需要N次復(fù)數(shù)乘法和N-1次復(fù)數(shù)加法,而一次復(fù)數(shù)乘法等于四次實(shí)數(shù)乘法和兩次實(shí)數(shù)加法,一次復(fù)數(shù)加法等于兩次實(shí)數(shù)加法,即使把一次復(fù)數(shù)乘法和一次復(fù)數(shù)加法定義成一次“運(yùn)算”(四次實(shí)數(shù)乘法和四次實(shí)數(shù)加法),那么求出N項(xiàng)復(fù)數(shù)序列的X(m),即N點(diǎn)DFT變換大約就需要N^2次運(yùn)算。當(dāng)N=1024點(diǎn)甚至更多的時(shí)候,需要N2=1048576次運(yùn)算,在FFT中,利用WN的

30、周期性和對(duì)稱性,把一個(gè)N項(xiàng)序列(設(shè)N=2k,k為正整數(shù)),分為兩個(gè)N/2項(xiàng)的子序列,每個(gè)N/2點(diǎn)DFT變換需要(N/2)2次運(yùn)算,再用N次運(yùn)算把兩個(gè)N/2點(diǎn)的DFT變換組合成一個(gè)N點(diǎn)的DFT變換。這樣變換以后,總的運(yùn)算次數(shù)就變成N+2(N/2)2=N+N2/2。繼續(xù)上面的例子,N=1024時(shí),總的運(yùn)算次數(shù)就變成了525312次,節(jié)省了大約50%的運(yùn)算量。而如果我們將這種“一分為二”的思想不斷進(jìn)行下去,直到分成兩兩一組的DFT運(yùn)算單元,那

31、么N點(diǎn)的DFT變換就只需要Nlog2N次的運(yùn)算,N在1024點(diǎn)時(shí),運(yùn)算量?jī)H有10240次,是先前的直接算法的1%,點(diǎn)數(shù)越多,運(yùn)算量的節(jié)約就越大,這</p><p>  離散傅里葉變換X(k)可看成是z變換在單位圓上的等距離采樣值。同樣,X(k)也可看作是序列傅氏變換的采樣,采樣間隔為ωN=2π/N 。由此看出,離散傅里葉變換實(shí)質(zhì)上是其頻譜的離散頻域采樣,對(duì)頻率具有選擇性(ωk=2πk/N),在這些點(diǎn)上反映了信號(hào)的

32、頻譜。 </p><p>  根據(jù)采樣定律,一個(gè)頻帶有限的信號(hào),可以對(duì)它進(jìn)行時(shí)域采樣而不丟失任何信息,F(xiàn)FT變換則說(shuō)明對(duì)于時(shí)間有限的信號(hào)(有限長(zhǎng)序列),也可以對(duì)其進(jìn)行頻域采樣,而不丟失任何信息。所以只要時(shí)間序列足夠長(zhǎng),采樣足夠密,頻域采樣也就可較好地反映信號(hào)的頻譜趨勢(shì),所以FFT可以用以進(jìn)行連續(xù)信號(hào)的頻譜分析。</p><p>  第三章MATLAB處理流程</p><

33、p>  3.1圖形界面設(shè)計(jì) </p><p>  (1)打開(kāi)MATLAB,新建一個(gè)空白的圖形界面文件,計(jì)算需要添加的</p><p>  控件種類及個(gè)數(shù)并設(shè)計(jì)它們的布局。 </p><p> ?。╝) 添加2個(gè)axes控件,用于顯示時(shí)域波形和頻譜分析; </p><p> ?。╞) 添加5個(gè)static text 控件作為窗口說(shuō)明使用;

34、 </p><p> ?。╟) 添加4個(gè)static text控件用于顯示幅值、均值等信號(hào)信息; </p><p> ?。╡) 添加4個(gè)push button 空間用于各種操作的開(kāi)始控制; </p><p>  雙擊各個(gè)控件并修改其顏色、大小及string屬性。得到界面如下: </p><p>  (2)各控件對(duì)應(yīng)的回調(diào)函數(shù)的編輯 界面控件及

35、布局創(chuàng)建完成以后,自動(dòng)生成包含各控件回調(diào)函數(shù)在內(nèi)的m文件。點(diǎn)擊保存時(shí)可以修改fig及m文件名。系統(tǒng)自動(dòng)生成的m文件包括:</p><p>  function varargout = xiaojian01(varargin)</p><p>  gui_Singleton = 1;</p><p>  gui_State = struct('gui_Name

36、', mfilename, ...</p><p>  'gui_Singleton', gui_Singleton, ...</p><p>  'gui_OpeningFcn', @xiaojian01_OpeningFcn, ...</p><p>  'gui_OutputFcn', @

37、xiaojian01_OutputFcn, ...</p><p>  'gui_LayoutFcn', [] , ...</p><p>  'gui_Callback', </p><p>  以及各個(gè)控件對(duì)應(yīng)的回調(diào)框架,如:</p><p>  function xiaojian01_Opening

38、Fcn(hObject, eventdata, handles, varargin)等。</p><p><b>  3.2程序設(shè)計(jì)</b></p><p>  根據(jù)界面內(nèi)控件的功能,在相應(yīng)的控件下寫入欲實(shí)現(xiàn)其功能的程序,對(duì)應(yīng)在m文件中的最終程序?yàn)椋?lt;/p><p>  function varargout = xiaojian01(varar

39、gin)</p><p>  gui_Singleton = 1;</p><p>  gui_State = struct('gui_Name', mfilename, ...</p><p>  'gui_Singleton', gui_Singleton, ...</p><p>  

40、9;gui_OpeningFcn', @xiaojian01_OpeningFcn, ...</p><p>  'gui_OutputFcn', @xiaojian01_OutputFcn, ...</p><p>  'gui_LayoutFcn', [] , ...</p><p>  'gui_Callba

41、ck', []);</p><p>  if nargin && ischar(varargin{1})</p><p>  gui_State.gui_Callback = str2func(varargin{1});</p><p><b>  end</b></p><p>  if n

42、argout</p><p>  [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});</p><p><b>  else</b></p><p>  gui_mainfcn(gui_State, varargin{:});</p><p><

43、b>  end</b></p><p>  function xiaojian01_OpeningFcn(hObject, eventdata, handles, varargin)</p><p>  handles.output = hObject;</p><p>  %guidata(hObject, handles);</p>

44、<p>  function varargout = xiaojian01_OutputFcn(hObject, eventdata, handles) </p><p>  varargout{1} = handles.output;</p><p>  function pushbutton1_Callback(hObject, eventdata, handles)&l

45、t;/p><p>  global out</p><p><b>  global z</b></p><p><b>  global ff</b></p><p>  global fftx</p><p><b>  global fs</b><

46、;/p><p>  global nfft</p><p><b>  fs=100;</b></p><p>  %z=fft(out)</p><p>  %mag=abs(z);%求幅值</p><p>  %freq=fs/mean(z);</p><p>  %set

47、(handles.text 8,'string',num2str(freq));</p><p>  %f=(0:length(z)-1)*fs/length(z);%進(jìn)行對(duì)應(yīng)的頻率轉(zhuǎn)換</p><p>  nfft= 2^nextpow2(length(out));%找出大于y的個(gè)數(shù)的最大的2的指數(shù)值</p><p>  ff=fs*(0:nfft

48、/2-1)/nfft;%FFT變換后對(duì)應(yīng)的頻率的序列</p><p>  fftx=fft(out,nfft);%求FFT變換</p><p>  set(gcf,'CurrentAxes',handles.axes2);</p><p>  plot(ff,abs(fftx(1:nfft/2))*2/nfft);</p><p&

49、gt;  xlabel('Frequency');</p><p>  ylabel('Amplitude');</p><p>  %D=max(out); % 最大值</p><p><b>  %</b></p><p>  function pushbutton2_Callback

50、(hObject, eventdata, handles)</p><p>  global out</p><p><b>  global n</b></p><p>  set(gcf,'CurrentAxes',handles.axes1)</p><p><b>  plot(out)

51、</b></p><p>  xlabel('Data Points');</p><p>  ylabel('Amplitude');</p><p><b>  fs=100;</b></p><p>  %A=mean(out); % 標(biāo)準(zhǔn)差</p><

52、;p>  %B=fs/mean(out);</p><p>  C=Var(out); % 方差</p><p>  D=max(out); % 最大值</p><p>  A=mean(out); % 平均值</p><p>  E=min(out); % 最小值</p><p>  %F=D-E; % 峰峰值

53、</p><p>  set(handles.text8,'string',num2str(A));</p><p>  set(handles.text12,'string',num2str(D));</p><p>  %set(handles.text,'string',num2str(D));</p>

54、;<p>  set(handles.text13,'string',num2str(E));</p><p>  set(handles.text14,'string',num2str(C));</p><p>  function pushbutton3_Callback(hObject, eventdata, handles)</p

55、><p><b>  global g</b></p><p>  global out</p><p>  g=serial('com1');</p><p>  g.InputBufferSize=4096;</p><p>  g.timeout=60;</p>&

56、lt;p>  g.BaudRate=1200;</p><p>  g.Parity='none';</p><p>  g.StopBits=1;</p><p>  g.Terminator='LF';</p><p>  g.FlowControl='hardware';</p

57、><p>  fopen(g);%打開(kāi)串口設(shè)備對(duì)象s</p><p>  %fwrite(g,255);%以二進(jìn)制的方式發(fā)送握手信號(hào)0xFF,缺省為異步通信方式</p><p>  out=fread(g,100,'uint8')</p><p>  fclose(g);</p><p>  %delete

58、(g);</p><p><b>  %clear g;</b></p><p>  %set(gcf,'CurrentAxes',handles.axes1)</p><p>  %plot(out)</p><p>  function pushbutton4_Callback(hObject, ev

59、entdata, handles)</p><p><b>  close</b></p><p>  function axes1_CreateFcn(hObject, eventdata, handles)</p><p>  xlim([0 1000])</p><p>  ylim([0 300])</p&

60、gt;<p>  set(gca,'ytick',[0:50:300])</p><p>  function axes2_CreateFcn(hObject, eventdata, handles)</p><p>  xlim([0 1000])</p><p>  ylim([0 300])</p><p>

61、;  set(gca,'ytick',[0:50:300])</p><p>  function edit1_Callback(hObject, eventdata, handles)</p><p>  function edit1_CreateFcn(hObject, eventdata, handles)</p><p>  if ispc

62、&& isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))</p><p>  set(hObject,'BackgroundColor','white');</p><p><b>  en

63、d</b></p><p>  function text8_CreateFcn(hObject, eventdata, handles)</p><p>  第四章MATLAB處理后的仿真圖</p><p>  4.1方波及其頻譜圖</p><p><b>  方波的一些特性參數(shù)</b></p>

64、<p>  4.2鋸齒波及其頻譜圖</p><p>  鋸齒波的一些特性參數(shù)</p><p>  4.3三角波及其頻譜圖</p><p>  三角波的一些特性參數(shù)</p><p>  4.4正弦波及其頻譜圖</p><p>  正弦波的一些特性參數(shù)</p><p><b>

65、;  第五章 心得總結(jié)</b></p><p>  通過(guò)本次課程設(shè)計(jì),我們學(xué)習(xí)了使用MATLAB對(duì)信號(hào)進(jìn)行分析與處理的基本方法,對(duì)于課上所學(xué)知識(shí)更產(chǎn)生了進(jìn)一步的認(rèn)識(shí),通過(guò)分組合作的形式不僅增進(jìn)了我們的團(tuán)隊(duì)協(xié)作能力,更增強(qiáng)了我們的實(shí)踐能力,培養(yǎng)了我們自主分析問(wèn)題,解決問(wèn)題的能力。</p><p>  在此次課程設(shè)計(jì)的過(guò)程中,我們同樣遇到了很多問(wèn)題與難題,但是因?yàn)榈玫搅死蠋熀蛯W(xué)長(zhǎng)

66、們的幫助,使得許多問(wèn)題得以迎刃而解,為此感謝老師和學(xué)長(zhǎng)們的不吝賜教!</p><p><b>  參考文獻(xiàn)</b></p><p>  1)《微型計(jì)算機(jī)控制系統(tǒng)》 賴壽宏,機(jī)械工業(yè)出版社(教材)</p><p>  2)《單片機(jī)及應(yīng)用》李大友,高等教育出版社(教材)</p><p>  3)《信號(hào)處理原理及應(yīng)用》 謝平

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論