序列的卷積和快速卷積運算的編程實現(xiàn)_第1頁
序列的卷積和快速卷積運算的編程實現(xiàn)_第2頁
序列的卷積和快速卷積運算的編程實現(xiàn)_第3頁
序列的卷積和快速卷積運算的編程實現(xiàn)_第4頁
序列的卷積和快速卷積運算的編程實現(xiàn)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

..1.MATLAB簡介MATLAB軟件由美國MathWorks公司于1984年推出,經(jīng)過不斷的發(fā)展和完善,如今己成為覆蓋多個學(xué)科的國際公認的最優(yōu)秀的數(shù)值計算仿真軟件。MATLAB具備強大的數(shù)值計算能力,許多復(fù)雜的計算問題只需短短幾行代碼就可在MATLAB中實現(xiàn)。作為一個跨平臺的軟件,MATLAB已推出Unix、Windows、Linux和Mac等十多種操作系統(tǒng)下的版本,大大方便了在不同操作系統(tǒng)平臺下的研究工作。MATLAB軟件具有很強的開放性和適應(yīng)性。在保持內(nèi)核不變的情況下,MATLAB可以針對不同的應(yīng)用學(xué)科推出相應(yīng)的工具箱<toolbox>,目前己經(jīng)推出了圖象處理工具箱、信號處理工具箱、小波工具箱、神經(jīng)網(wǎng)絡(luò)工具箱以及通信工具箱等多個學(xué)科的專用工具箱,極大地方便了不同學(xué)科的研究工作。國內(nèi)已有越來越多的科研和技術(shù)人員認識到MATLAB的強大作用,并在不同的領(lǐng)域內(nèi)使用MATLAB來快速實現(xiàn)科研構(gòu)想和提高工作效率。MATLAB提供了20類圖像處理函數(shù),涵蓋了圖像處理的包括近期研究成果在內(nèi)的幾乎所有的技術(shù)方法,是學(xué)習(xí)和研究圖像處理的人員難得的寶貴資料和加工工具箱。這些函數(shù)按其功能可分為:圖像顯示;圖像文件I/O;圖像算術(shù)運算;幾何變換;圖像登記;像素值與統(tǒng)計;圖像分析;圖像增強;線性濾波;線性二元濾波設(shè)計;圖像去模糊;圖像變換;鄰域與塊處理;灰度與二值圖像的形態(tài)學(xué)運算;結(jié)構(gòu)元素創(chuàng)建與處理;基于邊緣的處理;色彩映射表操作;色彩空間變換;圖像類型與類型轉(zhuǎn)換。MATLAB的應(yīng)用領(lǐng)域十分廣闊,典型的應(yīng)用舉例如下:<1>數(shù)據(jù)分析<2>數(shù)值與符號計算;<3>工程與科學(xué)繪圖;4>控制系統(tǒng)設(shè)計;<5>航天工業(yè);<6>汽車工業(yè);<7>生物醫(yī)學(xué)工程;8>語音處理;<9>圖像與數(shù)字信號處理;<10>財務(wù)、金融分析;<11>建模、仿真及樣機開發(fā);<12>新算法研究開發(fā);13>圖形用戶界面設(shè)計MATLAB的應(yīng)用范圍非常廣,包括信號和圖像處理、通訊、控制系統(tǒng)設(shè)計、測試和測量、財務(wù)建模和分析以及計算生物學(xué)等眾多應(yīng)用領(lǐng)域。附加的工具箱〔單獨提供的專用MATLAB函數(shù)集擴展了MATLAB環(huán)境,以解決這些應(yīng)用領(lǐng)域內(nèi)特定類型的問題。它的主要特點是:〔1Matlab可以用來解線性方程組、進行矩陣變換與運算、數(shù)據(jù)插值運算等,能使用戶從繁雜的數(shù)學(xué)運算分析中解脫出來?!?Matlab中有許多高級的繪圖函數(shù),包括二維、三維、專用圖形函數(shù)、圖形句柄、用戶圖形界面工具等,利用這些函數(shù)可以輕松地完成各種圖形的繪制和編輯工作,實現(xiàn)計算結(jié)果和編程的可視化?!?友好的用戶界面及接近數(shù)學(xué)表達式的自然化語言,使學(xué)習(xí)者易于學(xué)習(xí)和掌握?!?功能豐富的應(yīng)用工具箱<如信號處理工具箱,通信工具箱,控制系統(tǒng)工具箱等>為用戶提供了大量方便實用的處理工具。Matlab的上述特點,使它深受工程技術(shù)人員及科技專家的歡迎,并很快成為應(yīng)用學(xué)科計算機輔助分析、設(shè)計、仿真、教學(xué)等領(lǐng)域不可缺少的基礎(chǔ)軟件。目前,國內(nèi)很多理工院校已經(jīng)或者正在把該軟件作為學(xué)生必須掌握的一種軟件。2.項目設(shè)計目的及技術(shù)要求序列的卷積和快速卷積運算的編程實現(xiàn),具體包括:直接卷積及運用、快速卷積方法及實現(xiàn)、二者的比較分析等。1. 已知線性非移變系統(tǒng)的h<n>=[6,2,3,6,4,2],輸入為x<n>=[1,2,3,4,5];〔1 用人工計算系統(tǒng)輸出y<n>;〔2 編寫程序輸出y<n>,并作圖。2. 用函數(shù)conv和FFT計算長為1000序列的卷積,比較其計算時間。3. 用快速卷積法計算和兩個序列的卷積;并測試直接卷積和快速卷積的時間。3.基本原理3.1基本概念在數(shù)字信號處理<DSP>系統(tǒng)中,無論在時域或頻域都離不開卷積運算和快速傅里葉<FFT>運算。Matlab具有強大的矩陣運算能力,方便實用的繪圖功能和語言的高度集成性,在DSP開發(fā)中,使用Matlab可以快速對系統(tǒng)進行仿真運算。設(shè)輸入信號為x<t>,其頻譜函數(shù)為X<jΩ>,該信號通過濾波器h<t>后,其輸出信號y<t>的頻譜函數(shù)Y<jΩ>是頻譜函數(shù)x<jΩ>與濾波器的頻譜函數(shù)H<jΩ>的乘積,即:而在時域,輸出信號y<t>實際是輸入信號x<t>與濾波器h<t>的卷積。就是說頻譜函數(shù)的乘積相當于時間函數(shù)的卷積,反之亦然。即:由于DSP主要依靠計算機完成,而計算機無論在時域或頻域只能處理有限長的離散信號,因此上述關(guān)系可表示為:式中:n表示離散時間;數(shù)字頻率ω=ΩT;f為輸入信號頻率;f,T為抽樣頻率和周期。3.2原理分析可以使用線性卷積、圓周卷積實現(xiàn)離散卷積,也可以根據(jù)時域信號函數(shù)與頻譜函數(shù)的關(guān)系,使用快速傅里葉變換<FFT,IFFT>實現(xiàn)離散卷積。3.2.1離散傅里葉變換〔DFT和快速傅里葉變換〔FFT離散傅里葉變換,是連續(xù)傅里葉變換在時域和頻域上都離散的形式,將時域信號的采樣變換為在離散時間傅里葉變換頻域的采樣。在形式上,變換兩端〔時域和頻域上的序列是有限長的,而實際上這兩組序列都應(yīng)當被認為是離散周期信號的主值序列。即使對有限長的離散信號作DFT,也應(yīng)當將其看作經(jīng)過周期延拓成為周期信號在做變換。在實際應(yīng)用中通常采用快速傅里葉變換〔FFT高效計算DFT。采用這種算法能使計算機計算離散傅里葉變換所需要的乘法次數(shù)大為減少,特別是被變換的抽樣點數(shù)N越多,FFT算法計算量的節(jié)省就越顯著。3.2.2序列的卷積和快速卷積運算卷積是數(shù)字信號處理中最常見的,也是最重要的運算之一。利用卷積可以實現(xiàn)相關(guān)計算和FIR濾波等等,正因為卷積如此重要,所以半個世紀以來,學(xué)者們提出了多種不同卷積實現(xiàn)結(jié)構(gòu),這些結(jié)構(gòu)各有優(yōu)點,針對不同應(yīng)用可以靈活選擇,而其中快速卷積無疑是重要的卷積方法之一。顧名思義,快速卷積重點在一個"快",如果對卷積速度要求較高,快速卷積無疑是理想的工具。當然,為了提高速度,就要犧牲面積和功耗。3.2.3快速傅里葉變換和快速卷積在此,我們是利用快速傅里葉變換實現(xiàn)快速卷積運算。同時在進行Matlab編程時也是利用快速傅里葉變換來得到快速卷積的結(jié)果。4.程序設(shè)計及仿真結(jié)果分析4.1題目一長度為m的向量序列h和長度為n的向量序列x,卷積w的向量序列長度為<m+n-1>,當m≠n時,應(yīng)以0補齊階次低的向量的高位后進行計算y<1>=h1>*x<1>y<2>=h<1>*x<2>+h<2>*x<1>y<3>=h<1>*x<3>+h<2>*x<2>+h<3>*x<1>=…y<n>=h<1>*x<n>+h<2>*x<n-1>+…+h<n>*x<1>…y<m+n-1>=h<1>*x<m+n-1>+h<2>*x<m+n>+h<3>*x<m+n+1>+…+h<m+n-1>*x<1>那么所得的結(jié)果就是y〔n=[6,14,25,42,63,50,55,52,28,10]用matlab仿真編程程序如下:h=[6,2,3,6,4,2];x=[1,2,3,4,5];y=conv<h,x>;stem<y>圖4.1系統(tǒng)輸出函數(shù)y<n>由圖4.1可和自己求出的y<n>函數(shù)相比較可以得到,用matlab編寫程序得出的系統(tǒng)輸出函數(shù)與自己人工計算的結(jié)果相同。4.2題目二在matlab實現(xiàn)卷積的.函數(shù)為CONV,對于N值較小的向量,這是十分有效的。對于N值較大的向量卷積可用FFT加快計算速度。若DFT和IDFT均采用FFT和IDFT算法,可提高卷積速度。計算x1<n>和x2<n>的線性卷積的FFT算法可由下面步驟實現(xiàn):1、 計算X1<k>=FFT[x1<n>];2、 計算X2<k>=FFT[x2<n>];3、 Y<k>=X1<k>·X2<k>;4、 計算x1<n>*x2<n>=IFFT[Y<k>]在本題目中計算的兩個函數(shù)分別是x1<n>=2*n,x2<n>=3.^n。用matlab編寫的完整程序如下所示L=1000;N=L*2-1;n=1:L;x1=2*n;x2=3.^n;t0=clock;yc=conv<x1,x2>;conv_time=etime<clock,t0>t0=clock;yf=ifft<fft<x1,N>.*fft<x2,N>>;fft_time=etime<clock,t0>反正結(jié)果如下:圖4.2由結(jié)果可知,長度為1000時,快速卷積所用時間較少。4.3題目三利用快速卷積原理求兩個函數(shù)的卷積可以用題目二中所用的方法〔先分別對兩個函數(shù)求傅里葉變換得到X<k>與H<k>,再兩個函數(shù)傅里葉變換的點乘的結(jié)果y<k>,最后直接對y<k>求傅里葉反變換得到y(tǒng)<n>快速卷積,得到所要求的結(jié)果。因為在這次題目中與兩個函數(shù)中M與N沒有給出,取M=2000,N=1800時。所用的程序以及各自的輸出結(jié)果如下所示:xn=0.9.^<1:20>;hn=1.^<1:16>;tic;yn=conv<xn,hn>;toc;L=pow2<nextpow2<20+16-1>>;ticxk=fft<xn,L>;hk=fft<hn,L>;yk=xk.*hk;yn=ifft<yk,L>;toc;subplot<221>,stem<xn,'.'>;ylabel<'x<n>'>;subplot<222>,stem<hn,'.'>;ylabel<'h<n>'>;subplot<212>,ny=1:L;stem<real<yn>,'.'>;ylabel<'y<n>'>;仿真結(jié)果如圖4.3:圖4.3由仿真結(jié)果可知,當點數(shù)較大時,快速卷積所用時間明顯少于普通卷積。5.心得體會這次課程設(shè)計我做的是序列的卷積和快速卷積運算的編程實現(xiàn),是利用MATLAB這個軟件完成的,因為之前我們曾做MATLAB課設(shè),平時使用MATLAB也比較多,所以這次課設(shè)做起來也相對比較簡單。但是,即使這個比較簡單,也要認真對待。MATLAB功能強大,尤其對于我們電子信息類的學(xué)生尤其重要,平時用到的機會比較多,認真學(xué)好很有必要。完成這次課程設(shè)計我認為收獲還是很多的,不但進一步掌握了數(shù)字信號處理的基礎(chǔ)知識及一門專業(yè)仿真軟件的基本操作,還提高了自己的設(shè)計能力及動手能力,同時對于模擬濾波器來了個系統(tǒng)的總結(jié)。更多的是讓我看清了自己,明白了凡事需要耐心,實踐是檢驗學(xué)習(xí)的唯一標準。理論知識的不足在這次課設(shè)中表現(xiàn)的很明顯。這將有助于我今后的學(xué)習(xí),端正自己的學(xué)習(xí)態(tài)度,從而更加努力的學(xué)習(xí)。只有這樣我們才能真正的去掌握它,而不是只懂得一點皮毛。在做的課程中,也曾遇到一些小問題,如在程序中兩個數(shù)之間點成和叉乘的使用沒區(qū)別好,所以我們應(yīng)該認真對待每一個小細節(jié),才能做好每件事,端正自己的態(tài)度,不要因為簡單而不上心。這次課設(shè)還加深自己對知識的理解,對序列的卷積和快速卷積理解更加透徹,從理論到實踐。只有都經(jīng)過,知識才能更加牢固。紙上得來終覺淺,絕知此事要躬行。前人已經(jīng)總結(jié)的很好,我們只有在實踐中發(fā)現(xiàn)自己的問題,然后不斷的克服,才能把知識變成自己的,更加好的鍛煉

溫馨提示

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

最新文檔

評論

0/150

提交評論