重疊相加法計算圓周卷積.doc_第1頁
重疊相加法計算圓周卷積.doc_第2頁
重疊相加法計算圓周卷積.doc_第3頁
重疊相加法計算圓周卷積.doc_第4頁
重疊相加法計算圓周卷積.doc_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

武漢理工大學(xué)數(shù)字信號處理課程設(shè)計說明書1理論分析11 圓周卷積的定義對兩個N點序列和,除了可以做線性卷積外,還有一種很重要的卷積運算,還有一種很重要的卷積運算,就是圓周卷積。若、的離散付里葉變換分別為、,且有 =則 =IDFT =上式即為序列與的圓周卷積,習(xí)慣表示為 =圓周卷積與周期卷積之間的關(guān)系,就是有限長序列圓周卷積結(jié)果的周期延拓,等于它們周期延拓后的周期卷積。換句話說,周期卷積的主值序列,是各周期序列主值序列的圓周卷積。周期卷積得到是周期序列,圓周卷積得到的是有限長序列,而且長度等于參加卷積的序列的長度。12 圓周卷積的計算 若、分別是長度為N、M的序列則與線性卷積至多M+N-1個非零值,如果LM+N-1時,周期延拓才不會發(fā)生混疊。之所以討論用圓周卷積來計算線性卷積的條件,是因為圓周卷積可在頻域下利用DFT求得,從而可采用DFT的快速算法FFT來計算,這樣就可以利用FFT來計算線性卷積,大大提高運算效率。圓周卷積與周期卷積的卷積過程一樣,只是結(jié)果只取主值序列,其具體步驟結(jié)構(gòu)框圖大致如下所示:補零按要求使兩序列補零后均為N點周期延拓將一個序列按M點延拓為周期序列翻褶將延拓后的周期序列翻褶取主值序列對翻褶后的周期序列取主值 圓周移位對此主值序列做圓周移位(n)相乘每次移位后的序列與另一序列相乘相加將諸m點(m=0,1m-1)的乘積值相加,即為移位n點后的y(n)值(n=0,1n-1)圖1-1 圓周卷積計算結(jié)構(gòu)框圖13 重疊相加法在實際應(yīng)用中利用FFT來計算兩個序列的圓周卷積從而實現(xiàn)計算其線性卷積,但是常遇到的問題是參加卷積的兩個序列的長度相差較大,這樣長度小的序列就需要補很多的零點,這樣就需要打的存儲量,運算時間也會變長。所以常用到的解決方法有兩種,其中一種就是重疊相加法。設(shè) h(n)長度為N,x(n)長度為無限長,x(n)取M點,且與N盡量接近。=x(n)與h (n)的卷積為: * =* =重疊相加法實現(xiàn)步驟如下:(1)將h(n)補零延長到L =M+ N -1,并計算長為L的FFT,得到 H(k)。(2)分別將xk(n)補零延長到L =M+ N -1,并計算長為L的FFT,得到 Xk(k)(3)計算,并求長為L的反變換,即(4)將yk(n)的重疊部分相加,最后得到結(jié)果為2 圓周卷積程序設(shè)計21 程序設(shè)計基本構(gòu)思由時域與頻域的關(guān)系可知,兩序列和在時域下進(jìn)行線性卷積的結(jié)果等于這兩個序列在頻域下相乘后進(jìn)行反變換回時域的結(jié)果。圓周卷積在一定條件下(LM+N-1)與線性卷積得到的結(jié)果相同,而圓周卷積可在頻域下利用DFT求得,從而可采用DFT的快速算法FFT來計算,這樣就可以利用FFT來計算線性卷積,大大提高運算效率。而在利用FFT來計算圓周卷積的過程中當(dāng)兩序列的長度相差較大時采用重疊相加法來進(jìn)行計算可有效提高計算的效率,減小存儲空間的消耗。22 程序設(shè)計步驟卷積函數(shù)程序設(shè)計:(1)x1(n)進(jìn)行N點快速傅里葉變換得X1(k) (2)x2(n)進(jìn)行N點快速傅里葉變換得X2(k) (3)進(jìn)行頻域相乘Y(k)=X1(k)*X2(k) (4)對Y(k)進(jìn)行反變換得到時域卷積y(n)對x1(n)進(jìn)行FFT運算對x(2)進(jìn)行FFT運算頻域相乘Yk=X1k*X2k對Yk進(jìn)行反變換得到時域結(jié)果y(n)開始結(jié)束 圖2-1 卷積函數(shù)程序設(shè)計框圖重疊函數(shù)程序設(shè)計:(1)首先取圓周卷積的周期L(即進(jìn)行L點的快速傅里葉變換)(2)計算每一分段的大小N(3)填充序列使得循環(huán)中對序列的索引不會超出范圍(4)計算分段數(shù)K(5)對序列進(jìn)行分段調(diào)用juanji()函數(shù)計算圓周卷積(6)各段重疊相加(7)取出實際的輸出序列取圓周卷積的周期L計算每一分段的大小N將序列按要求填充計算分段數(shù)K調(diào)用函數(shù)juanji()將各段處理的結(jié)果重疊相加輸出最終結(jié)果開始結(jié)束 圖2-2 重疊函數(shù)程序設(shè)計框圖3 程序代碼31 主程序代碼x1= 1,2,3,4,5,5,4,3,2,1;x2= 1,0,1;L=8;y=chongdie(x1,x2,L);s=1:10;subplot(2,2,1);stem(s,x1) %作出序列x1圖形r=1:3;subplot(2,2,2);stem(r,x2) %作出序列x2圖形u=1:13;subplot(2,2,3);stem(u,y) %作出輸出序列y圖形32 重疊函數(shù)程序代碼functiony=chongdie(x,h,L)Lenx=length(x); %取x(n)的長度M=length(h); %取h(n)的長度N=L-M+1; %計算分段大小Nx=x,zeros(1,N-1); %填充序列使得循環(huán)中對序列的索引不會超出圍K=floor(Lenx/N); %確定分段數(shù)Ky=zeros(1,Lenx+L-1);for i=0:1:K ix=i*N; x_seg=x(ix+1:ix+N); %將x(n)分段 y_seg=juanji(x_seg,h,L); %調(diào)用函數(shù)juanji()計算圓周卷積 y(ix+1:ix+L)=y(ix+1:ix+L)+y_seg(1:L); %各段重疊相加endy=y(1:Lenx+M); %取出實際的輸出序列33 卷積函數(shù)程序代碼function y=juanji(x1,x2,L)if length(x1)L %如果x1長度大于L則產(chǎn)生錯誤 error(L must not be less than length of x1);end if length(x2)L %如果x2長度大于L則產(chǎn)生錯誤 error(L must not be less than length of x2);end X1k=fft(x1,L); %對x1進(jìn)行L點FFT計算X2k=fft(x2,L); %對x2進(jìn)行L點FFT計算Yk=X1k.*X2k; %頻域相乘 y=ifft(Yk); %反變換得卷積結(jié)果if (all(imag(x1)=0)&(all(imag(x2)=0) y=real(y);end4 程序運行結(jié)果與分析輸入序列和周期Lx1= 1,2,3,4,5,5,4,3,2,1;x2= 1,0,1;L=8;運算結(jié)果:124689986421 0圖4-1程序運行結(jié)果 通過計算,得到線性卷積結(jié)果,與程序運行結(jié)果相一致,可知程序計算結(jié)果是正確的,用重疊相加法實現(xiàn)圓周卷積的程序設(shè)計完成。5 心得體會通過這次課程設(shè)計,加強了我們動手、思考和解決問題的能力。數(shù)字信號處理這門課程是其他很多課程的基礎(chǔ),所以學(xué)好學(xué)通數(shù)字信號處理這門課程對我們來說是非常重要的。而Matlab這款軟件對數(shù)字信號處理的建模、編程、分析、實現(xiàn)有極大的幫助作用,所以我們應(yīng)該掌握使用Matlab編程來實現(xiàn)對數(shù)字信號的處理。在和同組同學(xué)一起討論研究通基于重疊相加法的圓周卷積原理后,我開始了利用Matlab來實現(xiàn)這個功能。在編寫程序的過程中,我查閱了很多有關(guān)Matlab的編程知識,通過整合所查閱到的編程知識,結(jié)合先前研究的基于重疊相加法的圓周卷積原理,我設(shè)計了具有此功能的Matlab函數(shù)。通過這次課程設(shè)計,讓我加深了對書本知識的理解,并應(yīng)用課本的理論知識,結(jié)合相關(guān)軟件,設(shè)計解決問題的算法。從而提高了由知識轉(zhuǎn)換為技能的能力,提高了自己的實踐能力。通過與同學(xué)的互相溝通,不僅使各自的知識得到了擴(kuò)充,而且從中得到了很多的啟示,這次課程設(shè)計讓人受益匪淺。參考文獻(xiàn)1 周建興、豈興明等編.MATLAB從入門到精通

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論